diff --git a/src/front/wgsl.rs b/src/front/wgsl.rs index 0929ec322..3c5295266 100644 --- a/src/front/wgsl.rs +++ b/src/front/wgsl.rs @@ -437,16 +437,21 @@ impl Parser { } fn get_built_in(word: &str) -> Result> { - match word { + Ok(match word { // vertex - "position" => Ok(crate::BuiltIn::Position), - "vertex_idx" => Ok(crate::BuiltIn::VertexIndex), - "instance_idx" => Ok(crate::BuiltIn::InstanceIndex), + "position" => crate::BuiltIn::Position, + "vertex_idx" => crate::BuiltIn::VertexIndex, + "instance_idx" => crate::BuiltIn::InstanceIndex, + // fragment + "front_facing" => crate::BuiltIn::FrontFacing, + "frag_coord" => crate::BuiltIn::FragCoord, + "frag_depth" => crate::BuiltIn::FragDepth, // compute - "global_invocation_id" => Ok(crate::BuiltIn::GlobalInvocationId), - "local_invocation_id" => Ok(crate::BuiltIn::LocalInvocationId), - _ => Err(Error::UnknownBuiltin(word)), - } + "global_invocation_id" => crate::BuiltIn::GlobalInvocationId, + "local_invocation_id" => crate::BuiltIn::LocalInvocationId, + "local_invocation_idx" => crate::BuiltIn::LocalInvocationIndex, + _ => return Err(Error::UnknownBuiltin(word)), + }) } fn get_shader_stage(word: &str) -> Result> {