diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer_cache.cpp | 9 |
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( | |||
| 542 | config.GetDepthBufferPhysicalAddress(), | 542 | config.GetDepthBufferPhysicalAddress(), |
| 543 | fb_area * Pica::FramebufferRegs::BytesPerDepthPixel(config.depth_format)); | 543 | fb_area * Pica::FramebufferRegs::BytesPerDepthPixel(config.depth_format)); |
| 544 | bool using_color_fb = config.GetColorBufferPhysicalAddress() != 0; | 544 | bool using_color_fb = config.GetColorBufferPhysicalAddress() != 0; |
| 545 | bool using_depth_fb = | 545 | bool depth_write_enable = regs.framebuffer.output_merger.depth_write_enable && |
| 546 | config.GetDepthBufferPhysicalAddress() != 0 && | 546 | regs.framebuffer.framebuffer.allow_depth_stencil_write; |
| 547 | (regs.framebuffer.output_merger.depth_test_enable || | 547 | bool using_depth_fb = config.GetDepthBufferPhysicalAddress() != 0 && |
| 548 | regs.framebuffer.output_merger.depth_write_enable || !framebuffers_overlap); | 548 | (regs.framebuffer.output_merger.depth_test_enable || depth_write_enable || |
| 549 | !framebuffers_overlap); | ||
| 549 | 550 | ||
| 550 | if (framebuffers_overlap && using_color_fb && using_depth_fb) { | 551 | if (framebuffers_overlap && using_color_fb && using_depth_fb) { |
| 551 | LOG_CRITICAL(Render_OpenGL, "Color and depth framebuffer memory regions overlap; " | 552 | LOG_CRITICAL(Render_OpenGL, "Color and depth framebuffer memory regions overlap; " |