Ryan C. Gordon
a7563bcd3d
joystick: Removed unused variable.
2018-12-05 19:03:15 -05:00
Ryan C. Gordon
c7b713714a
Whoops, forgot to add a new source file. :/
2018-12-05 17:53:38 -05:00
Ryan C. Gordon
fbead63540
joystick: Added controller config for IMS Passenger Control Unit Devices.
2018-12-05 16:55:59 -05:00
Ryan C. Gordon
2878d4f80c
egl: Don't force X11 support when testing for EGL.
...
Fixes building Wayland support on embedded systems without X11.
(TODO: maybe move the EGL test out of the X11 tests at some point, too.)
2018-12-05 16:53:15 -05:00
Ryan C. Gordon
1689e9f910
linux: Move SDL_LinuxSetThreadPriority() elsewhere to fix build.
...
Fixes Bugzilla #4393 .
2018-12-05 16:51:22 -05:00
Ryan C. Gordon
bd3ee07c83
wayland: Send SDL_TOUCH_MOUSEID mouse events for touches.
2018-12-05 16:49:38 -05:00
Ryan C. Gordon
cca9d24cde
direct3d: be more aggressive about resetting invalidated cached state.
...
Fixes Bugzilla #4402 .
2018-12-03 09:26:05 -05:00
Ryan C. Gordon
939bf1c4d8
render: fix some static analysis warnings.
2018-12-03 02:06:17 -05:00
Ryan C. Gordon
33f78eb163
direct3d: Make sure streaming textures update before being used for drawing.
...
Fixes Bugzilla #4402 .
2018-12-03 01:58:23 -05:00
Ryan C. Gordon
b744108af8
Patched to compile on C89 compilers.
2018-12-02 21:57:33 -05:00
Ryan C. Gordon
3c9361509b
direct3d: Release and NULL out vertex buffers on reset.
...
Otherwise they are irretrievably lost on window resize, etc, which makes
rendering freeze and other disasters.
Fixes Bugzilla #4358 .
2018-12-02 20:55:57 -05:00
Ryan C. Gordon
d4a21f54b8
cmake: Comment out some debug logging that can upset build environments.
...
Something about the dashes, colons, numbers makes some builders believe this
is an error message.
2018-12-02 02:43:32 -05:00
Ryan C. Gordon
65a7c98c6f
directfb: Updated render backend to new internal API.
...
Totally untested, beyond it now compiles again. Probably needs some fixes.
Fixes Bugzilla #4405 .
2018-12-02 02:33:06 -05:00
Ryan C. Gordon
3323b355c9
android: use cpufeatures to support SDL_HasNEON() (thanks, Sylvain!).
...
Fixes Bugzilla #4406 .
2018-12-01 12:19:11 -05:00
Ryan C. Gordon
1e4acca851
Added some detail to a Doxygen comment (thanks, Sylvain!).
2018-12-01 12:17:34 -05:00
Ryan C. Gordon
fac40f8e4c
Patched to compile on Linux with threads enabled. (whoops!)
2018-12-01 11:14:20 -05:00
Ryan C. Gordon
c4bc59a50e
Patched to compile on Linux with --disable-threads.
...
Fixes Bugzilla #4393 .
2018-12-01 10:36:26 -05:00
Ryan C. Gordon
457e58c40b
opengles: Fixed compiler warnings.
2018-11-17 16:24:52 -05:00
Ryan C. Gordon
fde7592ada
direct3d11: Fixed missing rendering of solid primitives.
...
Fixes Bugzilla #4388 .
2018-11-17 14:39:42 -05:00
Ryan C. Gordon
782f1685ff
Fixed a few compiler warnings.
2018-11-17 14:37:51 -05:00
Ryan C. Gordon
9262c0de9b
software: fix blits with color mods that change during a command queue run.
2018-11-14 22:38:58 -05:00
Ryan C. Gordon
1dbf7dc2f8
os2: Do a distclean instead of removing files manually in buildbot script.
2018-11-04 21:11:07 -05:00
Ryan C. Gordon
e45ed114c5
os2: Added a script for the buildbot.
2018-11-04 20:47:17 -05:00
Ryan C. Gordon
bc57ac27f9
mir: Removed mir client support.
...
Fixes Bugzilla #4288 .
2018-11-02 21:34:17 -04:00
Ryan C. Gordon
4659e73892
merge fallout: Patched to compile, fixed some compiler warnings, etc.
2018-11-01 12:31:45 -04:00
Ryan C. Gordon
62494a2e27
Merge SDL-ryan-batching-renderer branch to default.
2018-10-31 15:03:41 -04:00
Ryan C. Gordon
eb2536c466
Closing SDL-ryan-batching-renderer branch.
2018-10-31 14:50:20 -04:00
Ryan C. Gordon
a5ebd4d775
wayland: ask KDE protocol extension to use server-side decorations if possible.
2018-10-29 10:14:59 -04:00
Ryan C. Gordon
8340b0f0e2
render: Add floating point versions of various draw APIs.
2018-10-23 01:34:03 -04:00
Ryan C. Gordon
e542d1a36d
winmain: Patched to compile on C89 compilers.
2018-10-29 20:18:50 -04:00
Ryan C. Gordon
f434a98c26
winmain: Don't use SDL_malloc (or SDL_stack_alloc, which might be malloc).
...
Otherwise, we are using the allocator before the app can set up its own hooks.
Now we use VirtualAlloc, and WideCharToMultiByte (because SDL_iconv uses
SDL_malloc, too!) to get ready to call into SDL_main.
This also makes console_wmain() call into the same routines as everything
else, so we don't have to deal with those allocations, too. Hopefully we
end up with the same results from GetCommandLine() as we do in wargv.
Fixes Bugzilla #4340 .
2018-10-29 20:00:03 -04:00
Ryan C. Gordon
b43f427fa6
README-ios: added a note about enabling hidapi.
2018-10-29 15:51:38 -04:00
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
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
Ryan C. Gordon
55cb9966db
render: first shot at reworking opengl backend for new batching system.
2018-09-20 16:36:54 -04:00
Ryan C. Gordon
5fb67f9f55
render: Move to a batching system for rendering (work in progress).
2018-09-20 15:46:02 -04:00
Ryan C. Gordon
e0cc19f2d8
testsprite2: report average FPS in blocks of five seconds.
...
This makes the reporting more accurate, vs startup inefficiencies and other
scheduling burps.
2018-09-20 15:41:57 -04:00
Ryan C. Gordon
a2f7af9a47
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.
2018-09-09 15:09:38 -04:00
Ryan C. Gordon
0d3275297d
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!
2018-09-08 18:26:11 -04:00
Ryan C. Gordon
7ed7cb5e65
Created SDL-ryan-batching-renderer branch for the WIP renderer rewrite.
2018-09-25 10:45:37 -04:00
Ryan C. Gordon
264b81b481
metal: Make sure layer drawableSize is adjusted on resize.
...
Fixes Bugzilla #4250 .
2018-09-06 00:56:13 -04:00
Ryan C. Gordon
0cf1ae9d0b
Fixed a comment typo.
2018-09-05 21:24:13 -04:00
Ryan C. Gordon
aae29c9ebd
test: Makefile should copy .dat files for testoverlay2.
2018-09-02 00:35:11 -04:00
Ryan C. Gordon
3634e563c4
metal: SDL_UpdateYUVTexture shouldn't swap planes based on format.
2018-09-01 20:47:12 -04:00
Ryan C. Gordon
df5d565f48
cmake: add sensor subsystem to the build.
2018-08-23 14:32:30 -04:00
Ryan C. Gordon
f677377339
cocoa: Fix OpenGL rendering on macOS 10.14 ("Mojave").
...
Fixes Bugzilla #4272 .
2018-10-18 12:05:05 -04:00
Ryan C. Gordon
eac3fd28d8
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.
2018-10-18 11:59:48 -04:00
Ryan C. Gordon
dae4a01361
x11: Don't hardcode limit on lines of text in message boxes.
...
Plus other text parsing fixes.
Fixes Bugzilla #4306 .
2018-10-15 00:46:43 -04:00
Ryan C. Gordon
acb05f50d8
thread: make SDL_CreateThreadWithStackSize() a public API.
2018-10-11 16:40:01 -04:00
Ryan C. Gordon
04cbf13261
audio: All device names reported by SDL must be unique.
...
This means that if you have two devices named "Soundblaster Pro" in your
machine, one will be reported as "Soundblaster Pro" and the other as
"Soundblaster Pro (2)".
This makes it so you can't into a position where one of your devices can't
be opened because another is sitting on the same name.
2018-10-10 15:20:56 -04:00
Ryan C. Gordon
0378529e1e
audio: clean_out_device_list() already sets this flag to false for us.
2018-10-10 14:55:24 -04:00
Ryan C. Gordon
88b3252555
kmsdrm: find available card if called without index.
...
This work was done by Michael Grzeschik, I just cleaned up the patch a little.
Fixes Bugzilla #4241 .
2018-10-09 00:27:55 -04:00
Ryan C. Gordon
367f9b915c
wayland: Fixed missing window sizing events.
...
Fixes Bugzilla #4242 .
2018-10-05 17:24:03 -04:00
Ryan C. Gordon
93fb710a46
evdev: Don't initialize struct sigaction with "{ 0 }".
...
It causes warnings on some platforms, depending on the actual definition of
sigaction, and since this is static data, it'll be zero'd out anyhow.
2018-10-03 16:54:24 -04:00
Ryan C. Gordon
2dc04b4c11
libm: one more static analysis fix.
2018-08-10 15:22:02 -04:00
Ryan C. Gordon
67a48ad13a
haiku: Patched to compile with new joystick interfaces.
2018-08-10 15:04:08 -04:00
Ryan C. Gordon
e1ac643b32
bsd: Patched to compile.
...
(I think.)
2018-08-10 14:54:26 -04:00
Ryan C. Gordon
67764070f0
bsd: Update joystick code for new interfaces.
...
(this is an untested push to see if buildbot likes it.)
2018-08-10 14:42:40 -04:00
Ryan C. Gordon
b692c35237
emscripten: Patched to compile with new joystick interfaces.
2018-08-10 14:32:30 -04:00
Ryan C. Gordon
941f8ecffd
joystick: define inline to SDL_INLINE
2018-08-10 14:10:47 -04:00
Ryan C. Gordon
0b2863d45e
joystick: #if 0'd out some things that aren't currently used.
...
Fixes some compiler warnings.
2018-08-10 14:09:44 -04:00
Ryan C. Gordon
ba90412cda
libm: Don't let Visual Studio generate an implicit memset() call.
2018-08-08 15:39:20 -04:00
Ryan C. Gordon
4cb84b8f4b
backout INFINITY change...of course Visual Studio doesn't have it.
2018-08-08 12:36:54 -04:00
Ryan C. Gordon
257071fc20
e_exp: One more compiler warning.
2018-08-08 12:19:01 -04:00