Ver Fonte

add @:keep on all shader prop functions

trethaller há 4 anos atrás
pai
commit
4559a461c7
2 ficheiros alterados com 4 adições e 4 exclusões
  1. 0 1
      h3d/shader/pbr/DefaultForward.hx
  2. 4 3
      hxsl/Macros.hx

+ 0 - 1
h3d/shader/pbr/DefaultForward.hx

@@ -1,6 +1,5 @@
 package h3d.shader.pbr;
 package h3d.shader.pbr;
 
 
-@:keep
 class DefaultForward extends hxsl.Shader {
 class DefaultForward extends hxsl.Shader {
 
 
 	static var SRC = {
 	static var SRC = {

+ 4 - 3
hxsl/Macros.hx

@@ -140,6 +140,7 @@ class Macros {
 	static function buildFields( shader : ShaderData, inits : Array<{ v : TVar, e : Ast.TExpr }>, pos : Position ) {
 	static function buildFields( shader : ShaderData, inits : Array<{ v : TVar, e : Ast.TExpr }>, pos : Position ) {
 		var fields = new Array<Field>();
 		var fields = new Array<Field>();
 		var globals = [], consts = [], params = [], eparams = [], tparams = [];
 		var globals = [], consts = [], params = [], eparams = [], tparams = [];
+		var metas = [{ name : ":noCompletion", pos : pos }, { name : ":keep", pos : pos }];
 		for( v in shader.vars ) {
 		for( v in shader.vars ) {
 			var cpos = consts.length;
 			var cpos = consts.length;
 			getConsts(v, pos, consts);
 			getConsts(v, pos, consts);
@@ -162,7 +163,7 @@ class Macros {
 					name : name,
 					name : name,
 					pos : pos,
 					pos : pos,
 					kind : FVar(t, initVal != null ? makeInit(initVal) : makeDef(v.type, pos)),
 					kind : FVar(t, initVal != null ? makeInit(initVal) : makeDef(v.type, pos)),
-					meta : [{ name : ":noCompletion", pos : pos }],
+					meta : metas,
 				};
 				};
 				var fget : Field = {
 				var fget : Field = {
 					name : "get_" + v.name,
 					name : "get_" + v.name,
@@ -179,7 +180,7 @@ class Macros {
 							},
 							},
 					}),
 					}),
 					access : [AInline],
 					access : [AInline],
-					meta : [{ name : ":noCompletion", pos : pos }],
+					meta : metas,
 				};
 				};
 				var fset : Field = {
 				var fset : Field = {
 					name : "set_" + v.name,
 					name : "set_" + v.name,
@@ -196,7 +197,7 @@ class Macros {
 							}
 							}
 					}),
 					}),
 					access : [AInline],
 					access : [AInline],
-					meta : [{ name : ":noCompletion", pos : pos }],
+					meta : metas,
 				};
 				};
 				fields.push(f);
 				fields.push(f);
 				fields.push(f2);
 				fields.push(f2);