Sam Lantinga
0f5f708c5a
Better check to see whether HDR10 input will have scaling applied
2026-07-23 12:55:14 -07:00
Sam Lantinga
604fe14b87
Make sure the PQ shader will output the input value before using the simple shader
...
Note that we don't account for vertex color here. If HDR10 content needs to be tinted by vertex color, it can't use the simple shader. I'm assuming that the use case for this will be video content which generally won't use vertex color and this optimization is fine.
2026-07-23 10:25:25 -07:00
Sam Lantinga
148241117b
Define SCRGB_NITS for use in HDR color calculations
2026-07-23 10:25:25 -07:00
Sam Lantinga
23b641070c
Added HDR10 display support for the direct3d11, direct3d12, and vulkan renderers
2026-07-22 11:36:32 -07:00
Sam Lantinga
07ecc125cf
Added SDL_PIXELFORMAT_P408 and SDL_PIXELFORMAT_P416
2026-06-22 17:01:54 -05:00
Ozkan Sezer
f76b736e28
SDL_render_d3d12.c: revert an unintended change from commit d70578b9aa
2026-05-17 20:28:56 +03:00
Ethan Lee
ee5c5cf755
render: Add Suspend/Resume calls for GDK support
2026-03-07 11:19:09 -05:00
Ethan Lee
a4cd62ef93
render: Reduce scope of D3D12 GDK event watcher to Xbox
2026-02-25 09:23:20 -05:00
Ethan Lee
5770e013c2
gdk: Render/GPU can call SuspendX, document when to call SuspendComplete
2026-02-25 09:20:25 -05:00
Void Star Caster
4a4ae4a79d
Fix GetSampler() bug for INDEX8 pixel format ( #15099 )
2026-02-24 08:05:30 -08:00
Sam Lantinga
6feb0e1333
You can't combine SDL_STRINGIFY_ARG() and SDL_FUNCTION
...
Removed obsolete documentation that shows this usage and macros that attempt it.
Also allow SDL_FUNCTION to be redefined by the application.
Fixes https://github.com/libsdl-org/SDL/issues/15004
2026-02-08 11:51:34 -08:00
RaceTheMaSe
7c7ffb9115
tests: Fix unreachable code warnings ( #14993 )
2026-02-07 20:42:59 +03:00
Max Seidenstücker
8f8880a8eb
Merge all occurances of __func__ and __FUNCTION__ to SDL_FUNCTION
2026-02-07 07:34:11 -08:00
Sam Lantinga
4970067c9a
Use SDL_PixelFormat appropriately
2026-02-02 09:46:13 -08:00
Ethan Lee
5640647e14
render: D3D12 Xbox buildfixes
2026-02-02 10:10:08 -05:00
Cameron Cawley
01d8e37a16
Support 16-bit packed texture formats with the Direct3D 12 renderer
2026-01-18 10:08:59 -08:00
Sam Lantinga
5f086e7623
Updated copyright for 2026
2026-01-01 09:40:08 -08:00
Ethan Lee
96b5c92780
render: D3D12 Xbox does not have COMPARISON_FUNC_NONE yet
2025-12-06 16:10:35 -05:00
Sam Lantinga
09304831f6
Fixed issues with YUV texture updates in the 2D renderer
2025-12-05 08:30:52 -08:00
Sam Lantinga
ead02b08dd
Skip tonemapping for render targets with unspecified HDR headroom
2025-11-10 18:30:02 -08:00
Sam Lantinga
4e5ba722fd
Change the batch if the color scale changes
...
The color scale is a shader constant so it can be applied in linear space
2025-11-10 18:30:02 -08:00
Sam Lantinga
d9be8b9a00
Implemented render batching for D3D11, D3D12, Metal, and Vulkan
...
Fixes https://github.com/libsdl-org/SDL/issues/7534
2025-11-10 18:30:02 -08: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
49d51a0d3c
Removed TEXTURETYPE_PALETTE_PIXELART
...
This doesn't make any sense since the pixel art algorithm uses a box filter to get an average pixel value which isn't possible with indexed textures.
2025-10-03 18:54:07 -07:00
Sam Lantinga
8d7cd3c6c2
Fixed line endings
2025-10-01 14:01:59 -07:00
Sam Lantinga
548063e578
Fixed pixel shader for palettized textures using pixelart scaling
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
e2fe23ddab
Added hardware accelerated support for palettized textures
...
Supported backends: direct3d, direct3d11, direct3d12, gpu, metal, opengl, opengles2
2025-09-28 22:10:06 -07:00
Sam Lantinga
524ba0a4ad
Reduce the size of the D3D12 vertex shader constants
...
This is needed to add more fragment shader constants in the future as we're already at our 64 size limit
2025-09-28 22:10:06 -07:00
nightmareci
2f5bc17ea6
Fix support for Windows XP and up ( #13904 )
2025-09-08 13:00:26 -07:00
Sam Lantinga
61e41c61dc
Select the shader based on the inputs, not colorspace
...
Fixes https://github.com/libsdl-org/SDL/issues/13880
2025-09-06 08:58:17 -07:00
Sam Lantinga
d7939abf42
Use consistent style for pointer declarations and casts
2025-06-18 10:03:44 -07:00
Sam Lantinga
633b9f6fb1
Added SDL_SetRenderTextureAddressMode() and SDL_GetRenderTextureAddressMode()
...
Fixes https://github.com/libsdl-org/SDL/issues/4820
Fixes https://github.com/libsdl-org/SDL/issues/12610
2025-03-28 13:51:19 -07:00
Sam Lantinga
4ceb02434b
We need to rebind D3D12 resources after updating them
...
Fixes https://github.com/libsdl-org/SDL/issues/12544
2025-03-20 20:22:00 -07:00
Sam Lantinga
3538abfb82
Revert "Don't update a texture twice in the same batch on D3D12"
...
This reverts commit 0681d08817 .
There's a simpler fix for this.
2025-03-20 19:56:59 -07:00
Sam Lantinga
0681d08817
Don't update a texture twice in the same batch on D3D12
...
Fixes https://github.com/libsdl-org/SDL/issues/12544
2025-03-20 19:51:56 -07:00
Sam Lantinga
ad9f9af4ed
Removed accidentally enabled debug code
2025-03-15 09:17:55 -07:00
Sam Lantinga
3e9e22f17d
Added SDL_SCALEMODE_PIXELART
...
This is based on the algorithm presented by t3ssel8r:
https://www.youtube.com/watch?v=d6tp43wZqps
2025-03-13 09:48:37 -07:00
Sam Lantinga
cb099ebd4f
Make texture scale mode a part of the 2D renderer draw state
...
Also added texture addressing mode support to the PSP and Vita renderers (untested)
Fixes https://github.com/libsdl-org/SDL/issues/12461
2025-03-05 21:35:04 -08:00
Sam Lantinga
b836ad4d4f
Fix a root signature mismatch for the D3D12 renderer
...
The shaders hadn't been rebuilt after c74f273848
Fixes https://github.com/libsdl-org/SDL/issues/12276
2025-03-01 12:02:49 -08:00
Sam Lantinga
0bce19cf15
The 10-bit texture formats have alpha on Direct3D
...
A similar change was made for Vulkan in a036aeda3b
2025-02-10 19:45:02 -08:00
Sam Lantinga
3cfa476d3f
Added support for SDL_PIXELFORMAT_ABGR8888 textures
...
This is the output format of stb_image for image decoding, so let's avoid a texture format conversion where possible.
Also standardized SDL_PIXELFORMAT_ARGB8888 as the default texture format for all renderers.
2025-02-10 19:45:02 -08:00
Petar Popovic
a336b62d8b
Remove newlines from error messages
2025-01-23 11:45:04 -08:00
nightmareci
718034f5fa
Remove newlines from log messages
2025-01-22 20:25:04 -08:00
Sam Lantinga
f2074d7af3
Updated copyright for 2025
2025-01-01 07:45:52 -08:00
L zard
8b6d3c88cf
Fix #ifdefs to have config flags either defined as 1 or undefined
...
See 387774ab8a
2024-12-14 09:22:29 -08:00
Ryan C. Gordon
615c935d11
events: Added SDL_RenderEvent.
...
Fixes #11465 .
2024-11-22 15:01:09 -05:00
Sam Lantinga
3d47877bb4
Added SDL_EVENT_RENDER_DEVICE_LOST
...
This is sent when the device is lost and can't be recovered.
Also fixed the vulkan renderer so it returns errors appropriately and will log and break if debug mode is enabled.
2024-10-21 13:28:40 -07:00
Sam Lantinga
92520c1d9b
Improved D3D12 handling of unrecoverable device loss
2024-10-21 00:38:42 -07:00
Sam Lantinga
315842cf71
Fixed crashes handling D3D11/12 device lost in testsprite
...
You can test this using "dxcap -forcetdr"
2024-10-21 00:29:18 -07:00