From bd276bf4a4736c7c481c33ff19a0a33fc2852ba5 Mon Sep 17 00:00:00 2001 From: Lachlan Sneff Date: Thu, 20 Aug 2020 01:39:27 -0400 Subject: [PATCH] Add more builtins to wgsl frontend (#143) --- src/front/wgsl.rs | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/front/wgsl.rs b/src/front/wgsl.rs index 0929ec3226..3c52952660 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> {