glslang/Test/baseResults/hlsl.structbuffer.fn.frag.out
John Kessenich bed4e4f7e4 HLSL: Pass opaques by local copy, instead of by interface original.
Also, remove assumption that if something is opaque that it
must be in the UniformConstant storage class.

This allows function declarations to know all parameters will
be in the Function storage class.
2017-09-29 09:57:00 -06:00

303 lines
16 KiB
Plaintext

hlsl.structbuffer.fn.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: get(block--vu4[0]1;u1; ( temp 4-component vector of uint)
0:5 Function Parameters:
0:5 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:5 'bufferOffset' ( in uint)
0:? Sequence
0:6 Branch: Return with expression
0:6 indirect index (layout( row_major std430) buffer 4-component vector of uint)
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint)
0:6 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:6 Constant:
0:6 0 (const uint)
0:6 'bufferOffset' ( in uint)
0:10 Function Definition: set(block--vu4[0]1;u1;vu4; ( temp void)
0:10 Function Parameters:
0:10 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:10 'sb@count' ( buffer block{layout( row_major std430) buffer int @count})
0:10 'bufferOffset' ( in uint)
0:10 'data' ( in 4-component vector of uint)
0:? Sequence
0:11 move second child to first child ( temp 4-component vector of uint)
0:11 indirect index ( buffer 4-component vector of uint)
0:11 @data: direct index for structure ( buffer implicitly-sized array of 4-component vector of uint)
0:11 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:11 Constant:
0:11 0 (const uint)
0:11 'bufferOffset' ( in uint)
0:11 'data' ( in 4-component vector of uint)
0:20 Function Definition: @main(u1; ( temp 4-component vector of float)
0:20 Function Parameters:
0:20 'pos' ( in uint)
0:? Sequence
0:21 Function Call: set(block--vu4[0]1;u1;vu4; ( temp void)
0:21 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:21 'sbuf2@count' ( buffer block{layout( row_major std430) buffer int @count})
0:21 Constant:
0:21 2 (const uint)
0:21 Function Call: get(block--vu4[0]1;u1; ( temp 4-component vector of uint)
0:21 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:21 Constant:
0:21 3 (const uint)
0:23 Branch: Return with expression
0:23 Constant:
0:23 0.000000
0:23 0.000000
0:23 0.000000
0:23 0.000000
0:20 Function Definition: main( ( temp void)
0:20 Function Parameters:
0:? Sequence
0:20 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) flat in uint)
0:20 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:20 Function Call: @main(u1; ( temp 4-component vector of float)
0:? 'pos' ( temp uint)
0:? Linker Objects
0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:? 'sbuf2@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
0:? 'sbuf3' (layout( binding=12 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 3-component vector of uint @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) flat in uint)
Linked fragment stage:
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: get(block--vu4[0]1;u1; ( temp 4-component vector of uint)
0:5 Function Parameters:
0:5 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:5 'bufferOffset' ( in uint)
0:? Sequence
0:6 Branch: Return with expression
0:6 indirect index (layout( row_major std430) buffer 4-component vector of uint)
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint)
0:6 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:6 Constant:
0:6 0 (const uint)
0:6 'bufferOffset' ( in uint)
0:10 Function Definition: set(block--vu4[0]1;u1;vu4; ( temp void)
0:10 Function Parameters:
0:10 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:10 'sb@count' ( buffer block{layout( row_major std430) buffer int @count})
0:10 'bufferOffset' ( in uint)
0:10 'data' ( in 4-component vector of uint)
0:? Sequence
0:11 move second child to first child ( temp 4-component vector of uint)
0:11 indirect index ( buffer 4-component vector of uint)
0:11 @data: direct index for structure ( buffer implicitly-sized array of 4-component vector of uint)
0:11 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:11 Constant:
0:11 0 (const uint)
0:11 'bufferOffset' ( in uint)
0:11 'data' ( in 4-component vector of uint)
0:20 Function Definition: @main(u1; ( temp 4-component vector of float)
0:20 Function Parameters:
0:20 'pos' ( in uint)
0:? Sequence
0:21 Function Call: set(block--vu4[0]1;u1;vu4; ( temp void)
0:21 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:21 'sbuf2@count' ( buffer block{layout( row_major std430) buffer int @count})
0:21 Constant:
0:21 2 (const uint)
0:21 Function Call: get(block--vu4[0]1;u1; ( temp 4-component vector of uint)
0:21 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:21 Constant:
0:21 3 (const uint)
0:23 Branch: Return with expression
0:23 Constant:
0:23 0.000000
0:23 0.000000
0:23 0.000000
0:23 0.000000
0:20 Function Definition: main( ( temp void)
0:20 Function Parameters:
0:? Sequence
0:20 move second child to first child ( temp uint)
0:? 'pos' ( temp uint)
0:? 'pos' (layout( location=0) flat in uint)
0:20 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:20 Function Call: @main(u1; ( temp 4-component vector of float)
0:? 'pos' ( temp uint)
0:? Linker Objects
0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
0:? 'sbuf2@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
0:? 'sbuf3' (layout( binding=12 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 3-component vector of uint @data})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'pos' (layout( location=0) flat in uint)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 83
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 68 71
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 9 ""
MemberName 9 0 "@data"
Name 15 "get(block--vu4[0]1;u1;"
Name 13 "sb"
Name 14 "bufferOffset"
Name 18 ""
MemberName 18 0 "@data"
Name 21 ""
MemberName 21 0 "@count"
Name 29 "set(block--vu4[0]1;u1;vu4;"
Name 25 "sb"
Name 26 "sb@count"
Name 27 "bufferOffset"
Name 28 "data"
Name 35 "@main(u1;"
Name 34 "pos"
Name 47 "sbuf2"
Name 49 "sbuf2@count"
Name 52 "sbuf"
Name 54 "param"
Name 55 "param"
Name 57 "param"
Name 58 "param"
Name 59 "param"
Name 60 "param"
Name 66 "pos"
Name 68 "pos"
Name 71 "@entryPointOutput"
Name 72 "param"
Name 75 "sbuf2@count"
MemberName 75(sbuf2@count) 0 "@count"
Name 77 "sbuf2@count"
Name 80 "sbuf3"
MemberName 80(sbuf3) 0 "@data"
Name 82 "sbuf3"
Decorate 8 ArrayStride 16
MemberDecorate 9 0 NonWritable
MemberDecorate 9 0 Offset 0
Decorate 9 BufferBlock
Decorate 13(sb) NonWritable
Decorate 17 ArrayStride 16
MemberDecorate 18 0 Offset 0
Decorate 18 BufferBlock
Decorate 21 BufferBlock
Decorate 47(sbuf2) DescriptorSet 0
Decorate 49(sbuf2@count) DescriptorSet 0
Decorate 52(sbuf) DescriptorSet 0
Decorate 52(sbuf) Binding 10
Decorate 68(pos) Flat
Decorate 68(pos) Location 0
Decorate 71(@entryPointOutput) Location 0
MemberDecorate 75(sbuf2@count) 0 Offset 0
Decorate 75(sbuf2@count) BufferBlock
Decorate 77(sbuf2@count) DescriptorSet 0
Decorate 79 ArrayStride 16
MemberDecorate 80(sbuf3) 0 NonWritable
MemberDecorate 80(sbuf3) 0 Offset 0
Decorate 80(sbuf3) BufferBlock
Decorate 82(sbuf3) DescriptorSet 0
Decorate 82(sbuf3) Binding 12
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypeVector 6(int) 4
8: TypeRuntimeArray 7(ivec4)
9: TypeStruct 8
10: TypePointer Function 9(struct)
11: TypePointer Function 6(int)
12: TypeFunction 7(ivec4) 10(ptr) 11(ptr)
17: TypeRuntimeArray 7(ivec4)
18: TypeStruct 17
19: TypePointer Function 18(struct)
20: TypeInt 32 1
21: TypeStruct 20(int)
22: TypePointer Function 21(struct)
23: TypePointer Function 7(ivec4)
24: TypeFunction 2 19(ptr) 22(ptr) 11(ptr) 23(ptr)
31: TypeFloat 32
32: TypeVector 31(float) 4
33: TypeFunction 32(fvec4) 11(ptr)
37: 20(int) Constant 0
46: TypePointer Uniform 18(struct)
47(sbuf2): 46(ptr) Variable Uniform
48: TypePointer Uniform 21(struct)
49(sbuf2@count): 48(ptr) Variable Uniform
50: 6(int) Constant 2
51: TypePointer Uniform 9(struct)
52(sbuf): 51(ptr) Variable Uniform
53: 6(int) Constant 3
62: 31(float) Constant 0
63: 32(fvec4) ConstantComposite 62 62 62 62
67: TypePointer Input 6(int)
68(pos): 67(ptr) Variable Input
70: TypePointer Output 32(fvec4)
71(@entryPointOutput): 70(ptr) Variable Output
75(sbuf2@count): TypeStruct 20(int)
76: TypePointer Uniform 75(sbuf2@count)
77(sbuf2@count): 76(ptr) Variable Uniform
78: TypeVector 6(int) 3
79: TypeRuntimeArray 78(ivec3)
80(sbuf3): TypeStruct 79
81: TypePointer Uniform 80(sbuf3)
82(sbuf3): 81(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
66(pos): 11(ptr) Variable Function
72(param): 11(ptr) Variable Function
69: 6(int) Load 68(pos)
Store 66(pos) 69
73: 6(int) Load 66(pos)
Store 72(param) 73
74: 32(fvec4) FunctionCall 35(@main(u1;) 72(param)
Store 71(@entryPointOutput) 74
Return
FunctionEnd
15(get(block--vu4[0]1;u1;): 7(ivec4) Function None 12
13(sb): 10(ptr) FunctionParameter
14(bufferOffset): 11(ptr) FunctionParameter
16: Label
38: 6(int) Load 14(bufferOffset)
39: 23(ptr) AccessChain 13(sb) 37 38
40: 7(ivec4) Load 39
ReturnValue 40
FunctionEnd
29(set(block--vu4[0]1;u1;vu4;): 2 Function None 24
25(sb): 19(ptr) FunctionParameter
26(sb@count): 22(ptr) FunctionParameter
27(bufferOffset): 11(ptr) FunctionParameter
28(data): 23(ptr) FunctionParameter
30: Label
43: 6(int) Load 27(bufferOffset)
44: 7(ivec4) Load 28(data)
45: 23(ptr) AccessChain 25(sb) 37 43
Store 45 44
Return
FunctionEnd
35(@main(u1;): 32(fvec4) Function None 33
34(pos): 11(ptr) FunctionParameter
36: Label
54(param): 10(ptr) Variable Function
55(param): 11(ptr) Variable Function
57(param): 19(ptr) Variable Function
58(param): 22(ptr) Variable Function
59(param): 11(ptr) Variable Function
60(param): 23(ptr) Variable Function
Store 55(param) 53
56: 7(ivec4) FunctionCall 15(get(block--vu4[0]1;u1;) 54(param) 55(param)
Store 59(param) 50
Store 60(param) 56
61: 2 FunctionCall 29(set(block--vu4[0]1;u1;vu4;) 57(param) 58(param) 59(param) 60(param)
ReturnValue 63
FunctionEnd