diff options
Diffstat (limited to '')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_rasterizer.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index d2c6b1189..aada38702 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp | |||
| @@ -571,7 +571,7 @@ RasterizerVulkan::Texceptions RasterizerVulkan::UpdateAttachments() { | |||
| 571 | color_attachments[rt] = texture_cache.GetColorBufferSurface(rt, true); | 571 | color_attachments[rt] = texture_cache.GetColorBufferSurface(rt, true); |
| 572 | } | 572 | } |
| 573 | if (color_attachments[rt] && WalkAttachmentOverlaps(*color_attachments[rt])) { | 573 | if (color_attachments[rt] && WalkAttachmentOverlaps(*color_attachments[rt])) { |
| 574 | texceptions.set(rt); | 574 | texceptions[rt] = true; |
| 575 | } | 575 | } |
| 576 | } | 576 | } |
| 577 | 577 | ||
| @@ -579,7 +579,7 @@ RasterizerVulkan::Texceptions RasterizerVulkan::UpdateAttachments() { | |||
| 579 | zeta_attachment = texture_cache.GetDepthBufferSurface(true); | 579 | zeta_attachment = texture_cache.GetDepthBufferSurface(true); |
| 580 | } | 580 | } |
| 581 | if (zeta_attachment && WalkAttachmentOverlaps(*zeta_attachment)) { | 581 | if (zeta_attachment && WalkAttachmentOverlaps(*zeta_attachment)) { |
| 582 | texceptions.set(ZETA_TEXCEPTION_INDEX); | 582 | texceptions[ZETA_TEXCEPTION_INDEX] = true; |
| 583 | } | 583 | } |
| 584 | 584 | ||
| 585 | texture_cache.GuardRenderTargets(false); | 585 | texture_cache.GuardRenderTargets(false); |
| @@ -1122,11 +1122,12 @@ RenderPassParams RasterizerVulkan::GetRenderPassParams(Texceptions texceptions) | |||
| 1122 | 1122 | ||
| 1123 | for (std::size_t rt = 0; rt < static_cast<std::size_t>(regs.rt_control.count); ++rt) { | 1123 | for (std::size_t rt = 0; rt < static_cast<std::size_t>(regs.rt_control.count); ++rt) { |
| 1124 | const auto& rendertarget = regs.rt[rt]; | 1124 | const auto& rendertarget = regs.rt[rt]; |
| 1125 | if (rendertarget.Address() == 0 || rendertarget.format == Tegra::RenderTargetFormat::NONE) | 1125 | if (rendertarget.Address() == 0 || rendertarget.format == Tegra::RenderTargetFormat::NONE) { |
| 1126 | continue; | 1126 | continue; |
| 1127 | } | ||
| 1127 | renderpass_params.color_attachments.push_back(RenderPassParams::ColorAttachment{ | 1128 | renderpass_params.color_attachments.push_back(RenderPassParams::ColorAttachment{ |
| 1128 | static_cast<u32>(rt), PixelFormatFromRenderTargetFormat(rendertarget.format), | 1129 | static_cast<u32>(rt), PixelFormatFromRenderTargetFormat(rendertarget.format), |
| 1129 | texceptions.test(rt)}); | 1130 | texceptions[rt]}); |
| 1130 | } | 1131 | } |
| 1131 | 1132 | ||
| 1132 | renderpass_params.has_zeta = regs.zeta_enable; | 1133 | renderpass_params.has_zeta = regs.zeta_enable; |