admin管理员组

文章数量:1355697

When I give pointers to extension structs to be filled in when I call vkGetPhysicalDeviceFeatures, the rayTracingPipeline flag is 1, meaning it should be supported, and pretty all the flags in VkPhysicalDeviceRayTracingPipelineFeaturesKHR are set to 1. However when I create the logical device I get the validation error:

pCreateInfo->pNext includes a pointer to a VkPhysicalDeviceRayTracingPipelineFeaturesKHR, but when creating VkDevice, the parent extension (VK_KHR_ray_tracing_pipeline) was not included in ppEnabledExtensionNames.

So fair enough, it sounds like I have to enable the VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME in the enabled extensions list when creating the logical device. So I do that, but then I get:

Vulkan validation layer callback: loader_validate_device_extensions: Device extension VK_KHR_ray_tracing_pipeline not supported by selected physical device or enabled layers.

Vulkan validation layer callback: vkCreateDevice: Failed to validate extensions in list

When I check for the extension name with vkEnumerateDeviceExtensionProperties it's not in the list. I am using an Radeon RX570.

When I give pointers to extension structs to be filled in when I call vkGetPhysicalDeviceFeatures, the rayTracingPipeline flag is 1, meaning it should be supported, and pretty all the flags in VkPhysicalDeviceRayTracingPipelineFeaturesKHR are set to 1. However when I create the logical device I get the validation error:

pCreateInfo->pNext includes a pointer to a VkPhysicalDeviceRayTracingPipelineFeaturesKHR, but when creating VkDevice, the parent extension (VK_KHR_ray_tracing_pipeline) was not included in ppEnabledExtensionNames.

So fair enough, it sounds like I have to enable the VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME in the enabled extensions list when creating the logical device. So I do that, but then I get:

Vulkan validation layer callback: loader_validate_device_extensions: Device extension VK_KHR_ray_tracing_pipeline not supported by selected physical device or enabled layers.

Vulkan validation layer callback: vkCreateDevice: Failed to validate extensions in list

When I check for the extension name with vkEnumerateDeviceExtensionProperties it's not in the list. I am using an Radeon RX570.

Share Improve this question asked Mar 30 at 5:10 ZebrafishZebrafish 14.8k3 gold badges66 silver badges152 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 1

The RX 570 does not support hardware accelerated ray tracing. Querying features for extensions not supported by an implementation is undefined behaviour. That's exactly what the validation error is trying to tell you.

本文标签: vulkanDevice doesn39t have PIPELINEEXTENSIONNAME even though rayTracingPipeline is supportedStack Overflow