diff --git a/renderdoc/driver/gl/gl_replay.cpp b/renderdoc/driver/gl/gl_replay.cpp index 16842c6db..09bb9ed0c 100644 --- a/renderdoc/driver/gl/gl_replay.cpp +++ b/renderdoc/driver/gl/gl_replay.cpp @@ -421,6 +421,18 @@ bool GLReplay::IsRenderOutput(ResourceId id) return false; } +FetchTexture GLReplay::GetTexture(ResourceId id) +{ + auto it = m_CachedTextures.find(id); + if(it == m_CachedTextures.end()) + { + CacheTexture(id); + return m_CachedTextures[id]; + } + + return it->second; +} + void GLReplay::CacheTexture(ResourceId id) { FetchTexture tex; diff --git a/renderdoc/driver/gl/gl_replay.h b/renderdoc/driver/gl/gl_replay.h index 87da35c1e..bdde19039 100644 --- a/renderdoc/driver/gl/gl_replay.h +++ b/renderdoc/driver/gl/gl_replay.h @@ -94,7 +94,7 @@ public: FetchBuffer GetBuffer(ResourceId id); vector GetTextures(); - FetchTexture GetTexture(ResourceId id) { return m_CachedTextures[id]; } + FetchTexture GetTexture(ResourceId id); ShaderReflection *GetShader(ResourceId shader, string entryPoint); vector GetDebugMessages();