diff --git a/renderdoc/api/replay/structured_data.h b/renderdoc/api/replay/structured_data.h index 17e934a40..6673b157c 100644 --- a/renderdoc/api/replay/structured_data.h +++ b/renderdoc/api/replay/structured_data.h @@ -130,6 +130,11 @@ DOCUMENT(R"(Bitfield flags that could be applied to a type. .. data:: NullString Special flag to indicate that this is a C-string which was NULL, not just empty. + +.. data:: FixedArray + + Special flag to indicate that this is array was a fixed-size real array, rather than a complex + container type or a pointer & length. )"); enum class SDTypeFlags : uint32_t { @@ -138,6 +143,7 @@ enum class SDTypeFlags : uint32_t Hidden = 0x2, Nullable = 0x4, NullString = 0x8, + FixedArray = 0x10, }; BITMASK_OPERATORS(SDTypeFlags); diff --git a/renderdoc/serialise/serialiser.h b/renderdoc/serialise/serialiser.h index bdfe8fd0b..34367d156 100644 --- a/renderdoc/serialise/serialiser.h +++ b/renderdoc/serialise/serialiser.h @@ -538,6 +538,7 @@ public: SDObject &arr = *m_StructureStack.back(); arr.type.basetype = SDBasic::Array; arr.type.byteSize = N; + arr.type.flags |= SDTypeFlags::FixedArray; arr.data.basic.numChildren = (uint64_t)N; arr.data.children.resize(N);