diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index 8504518d..19b219d4 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -1723,6 +1723,12 @@ static HRESULT vkd3d_init_device_caps(struct d3d12_device *device, VKD3D_SHADER_TARGET_EXTENSION_READ_STORAGE_IMAGE_WITHOUT_FORMAT; } + if (device->device_info.ray_tracing_pipeline_features.rayTraversalPrimitiveCulling) + { + vulkan_info->shader_extensions[vulkan_info->shader_extension_count++] = + VKD3D_SHADER_TARGET_EXTENSION_RAY_TRACING_PRIMITIVE_CULLING; + } + /* Disable unused Vulkan features. */ features->shaderTessellationAndGeometryPointSize = VK_FALSE; diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h index d00cc58f..2e490e73 100644 --- a/libs/vkd3d/vkd3d_private.h +++ b/libs/vkd3d/vkd3d_private.h @@ -49,7 +49,7 @@ #define MAKE_MAGIC(a,b,c,d) (((uint32_t)a) | (((uint32_t)b) << 8) | (((uint32_t)c) << 16) | (((uint32_t)d) << 24)) #define VKD3D_MAX_COMPATIBLE_FORMAT_COUNT 6u -#define VKD3D_MAX_SHADER_EXTENSIONS 3u +#define VKD3D_MAX_SHADER_EXTENSIONS 4u #define VKD3D_MAX_SHADER_STAGES 5u #define VKD3D_MAX_VK_SYNC_OBJECTS 4u