From 86c5c70a1320dc1de2c78b4a1aacff6d81540bff Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 21 Apr 2020 13:04:33 +0100 Subject: [PATCH] Fix packed format (uintten/unormten) use in the buffer viewer --- qrenderdoc/Code/BufferFormatter.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/qrenderdoc/Code/BufferFormatter.cpp b/qrenderdoc/Code/BufferFormatter.cpp index 744ddade5..e0e90c571 100644 --- a/qrenderdoc/Code/BufferFormatter.cpp +++ b/qrenderdoc/Code/BufferFormatter.cpp @@ -918,6 +918,19 @@ ResourceFormat GetInterpretedResourceFormat(const ShaderConstant &elem) else format.compCount = elem.type.descriptor.rows; + // packed formats with fixed component counts multiply up the component count + switch(format.type) + { + case ResourceFormatType::R10G10B10A2: + case ResourceFormatType::R5G5B5A1: + case ResourceFormatType::R4G4B4A4: format.compCount *= 4; break; + case ResourceFormatType::R11G11B10: + case ResourceFormatType::R9G9B9E5: + case ResourceFormatType::R5G6B5: format.compCount *= 3; break; + case ResourceFormatType::R4G4: format.compCount *= 2; break; + default: break; + } + return format; }