Fixed using the wrong format when using a render target on Vulkan

This commit is contained in:
Sam Lantinga
2026-09-11 13:59:19 -07:00
parent 0628d5c603
commit 0aa28e2629

View File

@@ -4204,7 +4204,7 @@ static bool VULKAN_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand
{
VULKAN_RenderData *rendererData = (VULKAN_RenderData *)renderer->internal;
const SDL_BlendMode blendMode = cmd->data.draw.blend;
VkFormat format = rendererData->surfaceFormat.format;
VkFormat format;
const Float4X4 *newmatrix = matrix ? matrix : &rendererData->identity;
bool updateConstants = false;
VULKAN_Shader shader = SelectShader(renderer, shader_constants, yuv);
@@ -4218,6 +4218,12 @@ static bool VULKAN_SetDrawState(SDL_Renderer *renderer, const SDL_RenderCommand
return false;
}
if (rendererData->textureRenderTarget) {
format = rendererData->textureRenderTarget->mainImage.format;
} else {
format = rendererData->surfaceFormat.format;
}
// See if we need to change the pipeline state
if (!rendererData->currentPipelineState ||
rendererData->currentPipelineState->shader != shader ||