From bb3fb53a2f4aad02fdeab1f9355cc16d7bccf953 Mon Sep 17 00:00:00 2001 From: Michael Rennie Date: Wed, 12 Jul 2017 16:03:41 +0100 Subject: [PATCH] GetSizedFormat fix for types that imply an internalFormat. Previously we chose GL_RGB8, which was invalid for these types. --- renderdoc/driver/gl/gl_resources.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/renderdoc/driver/gl/gl_resources.cpp b/renderdoc/driver/gl/gl_resources.cpp index 0e8f8fa4f..d82678f6c 100644 --- a/renderdoc/driver/gl/gl_resources.cpp +++ b/renderdoc/driver/gl/gl_resources.cpp @@ -521,6 +521,15 @@ int GetNumMips(const GLHookSet &gl, GLenum target, GLuint tex, GLuint w, GLuint GLenum GetSizedFormat(const GLHookSet &gl, GLenum target, GLenum internalFormat, GLenum type) { + switch(type) + { + // some types imply a sized internalFormat + case eGL_UNSIGNED_SHORT_5_6_5: return eGL_RGB565; + case eGL_UNSIGNED_SHORT_4_4_4_4: return eGL_RGBA4; + case eGL_UNSIGNED_SHORT_5_5_5_1: return eGL_RGB5_A1; + default: break; + } + switch(internalFormat) { // pick sized format ourselves for generic formats