{"record":{"id":"f416fe47658d182a","repo":"gfx-rs/wgpu","slug":"not-implemented-f416fe","errorCode":null,"errorMessage":"not implemented","messagePattern":"not implemented","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"wgpu-hal/src/gles/command.rs","lineNumber":1287,"sourceCode":"            indirect_offset: offset,\n        });\n    }\n\n    unsafe fn build_acceleration_structures<'a, T>(\n        &mut self,\n        _descriptor_count: u32,\n        _descriptors: T,\n    ) where\n        super::Api: 'a,\n        T: IntoIterator<\n            Item = crate::BuildAccelerationStructureDescriptor<\n                'a,\n                super::Buffer,\n                super::AccelerationStructure,\n            >,\n        >,\n    {\n        unimplemented!()\n    }\n\n    unsafe fn place_acceleration_structure_barrier(\n        &mut self,\n        _barriers: crate::AccelerationStructureBarrier,\n    ) {\n        unimplemented!()\n    }\n\n    unsafe fn copy_acceleration_structure_to_acceleration_structure(\n        &mut self,\n        _src: &super::AccelerationStructure,\n        _dst: &super::AccelerationStructure,\n        _copy: wgt::AccelerationStructureCopy,\n    ) {\n        unimplemented!()\n    }\n","sourceCodeStart":1269,"sourceCodeEnd":1305,"githubUrl":"https://github.com/gfx-rs/wgpu/blob/3e11ff59bf3f9795d285ecc045014089640d7248/wgpu-hal/src/gles/command.rs#L1269-L1305","documentation":"The GLES backend does not implement acceleration structure building; create_acceleration_structure-ish command entry (build_acceleration_structure) is an unimplemented!() stub. Any attempt to record a TLAS/BLAS build command on the GLES backend panics.","triggerScenarios":"Recording an acceleration structure build command into an GLES command encoder (ray tracing API on OpenGL ES).","commonSituations":"Running ray-tracing code paths on a GLES backend (mobile/webGL-ish environments) that only supports them on Vulkan/DX12/Metal.","solutions":["Do not use ray tracing APIs on the GLES backend; gate the feature per backend","Route the workload to the Vulkan backend where acceleration structures are implemented","Use a compute-shader fallback BVH approach on GLES","Check backend capabilities before requesting AccelerationStructure features"],"exampleFix":"// before\nencoder.build_acceleration_structure(&desc, ...); // panics on gles\n// after\nif device.features().contains(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE) {\n    encoder.build_acceleration_structure(&desc, ...);\n} else { /* compute fallback */ }","handlingStrategy":"fallback","validationCode":"let as_supported = !matches!(backend, wgpu::Backend::Gles);\nif !as_supported { /* use compute BVH fallback */ }","typeGuard":"fn supports_acceleration_structures(b: wgpu::Backend) -> bool { !matches!(b, wgpu::Backend::Gles) }","tryCatchPattern":"// panics by design; guard before recording:\nif supports_acceleration_structures(backend) {\n    encoder.build_acceleration_structure(...);\n} else { compute_fallback(); }","preventionTips":["Treat GLES as non-ray-tracing capable","Check Features/Backend before recording AS commands","Maintain a compute-based ray tracing fallback path"],"tags":["wgpu-hal","gles","acceleration-structure","ray-tracing"],"backgroundTag":"feature-not-supported-by-backend","analyzedSha":"3e11ff59bf3f9795d285ecc045014089640d7248","analyzedAt":"2026-09-03T01:43:21.459Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-10T07:17:11.731Z"}