Ethan Lee
ee5c5cf755
render: Add Suspend/Resume calls for GDK support
2026-03-07 11:19:09 -05:00
Void Star Caster
2e3300e872
Functions to bind GPURenderState storage textures, buffers and sampler bindings ( #15150 )
2026-03-02 12:50:58 -08:00
Brenton Bostick
a5889b0e44
make sure #endif comment matches the macro name
2026-02-24 09:48:57 -08:00
Gokul Mittal
8d2b6c09c5
undefine ADD_TRIANGLE macro definition
...
ADD_TRIANGLE macro function in SDL_RenderLines() was never being undefined even after it's purpose was resolved.
2026-02-15 08:37:46 -08:00
RaceTheMaSe
f1a7a64eb4
Fix warnings: Extra semi - macro usage ( #15015 )
2026-02-08 16:58:53 -08:00
Sam Lantinga
fdfcfc0566
Make sure native textures have the same channel precision if possible
...
Fixes https://github.com/libsdl-org/SDL/issues/14882
2026-02-06 09:50:18 -08:00
Sam Lantinga
3f0e0975d8
SDL_CreateGPURenderState() doesn't modify the createinfo parameter
2026-01-17 20:48:30 -08:00
Sam Lantinga
5f086e7623
Updated copyright for 2026
2026-01-01 09:40:08 -08:00
Ryan C. Gordon
b3cdeb942a
opengl: default to vsync=0 everywhere.
...
This reverts commit 3ee29f2e7a , among other
changes. This means getting a scary warning on the javascript console in
Emscripten by default, but this is easily fixed by setting a GL swap
interval at startup or creating a 2D renderer with the appropriate property
(or call to SDL_SetRenderVSync()).
Fixes #14625 .
2025-12-08 15:12:17 -05:00
Sam Lantinga
c61497b744
Account for indexed formats when matching texture formats
...
Fixes https://github.com/libsdl-org/SDL/issues/14569
2025-12-03 21:21:52 -08:00
Sam Lantinga
33c70af2f8
Fixed SDL_COLORSPACE_SRGB_LINEAR being used for RGBA32 textures
2025-11-10 18:30:02 -08:00
Sam Lantinga
524739900a
Fixed potential double-free when creating a renderer (thanks @Sackzement!)
...
Closes https://github.com/libsdl-org/SDL/pull/14371
2025-11-01 11:24:14 -07:00
Sam Lantinga
0ea20a5f86
Fix NULL pointer dereference in SDL_RenderGeometryRaw with NPOT textures (thanks @bleeqer!)
...
Fixes https://github.com/libsdl-org/SDL/issues/14329
Closes https://github.com/libsdl-org/SDL/pull/14331
2025-10-26 08:10:52 -07:00
nmlgc
2ffabb5150
render: Fix texture format selection for color-keyed indexed surfaces
...
015cc6a broke texture format selection for this kind of surface if the
renderer's first texture format doesn't happen to have an alpha
channel. This happens for on-screen software renderers on Windows,
whose preferred format is the window's own `SDL_PIXELFORMAT_XRGB8888`.
This fixed check also cover the intent behind 015cc6a , assuming that
indexed and alpha formats are mutually exclusive.
2025-10-14 21:23:09 -07:00
Sam Lantinga
015cc6aa6c
Fixed accidentally using INDEX8 textures for RGB24 surfaces
2025-10-13 15:27:13 -07:00
Sam Lantinga
d7ad47e2ca
Added SDL_PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN
...
Fixes https://github.com/libsdl-org/SDL/issues/13908
2025-10-12 11:15:47 -07:00
Sam Lantinga
513de0f0ec
Don't allow SDL_TEXTURE_ADDRESS_WRAP if it's not supported
...
Fixes https://github.com/libsdl-org/SDL/issues/13908
2025-10-12 10:46:48 -07:00
Sam Lantinga
480f069cec
Copy the palette instead of referencing it when creating a texture
...
Fixes https://github.com/libsdl-org/SDL/issues/14213
2025-10-11 11:01:15 -07:00
Sam Lantinga
9d635fe641
Flush rendering if a texture palette is in use when destroyed
2025-10-10 17:42:27 -07:00
Sam Lantinga
84b0565096
Fixed potential memory leak
2025-10-08 19:44:03 -07:00
Sam Lantinga
3316dde0c2
Improved error information when renderer creation fails
...
On Android, if you create a window with SDL_WINDOW_OPENGL, you can't create a Vulkan surface. The error message has been improved to reflect this, and the error is propagated back up to the application.
Also added warn level logging if the renderer couldn't be created.
2025-10-08 19:36:19 -07:00
Sam Lantinga
b92557c0b7
Made error message consistent between SDL_SetSurfacePalette() and SDL_SetTexturePalette()
2025-10-06 09:22:34 -07:00
Sam Lantinga
134b47730b
Added support for linear and pixel art scaling for palettized textures
2025-10-04 15:12:08 -07:00
Sam Lantinga
1cda789a37
render: Default to primary display in SDL_CalculateSimulatedVSyncInterval if window is not set
...
- Fixes previous change to SDL_CreateRendererWithProperties which skipped SDL_CalculateSimulatedVSyncInterval if window was not set.
2025-10-03 16:00:44 -07:00
Sam Lantinga
0cab3521f1
render: Fix asserts from null window usage in SDL_CreateRendererWithProperties
2025-10-03 16:00:41 -07:00
Sam Lantinga
32668c4ddd
Palettized textures will always use SDL_SCALEMODE_NEAREST.
...
Our algorithm for pixel art doesn't work on 8-bit images, needs further investigation.
Fixes https://github.com/libsdl-org/SDL/issues/14129
2025-10-03 14:29:47 -07:00
Sam Lantinga
a864dcac25
Added support for using the GPU renderer as an offscreen renderer
...
SDL_CreateGPURenderer() now allows passing in an existing GPU device and passing in a NULL window to create an offscreen renderer.
Also renamed SDL_SetRenderGPUState() to SDL_SetGPURenderState().
2025-10-01 23:32:18 -07:00
Sam Lantinga
fe3b399b7e
Added support for P010 pixel format in SDL_UpdateNVTexture()
2025-10-01 07:17:55 -07:00
Sam Lantinga
b65590159b
Each application palette corresponds to one hardware palette
...
When the application modifies the palette, any textures that use it will automatically be updated.
2025-09-28 22:10:06 -07:00
Sam Lantinga
5622eef5a8
Fixed memory leak if requested renderer isn't available
2025-09-28 22:10:06 -07:00
Sam Lantinga
2a01e12d34
Simplify palette code
...
Each texture gets its own palette, the palette is updated when it is rendered if necessary, rendering is flushed if a texture render is already queued up.
Trying to share palettes and handle the different cases of queued rendering and changing palettes in the middle of the frame ends up being very complicated, so we'll keep it simple for now.
2025-09-28 22:10:06 -07:00
Sam Lantinga
7dcc09986d
Test changing the palette for a single texture
2025-09-28 22:10:06 -07:00
Sam Lantinga
264b436dba
Fixed changing palettes while rendering is in flight
2025-09-28 22:10:06 -07:00
Sam Lantinga
0b4b254a53
Added support for textures with palettes
...
Closes https://github.com/libsdl-org/SDL/pull/6192
2025-09-28 22:10:06 -07:00
Sam Lantinga
25b2d2c821
Use new parameter validation macro
2025-09-18 20:58:32 -07:00
Sam Lantinga
ee1c90a358
Improved handling of function parameter validation
...
SDL supports the following use cases:
* Normal operation with fast parameter checks (default):
SDL_SetHint(SDL_HINT_INVALID_PARAM_CHECKS, "1");
* Object parameters are checked for use-after-free issues:
SDL_SetHint(SDL_HINT_INVALID_PARAM_CHECKS, "2");
* Enable full validation, plus assert on invalid parameters:
#define SDL_ASSERT_INVALID_PARAMS
* Disable all parameter validation:
#define SDL_DISABLE_INVALID_PARAMS
2025-09-18 20:58:32 -07:00
Ryan C. Gordon
3ee29f2e7a
render: Don't default to vsync=0 on Emscripten.
...
Fixes #12805 .
2025-09-16 12:30:22 -04:00
Ryan C. Gordon
11411bb5ef
renderer: Don't use wrapping on NPOT textures if the renderer can't handle it.
...
Fixes #13887 .
2025-09-08 17:09:41 -04:00
Sam Lantinga
fb2daa2f5f
Updated the documentation for SDL_GetRenderLogicalPresentation()
...
Fixes https://github.com/libsdl-org/SDL/issues/13791
2025-09-06 11:21:36 -07:00
Sam Lantinga
5605f85d84
Check the return value of SDL_SW_CopyYUVToRGB()
2025-09-06 10:07:09 -07:00
Sam Lantinga
fbbc29159a
Leave letterbox borders set to the frame clear color
...
Fixes https://github.com/libsdl-org/sdl2-compat/issues/483
2025-09-02 20:14:34 -07:00
Sam Lantinga
285df94623
Renamed SDL_GPURenderStateDesc to SDL_GPURenderStateCreateInfo for consistency with GPU API conventions
...
Fixes https://github.com/libsdl-org/SDL/issues/12817
2025-08-27 09:14:19 -07:00
Petar Popovic
b63c32e790
SDL_SetRenderDrawBlendMode(): Remove redundant param check
2025-08-08 14:05:33 -04:00
Brenton Bostick
f361034ac3
fix typos
2025-07-27 08:10:03 -07:00
Ryan C. Gordon
07ef532681
hints: Renamed SDL_HINT_LOG_BACKENDS to SDL_DEBUG_LOGGING.
...
This still logs backend choices, but we might use it for other things. For
example, what Android device is being used, or all the devices we enumerated,
etc.
Ideally this eventually logs all the stuff we often have to ask followup
questions about.
2025-07-22 13:19:30 -04:00
Sam Lantinga
86200d1203
Fixed clamp texture address mode in software renderer
2025-07-21 10:20:16 -07:00
Sam Lantinga
7510a67159
Fixed typo
...
Fixes https://github.com/libsdl-org/SDL/issues/13373
2025-07-16 19:31:10 -07:00
Ryan C. Gordon
10004ab0ea
hints: Added SDL_HINT_LOG_BACKENDS.
...
Fixes #13354 .
2025-07-14 19:49:38 -04:00
Sam Lantinga
727b4924c8
Update the viewport when logical presentation changes
...
Fixes https://github.com/libsdl-org/SDL/issues/13256
2025-06-25 09:58:30 -07:00
Michael Fitzmayer
7ae64592c9
Restore support for the Nokia N-Gage ( #12148 )
2025-05-22 11:07:22 -07:00