diff --git a/src/front/wgsl/conv.rs b/src/front/wgsl/conv.rs index 6fdea89e7..d3bccc7e6 100644 --- a/src/front/wgsl/conv.rs +++ b/src/front/wgsl/conv.rs @@ -15,8 +15,8 @@ pub fn map_built_in(word: &str) -> Result> { Ok(match word { // vertex "position" => crate::BuiltIn::Position, - "vertex_idx" => crate::BuiltIn::VertexIndex, - "instance_idx" => crate::BuiltIn::InstanceIndex, + "vertex_index" => crate::BuiltIn::VertexIndex, + "instance_index" => crate::BuiltIn::InstanceIndex, // fragment "front_facing" => crate::BuiltIn::FrontFacing, "frag_coord" => crate::BuiltIn::FragCoord, @@ -24,7 +24,7 @@ pub fn map_built_in(word: &str) -> Result> { // compute "global_invocation_id" => crate::BuiltIn::GlobalInvocationId, "local_invocation_id" => crate::BuiltIn::LocalInvocationId, - "local_invocation_idx" => crate::BuiltIn::LocalInvocationIndex, + "local_invocation_index" => crate::BuiltIn::LocalInvocationIndex, _ => return Err(Error::UnknownBuiltin(word)), }) } diff --git a/src/front/wgsl/mod.rs b/src/front/wgsl/mod.rs index 3b1771900..08c2d1c3f 100644 --- a/src/front/wgsl/mod.rs +++ b/src/front/wgsl/mod.rs @@ -1563,11 +1563,10 @@ impl Parser { }); } // read return type - lexer.expect(Token::Arrow)?; - let return_type = if lexer.skip(Token::Word("void")) { - None - } else { + let return_type = if lexer.skip(Token::Arrow) && !lexer.skip(Token::Word("void")) { Some(self.parse_type_decl(lexer, None, &mut module.types, &mut module.constants)?) + } else { + None }; let mut fun = crate::Function {