mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-29 21:30:53 +00:00
Specify original Vk*Flags in structured data instead of coerced FlagBits
* We coerce the type to the FlagBits enum for serialisation so the stringification picks up the bits properly. However the variable is properly typed as just 'Flags' which is a uint32_t typedef, so manually specify its typename afterwards.
This commit is contained in:
@@ -1096,6 +1096,7 @@ DECLARE_REFLECTION_ENUM(VkCommandPoolResetFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkCompareOp);
|
||||
DECLARE_REFLECTION_ENUM(VkComponentSwizzle);
|
||||
DECLARE_REFLECTION_ENUM(VkCompositeAlphaFlagBitsKHR);
|
||||
DECLARE_REFLECTION_ENUM(VkConditionalRenderingFlagBitsEXT);
|
||||
DECLARE_REFLECTION_ENUM(VkConservativeRasterizationModeEXT);
|
||||
DECLARE_REFLECTION_ENUM(VkCullModeFlagBits);
|
||||
DECLARE_REFLECTION_ENUM(VkDebugReportFlagBitsEXT);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -740,6 +740,16 @@ std::string DoStringise(const VkDebugUtilsMessageSeverityFlagBitsEXT &el)
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkConditionalRenderingFlagBitsEXT &el)
|
||||
{
|
||||
BEGIN_BITFIELD_STRINGISE(VkConditionalRenderingFlagBitsEXT);
|
||||
{
|
||||
STRINGISE_BITFIELD_BIT(VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT);
|
||||
}
|
||||
END_BITFIELD_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
std::string DoStringise(const VkDebugUtilsMessageTypeFlagBitsEXT &el)
|
||||
{
|
||||
|
||||
@@ -2411,7 +2411,7 @@ bool WrappedVulkan::Serialise_vkCmdPushConstants(SerialiserType &ser, VkCommandB
|
||||
{
|
||||
SERIALISE_ELEMENT(commandBuffer);
|
||||
SERIALISE_ELEMENT(layout);
|
||||
SERIALISE_ELEMENT_TYPED(VkShaderStageFlagBits, stageFlags);
|
||||
SERIALISE_ELEMENT_TYPED(VkShaderStageFlagBits, stageFlags).TypedAs("VkShaderStageFlags");
|
||||
SERIALISE_ELEMENT(start);
|
||||
SERIALISE_ELEMENT(length);
|
||||
SERIALISE_ELEMENT_ARRAY(values, length);
|
||||
@@ -2487,9 +2487,9 @@ bool WrappedVulkan::Serialise_vkCmdPipelineBarrier(
|
||||
uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier *pImageMemoryBarriers)
|
||||
{
|
||||
SERIALISE_ELEMENT(commandBuffer);
|
||||
SERIALISE_ELEMENT_TYPED(VkPipelineStageFlagBits, srcStageMask);
|
||||
SERIALISE_ELEMENT_TYPED(VkPipelineStageFlagBits, destStageMask);
|
||||
SERIALISE_ELEMENT_TYPED(VkDependencyFlagBits, dependencyFlags);
|
||||
SERIALISE_ELEMENT_TYPED(VkPipelineStageFlagBits, srcStageMask).TypedAs("VkPipelineStageFlags");
|
||||
SERIALISE_ELEMENT_TYPED(VkPipelineStageFlagBits, destStageMask).TypedAs("VkPipelineStageFlags");
|
||||
SERIALISE_ELEMENT_TYPED(VkDependencyFlagBits, dependencyFlags).TypedAs("VkDependencyFlags");
|
||||
SERIALISE_ELEMENT(memoryBarrierCount);
|
||||
SERIALISE_ELEMENT_ARRAY(pMemoryBarriers, memoryBarrierCount);
|
||||
SERIALISE_ELEMENT(bufferMemoryBarrierCount);
|
||||
@@ -2710,7 +2710,7 @@ bool WrappedVulkan::Serialise_vkCmdCopyQueryPoolResults(
|
||||
SERIALISE_ELEMENT(destBuffer);
|
||||
SERIALISE_ELEMENT(destOffset);
|
||||
SERIALISE_ELEMENT(destStride);
|
||||
SERIALISE_ELEMENT_TYPED(VkQueryResultFlagBits, flags);
|
||||
SERIALISE_ELEMENT_TYPED(VkQueryResultFlagBits, flags).TypedAs("VkQueryResultFlags");
|
||||
|
||||
Serialise_DebugMessages(ser);
|
||||
|
||||
@@ -2784,7 +2784,7 @@ bool WrappedVulkan::Serialise_vkCmdBeginQuery(SerialiserType &ser, VkCommandBuff
|
||||
SERIALISE_ELEMENT(commandBuffer);
|
||||
SERIALISE_ELEMENT(queryPool);
|
||||
SERIALISE_ELEMENT(query);
|
||||
SERIALISE_ELEMENT_TYPED(VkQueryControlFlagBits, flags);
|
||||
SERIALISE_ELEMENT_TYPED(VkQueryControlFlagBits, flags).TypedAs("VkQueryControlFlags");
|
||||
|
||||
Serialise_DebugMessages(ser);
|
||||
|
||||
@@ -4659,7 +4659,7 @@ bool WrappedVulkan::Serialise_vkCmdBeginQueryIndexedEXT(SerialiserType &ser,
|
||||
SERIALISE_ELEMENT(commandBuffer);
|
||||
SERIALISE_ELEMENT(queryPool);
|
||||
SERIALISE_ELEMENT(query);
|
||||
SERIALISE_ELEMENT_TYPED(VkQueryControlFlagBits, flags);
|
||||
SERIALISE_ELEMENT_TYPED(VkQueryControlFlagBits, flags).TypedAs("VkQueryControlFlags");
|
||||
SERIALISE_ELEMENT(index);
|
||||
|
||||
Serialise_DebugMessages(ser);
|
||||
|
||||
@@ -410,7 +410,7 @@ bool WrappedVulkan::Serialise_vkCmdSetStencilCompareMask(SerialiserType &ser,
|
||||
uint32_t compareMask)
|
||||
{
|
||||
SERIALISE_ELEMENT(commandBuffer);
|
||||
SERIALISE_ELEMENT_TYPED(VkStencilFaceFlagBits, faceMask);
|
||||
SERIALISE_ELEMENT_TYPED(VkStencilFaceFlagBits, faceMask).TypedAs("VkStencilFaceFlags");
|
||||
SERIALISE_ELEMENT(compareMask);
|
||||
|
||||
Serialise_DebugMessages(ser);
|
||||
@@ -476,7 +476,7 @@ bool WrappedVulkan::Serialise_vkCmdSetStencilWriteMask(SerialiserType &ser,
|
||||
uint32_t writeMask)
|
||||
{
|
||||
SERIALISE_ELEMENT(commandBuffer);
|
||||
SERIALISE_ELEMENT_TYPED(VkStencilFaceFlagBits, faceMask);
|
||||
SERIALISE_ELEMENT_TYPED(VkStencilFaceFlagBits, faceMask).TypedAs("VkStencilFaceFlags");
|
||||
SERIALISE_ELEMENT(writeMask);
|
||||
|
||||
Serialise_DebugMessages(ser);
|
||||
@@ -542,7 +542,7 @@ bool WrappedVulkan::Serialise_vkCmdSetStencilReference(SerialiserType &ser,
|
||||
uint32_t reference)
|
||||
{
|
||||
SERIALISE_ELEMENT(commandBuffer);
|
||||
SERIALISE_ELEMENT_TYPED(VkStencilFaceFlagBits, faceMask);
|
||||
SERIALISE_ELEMENT_TYPED(VkStencilFaceFlagBits, faceMask).TypedAs("VkStencilFaceFlags");
|
||||
SERIALISE_ELEMENT(reference);
|
||||
|
||||
Serialise_DebugMessages(ser);
|
||||
|
||||
@@ -615,7 +615,7 @@ bool WrappedVulkan::Serialise_vkCmdSetEvent(SerialiserType &ser, VkCommandBuffer
|
||||
{
|
||||
SERIALISE_ELEMENT(commandBuffer);
|
||||
SERIALISE_ELEMENT(event);
|
||||
SERIALISE_ELEMENT_TYPED(VkPipelineStageFlagBits, stageMask);
|
||||
SERIALISE_ELEMENT_TYPED(VkPipelineStageFlagBits, stageMask).TypedAs("VkPipelineStageFlags");
|
||||
|
||||
Serialise_DebugMessages(ser);
|
||||
|
||||
@@ -670,7 +670,7 @@ bool WrappedVulkan::Serialise_vkCmdResetEvent(SerialiserType &ser, VkCommandBuff
|
||||
{
|
||||
SERIALISE_ELEMENT(commandBuffer);
|
||||
SERIALISE_ELEMENT(event);
|
||||
SERIALISE_ELEMENT_TYPED(VkPipelineStageFlagBits, stageMask);
|
||||
SERIALISE_ELEMENT_TYPED(VkPipelineStageFlagBits, stageMask).TypedAs("VkPipelineStageFlags");
|
||||
|
||||
Serialise_DebugMessages(ser);
|
||||
|
||||
@@ -735,8 +735,8 @@ bool WrappedVulkan::Serialise_vkCmdWaitEvents(
|
||||
SERIALISE_ELEMENT(eventCount);
|
||||
SERIALISE_ELEMENT_ARRAY(pEvents, eventCount);
|
||||
|
||||
SERIALISE_ELEMENT_TYPED(VkPipelineStageFlagBits, srcStageMask);
|
||||
SERIALISE_ELEMENT_TYPED(VkPipelineStageFlagBits, dstStageMask);
|
||||
SERIALISE_ELEMENT_TYPED(VkPipelineStageFlagBits, srcStageMask).TypedAs("VkPipelineStageFlags");
|
||||
SERIALISE_ELEMENT_TYPED(VkPipelineStageFlagBits, dstStageMask).TypedAs("VkPipelineStageFlags");
|
||||
|
||||
SERIALISE_ELEMENT(memoryBarrierCount);
|
||||
SERIALISE_ELEMENT_ARRAY(pMemoryBarriers, memoryBarrierCount);
|
||||
|
||||
@@ -1323,7 +1323,13 @@ public:
|
||||
SDObject ¤t = *m_StructureStack.back();
|
||||
|
||||
if(!current.data.children.empty())
|
||||
current.data.children.back()->type.name = name;
|
||||
{
|
||||
SDObject *last = current.data.children.back();
|
||||
last->type.name = name;
|
||||
|
||||
for(SDObject *obj : last->data.children)
|
||||
obj->type.name = name;
|
||||
}
|
||||
}
|
||||
|
||||
return *this;
|
||||
|
||||
Reference in New Issue
Block a user