From 298200608e9fae89c5abe62c61ea7b61e6f72112 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 2 Aug 2016 13:36:20 +0200 Subject: [PATCH] Don't try to fill in non-created mips for immutable textures --- renderdoc/driver/gl/gl_manager.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/gl/gl_manager.cpp b/renderdoc/driver/gl/gl_manager.cpp index dfc77b140..2333be363 100644 --- a/renderdoc/driver/gl/gl_manager.cpp +++ b/renderdoc/driver/gl/gl_manager.cpp @@ -1172,9 +1172,15 @@ bool GLResourceManager::Serialise_InitialState(ResourceId resid, GLResource res) // the lower levels - this could happen if e.g. a texture is // init'd with glTexImage(level = 0), then after we stop tracking // it glGenerateMipmap is called - { - GLuint live = GetLiveResource(Id).name; + GLuint live = GetLiveResource(Id).name; + + // this is only relevant for non-immutable textures though + GLint immut = 0; + gl.glGetTextureParameterivEXT(live, textype, eGL_TEXTURE_IMMUTABLE_FORMAT, &immut); + + if(immut == 0) + { GLsizei w = (GLsizei)width; GLsizei h = (GLsizei)height; GLsizei d = (GLsizei)depth;