소스 검색

Fix hxsl checker bug where const can't have the same name with import with another shader.
The fix consist in reorder the check of double declaration with the skip of params.

borisrp 8 달 전
부모
커밋
39fc038939
1개의 변경된 파일4개의 추가작업 그리고 3개의 파일을 삭제
  1. 4 3
      hxsl/Checker.hx

+ 4 - 3
hxsl/Checker.hx

@@ -799,12 +799,13 @@ class Checker {
 					checkConst(e);
 					einit = e;
 				}
-				if( v.type == null ) error("Type required for variable declaration", e.pos);
-				if( vars.exists(v.name) ) error("Duplicate var decl '" + v.name + "'", e.pos);
-				var v = makeVar(v, e.pos);
+				if( v.type == null ) error("Type required for variable declaration", e.pos);				
 				if( isImport && v.kind == Param )
 					continue;
 
+				if( vars.exists(v.name) ) error("Duplicate var decl '" + v.name + "'", e.pos);
+				var v = makeVar(v, e.pos);
+
 				switch( v.type ) {
 				case TSampler(T3D, true), TRWTexture(T3D, true, _), TRWTexture(_,_,3):
 					error("Unsupported texture type", e.pos);