@@ -561,26 +561,6 @@ impl ShaderProcessor {
561561 let current_valid = scopes. last ( ) . unwrap ( ) . is_accepting_lines ( ) ;
562562
563563 scopes. push ( Scope :: new ( current_valid && new_scope) ) ;
564- } else if let Some ( cap) = self . define_regex . captures ( line) {
565- let def = cap. get ( 1 ) . unwrap ( ) ;
566- let name = def. as_str ( ) . to_string ( ) ;
567-
568- if let Some ( val) = cap. get ( 2 ) {
569- if let Ok ( val) = val. as_str ( ) . parse :: < u32 > ( ) {
570- shader_defs_unique. insert ( name. clone ( ) , ShaderDefVal :: UInt ( name, val) ) ;
571- } else if let Ok ( val) = val. as_str ( ) . parse :: < i32 > ( ) {
572- shader_defs_unique. insert ( name. clone ( ) , ShaderDefVal :: Int ( name, val) ) ;
573- } else if let Ok ( val) = val. as_str ( ) . parse :: < bool > ( ) {
574- shader_defs_unique. insert ( name. clone ( ) , ShaderDefVal :: Bool ( name, val) ) ;
575- } else {
576- return Err ( ProcessShaderError :: InvalidShaderDefDefinitionValue {
577- shader_def_name : name,
578- value : val. as_str ( ) . to_string ( ) ,
579- } ) ;
580- }
581- } else {
582- shader_defs_unique. insert ( name. clone ( ) , ShaderDefVal :: Bool ( name, true ) ) ;
583- }
584564 } else if let Some ( cap) = self . else_ifdef_regex . captures ( line) {
585565 // When should we accept the code in an
586566 //
@@ -685,6 +665,26 @@ impl ShaderProcessor {
685665 . is_match ( line)
686666 {
687667 // ignore import path lines
668+ } else if let Some ( cap) = self . define_regex . captures ( line) {
669+ let def = cap. get ( 1 ) . unwrap ( ) ;
670+ let name = def. as_str ( ) . to_string ( ) ;
671+
672+ if let Some ( val) = cap. get ( 2 ) {
673+ if let Ok ( val) = val. as_str ( ) . parse :: < u32 > ( ) {
674+ shader_defs_unique. insert ( name. clone ( ) , ShaderDefVal :: UInt ( name, val) ) ;
675+ } else if let Ok ( val) = val. as_str ( ) . parse :: < i32 > ( ) {
676+ shader_defs_unique. insert ( name. clone ( ) , ShaderDefVal :: Int ( name, val) ) ;
677+ } else if let Ok ( val) = val. as_str ( ) . parse :: < bool > ( ) {
678+ shader_defs_unique. insert ( name. clone ( ) , ShaderDefVal :: Bool ( name, val) ) ;
679+ } else {
680+ return Err ( ProcessShaderError :: InvalidShaderDefDefinitionValue {
681+ shader_def_name : name,
682+ value : val. as_str ( ) . to_string ( ) ,
683+ } ) ;
684+ }
685+ } else {
686+ shader_defs_unique. insert ( name. clone ( ) , ShaderDefVal :: Bool ( name, true ) ) ;
687+ }
688688 } else {
689689 let mut line_with_defs = line. to_string ( ) ;
690690 for capture in self . def_regex . captures_iter ( line) {
0 commit comments