1hlsl.constantbuffer.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:20  Function Definition: @main( ( temp 4-component vector of float)
60:20    Function Parameters:
70:?     Sequence
80:21      Test condition and select ( temp void)
90:21        Condition
100:21        x: direct index for structure (layout( row_major std140) uniform bool)
110:21          direct index (layout( row_major std140) temp block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
120:21            direct index (layout( row_major std140) temp 4-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
130:21              'cb3' (layout( row_major std140) uniform 2-element array of 4-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
140:21              Constant:
150:21                1 (const int)
160:21            Constant:
170:21              2 (const int)
180:21          Constant:
190:21            0 (const int)
200:21        true case
210:22        Branch: Return with expression
220:22          add ( temp 4-component vector of float)
230:22            add ( temp 4-component vector of float)
240:22              x: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
250:22                'cb1' (layout( binding=12 row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float x})
260:22                Constant:
270:22                  0 (const int)
280:22              y: direct index for structure (layout( row_major std140) uniform float)
290:22                direct index (layout( row_major std140) temp block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
300:22                  'cb2' (layout( row_major std140) uniform 3-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
310:22                  Constant:
320:22                    1 (const int)
330:22                Constant:
340:22                  1 (const int)
350:22            Convert int to float ( temp float)
360:22              c1: direct index for structure (layout( row_major std140) uniform int)
370:22                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform int c1})
380:22                Constant:
390:22                  0 (const uint)
400:21        false case
410:24        Branch: Return with expression
420:24          Construct vec4 ( temp 4-component vector of float)
430:24            y: direct index for structure (layout( row_major std140) uniform float)
440:24              direct index (layout( row_major std140) temp block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
450:24                direct index (layout( row_major std140) temp 4-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
460:24                  'cb3' (layout( row_major std140) uniform 2-element array of 4-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
470:24                  Constant:
480:24                    1 (const int)
490:24                Constant:
500:24                  3 (const int)
510:24              Constant:
520:24                1 (const int)
530:20  Function Definition: main( ( temp void)
540:20    Function Parameters:
550:?     Sequence
560:20      move second child to first child ( temp 4-component vector of float)
570:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
580:20        Function Call: @main( ( temp 4-component vector of float)
590:?   Linker Objects
600:?     'cb1' (layout( binding=12 row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float x})
610:?     'cb2' (layout( row_major std140) uniform 3-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
620:?     'cb3' (layout( row_major std140) uniform 2-element array of 4-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
630:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform int c1})
640:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
65
66
67Linked fragment stage:
68
69
70Shader version: 500
71gl_FragCoord origin is upper left
720:? Sequence
730:20  Function Definition: @main( ( temp 4-component vector of float)
740:20    Function Parameters:
750:?     Sequence
760:21      Test condition and select ( temp void)
770:21        Condition
780:21        x: direct index for structure (layout( row_major std140) uniform bool)
790:21          direct index (layout( row_major std140) temp block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
800:21            direct index (layout( row_major std140) temp 4-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
810:21              'cb3' (layout( row_major std140) uniform 2-element array of 4-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
820:21              Constant:
830:21                1 (const int)
840:21            Constant:
850:21              2 (const int)
860:21          Constant:
870:21            0 (const int)
880:21        true case
890:22        Branch: Return with expression
900:22          add ( temp 4-component vector of float)
910:22            add ( temp 4-component vector of float)
920:22              x: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
930:22                'cb1' (layout( binding=12 row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float x})
940:22                Constant:
950:22                  0 (const int)
960:22              y: direct index for structure (layout( row_major std140) uniform float)
970:22                direct index (layout( row_major std140) temp block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
980:22                  'cb2' (layout( row_major std140) uniform 3-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
990:22                  Constant:
1000:22                    1 (const int)
1010:22                Constant:
1020:22                  1 (const int)
1030:22            Convert int to float ( temp float)
1040:22              c1: direct index for structure (layout( row_major std140) uniform int)
1050:22                'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform int c1})
1060:22                Constant:
1070:22                  0 (const uint)
1080:21        false case
1090:24        Branch: Return with expression
1100:24          Construct vec4 ( temp 4-component vector of float)
1110:24            y: direct index for structure (layout( row_major std140) uniform float)
1120:24              direct index (layout( row_major std140) temp block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
1130:24                direct index (layout( row_major std140) temp 4-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
1140:24                  'cb3' (layout( row_major std140) uniform 2-element array of 4-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
1150:24                  Constant:
1160:24                    1 (const int)
1170:24                Constant:
1180:24                  3 (const int)
1190:24              Constant:
1200:24                1 (const int)
1210:20  Function Definition: main( ( temp void)
1220:20    Function Parameters:
1230:?     Sequence
1240:20      move second child to first child ( temp 4-component vector of float)
1250:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1260:20        Function Call: @main( ( temp 4-component vector of float)
1270:?   Linker Objects
1280:?     'cb1' (layout( binding=12 row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float x})
1290:?     'cb2' (layout( row_major std140) uniform 3-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
1300:?     'cb3' (layout( row_major std140) uniform 2-element array of 4-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
1310:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform int c1})
1320:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
133
134// Module Version 10000
135// Generated by (magic number): 80007
136// Id's are bound by 66
137
138                              Capability Shader
139               1:             ExtInstImport  "GLSL.std.450"
140                              MemoryModel Logical GLSL450
141                              EntryPoint Fragment 4  "main" 64
142                              ExecutionMode 4 OriginUpperLeft
143                              Source HLSL 500
144                              Name 4  "main"
145                              Name 9  "@main("
146                              Name 12  "cb3"
147                              MemberName 12(cb3) 0  "x"
148                              MemberName 12(cb3) 1  "y"
149                              Name 18  "cb3"
150                              Name 31  "cb1"
151                              MemberName 31(cb1) 0  "x"
152                              Name 33  "cb1"
153                              Name 40  "cb2"
154                              Name 46  "cbuff"
155                              MemberName 46(cbuff) 0  "c1"
156                              Name 48  ""
157                              Name 64  "@entryPointOutput"
158                              MemberDecorate 12(cb3) 0 Offset 0
159                              MemberDecorate 12(cb3) 1 Offset 4
160                              Decorate 12(cb3) Block
161                              Decorate 18(cb3) DescriptorSet 0
162                              MemberDecorate 31(cb1) 0 Offset 0
163                              Decorate 31(cb1) Block
164                              Decorate 33(cb1) DescriptorSet 0
165                              Decorate 33(cb1) Binding 12
166                              Decorate 40(cb2) DescriptorSet 0
167                              MemberDecorate 46(cbuff) 0 Offset 0
168                              Decorate 46(cbuff) Block
169                              Decorate 48 DescriptorSet 0
170                              Decorate 64(@entryPointOutput) Location 0
171               2:             TypeVoid
172               3:             TypeFunction 2
173               6:             TypeFloat 32
174               7:             TypeVector 6(float) 4
175               8:             TypeFunction 7(fvec4)
176              11:             TypeInt 32 0
177         12(cb3):             TypeStruct 11(int) 6(float)
178              13:     11(int) Constant 4
179              14:             TypeArray 12(cb3) 13
180              15:     11(int) Constant 2
181              16:             TypeArray 14 15
182              17:             TypePointer Uniform 16
183         18(cb3):     17(ptr) Variable Uniform
184              19:             TypeInt 32 1
185              20:     19(int) Constant 1
186              21:     19(int) Constant 2
187              22:     19(int) Constant 0
188              23:             TypePointer Uniform 11(int)
189              26:             TypeBool
190              27:     11(int) Constant 0
191         31(cb1):             TypeStruct 7(fvec4)
192              32:             TypePointer Uniform 31(cb1)
193         33(cb1):     32(ptr) Variable Uniform
194              34:             TypePointer Uniform 7(fvec4)
195              37:     11(int) Constant 3
196              38:             TypeArray 12(cb3) 37
197              39:             TypePointer Uniform 38
198         40(cb2):     39(ptr) Variable Uniform
199              41:             TypePointer Uniform 6(float)
200       46(cbuff):             TypeStruct 19(int)
201              47:             TypePointer Uniform 46(cbuff)
202              48:     47(ptr) Variable Uniform
203              49:             TypePointer Uniform 19(int)
204              57:     19(int) Constant 3
205              63:             TypePointer Output 7(fvec4)
20664(@entryPointOutput):     63(ptr) Variable Output
207         4(main):           2 Function None 3
208               5:             Label
209              65:    7(fvec4) FunctionCall 9(@main()
210                              Store 64(@entryPointOutput) 65
211                              Return
212                              FunctionEnd
213       9(@main():    7(fvec4) Function None 8
214              10:             Label
215              24:     23(ptr) AccessChain 18(cb3) 20 21 22
216              25:     11(int) Load 24
217              28:    26(bool) INotEqual 25 27
218                              SelectionMerge 30 None
219                              BranchConditional 28 29 56
220              29:               Label
221              35:     34(ptr)   AccessChain 33(cb1) 22
222              36:    7(fvec4)   Load 35
223              42:     41(ptr)   AccessChain 40(cb2) 20 20
224              43:    6(float)   Load 42
225              44:    7(fvec4)   CompositeConstruct 43 43 43 43
226              45:    7(fvec4)   FAdd 36 44
227              50:     49(ptr)   AccessChain 48 22
228              51:     19(int)   Load 50
229              52:    6(float)   ConvertSToF 51
230              53:    7(fvec4)   CompositeConstruct 52 52 52 52
231              54:    7(fvec4)   FAdd 45 53
232                                ReturnValue 54
233              56:               Label
234              58:     41(ptr)   AccessChain 18(cb3) 20 57 20
235              59:    6(float)   Load 58
236              60:    7(fvec4)   CompositeConstruct 59 59 59 59
237                                ReturnValue 60
238              30:             Label
239              62:    7(fvec4) Undef
240                              ReturnValue 62
241                              FunctionEnd
242