{"record":{"id":"2e371eee1d23d18b","repo":"gfx-rs/wgpu","slug":"not-implemented-2e371e","errorCode":null,"errorMessage":"not implemented","messagePattern":"not implemented","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"naga/src/back/spv/subgroup.rs","lineNumber":67,"sourceCode":"                )?;\n            }\n            _ => {\n                self.writer.require_any(\n                    \"GroupNonUniformArithmetic\",\n                    &[spirv::Capability::GroupNonUniformArithmetic],\n                )?;\n            }\n        }\n\n        let id = self.gen_id();\n        let result_ty = &self.fun_info[result].ty;\n        let result_type_id = self.get_expression_type_id(result_ty);\n        let result_ty_inner = result_ty.inner_with(&self.ir_module.types);\n\n        let (is_scalar, scalar) = match *result_ty_inner {\n            TypeInner::Scalar(kind) => (true, kind),\n            TypeInner::Vector { scalar: kind, .. } => (false, kind),\n            _ => unimplemented!(),\n        };\n\n        use crate::ScalarKind as sk;\n        let spirv_op = match (scalar.kind, *op) {\n            (sk::Bool, sg::All) if is_scalar => spirv::Op::GroupNonUniformAll,\n            (sk::Bool, sg::Any) if is_scalar => spirv::Op::GroupNonUniformAny,\n            (_, sg::All | sg::Any) => unimplemented!(),\n\n            (sk::Sint | sk::Uint, sg::Add) => spirv::Op::GroupNonUniformIAdd,\n            (sk::Float, sg::Add) => spirv::Op::GroupNonUniformFAdd,\n            (sk::Sint | sk::Uint, sg::Mul) => spirv::Op::GroupNonUniformIMul,\n            (sk::Float, sg::Mul) => spirv::Op::GroupNonUniformFMul,\n            (sk::Sint, sg::Max) => spirv::Op::GroupNonUniformSMax,\n            (sk::Uint, sg::Max) => spirv::Op::GroupNonUniformUMax,\n            (sk::Float, sg::Max) => spirv::Op::GroupNonUniformFMax,\n            (sk::Sint, sg::Min) => spirv::Op::GroupNonUniformSMin,\n            (sk::Uint, sg::Min) => spirv::Op::GroupNonUniformUMin,\n            (sk::Float, sg::Min) => spirv::Op::GroupNonUniformFMin,","sourceCodeStart":49,"sourceCodeEnd":85,"githubUrl":"https://github.com/gfx-rs/wgpu/blob/3e11ff59bf3f9795d285ecc045014089640d7248/naga/src/back/spv/subgroup.rs#L49-L85","documentation":"Panic in naga's SPIR-V subgroup-operation writer: after requiring GroupNonUniform capability, the result type turned out to be something other than a scalar or the expected vector shape, hitting an unimplemented match arm. The faulty input is the subgroup expression's result type.","triggerScenarios":"Thrown at naga/src/back/spv/subgroup.rs:67 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use subgroup built-ins with scalar or vecN<u32/i32/f32> result types","Extend the writer match to cover the needed type if this is a legitimate naga gap"],"exampleFix":null,"handlingStrategy":"fallback","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"}