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 134Validation failed 135// Module Version 10000 136// Generated by (magic number): 8000a 137// Id's are bound by 66 138 139 Capability Shader 140 1: ExtInstImport "GLSL.std.450" 141 MemoryModel Logical GLSL450 142 EntryPoint Fragment 4 "main" 64 143 ExecutionMode 4 OriginUpperLeft 144 Source HLSL 500 145 Name 4 "main" 146 Name 9 "@main(" 147 Name 12 "cb3" 148 MemberName 12(cb3) 0 "x" 149 MemberName 12(cb3) 1 "y" 150 Name 18 "cb3" 151 Name 31 "cb1" 152 MemberName 31(cb1) 0 "x" 153 Name 33 "cb1" 154 Name 40 "cb2" 155 Name 46 "cbuff" 156 MemberName 46(cbuff) 0 "c1" 157 Name 48 "" 158 Name 64 "@entryPointOutput" 159 MemberDecorate 12(cb3) 0 Offset 0 160 MemberDecorate 12(cb3) 1 Offset 4 161 Decorate 12(cb3) Block 162 Decorate 18(cb3) DescriptorSet 0 163 Decorate 18(cb3) Binding 1 164 MemberDecorate 31(cb1) 0 Offset 0 165 Decorate 31(cb1) Block 166 Decorate 33(cb1) DescriptorSet 0 167 Decorate 33(cb1) Binding 12 168 Decorate 40(cb2) DescriptorSet 0 169 Decorate 40(cb2) Binding 0 170 MemberDecorate 46(cbuff) 0 Offset 0 171 Decorate 46(cbuff) Block 172 Decorate 48 DescriptorSet 0 173 Decorate 48 Binding 2 174 Decorate 64(@entryPointOutput) Location 0 175 2: TypeVoid 176 3: TypeFunction 2 177 6: TypeFloat 32 178 7: TypeVector 6(float) 4 179 8: TypeFunction 7(fvec4) 180 11: TypeInt 32 0 181 12(cb3): TypeStruct 11(int) 6(float) 182 13: 11(int) Constant 4 183 14: TypeArray 12(cb3) 13 184 15: 11(int) Constant 2 185 16: TypeArray 14 15 186 17: TypePointer Uniform 16 187 18(cb3): 17(ptr) Variable Uniform 188 19: TypeInt 32 1 189 20: 19(int) Constant 1 190 21: 19(int) Constant 2 191 22: 19(int) Constant 0 192 23: TypePointer Uniform 11(int) 193 26: TypeBool 194 27: 11(int) Constant 0 195 31(cb1): TypeStruct 7(fvec4) 196 32: TypePointer Uniform 31(cb1) 197 33(cb1): 32(ptr) Variable Uniform 198 34: TypePointer Uniform 7(fvec4) 199 37: 11(int) Constant 3 200 38: TypeArray 12(cb3) 37 201 39: TypePointer Uniform 38 202 40(cb2): 39(ptr) Variable Uniform 203 41: TypePointer Uniform 6(float) 204 46(cbuff): TypeStruct 19(int) 205 47: TypePointer Uniform 46(cbuff) 206 48: 47(ptr) Variable Uniform 207 49: TypePointer Uniform 19(int) 208 57: 19(int) Constant 3 209 63: TypePointer Output 7(fvec4) 21064(@entryPointOutput): 63(ptr) Variable Output 211 4(main): 2 Function None 3 212 5: Label 213 65: 7(fvec4) FunctionCall 9(@main() 214 Store 64(@entryPointOutput) 65 215 Return 216 FunctionEnd 217 9(@main(): 7(fvec4) Function None 8 218 10: Label 219 24: 23(ptr) AccessChain 18(cb3) 20 21 22 220 25: 11(int) Load 24 221 28: 26(bool) INotEqual 25 27 222 SelectionMerge 30 None 223 BranchConditional 28 29 56 224 29: Label 225 35: 34(ptr) AccessChain 33(cb1) 22 226 36: 7(fvec4) Load 35 227 42: 41(ptr) AccessChain 40(cb2) 20 20 228 43: 6(float) Load 42 229 44: 7(fvec4) CompositeConstruct 43 43 43 43 230 45: 7(fvec4) FAdd 36 44 231 50: 49(ptr) AccessChain 48 22 232 51: 19(int) Load 50 233 52: 6(float) ConvertSToF 51 234 53: 7(fvec4) CompositeConstruct 52 52 52 52 235 54: 7(fvec4) FAdd 45 53 236 ReturnValue 54 237 56: Label 238 58: 41(ptr) AccessChain 18(cb3) 20 57 20 239 59: 6(float) Load 58 240 60: 7(fvec4) CompositeConstruct 59 59 59 59 241 ReturnValue 60 242 30: Label 243 Unreachable 244 FunctionEnd 245