citra-emu
/
citra-canary
Archived
1
0
Fork 0

Merge pull request #2834 from wwylele/depth-enable-fix

gl_rasterizer_cache: fix using_depth_fb
This commit is contained in:
Sebastian Valle 2017-07-22 23:02:59 -05:00 committed by GitHub
commit e646bd902d
1 changed files with 5 additions and 4 deletions

View File

@ -542,10 +542,11 @@ RasterizerCacheOpenGL::GetFramebufferSurfaces(
config.GetDepthBufferPhysicalAddress(), config.GetDepthBufferPhysicalAddress(),
fb_area * Pica::FramebufferRegs::BytesPerDepthPixel(config.depth_format)); fb_area * Pica::FramebufferRegs::BytesPerDepthPixel(config.depth_format));
bool using_color_fb = config.GetColorBufferPhysicalAddress() != 0; bool using_color_fb = config.GetColorBufferPhysicalAddress() != 0;
bool using_depth_fb = bool depth_write_enable = regs.framebuffer.output_merger.depth_write_enable &&
config.GetDepthBufferPhysicalAddress() != 0 && regs.framebuffer.framebuffer.allow_depth_stencil_write;
(regs.framebuffer.output_merger.depth_test_enable || bool using_depth_fb = config.GetDepthBufferPhysicalAddress() != 0 &&
regs.framebuffer.output_merger.depth_write_enable || !framebuffers_overlap); (regs.framebuffer.output_merger.depth_test_enable || depth_write_enable ||
!framebuffers_overlap);
if (framebuffers_overlap && using_color_fb && using_depth_fb) { if (framebuffers_overlap && using_color_fb && using_depth_fb) {
LOG_CRITICAL(Render_OpenGL, "Color and depth framebuffer memory regions overlap; " LOG_CRITICAL(Render_OpenGL, "Color and depth framebuffer memory regions overlap; "