diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 1962fd5c34c..89dc8fa6d40 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -2466,10 +2466,6 @@ radv_emit_framebuffer_state(struct radv_cmd_buffer *cmd_buffer) struct radv_framebuffer *framebuffer = cmd_buffer->state.framebuffer; const struct radv_subpass *subpass = cmd_buffer->state.subpass; - /* this may happen for inherited secondary recording */ - if (!framebuffer) - return; - for (i = 0; i < 8; ++i) { if (i >= subpass->color_count || subpass->color_attachments[i].attachment == VK_ATTACHMENT_UNUSED) { @@ -4405,7 +4401,9 @@ radv_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBegi cmd_buffer->state.inherited_pipeline_statistics = pBeginInfo->pInheritanceInfo->pipelineStatistics; - radv_cmd_buffer_set_subpass(cmd_buffer, subpass); + cmd_buffer->state.subpass = subpass; + if (cmd_buffer->state.framebuffer) + cmd_buffer->state.dirty |= RADV_CMD_DIRTY_FRAMEBUFFER; } if (unlikely(cmd_buffer->device->trace_bo))