From c66dfec7f161df469969201bea5ccb4005f09bcc Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 2 Oct 2020 14:39:06 +0100 Subject: [PATCH] Force a remap if texture type changed even if format didn't --- renderdoc/driver/gl/gl_replay.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/gl/gl_replay.cpp b/renderdoc/driver/gl/gl_replay.cpp index e1075a476..e9ad1747a 100644 --- a/renderdoc/driver/gl/gl_replay.cpp +++ b/renderdoc/driver/gl/gl_replay.cpp @@ -2434,12 +2434,13 @@ void GLReplay::GetTextureData(ResourceId tex, const Subresource &sub, remapFormat = GetViewCastedFormat(remapFormat, typeCast); - if(intFormat != remapFormat) + GLenum newtarget = (texType == eGL_TEXTURE_3D ? eGL_TEXTURE_3D : eGL_TEXTURE_2D); + + if(intFormat != remapFormat || newtarget != texType) { MakeCurrentReplayContext(m_DebugCtx); GLenum finalFormat = remapFormat; - GLenum newtarget = (texType == eGL_TEXTURE_3D ? eGL_TEXTURE_3D : eGL_TEXTURE_2D); // create temporary texture of width/height in the new format to render to drv.glGenTextures(1, &tempTex);