SPV: Change barrier emission to conform to Khronos decisions.
[platform/upstream/glslang.git] / Test / baseResults / hlsl.hull.1.tesc.out
index a9f6386..56ea081 100644 (file)
@@ -1,6 +1,7 @@
 hlsl.hull.1.tesc
-Shader version: 450
+Shader version: 500
 vertices = 4
+vertex spacing = equal_spacing
 0:? Sequence
 0:26  Function Definition: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
 0:26    Function Parameters: 
@@ -31,7 +32,9 @@ vertices = 4
 0:?         'm_cpid' ( temp uint)
 0:?         'm_cpid' ( in uint InvocationID)
 0:26      move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
-0:?         '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint})
+0:26        indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
+0:?           '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
+0:?           'm_cpid' ( in uint InvocationID)
 0:26        Function Call: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
 0:?           'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?           'm_cpid' ( temp uint)
@@ -51,7 +54,7 @@ vertices = 4
 0:?           Sequence
 0:?             move second child to first child ( temp float)
 0:?               direct index ( patch out float TessLevelOuter)
-0:?                 '@patchConstantOutput_edges' ( patch out 2-element array of float TessLevelOuter)
+0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 0:?                 Constant:
 0:?                   0 (const int)
 0:?               direct index ( temp float)
@@ -63,7 +66,7 @@ vertices = 4
 0:?                   0 (const int)
 0:?             move second child to first child ( temp float)
 0:?               direct index ( patch out float TessLevelOuter)
-0:?                 '@patchConstantOutput_edges' ( patch out 2-element array of float TessLevelOuter)
+0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 0:?                 Constant:
 0:?                   1 (const int)
 0:?               direct index ( temp float)
@@ -100,19 +103,19 @@ vertices = 4
 0:38      Branch: Return with expression
 0:38        'output' ( temp structure{ temp 2-element array of float edges})
 0:?   Linker Objects
-0:?     '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint})
+0:?     '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?     'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?     'm_cpid' ( in uint InvocationID)
 0:?     'pid' ( in uint PrimitiveID)
-0:?     '@patchConstantOutput' (layout( location=1) patch out structure{})
-0:?     '@patchConstantOutput_edges' ( patch out 2-element array of float TessLevelOuter)
+0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 
 
 Linked tessellation control stage:
 
 
-Shader version: 450
+Shader version: 500
 vertices = 4
+vertex spacing = equal_spacing
 0:? Sequence
 0:26  Function Definition: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
 0:26    Function Parameters: 
@@ -143,7 +146,9 @@ vertices = 4
 0:?         'm_cpid' ( temp uint)
 0:?         'm_cpid' ( in uint InvocationID)
 0:26      move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
-0:?         '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint})
+0:26        indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
+0:?           '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
+0:?           'm_cpid' ( in uint InvocationID)
 0:26        Function Call: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
 0:?           'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?           'm_cpid' ( temp uint)
@@ -163,7 +168,7 @@ vertices = 4
 0:?           Sequence
 0:?             move second child to first child ( temp float)
 0:?               direct index ( patch out float TessLevelOuter)
-0:?                 '@patchConstantOutput_edges' ( patch out 2-element array of float TessLevelOuter)
+0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 0:?                 Constant:
 0:?                   0 (const int)
 0:?               direct index ( temp float)
@@ -175,7 +180,7 @@ vertices = 4
 0:?                   0 (const int)
 0:?             move second child to first child ( temp float)
 0:?               direct index ( patch out float TessLevelOuter)
-0:?                 '@patchConstantOutput_edges' ( patch out 2-element array of float TessLevelOuter)
+0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 0:?                 Constant:
 0:?                   1 (const int)
 0:?               direct index ( temp float)
@@ -212,22 +217,24 @@ vertices = 4
 0:38      Branch: Return with expression
 0:38        'output' ( temp structure{ temp 2-element array of float edges})
 0:?   Linker Objects
-0:?     '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint})
+0:?     '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?     'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?     'm_cpid' ( in uint InvocationID)
 0:?     'pid' ( in uint PrimitiveID)
