mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-04-20 03:24:49 +00:00
renderer_vulkan: Clear blank frame (#2095)
* renderer_vulkan: Clear blank frame Fix display of garbage images on startup on some drivers. * Remove duplicated attachment declarations * Remove duplicated rendering_info declarations
This commit is contained in:
parent
40385e13e7
commit
9a956f5ed0
1 changed files with 21 additions and 17 deletions
|
@ -602,6 +602,23 @@ Frame* Presenter::PrepareFrameInternal(VideoCore::ImageId image_id, bool is_eop)
|
|||
.pImageMemoryBarriers = &pre_barrier,
|
||||
});
|
||||
|
||||
const std::array attachments = {vk::RenderingAttachmentInfo{
|
||||
.imageView = frame->image_view,
|
||||
.imageLayout = vk::ImageLayout::eColorAttachmentOptimal,
|
||||
.loadOp = vk::AttachmentLoadOp::eClear,
|
||||
.storeOp = vk::AttachmentStoreOp::eStore,
|
||||
}};
|
||||
const vk::RenderingInfo rendering_info{
|
||||
.renderArea =
|
||||
vk::Rect2D{
|
||||
.offset = {0, 0},
|
||||
.extent = {frame->width, frame->height},
|
||||
},
|
||||
.layerCount = 1,
|
||||
.colorAttachmentCount = attachments.size(),
|
||||
.pColorAttachments = attachments.data(),
|
||||
};
|
||||
|
||||
if (image_id != VideoCore::NULL_IMAGE_ID) {
|
||||
auto& image = texture_cache.GetImage(image_id);
|
||||
image.Transit(vk::ImageLayout::eShaderReadOnlyOptimal, vk::AccessFlagBits2::eShaderRead, {},
|
||||
|
@ -662,26 +679,13 @@ Frame* Presenter::PrepareFrameInternal(VideoCore::ImageId image_id, bool is_eop)
|
|||
cmdbuf.pushConstants(*pp_pipeline_layout, vk::ShaderStageFlagBits::eFragment, 0,
|
||||
sizeof(PostProcessSettings), &pp_settings);
|
||||
|
||||
const std::array attachments = {vk::RenderingAttachmentInfo{
|
||||
.imageView = frame->image_view,
|
||||
.imageLayout = vk::ImageLayout::eColorAttachmentOptimal,
|
||||
.loadOp = vk::AttachmentLoadOp::eClear,
|
||||
.storeOp = vk::AttachmentStoreOp::eStore,
|
||||
}};
|
||||
|
||||
vk::RenderingInfo rendering_info{
|
||||
.renderArea =
|
||||
vk::Rect2D{
|
||||
.offset = {0, 0},
|
||||
.extent = {frame->width, frame->height},
|
||||
},
|
||||
.layerCount = 1,
|
||||
.colorAttachmentCount = attachments.size(),
|
||||
.pColorAttachments = attachments.data(),
|
||||
};
|
||||
cmdbuf.beginRendering(rendering_info);
|
||||
cmdbuf.draw(3, 1, 0, 0);
|
||||
cmdbuf.endRendering();
|
||||
} else {
|
||||
// Fix display of garbage images on startup on some drivers
|
||||
cmdbuf.beginRendering(rendering_info);
|
||||
cmdbuf.endRendering();
|
||||
}
|
||||
|
||||
const auto post_barrier =
|
||||
|
|
Loading…
Add table
Reference in a new issue