Ryan C. Gordon
3abb213083
opengl: Fixed SDL_RENDERCMD_SETDRAWCOLOR code checking the wrong variable.
2024-09-25 23:14:32 -04:00
Ryan C. Gordon
961cd51611
opengl: Removed a FIXME (this is documented as not-thread-safe now.
2024-09-25 23:14:32 -04:00
Anonymous Maarten
76f28ea120
Fix stdlib usage
2024-09-25 23:59:35 +02:00
Ryan C. Gordon
4c48ff51f8
render: SDL_RenderPresent now behaves when a render target is currently set.
...
It'll temporarily unbind it, draw letterboxing if necessary, present, and
then rebind the previous render target.
2024-09-25 16:26:36 -04:00
Ryan C. Gordon
7a6a0becb8
render: Fixed a FIXME for SDL_SetRenderViewport with a negative size.
2024-09-25 16:26:36 -04:00
Ryan C. Gordon
54459def69
render: Remove the logical presentation render target.
...
Now we render directly to the window, scaling as appropriate. This fixes some
concerns the render target introduced, like the quality of the final scaled
output, how to step outside of the logical size temporarily to draw some
things sharply at the native resolution, and loss of sub-pixel precision.
Fixes #8736 .
2024-09-25 16:26:36 -04:00
Ryan C. Gordon
bf7a48cdcc
render/gpu: Change some memcpy calls to SDL_memcpy.
2024-09-25 16:26:36 -04:00
cosmonaut
925e47a077
GPU: Fix backwards LogError and SetError calls
2024-09-25 12:47:40 -07:00
cosmonaut
557c6dfb18
GPU: call SDL_SetError where appropriate
2024-09-25 10:47:14 -07:00
Cameron Gutman
6ec8b1a173
Throttle tickle reports to PS4/PS5 controllers
...
UpdateDevice() can be called at an arbitrary rate, so we need to
pace ourselves to avoid filling up the rumble queue with these.
2024-09-25 07:20:35 -07:00
Anthony
53bf2baac3
Change JNI calls to comply with recent Boolean changes
...
Android OpenURL and Toast methods return Booleans now, so let's use the correct interface.
2024-09-24 14:45:24 -07:00
Frank Praznik
ad3a4c677b
wayland: Clean up cursor scaling
...
Handle named and custom cursor scaling in a cleaner manner, and account for edge cases where named cursor sizes may not exactly match the required size.
2024-09-24 11:46:56 -04:00
Cameron Gutman
57418475ce
kmsdrm: Keep fd around if we can drop master
...
Modern kernels (v5.8+) allow non-root usage of drmDropMaster(), so
we can hold on to our fd after dropping master on it. This fixes
populating drm_fd in the KMSDRM SysWMinfo when using Vulkan.
Also add a missing error check for open() while we're here
2024-09-24 12:55:02 +03:00
Cameron Gutman
13f88df190
kmsdrm: Fix KMSDRM_Vulkan_CreateSurface() return value
2024-09-23 23:33:15 -05:00
Cameron Gutman
8f55f48337
kmsdrm: Move property initialization a bit further down
...
KMSDRM_GBMInit() must be called first to set drm_fd and gbm_dev.
2024-09-23 23:00:14 -05:00
Petar Popovic
004ac40226
Fix warning: no function prototype
2024-09-23 10:03:18 -07:00
Ethan Lee
4a3faf20ac
gpu: Replace high-level logs with SetError
2024-09-23 10:57:10 -04:00
mausimus
0685b96469
GPU: fix build when SDL_GPU_DISABLED is set
2024-09-23 08:09:17 -04:00
Caleb Cornett
97d1056e16
GPU: MSAA fixes ( #10917 )
2024-09-21 17:38:10 -05:00
Evan Hemsley
89c6bc5f50
Prefer Vulkan even on Windows ( #10912 )
2024-09-20 13:42:15 -07:00
Evan Hemsley
980b4ff6db
GPU: Vulkan descriptor management rewrite ( #10910 )
2024-09-20 12:55:39 -07:00
Frank Praznik
fcb8a2c016
wayland: Fix animated cursor timing
...
Adjust the frame timing so it will still advance if the frame callback fires faster than the frame duration.
2024-09-20 14:19:28 -04:00
Sam Lantinga
ea2e2e451d
Better fix for initializing Android environment variables
2024-09-20 11:09:48 -07:00
Sam Lantinga
095fb5f522
Fixed infinite recursion at startup on Android
2024-09-20 10:56:02 -07:00
T3hD0gg
594edb6bd2
Add Thrustmaster TMX VID & PID to wheel device list.
2024-09-18 22:19:54 -07:00
Sam Lantinga
34c6011360
Fixed Windows build
2024-09-18 14:55:51 -07:00
Sam Lantinga
d29a0e3f31
Fixed warning: no previous prototype for function
2024-09-18 14:34:14 -07:00
Sam Lantinga
398dff7c25
Added support for the HORI licensed Steam Controller
2024-09-18 14:08:32 -07:00
Sam Lantinga
481203c074
Fixed Xcode warnings
2024-09-18 13:20:53 -07:00
Sam Lantinga
95c3ee77c1
Removed testing code
2024-09-18 11:12:06 -07:00
Simon McVittie
23f855a970
render: Integrate fix-shaders.sh into build-shaders.sh
...
By writing the fxc and dxc output to a temporary file and then
converting that temporary file to the desired filename, we avoid
the incompatible semantics of sed -i on GNU systems (sed -i does not
create a backup filename, and does not take an argument unless it is
"bundled") and macOS (sed -i requires an argument, possibly empty).
Resolves: https://github.com/libsdl-org/SDL/issues/10878
Signed-off-by: Simon McVittie <smcv@debian.org >
2024-09-18 10:38:59 -07:00
Sam Lantinga
d658ef6627
Don't guess about the size of an int, assert it!
2024-09-18 10:37:11 -07:00
Sam Lantinga
a90ad3b0e2
Removed SDL_bool in favor of plain bool
...
We require stdbool.h in the build environment, so we might as well use the plain bool type.
If your environment doesn't have stdbool.h, this simple replacement will suffice:
typedef signed char bool;
2024-09-18 08:32:30 -07:00
Sam Lantinga
407ccadfd7
Added copyright header to edid.h
2024-09-18 08:18:26 -07:00
Sam Lantinga
bd04459cde
Fix typos (thanks @qndel!)
...
Fix typos in comments and in one case in a returned error ("insuffient -> insufficient" fb273eb )
codespell src/ *.cpp *.h *.hpp --ignore-words-list unknwn,thid,algebric,statics,pixelX,pEvents,caf,ptd,parms,pEvent,parm,TextureRS,TE,HDA,LOD,datas,UE,xwindows,IIF
cd src; git checkout \
events/imKStoUCS.* \
hidapi \
joystick/controller_type.c \
joystick/controller_type.h \
joystick/hidapi/steam/controller_constants.h \
joystick/hidapi/steam/controller_structs.h \
libm \
stdlib/SDL_malloc.c \
stdlib/SDL_qsort.c \
stdlib/SDL_strtokr.c \
video/khronos \
video/x11/edid.h \
video/x11/edid-parse.c \
video/x11/xsettings-client.* \
video/yuv2rgb
2024-09-18 08:18:26 -07:00
Sam Lantinga
03ae792df3
Fixed the recording field in audio device events
...
Fixes https://github.com/libsdl-org/SDL/issues/10885
2024-09-17 11:36:55 -07:00
Sam Lantinga
c68e9e157c
Fixed typo
2024-09-17 10:59:28 -07:00
Sam Lantinga
bc9780299c
Don't define backends if SDL_GPU_DISABLED is set
2024-09-17 09:40:29 -07:00
Sam Lantinga
807b8a9d4d
Allow initializing hints and properties from any thread
2024-09-17 08:53:27 -07:00
Sam Lantinga
d0edf68774
Added Uint32 versions of the atomic functions
2024-09-17 08:53:27 -07:00
Sam Lantinga
8d223b3037
Renamed atomic functions to match SDL 3.0 naming convention
...
This will also allow us to cleanly add atomic operations for other types in the future.
2024-09-17 08:53:27 -07:00
Sam Lantinga
f3e419596b
Removed SDL_INIT_TIMER
...
This is no longer necessary before calling SDL_AddTimer()
2024-09-17 08:53:27 -07:00
Sam Lantinga
9275c533ca
Added thread-safe initialization/cleanup support
...
Also went through and removed inappropriate uses of spinlocks.
Fixes https://github.com/libsdl-org/SDL/issues/10872
2024-09-17 08:53:27 -07:00
Sam Lantinga
7edd43c276
Don't define render_drivers if SDL_RENDER_DISABLED is set
...
Fixes https://github.com/libsdl-org/SDL/issues/10861
2024-09-17 08:46:05 -07:00
Sam Lantinga
98cd8b34a7
Close the other file descriptors after redirection has taken place
...
Fixes https://github.com/libsdl-org/SDL/issues/10868
2024-09-17 07:46:48 -07:00
Simon McVittie
4b3058d58d
render: Don't try to rebuild D3D11, D3D12, Metal shaders without spirv-cross
...
Signed-off-by: Simon McVittie <smcv@debian.org >
2024-09-17 07:43:37 -07:00
Simon McVittie
13500bbf50
render: Fix detection of fxc, dxc in build-shaders.sh
...
We want `$USE_FXC` to default to the result of evaluating the variable
`$HAVE_FXC`, not the literal string `HAVE_FXC`, and the same for dxc.
Signed-off-by: Simon McVittie <smcv@debian.org >
2024-09-17 07:43:37 -07:00
Green Sky
11129761e7
v4l2: return success if the device is ready
2024-09-17 07:41:43 -07:00
Simon McVittie
ab9c68d9ff
pipewire: Always destroy hotplug loop during deinitialization
...
We always need to destroy the hotplug loop and its associated resources
(if created) before we can deinitialize and unload the Pipewire library.
In the happy path where everything worked correctly, this means we will
call hotplug_loop_destroy() twice (once from PIPEWIRE_DeinitializeStart()
and a second time from PIPEWIRE_Deinitialize()), but that's OK, because
it's idempotent and so will do nothing the second time.
In error-handling code paths, this avoids needing to remember to call
hotplug_loop_destroy() explicitly, which should make it easier to avoid
bugs like #10787 .
Signed-off-by: Simon McVittie <smcv@collabora.com >
2024-09-17 07:35:42 -07:00
Sam Lantinga
231ea07617
Added SDL_LogTrace()
2024-09-17 02:04:54 -07:00