mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-05 17:40:39 +00:00
Add support for VK_KHR_ray_tracing_position_fetch
This commit is contained in:
@@ -188,6 +188,7 @@ Maintainers can update this file by updating vk.xml in this folder and running `
|
||||
* `VK_KHR_push_descriptor`
|
||||
* `VK_KHR_ray_query`
|
||||
* `VK_KHR_ray_tracing_pipeline`
|
||||
* `VK_KHR_ray_tracing_position_fetch`
|
||||
* `VK_KHR_relaxed_block_layout`
|
||||
* `VK_KHR_sampler_mirror_clamp_to_edge`
|
||||
* `VK_KHR_sampler_ycbcr_conversion`
|
||||
@@ -260,7 +261,6 @@ KHR extensions will definitely be implemented at some point, though KHR extensio
|
||||
* `VK_KHR_map_memory2`
|
||||
* `VK_KHR_pipeline_binary`
|
||||
* `VK_KHR_ray_tracing_maintenance1`
|
||||
* `VK_KHR_ray_tracing_position_fetch`
|
||||
|
||||
## KHR Portability
|
||||
|
||||
|
||||
@@ -1470,6 +1470,7 @@ DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceRasterizationOrderAttachmentAccessFeat
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceRayQueryFeaturesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceRayTracingPipelineFeaturesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceRayTracingPipelinePropertiesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceRobustness2FeaturesEXT);
|
||||
DECLARE_REFLECTION_STRUCT(VkPhysicalDeviceRobustness2PropertiesEXT);
|
||||
@@ -1919,6 +1920,7 @@ DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceRasterizationOrderAttachmentAccessFeatu
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceRayQueryFeaturesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceRayTracingPipelineFeaturesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceRayTracingPipelinePropertiesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceRobustness2FeaturesEXT);
|
||||
DECLARE_DESERIALISE_TYPE(VkPhysicalDeviceRobustness2PropertiesEXT);
|
||||
|
||||
@@ -1662,6 +1662,10 @@ static const VkExtensionProperties supportedExtensions[] = {
|
||||
VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME,
|
||||
VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION,
|
||||
},
|
||||
{
|
||||
VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME,
|
||||
VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION,
|
||||
},
|
||||
{
|
||||
VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME,
|
||||
VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION,
|
||||
|
||||
@@ -420,6 +420,8 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
|
||||
VkPhysicalDeviceRayTracingPipelineFeaturesKHR); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR, \
|
||||
VkPhysicalDeviceRayTracingPipelinePropertiesKHR); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR, \
|
||||
VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR, \
|
||||
VkPhysicalDeviceRayQueryFeaturesKHR); \
|
||||
COPY_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT, \
|
||||
@@ -1139,7 +1141,6 @@ static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct,
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV: \
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG: \
|
||||
|
||||
@@ -1305,6 +1305,10 @@ SERIALISE_VK_HANDLES();
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR, \
|
||||
VkPhysicalDeviceRayTracingPipelinePropertiesKHR) \
|
||||
\
|
||||
/* VK_KHR_ray_tracing_position_fetch */ \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR, \
|
||||
VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR) \
|
||||
\
|
||||
/* VK_KHR_sampler_ycbcr_conversion */ \
|
||||
PNEXT_STRUCT(VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, \
|
||||
VkSamplerYcbcrConversionCreateInfo) \
|
||||
@@ -1842,9 +1846,6 @@ SERIALISE_VK_HANDLES();
|
||||
/* VK_KHR_ray_tracing_maintenance1 */ \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR) \
|
||||
\
|
||||
/* VK_KHR_ray_tracing_position_fetch */ \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR) \
|
||||
\
|
||||
/* VK_KHR_video_decode_av1 */ \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR) \
|
||||
PNEXT_UNSUPPORTED(VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR) \
|
||||
@@ -12700,6 +12701,22 @@ void Deserialise(const VkPhysicalDeviceRayTracingPipelineFeaturesKHR &el)
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR &el)
|
||||
{
|
||||
RDCASSERT(ser.IsReading() ||
|
||||
el.sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR);
|
||||
SerialiseNext(ser, el.sType, el.pNext);
|
||||
|
||||
SERIALISE_MEMBER(rayTracingPositionFetch);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Deserialise(const VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR &el)
|
||||
{
|
||||
DeserialiseNext(el.pNext);
|
||||
}
|
||||
|
||||
template <typename SerialiserType>
|
||||
void DoSerialise(SerialiserType &ser, VkPhysicalDeviceRayTracingPipelinePropertiesKHR &el)
|
||||
{
|
||||
@@ -13039,6 +13056,7 @@ INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceRasterizationOrderAttachmentAccessFea
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceRayQueryFeaturesKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceRayTracingPipelineFeaturesKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceRayTracingPipelinePropertiesKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceRobustness2FeaturesEXT);
|
||||
INSTANTIATE_SERIALISE_TYPE(VkPhysicalDeviceRobustness2PropertiesEXT);
|
||||
|
||||
@@ -3435,6 +3435,13 @@ bool WrappedVulkan::Serialise_vkCreateDevice(SerialiserType &ser, VkPhysicalDevi
|
||||
ext->rayTracingPipelineShaderGroupHandleCaptureReplay = VK_TRUE;
|
||||
}
|
||||
END_PHYS_EXT_CHECK();
|
||||
|
||||
BEGIN_PHYS_EXT_CHECK(VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR);
|
||||
{
|
||||
CHECK_PHYS_EXT_FEATURE(rayTracingPositionFetch);
|
||||
}
|
||||
END_PHYS_EXT_CHECK();
|
||||
}
|
||||
|
||||
if(availFeatures.depthClamp)
|
||||
|
||||
Reference in New Issue
Block a user