diff --git a/src/render/direct3d11/SDL_render_d3d11.c b/src/render/direct3d11/SDL_render_d3d11.c index abbcd50ff6..9ec760e25d 100644 --- a/src/render/direct3d11/SDL_render_d3d11.c +++ b/src/render/direct3d11/SDL_render_d3d11.c @@ -2286,14 +2286,9 @@ static D3D11_Shader SelectShader(SDL_Renderer *renderer, const D3D11_PixelShader { if (shader_constants) { if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) { - float SDR_white_point; - if (renderer->target) { - SDR_white_point = renderer->target->SDR_white_point; - } else { - SDR_white_point = renderer->SDR_white_point; - } if (shader_constants->input_type == INPUTTYPE_HDR10 && - shader_constants->color_scale == SDR_white_point) { + shader_constants->tonemap_method == 0.0f && + (shader_constants->sdr_white_point / SCRGB_NITS) == shader_constants->color_scale) { // Do a simple 1-1 copy return SHADER_RGB_SIMPLE; } else { diff --git a/src/render/direct3d12/SDL_render_d3d12.c b/src/render/direct3d12/SDL_render_d3d12.c index bb2f5c59be..df4acc8a29 100644 --- a/src/render/direct3d12/SDL_render_d3d12.c +++ b/src/render/direct3d12/SDL_render_d3d12.c @@ -2746,14 +2746,9 @@ static D3D12_Shader SelectShader(SDL_Renderer *renderer, const D3D12_PixelShader { if (shader_constants) { if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) { - float SDR_white_point; - if (renderer->target) { - SDR_white_point = renderer->target->SDR_white_point; - } else { - SDR_white_point = renderer->SDR_white_point; - } if (shader_constants->input_type == INPUTTYPE_HDR10 && - shader_constants->color_scale == SDR_white_point) { + shader_constants->tonemap_method == 0.0f && + (shader_constants->sdr_white_point / SCRGB_NITS) == shader_constants->color_scale) { // Do a simple 1-1 copy return SHADER_RGB_SIMPLE; } else { diff --git a/src/render/vulkan/SDL_render_vulkan.c b/src/render/vulkan/SDL_render_vulkan.c index 01e0d33727..cf3e77b9bc 100644 --- a/src/render/vulkan/SDL_render_vulkan.c +++ b/src/render/vulkan/SDL_render_vulkan.c @@ -3558,14 +3558,9 @@ static VULKAN_Shader SelectShader(SDL_Renderer *renderer, const VULKAN_PixelShad { if (shader_constants) { if (renderer->current_colorspace == SDL_COLORSPACE_HDR10) { - float SDR_white_point; - if (renderer->target) { - SDR_white_point = renderer->target->SDR_white_point; - } else { - SDR_white_point = renderer->SDR_white_point; - } if (shader_constants->input_type == INPUTTYPE_HDR10 && - shader_constants->color_scale == SDR_white_point) { + shader_constants->tonemap_method == 0.0f && + (shader_constants->sdr_white_point / SCRGB_NITS) == shader_constants->color_scale) { // Do a simple 1-1 copy return SHADER_RGB_SIMPLE; } else {