{"record":{"id":"c34226cd38c20fec","repo":"gfx-rs/wgpu","slug":"feature-experimental-ray-tracing-pipelines-not-e","errorCode":null,"errorMessage":"Feature `EXPERIMENTAL_RAY_TRACING_PIPELINES` not enabled","messagePattern":"Feature `EXPERIMENTAL_RAY_TRACING_PIPELINES` not enabled","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"wgpu-hal/src/vulkan/command.rs","lineNumber":1436,"sourceCode":"        &mut self,\n        count: [u32; 3],\n        ray_generation_group_data: crate::PipelineGroupData<super::Buffer>,\n        miss_group_data: crate::PipelineGroupData<super::Buffer>,\n        intersection_group_data: crate::PipelineGroupData<super::Buffer>,\n    ) {\n        let ray_tracing_functions = self\n            .device\n            .extension_fns\n            .ray_tracing\n            .as_ref()\n            .expect(\"Feature `EXPERIMENTAL_RAY_TRACING` not enabled\");\n\n        let ray_tracing_pipeline_functions = self\n            .device\n            .extension_fns\n            .ray_tracing_pipelines\n            .as_ref()\n            .expect(\"Feature `EXPERIMENTAL_RAY_TRACING_PIPELINES` not enabled\");\n\n        let get_device_address = |buffer: &super::Buffer| unsafe {\n            ray_tracing_functions\n                .buffer_device_address\n                .get_buffer_device_address(\n                    &vk::BufferDeviceAddressInfo::default().buffer(buffer.raw),\n                )\n        };\n\n        unsafe {\n            ray_tracing_pipeline_functions.cmd_trace_rays(\n                self.raw_handle(),\n                &vk::StridedDeviceAddressRegionKHR {\n                    device_address: get_device_address(ray_generation_group_data.buffer)\n                        + ray_generation_group_data.offset,\n                    stride: ray_generation_group_data.stride,\n                    size: ray_generation_group_data.stride /* no need for multiplying by count, vulkan requires the ray gen sbt to be just one group */,\n                },","sourceCodeStart":1418,"sourceCodeEnd":1454,"githubUrl":"https://github.com/gfx-rs/wgpu/blob/3e11ff59bf3f9795d285ecc045014089640d7248/wgpu-hal/src/vulkan/command.rs#L1418-L1454","documentation":"Panic in the Vulkan encoder's trace_rays: device.extension_fns.ray_tracing was None, i.e. the VK ray tracing extension functions were not loaded because the corresponding experimental ray tracing feature was not enabled on the device at creation.","triggerScenarios":"Thrown at wgpu-hal/src/vulkan/command.rs:1436 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Create the device with the experimental ray tracing features enabled","Only call trace_rays after verifying the device supports ray tracing"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3e11ff59bf3f9795d285ecc045014089640d7248","analyzedAt":"2026-09-03T01:43:21.459Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-10T07:17:11.731Z"}