From ac1a680b47f9df43e7a5edcf4a831d8102284bdb Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 16 Oct 2024 18:10:13 +0100 Subject: [PATCH] Redeclare bitfields in structs when declaring types --- qrenderdoc/Code/BufferFormatter.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/qrenderdoc/Code/BufferFormatter.cpp b/qrenderdoc/Code/BufferFormatter.cpp index 3c9f96820..4216895ee 100644 --- a/qrenderdoc/Code/BufferFormatter.cpp +++ b/qrenderdoc/Code/BufferFormatter.cpp @@ -2808,7 +2808,13 @@ QString BufferFormatter::DeclareStruct(Packing::Rules pack, ResourceId shader, ret += lit("// unexpected matrix stride %1").arg(members[i].type.matrixByteStride); } - ret += QFormatStr(" %1 %2%3;\n").arg(varTypeName).arg(varName).arg(arraySize); + QString bitfieldSize; + + if(members[i].bitFieldSize > 0) + bitfieldSize = QFormatStr(" : %1").arg(members[i].bitFieldSize); + + ret += + QFormatStr(" %1 %2%3%4;\n").arg(varTypeName).arg(varName).arg(arraySize).arg(bitfieldSize); } // if we don't have tight arrays, struct byte strides are always 16-byte aligned