From fd85a981ed4ce552698d163aa0850f50a6ceac12 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 16 Sep 2015 08:27:23 +0200 Subject: [PATCH] Get sized stencil formats --- renderdoc/driver/gl/gl_resources.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/gl/gl_resources.cpp b/renderdoc/driver/gl/gl_resources.cpp index 045b3dafd..fb42aecfb 100644 --- a/renderdoc/driver/gl/gl_resources.cpp +++ b/renderdoc/driver/gl/gl_resources.cpp @@ -463,6 +463,7 @@ GLenum GetSizedFormat(const GLHookSet &gl, GLenum target, GLenum internalFormat) case eGL_RGB: case eGL_RGBA: case eGL_DEPTH_COMPONENT: + case eGL_STENCIL: case eGL_DEPTH_STENCIL: break; default: @@ -482,11 +483,12 @@ GLenum GetSizedFormat(const GLHookSet &gl, GLenum target, GLenum internalFormat) break; } - GLint red, depth; + GLint red, depth, stencil; if(gl.glGetInternalformativ) { gl.glGetInternalformativ(target, internalFormat, eGL_INTERNALFORMAT_RED_SIZE, sizeof(GLint), &red); gl.glGetInternalformativ(target, internalFormat, eGL_INTERNALFORMAT_DEPTH_SIZE, sizeof(GLint), &depth); + gl.glGetInternalformativ(target, internalFormat, eGL_INTERNALFORMAT_STENCIL_SIZE, sizeof(GLint), &stencil); } else { @@ -525,6 +527,11 @@ GLenum GetSizedFormat(const GLHookSet &gl, GLenum target, GLenum internalFormat) return eGL_RGBA16; else return eGL_RGBA8; + case eGL_STENCIL: + if(stencil == 16) + return eGL_STENCIL_INDEX16; + else + return eGL_STENCIL_INDEX8; case eGL_DEPTH_COMPONENT: if(depth == 32) return eGL_DEPTH_COMPONENT32F;