summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
diff options
context:
space:
mode:
authorwwylele <wwylele@gmail.com>2017-06-10 14:10:34 +0200
committerwwylele <wwylele@gmail.com>2017-06-10 14:10:34 +0200
commitb3b946857351f7b1f48c1dc862185c93e84431af (patch)
tree2bf5ade22bd099d0c66e8730e1fde879fef39c5f /src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
parentMerge pull request #2737 from Subv/decryptbeacondata (diff)
downloadyuzu-b3b946857351f7b1f48c1dc862185c93e84431af.tar
yuzu-b3b946857351f7b1f48c1dc862185c93e84431af.tar.gz
yuzu-b3b946857351f7b1f48c1dc862185c93e84431af.tar.bz2
yuzu-b3b946857351f7b1f48c1dc862185c93e84431af.tar.lz
yuzu-b3b946857351f7b1f48c1dc862185c93e84431af.tar.xz
yuzu-b3b946857351f7b1f48c1dc862185c93e84431af.tar.zst
yuzu-b3b946857351f7b1f48c1dc862185c93e84431af.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer_cache.cpp')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer_cache.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
index 8b717e43d..f37894e7a 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
@@ -542,10 +542,11 @@ RasterizerCacheOpenGL::GetFramebufferSurfaces(
config.GetDepthBufferPhysicalAddress(),
fb_area * Pica::FramebufferRegs::BytesPerDepthPixel(config.depth_format));
bool using_color_fb = config.GetColorBufferPhysicalAddress() != 0;
- bool using_depth_fb =
- config.GetDepthBufferPhysicalAddress() != 0 &&
- (regs.framebuffer.output_merger.depth_test_enable ||
- regs.framebuffer.output_merger.depth_write_enable || !framebuffers_overlap);
+ bool depth_write_enable = regs.framebuffer.output_merger.depth_write_enable &&
+ regs.framebuffer.framebuffer.allow_depth_stencil_write;
+ bool using_depth_fb = config.GetDepthBufferPhysicalAddress() != 0 &&
+ (regs.framebuffer.output_merger.depth_test_enable || depth_write_enable ||
+ !framebuffers_overlap);
if (framebuffers_overlap && using_color_fb && using_depth_fb) {
LOG_CRITICAL(Render_OpenGL, "Color and depth framebuffer memory regions overlap; "