HLSL: Move debug naming to a simpler, more consistent, scheme.
This will help in expanding flattening and reducing splitting.
diff --git a/Test/baseResults/hlsl.entry-out.frag.out b/Test/baseResults/hlsl.entry-out.frag.out
index 1324112..9ff7d33 100755
--- a/Test/baseResults/hlsl.entry-out.frag.out
+++ b/Test/baseResults/hlsl.entry-out.frag.out
@@ -86,26 +86,26 @@
0:? 'out1' ( temp 4-component vector of float)
0:13 Sequence
0:13 move second child to first child ( temp 2-component vector of float)
-0:? 'v' (layout( location=2) out 2-component vector of float)
+0:? 'out2.v' (layout( location=2) out 2-component vector of float)
0:13 v: direct index for structure ( temp 2-component vector of float)
0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child ( temp 2-component vector of int)
-0:? 'i' (layout( location=3) out 2-component vector of int)
+0:? 'out2.i' (layout( location=3) out 2-component vector of int)
0:13 i: direct index for structure ( temp 2-component vector of int)
0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 1 (const int)
0:13 Sequence
0:13 move second child to first child ( temp 2-component vector of float)
-0:? 'v' (layout( location=4) out 2-component vector of float)
+0:? 'out3.v' (layout( location=4) out 2-component vector of float)
0:13 v: direct index for structure ( temp 2-component vector of float)
0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child ( temp 2-component vector of int)
-0:? 'i' (layout( location=5) out 2-component vector of int)
+0:? 'out3.i' (layout( location=5) out 2-component vector of int)
0:13 i: direct index for structure ( temp 2-component vector of int)
0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
@@ -114,10 +114,10 @@
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 'out1' (layout( location=1) out 4-component vector of float)
-0:? 'v' (layout( location=2) out 2-component vector of float)
-0:? 'i' (layout( location=3) out 2-component vector of int)
-0:? 'v' (layout( location=4) out 2-component vector of float)
-0:? 'i' (layout( location=5) out 2-component vector of int)
+0:? 'out2.v' (layout( location=2) out 2-component vector of float)
+0:? 'out2.i' (layout( location=3) out 2-component vector of int)
+0:? 'out3.v' (layout( location=4) out 2-component vector of float)
+0:? 'out3.i' (layout( location=5) out 2-component vector of int)
Linked fragment stage:
@@ -210,26 +210,26 @@
0:? 'out1' ( temp 4-component vector of float)
0:13 Sequence
0:13 move second child to first child ( temp 2-component vector of float)
-0:? 'v' (layout( location=2) out 2-component vector of float)
+0:? 'out2.v' (layout( location=2) out 2-component vector of float)
0:13 v: direct index for structure ( temp 2-component vector of float)
0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child ( temp 2-component vector of int)
-0:? 'i' (layout( location=3) out 2-component vector of int)
+0:? 'out2.i' (layout( location=3) out 2-component vector of int)
0:13 i: direct index for structure ( temp 2-component vector of int)
0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 1 (const int)
0:13 Sequence
0:13 move second child to first child ( temp 2-component vector of float)
-0:? 'v' (layout( location=4) out 2-component vector of float)
+0:? 'out3.v' (layout( location=4) out 2-component vector of float)
0:13 v: direct index for structure ( temp 2-component vector of float)
0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child ( temp 2-component vector of int)
-0:? 'i' (layout( location=5) out 2-component vector of int)
+0:? 'out3.i' (layout( location=5) out 2-component vector of int)
0:13 i: direct index for structure ( temp 2-component vector of int)
0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
@@ -238,10 +238,10 @@
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 'out1' (layout( location=1) out 4-component vector of float)
-0:? 'v' (layout( location=2) out 2-component vector of float)
-0:? 'i' (layout( location=3) out 2-component vector of int)
-0:? 'v' (layout( location=4) out 2-component vector of float)
-0:? 'i' (layout( location=5) out 2-component vector of int)
+0:? 'out2.v' (layout( location=2) out 2-component vector of float)
+0:? 'out2.i' (layout( location=3) out 2-component vector of int)
+0:? 'out3.v' (layout( location=4) out 2-component vector of float)
+0:? 'out3.i' (layout( location=5) out 2-component vector of int)
// Module Version 10000
// Generated by (magic number): 80001
@@ -277,17 +277,17 @@
Name 67 "param"
Name 68 "param"
Name 73 "out1"
- Name 76 "v"
- Name 80 "i"
- Name 83 "v"
- Name 86 "i"
+ Name 76 "out2.v"
+ Name 80 "out2.i"
+ Name 83 "out3.v"
+ Name 86 "out3.i"
Decorate 57(input) Location 0
Decorate 60(@entryPointOutput) Location 0
Decorate 73(out1) Location 1
- Decorate 76(v) Location 2
- Decorate 80(i) Location 3
- Decorate 83(v) Location 4
- Decorate 86(i) Location 5
+ Decorate 76(out2.v) Location 2
+ Decorate 80(out2.i) Location 3
+ Decorate 83(out3.v) Location 4
+ Decorate 86(out3.i) Location 5
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -322,11 +322,11 @@
60(@entryPointOutput): 59(ptr) Variable Output
73(out1): 59(ptr) Variable Output
75: TypePointer Output 7(fvec2)
- 76(v): 75(ptr) Variable Output
+ 76(out2.v): 75(ptr) Variable Output
79: TypePointer Output 9(ivec2)
- 80(i): 79(ptr) Variable Output
- 83(v): 75(ptr) Variable Output
- 86(i): 79(ptr) Variable Output
+ 80(out2.i): 79(ptr) Variable Output
+ 83(out3.v): 75(ptr) Variable Output
+ 86(out3.i): 79(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
55(input): 17(ptr) Variable Function
@@ -353,16 +353,16 @@
Store 73(out1) 74
77: 28(ptr) AccessChain 62(out2) 25
78: 7(fvec2) Load 77
- Store 76(v) 78
+ Store 76(out2.v) 78
81: 33(ptr) AccessChain 62(out2) 30
82: 9(ivec2) Load 81
- Store 80(i) 82
+ Store 80(out2.i) 82
84: 28(ptr) AccessChain 63(out3) 25
85: 7(fvec2) Load 84
- Store 83(v) 85
+ Store 83(out3.v) 85
87: 33(ptr) AccessChain 63(out3) 30
88: 9(ivec2) Load 87
- Store 86(i) 88
+ Store 86(out3.i) 88
Return
FunctionEnd
14(fun(struct-OutParam-vf2-vi21;): 2 Function None 12