|
a8c0532c
|
2018-01-07T16:57:32
|
|
metal: Fix pipeline states to use the pixel format of the current render target, instead of a hard-coded format.
|
|
740a90af
|
2018-01-06T18:54:12
|
|
metal: Add support for YUV/NV12 texture formats.
|
|
9a8683b2
|
2018-01-04T22:16:42
|
|
metal: use a private instead of managed buffer for the renderer's non-changing constant data.
Recommended by Xcode's Metal frame capture analysis.
|
|
990ebba5
|
2018-01-04T19:29:33
|
|
metal: Implement fast hardware clearing when possible, by deferring the start of a render pass until a clear or draw operation happens.
|
|
66baf736
|
2018-01-03T11:31:42
|
|
Fixed spacing in copyright headers
|
|
7c60bec4
|
2018-01-03T10:58:58
|
|
Fixed bug 4018 - Implement SDL_GetWindowBordersSize() under Windows/Win32/WinAPI
Ismael Ferreras Morezuelas (Swyter)
As a new year gift I have implemented the Windows version of SDL_GetWindowBordersSize(). I needed it for auto-selecting a cozy window size for the game I'm currently working on and noticed that it only worked under X11, so I thought it could be a good excuse to contribute back more stuff. The Mercurial patch is attached as a .diff file. Let me know what you think.
Happy 2018 to all the SDL2 devs and users!
--
PS: Keep in mind that Windows 10 includes the 8px invisible grip borders as part of the frame. There's a way of detecting if Aero/DWM is being used and ask only for the visible rect, but I believe that GetWindowRect() is doing that for a reason and working as intended, so I haven't changed it. (See [2])
References:
[1]: http://www.firststeps.ru/mfc/winapi/r.php?72
[2]: https://stackoverflow.com/a/34143777/674685
[3]: https://stackoverflow.com/a/431548/674685
[4]: https://wiki.libsdl.org/SDL_GetWindowBordersSize
|
|
8111a632
|
2018-01-03T10:49:26
|
|
Fixed bug 4013 - Wayland: fix videoquit on multimonitor system
Vladimir
On multimonitor system Wayland_VideoQuit invalid deiniting.
Tested in Centos7 + Weston
|
|
1fa4bcca
|
2018-01-03T10:43:01
|
|
Fixed bug 4012 - Wayland: invalid direction on mouse wheel
Vladimir
Invalid direction on mouse wheel
Patch tested in Centos 7 + Weston
|
|
6bc38737
|
2018-01-03T10:07:27
|
|
Fixed bug 4011 - Wayland: fix free cursor
Vladimir
Sometimes SDL application crashes on cursor free.
Patch tested under Centos 7 + weston
|
|
e3cc5b2c
|
2018-01-03T10:03:25
|
|
Updated copyright for 2018
|
|
888198ee
|
2018-01-03T00:43:01
|
|
metal: Misc. improvements.
- Use a single buffer for various non-changing constants accessed by the GPU, instead of multiple buffers.
- Do the half-pixel offset for points and lines using a transform matrix so we don't need a malloc when rendering.
- Don't add a half-pixel offset for other primitives and textures. This matches D3D and GL render behaviour.
- Remove the half-texel texture coordinate offset since it's not needed now that there's no more half-pixel position offset when rendering a texture.
- Don't try to set texture usage on iOS 8 since it doesn't exist there.
|
|
f9cd7650
|
2018-01-02T21:44:28
|
|
metal and moltenvk: fix highdpi.
|
|
ef1014ac
|
2018-01-02T19:06:14
|
|
configure script: Implement testing for build-time Metal SDK support.
|
|
b3b5c473
|
2018-01-02T14:32:15
|
|
Fixed direction of y adjustment for new orthographic projection in the metal renderer
|
|
fa86807c
|
2018-01-02T14:11:10
|
|
Fixed metal renderer pixel centers when drawing
|
|
07f08b47
|
2018-01-01T23:06:08
|
|
metal: Fix a typo preventing iOS compilation...
|
|
1cc66033
|
2018-01-01T23:03:50
|
|
metal: Clean up manual reference counting. Fixes some memory leaks.
|
|
7c667a6f
|
2018-01-01T19:16:51
|
|
windows: Remove references to GetVersionExA (thanks, Andrew Pilley!).
"GetVersionExA is deprecated in windows 8.1 and above's SDK, causing a warning
when building against the win10 SDK. Attached patch cleans up the usage for a
warning-free build.
GetVersionExA was being used to test to see if SDL was running on win9x or
winnt. A quick chat with Ryan on twitter suggested that SDL doesn't
officially support win9x anymore, so the call to this can be outright removed.
As an aside, replacing the call to GetVersionExA with VerifyVersionInfoA (the
recommended path) would have been pointless, as VerifyVersionInfoA only
supports VER_PLATFORM_WIN32_NT and doesn't officially support any other value
for dwPlatformId currently. (And it's probable that win9x SDKs didn't have
VerifyVersionInfo* in them anyway.)"
Fixes Bugzilla #4019.
|
|
a452a084
|
2018-01-01T19:40:29
|
|
iOS: fix build
|
|
639ea9fd
|
2018-01-01T19:37:16
|
|
metal: Use sampler state objects instead of shader-declared samplers for linear vs nearest filtering.
This avoids a ton of shader duplication once multiple shaders that use samplers are added (e.g. the currently missing YUV shaders).
|
|
cf45cf70
|
2018-01-01T18:06:27
|
|
metal: Add support for custom blend modes.
|
|
85470a2f
|
2017-12-31T21:06:16
|
|
metal: implement SDL_RenderCopyEx, and fix a memory leak in SDL_CreateTexture.
|
|
047d387b
|
2017-12-31T15:30:08
|
|
metal: Use the existing cocoa code for creating a Metal view on macOS. Fixes the renderer size when the window is resized.
|
|
48fea0ce
|
2017-12-31T15:21:25
|
|
macOS: Fix MoltenVK Metal view resizing, and allow the metal view to be used without vulkan.
|
|
6d32ebdb
|
2017-12-31T03:51:17
|
|
winrt: Add mmdevapi.lib dependency to WinRT8.1 builds, for WASAPI support.
|
|
027d63bc
|
2017-12-31T03:36:54
|
|
winrt: workaround for pre-UWP builds.
There's probably a better way to do this for legacy platforms, though.
|
|
140cc460
|
2017-12-31T03:35:41
|
|
windows: Use WaitForSingleObjectEx() always
This is available since Windows XP, so it's safe to use always, not just in
a WinRT ifdef.
|
|
77bb49b7
|
2017-12-31T03:34:16
|
|
wasapi: Patched to compile on non-UWP WinRT builds.
|
|
c0c30569
|
2017-12-31T03:17:18
|
|
winrt: Disabled Windows Phone 8.0 builds.
It lacks APIs we need for WASAPI and probably no one will miss it. 8.1 is
still supported.
|
|
791c0dd8
|
2017-12-31T03:13:33
|
|
winrt: bumped SDL's shipping version number in winrtbuild.ps1
|
|
42b19c97
|
2017-12-30T22:39:55
|
|
metal: Respect the vsync flag on macOS 10.13+.
|
|
e24dc905
|
2017-12-30T20:32:22
|
|
metal: use a projection matrix instead of manually transforming vertices into clip space on the CPU.
|
|
49df65c2
|
2017-12-30T18:48:07
|
|
metal: only 4 (instead of 5) vertices are needed to draw rectangles and textures, and only 3 (instead of 5) vertices are needed to cover the screen for the 'full-screen quad' when clearing.
|
|
d027f360
|
2017-12-30T14:40:39
|
|
xcode: Add Metal and QuartCore to everything as a weak_framework.
|
|
64ec4c33
|
2017-12-29T22:13:40
|
|
macOS: Make sure the desktop's display mode is always in SDL's list of display modes.
|
|
616827ae
|
2017-12-19T11:19:10
|
|
Fixed bug 4001 - Android, prevent error message box to crash
Sylvain
Prevent the error message box to crash after being clicked.
Because of "SDLActivity.mSingleton.finish();"
|
|
b7be5bce
|
2017-12-19T11:17:37
|
|
Fixed bug 4000 - SDL2 on raspberry: mouse displayed at 0,0 after SDL_ShowCursor
Laurent Merckx
I have a problem with the SDL_ShowCursor method on Raspberry.
Depending on the context, my application hides or show the mouse cursor with SDL_ShowCursor.
But when calling SDL_ShowCursor(true), the cursor is displayed at 0,0 (and not at last position).
After debugging sources by myself, it seems that the problem is in SDL_rpimouse.c - RPI_ShowCursor:
vc_dispmanx_rect_set( &dst_rect, 0, 0, curdata->w, curdata->h);
should be
vc_dispmanx_rect_set( &dst_rect, mouse->x, mouse->y, curdata->w, curdata->h);
For me, it solves the problem.
|
|
70082db8
|
2017-12-19T11:14:06
|
|
Fixed bug 4003 - HAVE_POLL undefined in SDL_poll.c, making it impossible to use.
tomwardio
HAVE_POLL is correctly defined in SDL_config.h when running configure. However, in the only place where it's used, it's undefined at the start of the file.
|
|
b92e2f02
|
2017-12-19T10:57:21
|
|
Fixed bug 4004 - iOS: don't hide keyboard on RETURN
Dominik Reichardt
As discussed in 2012 the iOS onscreen keyboard hides when you hit RETURN (see https://discourse.libsdl.org/t/on-screen-keyboard-change/19216).
IMO this is a bad idea to not be able to influence this behavior and just recently this was fixed for Android by adding the hint SDL_HINT_ANDROID_RETURN_HIDES_IME in changeset 11768 6ce3bb5e38a5.
|
|
fee2469c
|
2017-12-19T10:48:29
|
|
Fixed bug 4005 - Android, SDL_IsGameController() crashes is index is out of range
Sylvain
On Android, if you give an invalid index to SDL_IsGameController(), it will crash in SDL_SYS_IsDPAD_DeviceIndex().
|
|
e5cfa241
|
2017-12-16T10:40:47
|
|
Fixed default Android D-PAD mapping so the back button is treated as B
|
|
255362a3
|
2017-12-16T10:40:45
|
|
Fixed handling of the Apple TV remote buttons
The menu button on the remote is the back button
|
|
cc30e1eb
|
2017-12-16T10:40:43
|
|
Added support for the ASUS TV500BG Android gamepad
|
|
95d8396e
|
2017-12-16T10:40:41
|
|
Added Android build script for SDL
|
|
ab4695f4
|
2017-12-13T14:35:55
|
|
wasapi: switched to event-driven interface.
This reduces latency and improves battery life.
|
|
684c5847
|
2017-12-12T22:30:21
|
|
Moved deployment target values to project settings
|
|
35a2eed3
|
2017-12-12T21:59:39
|
|
Parameterized the All (target platform) build target scripts so they can be used in other projects
|
|
988034fc
|
2017-12-12T22:25:39
|
|
windows: Fixed a comment.
|
|
18577a70
|
2017-12-12T16:37:23
|
|
Fixed bug 3992 - SDL_GetColorKey doesn't set error message
Luke A. Guest
SDL_GetColorKey does not set an error message on failure. The current source just returns -1.
The documentation https://wiki.libsdl.org/SDL_GetColorKey?highlight=%28%5CbCategoryAPI%5Cb%29%7C%28SDLFunctionTemplate%29 says to call SDL_GetError but that is useless in this case.
|
|
87894224
|
2017-12-12T16:34:16
|
|
Fixed bug 3981 - Inverted logic bug in SDL_renderer "overscan" feature
Eric wing
There is a tiny bug in the new overscan code for the SDL_renderer.
In SDL_renderer.c, line 1265, the if check for SDL_strcasecmp with "direct3d" needs to be inverted.
Instead of:
if(SDL_strcasecmp("direct3d", SDL_GetCurrentVideoDriver())) {
It should be:
if(0 == SDL_strcasecmp("direct3d", SDL_GetCurrentVideoDriver())) {
This bug causes the "overscan" mode to pretty much be completely ignored in all cases and all things remain letterboxed (as before the feature).
|
|
0597bf6e
|
2017-12-12T16:25:43
|
|
Fixed bug 3993 - altivec.h include in SDL_cpuinfo.h breaks compilation with -std=c++11
bastien.bouclet
According to this GCC bug report, altivec.h requires building with the gnu extensions: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78263.
As an application developer, I don't want SDL to force me to enable the gnu extensions.
|
|
ca729766
|
2017-12-12T16:10:20
|
|
Fixed bug 3996 - Corrupted or over-released critical section on SDL_Quit (SDL_event_watchers_lock)
Andrew
This likely comes down to an additional 'unlock' being called before destroying it, without a matching 'lock'.
|
|
2afc0b7f
|
2017-12-12T12:52:23
|
|
Add the ability to set SDL to handle Return as 'hide IME' on Android softkeyboard. (thanks Rachel!)
|
|
e8bbbb37
|
2017-12-12T12:52:17
|
|
Added support for Android video textures
|
|
bed7fd80
|
2017-12-12T12:52:09
|
|
Merged latest changes from rel/streaming_client
|
|
527a8eb0
|
2017-12-12T12:14:55
|
|
Renamed Xcode build targets so it's easier to copy files out of build directories on the command line
Also enabled bitcode, which is needed for App Store builds
|
|
638d4fe3
|
2017-12-12T11:29:00
|
|
Added SDL_uikitmetalview.m to the tvOS project
|
|
e0d0184f
|
2017-12-11T14:44:34
|
|
Fixed bug 3999 - Build failed when try to build with configure script for Android
|
|
f1ec8a5f
|
2017-12-11T12:00:12
|
|
Check for immintrin.h before using it in SDL_cpuinfo.h
|
|
1b16618b
|
2017-12-11T11:47:52
|
|
Fixed Windows gcc build
|
|
7ac46a74
|
2017-12-11T11:34:53
|
|
The newer compilers generate the property boilerplate automatically
|
|
358e4d9c
|
2017-12-11T11:02:51
|
|
Fixed Mac OS X build
|
|
ab06f570
|
2017-12-10T09:17:33
|
|
Workaround for bug 3931 - spurious SDL_MOUSEMOTION events with SDL_HINT_MOUSE_RELATIVE_MODE_WARP 1 since Windows 10 Fall Creators update
Elis?e Maurer
The attached minimal program sets the SDL_HINT_MOUSE_RELATIVE_MODE_WARP to 1, enables relative mouse mode then logs all SDL_MOUSEMOTION xrel values as they happen.
When moving the mouse exclusively to the right:
* On a Windows 10 installation before Fall Creators update (for instance, Version 10.0.15063 Build 15063), only positive values are reported, as expected
* On a Windows 10 installation after Fall Creators update (for instance, Version 10.0.16299 Update 16299), a mix of positive and negative values are reported.
3 different people have reproduced this bug and have confirmed it started to happen after the Fall Creators update was installed. It happens with SDL 2.0.7 as well as latest default branch as of today.
It seems like some obscure (maybe unintended) Windows behavior change? Haven't been able to pin it down more yet.
(To force-upgrade a Windows installation to the Fall Creators update, you can use the update assistant at https://www.microsoft.com/en-us/software-download/windows10)
Eric Wasylishen
Broken GetCursorPos / SetCursorPos based games on Win 10 fall creators are not limited to SDL.. I just tested winquake.exe (original 1997 exe) and it now has "jumps" in the mouse input if you try to look around in a circle. It uses GetCursorPos/SetCursorPos by default. Switching WinQuake to use directinput (-dinput flag) seems to get rid of the jumps.
Daniel Gibson
A friend tested on Win10 1607 (which is before the Fall Creators Update) and the the bug doesn't occur there, so the regression that SetCursorPos() doesn't reliably generate mouse events was indeed introduced with that update.
I even reproduced it in a minimal WinAPI-only application (https://gist.github.com/DanielGibson/b5b033c67b9137f0280af9fc53352c68), the weird thing is that if you don't do anything each "frame" (i.e. the mainloop only polls the events and does nothing else), there are a lot of mouse events with the coordinates you passed to SetCursorPos(), but when sleeping for 10ms in each iteration of the mainloop, those events basically don't happen anymore. Which is bad, because in games the each iteration of the mainloop usually takes 16ms..
I have a patch now that I find acceptable.
It checks for the windows version with RtlGetVersion() (https://msdn.microsoft.com/en-us/library/windows/hardware/ff561910.aspx) and only if it's >= Win10 build 16299, enables the workaround.
All code is in video/windows/SDL_windowsevents.c
and the workaround is, that for each WM_MOUSEMOVE event, "if(isWin10FCUorNewer && mouseID != SDL_TOUCH_MOUSEID && mouse->relative_mode_warp)", an addition mouse move event is generated with the coordinates of the center of the screen
(SDL_SendMouseMotion(data->window, mouseID, 0, center_x, center_y);) - which is exactly what would happen if windows generated those reliably itself.
This will cause SDL_PrivateSendMouseMotion() to set mouse->last_x = center_x; and mouse->last_y = center_y; so the next mouse relative mouse event will be calculated correctly.
If Microsoft ever fixes this bug, the IsWin10FCUorNewer() function would have to
be adjusted to also check for a maximum version, so the workaround is then disabled again.
|
|
baae74c8
|
2017-12-10T09:10:02
|
|
Added SDL_WinRTGetDeviceFamily() to find out what type of device your application is running on (thanks Daniel Knobe!)
|
|
3ae97689
|
2017-12-10T09:09:27
|
|
Added the Metal framework to several iOS tests
|
|
c2cc9c16
|
2017-12-09T19:48:38
|
|
Backed out using pixel texture coordinates, it had weird visual side effects
|
|
8aad4923
|
2017-12-09T19:41:08
|
|
Fixed normalized coordinates when the viewport is set
|
|
441d3095
|
2017-12-09T15:00:41
|
|
Added support for linear sampling and pixel coordinates in the metal renderer
|
|
1c43705b
|
2017-12-09T13:05:56
|
|
Fixed compiler warning
|
|
f55c9988
|
2017-12-09T12:58:41
|
|
Fixed pixel positioning and size for the Metal renderer
|
|
7dac177c
|
2017-12-09T03:28:23
|
|
metal: fixed render target support.
|
|
85d12d8f
|
2017-12-09T03:27:52
|
|
metal: Added some comments and FIXMEs.
|
|
dbce1341
|
2017-12-09T03:24:01
|
|
audio: fixed typo in Doxygen comment.
|
|
bcf1e622
|
2017-12-08T16:12:53
|
|
Removed duplicate entry for SDL_wasapi.h
|
|
686fc093
|
2017-12-08T18:26:26
|
|
metal: Cleaned up some reference count politics.
|
|
7cb8b50a
|
2017-12-08T17:43:57
|
|
hints: Add "metal" to the list of SDL_RENDER_DRIVER hints.
|
|
cf3d4503
|
2017-12-08T14:30:10
|
|
Added SDL_RenderGetMetalLayer() and SDL_RenderGetMetalCommandEncoder()
|
|
c403c0fa
|
2017-12-08T13:20:20
|
|
Fixed Metal renderer memory leak
|
|
b733dcc2
|
2017-12-08T12:02:23
|
|
Minor cleanup
|
|
5182c23c
|
2017-12-08T11:35:19
|
|
Fixed minor memory leak in the Metal renderer
|
|
cac4e312
|
2017-12-08T11:34:32
|
|
Added check for failure of D3D_ActivateRenderer()
|
|
127841f3
|
2017-12-08T11:33:27
|
|
Fixed compiler warning
|
|
1a1cd8c1
|
2017-12-08T11:09:05
|
|
Fixed bug 1878 - Scaled texture draws with filtering produce wrapping artifacts.
Yuri K. Schlesner
When using texture filtering, there are filtering artifacts visible on the edges of scaled textures, where the texture filtering pulls in texels from the other side of the texture. Using clamping texture modes wouldn't completely fix this since source rectangles don't need to cover the whole texture. (See screenshot attached in next post.)
The opengl driver uses clamping on textures and so avoid this at least in the cases where the source rect is the whole texture. The direct3d driver does not and so has problems in every case. I'm not sure if it can actually completely be fixed, but at least enabling clamping for direct3d would be one step in the right direction.
|
|
81a33985
|
2017-12-08T14:03:36
|
|
metal: Don't check if Metal is available if targeting modern macOS versions.
|
|
dc04f290
|
2017-12-08T08:58:02
|
|
Defer getting the next drawable until we actually start rendering
This works better for games where there may be a bunch of simulation logic that needs to be run before the next rendering pass, and prevents blocking if the next drawable is busy.
|
|
74729638
|
2017-12-08T00:49:35
|
|
configure: List Metal in video drivers.
|
|
104decd1
|
2017-12-07T18:08:51
|
|
Fixed runtime errors on iOS
|
|
ba9c336e
|
2017-12-07T17:47:01
|
|
Fixed building for simulators or older iOS SDKs
|
|
6deb1e75
|
2017-12-07T17:12:03
|
|
Fixed compiling Metal renderer on iOS
|
|
1ae73a2b
|
2017-12-07T16:08:47
|
|
Added iOS and OSX versions of the Metal shaders
|
|
b2859af6
|
2017-12-07T16:08:09
|
|
Enable building the Metal renderer by default, and weak link the Metal framework so the SDL library is safe to use on older Macs
Also generate iOS versions of the Metal shaders
|
|
cadf3e44
|
2017-12-07T09:35:28
|
|
The Metal view is a full SDL_uikitview to support multi-touch
|
|
ef6e629d
|
2017-12-06T16:37:55
|
|
cocoa: Added two missing files from hg changeset da7ba330ec68.
Fixes Bugzilla #3975.
|
|
083fe066
|
2017-12-06T13:48:51
|
|
winrt: Patched to compile on Ryan's workstation. :)
I'm not sure why I needed this, but it appears to fix the build on VS2015 here.
|
|
351d6d47
|
2017-12-06T12:24:32
|
|
audio: Port WASAPI to WinRT, remove XAudio2 backend.
XAudio2 doesn't have capture support, so WASAPI was to replace it; the holdout
was WinRT, which still needed it as its primary audio target until the WASAPI
code code be made to work.
The support matrix now looks like:
WinXP: directsound by default, winmm as a fallback for buggy drivers.
Vista+: WASAPI (directsound and winmm as fallbacks for debugging).
WinRT: WASAPI
|
|
47506fe1
|
2017-12-04T20:37:01
|
|
Fixed bug 3974 - Fix SDL_WarpMouseInWindow on both KMSDRM and RaspberryPi drivers
Manuel Alfayate Corchete
This patch fixes SDL_WarpMouseInWindow() in both the KMSDRM and Raspberry Pi graphic backends.
|
|
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.
|
|
7914725b
|
2017-12-04T20:26:09
|
|
Removed spurious debug output
|
|
14452e95
|
2017-12-04T20:21:52
|
|
Fixed typos (thanks Martin!)
|
|
5a735da9
|
2017-12-04T19:28:03
|
|
Fixed SDL_Log not working on windows if the output is being redirected.
|