video_core: Catch vulkan clear op not all channel need clear

This commit is contained in:
FengChen 2022-10-25 22:39:29 +08:00
parent fa913a702f
commit 0ec1801bc1

View file

@ -305,6 +305,8 @@ void RasterizerVulkan::Clear() {
} }
} }
if (regs.clear_surface.R && regs.clear_surface.G && regs.clear_surface.B &&
regs.clear_surface.A) {
scheduler.Record([color_attachment, clear_value, clear_rect](vk::CommandBuffer cmdbuf) { scheduler.Record([color_attachment, clear_value, clear_rect](vk::CommandBuffer cmdbuf) {
const VkClearAttachment attachment{ const VkClearAttachment attachment{
.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, .aspectMask = VK_IMAGE_ASPECT_COLOR_BIT,
@ -313,6 +315,9 @@ void RasterizerVulkan::Clear() {
}; };
cmdbuf.ClearAttachments(attachment, clear_rect); cmdbuf.ClearAttachments(attachment, clear_rect);
}); });
} else {
UNIMPLEMENTED_MSG("Unimplemented Clear only the specified channel");
}
} }
if (!use_depth && !use_stencil) { if (!use_depth && !use_stencil) {