AST: dump attributes along with control flow.
[platform/upstream/glslang.git] / Test / baseResults / hlsl.whileLoop.frag.out
index aece52a..b8fe5e9 100755 (executable)
@@ -1,26 +1,27 @@
 hlsl.whileLoop.frag
-Shader version: 450
+Shader version: 500
 gl_FragCoord origin is upper left
 0:? Sequence
-0:8  Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
+0:2  Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
 0:2    Function Parameters: 
-0:2      'input' (in 4-component vector of float)
+0:2      'input' ( in 4-component vector of float)
 0:?     Sequence
 0:3      Loop with condition tested first
 0:3        Loop Condition
-0:3        Compare Not Equal (temp bool)
-0:3          'input' (in 4-component vector of float)
-0:3          'input' (in 4-component vector of float)
+0:3        any ( temp bool)
+0:3          NotEqual ( temp 4-component vector of bool)
+0:3            'input' ( in 4-component vector of float)
+0:3            'input' ( in 4-component vector of float)
 0:3        Loop Body
 0:?         Sequence
 0:3          Branch: Return with expression
-0:3            'input' (in 4-component vector of float)
+0:3            'input' ( in 4-component vector of float)
 0:4      Loop with condition tested first
 0:4        Loop Condition
 0:4        Constant:
 0:4          false (const bool)
 0:4        No loop body
-0:5      Loop with condition tested first
+0:5      Loop with condition tested first: Unroll
 0:5        Loop Condition
 0:5        Constant:
 0:5          false (const bool)
@@ -30,34 +31,47 @@ gl_FragCoord origin is upper left
 0:6        Constant:
 0:6          false (const bool)
 0:6        No loop body
