diff --git a/src/render/direct3d11/SDL_render_d3d11.c b/src/render/direct3d11/SDL_render_d3d11.c index 17ed394b35..f8a9f78ca4 100644 --- a/src/render/direct3d11/SDL_render_d3d11.c +++ b/src/render/direct3d11/SDL_render_d3d11.c @@ -2283,7 +2283,8 @@ static D3D11_Shader SelectShader(SDL_Renderer *renderer, const D3D11_PixelShader { if (shader_constants) { if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) { - if (shader_constants->input_type == INPUTTYPE_HDR10 && + if (shader_constants->texture_type == TEXTURETYPE_RGB && + shader_constants->input_type == INPUTTYPE_HDR10 && !PQShaderScalesInput(shader_constants)) { // Do a simple 1-1 copy return SHADER_RGB_SIMPLE; diff --git a/src/render/direct3d12/SDL_render_d3d12.c b/src/render/direct3d12/SDL_render_d3d12.c index c85b62296f..6f2a339491 100644 --- a/src/render/direct3d12/SDL_render_d3d12.c +++ b/src/render/direct3d12/SDL_render_d3d12.c @@ -2748,7 +2748,8 @@ static D3D12_Shader SelectShader(SDL_Renderer *renderer, const D3D12_PixelShader { if (shader_constants) { if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) { - if (shader_constants->input_type == INPUTTYPE_HDR10 && + if (shader_constants->texture_type == TEXTURETYPE_RGB && + shader_constants->input_type == INPUTTYPE_HDR10 && !PQShaderScalesInput(shader_constants)) { // Do a simple 1-1 copy return SHADER_RGB_SIMPLE; diff --git a/src/render/vulkan/SDL_render_vulkan.c b/src/render/vulkan/SDL_render_vulkan.c index 071fc878c1..90a58c1201 100644 --- a/src/render/vulkan/SDL_render_vulkan.c +++ b/src/render/vulkan/SDL_render_vulkan.c @@ -3576,7 +3576,8 @@ static VULKAN_Shader SelectShader(SDL_Renderer *renderer, const VULKAN_PixelShad { if (shader_constants) { if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) { - if (shader_constants->input_type == INPUTTYPE_HDR10 && + if (shader_constants->texture_type == TEXTURETYPE_RGB && + shader_constants->input_type == INPUTTYPE_HDR10 && !PQShaderScalesInput(shader_constants)) { // Do a simple 1-1 copy return SHADER_RGB_SIMPLE;