-0:?     '@patchConstantOutput' (layout( location=1) patch out structure{})
-0:?     '@patchConstantOutput_edges' ( patch out 2-element array of float TessLevelOuter)
+0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 88
+// Generated by (magic number): 80002
+// Id's are bound by 89
 
                               Capability Tessellation
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint TessellationControl 4  "main" 40 44 47 62 67 87
+                              EntryPoint TessellationControl 4  "main" 40 44 48 65 71
                               ExecutionMode 4 OutputVertices 4
+                              ExecutionMode 4 Isolines
+                              ExecutionMode 4 SpacingEqual
+                              Source HLSL 500
                               Name 4  "main"
                               Name 8  "VS_OUT"
                               MemberName 8(VS_OUT) 0  "cpoint"
@@ -245,24 +252,20 @@ vertices = 4
                               Name 40  "ip"
                               Name 42  "m_cpid"
                               Name 44  "m_cpid"
-                              Name 47  "@entryPointOutput"
-                              Name 48  "param"
+                              Name 48  "@entryPointOutput"
                               Name 50  "param"
-                              Name 61  "@patchConstantResult"
-                              Name 62  "pid"
-                              Name 63  "param"
-                              Name 67  "@patchConstantOutput_edges"
-                              Name 77  "output"
-                              Name 85  "HS_CONSTANT_OUT"
-                              Name 87  "@patchConstantOutput"
+                              Name 52  "param"
+                              Name 64  "@patchConstantResult"
+                              Name 65  "pid"
+                              Name 66  "param"
+                              Name 71  "@patchConstantOutput.edges"
+                              Name 81  "output"
                               Decorate 40(ip) Location 0
                               Decorate 44(m_cpid) BuiltIn InvocationId
-                              Decorate 47(@entryPointOutput) Location 0
-                              Decorate 62(pid) BuiltIn PrimitiveId
-                              Decorate 67(@patchConstantOutput_edges) Patch
-                              Decorate 67(@patchConstantOutput_edges) BuiltIn TessLevelOuter
-                              Decorate 87(@patchConstantOutput) Patch
-                              Decorate 87(@patchConstantOutput) Location 1
+                              Decorate 48(@entryPointOutput) Location 0
+                              Decorate 65(pid) BuiltIn PrimitiveId
+                              Decorate 71(@patchConstantOutput.edges) Patch
+                              Decorate 71(@patchConstantOutput.edges) BuiltIn TessLevelOuter
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -287,61 +290,62 @@ vertices = 4
           40(ip):     39(ptr) Variable Input
               43:             TypePointer Input 9(int)
       44(m_cpid):     43(ptr) Variable Input
-              46:             TypePointer Output 14(HS_OUT)
-47(@entryPointOutput):     46(ptr) Variable Output
-              53:      9(int) Constant 1
-              54:      9(int) Constant 0
-              56:             TypeBool
-              60:             TypePointer Function 22(HS_CONSTANT_OUT)
-         62(pid):     43(ptr) Variable Input
-              66:             TypePointer Output 21
-67(@patchConstantOutput_edges):     66(ptr) Variable Output
-              68:             TypePointer Function 6(float)
-              71:             TypePointer Output 6(float)
-              73:     29(int) Constant 1
-              78:    6(float) Constant 1073741824
-              80:    6(float) Constant 1090519040
-85(HS_CONSTANT_OUT):             TypeStruct
-              86:             TypePointer Output 85(HS_CONSTANT_OUT)
-87(@patchConstantOutput):     86(ptr) Variable Output
+              46:             TypeArray 14(HS_OUT) 10
+              47:             TypePointer Output 46
+48(@entryPointOutput):     47(ptr) Variable Output
+              55:             TypePointer Output 14(HS_OUT)
+              57:      9(int) Constant 0
+              59:             TypeBool
+              63:             TypePointer Function 22(HS_CONSTANT_OUT)
+         65(pid):     43(ptr) Variable Input
+              69:             TypeArray 6(float) 10
+              70:             TypePointer Output 69
+71(@patchConstantOutput.edges):     70(ptr) Variable Output
+              72:             TypePointer Function 6(float)
+              75:             TypePointer Output 6(float)
+              77:     29(int) Constant 1
+              82:    6(float) Constant 1073741824
+              84:    6(float) Constant 1090519040
          4(main):           2 Function None 3
                5:             Label
           38(ip):     12(ptr) Variable Function
       42(m_cpid):     13(ptr) Variable Function
