From 34b39d79d216221a6bfe28d569772c2264627956 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 3 Dec 2014 13:15:48 +0000 Subject: [PATCH] Respect program settings for depth/stencil tests * This means we don't e.g. enable the depth test when it was originally disabled, and show incorrect 'failure' of the draw to pass the depth test --- renderdoc/driver/gl/gl_debug.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/renderdoc/driver/gl/gl_debug.cpp b/renderdoc/driver/gl/gl_debug.cpp index 4924f72df..19fc01da2 100644 --- a/renderdoc/driver/gl/gl_debug.cpp +++ b/renderdoc/driver/gl/gl_debug.cpp @@ -1199,13 +1199,25 @@ ResourceId GLReplay::RenderOverlay(ResourceId texid, TextureDisplayOverlay overl if(overlay == eTexOverlay_DepthBoth) { - gl.glEnable(eGL_DEPTH_TEST); - gl.glDepthMask(GL_TRUE); + if(depthTest) + gl.glEnable(eGL_DEPTH_TEST); + else + gl.glDisable(eGL_DEPTH_TEST); + + if(depthMask) + gl.glDepthMask(GL_TRUE); + else + gl.glDepthMask(GL_FALSE); } else { - gl.glEnable(eGL_STENCIL_TEST); - gl.glStencilMask(0xff); + if(stencilTest) + gl.glEnable(eGL_STENCIL_TEST); + else + gl.glDisable(eGL_STENCIL_TEST); + + gl.glStencilMaskSeparate(eGL_FRONT, stencilMaskFront); + gl.glStencilMaskSeparate(eGL_BACK, stencilMaskBack); } // get latest depth/stencil from read FBO (existing FBO) into draw FBO (overlay FBO)