+0:2  Function Definition: PixelShaderFunction( ( temp void)
+0:2    Function Parameters: 
+0:?     Sequence
+0:2      move second child to first child ( temp 4-component vector of float)
+0:?         'input' ( temp 4-component vector of float)
+0:?         'input' (layout( location=0) in 4-component vector of float)
+0:2      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:2        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
+0:?           'input' ( temp 4-component vector of float)
 0:?   Linker Objects
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:?     'input' (layout( location=0) in 4-component vector of float)
 
 
 Linked fragment stage:
 
 
-Shader version: 450
+Shader version: 500
 gl_FragCoord origin is upper left
 0:? Sequence
-0:8  Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
+0:2  Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
 0:2    Function Parameters: 
-0:2      'input' (in 4-component vector of float)
+0:2      'input' ( in 4-component vector of float)
 0:?     Sequence
 0:3      Loop with condition tested first
 0:3        Loop Condition
-0:3        Compare Not Equal (temp bool)
-0:3          'input' (in 4-component vector of float)
-0:3          'input' (in 4-component vector of float)
+0:3        any ( temp bool)
+0:3          NotEqual ( temp 4-component vector of bool)
+0:3            'input' ( in 4-component vector of float)
+0:3            'input' ( in 4-component vector of float)
 0:3        Loop Body
 0:?         Sequence
 0:3          Branch: Return with expression
-0:3            'input' (in 4-component vector of float)
+0:3            'input' ( in 4-component vector of float)
 0:4      Loop with condition tested first
 0:4        Loop Condition
 0:4        Constant:
 0:4          false (const bool)
 0:4        No loop body
-0:5      Loop with condition tested first
+0:5      Loop with condition tested first: Unroll
 0:5        Loop Condition
 0:5        Constant:
 0:5          false (const bool)
@@ -67,79 +81,116 @@ gl_FragCoord origin is upper left
 0:6        Constant:
 0:6          false (const bool)
 0:6        No loop body
+0:2  Function Definition: PixelShaderFunction( ( temp void)
+0:2    Function Parameters: 
+0:?     Sequence
+0:2      move second child to first child ( temp 4-component vector of float)
+0:?         'input' ( temp 4-component vector of float)
+0:?         'input' (layout( location=0) in 4-component vector of float)
+0:2      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:2        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
+0:?           'input' ( temp 4-component vector of float)
 0:?   Linker Objects
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 39
+// Generated by (magic number): 80003
+// Id's are bound by 52
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "PixelShaderFunction" 14
+                              EntryPoint Fragment 4  "PixelShaderFunction" 45 48
                               ExecutionMode 4 OriginUpperLeft
-                              Source HLSL 450
+                              Source HLSL 500
                               Name 4  "PixelShaderFunction"
-                              Name 14  "input"
+                              Name 11  "@PixelShaderFunction(vf4;"
+                              Name 10  "input"
+                              Name 43  "input"
+                              Name 45  "input"
+                              Name 48  "@entryPointOutput"
+                              Name 49  "param"
+                              Decorate 45(input) Location 0
+                              Decorate 48(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
-              11:             TypeFloat 32
-              12:             TypeVector 11(float) 4
-              13:             TypePointer Input 12(fvec4)
-       14(input):     13(ptr) Variable Input
-              17:             TypeBool
-              18:             TypeVector 17(bool) 4
-              28:    17(bool) ConstantFalse
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Function 7(fvec4)
+               9:             TypeFunction 7(fvec4) 8(ptr)
+              20:             TypeBool
+              21:             TypeVector 20(bool) 4
+              31:    20(bool) ConstantFalse
+              44:             TypePointer Input 7(fvec4)
+       45(input):     44(ptr) Variable Input
+              47:             TypePointer Output 7(fvec4)
+48(@entryPointOutput):     47(ptr) Variable Output
 4(PixelShaderFunction):           2 Function None 3
                5:             Label
-                              Branch 6
-               6:             Label
-                              LoopMerge 8 9 None
-                              Branch 10
-              10:             Label
-              15:   12(fvec4) Load 14(input)
-              16:   12(fvec4) Load 14(input)
-              19:   18(bvec4) FOrdNotEqual 15 16
-              20:    17(bool) Any 19
-                              BranchConditional 20 7 8
-               7:               Label
-              21:   12(fvec4)   Load 14(input)
-                                ReturnValue 21
-               9:               Label
-                                Branch 6
-               8:             Label
-                              Branch 23
-              23:             Label
-                              LoopMerge 25 26 None
-                              Branch 27
-              27:             Label
-                              BranchConditional 28 24 25
-              24:               Label
+       43(input):      8(ptr) Variable Function
+       49(param):      8(ptr) Variable Function
+              46:    7(fvec4) Load 45(input)
+                              Store 43(input) 46
+              50:    7(fvec4) Load 43(input)
+                              Store 49(param) 50
+              51:    7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 49(param)
+                              Store 48(@entryPointOutput) 51
+                              Return
+                              FunctionEnd
+11(@PixelShaderFunction(vf4;):    7(fvec4) Function None 9
+       10(input):      8(ptr) FunctionParameter
+              12:             Label
+                              Branch 13
+              13:             Label
+                              LoopMerge 15 16 None
+                              Branch 17
+              17:             Label
+              18:    7(fvec4) Load 10(input)
+              19:    7(fvec4) Load 10(input)
+              22:   21(bvec4) FOrdNotEqual 18 19
+              23:    20(bool) Any 22
+                              BranchConditional 23 14 15
+              14:               Label
+              24:    7(fvec4)   Load 10(input)
+                                ReturnValue 24
+              16:               Label
+                                Branch 13
+              15:             Label
+                              Branch 26
+              26:             Label
+                              LoopMerge 28 29 None
+                              Branch 30
+              30:             Label
+                              BranchConditional 31 27 28
+              27:               Label
+                                Branch 29
+              29:               Label
                                 Branch 26
-              26:               Label
-                                Branch 23
-              25:             Label
-                              Branch 29
-              29:             Label
-                              LoopMerge 31 32 None
-                              Branch 33
-              33:             Label
-                              BranchConditional 28 30 31
-              30:               Label
+              28:             Label
+                              Branch 32
+              32:             Label
+                              LoopMerge 34 35 Unroll 
+                              Branch 36
+              36:             Label
+                              BranchConditional 31 33 34
+              33:               Label
+                                Branch 35
+              35:               Label
                                 Branch 32
-              32:               Label
-                                Branch 29
-              31:             Label
-                              Branch 34
               34:             Label
-                              LoopMerge 36 37 None
-                              Branch 38
-              38:             Label
-                              BranchConditional 28 35 36
-              35:               Label
+                              Branch 37
+              37:             Label
+                              LoopMerge 39 40 None
+                              Branch 41
+              41:             Label
+                              BranchConditional 31 38 39
+              38:               Label
+                                Branch 40
+              40:               Label
                                 Branch 37
-              37:               Label
-                                Branch 34
-              36:             Label
-                              Return
+              39:             Label
+              42:    7(fvec4) Undef
+                              ReturnValue 42
                               FunctionEnd