mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Correctly update image layout to the final one after a render pass.
This commit is contained in:
parent
611161b872
commit
b58f5e46ae
2 changed files with 7 additions and 7 deletions
|
@ -1132,8 +1132,8 @@ void VulkanQueueRunner::PerformRenderPass(const VKRStep &step, VkCommandBuffer c
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// This is supposed to bind a vulkan render pass to the command buffer.
|
// This reads the layout of the color and depth images, and chooses a render pass using them that
|
||||||
// This reads the layout of the color and depth images, and chooses a render pass using them.
|
// will transition to the desired final layout.
|
||||||
PerformBindFramebufferAsRenderTarget(step, cmd);
|
PerformBindFramebufferAsRenderTarget(step, cmd);
|
||||||
|
|
||||||
int curWidth = step.render.framebuffer ? step.render.framebuffer->width : vulkan_->GetBackbufferWidth();
|
int curWidth = step.render.framebuffer ? step.render.framebuffer->width : vulkan_->GetBackbufferWidth();
|
||||||
|
@ -1329,9 +1329,9 @@ void VulkanQueueRunner::PerformBindFramebufferAsRenderTarget(const VKRStep &step
|
||||||
step.render.finalColorLayout,
|
step.render.finalColorLayout,
|
||||||
step.render.finalDepthStencilLayout);
|
step.render.finalDepthStencilLayout);
|
||||||
|
|
||||||
// We now do any layout transitions of the framebuffer as part of the render pass.
|
// We now do any layout pretransitions as part of the render pass.
|
||||||
fb->color.layout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
|
fb->color.layout = step.render.finalColorLayout;
|
||||||
fb->depth.layout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL;
|
fb->depth.layout = step.render.finalDepthStencilLayout;
|
||||||
|
|
||||||
if (step.render.color == VKRRenderPassAction::CLEAR) {
|
if (step.render.color == VKRRenderPassAction::CLEAR) {
|
||||||
Uint8x4ToFloat4(clearVal[0].color.float32, step.render.clearColor);
|
Uint8x4ToFloat4(clearVal[0].color.float32, step.render.clearColor);
|
||||||
|
|
|
@ -218,8 +218,8 @@ public:
|
||||||
// Only call this from the render thread! Also ok during initialization (LoadCache).
|
// Only call this from the render thread! Also ok during initialization (LoadCache).
|
||||||
VkRenderPass GetRenderPass(
|
VkRenderPass GetRenderPass(
|
||||||
VKRRenderPassAction colorLoadAction, VKRRenderPassAction depthLoadAction, VKRRenderPassAction stencilLoadAction,
|
VKRRenderPassAction colorLoadAction, VKRRenderPassAction depthLoadAction, VKRRenderPassAction stencilLoadAction,
|
||||||
VkImageLayout prevColorLayout, VkImageLayout prevDepthLayout, VkImageLayout finalColorLayout, VkImageLayout finalDepthStencilLayout) {
|
VkImageLayout prevColorLayout, VkImageLayout prevDepthStencilLayout, VkImageLayout finalColorLayout, VkImageLayout finalDepthStencilLayout) {
|
||||||
RPKey key{ colorLoadAction, depthLoadAction, stencilLoadAction, prevColorLayout, prevDepthLayout, finalColorLayout, finalDepthStencilLayout };
|
RPKey key{ colorLoadAction, depthLoadAction, stencilLoadAction, prevColorLayout, prevDepthStencilLayout, finalColorLayout, finalDepthStencilLayout };
|
||||||
return GetRenderPass(key);
|
return GetRenderPass(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue