From 6b3dc39b682ca0c12a81abb322139a3be3d3e748 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 12 Aug 2019 20:47:31 +0100 Subject: [PATCH] Handle GL_RGBA2 texture format as if it were GL_RGBA8 --- renderdoc/driver/gl/gl_common.cpp | 8 ++++++++ renderdoc/driver/gl/gl_resources.cpp | 1 + 2 files changed, 9 insertions(+) diff --git a/renderdoc/driver/gl/gl_common.cpp b/renderdoc/driver/gl/gl_common.cpp index 01545cea8..1c8e55de8 100644 --- a/renderdoc/driver/gl/gl_common.cpp +++ b/renderdoc/driver/gl/gl_common.cpp @@ -1782,6 +1782,14 @@ ResourceFormat MakeResourceFormat(GLenum target, GLenum fmt) ret.compType = CompType::UNorm; return ret; } + else if(fmt == eGL_RGBA2) + { + // pretend it's RGBA8 and hope for the best + ret.compByteWidth = 1; + ret.compCount = 4; + ret.compType = CompType::UNorm; + return ret; + } if(IsCompressedFormat(fmt)) { diff --git a/renderdoc/driver/gl/gl_resources.cpp b/renderdoc/driver/gl/gl_resources.cpp index 4036cf19c..b84dff093 100644 --- a/renderdoc/driver/gl/gl_resources.cpp +++ b/renderdoc/driver/gl/gl_resources.cpp @@ -533,6 +533,7 @@ GLenum GetDataType(GLenum internalFormat) case eGL_R3_G3_B2: return eGL_UNSIGNED_BYTE_3_3_2; case eGL_RGB4: case eGL_RGBA4: return eGL_UNSIGNED_SHORT_4_4_4_4; + case eGL_RGBA2: return eGL_UNSIGNED_BYTE; case eGL_RGB5_A1: return eGL_UNSIGNED_SHORT_5_5_5_1; case eGL_RGB565: case eGL_RGB5: return eGL_UNSIGNED_SHORT_5_6_5;