summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index e378a5679..a8ffbe6ba 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -357,11 +357,13 @@ void RasterizerVulkan::Clear() {
357 .height = std::min(clear_rect.rect.extent.height, render_area.height), 357 .height = std::min(clear_rect.rect.extent.height, render_area.height),
358 }; 358 };
359 359
360 if (use_color) { 360 const u32 color_attachment = regs.clear_buffers.RT;
361 const auto attachment_aspect_mask = framebuffer->ImageRanges()[color_attachment].aspectMask;
362 const bool is_color_rt = (attachment_aspect_mask & VK_IMAGE_ASPECT_COLOR_BIT) != 0;
363 if (use_color && is_color_rt) {
361 VkClearValue clear_value; 364 VkClearValue clear_value;
362 std::memcpy(clear_value.color.float32, regs.clear_color, sizeof(regs.clear_color)); 365 std::memcpy(clear_value.color.float32, regs.clear_color, sizeof(regs.clear_color));
363 366
364 const u32 color_attachment = regs.clear_buffers.RT;
365 scheduler.Record([color_attachment, clear_value, clear_rect](vk::CommandBuffer cmdbuf) { 367 scheduler.Record([color_attachment, clear_value, clear_rect](vk::CommandBuffer cmdbuf) {
366 const VkClearAttachment attachment{ 368 const VkClearAttachment attachment{
367 .aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, 369 .aspectMask = VK_IMAGE_ASPECT_COLOR_BIT,