From d46b1bfdd0435bd02d920a63e7f23afeeffaf160 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 12 Nov 2014 00:48:24 +0000 Subject: [PATCH] glCopyImageSubData just marks destination texture as dirty --- .../driver/gl/wrappers/gl_texture_funcs.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/renderdoc/driver/gl/wrappers/gl_texture_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_texture_funcs.cpp index c567308d3..5d95aabca 100644 --- a/renderdoc/driver/gl/wrappers/gl_texture_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_texture_funcs.cpp @@ -496,7 +496,7 @@ void WrappedOpenGL::glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint s dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); - if(m_State >= WRITING) + if(m_State == WRITING_CAPFRAME) { GLResourceRecord *srcrecord = GetResourceManager()->GetResourceRecord(TextureRes(GetCtx(), srcName)); GLResourceRecord *dstrecord = GetResourceManager()->GetResourceRecord(TextureRes(GetCtx(), dstName)); @@ -509,15 +509,11 @@ void WrappedOpenGL::glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint s Chunk *chunk = scope.Get(); - if(m_State == WRITING_CAPFRAME) - { - m_ContextRecord->AddChunk(chunk); - } - else - { - dstrecord->AddChunk(chunk); - dstrecord->AddParent(srcrecord); - } + m_ContextRecord->AddChunk(scope.Get()); + } + else if(m_State == WRITING_IDLE) + { + GetResourceManager()->MarkDirtyResource(TextureRes(GetCtx(), dstName)); } }