1 hlsl.constantbuffer.frag 2 Shader version: 500 3 gl_FragCoord origin is upper left 4 0:? Sequence 5 0:20 Function Definition: @main( ( temp 4-component vector of float) 6 0:20 Function Parameters: 7 0:? Sequence 8 0:21 Test condition and select ( temp void) 9 0:21 Condition 10 0:21 x: direct index for structure (layout( row_major std140) uniform bool) 11 0:21 direct index (layout( row_major std140) temp block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y}) 12 0: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}) 13 0: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}) 14 0:21 Constant: 15 0:21 1 (const int) 16 0:21 Constant: 17 0:21 2 (const int) 18 0:21 Constant: 19 0:21 0 (const int) 20 0:21 true case 21 0:22 Branch: Return with expression 22 0:22 add ( temp 4-component vector of float) 23 0:22 add ( temp 4-component vector of float) 24 0:22 x: direct index for structure (layout( row_major std140) uniform 4-component vector of float) 25 0:22 'cb1' (layout( binding=12 row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float x}) 26 0:22 Constant: 27 0:22 0 (const int) 28 0:22 y: direct index for structure (layout( row_major std140) uniform float) 29 0:22 direct index (layout( row_major std140) temp block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y}) 30 0: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}) 31 0:22 Constant: 32 0:22 1 (const int) 33 0:22 Constant: 34 0:22 1 (const int) 35 0:22 Convert int to float ( temp float) 36 0:22 c1: direct index for structure (layout( row_major std140) uniform int) 37 0:22 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform int c1}) 38 0:22 Constant: 39 0:22 0 (const uint) 40 0:21 false case 41 0:24 Branch: Return with expression 42 0:24 Construct vec4 ( temp 4-component vector of float) 43 0:24 y: direct index for structure (layout( row_major std140) uniform float) 44 0:24 direct index (layout( row_major std140) temp block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y}) 45 0: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}) 46 0: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}) 47 0:24 Constant: 48 0:24 1 (const int) 49 0:24 Constant: 50 0:24 3 (const int) 51 0:24 Constant: 52 0:24 1 (const int) 53 0:20 Function Definition: main( ( temp void) 54 0:20 Function Parameters: 55 0:? Sequence 56 0:20 move second child to first child ( temp 4-component vector of float) 57 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 58 0:20 Function Call: @main( ( temp 4-component vector of float) 59 0:? Linker Objects 60 0:? 'cb1' (layout( binding=12 row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float x}) 61 0:? '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}) 62 0:? '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}) 63 0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform int c1}) 64 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 65 66 67 Linked fragment stage: 68 69 70 Shader version: 500 71 gl_FragCoord origin is upper left 72 0:? Sequence 73 0:20 Function Definition: @main( ( temp 4-component vector of float) 74 0:20 Function Parameters: 75 0:? Sequence 76 0:21 Test condition and select ( temp void) 77 0:21 Condition 78 0:21 x: direct index for structure (layout( row_major std140) uniform bool) 79 0:21 direct index (layout( row_major std140) temp block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y}) 80 0: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}) 81 0: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}) 82 0:21 Constant: 83 0:21 1 (const int) 84 0:21 Constant: 85 0:21 2 (const int) 86 0:21 Constant: 87 0:21 0 (const int) 88 0:21 true case 89 0:22 Branch: Return with expression 90 0:22 add ( temp 4-component vector of float) 91 0:22 add ( temp 4-component vector of float) 92 0:22 x: direct index for structure (layout( row_major std140) uniform 4-component vector of float) 93 0:22 'cb1' (layout( binding=12 row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float x}) 94 0:22 Constant: 95 0:22 0 (const int) 96 0:22 y: direct index for structure (layout( row_major std140) uniform float) 97 0:22 direct index (layout( row_major std140) temp block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y}) 98 0: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}) 99 0:22 Constant: 100 0:22 1 (const int) 101 0:22 Constant: 102 0:22 1 (const int) 103 0:22 Convert int to float ( temp float) 104 0:22 c1: direct index for structure (layout( row_major std140) uniform int) 105 0:22 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform int c1}) 106 0:22 Constant: 107 0:22 0 (const uint) 108 0:21 false case 109 0:24 Branch: Return with expression 110 0:24 Construct vec4 ( temp 4-component vector of float) 111 0:24 y: direct index for structure (layout( row_major std140) uniform float) 112 0:24 direct index (layout( row_major std140) temp block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y}) 113 0: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}) 114 0: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}) 115 0:24 Constant: 116 0:24 1 (const int) 117 0:24 Constant: 118 0:24 3 (const int) 119 0:24 Constant: 120 0:24 1 (const int) 121 0:20 Function Definition: main( ( temp void) 122 0:20 Function Parameters: 123 0:? Sequence 124 0:20 move second child to first child ( temp 4-component vector of float) 125 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 126 0:20 Function Call: @main( ( temp 4-component vector of float) 127 0:? Linker Objects 128 0:? 'cb1' (layout( binding=12 row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float x}) 129 0:? '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}) 130 0:? '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}) 131 0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform int c1}) 132 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 133 134 Validation failed 135 // Module Version 10000 136 // Generated by (magic number): 80007 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 0 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 0 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) 210 64(@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 62: 7(fvec4) Undef 244 ReturnValue 62 245 FunctionEnd 246