mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-29 21:30:53 +00:00
Stringise flags properly in serialisation
This commit is contained in:
@@ -58,53 +58,6 @@ VkDeviceSize IndexTypeSize(VkIndexType type)
|
||||
}
|
||||
}
|
||||
|
||||
DECLARE_STRINGISE_TYPE(VkAccelerationStructureInfo::GeometryData::Triangles);
|
||||
DECLARE_STRINGISE_TYPE(VkAccelerationStructureInfo::GeometryData::Aabbs);
|
||||
DECLARE_STRINGISE_TYPE(VkAccelerationStructureInfo::GeometryData);
|
||||
DECLARE_STRINGISE_TYPE(VkAccelerationStructureInfo);
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkAccelerationStructureInfo::GeometryData::Triangles &el)
|
||||
{
|
||||
SERIALISE_MEMBER(vertexFormat);
|
||||
SERIALISE_MEMBER(vertexStride);
|
||||
SERIALISE_MEMBER(maxVertex);
|
||||
SERIALISE_MEMBER(indexType);
|
||||
}
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAccelerationStructureInfo::GeometryData::Triangles);
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkAccelerationStructureInfo::GeometryData::Aabbs &el)
|
||||
{
|
||||
SERIALISE_MEMBER(stride);
|
||||
}
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAccelerationStructureInfo::GeometryData::Aabbs);
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkAccelerationStructureInfo::GeometryData &el)
|
||||
{
|
||||
SERIALISE_MEMBER(geometryType);
|
||||
SERIALISE_MEMBER_TYPED(VkGeometryFlagBitsKHR, flags).TypedAs("VkGeometryFlagsKHR"_lit);
|
||||
|
||||
SERIALISE_MEMBER(tris);
|
||||
SERIALISE_MEMBER(aabbs);
|
||||
|
||||
SERIALISE_MEMBER(buildRangeInfo);
|
||||
SERIALISE_MEMBER(memOffset);
|
||||
}
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAccelerationStructureInfo::GeometryData);
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkAccelerationStructureInfo &el)
|
||||
{
|
||||
SERIALISE_MEMBER(type);
|
||||
SERIALISE_MEMBER_TYPED(VkBuildAccelerationStructureFlagBitsKHR, flags)
|
||||
.TypedAs("VkBuildAccelerationStructureFlagsKHR"_lit);
|
||||
SERIALISE_MEMBER(geometryData);
|
||||
SERIALISE_MEMBER(memSize);
|
||||
}
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAccelerationStructureInfo);
|
||||
|
||||
VkAccelerationStructureInfo::~VkAccelerationStructureInfo()
|
||||
{
|
||||
readbackMem.Destroy();
|
||||
|
||||
@@ -85,6 +85,11 @@ private:
|
||||
int32_t refCount = 1;
|
||||
};
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(VkAccelerationStructureInfo::GeometryData::Triangles);
|
||||
DECLARE_REFLECTION_STRUCT(VkAccelerationStructureInfo::GeometryData::Aabbs);
|
||||
DECLARE_REFLECTION_STRUCT(VkAccelerationStructureInfo::GeometryData);
|
||||
DECLARE_REFLECTION_STRUCT(VkAccelerationStructureInfo);
|
||||
|
||||
class VulkanAccelerationStructureManager
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -12449,6 +12449,45 @@ void DoSerialise(SerialiserType &ser, VkStridedDeviceAddressRegionKHR &el)
|
||||
SERIALISE_MEMBER(size);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkAccelerationStructureInfo::GeometryData::Triangles &el)
|
||||
{
|
||||
SERIALISE_MEMBER(vertexFormat);
|
||||
SERIALISE_MEMBER(vertexStride);
|
||||
SERIALISE_MEMBER(maxVertex);
|
||||
SERIALISE_MEMBER(indexType);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkAccelerationStructureInfo::GeometryData::Aabbs &el)
|
||||
{
|
||||
SERIALISE_MEMBER(stride);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkAccelerationStructureInfo::GeometryData &el)
|
||||
{
|
||||
SERIALISE_MEMBER(geometryType);
|
||||
SERIALISE_MEMBER_VKFLAGS(VkGeometryFlagsKHR, flags);
|
||||
|
||||
SERIALISE_MEMBER(tris);
|
||||
SERIALISE_MEMBER(aabbs);
|
||||
|
||||
SERIALISE_MEMBER(buildRangeInfo);
|
||||
SERIALISE_MEMBER(memOffset);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkAccelerationStructureInfo &el)
|
||||
{
|
||||
SERIALISE_MEMBER(type);
|
||||
SERIALISE_MEMBER_VKFLAGS(VkBuildAccelerationStructureFlagsKHR, flags);
|
||||
SERIALISE_MEMBER(geometryData);
|
||||
SERIALISE_MEMBER(memSize);
|
||||
}
|
||||
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAccelerationStructureInfo);
|
||||
|
||||
// pNext structs - always have deserialise for the next chain
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAccelerationStructureBuildGeometryInfoKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAccelerationStructureBuildSizesInfoKHR);
|
||||
|
||||
Reference in New Issue
Block a user