From df860713620dc88e318cac1e54a5903cd5295817 Mon Sep 17 00:00:00 2001 From: Baldur Karlsson Date: Mon, 28 Jul 2014 12:03:54 +0100 Subject: [PATCH] Return correct ResourceFormat for GL depth formats --- renderdoc/driver/gl/gl_common.cpp | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/renderdoc/driver/gl/gl_common.cpp b/renderdoc/driver/gl/gl_common.cpp index 4b95447c0..205072728 100644 --- a/renderdoc/driver/gl/gl_common.cpp +++ b/renderdoc/driver/gl/gl_common.cpp @@ -142,11 +142,32 @@ ResourceFormat MakeResourceFormat(WrappedOpenGL &gl, GLenum target, GLenum fmt) else if(isdepth == GL_TRUE || isstencil == GL_TRUE) { // depth format - GLNOTIMP("Not getting depth format yet"); - ret.specialFormat = eSpecial_D24S8; - ret.special = true; - ret.compType = eCompType_Depth; + + switch(fmt) + { + case eGL_DEPTH_COMPONENT16: + ret.compByteWidth = 2; + ret.compCount = 1; + break; + case eGL_DEPTH_COMPONENT24: + ret.compByteWidth = 3; + ret.compCount = 1; + break; + case eGL_DEPTH_COMPONENT32: + case eGL_DEPTH_COMPONENT32F: + ret.compByteWidth = 4; + ret.compCount = 1; + break; + case eGL_DEPTH24_STENCIL8: + ret.specialFormat = eSpecial_D24S8; + ret.special = true; + break; + case eGL_DEPTH32F_STENCIL8: + ret.specialFormat = eSpecial_D32S8; + ret.special = true; + break; + } } else {