src/video/SDL_egl.c


Log

Author Commit Date CI Message
Sam Lantinga 120c76c8 2022-01-03T09:40:00 Updated copyright for 2022
Sam Lantinga 4e5839a5 2021-11-26T13:45:08 Fixed compiling for Raspberry Pi
Ryan C. Gordon 23b7bdef 2021-11-20T14:11:30 offscreen: Don't fail to create a window because of driver_loaded politics. Fixes #4922.
Martin Mauersics 7c050aa6 2021-09-27T13:53:16 egl: Don't fail to create a context if KHR_create_context_no_error is unsupported
Ryan C. Gordon 0ad4956c 2021-09-23T00:00:46 egl: explicitly call eglBindAPI during SDL_GL_MakeCurrent. The EGL API binding must be specified per-thread, per the docs. Fixes #1820.
Ryan C. Gordon 31477160 2021-09-22T09:27:41 egl: make an int into an SDL_bool.
Ivan Epifanov 134dd468 2021-08-16T19:08:12 Add pvr gles/gles2 context support
Ethan Lee 524964f9 2021-08-14T12:09:13 Add SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY
Eric Engestrom 5113fedf 2021-08-02T23:01:12 video/wayland: use EGL_EXT_present_opaque when available
Jessica Clarke 8f38ba4d 2021-07-29T18:02:47 Fix casts that should be using uintptr_t This is needed to support CHERI, and thus Arm's experimental Morello prototype, where pointers are implemented using unforgeable capabilities that include bounds and permissions metadata to provide fine-grained spatial and referential memory safety, as well as revocation by sweeping memory to provide heap temporal memory safety. On most systems (anything with a flat memory hierarchy rather than using segment-based addressing), size_t and uintptr_t are the same type. However, on CHERI, size_t is just an integer offset, whereas uintptr_t is still a capability as described above. Casting a pointer to size_t will strip the metadata and validity tag, and casting from size_t to a pointer will result in a null-derived capability whose validity tag is not set, and thus cannot be dereferenced without faulting. The audio and cursor casts were harmless as they intend to stuff an integer into a pointer, but using uintptr_t is the idiomatic way to do that and silences our compiler warnings (which our build tool makes fatal by default as they often indicate real problems). The iconv and egl casts were true positives as SDL_iconv_t and iconv_t are pointer types, as is NativeDisplayType on most OSes, so this would have trapped at run time when using the round-tripped pointers. The gles2 casts were also harmless; the OpenGL API defines this argument to be a pointer type (and uses the argument name "pointer"), but it in fact represents an integer offset, so like audio and cursor the additional idiomatic cast is needed to silence the warning.
Ryan C. Gordon e1db4b82 2021-05-11T14:08:17 egl: Don't crash if we failed halfway through SDL_CreateWindow.
Sylvain 7b284dbb 2021-04-30T22:01:48 EglChooseConfig: choose an accelerated configuration - especially because we can be promoted to true color 888 make sure we don't select a potentially software implementation - hopefully fix bug #1482 (EGL ChooseConfig selects software renderer on Android)
Ethan Lee 9161f951 2021-04-27T02:25:57 egl: Reject attempts to set negative swap intervals
Sylvain cf05a5eb 2021-04-22T21:40:57 eglChooseConfig: only add EGL_DEPTH_SIZE if non 0 and fix static / shadowed variables warnings for dump configs
Sylvain 98a966d1 2021-04-22T18:06:17 Android: don't need to set the SurfaceHolder format from java code It's already set with ANativeWindow_setGeometry, and eventually set/changed also by eglCreateWindowSurface. - avoid issues with older device where SurfaceView cycle create/changed/destroy appears broken: calling create/changed/changed, and leading to "deuqueBuffer failed at server side, error: -19", with black screen. - re-read the format after egl window surface is created, to report the correct one (sometimes, changed from RGBA8888 to RGB24)
Sylvain 6be9c009 2021-04-20T13:46:25 Android: prevent error EGL_BAD_DISPLAY while getting egl version without display There is an error "E libEGL : validate_display:91 error 3008 (EGL_BAD_DISPLAY)" that occurs when calling "eglQueryString(display, EGL_VERSION)", with EGL_NO_DISPLAY. Khronos says "EGL_BAD_DISPLAY is generated if display is not an EGL display connection, unless display is EGL_NO_DISPLAY and name is EGL_EXTENSIONS." but this was added in SDL with "EGL 1.5 allows querying for client version" ( https://github.com/libsdl-org/SDL/commit/56363ebf6124b345e1cfbd14fb6c0e654837910c ) In fact: - it actually doesn't work on Android that has 1.5 egl client - it works on desktop X11 (using SDL_VIDEO_X11_FORCE_EGL=1) The commit moves the version call where it's used, eg inside the "if (platform) {" and checks that "eglGetPlatformDisplay" has been correctly loaded.
Ryan C. Gordon 354cabd4 2021-04-03T18:15:50 egl: favor truecolor configurations. If app requested <= 16 color depth and there is a 24-bit config available, favor that. This fixes things that quietly expect to get truecolor output but don't request it (...like SDL's render api...) and things that are probably requesting 16-bit color as a fallback but expecting reasonable systems to give them full depth. Specifically, this fixes Life is Strange on Wayland, which uses the latter approach, and anything using SDL_Render on Wayland, which uses the former. Fixes #4056. Fixes #4132.
Ryan C. Gordon 4abe3446 2021-04-03T10:10:58 SDL_EGL_ChooseConfig: cleanups and minor optimizations. - Move an immutable condition out of a for loop. - Add a break statement to that loop when we find what we're looking for. - Add an assert to make sure we don't overflow a buffer. - Wrap a single-statement if block in braces. - Adjust some whitespace.
Haelwenn (lanodan) Monnier 9996cecc 2021-03-15T05:26:46 Set ALT_OGL to libOpenGL.so.0 instead of libOpenGL.so.1
Cacodemon345 5f7eb88a 2021-03-14T22:36:20 Load libOpenGL.so.1 if libGL.so.1 is not found
Sam Lantinga 9130f7c3 2021-01-02T10:25:38 Updated copyright for 2021
Ryan C. Gordon e758dd53 2020-09-10T15:02:00 egl: Make SDL_EGL_HasExtension() available outside of SDL_egl.c.
Sam Lantinga 8709f67e 2020-09-08T08:42:30 Fixed bug 5215 - Fixing filenames passed to dlopen for OpenBSD Brad Smith Attached is a patch to use the proper filenames when trying to dlopen the respective shared libraries on OpenBSD.
Manuel Alfayate Corchete 1a5503ce 2020-07-28T21:11:25 kmsdrm: Moved to the ATOMIC KMS/DRM interface for buffer swapping, leaving DRM-legacy behind.
Ryan C. Gordon 8babda2c 2020-07-16T13:18:19 egl: SDL_EGL_LoadLibaryOnly() shouldn't set _this->gl_config.driver_loaded = 1 This is handled in in the higher-level SDL_GL_LoadLibrary(). All uses of SDL_EGL_LoadLibrary (which calls the Only version) are just target-specific wrappers for their own GL_LoadLibrary hook, with two exceptions which now handle driver_loaded correctly (although it's questionable if these init-if-no-one-did-it-correctly-already code blocks should exist at all, fwiw). Fixes Bugzilla #5190.
Ryan C. Gordon 132f87c3 2020-04-13T22:06:12 opengl: Don't try to do Desktop OpenGL stuff if support isn't available.
Ryan C. Gordon e96b05c3 2020-04-13T18:21:28 egl: Attempt to make this compile on WinRT, etc.
Conn O'Griofa c0a875fa 2020-04-13T14:48:38 SDL_EGL_ChooseConfig: don't fall through if no matching format exists On Raspberry Pi 3 via the VC4 driver in firmware KMS mode, none of the found configs match the desired format, causing the function to fall through without any config being selected. Fix by first iterating over the found configs, and if no match exists, don't exclude the non-matching configs. This should fix RPI3 and possibly other targets without breaking targets that have a matching native format (such as RPI4).
Ryan C. Gordon 64617d25 2020-04-13T14:45:40 opengl: Convert an int to an SDL_bool.
Ryan C. Gordon 389c8995 2020-04-13T14:44:21 opengl: Allow SDL_GL_MakeCurrent() to accept a NULL window (thanks, Martin!). This allows you to bind surfaceless contexts on a background thread to, for example, load assets in a separate context, for platforms that have different requirements about sharing surfaces, etc. Martin's notes on the matter: "Here's a patch that enables passing NULL windows to SDL_GL_MakeCurrent, if the involved APIs allow it. Currently, this is only the case for EGL, and even then only if some specific extensions are present (which they usually are). If "surfaceless" contexts are not supported, SDL_GL_MakeCurrent continues to generate an error (albeit with a more specific error message than it used to), so this should not break anything that wasn't broken before." (Please see https://bugzilla.libsdl.org/show_bug.cgi?id=3695 for more discussion.) Fixes Bugzilla #3695.
Sam Lantinga b6afbe63 2020-04-07T09:38:57 Added SDL_log.h to SDL_internal.h so logging is available everywhere
Ryan C. Gordon 90f9e8f8 2020-03-20T15:13:09 egl: Don't use SDL_LoadFunction to get GL entry points on Emscripten. This results in a dlsym() call, which causes Emscripten to panic if the game wasn't explicitly built dlopen support. eglGetProcAddress works just fine on this platform, so just let that codepath handle it.
Sam Lantinga a8780c6a 2020-01-16T20:49:25 Updated copyright date for 2020
Sylvain Becker 3a8b8994 2019-10-23T11:07:11 Android: remove eglGetProcAdded busted comment (bug #4040)
Sylvain Becker 24bee6e5 2019-10-18T21:47:30 Add internal function SDL_EGL_GetVersion()
Sylvain Becker e5bd2003 2019-10-18T14:08:07 Android: enable eglGetProcAddress (bug #4040, bug #4794)
Sylvain Becker 03f27a3a 2019-10-18T13:27:58 Add robustness getting the EGL version (see bug #4040)
Ryan C. Gordon 3ecce847 2019-10-18T00:07:32 egl: adjust how we load symbols in SDL_EGL_GetProcAddress. Use eglGetProcAddress for everything on EGL >= 1.5. Try SDL_LoadFunction first for EGL <= 1.4 in case it's a core symbol, and as a fallback if eglGetProcAddress fails. Finally, for EGL <= 1.4, fallback to eglGetProcAddress to catch extensions not exported from the shared library. (Maybe) Fixes Bugzilla #4794.
Brandon Schaefer ee6d504a 2019-09-24T17:49:53 offscreen: Define missing define on a older EGL for an EXT function which it wont have
Brandon Schaefer 8a41948e 2019-09-24T17:27:51 offscreen: Avoid using EGLDeviceEXT as it causes issues with older platforms, which is just a void*
Brandon Schaefer 68985371 2019-09-24T16:36:48 offscreen: Add new video driver backend Offscreen The Offscreen video driver is intended to be used for headless rendering as well as allows for multiple GPUs to be used for headless rendering Currently only supports EGL (OpenGL / ES) or Framebuffers Adds a hint to specifiy which EGL device to use: SDL_HINT_EGL_DEVICE Adds testoffscreen.c which can be used to test the backend out Disabled by default for now
Sam Lantinga 2b6473dc 2019-06-08T15:10:20 Fixed bug 4533 - Update ANGLE to load d3dcompiler_47.dll instead of d3dcompiler_46.dll msmshazan Update ANGLE Libraries to support d3dcompiler_47.dll since chrome does not ship with d3dcompiler_46.dll and d3dcompiler_43.dll
Sam Lantinga 5e13087b 2019-01-04T22:01:14 Updated copyright for 2019
Sylvain Becker a95f91bc 2019-01-02T18:06:33 Fixed bug 3250 - Wrong backbuffer pixel format on Android, keep getting RGB_565 Use the egl format to reconfigure java SurfaceView holder format. If there is a change, it triggers a surfaceDestroyed/Created/Change sequence.
Sam Lantinga aeee424f 2018-10-31T15:16:51 Fixed bug 4349 - SDL_CreateWindow fails with KMS/DRM after upgrading Mesa to 18.2.3 Rainer Sabelka After I did an upgrade of my arch Linux installation (resulting in an update of Mesa to version 18.2.3), all my SDL2 applications which use the KMS/DRM driver stopped working. Reason: Creating a Window with SDL_CreateWindow failed because the call to EGL eglCreateWindowSurface() returns an error "EGL_BAD_MATCH". After investigating with the debugger I figured, that the configuration, which has been selected from the output of eglChooseConfig(), has an "EGL_NATIVE_VISUAL_ID" which does not match the "format" of the underlying gbm surface. The attached patch fixes the problem. It does so, by mimicking Weston's behavior. All configurations returned from eglChooseConfig() which have an visual_id different from the gbm format are discarded, and only from the remaining ones the "best" match is selected.
Sam Lantinga 95579f5f 2018-10-01T09:40:58 Fixed bug 4220 - SDL_GL_CONTEXT_DEBUG_FLAG can fail silently on some Android devices
Sam Lantinga 5febdfce 2018-09-24T11:49:25 Fixed whitespace
Tomeu Vizoso fe682827 2018-06-14T06:12:12 egl: Don't change context when deleting current. If we change the current context behind the app's back, those tracking the current context to minimize context changes are going to get confused. This brings the EGL backend in line with the GLX one. Fixes Bugzilla #4199.
Sam Lantinga 999af809 2018-05-18T13:09:30 Merged latest changes from Steam Link app
sezero 40b27fd5 2018-02-12T17:00:00 revert the recent typecast assignment changes (see bug #4079) also change the void* typedefs for the two vulkan function pointers added in vulkan_internal.h into generic function pointer typedefs.
Guillermo A. Amaral bd0def06 2018-02-07T14:12:26 Set rpath instead of changing environment for RPi Credit goes to Adrian Perez de Castro for the improvement. Signed-off-by: Guillermo A. Amaral <g@maral.me>
Sam Lantinga 90e72bf4 2018-01-30T18:08:34 Fixed ISO C99 compatibility SDL now builds with gcc 7.2 with the following command line options: -Wall -pedantic-errors -Wno-deprecated-declarations -Wno-overlength-strings --std=c99
Guillermo A. Amaral 35554caf 2018-01-17T13:17:10 Make rpi video cross-compiler friendly. * Stops using fixed path to find GLES/EGL libs. * Tries pkg-config to locate bcm_host. Signed-off-by: Guillermo A. Amaral <g@maral.me>
Dawid Gan 61261e59 2018-01-16T21:29:32 EGL: Request sRGB framebuffer in correct place. The EGL_GL_COLORSPACE_KHR is an attribute for eglCreate*Surface. As written in EGL_KHR_gl_colorspace documentation: Accepted as an attribute name by eglCreateWindowSurface, eglCreatePbufferSurface and eglCreatePixmapSurface EGL_GL_COLORSPACE_KHR 0x309D (...)
Sam Lantinga e3cc5b2c 2018-01-03T10:03:25 Updated copyright for 2018
Sam Lantinga 57ebc727 2017-12-04T20:35:01 Fixed bug 3975 - Add GLES2 support for macOS via ANGLE library Andrey Seems latest google angle library successfully built & tested under macOS'es. https://github.com/google/angle We need to use GLES2 to implement true cross-platform code.
Sam Lantinga 67950e10 2017-12-03T20:27:08 Fixed name of eglCreatePbufferSurface function
Sam Lantinga e943d1ce 2017-12-03T20:25:55 Fixed bug 3945 - Add eglCreatePbufferSurface function tomwardio Proposed patch loads eglCreatePbufferSurface in same manner as other 1.1 functors. This allows custom video drivers to create pbuffer surfaces.
Sam Lantinga 7334a2a1 2017-11-04T09:07:33 Fixed bug 3940 - Add support for EGL_SURFACE_TYPE tomwardio Add support to be able to set EGL_SURFACE_TYPE bits when creating an EGL config. This is usefule when wanting to create pixel buffer surfaces in custom video drivers.
Conn O'Griofa bf3e363d 2017-11-04T09:04:19 Raspberry Pi: fix ES 1/PVR support & autodetect Mesa driver * The brcmGLESv2 vendor library also supports ES PVR/1 profiles * Fallback to standard Mesa libraries if the VC4 driver is loaded
Brandon Schaefer e564da78 2017-09-29T10:15:44 revert files I didnt mean to commit!
Brandon Schaefer e27f12e0 2017-09-29T10:07:37 wayland: Fix bug 3814 -Wmissing-field-initializers
Brandon Schaefer 466ba57d 2017-09-21T18:38:07 [egl/mir] Need eglGetProc to find gl 4.5 core profile extensions
Ryan C. Gordon 0c892abc 2017-09-06T19:34:23 raspberrypi: The latest Raspbian moved its EGL and GLES2 libs elsewhere. Now we try the new (hardware-specific) pathnames first, and if those fail to load, we'll try the more generic names that earlier versions of Raspbian used. Fixes Bugzilla #3800.
Ryan C. Gordon 21e32bac 2017-08-29T16:30:49 egl: Cast to size_t, in case platform's NativeDisplayType isn't a pointer. (fixes compiler warnings on QNX.)
Sam Lantinga 003d491f 2017-08-27T19:05:57 Fixed bug 3724 - Allow Angle Static Link Carlos We would like to add a switch (define) that allows us to compile Angle statically with SDL. That is, getting rid of the OpenGL DLL. Usually you need OpenGL to be loaded dynamically as DLL because implementation is provided by the system but no need with Angle. Only 2 files need modification and it shouldn't affect current behaivor: include/SDL_egl.h and src/video/SDL_egl.c, as in here https://github.com/native-toolkit/sdl/pull/10/files The flag name could be SDL_VIDEO_STATIC_ANGLE (instead of NATIVE_TOOLKIT_STATIC_ANGLE) as discussed here https://github.com/native-toolkit/sdl/pull/10 We have tested this with both Windows and UWP, using NME engine (https://github.com/haxenme/nme). Releated issue: https://bugzilla.libsdl.org/show_bug.cgi?id=1820
Ethan Lee 685890a2 2017-08-24T22:57:42 Fix KHR_no_error support
Ryan C. Gordon d8fc70ea 2017-08-24T21:30:53 opengl: add support for GL_KHR_no_error. This is completely untested! Fixes Bugzilla #3721.
Sam Lantinga 96305832 2017-08-11T10:21:19 Fixed bug 3702 - Clear error messages of SDL_LoadObject for optional libraries Simon Hug Some code in SDL loads libraries with SDL_LoadObject to get more information or use newer APIs. SDL_LoadObject may fail, set an error message and SDL will continue with some fallback code. Since SDL will overwrite the error or exit the function with a return value that indicates success, the error form SDL_LoadObject for the optional stuff might as well be cleared right away.
Philipp Wiesemann 27de835d 2017-08-05T22:10:55 emscripten: Fixed compiler warnings about integer to pointer conversions. Found by buildbot.
Sam Lantinga 56363ebf 2017-08-02T10:22:48 Fixed bug 3690 - SDL2 KMS/DRM render context support Manuel The attached patch adds support for KMS/DRM context graphics. It builds with no problem on X86_64 GNU/Linux systems, provided the needed libraries are present, and on ARM GNU/Linux systems that have KMS/DRM support and a GLES2 implementation. Tested on Raspberry Pi: KMS/DRM is what the Raspberry Pi will use as default in the near future, once the propietary DispmanX API by Broadcom is overtaken by open graphics stack, it's possible to boot current Raspbian system in KMS mode by adding "dtoverlay=vc4-kms-v3d" to config.txt on Raspbian's boot partition. X86 systems use KMS right away in every current GNU/Linux system. Simple build instructions: $./autogen.sh $./configure --enable-video-kmsdrm $make
Sam Lantinga 9171f71d 2017-02-10T09:41:16 Fixed warning in Android build
Sam Lantinga 67ed8943 2017-01-01T19:10:36 Fixed bug 3529 - SDL_EGL_UnloadLibrary is not called at all on SDL_Quit kaisyu In case of OpenGLES, the sequences of loading and unloading driver library should be like that: SDL_Init ... SDL_GL_LoadLibrary SDL_EGL_LoadLibrary ... SDL_Quit ... SDL_GL_UnloadLibrary SDL_EGL_UnloadLibrary ... However, according to my test results, the varible '_this->gl_config.driver_loaded' does not allow 'SDL_GL_UnloadLibrary' to call 'SDL_EGL_UnloadLibrary'.
Sam Lantinga 45b774e3 2017-01-01T18:33:28 Updated copyright for 2017
David Ludwig 0cfa0aa1 2016-12-29T11:49:18 improved SDL_GetError() output generated by EGL code This change attempts to report the EGL error codes generated by SDL's calls into EGL, along with the name of the EGL function that failed.
Sam Lantinga fed8cbcd 2016-12-09T05:00:35 Fixed build for EGL platforms
Sam Lantinga 5d5127c4 2016-10-04T03:38:39 Fixed compiler warning - this should have been a const char pointer
Philipp Wiesemann 748b0528 2016-05-11T21:10:41 EGL: Fixed SDL_GL_GetSwapInterval() returning -1 on error. It should return 0 as a safe default on errors. -1 is returned for late swaps.
Sam Lantinga 42065e78 2016-01-02T10:10:34 Updated copyright to 2016
Alex Szpakowski 5a3cc7f5 2015-08-01T15:16:57 EGL: Added support for sRGB system framebuffers, when the required EGL extension is present.
Sam Lantinga e93f90ae 2015-07-30T10:01:04 Trivial integer truncation warning fixes.
Philipp Wiesemann 72590685 2015-06-21T19:36:35 Backed out changeset 4ad56dbf4a6f
Philipp Wiesemann 0e45984f 2015-06-21T17:33:46 Fixed crash if initialization of EGL failed but was tried again later. The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly uninitialized data structure if loading the library first failed. A later try to use EGL then skipped initialization and assumed it was previously successful because the data structure now already existed. This led to at least one crash in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was dereferenced to make a call to eglBindAPI().
Alex Szpakowski a4f0daed 2015-05-26T19:34:56 EGL: OpenGL ES 3.0 contexts can now be created without the EGL_KHR_create_context extension. Fixes bugzilla #2994.
Sam Lantinga 2c4a6ea0 2015-05-26T06:27:46 Updated the copyright year to 2015
Sam Lantinga 7de242e7 2015-05-13T22:39:20 Added SDL_SetWindowsMessageHook() to facilitate full IME support on Windows
Alex Szpakowski f1a7c00d 2015-05-11T21:03:36 Refactored SDL_EGL_CreateContext: It now supports context flags and OpenGL ES 3+ contexts, and its behavior more closely matches the GLX and WGL context creation code. Improved the code style consistency of SDL_egl.c. Fixes bugzilla #2865.
Ryan C. Gordon b72938c8 2015-04-20T12:22:44 Windows: Always set the system timer resolution to 1ms by default. An existing hint lets apps that don't need the timer resolution changed avoid this, to save battery, etc, but this fixes several problems in timing, audio callbacks not firing fast enough, etc. Fixes Bugzilla #2944.
Alex Szpakowski fe6c797c 2015-04-10T23:30:31 Fixed an iOS view orientation issue when SDL_GL_CreateContext or SDL_CreateRenderer is called.
Edward Rudd b88ca1b4 2015-02-10T16:28:56 the last parameter of XChangeProperty is the number of elements.. and when the element format is 32.. the element is "long" so we have 5 long elements here. Yes this seems confusing as on mac+linux Long is either 32 or 64bits depending on the architecture, but this is how the X11 protocol is defined. Thus 5 is the correct value for the nelts here. Not 5 or 10 depending on the architecture. More info on the confusion https://bugs.freedesktop.org/show_bug.cgi?id=16802
Philipp Wiesemann b48e54aa 2015-01-26T22:00:29 Fixed bug 2802 - [patch] Fix android build compiling in wrong filesystem implementation Jonas Kulla The configure script didn't differentiate between Linux and Android, unconditionally compiling in the unix implementation of SDL_sysfilesystem.c. I'm probably one of the very few people building SDL for android using classic configure + standalone toolchain, so this has gone undetected all along.
David Ludwig 70438be2 2014-12-03T10:55:23 WinRT: fixed bug whereby SDL would override an app's default orientation WinRT apps can set a default, preferred orientation via a .appxmanifest file. SDL was overriding this on app startup, and making the app use all possible orientations (landscape and portrait). Thanks to Eric Wing for the heads up on this!
Philipp Wiesemann 9c398852 2014-11-22T22:20:40 Corrected header file documentation comment.
Sam Lantinga 251ca855 2014-10-15T09:18:17 Expanded the iMX6 video driver into a general Vivante video driver that works across multiple SoCs
Sam Lantinga 3b70f65d 2014-10-15T09:13:36 Fixed bug where EGL function pointers wouldn't get saved in optimized gcc builds
Pierre-Loup A. Griffais 24c86b55 2014-09-11T19:24:42 [X11] Reconcile logical keyboard state with physical state on FocusIn since the window system doesn't do it for us like other platforms. This prevents sticky keys and missed keys when going in and out of focus, for example Alt would appear to stick if switching away from an SDL app with Alt-Tab and had to be pressed again. CR: Sam
Sam Lantinga 1ee96bb9 2014-07-07T10:26:28 Fixed mingw64 build and warnings
Gabriel Jacobo 5a3c553d 2014-07-03T17:36:08 Maybe fixes bug #2291 (red tinted screen on some Samsung Android devices) Then again, maybe not!
Gabriel Jacobo 765894e3 2014-06-28T13:05:16 Better fix to support EGL_KHR_create_context and not fail to build on Android ...or Raspberry Pi (EGL < 1.4 systems)
Gabriel Jacobo a9bb8898 2014-06-28T12:48:29 Disable desktop OpenGL for EGL under Android