mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-11-08 06:53:41 +00:00
Serialisation support for VK_EXT_Custom_Resolve structures
This commit is contained in:
1 parent
1cd63c2d6c
commit
5c63bfa417
3 files changed
+96
-8
No files matched your search
@@ -1472,6 +1472,7 @@ DECLARE_REFLECTION_STRUCT(VkAttachmentFeedbackLoopInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkAttachmentReference2);
|
||||
DECLARE_REFLECTION_STRUCT(VkAttachmentReferenceStencilLayout);
|
||||
DECLARE_REFLECTION_STRUCT(VkAttachmentSampleLocationsEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkBeginCustomResolveInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindBufferMemoryDeviceGroupInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindBufferMemoryInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindDescriptorBufferEmbeddedSamplersInfoEXT)
|
||||
@@ -1516,6 +1517,7 @@ DECLARE_REFLECTION_STRUCT(VkCopyImageToImageInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkCopyImageToMemoryInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkCopyMemoryToAccelerationStructureInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkCopyMemoryToImageInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkCustomResolveCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDebugMarkerMarkerInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDebugMarkerObjectNameInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDebugMarkerObjectTagInfoEXT);
|
||||
@@ -1673,6 +1675,7 @@ DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceConditionalRenderingFeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceConservativeRasterizationPropertiesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceCustomBorderColorFeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceCustomBorderColorPropertiesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceCustomResolveFeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceDepthClampZeroOneFeaturesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceDepthClipControlFeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceDepthClipEnableFeaturesEXT);
|
||||
@@ -2056,6 +2059,7 @@ DECLARE_DESERIALISE_TYPE(VkCopyImageToImageInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkCopyImageToMemoryInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkCopyMemoryToAccelerationStructureInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkCopyMemoryToImageInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkBeginCustomResolveInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDebugMarkerMarkerInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDebugMarkerObjectNameInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDebugMarkerObjectTagInfoEXT);
|
||||
|
||||
@@ -109,6 +109,7 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, VkAttachmentReference2); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT, \
|
||||
VkAttachmentReferenceStencilLayout); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT, VkBeginCustomResolveInfoEXT); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, \
|
||||
VkBindBufferMemoryDeviceGroupInfo); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, \
|
||||
@@ -271,6 +272,8 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
|
||||
VkPhysicalDeviceCustomBorderColorFeaturesEXT); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT, \
|
||||
VkPhysicalDeviceCustomBorderColorPropertiesEXT); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT, \
|
||||
VkPhysicalDeviceCustomResolveFeaturesEXT); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, \
|
||||
VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR, \
|
||||
@@ -1002,7 +1005,6 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
|
||||
case VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD: \
|
||||
case VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD: \
|
||||
case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: \
|
||||
case VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT: \
|
||||
case VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV: \
|
||||
case VK_STRUCTURE_TYPE_BIND_DATA_GRAPH_PIPELINE_SESSION_MEMORY_INFO_ARM: \
|
||||
case VK_STRUCTURE_TYPE_BIND_HEAP_INFO_EXT: \
|
||||
@@ -1044,7 +1046,6 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
|
||||
case VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX: \
|
||||
case VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX: \
|
||||
case VK_STRUCTURE_TYPE_CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX: \
|
||||
case VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT: \
|
||||
case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM: \
|
||||
case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM: \
|
||||
case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_ARM: \
|
||||
@@ -1216,7 +1217,6 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT: \
|
||||
@@ -1679,6 +1679,14 @@ size_t GetNextPatchSize(const void *pNext)
|
||||
memSize += GetNextPatchSize(info->pRegions[i].pNext);
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT:
|
||||
{
|
||||
memSize += sizeof(VkCustomResolveCreateInfoEXT);
|
||||
|
||||
VkCustomResolveCreateInfoEXT *info = (VkCustomResolveCreateInfoEXT *)next;
|
||||
memSize += info->colorAttachmentCount * sizeof(VkFormat);
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_DEPENDENCY_INFO:
|
||||
{
|
||||
memSize += sizeof(VkDependencyInfo);
|
||||
@@ -2579,6 +2587,26 @@ void UnwrapNextChain(CaptureState state, const char *structName, byte *&tempMem,
|
||||
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT:
|
||||
{
|
||||
const VkCustomResolveCreateInfoEXT *in = (const VkCustomResolveCreateInfoEXT *)nextInput;
|
||||
VkCustomResolveCreateInfoEXT *out = (VkCustomResolveCreateInfoEXT *)tempMem;
|
||||
|
||||
// append immediately so tempMem is incremented
|
||||
AppendModifiedChainedStruct(tempMem, out, nextChainTail);
|
||||
|
||||
// allocate unwrapped array
|
||||
VkFormat *outFormats = (VkFormat *)tempMem;
|
||||
tempMem += sizeof(VkFormat) * in->colorAttachmentCount;
|
||||
|
||||
*out = *in;
|
||||
|
||||
out->pColorAttachmentFormats = outFormats;
|
||||
for(uint32_t i = 0; i < in->colorAttachmentCount; i++)
|
||||
outFormats[i] = in->pColorAttachmentFormats[i];
|
||||
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_DEPENDENCY_INFO:
|
||||
{
|
||||
const VkDependencyInfo *in = (const VkDependencyInfo *)nextInput;
|
||||
@@ -3698,6 +3726,10 @@ void CopyNextChainForPatching(const char *structName, byte *&tempMem, VkBaseInSt
|
||||
case VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2:
|
||||
CopyNextChainedStruct(sizeof(VkCopyImageInfo2), tempMem, nextInput, nextChainTail);
|
||||
break;
|
||||
case VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT:
|
||||
CopyNextChainedStruct(sizeof(VkCustomResolveCreateInfoEXT), tempMem, nextInput,
|
||||
nextChainTail);
|
||||
break;
|
||||
case VK_STRUCTURE_TYPE_DEPENDENCY_INFO:
|
||||
CopyNextChainedStruct(sizeof(VkDependencyInfo), tempMem, nextInput, nextChainTail);
|
||||
break;
|
||||
|
||||
@@ -606,6 +606,12 @@ SERIALISE_VK_HANDLES();
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, \
|
||||
VkPhysicalDeviceCustomBorderColorFeaturesEXT) \
|
||||
\
|
||||
/* VK_EXT_custom_resolve */ \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT, \
|
||||
VkPhysicalDeviceCustomResolveFeaturesEXT) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT, VkBeginCustomResolveInfoEXT) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT, VkCustomResolveCreateInfoEXT) \
|
||||
\
|
||||
/* VK_EXT_debug_marker */ \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT, VkDebugMarkerObjectNameInfoEXT) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT, VkDebugMarkerObjectTagInfoEXT) \
|
||||
@@ -1820,11 +1826,6 @@ SERIALISE_VK_HANDLES();
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT) \
|
||||
\
|
||||
/* VK_EXT_custom_resolve */ \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT) \
|
||||
\
|
||||
/* VK_EXT_depth_bias_control */ \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT) \
|
||||
@@ -6486,6 +6487,22 @@ void Deserialise(const VkPhysicalDeviceCustomBorderColorFeaturesEXT &el)
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkPhysicalDeviceCustomResolveFeaturesEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() ||
|
||||
el.sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(customResolve);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkPhysicalDeviceCustomResolveFeaturesEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkPipelineTessellationDomainOriginStateCreateInfo &el)
|
||||
{
|
||||
@@ -14831,6 +14848,39 @@ void Deserialise(const VkMemoryToImageCopy &el)
|
||||
FreeAlignedBuffer((byte *)el.pHostPointer);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkBeginCustomResolveInfoEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() || el.sType == VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkBeginCustomResolveInfoEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkCustomResolveCreateInfoEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() || el.sType == VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(customResolve);
|
||||
SERIALISE_MEMBER(colorAttachmentCount);
|
||||
SERIALISE_MEMBER_ARRAY(pColorAttachmentFormats, colorAttachmentCount);
|
||||
SERIALISE_MEMBER(depthAttachmentFormat);
|
||||
SERIALISE_MEMBER(stencilAttachmentFormat);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkCustomResolveCreateInfoEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
delete[] el.pColorAttachmentFormats;
|
||||
}
|
||||
|
||||
// pNext structs - always have deserialise for the next chain
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAccelerationStructureBuildGeometryInfoKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAccelerationStructureBuildSizesInfoKHR);
|
||||
@@ -14851,6 +14901,7 @@ INSTANTIATE_SERIALISE_TYPE(VkAttachmentFeedbackLoopInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAttachmentReference2);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAttachmentReferenceStencilLayout);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAttachmentSampleLocationsEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkBeginCustomResolveInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkBindBufferMemoryDeviceGroupInfo);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkBindBufferMemoryInfo);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkBindDescriptorBufferEmbeddedSamplersInfoEXT);
|
||||
@@ -15052,6 +15103,7 @@ INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceConditionalRenderingFeaturesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceConservativeRasterizationPropertiesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceCustomBorderColorFeaturesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceCustomBorderColorPropertiesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceCustomResolveFeaturesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceDepthClampZeroOneFeaturesKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceDepthClipControlFeaturesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceDepthClipEnableFeaturesEXT);
|
||||
|
||||
Reference in new issue
Block a user