static float2 var = float2(1.0, 2.0); struct type1 { int memFun1(int3 var) { return var.z + this.var + var2; } int memFun2(int a) { int3 var = int3(1,2,3); return var.z + (int)bar.y + this.var2; } float2 bar; int var; int var2; }; float4 main() : SV_Target0 { type1 T; T.bar = var; T.var = 7; T.var2 = 9; int i = T.memFun1(int3(10,11,12)); i += T.memFun2(17); return float4(i,i,i,i); }