-       48(param):     12(ptr) Variable Function
-       50(param):     13(ptr) Variable Function
-61(@patchConstantResult):     60(ptr) Variable Function
-       63(param):     13(ptr) Variable Function
+       50(param):     12(ptr) Variable Function
+       52(param):     13(ptr) Variable Function
+64(@patchConstantResult):     63(ptr) Variable Function
+       66(param):     13(ptr) Variable Function
               41:          11 Load 40(ip)
                               Store 38(ip) 41
               45:      9(int) Load 44(m_cpid)
                               Store 42(m_cpid) 45
-              49:          11 Load 38(ip)
-                              Store 48(param) 49
-              51:      9(int) Load 42(m_cpid)
+              49:      9(int) Load 44(m_cpid)
+              51:          11 Load 38(ip)
                               Store 50(param) 51
-              52:  14(HS_OUT) FunctionCall 18(@main(struct-VS_OUT-vf31[4];u1;) 48(param) 50(param)
-                              Store 47(@entryPointOutput) 52
-                              ControlBarrier 20 53 54
-              55:      9(int) Load 44(m_cpid)
-              57:    56(bool) IEqual 55 30
-                              SelectionMerge 59 None
-                              BranchConditional 57 58 59
-              58:               Label
-              64:      9(int)   Load 62(pid)
-                                Store 63(param) 64
-              65:22(HS_CONSTANT_OUT)   FunctionCall 25(PCF(u1;) 63(param)
-                                Store 61(@patchConstantResult) 65
-              69:     68(ptr)   AccessChain 61(@patchConstantResult) 30 30
-              70:    6(float)   Load 69
-              72:     71(ptr)   AccessChain 67(@patchConstantOutput_edges) 30
-                                Store 72 70
-              74:     68(ptr)   AccessChain 61(@patchConstantResult) 30 73
-              75:    6(float)   Load 74
-              76:     71(ptr)   AccessChain 67(@patchConstantOutput_edges) 73
-                                Store 76 75
-                                Branch 59
-              59:             Label
+              53:      9(int) Load 42(m_cpid)
+                              Store 52(param) 53
+              54:  14(HS_OUT) FunctionCall 18(@main(struct-VS_OUT-vf31[4];u1;) 50(param) 52(param)
+              56:     55(ptr) AccessChain 48(@entryPointOutput) 49
+                              Store 56 54
+                              ControlBarrier 20 10 57
+              58:      9(int) Load 44(m_cpid)
+              60:    59(bool) IEqual 58 30
+                              SelectionMerge 62 None
+                              BranchConditional 60 61 62
+              61:               Label
+              67:      9(int)   Load 65(pid)
+                                Store 66(param) 67
+              68:22(HS_CONSTANT_OUT)   FunctionCall 25(PCF(u1;) 66(param)
+                                Store 64(@patchConstantResult) 68
+              73:     72(ptr)   AccessChain 64(@patchConstantResult) 30 30
+              74:    6(float)   Load 73
+              76:     75(ptr)   AccessChain 71(@patchConstantOutput.edges) 30
+                                Store 76 74
+              78:     72(ptr)   AccessChain 64(@patchConstantResult) 30 77
+              79:    6(float)   Load 78
+              80:     75(ptr)   AccessChain 71(@patchConstantOutput.edges) 77
+                                Store 80 79
+                                Branch 62
+              62:             Label
                               Return
                               FunctionEnd
 18(@main(struct-VS_OUT-vf31[4];u1;):  14(HS_OUT) Function None 15
@@ -359,11 +363,11 @@ vertices = 4
      25(PCF(u1;):22(HS_CONSTANT_OUT) Function None 23
          24(pid):     13(ptr) FunctionParameter
               26:             Label
-      77(output):     60(ptr) Variable Function
-              79:     68(ptr) AccessChain 77(output) 30 30
-                              Store 79 78
-              81:     68(ptr) AccessChain 77(output) 30 73
-                              Store 81 80
-              82:22(HS_CONSTANT_OUT) Load 77(output)
-                              ReturnValue 82
+      81(output):     63(ptr) Variable Function
+              83:     72(ptr) AccessChain 81(output) 30 30
+                              Store 83 82
+              85:     72(ptr) AccessChain 81(output) 30 77
+                              Store 85 84
+              86:22(HS_CONSTANT_OUT) Load 81(output)
+                              ReturnValue 86
                               FunctionEnd