mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-11-13 09:39:33 +01:00
Vulkan: Don't merge render passes if read from.
In the future, we might actually track dependencies so we can smartly sort the render passes instead. See #11079 - screen got brighter because a cleared framebuffer was used as a texture.
This commit is contained in:
1 parent
09e85eb150
commit
423309da50
3 files changed
+21
No files matched your search
@@ -364,6 +364,7 @@ void VulkanQueueRunner::RunSteps(VkCommandBuffer cmd, std::vector<VKRStep *> &st
|
||||
|
||||
if (steps.size() > 1 && steps[j]->stepType == VKRStepType::RENDER &&
|
||||
steps[j]->render.numDraws == 0 &&
|
||||
steps[j]->render.numReads == 0 &&
|
||||
steps[j]->render.color == VKRRenderPassAction::CLEAR &&
|
||||
steps[j]->render.stencil == VKRRenderPassAction::CLEAR &&
|
||||
steps[j]->render.depth == VKRRenderPassAction::CLEAR) {
|
||||
@@ -391,6 +392,7 @@ void VulkanQueueRunner::RunSteps(VkCommandBuffer cmd, std::vector<VKRStep *> &st
|
||||
steps[i]->copy.src == steps[j]->render.framebuffer) {
|
||||
// Can't eliminate the clear if a game copies from it before it's
|
||||
// rendered to. However this should be rare.
|
||||
// TODO: This should never happen when we check numReads now.
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user