From ed971316b1fa2975a9e0fa15c0eb69e865caff9b Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 9 Jun 2015 21:22:14 +0200 Subject: [PATCH] Handle weird unexplained case where texture dimensions query as 0x0x0 --- renderdoc/driver/gl/gl_replay.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/renderdoc/driver/gl/gl_replay.cpp b/renderdoc/driver/gl/gl_replay.cpp index 2d96fc717..ad91a183f 100644 --- a/renderdoc/driver/gl/gl_replay.cpp +++ b/renderdoc/driver/gl/gl_replay.cpp @@ -472,6 +472,14 @@ void GLReplay::CacheTexture(ResourceId id) gl.glGetTextureLevelParameterivEXT(res.resource.name, levelQueryType, 0, eGL_TEXTURE_DEPTH, &depth); gl.glGetTextureLevelParameterivEXT(res.resource.name, levelQueryType, 0, eGL_TEXTURE_SAMPLES, &samples); + // the above queries sometimes come back 0, if we have dimensions from creation functions, use those + if(width == 0 && res.width > 0) + width = res.width; + if(height == 0 && res.height > 0) + height = res.height; + if(depth == 0 && res.depth > 0) + depth = res.depth; + if(res.width == 0 && width > 0) { RDCWARN("TextureData::width didn't get filled out, setting at last minute");