src


Log

Author Commit Date CI Message
Sam Lantinga b53c35df 2017-10-11T13:26:58 Fixed size in realloc
Ryan C. Gordon 5e5f2290 2017-10-11T12:07:43 audio: Turns out the accumulation errors sound better. :/ Moving to double fixed the overflows, but using "time = i * incr" instead of "time += incr" causes clicks in the output.
Ryan C. Gordon 9bd2c6b4 2017-10-11T11:51:14 audio: Moved the resampler state up to double precision. Fixes more buffer overflows.
Ryan C. Gordon b2f5123b 2017-10-11T11:43:35 audio: calculate resampling time directly, don't increment (thanks, Eric!). Fixes buffer overruns as floating point errors accumulate. Partially fixes Bugzilla #3848.
Ryan C. Gordon 763c3871 2017-10-11T02:33:55 audio: clamp resampler interpolation values to prevent buffer overflow. Partially fixes Bugzilla #3848.
Ryan C. Gordon 0085f917 2017-10-11T02:31:58 audio: Moved unchanging variable out of loop.
Ryan C. Gordon cb8bf6bb 2017-10-11T02:03:05 audio: Make sure audio stream resampling doesn't overflow buffers.
Ryan C. Gordon 459e2b0b 2017-10-11T01:37:11 audio: Fixed check for minimum audio stream put size.
Sam Lantinga 8446d4a0 2017-10-10T20:11:05 Changed overlapping memcpy to memmove
Sam Lantinga eb9e6938 2017-10-10T19:44:33 Fixed potentially calling a callback after it has been removed (and userdata possibly deleted)
Ryan C. Gordon 903ff641 2017-10-10T22:31:02 audio: SDL_ResampleCVT() should use memmove instead of memcpy. This copy can overlap. Fixes Bugzilla #3849.
Ryan C. Gordon 42fff7ce 2017-10-10T22:18:46 audio: Don't stack-allocate resampler padding. (I thought padding size ranged from 5 frames to ~30 frames (based around RESAMPLER_ZERO_CROSSINGS, which is 5), but it's actually between 512 and several thousands (based on RESAMPLER_SAMPLES_PER_ZERO_CROSSING)). It gets big fast when downsampling.
Sam Lantinga b647bd06 2017-10-10T17:41:41 The event filter and event watch functions are now thread-safe
Ryan C. Gordon 37d89aa1 2017-10-10T16:12:56 audio: reworked audio streams to have right-hand resampling padding available. Fixes Bugzilla #3851.
Sam Lantinga d90fce3c 2017-10-10T11:10:15 Exposed the joystick locking functions for multi-threaded access to the joystick API
Ryan C. Gordon 28149e11 2017-10-10T11:56:54 Added SDL_PeekIntoDataQueue().
Sam Lantinga 2657dfae 2017-10-09T11:45:15 Fixed crash in SDL_IsGameController() on Windows if called when a controller is being removed
Sam Lantinga b120fb87 2017-10-08T10:59:03 Fixed bug 3865 - [PATCH] Support for GreenAsia Inc. PSX to USB converter as SDL_GameController Manuel I would like this small patch merged that adds support for my GreenAsia Inc. PSX to USB converter, so SDL_IsGameController() returns true when using this adaptor. It's interesting because PSX/PS2 controllers connected using this model won't be detected as gamecontrollers otherwise, only as joysticks.
Sam Lantinga d2a2b0c1 2017-10-07T15:26:55 Fixed bug 3857 - SDL_ConvertPixels misses YUV conversions Sylvain There are various YUV-RGB conversion coefficients, according to https://www.fourcc.org/fccyvrgb.php I choose the first (from Video Demystified, with integer multiplication), but the current SDL2 Dither functions use in fact the next one, which follows a specifications called CCIR 601. Here's a patch to use the second ones and with previous warning corrections. There are less multiplications involved because Chroma coefficient is 1. Also, doing float multiplication is as efficient with vectorization. In the end, the YUV decoding is faster: ~165 ms vs my previous 195 ms. Moreover, if SDL2 is compiled with -march=native, then YUV decoding time drops to ~130ms, while older ones remains around ~220 ms. For information, from jpeg-9 source code: jpeg-9/jccolor.c * YCbCr is defined per CCIR 601-1, except that Cb and Cr are * normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5. * The conversion equations to be implemented are therefore * Y = 0.29900 * R + 0.58700 * G + 0.11400 * B * Cb = -0.16874 * R - 0.33126 * G + 0.50000 * B + CENTERJSAMPLE * Cr = 0.50000 * R - 0.41869 * G - 0.08131 * B + CENTERJSAMPLE jpeg-9/jdcolor.c * YCbCr is defined per CCIR 601-1, except that Cb and Cr are * normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5. * The conversion equations to be implemented are therefore * * R = Y + 1.40200 * Cr * G = Y - 0.34414 * Cb - 0.71414 * Cr * B = Y + 1.77200 * Cb
Sam Lantinga 1bfe6d60 2017-10-06T21:43:59 Fixed restoring window size when coming out of fullscreen desktop mode. Use the style of the window as it will be, not as it currently is at the time of the AdjustWindowRect call.
Sam Lantinga e9652b19 2017-10-06T16:50:24 Fixed bug 3857 - SDL_ConvertPixels misses YUV conversions Sylvain Few issues with YUV on SDL2 when using odd dimensions, and missing conversions from/back to YUV formats. 1) The big part is that SDL_ConvertPixels() does not convert to/from YUV in most cases. This now works with any format and also with odd dimensions, by adding two internal functions SDL_ConvertPixels_YUV_to_ARGB8888 and SDL_ConvertPixels_ARGB8888_to_YUV (could it be XRGB888 ?). The target format is hard coded to ARGB888 (which is the default in the internal of the software renderer). In case of different YUV conversion, it will do an intermediate conversion to a ARGB8888 buffer. SDL_ConvertPixels_YUV_to_ARGB8888 is somehow redundant with all the "Color*Dither*Mod*". But it allows some completeness of SDL_ConvertPixels to handle all YUV format. It also works with odd dimensions. Moreover, I did some benchmark(SDL_ConvertPixel vs Color32DitherYV12Mod1X and Color32DitherYUY2Mod1X). gcc-6.3 and clang-4.0. gcc performs better than clang. And, with gcc, SDL_ConvertPixels() performs better (20%) than the two C function Color32Dither*(). For instance, to convert 10 times a 3888x2592 image, it takes ~195 ms with SDL_ConvertPixels and ~235 ms with Color32Dither*(). Especially because of gcc vectorize feature that optimises all conversion loops (-ftree-loop-vectorize). Nb: I put no image pitch for the YUV buffers. because it complexify a little bit the code and the API : There would be some ambiguity when setting the pitch exactly to image width: would it a be pitch of image width (for luma and chroma). or just contiguous data ? (could set pitch=0 for the later). 2) Small issues with odd dimensions: If width "w" is odd, luma plane width is still "w" whereas chroma planes will be "(w + 1)/2". Almost the same for odd h. Solution is to strategically substitute "w" by "(w+1)/2" at the good places ... - In the repository, SDL_ConvertPixels() handles YUV only if yuv source format is exactly the same as YUV destination format. It basically does a memcpy of pixels, but it's done incorrectly when width or height is odd (wrong size of chroma planes). This is fixed. - SDL Renderers don't support odd width/height for YUV textures. This is fixed for software, opengl, opengles2. (opengles 1 does not support it and fallback to software rendering). This is *not* fixed for D3D and D3D11 ... (and others, psp ?) Only *two* Dither function are fixed ... not sure if others are really used. - This is not possible to create a NV12/NV12 texture with the software renderer, whereas other renderers allow it. This is fixed, by using SDL_ConvertPixels underneath. - It was not possible to SDL_UpdateTexture() of format NV12/NV21 with the software renderer. this is fixed. Here's also two testcases: - that do all combination of conversion. - to test partial UpdateTexture
Sam Lantinga d9e1036e 2017-10-06T16:17:50 Fixed potential overflow in surface allocation (thanks Yves!)
Sam Lantinga 312da262 2017-10-05T09:37:28 Fixed bug 3854 - arguments to dbus_type_is_basic() were incorrect Aaron As of 2.0.6, all of my games are failing with the following error: process 31778: arguments to dbus_type_is_basic() were incorrect, assertion "dbus_type_is_valid (typecode) || typecode == DBUS_TYPE_INVALID" failed in file dbus-signature.c line 322. This is normally a bug in some application using the D-Bus library. D-Bus not built with -rdynamic so unable to print a backtrace (patch by Ozkan Sezer)
Brandon Schaefer db20e71d 2017-10-02T10:50:33 Fixed bug 3855 - Memory leak in SDL_FreeSurface
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
Sam Lantinga aad58c62 2017-09-29T07:44:30 Fixed bug 3852 - SDL_FreeSurface deallocates surface->map even if the surface is not yet freed Evgeny Kapun Commit 490bb5b49f11 [1], which was a fix for bug #3790, introduced a new bug: now, calling SDL_FreeSurface(surface) deallocates surface->map even if there are other references to the surface. This is bad, because some functions (such as SDL_ConvertSurface) assume that surface->map is not NULL.
Sam Lantinga 54685787 2017-09-26T15:07:35 Fixed bug 3847 - Hit Test x coordinate wrong on secondary monitor Robert Turner SDL_windowsevents.c contains code to retrieve the x and y coordinate for a requested hit test. It does this as follows: POINT winpoint = { (int) LOWORD(lParam), (int) HIWORD(lParam) }; LOWORD(lParam) does not correctly mask off high bits that are set if the point is on a second (or third, etc.) monitor. This effectively offsets the x-coordinate by a large value. MSDN documentation suggests that LOWORD() and HIWORD() are the wrong macros for the task, instead suggesting we should be doing something like the following: POINT winpoint = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) }; Testing this change on my Windows 10 machine with 2 monitors gives the correct results.
Alex Szpakowski fb071a4c 2017-09-25T20:49:31 Mac: Fix the menu bar not always working for non-.app-bundled apps. Fixes bug #3051.
Ryan C. Gordon 099ae43e 2017-09-22T22:28:21 audio: Fixed compiler warning on Visual Studio.
Sam Lantinga 58d1c54d 2017-09-22T17:32:05 Fixed spacing
Sam Lantinga 0fea9164 2017-09-22T17:29:32 Added an example for SDL_SetWindowHitTest() when you create a borderless resizable window.
Sam Lantinga fe6b8f1c 2017-09-22T11:25:52 Fixed Mac OS X build
Sam Lantinga 407e1693 2017-09-22T11:15:14 Fixed audio being silent on older iOS devices Tested on an iPod running iOS 6.1
Sam Lantinga 5ab5c9b7 2017-09-22T08:56:09 Avoid duplicate joystick axis events
Sam Lantinga d74c00e6 2017-09-22T08:51:45 Fixed memory leak when HAVE_ALLOCA isn't defined
Sam Lantinga 2fd52351 2017-09-22T08:32:31 Added stubs for simple Steam Controller support
Sam Lantinga d8286479 2017-09-22T08:30:52 Added stubs for simple Steam Controller support
Sam Lantinga 53b2c91d 2017-09-22T08:30:46 Separated out SDL Android java code so audio, controller, and filesystem APIs can be used independently of the SDL activity, in Qt apps for example.
Sam Lantinga ad86eff1 2017-09-22T08:30:37 Guarded EGL code with SDL_VIDEO_OPENGL_EGL
Sam Lantinga 499f928c 2017-09-22T07:15:41 borderless windows will have WM_NCCALCSIZE return 0 for the non-client area. When this happens, it looks like windows will send a resize message expanding the window client area to the previous window + chrome size, so shouldn't need to adjust the window size for the set styles.
Sam Lantinga 3176a7f5 2017-09-22T07:11:36 sdl - Fixing rendering borderless window. Need to force windows to send a WM_NCCALCSIZE then return 0 for non-client area size. - Adding WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX to borderless windows, for reasons noted in comments. - Fix SetupWindowData() setting SDL_WINDOW_BORDERLESS. This was being cleared at window creation, causing hanlding for the first WM_NCCALCSIZE message to fail
Mark Callow 59d17bde 2017-09-22T22:30:02 Avoid hitting ERR_MAX_STRLEN limit.
Ryan C. Gordon 6d206a7b 2017-09-22T07:42:24 audio: Stream resampling now saves some samples from previous run for padding. Previously, the padding was silence, which was a problem when streaming since you would sample a little bit of this silence between each buffer. We still need a means to get padding data for the right hand side, but this patch makes the resampler output more correct.
Brandon Schaefer 466ba57d 2017-09-21T18:38:07 [egl/mir] Need eglGetProc to find gl 4.5 core profile extensions
Alex Szpakowski e5cfb58f 2017-09-21T20:30:25 iOS MoltenVK code style cleanup.
Sam Lantinga b3ac0b6f 2017-09-21T14:48:03 A hint with an empty string should be treated as the default value
Sam Lantinga eaab6098 2017-09-21T10:29:17 Only apply the jitter filter to prevent unexpected motion on axes that haven't been touched.
Sam Lantinga 5ae90ef6 2017-09-21T01:22:40 Fixed bug 3788 - software renderer crashes in SDL_RenderCopyEx with rotation and dstrect w or h is 0 Anthony This is what's making the software renderer crash with rotated destination rectangles of w or h = 0: SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "2");
Sam Lantinga 8b660c50 2017-09-21T00:55:29 Added some missing "extern" declarations
Ryan C. Gordon 1a3b95a1 2017-09-21T02:51:14 audio: Replaced the resampler. Again. This time it's using real math from a real whitepaper instead of my previous amateur, fast-but-low-quality attempt. The new resampler does "bandlimited interpolation," as described here: https://ccrma.stanford.edu/~jos/resample/ The output appears to sound cleaner, especially at high frequencies, and of course works with non-power-of-two rate conversions. There are some obvious optimizations to be done to this still, and there is other fallout: this doesn't resample a buffer in-place, the 2-channels-Sint16 fast path is gone because this resampler does a _lot_ of floating point math. There is a nasty hack to make it work with SDL_AudioCVT. It's possible these issues are solvable, but they aren't solved as of yet. Still, I hope this effort is slouching in the right direction.
Ryan C. Gordon f40bd5ee 2017-09-21T02:06:53 audio: removed my perl experiment script.
Mark Callow 3c45e662 2017-09-21T14:01:12 macOS: remove unneeded #includes.
Sam Lantinga f0a324f8 2017-09-20T19:59:34 Reverted Alex's commit 131cba1768a5 - we're about to release 2.0.6, don't remove support for the iOS 7 SDK yet.
Alex Szpakowski d452b89f 2017-09-20T11:01:32 iOS: I don't think SDL compiles with the iOS 7 SDK anymore, so we might as well drop the #ifdefs trying to guard for that.
Alex Szpakowski 12fb004f 2017-09-20T10:53:41 iOS: remove an unused static variable
Sam Lantinga c08a7a74 2017-09-15T17:27:32 Added a hint SDL_HINT_AUDIO_CATEGORY to control the audio category, determining whether the phone mute switch affects the audio
Patrice Mandin 46ec1305 2017-09-14T21:45:14 Fix for 3829. Revert adding GameSir G4s, uses same GUID as PS3 controller.
Patrice Mandin 73c85e98 2017-09-14T19:33:32 Readd support for GameSir G4s, lost with changeset 11431
Sam Lantinga cfe72c76 2017-09-14T09:55:27 Fixed iOS keyboard positioning, based on the final position rather than the initial one
Ryan C. Gordon 76176486 2017-09-14T08:37:27 surface: Make sure SDL_ConvertSurface() deals with palettes (thanks, Sylvain!). Fixes Bugzilla #3826. Fixes Bugzilla #2979.
Sam Lantinga ac782d71 2017-09-12T05:53:47 Added support for the PDP Battlefield One Xbox One controller on Linux
David Ludwig 78b83d3a 2017-09-11T18:20:56 WinRT: build fix when using recent versions of the Windows 10 SDK
Sam Lantinga e98fc897 2017-09-10T12:54:40 Fixed bug 3812 - Fallthrough warnings gcc-7
Sam Lantinga 5f48ce0b 2017-09-10T12:49:41 Fixed bug 3815 - implicit-fallthrough warning - DUFFS_LOOP4 and friends
Sam Lantinga 19114b03 2017-09-10T12:42:38 Fixed bug 3813 - gcc7 fallthrough warnings in SDL_iconv.c and SDL_pixels.c
Sam Lantinga 849c4c14 2017-09-10T12:40:45 Fixed tabs to spaces
Sam Lantinga 8ed16ea4 2017-09-10T10:43:04 Fixed compile warning
Ryan C. Gordon 93583d46 2017-09-09T21:17:46 alsa: removed snd_pcm_wait() call before writing to playback device. This would cause playback problems in certain situations, such as on the Raspberry Pi. The device that the wait was added for seems to not benefit from it in modern times, and standard desktop Linux seems to do the right thing when a USB device is unplugged now, without this patch. Fixes Bugzilla #3599.
Sam Lantinga b2ba8963 2017-09-09T11:00:25 Fixed bug 3809 - Restore after maximize leads to wrong size Andreas Falkenhahn My app opens a 640x480 window. When I click on the window's maximize button, the window correctly fills the entire screen and loses its borders. But clicking on the restore button now doesn't restore the window to its original 640x480 size. Instead, the window size is identical to the screen size now. The only difference to the previous state is that the window now has borders again but it isn't restored to 640x480.
Sam Lantinga 676c3a92 2017-09-09T10:31:44 Fixed bug 3719 - Cocoa - Incorrect window size when leaving fullscreen bastien.bouclet The window is now resized to its specified size, but it moves to the top left corner of the screen. That is unexpected because neither the user nor the program moved it there. Test program attached (the same one as before).
Sam Lantinga fcd9c190 2017-09-09T09:31:12 Fixed window size when leaving fullscreen mode (thanks Eric!)
Sam Lantinga f465f24d 2017-09-09T08:36:37 Fixed bug 3760 - RWops doesn't check for integer overflow when stdio_fseek only supports 32 bits Simon Hug When RWops seeks with fseek or fseeko it uses the types long or off_t which can be 32 bits on some platforms. stdio_seek does not check if the 64-bit integer for the offset fits into a 32-bit integer. Offsets equal or larger than 2 GiB will have implementation-defined behavior and failure states would be very confusing to debug. The attached patch adds range checking by using the macros from limits.h for long type and some bit shifting for off_t because POSIX couldn't be bothered to specify min and max macros. It also defines HAVE_FSEEKI64 in SDL_config_windows.h so that the Windows function gets picked up automatically with the default config. And there's an additional error message for when ftell fails.
Sam Lantinga 9a73909b 2017-09-09T08:20:56 Fixed bug 3808 - fix a typo in SDL_stretch.c Ozkan Sezer The following patch fixes a minor _MSC_VER typo in SDL_stretch.c, and also does a tiny tidy-up for assembly opcodes cpp checks.
Sam Lantinga 222d25ad 2017-09-08T22:21:01 Fixed bug 3805 - Why is there no --enable-video-rpi option in configure? Andreas Falkenhahn When compiling SDL for the Raspberry Pi, I have to use the --host parameter to enable compilation of the native Raspberry Pi video driver, like so: --host=arm-raspberry-linux-gnueabihf It took me a while to figure out that this was necessary in order to have the native Raspberry Pi video driver compiled in. I think it would be better if there was an option like --enable-video-rpi that could be passed to configure and that would also show up when saying configure --help. Currently, it?s rather difficult to figure out that you have to use the --host parameter with arm-raspberry-linux-gnueabihf in order to get Raspberry Pi video support. It?s also somewhat inconsistent because most other video drivers can in fact be enabled/disabled through specific configure parameters but there is no such parameter for the native Raspberry Pi video driver.
Sam Lantinga e8059221 2017-09-08T18:26:25 Fixed bug 3806 - Fixes for MSVC compiler warnings Simon Hug These are the remaining compiler warnings I see in the current tip cb049cae7c3c. - SDL_test_log.c defines _CRT_SECURE_NO_WARNINGS without checking if it was already set. - SDL_windowskeyboard.c converts integers to pointers without going over the (U)INT_PTR types. That bothers MSVC.
Sam Lantinga 1b2492ed 2017-09-08T15:08:03 Fixed 64-bit build warning
Sam Lantinga 0ddac338 2017-09-08T07:15:47 keep joystick thread from waking unnecessarily, and from possibly blocking for 300ms at shutdown if a joystick was just plugged in CR: SamL
Sam Lantinga 4657d9f3 2017-09-08T04:53:31 We don't need to pass the renderer into SDLTest_CleanupTextDrawing()
Sam Lantinga 65c55fdd 2017-09-08T04:38:46 Fixed build
Sam Lantinga b0b3da77 2017-09-08T04:14:05 Added a function to clean up test text drawing
Ryan C. Gordon ca15c7d6 2017-09-07T10:56:08 wave: SDL_LoadWAV now supports 24-bit audio.
Ryan C. Gordon fb283932 2017-09-06T19:35:36 vulkan: use "unsigned int" instead of "unsigned"
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.
Sam Lantinga fa0eeff7 2017-09-06T07:29:34 sdl: Cleans up AdjustWindowEx calls
Sam Lantinga 20c5bc91 2017-09-06T05:23:26 You can have a borderless resizable window
Sam Lantinga 4ca5d862 2017-09-06T04:32:30 Fixed bug 3780 - GCC 7 implicit fallthrough warnings Martin Gerhardy 2017-08-28 06:58:01 UTC SDL_blit.h, SDL_fillrect.c and SDL_stdinc.h produces a lot of the (new) gcc-7 implicit fallthrough warnings.
Sam Lantinga c8e3e0c4 2017-09-06T01:10:10 Fixed bug 3799 - SDL_CreateWindow fails with SDL_WINDOW_VULKAN (libvulkan.so.1 not found) Manuel Sabogal Android NDK defines Vulkan as libvulkan.so, not libvulkan.so.1. This is causing the program to not being able to create a window using SDL_WINDOW_VULKAN. To fix this issue just change the line http://hg.libsdl.org/SDL/file/bbaec41e93b5/src/video/android/SDL_androidvulkan.c#l53 from "libvulkan.so.1" to "libvulkan.so"
Ryan C. Gordon c9e73c3e 2017-09-05T16:15:54 x11: make sure SDL_GetGlobalMouseState notices mouse warping through SDL APIs.
Sam Lantinga 0782f9be 2017-09-05T08:24:38 Fixed bug 3273 - Fix for slow video subsystem initialization when using XRandR. Mart?n Golini I'm having a very slow initialization of the video subsystem that locks the window creation for about 500 ms ( tested in at least 4 different systems ). What i found is that X11_InitModes_XRandR is using XRRGetScreenResources, that explicitly ask to poll the hardware for changes. This is not really necessary since if the data is already available you can use XRRGetScreenResourcesCurrent. I attached a tentative patch that fix this issue. With the patch there's no lock when the subsystem is initialized and the window creation is instant in my applications. The patch only uses XRRGetScreenResourcesCurrent in X11_InitModes_XRandR but it could be potentially used in X11_GetDisplayModes and X11_SetDisplayMode.
Sam Lantinga c1fd0fbb 2017-09-04T22:14:57 Fixed compiler warning with mingw-w64
Sam Lantinga 67f9348b 2017-09-04T11:46:14 Fixed bug 3790 - Memory leak with surfaces blitting on each other bastien.bouclet When creating two surfaces and blitting them onto the other, SDL's internal reference counting fails, and one of the surfaces is not freed when calling SDL_FreeSurface. Example code : SDL_Surface *s1 = SDL_CreateRGBSurfaceWithFormat(0, 640, 480, 32, SDL_PIXELFORMAT_ARGB8888); SDL_Surface *s2 = SDL_CreateRGBSurfaceWithFormat(0, 640, 480, 32, SDL_PIXELFORMAT_ARGB8888); SDL_BlitSurface(s1, NULL, s2, NULL); SDL_BlitSurface(s2, NULL, s1, NULL); SDL_FreeSurface(s2); SDL_FreeSurface(s1); With this example, s1 is not freed after calling SDL_FreeSurface, its refcount attribute is still positive.
David Ludwig 532446a6 2017-09-03T17:33:49 macOS: bug-fix for #3793, "fullscreen toggle does not maintain SDL_Renderer's logical size" This also seems to fix the follow-up issue in bug #3719, whereby the initial fix caused the SDL window to move, after transitioning from fullscreen to windowed-mode
Ryan C. Gordon 167398b3 2017-09-02T19:35:32 video: Let video targets optionally decide their default OpenGL configs. This is necessary because the Raspberry Pi is a strange beast, that believes it has OpenGL support (through glX?) but generally has GLES2 support. So when using the raspberry video target, we need to force this to default to a GLES2 context, or by default SDL_CreateWindow() will fail, deep down when it tries to load the proper GL library. Fixes testsprite2 (and basically everything else that wasn't testgles2) when run on a Raspberry Pi without a X server. Please note that other targets might also need this filled in, the Raspberry Pi is just the most prominent and readily-available System-On-A-Chip style thing on my desk. :)
Ryan C. Gordon 3267398d 2017-09-02T16:41:14 sndio: Patched to compile if SIO_DEVANY isn't defined. (It isn't in whatever Raspbian is currently shipping.)
Sam Lantinga c26946e9 2017-09-01T12:54:38 Fixed bug 3792 - [KMS/DRM] Wrong GBM format Romain Tisserand Using KMS/DRM driver from WIP SDL2.0.6 on Linux/ARM SoC RockChip RK3328 (ARM Mali 450 MP2 GPU). The current code is using GBM_BO_FORMAT_XRGB8888 as GBM buffer format specifier. The Mali driver (it has been confirmed some other vendor implementations too) expects GBM_FORMAT_XRGB8888. The Mesa implementation is actually handling both values as the same, but it's not implemented like this into every gbm.h vendor header. https://github.com/ideak/mesa/blob/master/src/gbm/backends/dri/gbm_dri.c So with stock SDL2 on my card (Mali vendor implementation), it does not work, eglCreateWindowSurface fails, and gbm_is_format_supported fails too (with the BO variant). It runs fine with GBM_FORMAT_XRGB8888. Here is a link of the gbm.h from Mali user-space driver : https://github.com/rockchip-linux/libmali/blob/rockchip/include/gbm.h
Ryan C. Gordon 74043994 2017-09-01T14:08:09 x11: Correctly restore previous GL context after sacrificial context is done.
Ryan C. Gordon a3dda100 2017-09-01T14:00:11 x11: don't try to make a NULL GL context current when we already did that.
Ryan C. Gordon 4649ac46 2017-09-01T13:57:40 x11: Clean up sacrificial GL context code. Check for failures, restore any previously-current context.
Ryan C. Gordon 507659c6 2017-09-01T13:27:53 x11: Make a sacrificial glX context to check for extensions during init. This is necessary because we need to see if GLES compat extensions exist. All of this code (including ShouldUseTextureFramebuffer()) should be revisited after 2.0.6 ships; ideally we don't make throwaway contexts if we can avoid it...but maybe we can't. I hear Vulkan is pretty cool. Fixes Bugzilla #3725.