Skip to content

Conversation

@jayschwa
Copy link

No description provided.

slouken and others added 30 commits June 29, 2024 11:13
(cherry picked from commit a04596c)
Previously, each backend would allocate and free the renderer struct. Now
the higher level does it, so the backends only manage their private resources.

This removes some boilerplate and avoids some potential accidents.

(Manually cherry-picked from 39c8434)

Reference Issue libsdl-org#10174.
This allows apps to destroy the window and renderer in either order, but
makes sure that the renderer can properly clean up its resources while OpenGL
contexts and libraries are still loaded, etc.

If the window is destroyed first, the renderer is (mostly) destroyed but its
pointer remains valid. Attempts to use the renderer will return an error,
but it can still be explicitly destroyed, at which time the struct is free'd.

If the renderer is destroyed first, everything works as before, and a new
renderer can still be created on the existing window.

Fixes libsdl-org#10174.

(cherry picked from commit cab3def)
…thoutFreeing."

This reverts commit 9f8dffb.

This causes some tests to fail, and wasn't otherwise a necessary change, so
I'm backing it out.

(Looks like some sort of interaction with software renderers and their
surfaces not getting destroyed...?)

(cherry picked from commit f9a06c2)
…SDL_HINT_RENDER_DRIVER is "software"

This case is properly handled inside SDL_CreateWindowTexture()

Fixes libsdl-org#10155

(cherry picked from commit c7ed78a)
Add a loop around SDL_hid_read() in the Steam Deck HIDAPI driver as it
is done in other HIDAPI drivers. This loop reads data from the device and
processes it until the input buffer is empty which ensures that clients
always get the latest data.

This fixes an input latency issue if the application polls the events
slower than the hardware generates them.
This commit fixes the attribute list in the WGL and GLX code when requesting a floating point pixel format. The name of the attribute was missing in the list.

Fixes libsdl-org#10189

(cherry picked from commit 9389712)
Viewports decouple the buffer from the window size and avoids the window geometry hacks used to prevent problems if a buffer with an old size in the pipeline ends up being committed.

Fixes an invalid geometry warning and incorrect overview size for fullscreen windows on GNOME, and avoids flicker when entering/exiting fullscreen or moving the window between scaled and non-scaled displays.
This reverts commit 026dfc6.

Fixed build again!
(cherry picked from commit 9548bba)
This prevents race conditions and divide by zero if multiple threads start using the time functions simultaneously.
SDLWikiBot and others added 28 commits January 11, 2025 16:25
[sdl-ci-filter netbsd]
[sdl-ci-filter freebsd]
(cherry picked from commit db97da4)
Also slightly changes up the cleanup code for SetupWindowData, to avoid copy pasting.

See libsdl-org#10611
Provious code wrongly assumed that direction is not an important part
of conditional effect. Moreover, if there's need to hardcode polar
direction, the default should be 0x4000 (north).

For one axis affects, a direction of 0 means complete lack of force, if
a FFB-enabled device takes direction into force calculation. A sine function
graph can be used to represent the resulting forces where X is the input
direction and Y is the force multiplier (360 degrees equals to 1).

This fixes conditional effect playback on Moza Racing devices, which do
not ignore direction field.
Uses proper polar direction of 90 degrees. Previous value probably came from mistakenly using spherical system default.
(cherry picked from commit 98c4478)
(cherry picked from commit 18ecd2c)
The sandbox guarantees that this will be true.

Fixes libsdl-org#12108

(backported from from commit 1c7cc60)
Sometimes we'll get a Windows.Gaming.Input callback before the raw input device is even in the list, so try some other methods to better detect XInput devices.
Newer versions of Proton properly pass through the Steam virtual gamepad VID/PID, but older Proton (9.x and older) don't, so we have to rely on Steam and Proton hiding controllers we shouldn't have access to.

Fixes libsdl-org#12106
…allocator.

Use platform-specific code instead, so SDL's allocator never comes into play.
@jayschwa jayschwa merged commit 9a5e26a into allyourcodebase:main Feb 19, 2025
6 checks passed
@jayschwa jayschwa deleted the aycb-2.32.0 branch February 19, 2025 20:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.