Sam Lantinga
f4337eded2
Use the render passes we just created when creating a Vulkan render target
2026-07-27 10:56:49 -07:00
Sam Lantinga
db84871fdf
Allow writing to planar YUV textures from application code in the Vulkan renderer
2026-07-27 10:56:49 -07:00
Sam Lantinga
855cbec702
Set VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT for planar formats
...
This allows creating separate image views for the planes of the image if desired.
2026-07-24 16:22:28 -07:00
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
6ce3d843fc
testffmpeg_vulkan: fixed usage of timeline semaphores
2026-07-10 10:06:48 -07:00
Sam Lantinga
c1d4376d3c
Fixed Vulkan validation errors when using ffmpeg video decode
2026-07-10 08:09:15 -07:00
Sam Lantinga
dfefce62e2
Get the physical device properties when using an external Vulkan device
...
Fixes `testffmpeg --sprites 100` when using the Vulkan renderer
2026-06-30 12:53:17 -07:00
Sam Lantinga
2069d5f6bc
Fixed formatting
2026-06-30 12:53:17 -07:00
Sam Lantinga
464b90b475
Issue a batch when changing render targets in the Vulkan renderer
...
Otherwise we get rendering artifacts that look like drawing is being applied to the wrong render target
2026-06-30 09:00:09 -07:00
Sam Lantinga
e0b12bbcea
Added a workaround for a crash in NVIDIA drivers when rendering YUV with Vulkan
...
Fixes https://github.com/libsdl-org/SDL/issues/13878
2026-06-29 14:09:24 -07:00
Frank Praznik
e26370810b
gpu/vulkan renderer: Reconfigure the window on renderer creation if it has the OpenGL flag
...
In some cases, conflicts can occur at the platform or driver level if a window initially configured for OpenGL is then used with a Vulkan-based renderer. Try to reconfigure or recreate the window in the unlikely event that it has the OpenGL flag set when initializing the Vulkan or GPU renderer to remove any platform or driver-specific OpenGL objects and properties.
2026-06-23 11:03:05 -04:00
Sam Lantinga
07ecc125cf
Added SDL_PIXELFORMAT_P408 and SDL_PIXELFORMAT_P416
2026-06-22 17:01:54 -05:00
Void Star Caster
4a4ae4a79d
Fix GetSampler() bug for INDEX8 pixel format ( #15099 )
2026-02-24 08:05:30 -08:00
Max Seidenstücker
8f8880a8eb
Merge all occurances of __func__ and __FUNCTION__ to SDL_FUNCTION
2026-02-07 07:34:11 -08:00
Eddy Jansson
248223592a
More prefer SDL_zero*()
...
Transform clearing of arrays into SDL_zeroa(), and
clearing through a T* with size(T) into SDL_zerop().
Extends commit 83fb7b6636 .
2026-01-23 16:02:16 -08:00
Eddy Jansson
83fb7b6636
Prefer SDL_zero()/SDL_zerop()
...
Replace uses of 'SDL_memset(E, 0, sizeof(E))' and similar
with the SDL_zero()/SDL_zerop() macros.
2026-01-23 11:23:27 -08:00
Cameron Cawley
07be29b625
Support 16-bit packed texture formats with the Vulkan renderer
2026-01-19 08:29:01 -08:00
Sam Lantinga
5f086e7623
Updated copyright for 2026
2026-01-01 09:40:08 -08:00
anonymix007
89dd2426cf
Add SDL_PROP_TEXTURE_CREATE_VULKAN_LAYOUT_NUMBER
2025-12-27 10:23:12 -08:00
Sam Lantinga
63636c8403
Fixed warning: implicit conversion loses integer precision
2025-12-16 14:51:19 -08:00
Cameron Cawley
a4de176e1c
Use the correct pixel formats for Vulkan on big endian
2025-12-08 10:07:31 -08:00
Sam Lantinga
09304831f6
Fixed issues with YUV texture updates in the 2D renderer
2025-12-05 08:30:52 -08:00
Sam Lantinga
0ae3d7b0b0
Fixed crash in the vulkan renderer when the window is minimized
...
There's more work to do here in other cases where we can't recreate the swap chain, but this fixes the common minimize case.
Fixes https://github.com/libsdl-org/SDL/issues/14434
2025-11-14 12:35:33 -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
97ebfbf7a0
Only convert color to linear once in VULKAN_QueueDrawPoints()
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
933beeb18b
Fixed warning: no previous extern declaration for non-static variable
2025-10-27 17:52:05 -07:00
Sylvain
2a96997e90
Fixed bug #14173 - Android / SDL_Renderer Vulkan : going background / foreground produces a black screen.
...
need to recreate the swap chain + send SDL_EVENT_RENDER_DEVICE_RESET event
2025-10-09 08:40:42 -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
edf5f9ec5c
Properly upgrade a window to Vulkan when creating a Vulkan renderer
2025-10-08 19:17:11 -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
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
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
5d311635cf
Added Vulkan support for palettized textures
2025-09-28 22:10:06 -07:00
Sam Lantinga
b7dba970e1
Fixed setting SDL_PROP_TEXTURE_VULKAN_TEXTURE_NUMBER
2025-09-09 17:34:34 -07:00
Sam Lantinga
466f93aee1
Fixed pitch and chroma issues with the Vulkan planar YUV texture update functions
...
Fixes https://github.com/libsdl-org/SDL/issues/13734
2025-09-07 10:19:00 -07:00
Sam Lantinga
02fc571cfd
Fixed build
2025-09-06 10:12:01 -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
8dedf44929
Fixed warning: initialization of pointer of type 'VkSampler' (aka 'struct VkSampler_T *') to null from a constant boolean expression
...
Fixes https://github.com/libsdl-org/SDL/issues/13628
2025-08-03 07:24:51 -07:00
Thomas Stehle
64b19fc504
Added missing handling of texture address mode to SDL render Vulkan backend
2025-07-21 10:21:31 -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
10fae8c34b
Fixed Android build warnings
2025-03-20 11:02:33 -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