gfx-rs/wgpu · error

Feature `RAY_TRACING` not enabled

Error message

Feature `RAY_TRACING` not enabled

What it means

Panic in the Vulkan device's get_acceleration_structure_build_sizes: shared.extension_fns.ray_tracing is None because the VK_KHR_(ray_tracing_)acceleration_structure functions were never loaded — Features::RAY_TRACING was not enabled on this device.

Source

Thrown at wgpu-hal/src/vulkan/device.rs:2687

    }

    unsafe fn pipeline_cache_get_data(&self, cache: &super::PipelineCache) -> Option<Vec<u8>> {
        let data = unsafe { self.raw_device().get_pipeline_cache_data(cache.raw) };
        data.ok()
    }

    unsafe fn get_acceleration_structure_build_sizes<'a>(
        &self,
        desc: &crate::GetAccelerationStructureBuildSizesDescriptor<'a, super::Buffer>,
    ) -> crate::AccelerationStructureBuildSizes {
        const CAPACITY: usize = 8;

        let ray_tracing_functions = self
            .shared
            .extension_fns
            .ray_tracing
            .as_ref()
            .expect("Feature `RAY_TRACING` not enabled");

        let (geometries, primitive_counts) = match *desc.entries {
            crate::AccelerationStructureEntries::Instances(ref instances) => {
                let instance_data = vk::AccelerationStructureGeometryInstancesDataKHR::default();

                let geometry = vk::AccelerationStructureGeometryKHR::default()
                    .geometry_type(vk::GeometryTypeKHR::INSTANCES)
                    .geometry(vk::AccelerationStructureGeometryDataKHR {
                        instances: instance_data,
                    });

                (
                    smallvec::smallvec![geometry],
                    smallvec::smallvec![instances.count],
                )
            }
            crate::AccelerationStructureEntries::Triangles(ref in_geometries) => {
                let mut primitive_counts =

View on GitHub (pinned to 3e11ff59bf)

Solutions

  1. Enable Features::RAY_TRACING at device creation on hardware exposing the Vulkan acceleration-structure extensions
  2. Gate acceleration-structure size queries behind an adapter feature check
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at wgpu-hal/src/vulkan/device.rs:2687 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of gfx-rs/wgpu@3e11ff59bf (2026-09-03). Data as JSON: /api/errors/36415052d6cdd471. Report an issue: GitHub.