From 100f644bd4b0a8115cbc1a5a6e9fdda064bff6a0 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 10 Nov 2014 23:15:20 +0000 Subject: [PATCH] Use mip dimensions rather than full image dimensions --- renderdoc/driver/gl/gl_manager.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/renderdoc/driver/gl/gl_manager.cpp b/renderdoc/driver/gl/gl_manager.cpp index 7d0424f99..20a7aa991 100644 --- a/renderdoc/driver/gl/gl_manager.cpp +++ b/renderdoc/driver/gl/gl_manager.cpp @@ -436,8 +436,8 @@ bool GLResourceManager::Serialise_InitialState(GLResource res) { for(int i=0; i < mips; i++) { - uint32_t w = RDCMAX(width>>i, 4U); - uint32_t h = RDCMAX(height>>i, 4U); + uint32_t w = RDCMAX(width>>i, 1U); + uint32_t h = RDCMAX(height>>i, 1U); uint32_t d = RDCMAX(depth>>i, 1U); GLenum targets[] = { @@ -465,11 +465,11 @@ bool GLResourceManager::Serialise_InitialState(GLResource res) m_pSerialiser->SerialiseBuffer("image", buf, size); if(dim == 1) - gl.glCompressedTextureSubImage1DEXT(tex, targets[trg], i, 0, width, internalformat, (GLsizei)size, buf); + gl.glCompressedTextureSubImage1DEXT(tex, targets[trg], i, 0, w, internalformat, (GLsizei)size, buf); else if(dim == 2) - gl.glCompressedTextureSubImage2DEXT(tex, targets[trg], i, 0, 0, width, height, internalformat, (GLsizei)size, buf); + gl.glCompressedTextureSubImage2DEXT(tex, targets[trg], i, 0, 0, w, h, internalformat, (GLsizei)size, buf); else if(dim == 3) - gl.glCompressedTextureSubImage3DEXT(tex, targets[trg], i, 0, 0, 0, width, height, depth, internalformat, (GLsizei)size, buf); + gl.glCompressedTextureSubImage3DEXT(tex, targets[trg], i, 0, 0, 0, w, h, d, internalformat, (GLsizei)size, buf); delete[] buf; } @@ -510,11 +510,11 @@ bool GLResourceManager::Serialise_InitialState(GLResource res) m_pSerialiser->SerialiseBuffer("image", buf, size); if(dim == 1) - gl.glTextureSubImage1DEXT(tex, targets[trg], i, 0, width, fmt, type, buf); + gl.glTextureSubImage1DEXT(tex, targets[trg], i, 0, w, fmt, type, buf); else if(dim == 2) - gl.glTextureSubImage2DEXT(tex, targets[trg], i, 0, 0, width, height, fmt, type, buf); + gl.glTextureSubImage2DEXT(tex, targets[trg], i, 0, 0, w, h, fmt, type, buf); else if(dim == 3) - gl.glTextureSubImage3DEXT(tex, targets[trg], i, 0, 0, 0, width, height, depth, fmt, type, buf); + gl.glTextureSubImage3DEXT(tex, targets[trg], i, 0, 0, 0, w, h, d, fmt, type, buf); delete[] buf; }