Ryan C. Gordon
be8ef94f18
hidapi: Don't run a separate event loop for device notifications.
...
Fixes Bugzilla #4286 .
2018-10-26 14:43:39 -04:00
Sam Lantinga
91da4963d3
Added patch note for SDL_GameControllerGetPlayerIndex() and friends
2018-10-26 09:49:27 -07:00
Sam Lantinga
b08bdc4401
Don't build SDL_JOYSTICK_HIDAPI by default on iOS
...
If you enable this, you'll need to link with CoreBluetooth.framework and add something like this to your Info.plist:
<key>NSBluetoothPeripheralUsageDescription</key>
<string>MyApp would like to remain connected to nearby bluetooth Game Controllers and Game Pads even when you're not using the app.</string>
2018-10-26 09:27:31 -07:00
Sam Lantinga
14329256cb
Generalized the XInput user index into a player index
2018-10-25 16:53:14 -07:00
Sam Lantinga
545febcf21
Fixed initializing XInput user index
2018-10-25 13:22:34 -07:00
Sam Lantinga
9987ca69f3
Added SDL_JoystickGetXInputUserIndex()
2018-10-25 12:54:42 -07:00
Sam Lantinga
4d4e18c4bb
Added vi style for the Emscripten joystick code
2018-10-25 12:54:39 -07:00
Ozkan Sezer
04761d7d6b
CMakeLists.txt: set dylib version numbers properly. (bug #2915.)
2018-10-25 11:11:02 +03:00
Sam Lantinga
b699ddc0a9
Fixed reinitializing the SDL joystick subsystem on Android
2018-10-23 12:40:25 -07:00
Ozkan Sezer
f0549cc9c9
fix permissions
2018-10-23 09:10:02 +03:00
Sam Lantinga
d7fa11204f
Change our fullscreen wait logic to only wait if we need to. (thanks Rachel!)
2018-10-22 14:55:47 -07:00
Sam Lantinga
e6068b5b15
Handle failure to load hidapi gracefully
2018-10-22 14:55:45 -07:00
Sam Lantinga
c4918db580
Add exception handling to Android hidapi.
2018-10-22 14:55:42 -07:00
Ryan C. Gordon
4a50a04213
wasapi/win32: Sort initial device lists by device GUID.
...
This makes an unchanged set of hardware always report devices in the same
order on each run.
2018-10-21 22:40:17 -04:00
Ryan C. Gordon
1ec56f7302
x11: Fixed incorrect function signature for XkbSetDetectableAutoRepeat.
...
It needs to use Bool (which is an int) and not BOOL (which is CARD8), which
causes problems on platforms with different byte order and alignment, etc.
Fixes Bugzilla #4326 .
2018-10-20 21:35:48 -04:00
Ryan C. Gordon
1fb20f0ab9
cocoa: Put a mutex around GL_SwapBuffers.
...
Prevents deadlock when swapping two different GL contexts on two different
threads at the same time on macOS 10.14 ("Mojave").
Fixes Bugzilla #4278 .
2018-10-18 23:38:27 -04:00
Ryan C. Gordon
cad0a2f730
cocoa: Fix OpenGL rendering on macOS 10.14 ("Mojave").
...
Fixes Bugzilla #4272 .
(transplanted from 54729119b348e8a4a916192d1d6cb8d115656255)
2018-10-18 12:05:05 -04:00
Ryan C. Gordon
072e17bf98
cocoa: GL_GetDrawableSize only uses -[NSView convertRectToBacking] for highDPI.
...
On Mojave, this will report large numbers for retina displays in fullscreen
mode, which isn't how it works on previous versions.
(transplanted from c6c1731780e2bef94f944a4795e2dfbba46d9500)
2018-10-18 11:59:48 -04:00
Ryan C. Gordon
b262b0ebc9
Small stack allocations fall back to malloc if they're unexpectedly large.
2018-10-22 20:50:32 -04:00
Ryan C. Gordon
eedf2c965d
opengles2: Fixed several incorrect things.
2018-10-06 17:08:04 -04:00
Ryan C. Gordon
6ecd0b2c35
opengles2: removed useless memcpy.
2018-10-04 21:10:42 -04:00
Ryan C. Gordon
ef3d970ace
opengles2: Fixed incorrect cliprect state.
2018-10-04 20:22:28 -04:00
Ryan C. Gordon
208c4b0361
metal: CopyEx transform matrix must be aligned for constant buffer access.
2018-10-04 20:21:58 -04:00
Ryan C. Gordon
638d624f5a
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.)
2018-10-04 20:21:23 -04:00
Ryan C. Gordon
1ecf4dfc5f
render: Added SDL_RenderFlush().
2018-10-04 16:34:44 -04:00
Ryan C. Gordon
09140bd8bc
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. :)
2018-10-04 16:11:43 -04:00
Ryan C. Gordon
9fedff997b
render: moved software renderer to new interface.
2018-10-03 23:37:29 -04:00
Ryan C. Gordon
bd08a4e6b1
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.
2018-10-03 19:05:20 -04:00
Ryan C. Gordon
a9094a21a8
render: D3D11 renderer patched to compile.
2018-10-03 18:23:53 -04:00
Ryan C. Gordon
6e6f7382a7
render: first (untested!) shot at converting D3D11 renderer to new interfaces.
...
Probably doesn't even compile yet.
2018-10-03 00:52:37 -04:00
Ryan C. Gordon
0c2e10dce4
render: Make the GL backends cache and defer more state changes.
2018-10-01 22:53:45 -04:00
Ryan C. Gordon
fcb4681336
render: D3D9 doesn't need to check for stream offset support anymore.
...
We don't use offsets at all now. Too slow.
2018-10-01 13:41:15 -04:00
Ryan C. Gordon
709f5ee417
render: Set the D3D9 stream source once and choose offsets during draw calls.
...
This is _much_ faster than setting the offsets with SetStreamSource!
2018-10-01 11:32:08 -04:00
Ryan C. Gordon
9870746bd9
render: Patched to compile.
2018-10-01 03:02:54 -04:00
Ryan C. Gordon
5e644cfdfb
render: first shot at moving Direct3D 9 backend to new interface. Untested!
2018-10-01 01:23:02 -04:00
Ryan C. Gordon
fdc52a65dd
render: patched to compile on C89 compilers, other untested code fixes.
2018-09-29 04:00:38 +00:00
Ryan C. Gordon
daad53af13
opengles1: set some non-zero drawstate defaults.
2018-09-28 19:48:14 -04:00
Ryan C. Gordon
c20a858da5
render: moved opengles2 over to new interface.
2018-09-28 19:47:44 -04:00
Ryan C. Gordon
22475bf3f0
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)
2018-09-26 20:10:32 -04:00
Ryan C. Gordon
0d588cc4c9
render: Do state cache improvements for GLES1, too.
2018-09-25 21:35:09 -04:00
Ryan C. Gordon
d04e55240e
render: OpenGL renderer now caches some state, to improve non-batching mode.
...
(other minor bug fixes in here, too)
2018-09-25 19:20:31 -04:00
Ryan C. Gordon
06461bba73
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.
2018-09-25 17:04:47 -04:00
Ryan C. Gordon
43f15e05dd
render: opengles renderer actually works now. :)
2018-09-25 16:17:10 -04:00
Ryan C. Gordon
b2db99cb9f
render: First shot at converting opengles renderer to new interfaces.
2018-09-25 10:41:25 -04:00
Ryan C. Gordon
c01da21756
render: get rid of the predeclared functions in the GL and Metal renderers.
...
(others to come as I continue to update render backends!)
2018-09-24 12:30:47 -04:00
Ryan C. Gordon
051d1cfcd1
render: Make opengl backend take advantage of new high-level features.
2018-09-24 02:08:34 -04:00
Ryan C. Gordon
8ac5c00a43
render: Add command queue debug logging.
2018-09-24 02:07:35 -04:00
Ryan C. Gordon
2241b33f55
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.
2018-09-23 23:22:56 -04:00
Ryan C. Gordon
cc56de44a4
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).
2018-09-23 23:20:40 -04:00
Ryan C. Gordon
8955fb9b31
render: First shot at moving metal backend over to new batching system.
2018-09-20 16:40:04 -04:00