From 7cbb1dfd2a425189ec43f6d0adbb1baf983f7fed Mon Sep 17 00:00:00 2001 From: David McFarland Date: Mon, 18 Dec 2017 22:18:45 -0400 Subject: [PATCH] Set TextureDescription.resType in image_viewer This fixes image_viewer on gl_replay. Previously, images would show up as . --- renderdoc/core/image_viewer.cpp | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/renderdoc/core/image_viewer.cpp b/renderdoc/core/image_viewer.cpp index 9a11f5576..25ad813d0 100644 --- a/renderdoc/core/image_viewer.cpp +++ b/renderdoc/core/image_viewer.cpp @@ -432,6 +432,7 @@ void ImageViewer::RefreshFile() texDetails.format = rgba8_unorm; // reasonable defaults + texDetails.resType = TextureDim::Texture2D; texDetails.dimension = 2; texDetails.arraysize = 1; texDetails.width = 1; @@ -590,11 +591,29 @@ void ImageViewer::RefreshFile() texDetails.depth = read_data.depth; texDetails.mips = read_data.mips; texDetails.format = read_data.format; - texDetails.dimension = 1; - if(texDetails.width > 1) - texDetails.dimension = 2; if(texDetails.depth > 1) + { + texDetails.resType = TextureDim::Texture3D; texDetails.dimension = 3; + } + else if(texDetails.cubemap) + { + texDetails.resType = + texDetails.arraysize > 1 ? TextureDim::TextureCubeArray : TextureDim::TextureCube; + texDetails.dimension = 2; + } + else if(texDetails.width > 1) + { + texDetails.resType = + texDetails.arraysize > 1 ? TextureDim::Texture2DArray : TextureDim::Texture2D; + texDetails.dimension = 2; + } + else + { + texDetails.resType = + texDetails.arraysize > 1 ? TextureDim::Texture1DArray : TextureDim::Texture1D; + texDetails.dimension = 1; + } m_FrameRecord.frameInfo.uncompressedFileSize = 0; for(uint32_t i = 0; i < texDetails.arraysize * texDetails.mips; i++)