src/video


Log

Author Commit Date CI Message
Philipp Wiesemann 1e13d93f 2017-05-25T23:01:34 directfb: Changed internal function to be static.
Philipp Wiesemann 6c0aea42 2017-05-25T23:00:58 wayland: Fixed freeing memory of SDL_malloc() with plain free().
Philipp Wiesemann c66f0471 2017-05-25T23:00:43 Removed unused internal window shape functions.
Charlie Birks 126e5a1d 2017-05-24T14:04:39 Emscripten: Prevent default on arrow keys
Patrick Monaghan f839b209 2017-05-24T14:04:25 Emscripten: fixed incorrect conversion of touch motion events to mouse motion events
Philipp Wiesemann bf8ccf08 2017-05-19T23:30:59 Removed redundant mouse clean up on quit for some platforms. SDL_MouseQuit() already frees cursors and sets fields to NULL.
Sam Lantinga 77240762 2017-05-16T17:48:57 Fixed restoring a window that was maximized then minimized, then restored.
Sam Lantinga ccf0566c 2017-05-16T06:30:39 SDL - add SDL_WINDOW_VULKAN and make Android_CreateWindow only create an EGLSurface when SDL_WINDOW_VULKAN is not present. This makes it so the ANativeWindow* can be used with vkCreateAndroidSurfaceKHR, otherwise it will fail because having both an EGLSurface and VkSurfaceKHR attached to a window is not allowed according to the Vulkan spec: "In particular, only one VkSurfaceKHR can exist at a time for a given window. Similarly, a native window cannot be used by both a VkSurfaceKHR and EGLSurface simultaneously" CR: SamL
Philipp Wiesemann df4cf79d 2017-05-13T23:00:53 directfb: Fixed compiler warnings about undefined functions.
Philipp Wiesemann 29222db7 2017-05-13T23:00:35 emscripten: Fixed not removing pointer lock event callback.
Philipp Wiesemann cc5b4f45 2017-05-12T23:01:17 emscripten: Changed internal functions to be static.
Philipp Wiesemann ce01128a 2017-05-12T23:01:04 Fixed warnings about shadowed global variable. Found by buildbot.
Philipp Wiesemann 87e0d812 2017-05-12T23:00:40 directfb: Removed duplicate comment.
Philipp Wiesemann 61c326e1 2017-05-11T23:00:39 directfb: Fixed typo in log message.
Philipp Wiesemann 75c0d1ef 2017-05-11T23:00:21 directfb: Fixed compiler warnings about unused variables.
Sam Lantinga 9ac3bb70 2017-05-09T10:10:42 Added support for mixing Qt and SDL on iOS You should call SDL_SetMainReady(), and then customize the QIOSApplicationDelegate like this, in your application code: /* Additional support for applications mixing Qt and SDL */ @interface QIOSApplicationDelegate : UIResponder <UIApplicationDelegate> @end extern "C" { void SDL_OnApplicationWillResignActive(); void SDL_OnApplicationDidEnterBackground(); void SDL_OnApplicationWillEnterForeground(); void SDL_OnApplicationDidBecomeActive(); } @interface QIOSApplicationDelegate (SDL) - (void)applicationWillResignActive:(UIApplication*)application; - (void)applicationDidEnterBackground:(UIApplication*)application; - (void)applicationWillEnterForeground:(UIApplication*)application; - (void)applicationDidBecomeActive:(UIApplication*)application; @end @implementation QIOSApplicationDelegate (SDL) - (void)applicationWillResignActive:(UIApplication*)application { SDL_OnApplicationWillResignActive(); } - (void)applicationDidEnterBackground:(UIApplication*)application { SDL_OnApplicationDidEnterBackground(); } - (void)applicationWillEnterForeground:(UIApplication*)application { SDL_OnApplicationWillEnterForeground(); } - (void)applicationDidBecomeActive:(UIApplication*)application { SDL_OnApplicationDidBecomeActive(); } @end // QIOSApplicationDelegate
Sam Lantinga 8b7ae353 2017-05-09T03:19:58 Fixed build error on Linux
Philipp Wiesemann b7b91907 2017-05-07T21:02:31 haiku: Changed internal function to be static.
Philipp Wiesemann 3ed2f0ca 2017-05-07T21:02:16 haiku: Fixed unlocking clipboard twice.
Philipp Wiesemann 4466b931 2017-05-06T21:46:11 haiku: Fixed comment.
Philipp Wiesemann 34747107 2017-05-06T21:46:00 mir: Fixed memory leak if system cursor id is unknown.
Philipp Wiesemann 34d9c521 2017-05-06T21:45:43 emscripten: Fixed return type in event callback declaration.
Ryan C. Gordon ce2998b8 2017-05-02T21:46:28 cocoa: Don't crash on messagebox keypress without a successful SDL_Init().
Ryan C. Gordon 619ab7a2 2017-05-01T18:39:05 haiku: Various fixes from haikuports. Based on patch here: https://github.com/haikuports/haikuports/blob/master/media-libs/libsdl2/patches/libsdl2-2.0.5.patchset
Philipp Wiesemann 444c47a1 2017-04-29T22:50:35 windows: Changed six internal functions to be static.
Joshua Granick 1286a7d2 2017-04-20T21:31:44 windows: Add SDL_WINDOW_ALWAYS_ON_TOP support.
Ryan C. Gordon 93a6191c 2017-04-20T13:00:54 emscripten: keep track of pointer lock losses and maybe regrab pointer later. If an Emscripten app is in relative mouse mode and the user presses Escape (or whatever is appropriate), then the pointer lock is broken by the browser. This keeps track of those losses, and next time the user presses a mouse button down on the canvas, if the app is still meant to be in relative mouse mode, we will attempt to regrab the pointer. This makes it much more seamless for things like first-person shooters, and the app doesn't need any manual intervention.
Philipp Wiesemann 2bf79c2e 2017-04-09T23:00:54 mir: Fixed typo in error messages.
Drew Bliss a4dbf565 2017-04-06T13:27:51 Fix divide-by-zero when videodata->ime_candpgsize is zero. We're seeing this happen in Dota in the wild.
Drew Bliss 66555f61 2017-04-06T13:27:48 SDL - attempt to fix https://github.com/ValveSoftware/Dota-2/issues/1199 of mouse not locking in Dota. This fix is proposed by Ryan Gordon (increase timeout in X11_SetWindowGrab from 250ms to 5000ms). I'm going to integrate to source2 and ship it to dota customers. If it works, SamL will upsteam it to SDL.
Sam Lantinga 5789da67 2017-04-03T13:32:53 Fixed bug 1859 - No SDL_VIDEORESIZE event generated when the window manager sets the window size. Samuel Hopkins Just confirming that the patch from Andreas (attachment 1715 [details]) works for me under SDL 2.0.3 with xmonad. Stas Sergeev Confirming that the patch in this ticket fixes the full-screen switching for dosemu2 on ubuntu-16.04. Note that I am not using xmonad, so this bug appears to be generic.
Philipp Wiesemann 1517ba72 2017-04-02T21:33:54 PSP: Fixed error messages.
Philipp Wiesemann f96cdca4 2017-04-02T21:33:42 Mir: Changed two internal functions to be static.
Philipp Wiesemann 266816b4 2017-03-26T21:00:19 Removed newlines from error messages.
Brandon Schaefer c35f46d0 2017-03-18T13:57:57 mir: Set the max/min w/h vs just setting the window w/h
Sam Lantinga 22161480 2017-03-14T07:22:08 Compile fix for android. "ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]" Moving some variable declarations to the top of Android_SetScreenResolution()
Philipp Wiesemann 72fdf629 2017-03-04T23:05:32 Mir: Fixed crash if creating default cursor failed. Found by Cppcheck.
Ryan C. Gordon 6aa17426 2017-03-03T16:38:45 video: Don't compile isAtLeastGL3() if we don't have OpenGL support _at all_.
Ryan C. Gordon ca0bf151 2017-03-03T16:38:17 Fix some more compiler warnings on armcc.
Ryan C. Gordon d526b8a1 2017-03-02T13:33:04 Some patches to make SDL compile with armcc (ARM's C compiler).
Brandon Schaefer 94a69443 2017-03-01T15:05:54 mistake: Revert the files that I did not mean to commit
Brandon Schaefer 7bbb13ea 2017-03-01T14:50:59 * Some refactoring and bug fixes. Thanks Micha? Kuchta!
Ryan C. Gordon bc877885 2017-02-28T19:48:52 raspberrypi: RPI_Destroy() should free the SDL_VideoDevice and its driverdata.
Brandon Schaefer 5a47ee03 2017-02-27T12:20:16 mir: Get ready for Mir 1.0, clean up deprecations. Thanks Micha? Kuchta!
Philipp Wiesemann e5d9b25d 2017-02-26T21:20:39 Fixed comment style.
Ryan C. Gordon 07519a6b 2017-02-26T00:40:04 Removed a bunch of unnecessary #ifdefs.
Charlie Birks 0d647d35 2017-02-17T10:13:17 Emscripten: implement custom cursors
Charlie Birks 33bddcfd 2017-02-17T10:13:12 Emscripten: refactor cursor handling
Charlie Birks 613955b4 2017-02-17T10:13:07 Emscripten: only update pixel ratio if HiDPI is enabled
Ryan C. Gordon 70c0400b 2017-02-13T17:00:46 windows: Try to unify all the GUID comparison code into a core helper function. There are likely several more I missed.
Sam Lantinga cf31ea14 2017-02-11T11:14:48 Fixed bug 3583 - X11 touch device can be permanently lost Volumetric In X11 the SDL error "Unknown touch device" can occur after which the application stops recognizing touch events. For a kiosk-type application this results in a hang as far as the user is concerned. This is reproducible on HP Z220/Z230/Z240 workstations by swapping USB cables for a while and it also occurs with no physical changes, probably due to USB device power management. A workaround is to make SDL re-enumerate the touch devices like it does at startup. A patch is attached.
Sam Lantinga 9171f71d 2017-02-10T09:41:16 Fixed warning in Android build
Sam Lantinga da30992d 2017-02-02T00:41:58 Fixed bug 3577 - Can't set minimal size (message box appears instead) if maximal size wasn't declared (i.e. unlimited)
Sam Lantinga 52e9c42d 2017-01-28T14:35:35 Fixed Windows build
Sam Lantinga 869b7fe3 2017-01-28T11:17:10 Fixed bug 3550 - No mouse move messages send while over the titlebar and windows edges Matthew Its possible to set SDL_CaptureMouse() so you continue receiving mouse input while the mouse is outside your window. This works however There is then a gap where no messages send, which is when the mouse is hovering the title bar and the window edges.
R?mi Verschelde c3eea703 2017-01-28T10:54:12 Use a stronger X font definition for X11_MessageBox on UTF-8 X11 seemed to be confused by the broad definition, so WEIGHT_NAME, SLANT and SETWIDTH_NAME were defined, thus fixing the font lookup on some systems (tested on Mageia 6 with X11 1.19.1). Fixes bug 3571.
Sam Lantinga 0090a338 2017-01-27T21:16:38 Return an error if trying to set a window minimum size larger than the maximum size, or vice versa
Philipp Wiesemann 4f981df3 2017-01-22T22:15:36 Haiku: Fixed memory leak if creating framebuffer failed.
Philipp Wiesemann 800a9e84 2017-01-21T22:00:56 Fixed compiler warning about returning a value in a void function.
Sam Lantinga 95defd66 2017-01-17T21:18:31 Use icon width * sizeof(Uint32) instead of icon pitch when copying to icon resource data
Sam Lantinga 341d1ff9 2017-01-13T11:37:12 Fixed comment
Sam Lantinga a52d48c5 2017-01-10T08:54:33 Fixed bugs 2570, 3145, improved OpenGL ES context support on Windows and X11 Mark Callow The attached patch does the following for the X11 and Windows platforms, the only ones where SDL attempts to use context_create_es_profile: - Adds SDL_HINT_OPENGL_ES_DRIVER by which the application can say to use the OpenGL ES driver & EGL rather than the Open GL driver. (For bug #2570) - Adds code to {WIN,X11}_GL_InitExtensions to determine the maximum OpenGL ES version supported by the OpenGL driver (for bug #3145) - Modifies the test that determines whether to use the OpenGL driver or the real OpenGL ES driver to take into account the hint, the requested and supported ES version and whether ES 1.X is being requested. (For bug #2570 & bug #3145) - Enables the testgles2 test for __WINDOWS__ and __LINUX__ and adds the test to the VisualC projects. With the fix in place I have run testdraw2, testgl and testgles2 without any issues and have run my own apps that use OpenGL, OpenGL ES 3 and OpenGL ES 1.1.
Sam Lantinga 4e9c9fce 2017-01-09T10:10:33 Fixed bug 3100 - SetSwapInterval should now be enabled for ANGLE/EGL Mark Logan 2015-08-24 15:57:50 UTC In SDL_windowsopengles.c, WIN_GLES_SetSwapInterval is as follows: WIN_GLES_SetSwapInterval(_THIS, int interval) { /* FIXME: This should call SDL_EGL_SetSwapInterval, but ANGLE has a bug that prevents this * from working if we do (the window contents freeze and don't swap properly). So, we ignore * the request for now. */ SDL_Log("WARNING: Ignoring SDL_GL_SetSwapInterval call due to ANGLE bug"); return 0; } With a recent version of ANGLE (early July) calling SDL_EGL_SetSwapInterval with a D3D11 backend appears to work just fine. I am working on testing this with D3D9. -- Alex Szpakowski I found the bug, it was fixed in 2013. https://bugs.chromium.org/p/angleproject/issues/detail?id=481 In my opinion it should be safe to unconditionally use SetSwapInterval now. Anyone who encounters the bug should update their ANGLE to a version less than 3 years old, especially since they'd be using a SDL version that's 3+ years newer than their ANGLE version.
Sam Lantinga c16dd74f 2017-01-08T18:32:20 Check the return value of SDL_EVDEV_Init()
Ryan C. Gordon 13f2e542 2017-01-07T19:55:29 x11: make the X11 target work on macOS with Xquartz.
Sam Lantinga e25f4e50 2017-01-07T16:51:48 Really fixed blit issue for capehill
Ryan C. Gordon 61a3ba30 2017-01-07T17:09:14 Replaced a few single-line "//" comments.
Sam Lantinga d024c724 2017-01-05T08:16:39 Fixed signedness issue when blitting on a big endian platform, as reported by capehill For example, if sR is 0 and dR is 255, we will get -255*sA casted to an unsigned value. Basically results are quite large numbers instead of the expected 0-255 range.
Ryan C. Gordon 9d042052 2017-01-04T09:33:47 x11: deal with xrandr display size in millimeters being zero. Xquartz on macOS reports a zero size, which leads to a division by zero here.
Sam Lantinga d3591800 2017-01-03T00:44:05 Fixed bug 3519 - SDL_GetDisplayMode fails to report mode.format when using Wayland backend Ryan C. Gordon Kristian says you can't do it with Wayland, and that going forward, it'll just handle whatever you throw at it anyhow. https://twitter.com/hoegsberg/status/816148272402165761 So I say we mark it SDL_PIXELFORMAT_RGB888, which is what my X11 display currently reports, and leave it at that.
Sam Lantinga 18d9b23c 2017-01-02T10:30:32 Fixed bug 3539 - SDL2, missing MIR LDFLAGS Gianfranco Hello, this is the failure I got https://launchpadlibrarian.net/300679206/buildlog_ubuntu-zesty-amd64.libsdl2_2.0.5+dfsg1-2ubuntu1_BUILDING.txt.gz LTLINK build/libSDL2.la build/.libs/SDL_mirvideo.o: In function `MIR_InitDisplayFromOutput': ././src/video/mir/SDL_mirvideo.c:258: undefined reference to `mir_output_get_current_mode' collect2: error: ld returned 1 exit status
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
Sam Lantinga 49225f5f 2016-12-31T18:11:19 We don't currently support blitting to < 8 bpp surfaces, return an error instead of corrupting memory in that case.
Sam Lantinga 7f2068da 2016-12-31T10:30:07 Fixed bug 3541 - DisplayIndex out of bounds in SDL_SetWindowPosition Intellectual Kitty In SDL_video.c, on line #1756, in SDL_SetWindowPosition (from today's distribution, 12-31-2016, https://hg.libsdl.org/SDL/shortlog/bf19e0c84483): if (displayIndex > _this->num_displays) { should be: if (displayIndex >= _this->num_displays) {
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.
Ryan C. Gordon 7c316366 2016-12-26T23:02:14 x11: Don't loop forever if the X server refuses a pointer grab.
Sam Lantinga b4e069e7 2016-12-26T02:12:21 Fixed bug 3517 - Compiler warnings with gcc -Wstrict-prototypes felix Compiling even a simple SDL2 'hello world' program with gcc -Wstrict-prototypes (GCC 6.2.1) results in warnings like: /usr/include/SDL2/SDL_gamecontroller.h:143:1: attention : function declaration isn't a prototype [-Wstrict-prototypes] extern DECLSPEC int SDLCALL SDL_GameControllerNumMappings(); ^~~~~~ It seems there is a missing 'void' between the parentheses.
Alex Szpakowski fd85f574 2016-12-23T22:49:37 Mac: back out commit 3e9b2ae41adf. It causes significant overhead on many GPUs.
Alex Szpakowski d719374c 2016-12-23T22:08:18 Mac: Fix over-saturated colors on P3 displays (e.g. the 2016 MBPs).
Alex Szpakowski eda74fda 2016-12-18T13:05:14 tvOS: Expose remote swipe gestures as arrow key presses (thanks oviano!)
Alex Szpakowski 787a54c8 2016-12-18T12:28:28 iOS bug #3377: work around bugs in some third party iOS libraries (e.g. Google admob) where they assume the optional UIApplicationDelegate ?window? property always exists and will crash if it doesn?t.
Ryan C. Gordon f50a0400 2016-12-13T00:22:42 windows: add whitespace to fix macro preprocessing issue (thanks, Sven!). Apparently without a space here, "fastbuild -cache" breaks.
Sam Lantinga e81bf12b 2016-12-12T09:18:42 Fixed edid parsing code for older gcc compilers Ozkan Sezer This adds the name 'ad' to two unnamed unions in edid.h and adjusts edid-parse.c for it. Nameless unions are not supported in ancient gcc, which I happened to use on one of my ancient setups.
Sam Lantinga 8414c3d4 2016-12-11T12:01:44 Fixed ABI, don't change the return type of SDL_GL_SwapWindow()
Sam Lantinga 6211668e 2016-12-11T12:01:01 Fixed creating a renderer on the dummy driver on Mac OS X
Sam Lantinga cb5a0b0f 2016-12-11T11:45:33 Fixed crash when creating a dummy window on Mac OS X
Sam Lantinga 454d9cb9 2016-12-09T05:19:31 PP_OK isn't available in the NaCl build environment on buildbot. It's defined as 0
Sam Lantinga 97d05b0d 2016-12-09T05:12:27 Fixed a bunch of SwapWindow calls that needed their return value updated
Sam Lantinga 7a39681e 2016-12-09T05:04:18 Fixed X11 OpenGL ES build
Sam Lantinga fed8cbcd 2016-12-09T05:00:35 Fixed build for EGL platforms
Sam Lantinga 524bf3c2 2016-12-09T01:47:43 Fixed bug 3513 - SDL_GL_SwapWindow does not return error status Return an error code from SDL_GL_SwapWindow(), like the other SDL APIs.
Sam Lantinga 26f05ecb 2016-12-02T02:25:12 Fixed missing prototypes on Android, patch from Sylvain
Sam Lantinga 84c0780e 2016-12-02T02:21:35 Fixed bug 3305 - Fixed TextInput status when the keyboard was dismissed with the dismiss key on the iPad Diego I was previously unaware that rotating the device to a different orientation when the keyboard is shown causes a keyboardWillHide followed by a keyboardWillShow notification. The previous patch would then mistakenly StopTextInput when rotating. This patch fixes that by checking if the device is rotating before stopping text input.
Sam Lantinga 1b689c33 2016-12-01T11:52:47 Fixed bug 3503 - osx builds don't run on 10.6 as of rev. 10651 Ozkan Sezer With rev. 10651, i.e. http://hg.libsdl.org/SDL/rev/747a6a795b21 , SDL2 - OS X builds fail to run on 10.6 (my setup: i686 / 10.6.8) because the symbol _IOPMAssertionCreateWithDescription is missing. The SDK listing it for 10.7+ does seem correct. Reverting r10651 and rebuilding makes it to function again.
Sam Lantinga 4905cd9c 2016-11-30T22:06:05 Fixed bug 3340 - SDL_BlitScaled causes access violation in some cases. Simon Hug The SDL_BlitScaled function runs into an access violation for specific blit coordinates and surface sizes. The attached testcase blits a 800x600 surface to a 1280x720 surface at the coordinates -640,-345 scaled to 1280x720. The blit function that moves the data then runs over and reads after the pixel data from the src surface causing an access violation. I can't say where exactly it goes wrong, but I think it could have something to do with the rounding in SDL_UpperBlitScaled. final_src.y is 288 and final_src.h is 313. Together that's 601, which I believe is one too much, but I just don't know the code enough to make sure that's the problem. Sylvain I think this patch fix the issue, but maybe it's worth re-writing "SDL_UpperBlitScaled" using SDL_FRect.
Sam Lantinga 7f764bd8 2016-11-26T10:26:36 once more - iterating on this is annoying
Sam Lantinga 51ccc9ed 2016-11-26T10:26:32 if the tap is explicitly disabled by code or by another program, let it remain disabled! this is different than the automatic "event tap was too slow therefore we stopped processing it" timeout which we want to re-enable after.
Sam Lantinga 25f54f0f 2016-11-26T10:26:26 tap should default to disabled, not enabled
Sam Lantinga 354a8f27 2016-11-26T10:26:22 SDL for Mac - only enable global event tap when actually necessary (app has focus and has requested relative mouse mode or has asked for a mouse grab). in other situations the event tap impacts system performance and battery life with no benefit.