Skip to content

Commit de04ba4

Browse files
committed
renderer_vulkan: Clear blank frame shadps4-emu#2095
1 parent 0ec9268 commit de04ba4

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

src/video_core/renderer_vulkan/vk_presenter.cpp

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -602,6 +602,27 @@ Frame* Presenter::PrepareFrameInternal(VideoCore::ImageId image_id, bool is_eop)
602602
cmdbuf.beginRendering(rendering_info);
603603
cmdbuf.draw(3, 1, 0, 0);
604604
cmdbuf.endRendering();
605+
} else {
606+
const std::array attachments = {vk::RenderingAttachmentInfo{
607+
.imageView = frame->image_view,
608+
.imageLayout = vk::ImageLayout::eColorAttachmentOptimal,
609+
.loadOp = vk::AttachmentLoadOp::eClear,
610+
.storeOp = vk::AttachmentStoreOp::eStore,
611+
}};
612+
613+
vk::RenderingInfo rendering_info{
614+
.renderArea =
615+
vk::Rect2D{
616+
.offset = {0, 0},
617+
.extent = {frame->width, frame->height},
618+
},
619+
.layerCount = 1,
620+
.colorAttachmentCount = attachments.size(),
621+
.pColorAttachments = attachments.data(),
622+
};
623+
624+
cmdbuf.beginRendering(rendering_info);
625+
cmdbuf.endRendering();
605626
}
606627

607628
const auto post_barrier =
@@ -798,4 +819,4 @@ Frame* Presenter::GetRenderFrame() {
798819
return frame;
799820
}
800821

801-
} // namespace Vulkan
822+
} // namespace Vulkan

0 commit comments

Comments
 (0)