1hlsl.buffer.frag 2Shader version: 500 3gl_FragCoord origin is upper left 40:? Sequence 50:30 Function Definition: foo( ( temp float) 60:30 Function Parameters: 70:? Sequence 80:31 Branch: Return with expression 90:31 Constant: 100:31 1.000000 110:43 Function Definition: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a}) 120:43 Function Parameters: 130:43 'input' ( in 4-component vector of float) 140:? Sequence 150:45 move second child to first child ( temp 4-component vector of float) 160:45 a: direct index for structure ( temp 4-component vector of float) 170:45 'ret' ( temp structure{ temp 4-component vector of float a}) 180:45 Constant: 190:45 0 (const int) 200:45 add ( temp 4-component vector of float) 210:45 v24: direct index for structure (layout( row_major std140) uniform 4-component vector of float) 220:45 'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24}) 230:45 Constant: 240:45 0 (const uint) 250:45 vector-scale ( temp 4-component vector of float) 260:45 add ( temp 4-component vector of float) 270:45 add ( temp 4-component vector of float) 280:45 add ( temp 4-component vector of float) 290:45 add ( temp 4-component vector of float) 300:45 'input' ( in 4-component vector of float) 310:45 v1: direct index for structure (layout( row_major std140) uniform 4-component vector of float) 320:45 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1}) 330:45 Constant: 340:45 0 (const uint) 350:45 v2: direct index for structure (layout( row_major std430) buffer 4-component vector of float) 360:45 'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2}) 370:45 Constant: 380:45 0 (const uint) 390:45 v3: direct index for structure (layout( row_major std140 offset=0) uniform 4-component vector of float) 400:45 'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3}) 410:45 Constant: 420:45 0 (const uint) 430:45 v4: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float) 440:45 'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4}) 450:45 Constant: 460:45 0 (const uint) 470:45 Function Call: foo( ( temp float) 480:46 Branch: Return with expression 490:46 'ret' ( temp structure{ temp 4-component vector of float a}) 500:43 Function Definition: PixelShaderFunction( ( temp void) 510:43 Function Parameters: 520:? Sequence 530:43 move second child to first child ( temp 4-component vector of float) 540:? 'input' ( temp 4-component vector of float) 550:? 'input' ( in 4-component vector of float FragCoord) 560:43 Sequence 570:43 move second child to first child ( temp 4-component vector of float) 580:? '@entryPointOutput.a' (layout( location=0) out 4-component vector of float) 590:43 a: direct index for structure ( temp 4-component vector of float) 600:43 Function Call: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a}) 610:? 'input' ( temp 4-component vector of float) 620:43 Constant: 630:43 0 (const int) 640:? Linker Objects 650:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1}) 660:? 'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2}) 670:? 'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3}) 680:? 'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4}) 690:? 'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24}) 700:? '@entryPointOutput.a' (layout( location=0) out 4-component vector of float) 710:? 'input' ( in 4-component vector of float FragCoord) 72 73 74Linked fragment stage: 75 76 77Shader version: 500 78gl_FragCoord origin is upper left 790:? Sequence 800:30 Function Definition: foo( ( temp float) 810:30 Function Parameters: 820:? Sequence 830:31 Branch: Return with expression 840:31 Constant: 850:31 1.000000 860:43 Function Definition: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a}) 870:43 Function Parameters: 880:43 'input' ( in 4-component vector of float) 890:? Sequence 900:45 move second child to first child ( temp 4-component vector of float) 910:45 a: direct index for structure ( temp 4-component vector of float) 920:45 'ret' ( temp structure{ temp 4-component vector of float a}) 930:45 Constant: 940:45 0 (const int) 950:45 add ( temp 4-component vector of float) 960:45 v24: direct index for structure (layout( row_major std140) uniform 4-component vector of float) 970:45 'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24}) 980:45 Constant: 990:45 0 (const uint) 1000:45 vector-scale ( temp 4-component vector of float) 1010:45 add ( temp 4-component vector of float) 1020:45 add ( temp 4-component vector of float) 1030:45 add ( temp 4-component vector of float) 1040:45 add ( temp 4-component vector of float) 1050:45 'input' ( in 4-component vector of float) 1060:45 v1: direct index for structure (layout( row_major std140) uniform 4-component vector of float) 1070:45 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1}) 1080:45 Constant: 1090:45 0 (const uint) 1100:45 v2: direct index for structure (layout( row_major std430) buffer 4-component vector of float) 1110:45 'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2}) 1120:45 Constant: 1130:45 0 (const uint) 1140:45 v3: direct index for structure (layout( row_major std140 offset=0) uniform 4-component vector of float) 1150:45 'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3}) 1160:45 Constant: 1170:45 0 (const uint) 1180:45 v4: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float) 1190:45 'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4}) 1200:45 Constant: 1210:45 0 (const uint) 1220:45 Function Call: foo( ( temp float) 1230:46 Branch: Return with expression 1240:46 'ret' ( temp structure{ temp 4-component vector of float a}) 1250:43 Function Definition: PixelShaderFunction( ( temp void) 1260:43 Function Parameters: 1270:? Sequence 1280:43 move second child to first child ( temp 4-component vector of float) 1290:? 'input' ( temp 4-component vector of float) 1300:? 'input' ( in 4-component vector of float FragCoord) 1310:43 Sequence 1320:43 move second child to first child ( temp 4-component vector of float) 1330:? '@entryPointOutput.a' (layout( location=0) out 4-component vector of float) 1340:43 a: direct index for structure ( temp 4-component vector of float) 1350:43 Function Call: @PixelShaderFunction(vf4; ( temp structure{ temp 4-component vector of float a}) 1360:? 'input' ( temp 4-component vector of float) 1370:43 Constant: 1380:43 0 (const int) 1390:? Linker Objects 1400:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1}) 1410:? 'anon@1' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer 4-component vector of float v2}) 1420:? 'anon@2' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3}) 1430:? 'anon@3' (layout( binding=8 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430 offset=128) buffer float f7, layout( row_major std430 offset=112) buffer 3X4 matrix of float m1, layout( column_major std430 offset=176) buffer 3X4 matrix of float m2, layout( row_major std430 offset=240) buffer 3X4 matrix of float m3, layout( row_major std430 offset=304) buffer 3X4 matrix of float m4}) 1440:? 'anon@4' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v24}) 1450:? '@entryPointOutput.a' (layout( location=0) out 4-component vector of float) 1460:? 'input' ( in 4-component vector of float FragCoord) 147 148Validation failed 149// Module Version 10000 150// Generated by (magic number): 80007 151// Id's are bound by 73 152 153 Capability Shader 154 1: ExtInstImport "GLSL.std.450" 155 MemoryModel Logical GLSL450 156 EntryPoint Fragment 4 "PixelShaderFunction" 65 68 157 ExecutionMode 4 OriginUpperLeft 158 Source HLSL 500 159 Name 4 "PixelShaderFunction" 160 Name 8 "foo(" 161 Name 12 "id" 162 MemberName 12(id) 0 "a" 163 Name 15 "@PixelShaderFunction(vf4;" 164 Name 14 "input" 165 Name 21 "ret" 166 Name 24 "cbufName2" 167 MemberName 24(cbufName2) 0 "v24" 168 Name 26 "" 169 Name 31 "buf1" 170 MemberName 31(buf1) 0 "v1" 171 Name 33 "" 172 Name 37 "buf2" 173 MemberName 37(buf2) 0 "v2" 174 Name 39 "" 175 Name 43 "cbufName" 176 MemberName 43(cbufName) 0 "v3" 177 MemberName 43(cbufName) 1 "i3" 178 Name 45 "" 179 Name 50 "tbufName" 180 MemberName 50(tbufName) 0 "v4" 181 MemberName 50(tbufName) 1 "i4" 182 MemberName 50(tbufName) 2 "f1" 183 MemberName 50(tbufName) 3 "f3" 184 MemberName 50(tbufName) 4 "f4" 185 MemberName 50(tbufName) 5 "f5" 186 MemberName 50(tbufName) 6 "f6" 187 MemberName 50(tbufName) 7 "f7" 188 MemberName 50(tbufName) 8 "m1" 189 MemberName 50(tbufName) 9 "m2" 190 MemberName 50(tbufName) 10 "m3" 191 MemberName 50(tbufName) 11 "m4" 192 Name 52 "" 193 Name 63 "input" 194 Name 65 "input" 195 Name 68 "@entryPointOutput.a" 196 Name 69 "param" 197 MemberDecorate 24(cbufName2) 0 Offset 0 198 Decorate 24(cbufName2) Block 199 Decorate 26 DescriptorSet 0 200 Decorate 26 Binding 0 201 MemberDecorate 31(buf1) 0 Offset 0 202 Decorate 31(buf1) Block 203 Decorate 33 DescriptorSet 0 204 Decorate 33 Binding 0 205 MemberDecorate 37(buf2) 0 NonWritable 206 MemberDecorate 37(buf2) 0 Offset 0 207 Decorate 37(buf2) BufferBlock 208 Decorate 39 DescriptorSet 0 209 Decorate 39 Binding 0 210 MemberDecorate 43(cbufName) 0 Offset 0 211 MemberDecorate 43(cbufName) 1 Offset 20 212 Decorate 43(cbufName) Block 213 Decorate 45 DescriptorSet 0 214 Decorate 45 Binding 0 215 MemberDecorate 50(tbufName) 0 NonWritable 216 MemberDecorate 50(tbufName) 0 Offset 16 217 MemberDecorate 50(tbufName) 1 NonWritable 218 MemberDecorate 50(tbufName) 1 Offset 48 219 MemberDecorate 50(tbufName) 2 NonWritable 220 MemberDecorate 50(tbufName) 2 Offset 60 221 MemberDecorate 50(tbufName) 3 NonWritable 222 MemberDecorate 50(tbufName) 3 Offset 64 223 MemberDecorate 50(tbufName) 4 NonWritable 224 MemberDecorate 50(tbufName) 4 Offset 68 225 MemberDecorate 50(tbufName) 5 NonWritable 226 MemberDecorate 50(tbufName) 5 Offset 72 227 MemberDecorate 50(tbufName) 6 NonWritable 228 MemberDecorate 50(tbufName) 6 Offset 76 229 MemberDecorate 50(tbufName) 7 NonWritable 230 MemberDecorate 50(tbufName) 7 Offset 128 231 MemberDecorate 50(tbufName) 8 RowMajor 232 MemberDecorate 50(tbufName) 8 NonWritable 233 MemberDecorate 50(tbufName) 8 Offset 112 234 MemberDecorate 50(tbufName) 8 MatrixStride 16 235 MemberDecorate 50(tbufName) 9 ColMajor 236 MemberDecorate 50(tbufName) 9 NonWritable 237 MemberDecorate 50(tbufName) 9 Offset 176 238 MemberDecorate 50(tbufName) 9 MatrixStride 16 239 MemberDecorate 50(tbufName) 10 RowMajor 240 MemberDecorate 50(tbufName) 10 NonWritable 241 MemberDecorate 50(tbufName) 10 Offset 240 242 MemberDecorate 50(tbufName) 10 MatrixStride 16 243 MemberDecorate 50(tbufName) 11 RowMajor 244 MemberDecorate 50(tbufName) 11 NonWritable 245 MemberDecorate 50(tbufName) 11 Offset 304 246 MemberDecorate 50(tbufName) 11 MatrixStride 16 247 Decorate 50(tbufName) BufferBlock 248 Decorate 52 DescriptorSet 0 249 Decorate 52 Binding 8 250 Decorate 65(input) BuiltIn FragCoord 251 Decorate 68(@entryPointOutput.a) Location 0 252 2: TypeVoid 253 3: TypeFunction 2 254 6: TypeFloat 32 255 7: TypeFunction 6(float) 256 10: TypeVector 6(float) 4 257 11: TypePointer Function 10(fvec4) 258 12(id): TypeStruct 10(fvec4) 259 13: TypeFunction 12(id) 11(ptr) 260 17: 6(float) Constant 1065353216 261 20: TypePointer Function 12(id) 262 22: TypeInt 32 1 263 23: 22(int) Constant 0 264 24(cbufName2): TypeStruct 10(fvec4) 265 25: TypePointer Uniform 24(cbufName2) 266 26: 25(ptr) Variable Uniform 267 27: TypePointer Uniform 10(fvec4) 268 31(buf1): TypeStruct 10(fvec4) 269 32: TypePointer Uniform 31(buf1) 270 33: 32(ptr) Variable Uniform 271 37(buf2): TypeStruct 10(fvec4) 272 38: TypePointer Uniform 37(buf2) 273 39: 38(ptr) Variable Uniform 274 43(cbufName): TypeStruct 10(fvec4) 22(int) 275 44: TypePointer Uniform 43(cbufName) 276 45: 44(ptr) Variable Uniform 277 49: TypeMatrix 10(fvec4) 3 278 50(tbufName): TypeStruct 10(fvec4) 22(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 49 49 49 49 279 51: TypePointer Uniform 50(tbufName) 280 52: 51(ptr) Variable Uniform 281 64: TypePointer Input 10(fvec4) 282 65(input): 64(ptr) Variable Input 283 67: TypePointer Output 10(fvec4) 28468(@entryPointOutput.a): 67(ptr) Variable Output 2854(PixelShaderFunction): 2 Function None 3 286 5: Label 287 63(input): 11(ptr) Variable Function 288 69(param): 11(ptr) Variable Function 289 66: 10(fvec4) Load 65(input) 290 Store 63(input) 66 291 70: 10(fvec4) Load 63(input) 292 Store 69(param) 70 293 71: 12(id) FunctionCall 15(@PixelShaderFunction(vf4;) 69(param) 294 72: 10(fvec4) CompositeExtract 71 0 295 Store 68(@entryPointOutput.a) 72 296 Return 297 FunctionEnd 298 8(foo(): 6(float) Function None 7 299 9: Label 300 ReturnValue 17 301 FunctionEnd 30215(@PixelShaderFunction(vf4;): 12(id) Function None 13 303 14(input): 11(ptr) FunctionParameter 304 16: Label 305 21(ret): 20(ptr) Variable Function 306 28: 27(ptr) AccessChain 26 23 307 29: 10(fvec4) Load 28 308 30: 10(fvec4) Load 14(input) 309 34: 27(ptr) AccessChain 33 23 310 35: 10(fvec4) Load 34 311 36: 10(fvec4) FAdd 30 35 312 40: 27(ptr) AccessChain 39 23 313 41: 10(fvec4) Load 40 314 42: 10(fvec4) FAdd 36 41 315 46: 27(ptr) AccessChain 45 23 316 47: 10(fvec4) Load 46 317 48: 10(fvec4) FAdd 42 47 318 53: 27(ptr) AccessChain 52 23 319 54: 10(fvec4) Load 53 320 55: 10(fvec4) FAdd 48 54 321 56: 6(float) FunctionCall 8(foo() 322 57: 10(fvec4) VectorTimesScalar 55 56 323 58: 10(fvec4) FAdd 29 57 324 59: 11(ptr) AccessChain 21(ret) 23 325 Store 59 58 326 60: 12(id) Load 21(ret) 327 ReturnValue 60 328 FunctionEnd 329