src


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 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 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.
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 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+
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.
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 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!)
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 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 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 109544ca 2018-08-21T11:23:47 Add SDL_IsTablet() to Android and iOS SDL.
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
Sam Lantinga 641c674f 2018-08-15T19:53:28 Turned off debug messages
Sam Lantinga 51902010 2018-08-15T19:53:26 Remove the HIDAPI device if we get a read error from it This fixes detecting PS4 controller disconnect on Mac OS X, where there isn't any device removed notification
Sam Lantinga dfbd7f65 2018-08-15T19:53:24 Fixed Mac OS X build
Sam Lantinga ec74c318 2018-08-15T19:53:22 Polling hid_enumerate() every 3 seconds causes freezes and stutters on some USB audio devices and mice. We'll only enumerate devices when we get notification that the system devices have changed
Ryan C. Gordon 2dc04b4c 2018-08-10T15:22:02 libm: one more static analysis fix.
Ryan C. Gordon 67a48ad1 2018-08-10T15:04:08 haiku: Patched to compile with new joystick interfaces.
Ryan C. Gordon e1ac643b 2018-08-10T14:54:26 bsd: Patched to compile. (I think.)
Ryan C. Gordon 67764070 2018-08-10T14:42:40 bsd: Update joystick code for new interfaces. (this is an untested push to see if buildbot likes it.)
Ryan C. Gordon b692c352 2018-08-10T14:32:30 emscripten: Patched to compile with new joystick interfaces.
Ryan C. Gordon 941f8ecf 2018-08-10T14:10:47 joystick: define inline to SDL_INLINE
Ryan C. Gordon 0b2863d4 2018-08-10T14:09:44 joystick: #if 0'd out some things that aren't currently used. Fixes some compiler warnings.
Ozkan Sezer a7c3d2af 2018-08-10T11:50:55 SDL_hidapi_ps4.c: lowercase windows header names.
Sam Lantinga 4f41f07d 2018-08-09T16:05:48 Added missing files from previous commits
Sam Lantinga 31b02243 2018-08-09T16:04:45 Added notes that this code was contributed by Valve
Sam Lantinga 99759bac 2018-08-09T16:04:34 There's no controller that's supported by both XInput and HIDAPI
Sam Lantinga ab07ce11 2018-08-09T16:04:30 Don't update the device list for devices we know aren't supported This should reduce HID enumeration (hitting the USB bus) if for some reason we're getting spammed with false device insert/removal events
Sam Lantinga 28e0c0ee 2018-08-09T16:04:21 Sam Lantinga <slouken@libsdl.org> 2018-08-06 13:00 -0700 Backed out changeset 794a209b2270 http://hg.libsdl.org/SDL/rev/2e2ecdac957c
Sam Lantinga 25a952e7 2018-08-09T16:04:18 Sam Lantinga <slouken@libsdl.org> 2018-08-06 11:58 -0700 Removed mapping for VID/PID 0x0079/0x0006, which is a generic PCB used in many different devices http://hg.libsdl.org/SDL/rev/794a209b2270
Sam Lantinga 888bf1af 2018-08-09T16:03:50 Worked around bug with Sony PS Now PS3 controller where DirectInput polling will continue to return success after the controller is unplugged. The code is now reliant on SDL_PrivateJoystickAdded() and SDL_PrivateJoystickRemoved() being called correctly when devices are added or removed on Windows
Sam Lantinga f35e97ba 2018-08-09T16:03:29 Fixed Windows build
Sam Lantinga d2042e1e 2018-08-09T16:00:17 Added HIDAPI joystick drivers for more consistent support for Xbox, PS4 and Nintendo Switch Pro controller support across platforms. Added SDL_GameControllerRumble() and SDL_JoystickRumble() for simple force feedback outside of the SDL haptics API
Ryan C. Gordon ba90412c 2018-08-08T15:39:20 libm: Don't let Visual Studio generate an implicit memset() call.
Ryan C. Gordon 4cb84b8f 2018-08-08T12:36:54 backout INFINITY change...of course Visual Studio doesn't have it.
Ryan C. Gordon 257071fc 2018-08-08T12:19:01 e_exp: One more compiler warning.