Log

Author Commit Date CI Message
Ryan C. Gordon 208c4b03 2018-10-04T20:21:58 metal: CopyEx transform matrix must be aligned for constant buffer access.
Ryan C. Gordon 638d624f 2018-10-04T20:21:23 metal: Don't try to create a zero-byte vertex buffer. (Which will cause a crash in Metal, or an assert in the validation layer.)
Ryan C. Gordon 1ecf4dfc 2018-10-04T16:34:44 render: Added SDL_RenderFlush().
Ryan C. Gordon 09140bd8 2018-10-04T16:11:43 render: Move PSP backend to new interface. I have no idea if this works (or if it ever worked, having now examined this code), as I have no way to compile or test this. If it's broken, send patches. :)
Ryan C. Gordon 9fedff99 2018-10-03T23:37:29 render: moved software renderer to new interface.
Ryan C. Gordon bd08a4e6 2018-10-03T19:05:20 render: D3D11 now cycles through 8 vertex buffers. This means it doesn't have to block while the current frame finishes using the vertex buffer; it just moves on to the next, probably-not-in-use buffer.
Ryan C. Gordon a9094a21 2018-10-03T18:23:53 render: D3D11 renderer patched to compile.
Ryan C. Gordon 6e6f7382 2018-10-03T00:52:37 render: first (untested!) shot at converting D3D11 renderer to new interfaces. Probably doesn't even compile yet.
Ryan C. Gordon 0c2e10dc 2018-10-01T22:53:45 render: Make the GL backends cache and defer more state changes.
Ryan C. Gordon fcb46813 2018-10-01T13:41:15 render: D3D9 doesn't need to check for stream offset support anymore. We don't use offsets at all now. Too slow.
Ryan C. Gordon 709f5ee4 2018-10-01T11:32:08 render: Set the D3D9 stream source once and choose offsets during draw calls. This is _much_ faster than setting the offsets with SetStreamSource!
Ryan C. Gordon 9870746b 2018-10-01T03:02:54 render: Patched to compile.
Ryan C. Gordon 5e644cfd 2018-10-01T01:23:02 render: first shot at moving Direct3D 9 backend to new interface. Untested!
Ryan C. Gordon fdc52a65 2018-09-29T04:00:38 render: patched to compile on C89 compilers, other untested code fixes.
Ryan C. Gordon daad53af 2018-09-28T19:48:14 opengles1: set some non-zero drawstate defaults.
Ryan C. Gordon c20a858d 2018-09-28T19:47:44 render: moved opengles2 over to new interface.
Ryan C. Gordon 22475bf3 2018-09-26T20:10:32 cocoa: Force an OpenGL context update when the window becomes key. Fixes missing rendering on macOS 10.14 ("Mojave"). Fixes Bugzilla #4272. (transplanted from aee4797c84ef90464e270b1f6095a6dd7ce280c1)
Ryan C. Gordon 0d588cc4 2018-09-25T21:35:09 render: Do state cache improvements for GLES1, too.
Ryan C. Gordon d04e5524 2018-09-25T19:20:31 render: OpenGL renderer now caches some state, to improve non-batching mode. (other minor bug fixes in here, too)
Ryan C. Gordon 06461bba 2018-09-25T17:04:47 render: Move non-batching flushes to different place. This lets us batch up a few commands that are all related to the same API call.
Ryan C. Gordon 43f15e05 2018-09-25T16:17:10 render: opengles renderer actually works now. :)
Ryan C. Gordon 7ed7cb5e 2018-09-25T10:45:37 Created SDL-ryan-batching-renderer branch for the WIP renderer rewrite.
Ryan C. Gordon b2db99cb 2018-09-25T10:41:25 render: First shot at converting opengles renderer to new interfaces.
Ryan C. Gordon c01da217 2018-09-24T12:30:47 render: get rid of the predeclared functions in the GL and Metal renderers. (others to come as I continue to update render backends!)
Ryan C. Gordon 051d1cfc 2018-09-24T02:08:34 render: Make opengl backend take advantage of new high-level features.
Ryan C. Gordon 8ac5c00a 2018-09-24T02:07:35 render: Add command queue debug logging.
Ryan C. Gordon 2241b33f 2018-09-23T23:22:56 render: Update Metal and GL backends to use new high-level features, etc. Now nothing is uploaded as dynamic data with Metal's setVertexBytes, etc; it's all in the one big vertex buffer, now.
Ryan C. Gordon cc56de44 2018-09-23T23:20:40 render: A bunch of high-level improvements. - high-level filters out duplicate render commands from the queue so backends don't have to. - Setting draw color is now a render command, so backends can put color information into the vertex buffer to upload with everything else instead of setting it with slower dynamic data later. - backends can request that they always batch, even for legacy programs, since the lowlevel API can deal with it (Metal, and eventually Vulkan and such...) - high-level makes sure the queue has at least one setdrawcolor and setviewport command before any draw calls, so the backends don't ever have to manage cases where this hasn't been explicitly set yet. - backends allocating vertex buffer space can specify alignment, and the high-level will keep track of gaps in the buffer between the last used positions and the aligned data that can be used for later allocations (Metal and such need to specify some constant data on 256 byte boundaries, but we don't want to waste all that space we had to skip to meet alignment requirements).
Ryan C. Gordon 8955fb9b 2018-09-20T16:40:04 render: First shot at moving metal backend over to new batching system.
Ryan C. Gordon 55cb9966 2018-09-20T16:36:54 render: first shot at reworking opengl backend for new batching system.
Ryan C. Gordon 5fb67f9f 2018-09-20T15:46:02 render: Move to a batching system for rendering (work in progress).
Ryan C. Gordon e0cc19f2 2018-09-20T15:41:57 testsprite2: report average FPS in blocks of five seconds. This makes the reporting more accurate, vs startup inefficiencies and other scheduling burps.
Ryan C. Gordon a2f7af9a 2018-09-09T15:09:38 gles2: Make render command queue dynamic. It now uses a growable linked list that keeps a pool of allocated items for reuse, and reallocs the vertex array as necessary. Testsprite2 can scale to 20,000 (or more!) draws now without drama.
Ryan C. Gordon 0d327529 2018-09-08T18:26:11 gles2: Major renderer optimization. Work in progress! This moves all the rendering to a command list that is flushed to the GL as necessary, making most common activities upload a single vertex buffer per frame and dramatically reducing state changes. In pathological cases, like Emscripten running on iOS's Safari, performance can go from a dozen draw calls killing your performance to 1000 draw calls running smoothly. This is work in progress, and not ready to ship. Among other things, it has a hardcoded array that isn't checked for overflow. But the basic idea is sound!
Ryan C. Gordon 264b81b4 2018-09-06T00:56:13 metal: Make sure layer drawableSize is adjusted on resize. Fixes Bugzilla #4250.
Ryan C. Gordon 0cf1ae9d 2018-09-05T21:24:13 Fixed a comment typo.
Sam Lantinga a0b3dcc2 2018-09-05T15:54:46 Fixed bug 4002 - Android, nativeRunMain() fails on some phone with arm64-v8a Sylvain The issue is totally reproducible on P8 Lite. "The dlopen() call doesn't include the app's native library directory. The behavior of dlopen() by Android is not guaranteed". Workaround in getMainSharedObject() Just replace return library; with return getContext().getApplicationInfo().nativeLibraryDir + "/" + library;
Sam Lantinga 80021c21 2018-09-05T15:28:06 Speculatively disable rumble on the Razer Panthera Evo, which doesn't have rumble motors and probably hangs in the same way the Panthera does.
Sam Lantinga e987bedf 2018-09-05T13:04:50 Updated Xcode library version to match libtool output with Ozkan's change
Sam Lantinga 96259f1f 2018-09-05T12:16:01 Don't overwrite the default binding when changing the binding for a controller that was using the default.
Sam Lantinga 963e74d6 2018-09-05T11:24:23 Added binding for Mad Catz FightStick TE S+ (PS3) on Mac OS X
Sam Lantinga c152e380 2018-09-05T11:18:50 Added support for the Razer Panthera Fightstick Fixed bindings for the Mad Catz FightStick TE S+
Ozkan Sezer 9753b9cc 2018-09-02T23:57:06 CMakeLists.txt: fix typo SDL_SENSORS_DISABLED -> SDL_SENSOR_DISABLED
Ryan C. Gordon aae29c9e 2018-09-02T00:35:11 test: Makefile should copy .dat files for testoverlay2.
Ryan C. Gordon 3634e563 2018-09-01T20:47:12 metal: SDL_UpdateYUVTexture shouldn't swap planes based on format.
Sam Lantinga 34237b80 2018-08-31T18:10:21 Better fix to make sure we're only returning controllers from the HIDAPI joystick API
Sam Lantinga 4ffcd88c 2018-08-31T17:47:34 Removed VID/PID 0x1532/0x0037, which was listed in the Linux kernel as a Razer Sabertooth, because at least one variant of the Razer DeathAdder mouse shows up with this VID/PID.
Ozkan Sezer faf8f8b8 2018-08-30T12:50:10 fix permissions
Sam Lantinga 5ef8eb49 2018-08-29T20:55:02 Don't show the Razer Raiju sound interface as a game controller
Sam Lantinga 90a5607d 2018-08-29T20:23:42 Fixed compiler warning and use higher precision in angle calculation
Sam Lantinga 207428b4 2018-08-29T20:23:39 Don't rumble Bluetooth PS4 controllers by default, as that switches the controller into extended input report mode, which breaks games that use DirectInput.
Sam Lantinga 16ccff3c 2018-08-29T20:23:36 Fixed whitespace
Sam Lantinga fda14741 2018-08-29T18:56:54 Fixed Xbox One S Bluetooth support on Mac OS X
Ozkan Sezer b6aaefc7 2018-08-29T11:04:02 SDL_evdev.c: undefine _THIS before redefining it. src/core/linux/SDL_evdev.c:104:1: warning: "_THIS" redefined In file included from src/core/linux/../../events/SDL_events_c.h:26, from src/core/linux/SDL_evdev.c:45: src/core/linux/../../events/../video/SDL_sysvideo.h:146:1: warning: this is the location of the previous definition
Sam Lantinga 92396f7d 2018-08-28T16:19:31 Fixed Windows build
Sam Lantinga 404ba5ee 2018-08-28T13:37:11 Fixed bug 4229 - Add support for ABGR format in DirectFB renderer Alexandre DirectFB supports 32-bit ABGR pixel format via DSPF_ABGR, but SDL doesn't map SDL_PIXELFORMAT_ABGR8888 to DSPF_ABGR. A patch is attached and should add support for ABGR pixel format devices.
Andreas M?ller 87bc1fb5 2018-08-28T12:57:51 GLES2: Get sin/cos out of vertex shader The only place angle is activated and causes effect is RenderCopyEx. All other methods which use vertex shader, leave angle disabled and cause useless sin/cos calculation in shader. To get around shader's interface is changed to a vector that contains results of sin and cos. To behave properly when disabled, cos value is set with offset -1.0 making 0.0 default when deactivated. As nice side effect it simplifies GLES2_UpdateVertexBuffer: All attributes are vectors now. Additional background: * On RaspberryPi it gives a performace win for operations. Tested with [1] numbers go down for 5-10% (not easy to estimate due to huge variation). * SDL_RenderCopyEx was tested with [2] * It works around left rotated display caused by low accuracy sin implemetation in RaspberryPi/VC4 [3] [1] https://github.com/schnitzeltony/sdl2box [2] https://github.com/schnitzeltony/sdl2rendercopyex [3] https://github.com/anholt/mesa/issues/110 Signed-off-by: Andreas M?ller <schnitzeltony@gmail.com>
Sam Lantinga 044b00dc 2018-08-27T11:51:05 Fixed the DirectFB renderer not being enabled in autoconf builds
Sam Lantinga a1ca8441 2018-08-26T20:37:23 Update the cursor clipping each frame, in case it was stolen by another application.
Sam Lantinga 15b3794f 2018-08-26T10:34:23 Only reset the clip rect if it's currently the rect we previously clipped. This prevents us from clearing the clip rect globally when another application has set it. There's also an experimental change to regularly update the clip rect for a window defensively, in case someone else has reset it. It works well, but I don't know if it's cheap enough to call as frequently as it would be called now, and might have other undesirable side effects. Also fixed whitespace and SDL coding style
Sam Lantinga 09ab752a 2018-08-24T10:41:57 Implement SDL_HapticStopEffect on Android (thanks Rachel!)
Jeremy Ong a794126d 2018-08-24T09:49:48 vulkan: SDL_Vulkan_GetInstanceExtensions should accept a NULL window. Fixes Bugzilla #4235.
Sam Lantinga a003fa0a 2018-08-23T14:05:25 Implemented SDL_GetDisplayOrientation() on Android (thanks Rachel!)
Ryan C. Gordon df5d565f 2018-08-23T14:32:30 cmake: add sensor subsystem to the build.
Sam Lantinga 8adadf8f 2018-08-23T10:51:54 Added documentation for additional Android sensors
Sam Lantinga de5367a6 2018-08-23T02:48:47 Added display event files to the Visual Studio projects
Sam Lantinga 5901fe46 2018-08-23T02:24:31 Added display event files to the Mac OS X project
Sam Lantinga 50d50025 2018-08-23T02:21:17 Fixed build
Sam Lantinga 088070e5 2018-08-22T23:47:29 Moved display orientation handling on iOS out to a separate function for Qt apps
Sam Lantinga f225af0c 2018-08-22T21:48:28 Added SDL_GetDisplayOrientation() to get the display orientation, and added a new event SDL_DISPLAYEVENT to notify the application when the orientation changes. Documented the values returned by the accelerometer and gyroscope sensors
Sam Lantinga f1bc1c12 2018-08-22T17:44:28 Fixed crash trying to open HIDAPI controller as a haptics device on Windows
Sam Lantinga 38ae4988 2018-08-21T20:46:25 Updated required Android SDK to API 26, to match Google's new App Store requirements
Sam Lantinga 7f4860e2 2018-08-21T20:38:22 Doh.. __IPHONEOS__ is defined on tvOS
Sam Lantinga 74e99f74 2018-08-21T20:34:09 Don't use CoreMotion on tvOS
Sam Lantinga b8ae2c18 2018-08-21T20:20:54 Fixed UWP build
Sam Lantinga 6f758ad2 2018-08-21T20:03:54 Moved SDL_IsTablet() to a cross-platform API function
Sam Lantinga e9f6805f 2018-08-21T19:42:19 Removed dependency on C++ runtime on iOS
Sam Lantinga c6647bf9 2018-08-21T17:24:12 Added the iOS sensor implementation
Sam Lantinga bdbc06b0 2018-08-21T16:47:44 Fixed bug 4228 - Clean-up Xcode projects C.W. Betts This cleans up the Xcode project by setting the Xcode groups to the corresponding directories. This also removes the Resources folder in OS X's Products group and adds the CoreBluetooth framework to the iOS tests (this is needed due to the addition of hidapi.
Sam Lantinga c5bcefa7 2018-08-21T13:44:11 Fixed duplicate definition of SDL_JoystickID
Sam Lantinga 7749ee2a 2018-08-21T13:42:44 Added the dummy sensor driver to the Visual Studio projects
Sam Lantinga 3e5dbc69 2018-08-21T13:29:21 Added a dummy sensor driver
Sam Lantinga 7c3040e0 2018-08-21T12:11:34 First pass on the new SDL sensor API
Sam Lantinga c2791fc6 2018-08-21T11:59:13 Don't crash if the app doesn't have Bluetooth permissions
Sam Lantinga 2a4999b4 2018-08-21T11:44:08 By default just build for 32-bit ARM and x86
Sam Lantinga 109544ca 2018-08-21T11:23:47 Add SDL_IsTablet() to Android and iOS SDL.
Sam Lantinga b09b25f6 2018-08-21T11:07:56 Don't crash if the app doesn't have Bluetooth permissions
Sam Lantinga ad1e3c2a 2018-08-21T10:37:26 Fixed Android build error
Sam Lantinga 0d22559e 2018-08-21T10:25:30 Fixed Android build error
Sam Lantinga 5dfa4043 2018-08-20T21:19:17 Fixed warnings building on Mac OS X 64-bit
Sam Lantinga 6b3f11e2 2018-08-20T21:18:56 Fixed code style
Ryan Speets aeea6b9b 2018-08-18T12:30:04 Emscripten: Fixed SDL_SYSTEM_CURSOR_SIZEALL
Ozkan Sezer 90454b1e 2018-08-16T11:01:02 SDL_hidapi_ps4.c: define NTDDI_VISTA / _WIN32_WINNT_VISTA if not defined it still needs a Vista or newer Platform SDK to build, though.
Sam Lantinga 7d3a7ef8 2018-08-15T23:35:54 Use a single hint for both Xbox 360 and Xbox One controllers, since they are often the same driver.
Sam Lantinga a2add1f6 2018-08-15T23:14:45 Use the HIDAPI driver for Xbox controllers on Windows, and determine the XInput mapping at runtime for extended functionality like rumble and guide button.
Sam Lantinga 3f5ff751 2018-08-15T23:14:43 Use a unified name list for Xbox 360 and Xbox One controllers for drivers that can handle both
Sam Lantinga aad340eb 2018-08-15T19:53:36 Added Windows Xbox controller state packet handling, for completeness.
Sam Lantinga 63107524 2018-08-15T19:53:34 Fixed input from the Steam Virtual Gamepad on Mac OS X
Sam Lantinga 0903e835 2018-08-15T19:53:31 Use SDL specific window class to avoid conflicting with Steam
Sam Lantinga c8866658 2018-08-15T19:53:30 Catch device removal as well as device arrival on Windows