mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-23 06:56:40 +00:00
Add next chain handling and structure unwrapping for descriptor buffers
This commit is contained in:
@@ -900,6 +900,8 @@ private:
|
||||
|
||||
DECLARE_REFLECTION_STRUCT(DescriptorSetSlot);
|
||||
|
||||
constexpr uint64_t FixedOpaqueDescriptorCaptureSize = 16;
|
||||
|
||||
#define NUM_VK_IMAGE_ASPECTS 4
|
||||
#define VK_ACCESS_ALL_READ_BITS \
|
||||
(VK_ACCESS_INDIRECT_COMMAND_READ_BIT | VK_ACCESS_INDEX_READ_BIT | \
|
||||
@@ -1266,6 +1268,7 @@ SERIALISE_VK_HANDLES();
|
||||
// pNext structs - always have deserialise for the next chain
|
||||
DECLARE_REFLECTION_STRUCT(VkAccelerationStructureBuildGeometryInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkAccelerationStructureBuildSizesInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkAccelerationStructureCaptureDescriptorDataInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkAccelerationStructureCreateInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkAccelerationStructureDeviceAddressInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkAccelerationStructureGeometryAabbsDataKHR);
|
||||
@@ -1289,6 +1292,7 @@ DECLARE_REFLECTION_STRUCT(VkBindImageMemorySwapchainInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindImagePlaneMemoryInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBindSparseInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBlitImageInfo2);
|
||||
DECLARE_REFLECTION_STRUCT(VkBufferCaptureDescriptorDataInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkBufferCopy2);
|
||||
DECLARE_REFLECTION_STRUCT(VkBufferCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkBufferDeviceAddressCreateInfoEXT);
|
||||
@@ -1331,6 +1335,10 @@ DECLARE_REFLECTION_STRUCT(VkDedicatedAllocationBufferCreateInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkDedicatedAllocationImageCreateInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkDedicatedAllocationMemoryAllocateInfoNV);
|
||||
DECLARE_REFLECTION_STRUCT(VkDependencyInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorAddressInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorBufferBindingInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorBufferBindingPushDescriptorBufferHandleEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorGetInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorPoolCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorPoolInlineUniformBlockCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkDescriptorSetAllocateInfo);
|
||||
@@ -1393,6 +1401,7 @@ DECLARE_REFLECTION_STRUCT(VkGraphicsPipelineCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkGraphicsPipelineLibraryCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkHdrMetadataEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageBlit2);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageCaptureDescriptorDataInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageCompressionControlEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageCompressionPropertiesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageCopy2);
|
||||
@@ -1409,6 +1418,7 @@ DECLARE_REFLECTION_STRUCT(VkImageStencilUsageCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageSubresource2);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageSwapchainCreateInfoKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageViewASTCDecodeModeEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageViewCaptureDescriptorDataInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageViewCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageViewMinLodCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkImageViewUsageCreateInfo);
|
||||
@@ -1433,6 +1443,7 @@ DECLARE_REFLECTION_STRUCT(VkMemoryRequirements2);
|
||||
DECLARE_REFLECTION_STRUCT(VkMultisampledRenderToSingleSampledInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkMultisamplePropertiesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkMutableDescriptorTypeCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkOpaqueCaptureDescriptorDataCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPastPresentationTimingGOOGLE);
|
||||
DECLARE_REFLECTION_STRUCT(VkPerformanceCounterDescriptionKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPerformanceCounterKHR);
|
||||
@@ -1460,6 +1471,9 @@ DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceDepthClampZeroOneFeaturesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceDepthClipControlFeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceDepthClipEnableFeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceDepthStencilResolveProperties);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceDescriptorBufferFeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceDescriptorBufferPropertiesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceDescriptorIndexingFeatures)
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceDescriptorIndexingProperties)
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceDiscardRectanglePropertiesEXT);
|
||||
@@ -1680,6 +1694,7 @@ DECLARE_REFLECTION_STRUCT(VkRenderPassSampleLocationsBeginInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkResolveImageInfo2);
|
||||
DECLARE_REFLECTION_STRUCT(VkSampleLocationsInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkSamplerBorderColorComponentMappingCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkSamplerCaptureDescriptorDataInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkSamplerCreateInfo);
|
||||
DECLARE_REFLECTION_STRUCT(VkSamplerCustomBorderColorCreateInfoEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkSamplerReductionModeCreateInfo);
|
||||
@@ -1736,6 +1751,7 @@ DECLARE_REFLECTION_STRUCT(VkWriteDescriptorSetInlineUniformBlock);
|
||||
|
||||
DECLARE_DESERIALISE_TYPE(VkAccelerationStructureBuildGeometryInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkAccelerationStructureBuildSizesInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkAccelerationStructureCaptureDescriptorDataInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkAccelerationStructureCreateInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkAccelerationStructureDeviceAddressInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkAccelerationStructureGeometryAabbsDataKHR);
|
||||
@@ -1759,6 +1775,7 @@ DECLARE_DESERIALISE_TYPE(VkBindImageMemorySwapchainInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkBindImagePlaneMemoryInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkBindSparseInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkBlitImageInfo2);
|
||||
DECLARE_DESERIALISE_TYPE(VkBufferCaptureDescriptorDataInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkBufferCopy2);
|
||||
DECLARE_DESERIALISE_TYPE(VkBufferCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkBufferImageCopy2);
|
||||
@@ -1799,6 +1816,10 @@ DECLARE_DESERIALISE_TYPE(VkDedicatedAllocationBufferCreateInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkDedicatedAllocationImageCreateInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkDedicatedAllocationMemoryAllocateInfoNV);
|
||||
DECLARE_DESERIALISE_TYPE(VkDependencyInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorAddressInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorBufferBindingInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorBufferBindingPushDescriptorBufferHandleEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorGetInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorPoolCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorPoolInlineUniformBlockCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkDescriptorSetAllocateInfo);
|
||||
@@ -1860,6 +1881,7 @@ DECLARE_DESERIALISE_TYPE(VkFramebufferCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkGraphicsPipelineCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkGraphicsPipelineLibraryCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageBlit2);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageCaptureDescriptorDataInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageCompressionControlEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageCompressionPropertiesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageCopy2);
|
||||
@@ -1876,6 +1898,7 @@ DECLARE_DESERIALISE_TYPE(VkImageStencilUsageCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageSubresource2);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageSwapchainCreateInfoKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageViewASTCDecodeModeEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageViewCaptureDescriptorDataInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageViewCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageViewMinLodCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkImageViewUsageCreateInfo);
|
||||
@@ -1900,6 +1923,7 @@ DECLARE_DESERIALISE_TYPE(VkMemoryRequirements2);
|
||||
DECLARE_DESERIALISE_TYPE(VkMultisampledRenderToSingleSampledInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkMultisamplePropertiesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkMutableDescriptorTypeCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkOpaqueCaptureDescriptorDataCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPerformanceCounterDescriptionKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPerformanceCounterKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPerformanceQuerySubmitInfoKHR);
|
||||
@@ -1924,6 +1948,9 @@ DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceDepthClampZeroOneFeaturesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceDepthClipControlFeaturesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceDepthClipEnableFeaturesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceDepthStencilResolveProperties);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceDescriptorBufferFeaturesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceDescriptorBufferPropertiesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceDescriptorIndexingFeatures)
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceDescriptorIndexingProperties)
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceDiscardRectanglePropertiesEXT);
|
||||
@@ -2141,6 +2168,7 @@ DECLARE_DESERIALISE_TYPE(VkRenderPassSampleLocationsBeginInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkResolveImageInfo2);
|
||||
DECLARE_DESERIALISE_TYPE(VkSampleLocationsInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkSamplerBorderColorComponentMappingCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkSamplerCaptureDescriptorDataInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkSamplerCreateInfo);
|
||||
DECLARE_DESERIALISE_TYPE(VkSamplerCustomBorderColorCreateInfoEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkSamplerReductionModeCreateInfo);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -633,6 +633,32 @@ SERIALISE_VK_HANDLES();
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT, \
|
||||
VkPipelineRasterizationDepthClipStateCreateInfoEXT) \
|
||||
\
|
||||
/* VK_EXT_descriptor_buffer */ \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT, \
|
||||
VkPhysicalDeviceDescriptorBufferPropertiesEXT) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT, \
|
||||
VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT, \
|
||||
VkPhysicalDeviceDescriptorBufferFeaturesEXT) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT, VkDescriptorAddressInfoEXT) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT, VkDescriptorGetInfoEXT) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT, \
|
||||
VkBufferCaptureDescriptorDataInfoEXT) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT, \
|
||||
VkImageCaptureDescriptorDataInfoEXT) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT, \
|
||||
VkImageViewCaptureDescriptorDataInfoEXT) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT, \
|
||||
VkSamplerCaptureDescriptorDataInfoEXT) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT, \
|
||||
VkOpaqueCaptureDescriptorDataCreateInfoEXT) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT, \
|
||||
VkDescriptorBufferBindingInfoEXT) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT, \
|
||||
VkDescriptorBufferBindingPushDescriptorBufferHandleEXT) \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT, \
|
||||
VkAccelerationStructureCaptureDescriptorDataInfoEXT) \
|
||||
\
|
||||
/* VK_EXT_descriptor_indexing */ \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, \
|
||||
VkDescriptorSetLayoutBindingFlagsCreateInfo) \
|
||||
@@ -1605,21 +1631,6 @@ SERIALISE_VK_HANDLES();
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT) \
|
||||
\
|
||||
/* VK_EXT_descriptor_buffer */ \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT) \
|
||||
\
|
||||
/* VK_EXT_device_address_binding_report */ \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT) \
|
||||
@@ -9685,6 +9696,310 @@ void Deserialise(const VkFenceGetFdInfoKHR &el)
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkPhysicalDeviceDescriptorBufferFeaturesEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() ||
|
||||
el.sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(descriptorBuffer);
|
||||
SERIALISE_MEMBER(descriptorBufferCaptureReplay);
|
||||
SERIALISE_MEMBER(descriptorBufferImageLayoutIgnored);
|
||||
SERIALISE_MEMBER(descriptorBufferPushDescriptors);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkPhysicalDeviceDescriptorBufferFeaturesEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() ||
|
||||
el.sType ==
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(combinedImageSamplerDensityMapDescriptorSize);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkPhysicalDeviceDescriptorBufferPropertiesEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() ||
|
||||
el.sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(combinedImageSamplerDescriptorSingleArray);
|
||||
SERIALISE_MEMBER(bufferlessPushDescriptors);
|
||||
SERIALISE_MEMBER(allowSamplerImageViewPostSubmitCreation);
|
||||
SERIALISE_MEMBER(descriptorBufferOffsetAlignment);
|
||||
SERIALISE_MEMBER(maxDescriptorBufferBindings);
|
||||
SERIALISE_MEMBER(maxResourceDescriptorBufferBindings);
|
||||
SERIALISE_MEMBER(maxSamplerDescriptorBufferBindings);
|
||||
SERIALISE_MEMBER(maxEmbeddedImmutableSamplerBindings);
|
||||
SERIALISE_MEMBER(maxEmbeddedImmutableSamplers);
|
||||
SERIALISE_MEMBER(bufferCaptureReplayDescriptorDataSize);
|
||||
SERIALISE_MEMBER(imageCaptureReplayDescriptorDataSize);
|
||||
SERIALISE_MEMBER(imageViewCaptureReplayDescriptorDataSize);
|
||||
SERIALISE_MEMBER(samplerCaptureReplayDescriptorDataSize);
|
||||
SERIALISE_MEMBER(accelerationStructureCaptureReplayDescriptorDataSize);
|
||||
SERIALISE_MEMBER(samplerDescriptorSize);
|
||||
SERIALISE_MEMBER(combinedImageSamplerDescriptorSize);
|
||||
SERIALISE_MEMBER(sampledImageDescriptorSize);
|
||||
SERIALISE_MEMBER(storageImageDescriptorSize);
|
||||
SERIALISE_MEMBER(uniformTexelBufferDescriptorSize);
|
||||
SERIALISE_MEMBER(robustUniformTexelBufferDescriptorSize);
|
||||
SERIALISE_MEMBER(storageTexelBufferDescriptorSize);
|
||||
SERIALISE_MEMBER(robustStorageTexelBufferDescriptorSize);
|
||||
SERIALISE_MEMBER(uniformBufferDescriptorSize);
|
||||
SERIALISE_MEMBER(robustUniformBufferDescriptorSize);
|
||||
SERIALISE_MEMBER(storageBufferDescriptorSize);
|
||||
SERIALISE_MEMBER(robustStorageBufferDescriptorSize);
|
||||
SERIALISE_MEMBER(inputAttachmentDescriptorSize);
|
||||
SERIALISE_MEMBER(accelerationStructureDescriptorSize);
|
||||
SERIALISE_MEMBER(maxSamplerDescriptorBufferRange);
|
||||
SERIALISE_MEMBER(maxResourceDescriptorBufferRange);
|
||||
SERIALISE_MEMBER(samplerDescriptorBufferAddressSpaceSize);
|
||||
SERIALISE_MEMBER(resourceDescriptorBufferAddressSpaceSize);
|
||||
SERIALISE_MEMBER(descriptorBufferAddressSpaceSize);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkPhysicalDeviceDescriptorBufferPropertiesEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkDescriptorBufferBindingInfoEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() || el.sType == VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(address);
|
||||
SERIALISE_MEMBER_VKFLAGS(VkBufferUsageFlags, usage);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkDescriptorBufferBindingInfoEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkDescriptorBufferBindingPushDescriptorBufferHandleEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() ||
|
||||
el.sType == VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(buffer);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkDescriptorBufferBindingPushDescriptorBufferHandleEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkDescriptorAddressInfoEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() || el.sType == VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(address);
|
||||
SERIALISE_MEMBER(range);
|
||||
SERIALISE_MEMBER(format);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkDescriptorAddressInfoEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkDescriptorGetInfoEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() || el.sType == VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
// these fields must either be NULL or valid if present, never garbage
|
||||
ser.SetStructArg(
|
||||
uint64_t(VkDescriptorImageInfoValidity::Sampler | VkDescriptorImageInfoValidity::ImageView));
|
||||
|
||||
SERIALISE_MEMBER(type);
|
||||
switch(el.type)
|
||||
{
|
||||
case VK_DESCRIPTOR_TYPE_SAMPLER:
|
||||
{
|
||||
SERIALISE_MEMBER_OPT(data.pSampler).Named("pSampler");
|
||||
break;
|
||||
}
|
||||
case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
|
||||
{
|
||||
SERIALISE_MEMBER_OPT(data.pCombinedImageSampler).Named("pCombinedImageSampler");
|
||||
break;
|
||||
}
|
||||
case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
|
||||
case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
|
||||
case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
|
||||
{
|
||||
SERIALISE_MEMBER_OPT(data.pStorageImage).Named("pStorageImage");
|
||||
break;
|
||||
}
|
||||
case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
|
||||
case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
|
||||
case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
|
||||
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
|
||||
{
|
||||
SERIALISE_MEMBER_OPT(data.pUniformBuffer).Named("pUniformBuffer");
|
||||
break;
|
||||
}
|
||||
case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR:
|
||||
{
|
||||
SERIALISE_MEMBER(data.accelerationStructure).Named("accelerationStructure");
|
||||
break;
|
||||
}
|
||||
case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
|
||||
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
|
||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK:
|
||||
case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV:
|
||||
case VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM:
|
||||
case VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM:
|
||||
case VK_DESCRIPTOR_TYPE_MUTABLE_EXT:
|
||||
case VK_DESCRIPTOR_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_NV:
|
||||
case VK_DESCRIPTOR_TYPE_MAX_ENUM:
|
||||
RDCERR("Invalid descriptor type in VkDescriptorGetInfoEXT");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkDescriptorGetInfoEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkBufferCaptureDescriptorDataInfoEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() || el.sType == VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(buffer);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkBufferCaptureDescriptorDataInfoEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkImageCaptureDescriptorDataInfoEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() || el.sType == VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(image);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkImageCaptureDescriptorDataInfoEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkImageViewCaptureDescriptorDataInfoEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() ||
|
||||
el.sType == VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(imageView);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkImageViewCaptureDescriptorDataInfoEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkSamplerCaptureDescriptorDataInfoEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() ||
|
||||
el.sType == VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(sampler);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkSamplerCaptureDescriptorDataInfoEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkOpaqueCaptureDescriptorDataCreateInfoEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() ||
|
||||
el.sType == VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
// this structure unfortunately does not have a length field. We take full control over this
|
||||
// struct and always serialise a fixed number of bytes that we ensure is always large enough for
|
||||
// all types. If the application passes in this struct (most likely a self-capture) we will patch
|
||||
// the struct to a safe array that's this size.
|
||||
uint64_t opaqueCaptureSize = FixedOpaqueDescriptorCaptureSize;
|
||||
// alias to serialise this as a 'plain' array not as a byte buffer
|
||||
uint64_t *alias = (uint64_t *)el.opaqueCaptureDescriptorData;
|
||||
ser.Serialise("opaqueCaptureDescriptorData"_lit, alias, opaqueCaptureSize / sizeof(uint64_t),
|
||||
SerialiserFlags::AllocateMemory)
|
||||
.Hidden();
|
||||
if(ser.IsReading())
|
||||
el.opaqueCaptureDescriptorData = alias;
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkOpaqueCaptureDescriptorDataCreateInfoEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
delete[](uint64_t *)el.opaqueCaptureDescriptorData;
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkAccelerationStructureCaptureDescriptorDataInfoEXT &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() ||
|
||||
el.sType == VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(accelerationStructure);
|
||||
// don't serialise the NV version at all
|
||||
// SERIALISE_MEMBER_EMPTY(accelerationStructureNV);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkAccelerationStructureCaptureDescriptorDataInfoEXT &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkDescriptorSetLayoutBindingFlagsCreateInfo &el)
|
||||
{
|
||||
@@ -13073,6 +13388,7 @@ void DoSerialise(SerialiserType &ser, VkPhysicalDeviceDynamicRenderingUnusedAtta
|
||||
// pNext structs - always have deserialise for the next chain
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAccelerationStructureBuildGeometryInfoKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAccelerationStructureBuildSizesInfoKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAccelerationStructureCaptureDescriptorDataInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAccelerationStructureCreateInfoKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAccelerationStructureDeviceAddressInfoKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkAccelerationStructureGeometryAabbsDataKHR);
|
||||
@@ -13096,6 +13412,7 @@ INSTANTIATE_SERIALISE_TYPE(VkBindImageMemorySwapchainInfoKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkBindImagePlaneMemoryInfo);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkBindSparseInfo);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkBlitImageInfo2);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkBufferCaptureDescriptorDataInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkBufferCopy2);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkBufferCreateInfo);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkBufferDeviceAddressCreateInfoEXT);
|
||||
@@ -13138,6 +13455,10 @@ INSTANTIATE_SERIALISE_TYPE(VkDedicatedAllocationBufferCreateInfoNV);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkDedicatedAllocationImageCreateInfoNV);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkDedicatedAllocationMemoryAllocateInfoNV);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkDependencyInfo);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkDescriptorAddressInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkDescriptorBufferBindingInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkDescriptorBufferBindingPushDescriptorBufferHandleEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkDescriptorGetInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkDescriptorPoolCreateInfo);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkDescriptorSetAllocateInfo);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkDescriptorSetLayoutBindingFlagsCreateInfo)
|
||||
@@ -13199,6 +13520,7 @@ INSTANTIATE_SERIALISE_TYPE(VkGraphicsPipelineCreateInfo);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkGraphicsPipelineLibraryCreateInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkHdrMetadataEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkImageBlit2);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkImageCaptureDescriptorDataInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkImageCompressionControlEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkImageCompressionPropertiesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkImageCopy2);
|
||||
@@ -13215,6 +13537,7 @@ INSTANTIATE_SERIALISE_TYPE(VkImageStencilUsageCreateInfo);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkImageSubresource2);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkImageSwapchainCreateInfoKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkImageViewASTCDecodeModeEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkImageViewCaptureDescriptorDataInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkImageViewCreateInfo);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkImageViewUsageCreateInfo);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkImportFenceFdInfoKHR);
|
||||
@@ -13238,6 +13561,7 @@ INSTANTIATE_SERIALISE_TYPE(VkMemoryRequirements2);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkMultisampledRenderToSingleSampledInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkMultisamplePropertiesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkMutableDescriptorTypeCreateInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkOpaqueCaptureDescriptorDataCreateInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPastPresentationTimingGOOGLE);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPerformanceCounterDescriptionKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPerformanceCounterKHR);
|
||||
@@ -13265,6 +13589,9 @@ INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceDepthClampZeroOneFeaturesKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceDepthClipControlFeaturesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceDepthClipEnableFeaturesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceDepthStencilResolveProperties);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceDescriptorBufferFeaturesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceDescriptorBufferPropertiesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceDescriptorIndexingFeatures)
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceDescriptorIndexingProperties)
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceDiscardRectanglePropertiesEXT);
|
||||
@@ -13482,6 +13809,7 @@ INSTANTIATE_SERIALISE_TYPE(VkRenderPassSampleLocationsBeginInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkResolveImageInfo2);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkSampleLocationsInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkSamplerBorderColorComponentMappingCreateInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkSamplerCaptureDescriptorDataInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkSamplerCreateInfo);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkSamplerCustomBorderColorCreateInfoEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkSamplerReductionModeCreateInfo);
|
||||
|
||||
Reference in New Issue
Block a user