Jelajahi Sumber

added -D shader-debug-while

Nicolas Cannasse 5 tahun lalu
induk
melakukan
5cfbfe2de3
1 mengubah file dengan 16 tambahan dan 0 penghapusan
  1. 16 0
      hxsl/Cache.hx

+ 16 - 0
hxsl/Cache.hx

@@ -187,6 +187,22 @@ class Cache {
 		for( s in shaderDatas ) Printer.check(s.inst.shader);
 		#end
 
+		#if shader_debug_while
+		for( s in shaders ) {
+			function checkRec( e : TExpr ) {
+				switch( e.e ) {
+				case TWhile(cond,_,_):
+					var name = @:privateAccess s.shader.data.name;
+					haxe.Log.trace("FOUND SHADER while( "+Printer.toString(cond)+")", { fileName : name, methodName : "", lineNumber : 0, className : name });
+				default:
+				}
+				e.iter(checkRec);
+			}
+			for( f in @:privateAccess s.instance.shader.funs )
+				checkRec(f.expr);
+		}
+		#end
+
 		#if shader_debug_dump
 		var shaderId = @:privateAccess RuntimeShader.UID;
 		if( shaderId == 0 ) try sys.FileSystem.createDirectory("shaders") catch( e : Dynamic ) {};