summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_rasterizer.cpp
diff options
context:
space:
mode:
authorFengChen <vonchenplus@gmail.com>2023-01-12 15:42:56 +0100
committerFeng Chen <vonchenplus@gmail.com>2023-01-28 05:53:05 +0100
commit818631a412dde27dba1b34ab0858c8d1f29ea19c (patch)
tree8414eb07600d9e8b2ec8db6bda1218d453afef40 /src/video_core/renderer_vulkan/vk_rasterizer.cpp
parentMerge pull request #9677 from Morph1984/sleep-one (diff)
downloadyuzu-818631a412dde27dba1b34ab0858c8d1f29ea19c.tar
yuzu-818631a412dde27dba1b34ab0858c8d1f29ea19c.tar.gz
yuzu-818631a412dde27dba1b34ab0858c8d1f29ea19c.tar.bz2
yuzu-818631a412dde27dba1b34ab0858c8d1f29ea19c.tar.lz
yuzu-818631a412dde27dba1b34ab0858c8d1f29ea19c.tar.xz
yuzu-818631a412dde27dba1b34ab0858c8d1f29ea19c.tar.zst
yuzu-818631a412dde27dba1b34ab0858c8d1f29ea19c.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index 86ef0daeb..719edbcfb 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -394,7 +394,15 @@ void RasterizerVulkan::Clear(u32 layer_count) {
cmdbuf.ClearAttachments(attachment, clear_rect);
});
} else {
- UNIMPLEMENTED_MSG("Unimplemented Clear only the specified channel");
+ u8 color_mask = static_cast<u8>(regs.clear_surface.R | regs.clear_surface.G << 1 |
+ regs.clear_surface.B << 2 | regs.clear_surface.A << 3);
+ Region2D dst_region = {
+ Offset2D{.x = clear_rect.rect.offset.x, .y = clear_rect.rect.offset.y},
+ Offset2D{.x = clear_rect.rect.offset.x +
+ static_cast<s32>(clear_rect.rect.extent.width),
+ .y = clear_rect.rect.offset.y +
+ static_cast<s32>(clear_rect.rect.extent.height)}};
+ blit_image.ClearColor(framebuffer, color_mask, regs.clear_color, dst_region);
}
}