HLSL: Wrap the entry-point; need to write 'in' args, and support 'inout' args.

This needs some render testing, but is destined to be part of master.

This also leads to a variety of other simplifications.
 - IO are global symbols, so only need one list of linkage nodes (deferred)
 - no longer need parse-context-wide 'inEntryPoint' state, entry-point is localized
 - several parts of splitting/flattening are now localized
This commit is contained in:
John Kessenich 2017-01-19 15:41:47 -07:00
parent 18adbdbbb8
commit 02467d8d94
171 changed files with 37604 additions and 32679 deletions

View File

@ -2,7 +2,7 @@ hlsl.amend.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: f1( (temp void)
0:5 Function Definition: @f1( (temp void)
0:5 Function Parameters:
0:? Sequence
0:6 vector-scale (temp 4-component vector of float)
@ -14,6 +14,10 @@ gl_FragCoord origin is upper left
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:6 Constant:
0:6 1 (const uint)
0:5 Function Definition: f1( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 Function Call: @f1( (temp void)
0:12 Function Definition: f2( (temp void)
0:12 Function Parameters:
0:? Sequence
@ -67,7 +71,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: f1( (temp void)
0:5 Function Definition: @f1( (temp void)
0:5 Function Parameters:
0:? Sequence
0:6 vector-scale (temp 4-component vector of float)
@ -79,6 +83,10 @@ gl_FragCoord origin is upper left
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:6 Constant:
0:6 1 (const uint)
0:5 Function Definition: f1( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 Function Call: @f1( (temp void)
0:12 Function Definition: f2( (temp void)
0:12 Function Parameters:
0:? Sequence
@ -127,7 +135,7 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 47
// Id's are bound by 50
Capability Shader
1: ExtInstImport "GLSL.std.450"
@ -135,73 +143,79 @@ gl_FragCoord origin is upper left
EntryPoint Fragment 4 "f1"
ExecutionMode 4 OriginUpperLeft
Name 4 "f1"
Name 6 "f2("
Name 8 "f3("
Name 10 "f4("
Name 16 "$Global"
MemberName 16($Global) 0 "a"
MemberName 16($Global) 1 "b"
MemberName 16($Global) 2 "c"
MemberName 16($Global) 3 "d"
MemberName 16($Global) 4 "e"
Name 18 ""
MemberDecorate 16($Global) 0 Offset 0
MemberDecorate 16($Global) 1 Offset 16
MemberDecorate 16($Global) 2 Offset 32
MemberDecorate 16($Global) 3 Offset 44
MemberDecorate 16($Global) 4 Offset 48
Decorate 16($Global) Block
Decorate 18 DescriptorSet 0
Name 6 "@f1("
Name 8 "f2("
Name 10 "f3("
Name 12 "f4("
Name 18 "$Global"
MemberName 18($Global) 0 "a"
MemberName 18($Global) 1 "b"
MemberName 18($Global) 2 "c"
MemberName 18($Global) 3 "d"
MemberName 18($Global) 4 "e"
Name 20 ""
MemberDecorate 18($Global) 0 Offset 0
MemberDecorate 18($Global) 1 Offset 16
MemberDecorate 18($Global) 2 Offset 32
MemberDecorate 18($Global) 3 Offset 44
MemberDecorate 18($Global) 4 Offset 48
Decorate 18($Global) Block
Decorate 20 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
12: TypeFloat 32
13: TypeVector 12(float) 4
14: TypeVector 12(float) 3
15: TypeInt 32 1
16($Global): TypeStruct 13(fvec4) 12(float) 14(fvec3) 15(int) 15(int)
17: TypePointer Uniform 16($Global)
18: 17(ptr) Variable Uniform
19: 15(int) Constant 0
20: TypePointer Uniform 13(fvec4)
23: 15(int) Constant 1
24: TypePointer Uniform 12(float)
28: TypeInt 32 0
29: 28(int) Constant 0
35: 15(int) Constant 2
39: 15(int) Constant 3
40: TypePointer Uniform 15(int)
14: TypeFloat 32
15: TypeVector 14(float) 4
16: TypeVector 14(float) 3
17: TypeInt 32 1
18($Global): TypeStruct 15(fvec4) 14(float) 16(fvec3) 17(int) 17(int)
19: TypePointer Uniform 18($Global)
20: 19(ptr) Variable Uniform
21: 17(int) Constant 0
22: TypePointer Uniform 15(fvec4)
25: 17(int) Constant 1
26: TypePointer Uniform 14(float)
31: TypeInt 32 0
32: 31(int) Constant 0
38: 17(int) Constant 2
42: 17(int) Constant 3
43: TypePointer Uniform 17(int)
4(f1): 2 Function None 3
5: Label
21: 20(ptr) AccessChain 18 19
22: 13(fvec4) Load 21
25: 24(ptr) AccessChain 18 23
26: 12(float) Load 25
27: 13(fvec4) VectorTimesScalar 22 26
30: 2 FunctionCall 6(@f1()
Return
FunctionEnd
6(f2(): 2 Function None 3
6(@f1(): 2 Function None 3
7: Label
30: 24(ptr) AccessChain 18 19 29
31: 12(float) Load 30
32: 24(ptr) AccessChain 18 23
33: 12(float) Load 32
34: 12(float) FAdd 31 33
36: 24(ptr) AccessChain 18 35 29
37: 12(float) Load 36
38: 12(float) FAdd 34 37
23: 22(ptr) AccessChain 20 21
24: 15(fvec4) Load 23
27: 26(ptr) AccessChain 20 25
28: 14(float) Load 27
29: 15(fvec4) VectorTimesScalar 24 28
Return
FunctionEnd
8(f3(): 2 Function None 3
8(f2(): 2 Function None 3
9: Label
33: 26(ptr) AccessChain 20 21 32
34: 14(float) Load 33
35: 26(ptr) AccessChain 20 25
36: 14(float) Load 35
37: 14(float) FAdd 34 36
39: 26(ptr) AccessChain 20 38 32
40: 14(float) Load 39
41: 14(float) FAdd 37 40
Return
FunctionEnd
10(f4(): 2 Function None 3
10(f3(): 2 Function None 3
11: Label
41: 40(ptr) AccessChain 18 39
42: 15(int) Load 41
43: 12(float) ConvertSToF 42
44: 20(ptr) AccessChain 18 19
45: 13(fvec4) Load 44
46: 13(fvec4) VectorTimesScalar 45 43
Return
FunctionEnd
12(f4(): 2 Function None 3
13: Label
44: 43(ptr) AccessChain 20 42
45: 17(int) Load 44
46: 14(float) ConvertSToF 45
47: 22(ptr) AccessChain 20 21
48: 15(fvec4) Load 47
49: 15(fvec4) VectorTimesScalar 48 46
Return
FunctionEnd

View File

@ -39,7 +39,7 @@ gl_FragCoord origin is upper left
0:26 3 (const int)
0:26 4 (const int)
0:26 5 (const int)
0:31 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void)
0:31 Function Definition: @main(struct-PS_OUTPUT-vf41; (temp void)
0:31 Function Parameters:
0:31 'ps_output' (out structure{temp 4-component vector of float color})
0:? Sequence
@ -91,7 +91,10 @@ gl_FragCoord origin is upper left
0:35 Constant:
0:35 2 (const uint)
0:37 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:37 color: direct index for structure (temp 4-component vector of float)
0:37 'ps_output' (out structure{temp 4-component vector of float color})
0:37 Constant:
0:37 0 (const int)
0:37 add (temp 4-component vector of float)
0:37 Function Call: TestFn1( (temp 4-component vector of float)
0:37 Function Call: TestFn2(t11[3];p1[3]; (temp 4-component vector of float)
@ -137,8 +140,19 @@ gl_FragCoord origin is upper left
0:37 2 (const int)
0:? 'g_samp[2]' (uniform sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:31 Function Definition: main( (temp void)
0:31 Function Parameters:
0:? Sequence
0:31 Function Call: @main(struct-PS_OUTPUT-vf41; (temp void)
0:? 'ps_output' (temp structure{temp 4-component vector of float color})
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:31 color: direct index for structure (temp 4-component vector of float)
0:? 'ps_output' (temp structure{temp 4-component vector of float color})
0:31 Constant:
0:31 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tex[0]' (uniform texture1D)
0:? 'g_tex[1]' (uniform texture1D)
0:? 'g_tex[2]' (uniform texture1D)
@ -153,6 +167,7 @@ gl_FragCoord origin is upper left
0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
0:? 'not_flattened_a' (global 5-element array of int)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
Linked fragment stage:
@ -198,7 +213,7 @@ gl_FragCoord origin is upper left
0:26 3 (const int)
0:26 4 (const int)
0:26 5 (const int)
0:31 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void)
0:31 Function Definition: @main(struct-PS_OUTPUT-vf41; (temp void)
0:31 Function Parameters:
0:31 'ps_output' (out structure{temp 4-component vector of float color})
0:? Sequence
@ -250,7 +265,10 @@ gl_FragCoord origin is upper left
0:35 Constant:
0:35 2 (const uint)
0:37 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:37 color: direct index for structure (temp 4-component vector of float)
0:37 'ps_output' (out structure{temp 4-component vector of float color})
0:37 Constant:
0:37 0 (const int)
0:37 add (temp 4-component vector of float)
0:37 Function Call: TestFn1( (temp 4-component vector of float)
0:37 Function Call: TestFn2(t11[3];p1[3]; (temp 4-component vector of float)
@ -296,8 +314,19 @@ gl_FragCoord origin is upper left
0:37 2 (const int)
0:? 'g_samp[2]' (uniform sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:31 Function Definition: main( (temp void)
0:31 Function Parameters:
0:? Sequence
0:31 Function Call: @main(struct-PS_OUTPUT-vf41; (temp void)
0:? 'ps_output' (temp structure{temp 4-component vector of float color})
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:31 color: direct index for structure (temp 4-component vector of float)
0:? 'ps_output' (temp structure{temp 4-component vector of float color})
0:31 Constant:
0:31 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tex[0]' (uniform texture1D)
0:? 'g_tex[1]' (uniform texture1D)
0:? 'g_tex[2]' (uniform texture1D)
@ -312,77 +341,84 @@ gl_FragCoord origin is upper left
0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
0:? 'not_flattened_a' (global 5-element array of int)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 123
// Id's are bound by 137
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 99
EntryPoint Fragment 4 "main" 128
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "TestFn1("
Name 22 "TestFn2(t11[3];p1[3];"
Name 20 "l_tex"
Name 21 "l_samp"
Name 28 "not_flattened_a"
Name 36 "g_tex[1]"
Name 39 "g_samp[1]"
Name 55 "local_sampler_array"
Name 57 "g_samp[0]"
Name 62 "g_samp[2]"
Name 65 "local_texture_array"
Name 66 "g_tex[0]"
Name 71 "g_tex[2]"
Name 77 "local_float_array"
Name 83 "$Global"
MemberName 83($Global) 0 "g_mats"
MemberName 83($Global) 1 "g_mats_explicit"
MemberName 83($Global) 2 "g_floats"
Name 85 ""
Name 99 "color"
Name 101 "aggShadow"
Name 108 "aggShadow"
Name 117 "g_tex_explicit[0]"
Name 118 "g_tex_explicit[1]"
Name 119 "g_tex_explicit[2]"
Name 120 "g_samp_explicit[0]"
Name 121 "g_samp_explicit[1]"
Name 122 "g_samp_explicit[2]"
Decorate 36(g_tex[1]) DescriptorSet 0
Decorate 39(g_samp[1]) DescriptorSet 0
Decorate 57(g_samp[0]) DescriptorSet 0
Decorate 62(g_samp[2]) DescriptorSet 0
Decorate 66(g_tex[0]) DescriptorSet 0
Decorate 71(g_tex[2]) DescriptorSet 0
Decorate 80 ArrayStride 48
Decorate 81 ArrayStride 48
Decorate 82 ArrayStride 16
MemberDecorate 83($Global) 0 RowMajor
MemberDecorate 83($Global) 0 Offset 0
MemberDecorate 83($Global) 0 MatrixStride 16
MemberDecorate 83($Global) 1 RowMajor
MemberDecorate 83($Global) 1 Offset 192
MemberDecorate 83($Global) 1 MatrixStride 16
MemberDecorate 83($Global) 2 Offset 384
Decorate 83($Global) Block
Decorate 85 DescriptorSet 0
Decorate 99(color) Location 0
Decorate 117(g_tex_explicit[0]) DescriptorSet 0
Decorate 117(g_tex_explicit[0]) Binding 1
Decorate 118(g_tex_explicit[1]) DescriptorSet 0
Decorate 118(g_tex_explicit[1]) Binding 2
Decorate 119(g_tex_explicit[2]) DescriptorSet 0
Decorate 119(g_tex_explicit[2]) Binding 3
Decorate 120(g_samp_explicit[0]) DescriptorSet 0
Decorate 120(g_samp_explicit[0]) Binding 5
Decorate 121(g_samp_explicit[1]) DescriptorSet 0
Decorate 121(g_samp_explicit[1]) Binding 6
Decorate 122(g_samp_explicit[2]) DescriptorSet 0
Decorate 122(g_samp_explicit[2]) Binding 7
Name 24 "PS_OUTPUT"
MemberName 24(PS_OUTPUT) 0 "color"
Name 28 "@main(struct-PS_OUTPUT-vf41;"
Name 27 "ps_output"
Name 34 "not_flattened_a"
Name 42 "g_tex[1]"
Name 45 "g_samp[1]"
Name 61 "local_sampler_array"
Name 63 "g_samp[0]"
Name 68 "g_samp[2]"
Name 71 "local_texture_array"
Name 72 "g_tex[0]"
Name 77 "g_tex[2]"
Name 83 "local_float_array"
Name 89 "$Global"
MemberName 89($Global) 0 "g_mats"
MemberName 89($Global) 1 "g_mats_explicit"
MemberName 89($Global) 2 "g_floats"
Name 91 ""
Name 105 "aggShadow"
Name 112 "aggShadow"
Name 123 "ps_output"
Name 124 "param"
Name 128 "color"
Name 131 "g_tex_explicit[0]"
Name 132 "g_tex_explicit[1]"
Name 133 "g_tex_explicit[2]"
Name 134 "g_samp_explicit[0]"
Name 135 "g_samp_explicit[1]"
Name 136 "g_samp_explicit[2]"
Decorate 42(g_tex[1]) DescriptorSet 0
Decorate 45(g_samp[1]) DescriptorSet 0
Decorate 63(g_samp[0]) DescriptorSet 0
Decorate 68(g_samp[2]) DescriptorSet 0
Decorate 72(g_tex[0]) DescriptorSet 0
Decorate 77(g_tex[2]) DescriptorSet 0
Decorate 86 ArrayStride 48
Decorate 87 ArrayStride 48
Decorate 88 ArrayStride 16
MemberDecorate 89($Global) 0 RowMajor
MemberDecorate 89($Global) 0 Offset 0
MemberDecorate 89($Global) 0 MatrixStride 16
MemberDecorate 89($Global) 1 RowMajor
MemberDecorate 89($Global) 1 Offset 192
MemberDecorate 89($Global) 1 MatrixStride 16
MemberDecorate 89($Global) 2 Offset 384
Decorate 89($Global) Block
Decorate 91 DescriptorSet 0
Decorate 128(color) Location 0
Decorate 131(g_tex_explicit[0]) DescriptorSet 0
Decorate 131(g_tex_explicit[0]) Binding 1
Decorate 132(g_tex_explicit[1]) DescriptorSet 0
Decorate 132(g_tex_explicit[1]) Binding 2
Decorate 133(g_tex_explicit[2]) DescriptorSet 0
Decorate 133(g_tex_explicit[2]) Binding 3
Decorate 134(g_samp_explicit[0]) DescriptorSet 0
Decorate 134(g_samp_explicit[0]) Binding 5
Decorate 135(g_samp_explicit[1]) DescriptorSet 0
Decorate 135(g_samp_explicit[1]) Binding 6
Decorate 136(g_samp_explicit[2]) DescriptorSet 0
Decorate 136(g_samp_explicit[2]) Binding 7
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -397,130 +433,148 @@ gl_FragCoord origin is upper left
17: TypeArray 16 13
18: TypePointer UniformConstant 17
19: TypeFunction 7(fvec4) 15(ptr) 18(ptr)
24: TypeInt 32 1
25: 12(int) Constant 5
26: TypeArray 24(int) 25
27: TypePointer Private 26
28(not_flattened_a): 27(ptr) Variable Private
29: 24(int) Constant 1
30: 24(int) Constant 2
31: 24(int) Constant 3
32: 24(int) Constant 4
33: 24(int) Constant 5
34: 26 ConstantComposite 29 30 31 32 33
35: TypePointer UniformConstant 11
36(g_tex[1]): 35(ptr) Variable UniformConstant
38: TypePointer UniformConstant 16
39(g_samp[1]): 38(ptr) Variable UniformConstant
41: TypeSampledImage 11
43: 6(float) Constant 1045220557
55(local_sampler_array): 18(ptr) Variable UniformConstant
56: 24(int) Constant 0
57(g_samp[0]): 38(ptr) Variable UniformConstant
62(g_samp[2]): 38(ptr) Variable UniformConstant
65(local_texture_array): 15(ptr) Variable UniformConstant
66(g_tex[0]): 35(ptr) Variable UniformConstant
71(g_tex[2]): 35(ptr) Variable UniformConstant
74: 12(int) Constant 4
75: TypeArray 6(float) 74
76: TypePointer Function 75
78: TypeVector 6(float) 3
79: TypeMatrix 78(fvec3) 3
80: TypeArray 79 74
81: TypeArray 79 74
82: TypeArray 6(float) 74
83($Global): TypeStruct 80 81 82
84: TypePointer Uniform 83($Global)
85: 84(ptr) Variable Uniform
86: TypePointer Uniform 82
90: TypePointer Function 6(float)
98: TypePointer Output 7(fvec4)
99(color): 98(ptr) Variable Output
101(aggShadow): 15(ptr) Variable UniformConstant
108(aggShadow): 18(ptr) Variable UniformConstant
117(g_tex_explicit[0]): 35(ptr) Variable UniformConstant
118(g_tex_explicit[1]): 35(ptr) Variable UniformConstant
119(g_tex_explicit[2]): 35(ptr) Variable UniformConstant
120(g_samp_explicit[0]): 38(ptr) Variable UniformConstant
121(g_samp_explicit[1]): 38(ptr) Variable UniformConstant
122(g_samp_explicit[2]): 38(ptr) Variable UniformConstant
24(PS_OUTPUT): TypeStruct 7(fvec4)
25: TypePointer Function 24(PS_OUTPUT)
26: TypeFunction 2 25(ptr)
30: TypeInt 32 1
31: 12(int) Constant 5
32: TypeArray 30(int) 31
33: TypePointer Private 32
34(not_flattened_a): 33(ptr) Variable Private
35: 30(int) Constant 1
36: 30(int) Constant 2
37: 30(int) Constant 3
38: 30(int) Constant 4
39: 30(int) Constant 5
40: 32 ConstantComposite 35 36 37 38 39
41: TypePointer UniformConstant 11
42(g_tex[1]): 41(ptr) Variable UniformConstant
44: TypePointer UniformConstant 16
45(g_samp[1]): 44(ptr) Variable UniformConstant
47: TypeSampledImage 11
49: 6(float) Constant 1045220557
61(local_sampler_array): 18(ptr) Variable UniformConstant
62: 30(int) Constant 0
63(g_samp[0]): 44(ptr) Variable UniformConstant
68(g_samp[2]): 44(ptr) Variable UniformConstant
71(local_texture_array): 15(ptr) Variable UniformConstant
72(g_tex[0]): 41(ptr) Variable UniformConstant
77(g_tex[2]): 41(ptr) Variable UniformConstant
80: 12(int) Constant 4
81: TypeArray 6(float) 80
82: TypePointer Function 81
84: TypeVector 6(float) 3
85: TypeMatrix 84(fvec3) 3
86: TypeArray 85 80
87: TypeArray 85 80
88: TypeArray 6(float) 80
89($Global): TypeStruct 86 87 88
90: TypePointer Uniform 89($Global)
91: 90(ptr) Variable Uniform
92: TypePointer Uniform 88
96: TypePointer Function 6(float)
105(aggShadow): 15(ptr) Variable UniformConstant
112(aggShadow): 18(ptr) Variable UniformConstant
121: TypePointer Function 7(fvec4)
127: TypePointer Output 7(fvec4)
128(color): 127(ptr) Variable Output
131(g_tex_explicit[0]): 41(ptr) Variable UniformConstant
132(g_tex_explicit[1]): 41(ptr) Variable UniformConstant
133(g_tex_explicit[2]): 41(ptr) Variable UniformConstant
134(g_samp_explicit[0]): 44(ptr) Variable UniformConstant
135(g_samp_explicit[1]): 44(ptr) Variable UniformConstant
136(g_samp_explicit[2]): 44(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
77(local_float_array): 76(ptr) Variable Function
Store 28(not_flattened_a) 34
58: 16 Load 57(g_samp[0])
59: 38(ptr) AccessChain 55(local_sampler_array) 56
Store 59 58
60: 16 Load 39(g_samp[1])
61: 38(ptr) AccessChain 55(local_sampler_array) 29
Store 61 60
63: 16 Load 62(g_samp[2])
64: 38(ptr) AccessChain 55(local_sampler_array) 30
Store 64 63
67: 11 Load 66(g_tex[0])
68: 35(ptr) AccessChain 65(local_texture_array) 56
Store 68 67
69: 11 Load 36(g_tex[1])
70: 35(ptr) AccessChain 65(local_texture_array) 29
Store 70 69
72: 11 Load 71(g_tex[2])
73: 35(ptr) AccessChain 65(local_texture_array) 30
Store 73 72
87: 86(ptr) AccessChain 85 30
88: 82 Load 87
89: 6(float) CompositeExtract 88 0
91: 90(ptr) AccessChain 77(local_float_array) 56
Store 91 89
92: 6(float) CompositeExtract 88 1
93: 90(ptr) AccessChain 77(local_float_array) 29
Store 93 92
94: 6(float) CompositeExtract 88 2
95: 90(ptr) AccessChain 77(local_float_array) 30
Store 95 94
96: 6(float) CompositeExtract 88 3
97: 90(ptr) AccessChain 77(local_float_array) 31
Store 97 96
100: 7(fvec4) FunctionCall 9(TestFn1()
102: 11 Load 66(g_tex[0])
103: 35(ptr) AccessChain 101(aggShadow) 56
Store 103 102
104: 11 Load 36(g_tex[1])
105: 35(ptr) AccessChain 101(aggShadow) 29
Store 105 104
106: 11 Load 71(g_tex[2])
107: 35(ptr) AccessChain 101(aggShadow) 30
Store 107 106
109: 16 Load 57(g_samp[0])
110: 38(ptr) AccessChain 108(aggShadow) 56
Store 110 109
111: 16 Load 39(g_samp[1])
112: 38(ptr) AccessChain 108(aggShadow) 29
Store 112 111
113: 16 Load 62(g_samp[2])
114: 38(ptr) AccessChain 108(aggShadow) 30
Store 114 113
115: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 101(aggShadow) 108(aggShadow)
116: 7(fvec4) FAdd 100 115
Store 99(color) 116
123(ps_output): 25(ptr) Variable Function
124(param): 25(ptr) Variable Function
Store 34(not_flattened_a) 40
125: 2 FunctionCall 28(@main(struct-PS_OUTPUT-vf41;) 124(param)
126:24(PS_OUTPUT) Load 124(param)
Store 123(ps_output) 126
129: 121(ptr) AccessChain 123(ps_output) 62
130: 7(fvec4) Load 129
Store 128(color) 130
Return
FunctionEnd
9(TestFn1(): 7(fvec4) Function None 8
10: Label
37: 11 Load 36(g_tex[1])
40: 16 Load 39(g_samp[1])
42: 41 SampledImage 37 40
44: 7(fvec4) ImageSampleImplicitLod 42 43
ReturnValue 44
43: 11 Load 42(g_tex[1])
46: 16 Load 45(g_samp[1])
48: 47 SampledImage 43 46
50: 7(fvec4) ImageSampleImplicitLod 48 49
ReturnValue 50
FunctionEnd
22(TestFn2(t11[3];p1[3];): 7(fvec4) Function None 19
20(l_tex): 15(ptr) FunctionParameter
21(l_samp): 18(ptr) FunctionParameter
23: Label
47: 35(ptr) AccessChain 20(l_tex) 30
48: 11 Load 47
49: 38(ptr) AccessChain 21(l_samp) 30
50: 16 Load 49
51: 41 SampledImage 48 50
52: 7(fvec4) ImageSampleImplicitLod 51 43
ReturnValue 52
53: 41(ptr) AccessChain 20(l_tex) 36
54: 11 Load 53
55: 44(ptr) AccessChain 21(l_samp) 36
56: 16 Load 55
57: 47 SampledImage 54 56
58: 7(fvec4) ImageSampleImplicitLod 57 49
ReturnValue 58
FunctionEnd
28(@main(struct-PS_OUTPUT-vf41;): 2 Function None 26
27(ps_output): 25(ptr) FunctionParameter
29: Label
83(local_float_array): 82(ptr) Variable Function
64: 16 Load 63(g_samp[0])
65: 44(ptr) AccessChain 61(local_sampler_array) 62
Store 65 64
66: 16 Load 45(g_samp[1])
67: 44(ptr) AccessChain 61(local_sampler_array) 35
Store 67 66
69: 16 Load 68(g_samp[2])
70: 44(ptr) AccessChain 61(local_sampler_array) 36
Store 70 69
73: 11 Load 72(g_tex[0])
74: 41(ptr) AccessChain 71(local_texture_array) 62
Store 74 73
75: 11 Load 42(g_tex[1])
76: 41(ptr) AccessChain 71(local_texture_array) 35
Store 76 75
78: 11 Load 77(g_tex[2])
79: 41(ptr) AccessChain 71(local_texture_array) 36
Store 79 78
93: 92(ptr) AccessChain 91 36
94: 88 Load 93
95: 6(float) CompositeExtract 94 0
97: 96(ptr) AccessChain 83(local_float_array) 62
Store 97 95
98: 6(float) CompositeExtract 94 1
99: 96(ptr) AccessChain 83(local_float_array) 35
Store 99 98
100: 6(float) CompositeExtract 94 2
101: 96(ptr) AccessChain 83(local_float_array) 36
Store 101 100
102: 6(float) CompositeExtract 94 3
103: 96(ptr) AccessChain 83(local_float_array) 37
Store 103 102
104: 7(fvec4) FunctionCall 9(TestFn1()
106: 11 Load 72(g_tex[0])
107: 41(ptr) AccessChain 105(aggShadow) 62
Store 107 106
108: 11 Load 42(g_tex[1])
109: 41(ptr) AccessChain 105(aggShadow) 35
Store 109 108
110: 11 Load 77(g_tex[2])
111: 41(ptr) AccessChain 105(aggShadow) 36
Store 111 110
113: 16 Load 63(g_samp[0])
114: 44(ptr) AccessChain 112(aggShadow) 62
Store 114 113
115: 16 Load 45(g_samp[1])
116: 44(ptr) AccessChain 112(aggShadow) 35
Store 116 115
117: 16 Load 68(g_samp[2])
118: 44(ptr) AccessChain 112(aggShadow) 36
Store 118 117
119: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 105(aggShadow) 112(aggShadow)
120: 7(fvec4) FAdd 104 119
122: 121(ptr) AccessChain 27(ps_output) 62
Store 122 120
Return
FunctionEnd

View File

@ -2,59 +2,70 @@ hlsl.array.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float)
0:8 Function Definition: @PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float)
0:8 Function Parameters:
0:8 'i' (layout(location=0 ) in int)
0:8 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
0:8 'i' (in int)
0:8 'input' (in 3-element array of 4-component vector of float)
0:? Sequence
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:10 Branch: Return with expression
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 direct index (layout(offset=0 ) temp 4-component vector of float)
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 0 (const uint)
0:10 direct index (layout(offset=0 ) temp 4-component vector of float)
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 1 (const int)
0:10 indirect index (layout(offset=0 ) temp 4-component vector of float)
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 0 (const uint)
0:10 'i' (layout(location=0 ) in int)
0:10 direct index (layout(location=1 ) temp 4-component vector of float)
0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
0:10 0 (const uint)
0:10 Constant:
0:10 2 (const int)
0:10 indirect index (layout(location=1 ) temp 4-component vector of float)
0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
0:10 'i' (layout(location=0 ) in int)
0:10 direct index (temp 4-component vector of float)
0:10 'b' (temp 10-element array of 4-component vector of float)
0:10 Constant:
0:10 5 (const int)
0:10 indirect index (temp 4-component vector of float)
0:10 'b' (temp 10-element array of 4-component vector of float)
0:10 'i' (layout(location=0 ) in int)
0:10 indirect index (temp 4-component vector of float)
0:10 m: direct index for structure (temp 7-element array of 4-component vector of float)
0:10 indirect index (layout(offset=64 ) temp structure{temp 7-element array of 4-component vector of float m})
0:10 s: direct index for structure (layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m})
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 1 (const int)
0:10 indirect index (layout(offset=0 ) temp 4-component vector of float)
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 0 (const uint)
0:10 'i' (in int)
0:10 direct index (temp 4-component vector of float)
0:10 'input' (in 3-element array of 4-component vector of float)
0:10 Constant:
0:10 1 (const uint)
0:10 'i' (layout(location=0 ) in int)
0:10 2 (const int)
0:10 indirect index (temp 4-component vector of float)
0:10 'input' (in 3-element array of 4-component vector of float)
0:10 'i' (in int)
0:10 direct index (temp 4-component vector of float)
0:10 'b' (temp 10-element array of 4-component vector of float)
0:10 Constant:
0:10 0 (const int)
0:10 'i' (layout(location=0 ) in int)
0:10 Branch: Return
0:10 5 (const int)
0:10 indirect index (temp 4-component vector of float)
0:10 'b' (temp 10-element array of 4-component vector of float)
0:10 'i' (in int)
0:10 indirect index (temp 4-component vector of float)
0:10 m: direct index for structure (temp 7-element array of 4-component vector of float)
0:10 indirect index (layout(offset=64 ) temp structure{temp 7-element array of 4-component vector of float m})
0:10 s: direct index for structure (layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m})
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 1 (const uint)
0:10 'i' (in int)
0:10 Constant:
0:10 0 (const int)
0:10 'i' (in int)
0:8 Function Definition: PixelShaderFunction( (temp void)
0:8 Function Parameters:
0:? Sequence
0:8 move second child to first child (temp int)
0:? 'i' (temp int)
0:? 'i' (layout(location=0 ) in int)
0:8 move second child to first child (temp 3-element array of 4-component vector of float)
0:? 'input' (temp 3-element array of 4-component vector of float)
0:? 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
0:8 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:8 Function Call: @PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float)
0:? 'i' (temp int)
0:? 'input' (temp 3-element array of 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'i' (layout(location=0 ) in int)
@ -68,59 +79,70 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float)
0:8 Function Definition: @PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float)
0:8 Function Parameters:
0:8 'i' (layout(location=0 ) in int)
0:8 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
0:8 'i' (in int)
0:8 'input' (in 3-element array of 4-component vector of float)
0:? Sequence
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:10 Branch: Return with expression
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 direct index (layout(offset=0 ) temp 4-component vector of float)
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 0 (const uint)
0:10 direct index (layout(offset=0 ) temp 4-component vector of float)
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 1 (const int)
0:10 indirect index (layout(offset=0 ) temp 4-component vector of float)
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 0 (const uint)
0:10 'i' (layout(location=0 ) in int)
0:10 direct index (layout(location=1 ) temp 4-component vector of float)
0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
0:10 0 (const uint)
0:10 Constant:
0:10 2 (const int)
0:10 indirect index (layout(location=1 ) temp 4-component vector of float)
0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
0:10 'i' (layout(location=0 ) in int)
0:10 direct index (temp 4-component vector of float)
0:10 'b' (temp 10-element array of 4-component vector of float)
0:10 Constant:
0:10 5 (const int)
0:10 indirect index (temp 4-component vector of float)
0:10 'b' (temp 10-element array of 4-component vector of float)
0:10 'i' (layout(location=0 ) in int)
0:10 indirect index (temp 4-component vector of float)
0:10 m: direct index for structure (temp 7-element array of 4-component vector of float)
0:10 indirect index (layout(offset=64 ) temp structure{temp 7-element array of 4-component vector of float m})
0:10 s: direct index for structure (layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m})
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 1 (const int)
0:10 indirect index (layout(offset=0 ) temp 4-component vector of float)
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 0 (const uint)
0:10 'i' (in int)
0:10 direct index (temp 4-component vector of float)
0:10 'input' (in 3-element array of 4-component vector of float)
0:10 Constant:
0:10 1 (const uint)
0:10 'i' (layout(location=0 ) in int)
0:10 2 (const int)
0:10 indirect index (temp 4-component vector of float)
0:10 'input' (in 3-element array of 4-component vector of float)
0:10 'i' (in int)
0:10 direct index (temp 4-component vector of float)
0:10 'b' (temp 10-element array of 4-component vector of float)
0:10 Constant:
0:10 0 (const int)
0:10 'i' (layout(location=0 ) in int)
0:10 Branch: Return
0:10 5 (const int)
0:10 indirect index (temp 4-component vector of float)
0:10 'b' (temp 10-element array of 4-component vector of float)
0:10 'i' (in int)
0:10 indirect index (temp 4-component vector of float)
0:10 m: direct index for structure (temp 7-element array of 4-component vector of float)
0:10 indirect index (layout(offset=64 ) temp structure{temp 7-element array of 4-component vector of float m})
0:10 s: direct index for structure (layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m})
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 1 (const uint)
0:10 'i' (in int)
0:10 Constant:
0:10 0 (const int)
0:10 'i' (in int)
0:8 Function Definition: PixelShaderFunction( (temp void)
0:8 Function Parameters:
0:? Sequence
0:8 move second child to first child (temp int)
0:? 'i' (temp int)
0:? 'i' (layout(location=0 ) in int)
0:8 move second child to first child (temp 3-element array of 4-component vector of float)
0:? 'input' (temp 3-element array of 4-component vector of float)
0:? 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
0:8 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:8 Function Call: @PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float)
0:? 'i' (temp int)
0:? 'input' (temp 3-element array of 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'i' (layout(location=0 ) in int)
@ -129,97 +151,125 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 65
// Id's are bound by 81
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 28 36
EntryPoint Fragment 4 "PixelShaderFunction" 68 72 75
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 9 "@entryPointOutput"
Name 15 ""
MemberName 15 0 "m"
Name 18 "$Global"
MemberName 18($Global) 0 "a"
MemberName 18($Global) 1 "s"
Name 20 ""
Name 28 "i"
Name 36 "input"
Name 49 "b"
Decorate 9(@entryPointOutput) Location 0
Decorate 12 ArrayStride 16
Decorate 14 ArrayStride 16
MemberDecorate 15 0 Offset 0
Decorate 17 ArrayStride 112
MemberDecorate 18($Global) 0 Offset 0
MemberDecorate 18($Global) 1 Offset 64
Decorate 18($Global) Block
Decorate 20 DescriptorSet 0
Decorate 28(i) Location 0
Decorate 36(input) Location 1
Name 17 "@PixelShaderFunction(i1;vf4[3];"
Name 15 "i"
Name 16 "input"
Name 23 ""
MemberName 23 0 "m"
Name 26 "$Global"
MemberName 26($Global) 0 "a"
MemberName 26($Global) 1 "s"
Name 28 ""
Name 50 "b"
Name 66 "i"
Name 68 "i"
Name 70 "input"
Name 72 "input"
Name 75 "@entryPointOutput"
Name 76 "param"
Name 78 "param"
Decorate 20 ArrayStride 16
Decorate 22 ArrayStride 16
MemberDecorate 23 0 Offset 0
Decorate 25 ArrayStride 112
MemberDecorate 26($Global) 0 Offset 0
MemberDecorate 26($Global) 1 Offset 64
Decorate 26($Global) Block
Decorate 28 DescriptorSet 0
Decorate 68(i) Location 0
Decorate 72(input) Location 1
Decorate 75(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output
6: TypeInt 32 1
7: TypePointer Function 6(int)
8: TypeFloat 32
9: TypeVector 8(float) 4
10: TypeInt 32 0
11: 10(int) Constant 4
12: TypeArray 7(fvec4) 11
13: 10(int) Constant 7
14: TypeArray 7(fvec4) 13
15: TypeStruct 14
16: 10(int) Constant 11
17: TypeArray 15(struct) 16
18($Global): TypeStruct 12 17
19: TypePointer Uniform 18($Global)
20: 19(ptr) Variable Uniform
21: TypeInt 32 1
22: 21(int) Constant 0
23: 21(int) Constant 1
24: TypePointer Uniform 7(fvec4)
27: TypePointer Input 21(int)
28(i): 27(ptr) Variable Input
33: 10(int) Constant 3
34: TypeArray 7(fvec4) 33
35: TypePointer Input 34
36(input): 35(ptr) Variable Input
37: 21(int) Constant 2
38: TypePointer Input 7(fvec4)
46: 10(int) Constant 10
47: TypeArray 7(fvec4) 46
48: TypePointer Function 47
50: 21(int) Constant 5
51: TypePointer Function 7(fvec4)
11: 10(int) Constant 3
12: TypeArray 9(fvec4) 11
13: TypePointer Function 12
14: TypeFunction 9(fvec4) 7(ptr) 13(ptr)
19: 10(int) Constant 4
20: TypeArray 9(fvec4) 19
21: 10(int) Constant 7
22: TypeArray 9(fvec4) 21
23: TypeStruct 22
24: 10(int) Constant 11
25: TypeArray 23(struct) 24
26($Global): TypeStruct 20 25
27: TypePointer Uniform 26($Global)
28: 27(ptr) Variable Uniform
29: 6(int) Constant 0
30: 6(int) Constant 1
31: TypePointer Uniform 9(fvec4)
38: 6(int) Constant 2
39: TypePointer Function 9(fvec4)
47: 10(int) Constant 10
48: TypeArray 9(fvec4) 47
49: TypePointer Function 48
51: 6(int) Constant 5
67: TypePointer Input 6(int)
68(i): 67(ptr) Variable Input
71: TypePointer Input 12
72(input): 71(ptr) Variable Input
74: TypePointer Output 9(fvec4)
75(@entryPointOutput): 74(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
49(b): 48(ptr) Variable Function
25: 24(ptr) AccessChain 20 22 23
26: 7(fvec4) Load 25
29: 21(int) Load 28(i)
30: 24(ptr) AccessChain 20 22 29
31: 7(fvec4) Load 30
32: 7(fvec4) FAdd 26 31
39: 38(ptr) AccessChain 36(input) 37
40: 7(fvec4) Load 39
41: 7(fvec4) FAdd 32 40
42: 21(int) Load 28(i)
43: 38(ptr) AccessChain 36(input) 42
44: 7(fvec4) Load 43
45: 7(fvec4) FAdd 41 44
52: 51(ptr) AccessChain 49(b) 50
53: 7(fvec4) Load 52
54: 7(fvec4) FAdd 45 53
55: 21(int) Load 28(i)
56: 51(ptr) AccessChain 49(b) 55
57: 7(fvec4) Load 56
58: 7(fvec4) FAdd 54 57
59: 21(int) Load 28(i)
60: 21(int) Load 28(i)
61: 24(ptr) AccessChain 20 23 59 22 60
62: 7(fvec4) Load 61
63: 7(fvec4) FAdd 58 62
Store 9(@entryPointOutput) 63
66(i): 7(ptr) Variable Function
70(input): 13(ptr) Variable Function
76(param): 7(ptr) Variable Function
78(param): 13(ptr) Variable Function
69: 6(int) Load 68(i)
Store 66(i) 69
73: 12 Load 72(input)
Store 70(input) 73
77: 6(int) Load 66(i)
Store 76(param) 77
79: 12 Load 70(input)
Store 78(param) 79
80: 9(fvec4) FunctionCall 17(@PixelShaderFunction(i1;vf4[3];) 76(param) 78(param)
Store 75(@entryPointOutput) 80
Return
FunctionEnd
17(@PixelShaderFunction(i1;vf4[3];): 9(fvec4) Function None 14
15(i): 7(ptr) FunctionParameter
16(input): 13(ptr) FunctionParameter
18: Label
50(b): 49(ptr) Variable Function
32: 31(ptr) AccessChain 28 29 30
33: 9(fvec4) Load 32
34: 6(int) Load 15(i)
35: 31(ptr) AccessChain 28 29 34
36: 9(fvec4) Load 35
37: 9(fvec4) FAdd 33 36
40: 39(ptr) AccessChain 16(input) 38
41: 9(fvec4) Load 40
42: 9(fvec4) FAdd 37 41
43: 6(int) Load 15(i)
44: 39(ptr) AccessChain 16(input) 43
45: 9(fvec4) Load 44
46: 9(fvec4) FAdd 42 45
52: 39(ptr) AccessChain 50(b) 51
53: 9(fvec4) Load 52
54: 9(fvec4) FAdd 46 53
55: 6(int) Load 15(i)
56: 39(ptr) AccessChain 50(b) 55
57: 9(fvec4) Load 56
58: 9(fvec4) FAdd 54 57
59: 6(int) Load 15(i)
60: 6(int) Load 15(i)
61: 31(ptr) AccessChain 28 30 59 29 60
62: 9(fvec4) Load 61
63: 9(fvec4) FAdd 58 62
ReturnValue 63
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.array.multidim.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:10 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:10 Function Parameters:
0:? Sequence
0:14 move second child to first child (temp 4-component vector of float)
@ -48,15 +48,18 @@ gl_FragCoord origin is upper left
0:18 1 (const int)
0:18 Constant:
0:18 2 (const int)
0:19 Sequence
0:19 Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:19 Color: direct index for structure (temp 4-component vector of float)
0:19 'psout' (temp structure{temp 4-component vector of float Color})
0:19 Constant:
0:19 0 (const int)
0:19 Branch: Return
0:19 Branch: Return with expression
0:19 'psout' (temp structure{temp 4-component vector of float Color})
0:10 Function Definition: main( (temp void)
0:10 Function Parameters:
0:? Sequence
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:10 Color: direct index for structure (temp 4-component vector of float)
0:10 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:10 Constant:
0:10 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
@ -68,7 +71,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:10 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:10 Function Parameters:
0:? Sequence
0:14 move second child to first child (temp 4-component vector of float)
@ -114,97 +117,107 @@ gl_FragCoord origin is upper left
0:18 1 (const int)
0:18 Constant:
0:18 2 (const int)
0:19 Sequence
0:19 Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:19 Color: direct index for structure (temp 4-component vector of float)
0:19 'psout' (temp structure{temp 4-component vector of float Color})
0:19 Constant:
0:19 0 (const int)
0:19 Branch: Return
0:19 Branch: Return with expression
0:19 'psout' (temp structure{temp 4-component vector of float Color})
0:10 Function Definition: main( (temp void)
0:10 Function Parameters:
0:? Sequence
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:10 Color: direct index for structure (temp 4-component vector of float)
0:10 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:10 Constant:
0:10 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 52
// Id's are bound by 57
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 48
EntryPoint Fragment 4 "main" 54
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 14 "float4_array_1"
Name 23 "$Global"
MemberName 23($Global) 0 "float_array"
Name 25 ""
Name 36 "float4_array_2"
Name 41 "PS_OUTPUT"
MemberName 41(PS_OUTPUT) 0 "Color"
Name 43 "psout"
Name 48 "Color"
Decorate 18 ArrayStride 16
Decorate 20 ArrayStride 48
Decorate 22 ArrayStride 192
MemberDecorate 23($Global) 0 Offset 0
Decorate 23($Global) Block
Decorate 25 DescriptorSet 0
Decorate 48(Color) Location 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
Name 10 "@main("
Name 18 "float4_array_1"
Name 27 "$Global"
MemberName 27($Global) 0 "float_array"
Name 29 ""
Name 40 "float4_array_2"
Name 46 "psout"
Name 54 "Color"
Decorate 22 ArrayStride 16
Decorate 24 ArrayStride 48
Decorate 26 ArrayStride 192
MemberDecorate 27($Global) 0 Offset 0
Decorate 27($Global) Block
Decorate 29 DescriptorSet 0
Decorate 54(Color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeInt 32 0
9: 8(int) Constant 3
10: TypeArray 7(fvec4) 9
11: 8(int) Constant 2
12: TypeArray 10 11
13: TypePointer Function 12
15: TypeInt 32 1
16: 15(int) Constant 1
17: 15(int) Constant 2
18: TypeArray 6(float) 9
19: 8(int) Constant 4
20: TypeArray 18 19
21: 8(int) Constant 5
22: TypeArray 20 21
23($Global): TypeStruct 22
24: TypePointer Uniform 23($Global)
25: 24(ptr) Variable Uniform
26: 15(int) Constant 0
27: 15(int) Constant 3
28: TypePointer Uniform 6(float)
32: TypePointer Function 7(fvec4)
34: TypeArray 10 21
35: TypePointer Function 34
37: TypePointer Function 10
41(PS_OUTPUT): TypeStruct 7(fvec4)
42: TypePointer Function 41(PS_OUTPUT)
47: TypePointer Output 7(fvec4)
48(Color): 47(ptr) Variable Output
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypeInt 32 0
13: 12(int) Constant 3
14: TypeArray 7(fvec4) 13
15: 12(int) Constant 2
16: TypeArray 14 15
17: TypePointer Function 16
19: TypeInt 32 1
20: 19(int) Constant 1
21: 19(int) Constant 2
22: TypeArray 6(float) 13
23: 12(int) Constant 4
24: TypeArray 22 23
25: 12(int) Constant 5
26: TypeArray 24 25
27($Global): TypeStruct 26
28: TypePointer Uniform 27($Global)
29: 28(ptr) Variable Uniform
30: 19(int) Constant 0
31: 19(int) Constant 3
32: TypePointer Uniform 6(float)
36: TypePointer Function 7(fvec4)
38: TypeArray 14 25
39: TypePointer Function 38
41: TypePointer Function 14
45: TypePointer Function 8(PS_OUTPUT)
53: TypePointer Output 7(fvec4)
54(Color): 53(ptr) Variable Output
4(main): 2 Function None 3
5: Label
14(float4_array_1): 13(ptr) Variable Function
36(float4_array_2): 35(ptr) Variable Function
43(psout): 42(ptr) Variable Function
29: 28(ptr) AccessChain 25 26 17 27 16
30: 6(float) Load 29
31: 7(fvec4) CompositeConstruct 30 30 30 30
33: 32(ptr) AccessChain 14(float4_array_1) 16 17
Store 33 31
38: 37(ptr) AccessChain 14(float4_array_1) 26
39: 10 Load 38
40: 37(ptr) AccessChain 36(float4_array_2) 16
Store 40 39
44: 32(ptr) AccessChain 14(float4_array_1) 16 17
45: 7(fvec4) Load 44
46: 32(ptr) AccessChain 43(psout) 26
Store 46 45
49: 32(ptr) AccessChain 43(psout) 26
50: 7(fvec4) Load 49
Store 48(Color) 50
55:8(PS_OUTPUT) FunctionCall 10(@main()
56: 7(fvec4) CompositeExtract 55 0
Store 54(Color) 56
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
18(float4_array_1): 17(ptr) Variable Function
40(float4_array_2): 39(ptr) Variable Function
46(psout): 45(ptr) Variable Function
33: 32(ptr) AccessChain 29 30 21 31 20
34: 6(float) Load 33
35: 7(fvec4) CompositeConstruct 34 34 34 34
37: 36(ptr) AccessChain 18(float4_array_1) 20 21
Store 37 35
42: 41(ptr) AccessChain 18(float4_array_1) 30
43: 14 Load 42
44: 41(ptr) AccessChain 40(float4_array_2) 20
Store 44 43
47: 36(ptr) AccessChain 18(float4_array_1) 20 21
48: 7(fvec4) Load 47
49: 36(ptr) AccessChain 46(psout) 30
Store 49 48
50:8(PS_OUTPUT) Load 46(psout)
ReturnValue 50
FunctionEnd

View File

@ -2,36 +2,59 @@ hlsl.assoc.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:8 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:8 Function Parameters:
0:8 'a1' (layout(location=0 ) in 4-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float)
0:8 'a3' (layout(location=2 ) in 4-component vector of float)
0:8 'a4' (layout(location=3 ) in 4-component vector of float)
0:8 'a5' (layout(location=4 ) in 4-component vector of float)
0:8 'a1' (in 4-component vector of float)
0:8 'a2' (in 4-component vector of float)
0:8 'a3' (in 4-component vector of float)
0:8 'a4' (in 4-component vector of float)
0:8 'a5' (in 4-component vector of float)
0:? Sequence
0:9 move second child to first child (temp 4-component vector of float)
0:9 'a1' (layout(location=0 ) in 4-component vector of float)
0:9 'a1' (in 4-component vector of float)
0:9 move second child to first child (temp 4-component vector of float)
0:9 'a2' (layout(location=1 ) in 4-component vector of float)
0:9 'a2' (in 4-component vector of float)
0:9 move second child to first child (temp 4-component vector of float)
0:9 'a3' (layout(location=2 ) in 4-component vector of float)
0:9 'a3' (in 4-component vector of float)
0:9 move second child to first child (temp 4-component vector of float)
0:9 'a4' (layout(location=3 ) in 4-component vector of float)
0:9 'a5' (layout(location=4 ) in 4-component vector of float)
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:9 'a4' (in 4-component vector of float)
0:9 'a5' (in 4-component vector of float)
0:10 Branch: Return with expression
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 'a1' (layout(location=0 ) in 4-component vector of float)
0:10 'a2' (layout(location=1 ) in 4-component vector of float)
0:10 'a3' (layout(location=2 ) in 4-component vector of float)
0:10 'a4' (layout(location=3 ) in 4-component vector of float)
0:10 'a5' (layout(location=4 ) in 4-component vector of float)
0:10 Branch: Return
0:10 'a1' (in 4-component vector of float)
0:10 'a2' (in 4-component vector of float)
0:10 'a3' (in 4-component vector of float)
0:10 'a4' (in 4-component vector of float)
0:10 'a5' (in 4-component vector of float)
0:8 Function Definition: PixelShaderFunction( (temp void)
0:8 Function Parameters:
0:? Sequence
0:8 move second child to first child (temp 4-component vector of float)
0:? 'a1' (temp 4-component vector of float)
0:? 'a1' (layout(location=0 ) in 4-component vector of float)
0:8 move second child to first child (temp 4-component vector of float)
0:? 'a2' (temp 4-component vector of float)
0:? 'a2' (layout(location=1 ) in 4-component vector of float)
0:8 move second child to first child (temp 4-component vector of float)
0:? 'a3' (temp 4-component vector of float)
0:? 'a3' (layout(location=2 ) in 4-component vector of float)
0:8 move second child to first child (temp 4-component vector of float)
0:? 'a4' (temp 4-component vector of float)
0:? 'a4' (layout(location=3 ) in 4-component vector of float)
0:8 move second child to first child (temp 4-component vector of float)
0:? 'a5' (temp 4-component vector of float)
0:? 'a5' (layout(location=4 ) in 4-component vector of float)
0:8 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:8 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:? 'a1' (temp 4-component vector of float)
0:? 'a2' (temp 4-component vector of float)
0:? 'a3' (temp 4-component vector of float)
0:? 'a4' (temp 4-component vector of float)
0:? 'a5' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'a1' (layout(location=0 ) in 4-component vector of float)
@ -47,36 +70,59 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:8 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:8 Function Parameters:
0:8 'a1' (layout(location=0 ) in 4-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float)
0:8 'a3' (layout(location=2 ) in 4-component vector of float)
0:8 'a4' (layout(location=3 ) in 4-component vector of float)
0:8 'a5' (layout(location=4 ) in 4-component vector of float)
0:8 'a1' (in 4-component vector of float)
0:8 'a2' (in 4-component vector of float)
0:8 'a3' (in 4-component vector of float)
0:8 'a4' (in 4-component vector of float)
0:8 'a5' (in 4-component vector of float)
0:? Sequence
0:9 move second child to first child (temp 4-component vector of float)
0:9 'a1' (layout(location=0 ) in 4-component vector of float)
0:9 'a1' (in 4-component vector of float)
0:9 move second child to first child (temp 4-component vector of float)
0:9 'a2' (layout(location=1 ) in 4-component vector of float)
0:9 'a2' (in 4-component vector of float)
0:9 move second child to first child (temp 4-component vector of float)
0:9 'a3' (layout(location=2 ) in 4-component vector of float)
0:9 'a3' (in 4-component vector of float)
0:9 move second child to first child (temp 4-component vector of float)
0:9 'a4' (layout(location=3 ) in 4-component vector of float)
0:9 'a5' (layout(location=4 ) in 4-component vector of float)
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:9 'a4' (in 4-component vector of float)
0:9 'a5' (in 4-component vector of float)
0:10 Branch: Return with expression
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 'a1' (layout(location=0 ) in 4-component vector of float)
0:10 'a2' (layout(location=1 ) in 4-component vector of float)
0:10 'a3' (layout(location=2 ) in 4-component vector of float)
0:10 'a4' (layout(location=3 ) in 4-component vector of float)
0:10 'a5' (layout(location=4 ) in 4-component vector of float)
0:10 Branch: Return
0:10 'a1' (in 4-component vector of float)
0:10 'a2' (in 4-component vector of float)
0:10 'a3' (in 4-component vector of float)
0:10 'a4' (in 4-component vector of float)
0:10 'a5' (in 4-component vector of float)
0:8 Function Definition: PixelShaderFunction( (temp void)
0:8 Function Parameters:
0:? Sequence
0:8 move second child to first child (temp 4-component vector of float)
0:? 'a1' (temp 4-component vector of float)
0:? 'a1' (layout(location=0 ) in 4-component vector of float)
0:8 move second child to first child (temp 4-component vector of float)
0:? 'a2' (temp 4-component vector of float)
0:? 'a2' (layout(location=1 ) in 4-component vector of float)
0:8 move second child to first child (temp 4-component vector of float)
0:? 'a3' (temp 4-component vector of float)
0:? 'a3' (layout(location=2 ) in 4-component vector of float)
0:8 move second child to first child (temp 4-component vector of float)
0:? 'a4' (temp 4-component vector of float)
0:? 'a4' (layout(location=3 ) in 4-component vector of float)
0:8 move second child to first child (temp 4-component vector of float)
0:? 'a5' (temp 4-component vector of float)
0:? 'a5' (layout(location=4 ) in 4-component vector of float)
0:8 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:8 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:? 'a1' (temp 4-component vector of float)
0:? 'a2' (temp 4-component vector of float)
0:? 'a3' (temp 4-component vector of float)
0:? 'a4' (temp 4-component vector of float)
0:? 'a5' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'a1' (layout(location=0 ) in 4-component vector of float)
@ -87,54 +133,112 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 27
// Id's are bound by 58
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 10 11 12 13 16
EntryPoint Fragment 4 "PixelShaderFunction" 31 34 37 40 43 46
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 9 "a1"
Name 10 "a2"
Name 11 "a3"
Name 12 "a4"
Name 13 "a5"
Name 16 "@entryPointOutput"
Decorate 9(a1) Location 0
Decorate 10(a2) Location 1
Decorate 11(a3) Location 2
Decorate 12(a4) Location 3
Decorate 13(a5) Location 4
Decorate 16(@entryPointOutput) Location 0
Name 15 "@PixelShaderFunction(vf4;vf4;vf4;vf4;vf4;"
Name 10 "a1"
Name 11 "a2"
Name 12 "a3"
Name 13 "a4"
Name 14 "a5"
Name 29 "a1"
Name 31 "a1"
Name 33 "a2"
Name 34 "a2"
Name 36 "a3"
Name 37 "a3"
Name 39 "a4"
Name 40 "a4"
Name 42 "a5"
Name 43 "a5"
Name 46 "@entryPointOutput"
Name 47 "param"
Name 49 "param"
Name 51 "param"
Name 53 "param"
Name 55 "param"
Decorate 31(a1) Location 0
Decorate 34(a2) Location 1
Decorate 37(a3) Location 2
Decorate 40(a4) Location 3
Decorate 43(a5) Location 4
Decorate 46(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Input 7(fvec4)
9(a1): 8(ptr) Variable Input
10(a2): 8(ptr) Variable Input
11(a3): 8(ptr) Variable Input
12(a4): 8(ptr) Variable Input
13(a5): 8(ptr) Variable Input
15: TypePointer Output 7(fvec4)
16(@entryPointOutput): 15(ptr) Variable Output
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr) 8(ptr) 8(ptr) 8(ptr) 8(ptr)
30: TypePointer Input 7(fvec4)
31(a1): 30(ptr) Variable Input
34(a2): 30(ptr) Variable Input
37(a3): 30(ptr) Variable Input
40(a4): 30(ptr) Variable Input
43(a5): 30(ptr) Variable Input
45: TypePointer Output 7(fvec4)
46(@entryPointOutput): 45(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
14: 7(fvec4) Load 13(a5)
Store 12(a4) 14
Store 11(a3) 14
Store 10(a2) 14
Store 9(a1) 14
17: 7(fvec4) Load 9(a1)
18: 7(fvec4) Load 10(a2)
19: 7(fvec4) FAdd 17 18
20: 7(fvec4) Load 11(a3)
21: 7(fvec4) FAdd 19 20
22: 7(fvec4) Load 12(a4)
23: 7(fvec4) FAdd 21 22
24: 7(fvec4) Load 13(a5)
25: 7(fvec4) FAdd 23 24
Store 16(@entryPointOutput) 25
29(a1): 8(ptr) Variable Function
33(a2): 8(ptr) Variable Function
36(a3): 8(ptr) Variable Function
39(a4): 8(ptr) Variable Function
42(a5): 8(ptr) Variable Function
47(param): 8(ptr) Variable Function
49(param): 8(ptr) Variable Function
51(param): 8(ptr) Variable Function
53(param): 8(ptr) Variable Function
55(param): 8(ptr) Variable Function
32: 7(fvec4) Load 31(a1)
Store 29(a1) 32
35: 7(fvec4) Load 34(a2)
Store 33(a2) 35
38: 7(fvec4) Load 37(a3)
Store 36(a3) 38
41: 7(fvec4) Load 40(a4)
Store 39(a4) 41
44: 7(fvec4) Load 43(a5)
Store 42(a5) 44
48: 7(fvec4) Load 29(a1)
Store 47(param) 48
50: 7(fvec4) Load 33(a2)
Store 49(param) 50
52: 7(fvec4) Load 36(a3)
Store 51(param) 52
54: 7(fvec4) Load 39(a4)
Store 53(param) 54
56: 7(fvec4) Load 42(a5)
Store 55(param) 56
57: 7(fvec4) FunctionCall 15(@PixelShaderFunction(vf4;vf4;vf4;vf4;vf4;) 47(param) 49(param) 51(param) 53(param) 55(param)
Store 46(@entryPointOutput) 57
Return
FunctionEnd
15(@PixelShaderFunction(vf4;vf4;vf4;vf4;vf4;): 7(fvec4) Function None 9
10(a1): 8(ptr) FunctionParameter
11(a2): 8(ptr) FunctionParameter
12(a3): 8(ptr) FunctionParameter
13(a4): 8(ptr) FunctionParameter
14(a5): 8(ptr) FunctionParameter
16: Label
17: 7(fvec4) Load 14(a5)
Store 13(a4) 17
Store 12(a3) 17
Store 11(a2) 17
Store 10(a1) 17
18: 7(fvec4) Load 10(a1)
19: 7(fvec4) Load 11(a2)
20: 7(fvec4) FAdd 18 19
21: 7(fvec4) Load 12(a3)
22: 7(fvec4) FAdd 20 21
23: 7(fvec4) Load 13(a4)
24: 7(fvec4) FAdd 22 23
25: 7(fvec4) Load 14(a5)
26: 7(fvec4) FAdd 24 25
ReturnValue 26
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.attribute.expression.comp
Shader version: 450
local_size = (4, 6, 8)
0:? Sequence
0:9 Function Definition: main( (temp 4-component vector of float)
0:9 Function Definition: @main( (temp 4-component vector of float)
0:9 Function Parameters:
0:? Sequence
0:11 Sequence
@ -22,15 +22,18 @@ local_size = (4, 6, 8)
0:11 Loop Terminal Expression
0:11 Pre-Increment (temp int)
0:11 'x' (temp int)
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:14 Branch: Return
0:14 Branch: Return with expression
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:9 Function Definition: main( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:9 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
@ -42,7 +45,7 @@ Linked compute stage:
Shader version: 450
local_size = (4, 6, 8)
0:? Sequence
0:9 Function Definition: main( (temp 4-component vector of float)
0:9 Function Definition: @main( (temp 4-component vector of float)
0:9 Function Parameters:
0:? Sequence
0:11 Sequence
@ -62,77 +65,87 @@ local_size = (4, 6, 8)
0:11 Loop Terminal Expression
0:11 Pre-Increment (temp int)
0:11 'x' (temp int)
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:14 Branch: Return
0:14 Branch: Return with expression
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:9 Function Definition: main( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:9 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 34
// Id's are bound by 39
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main" 30
EntryPoint GLCompute 4 "main" 37
ExecutionMode 4 LocalSize 4 6 8
Name 4 "main"
Name 8 "x"
Name 16 "$Global"
MemberName 16($Global) 0 "bound"
Name 18 ""
Name 30 "@entryPointOutput"
MemberDecorate 16($Global) 0 Offset 0
Decorate 16($Global) Block
Decorate 18 DescriptorSet 0
Decorate 30(@entryPointOutput) Location 0
Name 9 "@main("
Name 13 "x"
Name 21 "$Global"
MemberName 21($Global) 0 "bound"
Name 23 ""
Name 37 "@entryPointOutput"
MemberDecorate 21($Global) 0 Offset 0
Decorate 21($Global) Block
Decorate 23 DescriptorSet 0
Decorate 37(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Function 6(int)
9: 6(int) Constant 0
16($Global): TypeStruct 6(int)
17: TypePointer Uniform 16($Global)
18: 17(ptr) Variable Uniform
19: TypePointer Uniform 6(int)
22: TypeBool
25: 6(int) Constant 1
27: TypeFloat 32
28: TypeVector 27(float) 4
29: TypePointer Output 28(fvec4)
30(@entryPointOutput): 29(ptr) Variable Output
31: 27(float) Constant 0
32: 28(fvec4) ConstantComposite 31 31 31 31
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeFunction 7(fvec4)
11: TypeInt 32 1
12: TypePointer Function 11(int)
14: 11(int) Constant 0
21($Global): TypeStruct 11(int)
22: TypePointer Uniform 21($Global)
23: 22(ptr) Variable Uniform
24: TypePointer Uniform 11(int)
27: TypeBool
30: 11(int) Constant 1
32: 6(float) Constant 0
33: 7(fvec4) ConstantComposite 32 32 32 32
36: TypePointer Output 7(fvec4)
37(@entryPointOutput): 36(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(x): 7(ptr) Variable Function
Store 8(x) 9
Branch 10
10: Label
LoopMerge 12 13 None
Branch 14
14: Label
15: 6(int) Load 8(x)
20: 19(ptr) AccessChain 18 9
21: 6(int) Load 20
23: 22(bool) SLessThan 15 21
BranchConditional 23 11 12
11: Label
Branch 13
13: Label
24: 6(int) Load 8(x)
26: 6(int) IAdd 24 25
Store 8(x) 26
Branch 10
12: Label
Store 30(@entryPointOutput) 32
38: 7(fvec4) FunctionCall 9(@main()
Store 37(@entryPointOutput) 38
Return
FunctionEnd
9(@main(): 7(fvec4) Function None 8
10: Label
13(x): 12(ptr) Variable Function
Store 13(x) 14
Branch 15
15: Label
LoopMerge 17 18 None
Branch 19
19: Label
20: 11(int) Load 13(x)
25: 24(ptr) AccessChain 23 14
26: 11(int) Load 25
28: 27(bool) SLessThan 20 26
BranchConditional 28 16 17
16: Label
Branch 18
18: Label
29: 11(int) Load 13(x)
31: 11(int) IAdd 29 30
Store 13(x) 31
Branch 15
17: Label
ReturnValue 33
FunctionEnd

View File

@ -2,15 +2,23 @@ hlsl.attribute.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp void)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp void)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:11 Test condition and select (temp void)
0:11 Condition
0:11 Constant:
0:11 0 (const int)
0:11 true case is null
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp void)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? 'input' (layout(location=0 ) in 4-component vector of float)
@ -21,44 +29,70 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp void)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp void)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:11 Test condition and select (temp void)
0:11 Condition
0:11 Constant:
0:11 0 (const int)
0:11 true case is null
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp void)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 14
// Id's are bound by 24
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 13
EntryPoint Fragment 4 "PixelShaderFunction" 19
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 13 "input"
Decorate 13(input) Location 0
Name 11 "@PixelShaderFunction(vf4;"
Name 10 "input"
Name 17 "input"
Name 19 "input"
Name 21 "param"
Decorate 19(input) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: 6(int) Constant 0
10: TypeFloat 32
11: TypeVector 10(float) 4
12: TypePointer Input 11(fvec4)
13(input): 12(ptr) Variable Input
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
9: TypeFunction 2 8(ptr)
13: TypeInt 32 1
14: 13(int) Constant 0
18: TypePointer Input 7(fvec4)
19(input): 18(ptr) Variable Input
4(PixelShaderFunction): 2 Function None 3
5: Label
SelectionMerge 9 None
BranchConditional 7 8 9
8: Label
Branch 9
9: Label
17(input): 8(ptr) Variable Function
21(param): 8(ptr) Variable Function
20: 7(fvec4) Load 19(input)
Store 17(input) 20
22: 7(fvec4) Load 17(input)
Store 21(param) 22
23: 2 FunctionCall 11(@PixelShaderFunction(vf4;) 21(param)
Return
FunctionEnd
11(@PixelShaderFunction(vf4;): 2 Function None 9
10(input): 8(ptr) FunctionParameter
12: Label
SelectionMerge 16 None
BranchConditional 14 15 16
15: Label
Branch 16
16: Label
Return
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.basic.comp
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
0:4 Function Definition: main(i1;i1; (temp void)
0:4 Function Definition: @main(i1;i1; (temp void)
0:4 Function Parameters:
0:4 'dti' (in int GlobalInvocationID)
0:4 'gti' (in int LocalInvocationID)
@ -10,10 +10,22 @@ local_size = (1, 1, 1)
0:5 subtract (temp int)
0:5 'dti' (in int GlobalInvocationID)
0:5 'gti' (in int LocalInvocationID)
0:4 Function Definition: main( (temp void)
0:4 Function Parameters:
0:? Sequence
0:4 move second child to first child (temp int)
0:? 'dti' (temp int)
0:? 'dti' (in int GlobalInvocationID)
0:4 move second child to first child (temp int)
0:? 'gti' (temp int)
0:? 'gti' (in int LocalInvocationID)
0:4 Function Call: @main(i1;i1; (temp void)
0:? 'dti' (temp int)
0:? 'gti' (temp int)
0:? Linker Objects
0:? 'a' (shared 100-element array of 4-component vector of float)
0:? 'dti' (in int GlobalInvocationID)
0:? 'gti' (in int LocalInvocationID)
0:? 'a' (shared 100-element array of 4-component vector of float)
Linked compute stage:
@ -22,7 +34,7 @@ Linked compute stage:
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
0:4 Function Definition: main(i1;i1; (temp void)
0:4 Function Definition: @main(i1;i1; (temp void)
0:4 Function Parameters:
0:4 'dti' (in int GlobalInvocationID)
0:4 'gti' (in int LocalInvocationID)
@ -30,43 +42,83 @@ local_size = (1, 1, 1)
0:5 subtract (temp int)
0:5 'dti' (in int GlobalInvocationID)
0:5 'gti' (in int LocalInvocationID)
0:4 Function Definition: main( (temp void)
0:4 Function Parameters:
0:? Sequence
0:4 move second child to first child (temp int)
0:? 'dti' (temp int)
0:? 'dti' (in int GlobalInvocationID)
0:4 move second child to first child (temp int)
0:? 'gti' (temp int)
0:? 'gti' (in int LocalInvocationID)
0:4 Function Call: @main(i1;i1; (temp void)
0:? 'dti' (temp int)
0:? 'gti' (temp int)
0:? Linker Objects
0:? 'a' (shared 100-element array of 4-component vector of float)
0:? 'dti' (in int GlobalInvocationID)
0:? 'gti' (in int LocalInvocationID)
0:? 'a' (shared 100-element array of 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 20
// Id's are bound by 35
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main" 8 10
EntryPoint GLCompute 4 "main" 18 21
ExecutionMode 4 LocalSize 1 1 1
Name 4 "main"
Name 8 "dti"
Name 11 "@main(i1;i1;"
Name 9 "dti"
Name 10 "gti"
Name 19 "a"
Decorate 8(dti) BuiltIn GlobalInvocationId
Decorate 10(gti) BuiltIn LocalInvocationId
Name 16 "dti"
Name 18 "dti"
Name 20 "gti"
Name 21 "gti"
Name 23 "param"
Name 25 "param"
Name 34 "a"
Decorate 18(dti) BuiltIn GlobalInvocationId
Decorate 21(gti) BuiltIn LocalInvocationId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Input 6(int)
8(dti): 7(ptr) Variable Input
10(gti): 7(ptr) Variable Input
13: TypeFloat 32
14: TypeVector 13(float) 4
15: TypeInt 32 0
16: 15(int) Constant 100
17: TypeArray 14(fvec4) 16
18: TypePointer Workgroup 17
19(a): 18(ptr) Variable Workgroup
7: TypePointer Function 6(int)
8: TypeFunction 2 7(ptr) 7(ptr)
17: TypePointer Input 6(int)
18(dti): 17(ptr) Variable Input
21(gti): 17(ptr) Variable Input
28: TypeFloat 32
29: TypeVector 28(float) 4
30: TypeInt 32 0
31: 30(int) Constant 100
32: TypeArray 29(fvec4) 31
33: TypePointer Workgroup 32
34(a): 33(ptr) Variable Workgroup
4(main): 2 Function None 3
5: Label
9: 6(int) Load 8(dti)
11: 6(int) Load 10(gti)
12: 6(int) ISub 9 11
16(dti): 7(ptr) Variable Function
20(gti): 7(ptr) Variable Function
23(param): 7(ptr) Variable Function
25(param): 7(ptr) Variable Function
19: 6(int) Load 18(dti)
Store 16(dti) 19
22: 6(int) Load 21(gti)
Store 20(gti) 22
24: 6(int) Load 16(dti)
Store 23(param) 24
26: 6(int) Load 20(gti)
Store 25(param) 26
27: 2 FunctionCall 11(@main(i1;i1;) 23(param) 25(param)
Return
FunctionEnd
11(@main(i1;i1;): 2 Function None 8
9(dti): 7(ptr) FunctionParameter
10(gti): 7(ptr) FunctionParameter
12: Label
13: 6(int) Load 9(dti)
14: 6(int) Load 10(gti)
15: 6(int) ISub 13 14
Return
FunctionEnd

View File

@ -5,11 +5,11 @@ max_vertices = 4
input primitive = triangles
output primitive = line_strip
0:? Sequence
0:16 Function Definition: main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void)
0:16 Function Definition: @main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void)
0:16 Function Parameters:
0:16 'VertexID' (layout(location=0 ) in 3-element array of uint)
0:16 'test' (layout(location=3 ) in 3-element array of uint)
0:16 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something})
0:16 'VertexID' (in 3-element array of uint)
0:16 'test' (in 3-element array of uint)
0:16 'OutputStream' (out structure{temp float myfloat, temp int something})
0:? Sequence
0:19 move second child to first child (temp float)
0:19 myfloat: direct index for structure (temp float)
@ -19,16 +19,16 @@ output primitive = line_strip
0:19 Convert uint to float (temp float)
0:19 add (temp uint)
0:19 add (temp uint)
0:19 direct index (layout(location=3 ) temp uint)
0:19 'test' (layout(location=3 ) in 3-element array of uint)
0:19 direct index (temp uint)
0:19 'test' (in 3-element array of uint)
0:19 Constant:
0:19 0 (const int)
0:19 direct index (layout(location=3 ) temp uint)
0:19 'test' (layout(location=3 ) in 3-element array of uint)
0:19 direct index (temp uint)
0:19 'test' (in 3-element array of uint)
0:19 Constant:
0:19 1 (const int)
0:19 direct index (layout(location=3 ) temp uint)
0:19 'test' (layout(location=3 ) in 3-element array of uint)
0:19 direct index (temp uint)
0:19 'test' (in 3-element array of uint)
0:19 Constant:
0:19 2 (const int)
0:20 move second child to first child (temp int)
@ -37,25 +37,37 @@ output primitive = line_strip
0:20 Constant:
0:20 1 (const int)
0:20 Convert uint to int (temp int)
0:20 direct index (layout(location=0 ) temp uint)
0:20 'VertexID' (layout(location=0 ) in 3-element array of uint)
0:20 direct index (temp uint)
0:20 'VertexID' (in 3-element array of uint)
0:20 Constant:
0:20 0 (const int)
0:22 Sequence
0:22 move second child to first child (temp structure{temp float myfloat, temp int something})
0:22 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something})
0:22 'OutputStream' (out structure{temp float myfloat, temp int something})
0:22 'Vert' (temp structure{temp float myfloat, temp int something})
0:22 EmitVertex (temp void)
0:23 Sequence
0:23 move second child to first child (temp structure{temp float myfloat, temp int something})
0:23 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something})
0:23 'OutputStream' (out structure{temp float myfloat, temp int something})
0:23 'Vert' (temp structure{temp float myfloat, temp int something})
0:23 EmitVertex (temp void)
0:24 EndPrimitive (temp void)
0:16 Function Definition: main( (temp void)
0:16 Function Parameters:
0:? Sequence
0:16 move second child to first child (temp 3-element array of uint)
0:? 'VertexID' (temp 3-element array of uint)
0:? 'VertexID' (layout(location=0 ) in 3-element array of uint)
0:16 move second child to first child (temp 3-element array of uint)
0:? 'test' (temp 3-element array of uint)
0:? 'test' (layout(location=3 ) in 3-element array of uint)
0:16 Function Call: @main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void)
0:? 'VertexID' (temp 3-element array of uint)
0:? 'test' (temp 3-element array of uint)
0:? 'OutputStream' (temp structure{temp float myfloat, temp int something})
0:? Linker Objects
0:? 'VertexID' (layout(location=0 ) in 3-element array of uint)
0:? 'test' (layout(location=3 ) in 3-element array of uint)
0:? 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something})
Linked geometry stage:
@ -67,11 +79,11 @@ max_vertices = 4
input primitive = triangles
output primitive = line_strip
0:? Sequence
0:16 Function Definition: main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void)
0:16 Function Definition: @main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void)
0:16 Function Parameters:
0:16 'VertexID' (layout(location=0 ) in 3-element array of uint)
0:16 'test' (layout(location=3 ) in 3-element array of uint)
0:16 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something})
0:16 'VertexID' (in 3-element array of uint)
0:16 'test' (in 3-element array of uint)
0:16 'OutputStream' (out structure{temp float myfloat, temp int something})
0:? Sequence
0:19 move second child to first child (temp float)
0:19 myfloat: direct index for structure (temp float)
@ -81,16 +93,16 @@ output primitive = line_strip
0:19 Convert uint to float (temp float)
0:19 add (temp uint)
0:19 add (temp uint)
0:19 direct index (layout(location=3 ) temp uint)
0:19 'test' (layout(location=3 ) in 3-element array of uint)
0:19 direct index (temp uint)
0:19 'test' (in 3-element array of uint)
0:19 Constant:
0:19 0 (const int)
0:19 direct index (layout(location=3 ) temp uint)
0:19 'test' (layout(location=3 ) in 3-element array of uint)
0:19 direct index (temp uint)
0:19 'test' (in 3-element array of uint)
0:19 Constant:
0:19 1 (const int)
0:19 direct index (layout(location=3 ) temp uint)
0:19 'test' (layout(location=3 ) in 3-element array of uint)
0:19 direct index (temp uint)
0:19 'test' (in 3-element array of uint)
0:19 Constant:
0:19 2 (const int)
0:20 move second child to first child (temp int)
@ -99,93 +111,135 @@ output primitive = line_strip
0:20 Constant:
0:20 1 (const int)
0:20 Convert uint to int (temp int)
0:20 direct index (layout(location=0 ) temp uint)
0:20 'VertexID' (layout(location=0 ) in 3-element array of uint)
0:20 direct index (temp uint)
0:20 'VertexID' (in 3-element array of uint)
0:20 Constant:
0:20 0 (const int)
0:22 Sequence
0:22 move second child to first child (temp structure{temp float myfloat, temp int something})
0:22 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something})
0:22 'OutputStream' (out structure{temp float myfloat, temp int something})
0:22 'Vert' (temp structure{temp float myfloat, temp int something})
0:22 EmitVertex (temp void)
0:23 Sequence
0:23 move second child to first child (temp structure{temp float myfloat, temp int something})
0:23 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something})
0:23 'OutputStream' (out structure{temp float myfloat, temp int something})
0:23 'Vert' (temp structure{temp float myfloat, temp int something})
0:23 EmitVertex (temp void)
0:24 EndPrimitive (temp void)
0:16 Function Definition: main( (temp void)
0:16 Function Parameters:
0:? Sequence
0:16 move second child to first child (temp 3-element array of uint)
0:? 'VertexID' (temp 3-element array of uint)
0:? 'VertexID' (layout(location=0 ) in 3-element array of uint)
0:16 move second child to first child (temp 3-element array of uint)
0:? 'test' (temp 3-element array of uint)
0:? 'test' (layout(location=3 ) in 3-element array of uint)
0:16 Function Call: @main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void)
0:? 'VertexID' (temp 3-element array of uint)
0:? 'test' (temp 3-element array of uint)
0:? 'OutputStream' (temp structure{temp float myfloat, temp int something})
0:? Linker Objects
0:? 'VertexID' (layout(location=0 ) in 3-element array of uint)
0:? 'test' (layout(location=3 ) in 3-element array of uint)
0:? 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 41
// Id's are bound by 57
Capability Geometry
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 4 "main" 16 31 38
EntryPoint Geometry 4 "main" 45 48
ExecutionMode 4 Triangles
ExecutionMode 4 Invocations 1
ExecutionMode 4 OutputLineStrip
ExecutionMode 4 OutputVertices 4
Name 4 "main"
Name 8 "PSInput"
MemberName 8(PSInput) 0 "myfloat"
MemberName 8(PSInput) 1 "something"
Name 10 "Vert"
Name 12 "PSInput"
MemberName 12(PSInput) 0 "myfloat"
MemberName 12(PSInput) 1 "something"
Name 18 "@main(u1[3];u1[3];struct-PSInput-f1-i11;"
Name 15 "VertexID"
Name 16 "test"
Name 31 "VertexID"
Name 38 "OutputStream"
Decorate 16(test) Location 3
Decorate 31(VertexID) Location 0
Decorate 38(OutputStream) Location 0
Name 17 "OutputStream"
Name 20 "Vert"
Name 43 "VertexID"
Name 45 "VertexID"
Name 47 "test"
Name 48 "test"
Name 50 "OutputStream"
Name 51 "param"
Name 53 "param"
Name 55 "param"
Decorate 45(VertexID) Location 0
Decorate 48(test) Location 3
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeInt 32 1
8(PSInput): TypeStruct 6(float) 7(int)
9: TypePointer Function 8(PSInput)
11: 7(int) Constant 0
12: TypeInt 32 0
13: 12(int) Constant 3
14: TypeArray 12(int) 13
15: TypePointer Input 14
16(test): 15(ptr) Variable Input
17: TypePointer Input 12(int)
20: 7(int) Constant 1
24: 7(int) Constant 2
29: TypePointer Function 6(float)
31(VertexID): 15(ptr) Variable Input
35: TypePointer Function 7(int)
37: TypePointer Output 8(PSInput)
38(OutputStream): 37(ptr) Variable Output
6: TypeInt 32 0
7: 6(int) Constant 3
8: TypeArray 6(int) 7
9: TypePointer Function 8
10: TypeFloat 32
11: TypeInt 32 1
12(PSInput): TypeStruct 10(float) 11(int)
13: TypePointer Function 12(PSInput)
14: TypeFunction 2 9(ptr) 9(ptr) 13(ptr)
21: 11(int) Constant 0
22: TypePointer Function 6(int)
25: 11(int) Constant 1
29: 11(int) Constant 2
34: TypePointer Function 10(float)
39: TypePointer Function 11(int)
44: TypePointer Input 8
45(VertexID): 44(ptr) Variable Input
48(test): 44(ptr) Variable Input
4(main): 2 Function None 3
5: Label
10(Vert): 9(ptr) Variable Function
18: 17(ptr) AccessChain 16(test) 11
19: 12(int) Load 18
21: 17(ptr) AccessChain 16(test) 20
22: 12(int) Load 21
23: 12(int) IAdd 19 22
25: 17(ptr) AccessChain 16(test) 24
26: 12(int) Load 25
27: 12(int) IAdd 23 26
28: 6(float) ConvertUToF 27
30: 29(ptr) AccessChain 10(Vert) 11
Store 30 28
32: 17(ptr) AccessChain 31(VertexID) 11
33: 12(int) Load 32
34: 7(int) Bitcast 33
36: 35(ptr) AccessChain 10(Vert) 20
Store 36 34
39: 8(PSInput) Load 10(Vert)
Store 38(OutputStream) 39
43(VertexID): 9(ptr) Variable Function
47(test): 9(ptr) Variable Function
50(OutputStream): 13(ptr) Variable Function
51(param): 9(ptr) Variable Function
53(param): 9(ptr) Variable Function
55(param): 13(ptr) Variable Function
46: 8 Load 45(VertexID)
Store 43(VertexID) 46
49: 8 Load 48(test)
Store 47(test) 49
52: 8 Load 43(VertexID)
Store 51(param) 52
54: 8 Load 47(test)
Store 53(param) 54
56: 2 FunctionCall 18(@main(u1[3];u1[3];struct-PSInput-f1-i11;) 51(param) 53(param) 55(param)
Return
FunctionEnd
18(@main(u1[3];u1[3];struct-PSInput-f1-i11;): 2 Function None 14
15(VertexID): 9(ptr) FunctionParameter
16(test): 9(ptr) FunctionParameter
17(OutputStream): 13(ptr) FunctionParameter
19: Label
20(Vert): 13(ptr) Variable Function
23: 22(ptr) AccessChain 16(test) 21
24: 6(int) Load 23
26: 22(ptr) AccessChain 16(test) 25
27: 6(int) Load 26
28: 6(int) IAdd 24 27
30: 22(ptr) AccessChain 16(test) 29
31: 6(int) Load 30
32: 6(int) IAdd 28 31
33: 10(float) ConvertUToF 32
35: 34(ptr) AccessChain 20(Vert) 21
Store 35 33
36: 22(ptr) AccessChain 15(VertexID) 21
37: 6(int) Load 36
38: 11(int) Bitcast 37
40: 39(ptr) AccessChain 20(Vert) 25
Store 40 38
41: 12(PSInput) Load 20(Vert)
Store 17(OutputStream) 41
EmitVertex
40: 8(PSInput) Load 10(Vert)
Store 38(OutputStream) 40
42: 12(PSInput) Load 20(Vert)
Store 17(OutputStream) 42
EmitVertex
EndPrimitive
Return

View File

@ -2,42 +2,49 @@ hlsl.buffer.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:30 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:30 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:30 Function Parameters:
0:30 'input' (layout(location=0 ) in 4-component vector of float)
0:30 'input' (in 4-component vector of float)
0:? Sequence
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:31 Branch: Return with expression
0:31 add (temp 4-component vector of float)
0:31 add (temp 4-component vector of float)
0:31 add (temp 4-component vector of float)
0:31 add (temp 4-component vector of float)
0:31 add (temp 4-component vector of float)
0:31 'input' (layout(location=0 ) in 4-component vector of float)
0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
0:31 Constant:
0:31 0 (const uint)
0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float)
0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
0:31 'input' (in 4-component vector of float)
0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
0:31 Constant:
0:31 0 (const uint)
0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float)
0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
0:31 Constant:
0:31 0 (const uint)
0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float)
0:31 'anon@3' (layout(binding=8 row_major std430 ) 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 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
0:31 Constant:
0:31 0 (const uint)
0:31 Branch: Return
0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float)
0:31 'anon@3' (layout(binding=8 row_major std430 ) 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 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
0:31 Constant:
0:31 0 (const uint)
0:30 Function Definition: PixelShaderFunction( (temp void)
0:30 Function Parameters:
0:? Sequence
0:30 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:30 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:30 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
0:? 'anon@3' (layout(binding=8 row_major std430 ) 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 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
Linked fragment stage:
@ -46,154 +53,179 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:30 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:30 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:30 Function Parameters:
0:30 'input' (layout(location=0 ) in 4-component vector of float)
0:30 'input' (in 4-component vector of float)
0:? Sequence
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:31 Branch: Return with expression
0:31 add (temp 4-component vector of float)
0:31 add (temp 4-component vector of float)
0:31 add (temp 4-component vector of float)
0:31 add (temp 4-component vector of float)
0:31 add (temp 4-component vector of float)
0:31 'input' (layout(location=0 ) in 4-component vector of float)
0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
0:31 Constant:
0:31 0 (const uint)
0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float)
0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
0:31 'input' (in 4-component vector of float)
0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
0:31 Constant:
0:31 0 (const uint)
0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float)
0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
0:31 Constant:
0:31 0 (const uint)
0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float)
0:31 'anon@3' (layout(binding=8 row_major std430 ) 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 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
0:31 Constant:
0:31 0 (const uint)
0:31 Branch: Return
0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float)
0:31 'anon@3' (layout(binding=8 row_major std430 ) 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 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
0:31 Constant:
0:31 0 (const uint)
0:30 Function Definition: PixelShaderFunction( (temp void)
0:30 Function Parameters:
0:? Sequence
0:30 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:30 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:30 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
0:? 'anon@3' (layout(binding=8 row_major std430 ) 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 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 42
// Id's are bound by 53
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 11
EntryPoint Fragment 4 "PixelShaderFunction" 46 49
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 9 "@entryPointOutput"
Name 11 "input"
Name 13 ""
MemberName 13 0 "v1"
Name 15 ""
Name 22 ""
MemberName 22 0 "v2"
Name 24 ""
Name 28 "cbufName"
MemberName 28(cbufName) 0 "v3"
MemberName 28(cbufName) 1 "i3"
Name 30 ""
Name 35 "tbufName"
MemberName 35(tbufName) 0 "v4"
MemberName 35(tbufName) 1 "i4"
MemberName 35(tbufName) 2 "f1"
MemberName 35(tbufName) 3 "f3"
MemberName 35(tbufName) 4 "f4"
MemberName 35(tbufName) 5 "f5"
MemberName 35(tbufName) 6 "f6"
MemberName 35(tbufName) 7 "f7"
MemberName 35(tbufName) 8 "m1"
MemberName 35(tbufName) 9 "m2"
MemberName 35(tbufName) 10 "m3"
MemberName 35(tbufName) 11 "m4"
Name 37 ""
Decorate 9(@entryPointOutput) Location 0
Decorate 11(input) Location 0
MemberDecorate 13 0 Offset 0
Decorate 13 Block
Decorate 15 DescriptorSet 0
MemberDecorate 22 0 Offset 0
Decorate 22 BufferBlock
Decorate 24 DescriptorSet 0
MemberDecorate 28(cbufName) 0 Offset 0
MemberDecorate 28(cbufName) 1 Offset 20
Decorate 28(cbufName) Block
Decorate 30 DescriptorSet 10
Decorate 30 Binding 2
MemberDecorate 35(tbufName) 0 Offset 16
MemberDecorate 35(tbufName) 1 Offset 48
MemberDecorate 35(tbufName) 2 Offset 60
MemberDecorate 35(tbufName) 3 Offset 64
MemberDecorate 35(tbufName) 4 Offset 68
MemberDecorate 35(tbufName) 5 Offset 72
MemberDecorate 35(tbufName) 6 Offset 76
MemberDecorate 35(tbufName) 7 Offset 80
MemberDecorate 35(tbufName) 8 RowMajor
MemberDecorate 35(tbufName) 8 Offset 96
MemberDecorate 35(tbufName) 8 MatrixStride 16
MemberDecorate 35(tbufName) 9 ColMajor
MemberDecorate 35(tbufName) 9 Offset 160
MemberDecorate 35(tbufName) 9 MatrixStride 16
MemberDecorate 35(tbufName) 10 RowMajor
MemberDecorate 35(tbufName) 10 Offset 208
MemberDecorate 35(tbufName) 10 MatrixStride 16
MemberDecorate 35(tbufName) 11 RowMajor
MemberDecorate 35(tbufName) 11 Offset 272
MemberDecorate 35(tbufName) 11 MatrixStride 16
Decorate 35(tbufName) BufferBlock
Decorate 37 DescriptorSet 0
Decorate 37 Binding 8
Name 11 "@PixelShaderFunction(vf4;"
Name 10 "input"
Name 14 ""
MemberName 14 0 "v1"
Name 16 ""
Name 23 ""
MemberName 23 0 "v2"
Name 25 ""
Name 29 "cbufName"
MemberName 29(cbufName) 0 "v3"
MemberName 29(cbufName) 1 "i3"
Name 31 ""
Name 36 "tbufName"
MemberName 36(tbufName) 0 "v4"
MemberName 36(tbufName) 1 "i4"
MemberName 36(tbufName) 2 "f1"
MemberName 36(tbufName) 3 "f3"
MemberName 36(tbufName) 4 "f4"
MemberName 36(tbufName) 5 "f5"
MemberName 36(tbufName) 6 "f6"
MemberName 36(tbufName) 7 "f7"
MemberName 36(tbufName) 8 "m1"
MemberName 36(tbufName) 9 "m2"
MemberName 36(tbufName) 10 "m3"
MemberName 36(tbufName) 11 "m4"
Name 38 ""
Name 44 "input"
Name 46 "input"
Name 49 "@entryPointOutput"
Name 50 "param"
MemberDecorate 14 0 Offset 0
Decorate 14 Block
Decorate 16 DescriptorSet 0
MemberDecorate 23 0 Offset 0
Decorate 23 BufferBlock
Decorate 25 DescriptorSet 0
MemberDecorate 29(cbufName) 0 Offset 0
MemberDecorate 29(cbufName) 1 Offset 20
Decorate 29(cbufName) Block
Decorate 31 DescriptorSet 10
Decorate 31 Binding 2
MemberDecorate 36(tbufName) 0 Offset 16
MemberDecorate 36(tbufName) 1 Offset 48
MemberDecorate 36(tbufName) 2 Offset 60
MemberDecorate 36(tbufName) 3 Offset 64
MemberDecorate 36(tbufName) 4 Offset 68
MemberDecorate 36(tbufName) 5 Offset 72
MemberDecorate 36(tbufName) 6 Offset 76
MemberDecorate 36(tbufName) 7 Offset 80
MemberDecorate 36(tbufName) 8 RowMajor
MemberDecorate 36(tbufName) 8 Offset 96
MemberDecorate 36(tbufName) 8 MatrixStride 16
MemberDecorate 36(tbufName) 9 ColMajor
MemberDecorate 36(tbufName) 9 Offset 160
MemberDecorate 36(tbufName) 9 MatrixStride 16
MemberDecorate 36(tbufName) 10 RowMajor
MemberDecorate 36(tbufName) 10 Offset 208
MemberDecorate 36(tbufName) 10 MatrixStride 16
MemberDecorate 36(tbufName) 11 RowMajor
MemberDecorate 36(tbufName) 11 Offset 272
MemberDecorate 36(tbufName) 11 MatrixStride 16
Decorate 36(tbufName) BufferBlock
Decorate 38 DescriptorSet 0
Decorate 38 Binding 8
Decorate 46(input) Location 0
Decorate 49(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output
10: TypePointer Input 7(fvec4)
11(input): 10(ptr) Variable Input
13: TypeStruct 7(fvec4)
14: TypePointer Uniform 13(struct)
15: 14(ptr) Variable Uniform
16: TypeInt 32 1
17: 16(int) Constant 0
18: TypePointer Uniform 7(fvec4)
22: TypeStruct 7(fvec4)
23: TypePointer Uniform 22(struct)
24: 23(ptr) Variable Uniform
28(cbufName): TypeStruct 7(fvec4) 16(int)
29: TypePointer Uniform 28(cbufName)
30: 29(ptr) Variable Uniform
34: TypeMatrix 7(fvec4) 3
35(tbufName): TypeStruct 7(fvec4) 16(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 34 34 34 34
36: TypePointer Uniform 35(tbufName)
37: 36(ptr) Variable Uniform
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr)
14: TypeStruct 7(fvec4)
15: TypePointer Uniform 14(struct)
16: 15(ptr) Variable Uniform
17: TypeInt 32 1
18: 17(int) Constant 0
19: TypePointer Uniform 7(fvec4)
23: TypeStruct 7(fvec4)
24: TypePointer Uniform 23(struct)
25: 24(ptr) Variable Uniform
29(cbufName): TypeStruct 7(fvec4) 17(int)
30: TypePointer Uniform 29(cbufName)
31: 30(ptr) Variable Uniform
35: TypeMatrix 7(fvec4) 3
36(tbufName): TypeStruct 7(fvec4) 17(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 35 35 35 35
37: TypePointer Uniform 36(tbufName)
38: 37(ptr) Variable Uniform
45: TypePointer Input 7(fvec4)
46(input): 45(ptr) Variable Input
48: TypePointer Output 7(fvec4)
49(@entryPointOutput): 48(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
12: 7(fvec4) Load 11(input)
19: 18(ptr) AccessChain 15 17
20: 7(fvec4) Load 19
21: 7(fvec4) FAdd 12 20
25: 18(ptr) AccessChain 24 17
26: 7(fvec4) Load 25
27: 7(fvec4) FAdd 21 26
31: 18(ptr) AccessChain 30 17
32: 7(fvec4) Load 31
33: 7(fvec4) FAdd 27 32
38: 18(ptr) AccessChain 37 17
39: 7(fvec4) Load 38
40: 7(fvec4) FAdd 33 39
Store 9(@entryPointOutput) 40
44(input): 8(ptr) Variable Function
50(param): 8(ptr) Variable Function
47: 7(fvec4) Load 46(input)
Store 44(input) 47
51: 7(fvec4) Load 44(input)
Store 50(param) 51
52: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 50(param)
Store 49(@entryPointOutput) 52
Return
FunctionEnd
11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9
10(input): 8(ptr) FunctionParameter
12: Label
13: 7(fvec4) Load 10(input)
20: 19(ptr) AccessChain 16 18
21: 7(fvec4) Load 20
22: 7(fvec4) FAdd 13 21
26: 19(ptr) AccessChain 25 18
27: 7(fvec4) Load 26
28: 7(fvec4) FAdd 22 27
32: 19(ptr) AccessChain 31 18
33: 7(fvec4) Load 32
34: 7(fvec4) FAdd 28 33
39: 19(ptr) AccessChain 38 18
40: 7(fvec4) Load 39
41: 7(fvec4) FAdd 34 40
ReturnValue 41
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.calculatelod.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:28 Sequence
@ -139,24 +139,28 @@ gl_FragCoord origin is upper left
0:41 1 (const int)
0:41 Constant:
0:41 1.000000
0:43 Sequence
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 Color: direct index for structure (temp 4-component vector of float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 0 (const int)
0:43 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:43 Depth: direct index for structure (temp float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 1 (const int)
0:43 Branch: Return
0:43 Branch: Return with expression
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp void)
0:24 Function Parameters:
0:? Sequence
0:24 Sequence
0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:24 Color: direct index for structure (temp 4-component vector of float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:24 Depth: direct index for structure (temp float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@ -168,6 +172,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@ -176,7 +182,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:28 Sequence
@ -313,24 +319,28 @@ gl_FragCoord origin is upper left
0:41 1 (const int)
0:41 Constant:
0:41 1.000000
0:43 Sequence
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 Color: direct index for structure (temp 4-component vector of float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 0 (const int)
0:43 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:43 Depth: direct index for structure (temp float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 1 (const int)
0:43 Branch: Return
0:43 Branch: Return with expression
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp void)
0:24 Function Parameters:
0:? Sequence
0:24 Sequence
0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:24 Color: direct index for structure (temp 4-component vector of float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:24 Depth: direct index for structure (temp float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@ -342,10 +352,12 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 141
// Id's are bound by 148
Capability Shader
Capability Sampled1D
@ -353,201 +365,212 @@ gl_FragCoord origin is upper left
Capability ImageQuery
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 132 136
EntryPoint Fragment 4 "main" 140 144
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "txval10"
Name 11 "g_tTex1df4a"
Name 15 "g_sSamp"
Name 25 "txval11"
Name 28 "g_tTex1di4a"
Name 36 "txval12"
Name 40 "g_tTex1du4a"
Name 48 "txval20"
Name 51 "g_tTex2df4a"
Name 59 "txval21"
Name 62 "g_tTex2di4a"
Name 71 "txval22"
Name 74 "g_tTex2du4a"
Name 84 "txval40"
Name 87 "g_tTexcdf4a"
Name 96 "txval41"
Name 99 "g_tTexcdi4a"
Name 107 "txval42"
Name 110 "g_tTexcdu4a"
Name 122 "PS_OUTPUT"
MemberName 122(PS_OUTPUT) 0 "Color"
MemberName 122(PS_OUTPUT) 1 "Depth"
Name 124 "psout"
Name 132 "Color"
Name 136 "Depth"
Name 140 "g_tTex1df4"
Decorate 11(g_tTex1df4a) DescriptorSet 0
Decorate 11(g_tTex1df4a) Binding 1
Decorate 15(g_sSamp) DescriptorSet 0
Decorate 15(g_sSamp) Binding 0
Decorate 28(g_tTex1di4a) DescriptorSet 0
Decorate 40(g_tTex1du4a) DescriptorSet 0
Decorate 51(g_tTex2df4a) DescriptorSet 0
Decorate 62(g_tTex2di4a) DescriptorSet 0
Decorate 74(g_tTex2du4a) DescriptorSet 0
Decorate 87(g_tTexcdf4a) DescriptorSet 0
Decorate 99(g_tTexcdi4a) DescriptorSet 0
Decorate 110(g_tTexcdu4a) DescriptorSet 0
Decorate 132(Color) Location 0
Decorate 136(Depth) BuiltIn FragDepth
Decorate 140(g_tTex1df4) DescriptorSet 0
Decorate 140(g_tTex1df4) Binding 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 13 "txval10"
Name 16 "g_tTex1df4a"
Name 20 "g_sSamp"
Name 30 "txval11"
Name 33 "g_tTex1di4a"
Name 41 "txval12"
Name 45 "g_tTex1du4a"
Name 53 "txval20"
Name 56 "g_tTex2df4a"
Name 64 "txval21"
Name 67 "g_tTex2di4a"
Name 76 "txval22"
Name 79 "g_tTex2du4a"
Name 89 "txval40"
Name 92 "g_tTexcdf4a"
Name 101 "txval41"
Name 104 "g_tTexcdi4a"
Name 112 "txval42"
Name 115 "g_tTexcdu4a"
Name 127 "psout"
Name 137 "flattenTemp"
Name 140 "Color"
Name 144 "Depth"
Name 147 "g_tTex1df4"
Decorate 16(g_tTex1df4a) DescriptorSet 0
Decorate 16(g_tTex1df4a) Binding 1
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
Decorate 33(g_tTex1di4a) DescriptorSet 0
Decorate 45(g_tTex1du4a) DescriptorSet 0
Decorate 56(g_tTex2df4a) DescriptorSet 0
Decorate 67(g_tTex2di4a) DescriptorSet 0
Decorate 79(g_tTex2du4a) DescriptorSet 0
Decorate 92(g_tTexcdf4a) DescriptorSet 0
Decorate 104(g_tTexcdi4a) DescriptorSet 0
Decorate 115(g_tTexcdu4a) DescriptorSet 0
Decorate 140(Color) Location 0
Decorate 144(Depth) BuiltIn FragDepth
Decorate 147(g_tTex1df4) DescriptorSet 0
Decorate 147(g_tTex1df4) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
9: TypeImage 6(float) 1D array sampled format:Unknown
10: TypePointer UniformConstant 9
11(g_tTex1df4a): 10(ptr) Variable UniformConstant
13: TypeSampler
14: TypePointer UniformConstant 13
15(g_sSamp): 14(ptr) Variable UniformConstant
17: TypeSampledImage 9
19: 6(float) Constant 1036831949
20: TypeVector 6(float) 2
22: TypeInt 32 1
23: 22(int) Constant 0
26: TypeImage 22(int) 1D array sampled format:Unknown
27: TypePointer UniformConstant 26
28(g_tTex1di4a): 27(ptr) Variable UniformConstant
31: TypeSampledImage 26
33: 6(float) Constant 1045220557
37: TypeInt 32 0
38: TypeImage 37(int) 1D array sampled format:Unknown
39: TypePointer UniformConstant 38
40(g_tTex1du4a): 39(ptr) Variable UniformConstant
43: TypeSampledImage 38
45: 6(float) Constant 1050253722
49: TypeImage 6(float) 2D array sampled format:Unknown
50: TypePointer UniformConstant 49
51(g_tTex2df4a): 50(ptr) Variable UniformConstant
54: TypeSampledImage 49
56: 20(fvec2) ConstantComposite 19 33
60: TypeImage 22(int) 2D array sampled format:Unknown
61: TypePointer UniformConstant 60
62(g_tTex2di4a): 61(ptr) Variable UniformConstant
65: TypeSampledImage 60
67: 6(float) Constant 1053609165
68: 20(fvec2) ConstantComposite 45 67
72: TypeImage 37(int) 2D array sampled format:Unknown
73: TypePointer UniformConstant 72
74(g_tTex2du4a): 73(ptr) Variable UniformConstant
77: TypeSampledImage 72
79: 6(float) Constant 1056964608
80: 6(float) Constant 1058642330
81: 20(fvec2) ConstantComposite 79 80
85: TypeImage 6(float) Cube array sampled format:Unknown
86: TypePointer UniformConstant 85
87(g_tTexcdf4a): 86(ptr) Variable UniformConstant
90: TypeSampledImage 85
92: TypeVector 6(float) 3
93: 92(fvec3) ConstantComposite 19 33 45
97: TypeImage 22(int) Cube array sampled format:Unknown
98: TypePointer UniformConstant 97
99(g_tTexcdi4a): 98(ptr) Variable UniformConstant
102: TypeSampledImage 97
104: 92(fvec3) ConstantComposite 67 79 80
108: TypeImage 37(int) Cube array sampled format:Unknown
109: TypePointer UniformConstant 108
110(g_tTexcdu4a): 109(ptr) Variable UniformConstant
113: TypeSampledImage 108
115: 6(float) Constant 1060320051
116: 6(float) Constant 1061997773
117: 6(float) Constant 1063675494
118: 92(fvec3) ConstantComposite 115 116 117
121: TypeVector 6(float) 4
122(PS_OUTPUT): TypeStruct 121(fvec4) 6(float)
123: TypePointer Function 122(PS_OUTPUT)
125: 6(float) Constant 1065353216
126: 121(fvec4) ConstantComposite 125 125 125 125
127: TypePointer Function 121(fvec4)
129: 22(int) Constant 1
131: TypePointer Output 121(fvec4)
132(Color): 131(ptr) Variable Output
135: TypePointer Output 6(float)
136(Depth): 135(ptr) Variable Output
140(g_tTex1df4): 10(ptr) Variable UniformConstant
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 6(float)
14: TypeImage 6(float) 1D array sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_tTex1df4a): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeSampledImage 14
24: 6(float) Constant 1036831949
25: TypeVector 6(float) 2
27: TypeInt 32 1
28: 27(int) Constant 0
31: TypeImage 27(int) 1D array sampled format:Unknown
32: TypePointer UniformConstant 31
33(g_tTex1di4a): 32(ptr) Variable UniformConstant
36: TypeSampledImage 31
38: 6(float) Constant 1045220557
42: TypeInt 32 0
43: TypeImage 42(int) 1D array sampled format:Unknown
44: TypePointer UniformConstant 43
45(g_tTex1du4a): 44(ptr) Variable UniformConstant
48: TypeSampledImage 43
50: 6(float) Constant 1050253722
54: TypeImage 6(float) 2D array sampled format:Unknown
55: TypePointer UniformConstant 54
56(g_tTex2df4a): 55(ptr) Variable UniformConstant
59: TypeSampledImage 54
61: 25(fvec2) ConstantComposite 24 38
65: TypeImage 27(int) 2D array sampled format:Unknown
66: TypePointer UniformConstant 65
67(g_tTex2di4a): 66(ptr) Variable UniformConstant
70: TypeSampledImage 65
72: 6(float) Constant 1053609165
73: 25(fvec2) ConstantComposite 50 72
77: TypeImage 42(int) 2D array sampled format:Unknown
78: TypePointer UniformConstant 77
79(g_tTex2du4a): 78(ptr) Variable UniformConstant
82: TypeSampledImage 77
84: 6(float) Constant 1056964608
85: 6(float) Constant 1058642330
86: 25(fvec2) ConstantComposite 84 85
90: TypeImage 6(float) Cube array sampled format:Unknown
91: TypePointer UniformConstant 90
92(g_tTexcdf4a): 91(ptr) Variable UniformConstant
95: TypeSampledImage 90
97: TypeVector 6(float) 3
98: 97(fvec3) ConstantComposite 24 38 50
102: TypeImage 27(int) Cube array sampled format:Unknown
103: TypePointer UniformConstant 102
104(g_tTexcdi4a): 103(ptr) Variable UniformConstant
107: TypeSampledImage 102
109: 97(fvec3) ConstantComposite 72 84 85
113: TypeImage 42(int) Cube array sampled format:Unknown
114: TypePointer UniformConstant 113
115(g_tTexcdu4a): 114(ptr) Variable UniformConstant
118: TypeSampledImage 113
120: 6(float) Constant 1060320051
121: 6(float) Constant 1061997773
122: 6(float) Constant 1063675494
123: 97(fvec3) ConstantComposite 120 121 122
126: TypePointer Function 8(PS_OUTPUT)
128: 6(float) Constant 1065353216
129: 7(fvec4) ConstantComposite 128 128 128 128
130: TypePointer Function 7(fvec4)
132: 27(int) Constant 1
139: TypePointer Output 7(fvec4)
140(Color): 139(ptr) Variable Output
143: TypePointer Output 6(float)
144(Depth): 143(ptr) Variable Output
147(g_tTex1df4): 15(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
8(txval10): 7(ptr) Variable Function
25(txval11): 7(ptr) Variable Function
36(txval12): 7(ptr) Variable Function
48(txval20): 7(ptr) Variable Function
59(txval21): 7(ptr) Variable Function
71(txval22): 7(ptr) Variable Function
84(txval40): 7(ptr) Variable Function
96(txval41): 7(ptr) Variable Function
107(txval42): 7(ptr) Variable Function
124(psout): 123(ptr) Variable Function
12: 9 Load 11(g_tTex1df4a)
16: 13 Load 15(g_sSamp)
18: 17 SampledImage 12 16
21: 20(fvec2) ImageQueryLod 18 19
24: 6(float) CompositeExtract 21 0
Store 8(txval10) 24
29: 26 Load 28(g_tTex1di4a)
30: 13 Load 15(g_sSamp)
32: 31 SampledImage 29 30
34: 20(fvec2) ImageQueryLod 32 33
35: 6(float) CompositeExtract 34 0
Store 25(txval11) 35
41: 38 Load 40(g_tTex1du4a)
42: 13 Load 15(g_sSamp)
44: 43 SampledImage 41 42
46: 20(fvec2) ImageQueryLod 44 45
47: 6(float) CompositeExtract 46 0
Store 36(txval12) 47
52: 49 Load 51(g_tTex2df4a)
53: 13 Load 15(g_sSamp)
55: 54 SampledImage 52 53
57: 20(fvec2) ImageQueryLod 55 56
58: 6(float) CompositeExtract 57 0
Store 48(txval20) 58
63: 60 Load 62(g_tTex2di4a)
64: 13 Load 15(g_sSamp)
66: 65 SampledImage 63 64
69: 20(fvec2) ImageQueryLod 66 68
70: 6(float) CompositeExtract 69 0
Store 59(txval21) 70
75: 72 Load 74(g_tTex2du4a)
76: 13 Load 15(g_sSamp)
78: 77 SampledImage 75 76
82: 20(fvec2) ImageQueryLod 78 81
83: 6(float) CompositeExtract 82 0
Store 71(txval22) 83
88: 85 Load 87(g_tTexcdf4a)
89: 13 Load 15(g_sSamp)
91: 90 SampledImage 88 89
94: 20(fvec2) ImageQueryLod 91 93
95: 6(float) CompositeExtract 94 0
Store 84(txval40) 95
100: 97 Load 99(g_tTexcdi4a)
101: 13 Load 15(g_sSamp)
103: 102 SampledImage 100 101
105: 20(fvec2) ImageQueryLod 103 104
106: 6(float) CompositeExtract 105 0
Store 96(txval41) 106
111: 108 Load 110(g_tTexcdu4a)
112: 13 Load 15(g_sSamp)
114: 113 SampledImage 111 112
119: 20(fvec2) ImageQueryLod 114 118
120: 6(float) CompositeExtract 119 0
Store 107(txval42) 120
128: 127(ptr) AccessChain 124(psout) 23
Store 128 126
130: 7(ptr) AccessChain 124(psout) 129
Store 130 125
133: 127(ptr) AccessChain 124(psout) 23
134: 121(fvec4) Load 133
Store 132(Color) 134
137: 7(ptr) AccessChain 124(psout) 129
138: 6(float) Load 137
Store 136(Depth) 138
137(flattenTemp): 126(ptr) Variable Function
138:8(PS_OUTPUT) FunctionCall 10(@main()
Store 137(flattenTemp) 138
141: 130(ptr) AccessChain 137(flattenTemp) 28
142: 7(fvec4) Load 141
Store 140(Color) 142
145: 12(ptr) AccessChain 137(flattenTemp) 132
146: 6(float) Load 145
Store 144(Depth) 146
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(txval10): 12(ptr) Variable Function
30(txval11): 12(ptr) Variable Function
41(txval12): 12(ptr) Variable Function
53(txval20): 12(ptr) Variable Function
64(txval21): 12(ptr) Variable Function
76(txval22): 12(ptr) Variable Function
89(txval40): 12(ptr) Variable Function
101(txval41): 12(ptr) Variable Function
112(txval42): 12(ptr) Variable Function
127(psout): 126(ptr) Variable Function
17: 14 Load 16(g_tTex1df4a)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
26: 25(fvec2) ImageQueryLod 23 24
29: 6(float) CompositeExtract 26 0
Store 13(txval10) 29
34: 31 Load 33(g_tTex1di4a)
35: 18 Load 20(g_sSamp)
37: 36 SampledImage 34 35
39: 25(fvec2) ImageQueryLod 37 38
40: 6(float) CompositeExtract 39 0
Store 30(txval11) 40
46: 43 Load 45(g_tTex1du4a)
47: 18 Load 20(g_sSamp)
49: 48 SampledImage 46 47
51: 25(fvec2) ImageQueryLod 49 50
52: 6(float) CompositeExtract 51 0
Store 41(txval12) 52
57: 54 Load 56(g_tTex2df4a)
58: 18 Load 20(g_sSamp)
60: 59 SampledImage 57 58
62: 25(fvec2) ImageQueryLod 60 61
63: 6(float) CompositeExtract 62 0
Store 53(txval20) 63
68: 65 Load 67(g_tTex2di4a)
69: 18 Load 20(g_sSamp)
71: 70 SampledImage 68 69
74: 25(fvec2) ImageQueryLod 71 73
75: 6(float) CompositeExtract 74 0
Store 64(txval21) 75
80: 77 Load 79(g_tTex2du4a)
81: 18 Load 20(g_sSamp)
83: 82 SampledImage 80 81
87: 25(fvec2) ImageQueryLod 83 86
88: 6(float) CompositeExtract 87 0
Store 76(txval22) 88
93: 90 Load 92(g_tTexcdf4a)
94: 18 Load 20(g_sSamp)
96: 95 SampledImage 93 94
99: 25(fvec2) ImageQueryLod 96 98
100: 6(float) CompositeExtract 99 0
Store 89(txval40) 100
105: 102 Load 104(g_tTexcdi4a)
106: 18 Load 20(g_sSamp)
108: 107 SampledImage 105 106
110: 25(fvec2) ImageQueryLod 108 109
111: 6(float) CompositeExtract 110 0
Store 101(txval41) 111
116: 113 Load 115(g_tTexcdu4a)
117: 18 Load 20(g_sSamp)
119: 118 SampledImage 116 117
124: 25(fvec2) ImageQueryLod 119 123
125: 6(float) CompositeExtract 124 0
Store 112(txval42) 125
131: 130(ptr) AccessChain 127(psout) 28
Store 131 129
133: 12(ptr) AccessChain 127(psout) 132
Store 133 128
134:8(PS_OUTPUT) Load 127(psout)
ReturnValue 134
FunctionEnd

View File

@ -14,7 +14,7 @@ ERROR: 9 compilation errors. No code generated.
Shader version: 450
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:28 Sequence
@ -151,24 +151,28 @@ ERROR: node is still EOpNull!
0:41 1 (const int)
0:41 Constant:
0:41 1.000000
0:43 Sequence
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 Color: direct index for structure (temp 4-component vector of float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 0 (const int)
0:43 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:43 Depth: direct index for structure (temp float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 1 (const int)
0:43 Branch: Return
0:43 Branch: Return with expression
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp void)
0:24 Function Parameters:
0:? Sequence
0:24 Sequence
0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:24 Color: direct index for structure (temp 4-component vector of float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:24 Depth: direct index for structure (temp float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@ -180,6 +184,8 @@ ERROR: node is still EOpNull!
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@ -188,7 +194,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:28 Sequence
@ -325,24 +331,28 @@ ERROR: node is still EOpNull!
0:41 1 (const int)
0:41 Constant:
0:41 1.000000
0:43 Sequence
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 Color: direct index for structure (temp 4-component vector of float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 0 (const int)
0:43 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:43 Depth: direct index for structure (temp float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 1 (const int)
0:43 Branch: Return
0:43 Branch: Return with expression
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp void)
0:24 Function Parameters:
0:? Sequence
0:24 Sequence
0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:24 Color: direct index for structure (temp 4-component vector of float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:24 Depth: direct index for structure (temp float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@ -354,5 +364,7 @@ ERROR: node is still EOpNull!
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
SPIR-V is not generated for failed compile or link

View File

@ -2,26 +2,33 @@ hlsl.cast.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:3 Branch: Return with expression
0:3 add (temp 4-component vector of float)
0:3 add (temp 4-component vector of float)
0:3 add (temp 4-component vector of float)
0:3 Construct vec4 (temp 4-component vector of float)
0:3 'input' (layout(location=0 ) in 4-component vector of float)
0:3 Convert int to float (temp 4-component vector of float)
0:3 Convert float to int (temp 4-component vector of int)
0:3 'input' (layout(location=0 ) in 4-component vector of float)
0:3 Constant:
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:3 Branch: Return
0:3 Construct vec4 (temp 4-component vector of float)
0:3 'input' (in 4-component vector of float)
0:3 Convert int to float (temp 4-component vector of float)
0:3 Convert float to int (temp 4-component vector of int)
0:3 'input' (in 4-component vector of float)
0:3 Constant:
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
@ -33,69 +40,94 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:3 Branch: Return with expression
0:3 add (temp 4-component vector of float)
0:3 add (temp 4-component vector of float)
0:3 add (temp 4-component vector of float)
0:3 Construct vec4 (temp 4-component vector of float)
0:3 'input' (layout(location=0 ) in 4-component vector of float)
0:3 Convert int to float (temp 4-component vector of float)
0:3 Convert float to int (temp 4-component vector of int)
0:3 'input' (layout(location=0 ) in 4-component vector of float)
0:3 Constant:
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:3 Branch: Return
0:3 Construct vec4 (temp 4-component vector of float)
0:3 'input' (in 4-component vector of float)
0:3 Convert int to float (temp 4-component vector of float)
0:3 Convert float to int (temp 4-component vector of int)
0:3 'input' (in 4-component vector of float)
0:3 Constant:
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:3 1.198000
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 28
// Id's are bound by 39
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 11
EntryPoint Fragment 4 "PixelShaderFunction" 32 35
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 9 "@entryPointOutput"
Name 11 "input"
Decorate 9(@entryPointOutput) Location 0
Decorate 11(input) Location 0
Name 11 "@PixelShaderFunction(vf4;"
Name 10 "input"
Name 30 "input"
Name 32 "input"
Name 35 "@entryPointOutput"
Name 36 "param"
Decorate 32(input) Location 0
Decorate 35(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output
10: TypePointer Input 7(fvec4)
11(input): 10(ptr) Variable Input
19: TypeInt 32 1
20: TypeVector 19(int) 4
24: 6(float) Constant 1067014160
25: 7(fvec4) ConstantComposite 24 24 24 24
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr)
20: TypeInt 32 1
21: TypeVector 20(int) 4
25: 6(float) Constant 1067014160
26: 7(fvec4) ConstantComposite 25 25 25 25
31: TypePointer Input 7(fvec4)
32(input): 31(ptr) Variable Input
34: TypePointer Output 7(fvec4)
35(@entryPointOutput): 34(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
12: 7(fvec4) Load 11(input)
13: 6(float) CompositeExtract 12 0
14: 6(float) CompositeExtract 12 1
15: 6(float) CompositeExtract 12 2
16: 6(float) CompositeExtract 12 3
17: 7(fvec4) CompositeConstruct 13 14 15 16
18: 7(fvec4) Load 11(input)
21: 20(ivec4) ConvertFToS 18
22: 7(fvec4) ConvertSToF 21
23: 7(fvec4) FAdd 17 22
26: 7(fvec4) FAdd 23 25
Store 9(@entryPointOutput) 26
30(input): 8(ptr) Variable Function
36(param): 8(ptr) Variable Function
33: 7(fvec4) Load 32(input)
Store 30(input) 33
37: 7(fvec4) Load 30(input)
Store 36(param) 37
38: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 36(param)
Store 35(@entryPointOutput) 38
Return
FunctionEnd
11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9
10(input): 8(ptr) FunctionParameter
12: Label
13: 7(fvec4) Load 10(input)
14: 6(float) CompositeExtract 13 0
15: 6(float) CompositeExtract 13 1
16: 6(float) CompositeExtract 13 2
17: 6(float) CompositeExtract 13 3
18: 7(fvec4) CompositeConstruct 14 15 16 17
19: 7(fvec4) Load 10(input)
22: 21(ivec4) ConvertFToS 19
23: 7(fvec4) ConvertSToF 22
24: 7(fvec4) FAdd 18 23
27: 7(fvec4) FAdd 24 26
ReturnValue 27
FunctionEnd

View File

@ -99,7 +99,7 @@ gl_FragCoord origin is upper left
0:21 Construct vec4 (in 4-component vector of float)
0:21 'v01' (temp float)
0:21 'a' (in 4-component vector of float)
0:30 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:30 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:30 Function Parameters:
0:? Sequence
0:32 move second child to first child (temp 4-component vector of float)
@ -112,18 +112,21 @@ gl_FragCoord origin is upper left
0:32 0.000000
0:32 0.000000
0:32 0.000000
0:33 Sequence
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:33 Color: direct index for structure (temp 4-component vector of float)
0:33 'psout' (temp structure{temp 4-component vector of float Color})
0:33 Constant:
0:33 0 (const int)
0:33 Branch: Return
0:33 Branch: Return with expression
0:33 'psout' (temp structure{temp 4-component vector of float Color})
0:30 Function Definition: main( (temp void)
0:30 Function Parameters:
0:? Sequence
0:30 Sequence
0:30 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:30 Color: direct index for structure (temp 4-component vector of float)
0:30 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:30 Constant:
0:30 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float uf4})
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
Linked fragment stage:
@ -229,7 +232,7 @@ gl_FragCoord origin is upper left
0:21 Construct vec4 (in 4-component vector of float)
0:21 'v01' (temp float)
0:21 'a' (in 4-component vector of float)
0:30 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:30 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:30 Function Parameters:
0:? Sequence
0:32 move second child to first child (temp 4-component vector of float)
@ -242,161 +245,171 @@ gl_FragCoord origin is upper left
0:32 0.000000
0:32 0.000000
0:32 0.000000
0:33 Sequence
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:33 Color: direct index for structure (temp 4-component vector of float)
0:33 'psout' (temp structure{temp 4-component vector of float Color})
0:33 Constant:
0:33 0 (const int)
0:33 Branch: Return
0:33 Branch: Return with expression
0:33 'psout' (temp structure{temp 4-component vector of float Color})
0:30 Function Definition: main( (temp void)
0:30 Function Parameters:
0:? Sequence
0:30 Sequence
0:30 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:30 Color: direct index for structure (temp 4-component vector of float)
0:30 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:30 Constant:
0:30 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float uf4})
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 91
// Id's are bound by 96
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 84
EntryPoint Fragment 4 "main" 90
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 11 "Bug1(vf4;"
Name 10 "a"
Name 13 "v04"
Name 17 "v01"
Name 21 "r00"
Name 25 "r01"
Name 29 "r02"
Name 33 "r03"
Name 37 "r10"
Name 42 "r11"
Name 47 "r12"
Name 52 "r13"
Name 57 "r20"
Name 62 "r21"
Name 67 "r22"
Name 72 "r23"
Name 77 "PS_OUTPUT"
MemberName 77(PS_OUTPUT) 0 "Color"
Name 79 "psout"
Name 84 "Color"
Name 88 "$Global"
MemberName 88($Global) 0 "uf4"
Name 90 ""
Decorate 84(Color) Location 0
MemberDecorate 88($Global) 0 Offset 0
Decorate 88($Global) Block
Decorate 90 DescriptorSet 0
Name 13 "PS_OUTPUT"
MemberName 13(PS_OUTPUT) 0 "Color"
Name 15 "@main("
Name 17 "v04"
Name 21 "v01"
Name 25 "r00"
Name 29 "r01"
Name 33 "r02"
Name 37 "r03"
Name 41 "r10"
Name 46 "r11"
Name 51 "r12"
Name 56 "r13"
Name 61 "r20"
Name 66 "r21"
Name 71 "r22"
Name 76 "r23"
Name 82 "psout"
Name 90 "Color"
Name 93 "$Global"
MemberName 93($Global) 0 "uf4"
Name 95 ""
Decorate 90(Color) Location 0
MemberDecorate 93($Global) 0 Offset 0
Decorate 93($Global) Block
Decorate 95 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
9: TypeFunction 2 8(ptr)
14: 6(float) Constant 0
15: 7(fvec4) ConstantComposite 14 14 14 14
16: TypePointer Function 6(float)
18: TypeBool
19: TypeVector 18(bool) 4
20: TypePointer Function 19(bvec4)
77(PS_OUTPUT): TypeStruct 7(fvec4)
78: TypePointer Function 77(PS_OUTPUT)
80: TypeInt 32 1
81: 80(int) Constant 0
83: TypePointer Output 7(fvec4)
84(Color): 83(ptr) Variable Output
88($Global): TypeStruct 7(fvec4)
89: TypePointer Uniform 88($Global)
90: 89(ptr) Variable Uniform
13(PS_OUTPUT): TypeStruct 7(fvec4)
14: TypeFunction 13(PS_OUTPUT)
18: 6(float) Constant 0
19: 7(fvec4) ConstantComposite 18 18 18 18
20: TypePointer Function 6(float)
22: TypeBool
23: TypeVector 22(bool) 4
24: TypePointer Function 23(bvec4)
81: TypePointer Function 13(PS_OUTPUT)
83: TypeInt 32 1
84: 83(int) Constant 0
89: TypePointer Output 7(fvec4)
90(Color): 89(ptr) Variable Output
93($Global): TypeStruct 7(fvec4)
94: TypePointer Uniform 93($Global)
95: 94(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
79(psout): 78(ptr) Variable Function
82: 8(ptr) AccessChain 79(psout) 81
Store 82 15
85: 8(ptr) AccessChain 79(psout) 81
86: 7(fvec4) Load 85
Store 84(Color) 86
91:13(PS_OUTPUT) FunctionCall 15(@main()
92: 7(fvec4) CompositeExtract 91 0
Store 90(Color) 92
Return
FunctionEnd
11(Bug1(vf4;): 2 Function None 9
10(a): 8(ptr) FunctionParameter
12: Label
13(v04): 8(ptr) Variable Function
17(v01): 16(ptr) Variable Function
21(r00): 20(ptr) Variable Function
25(r01): 20(ptr) Variable Function
29(r02): 20(ptr) Variable Function
33(r03): 20(ptr) Variable Function
37(r10): 20(ptr) Variable Function
42(r11): 20(ptr) Variable Function
47(r12): 20(ptr) Variable Function
52(r13): 20(ptr) Variable Function
57(r20): 20(ptr) Variable Function
62(r21): 20(ptr) Variable Function
67(r22): 20(ptr) Variable Function
72(r23): 20(ptr) Variable Function
Store 13(v04) 15
Store 17(v01) 14
22: 7(fvec4) Load 10(a)
23: 7(fvec4) Load 13(v04)
24: 19(bvec4) FOrdEqual 22 23
Store 21(r00) 24
17(v04): 8(ptr) Variable Function
21(v01): 20(ptr) Variable Function
25(r00): 24(ptr) Variable Function
29(r01): 24(ptr) Variable Function
33(r02): 24(ptr) Variable Function
37(r03): 24(ptr) Variable Function
41(r10): 24(ptr) Variable Function
46(r11): 24(ptr) Variable Function
51(r12): 24(ptr) Variable Function
56(r13): 24(ptr) Variable Function
61(r20): 24(ptr) Variable Function
66(r21): 24(ptr) Variable Function
71(r22): 24(ptr) Variable Function
76(r23): 24(ptr) Variable Function
Store 17(v04) 19
Store 21(v01) 18
26: 7(fvec4) Load 10(a)
27: 7(fvec4) Load 13(v04)
28: 19(bvec4) FOrdNotEqual 26 27
Store 25(r01) 28
27: 7(fvec4) Load 17(v04)
28: 23(bvec4) FOrdEqual 26 27
Store 25(r00) 28
30: 7(fvec4) Load 10(a)
31: 7(fvec4) Load 13(v04)
32: 19(bvec4) FOrdLessThan 30 31
Store 29(r02) 32
31: 7(fvec4) Load 17(v04)
32: 23(bvec4) FOrdNotEqual 30 31
Store 29(r01) 32
34: 7(fvec4) Load 10(a)
35: 7(fvec4) Load 13(v04)
36: 19(bvec4) FOrdGreaterThan 34 35
Store 33(r03) 36
35: 7(fvec4) Load 17(v04)
36: 23(bvec4) FOrdLessThan 34 35
Store 33(r02) 36
38: 7(fvec4) Load 10(a)
39: 6(float) Load 17(v01)
40: 7(fvec4) CompositeConstruct 39 39 39 39
41: 19(bvec4) FOrdEqual 38 40
Store 37(r10) 41
43: 7(fvec4) Load 10(a)
44: 6(float) Load 17(v01)
45: 7(fvec4) CompositeConstruct 44 44 44 44
46: 19(bvec4) FOrdNotEqual 43 45
Store 42(r11) 46
48: 7(fvec4) Load 10(a)
49: 6(float) Load 17(v01)
50: 7(fvec4) CompositeConstruct 49 49 49 49
51: 19(bvec4) FOrdLessThan 48 50
Store 47(r12) 51
53: 7(fvec4) Load 10(a)
54: 6(float) Load 17(v01)
55: 7(fvec4) CompositeConstruct 54 54 54 54
56: 19(bvec4) FOrdGreaterThan 53 55
Store 52(r13) 56
58: 6(float) Load 17(v01)
39: 7(fvec4) Load 17(v04)
40: 23(bvec4) FOrdGreaterThan 38 39
Store 37(r03) 40
42: 7(fvec4) Load 10(a)
43: 6(float) Load 21(v01)
44: 7(fvec4) CompositeConstruct 43 43 43 43
45: 23(bvec4) FOrdEqual 42 44
Store 41(r10) 45
47: 7(fvec4) Load 10(a)
48: 6(float) Load 21(v01)
49: 7(fvec4) CompositeConstruct 48 48 48 48
50: 23(bvec4) FOrdNotEqual 47 49
Store 46(r11) 50
52: 7(fvec4) Load 10(a)
53: 6(float) Load 21(v01)
54: 7(fvec4) CompositeConstruct 53 53 53 53
55: 23(bvec4) FOrdLessThan 52 54
Store 51(r12) 55
57: 7(fvec4) Load 10(a)
58: 6(float) Load 21(v01)
59: 7(fvec4) CompositeConstruct 58 58 58 58
60: 7(fvec4) Load 10(a)
61: 19(bvec4) FOrdEqual 59 60
Store 57(r20) 61
63: 6(float) Load 17(v01)
64: 7(fvec4) CompositeConstruct 63 63 63 63
65: 7(fvec4) Load 10(a)
66: 19(bvec4) FOrdNotEqual 64 65
Store 62(r21) 66
68: 6(float) Load 17(v01)
69: 7(fvec4) CompositeConstruct 68 68 68 68
70: 7(fvec4) Load 10(a)
71: 19(bvec4) FOrdLessThan 69 70
Store 67(r22) 71
73: 6(float) Load 17(v01)
74: 7(fvec4) CompositeConstruct 73 73 73 73
75: 7(fvec4) Load 10(a)
76: 19(bvec4) FOrdGreaterThan 74 75
Store 72(r23) 76
60: 23(bvec4) FOrdGreaterThan 57 59
Store 56(r13) 60
62: 6(float) Load 21(v01)
63: 7(fvec4) CompositeConstruct 62 62 62 62
64: 7(fvec4) Load 10(a)
65: 23(bvec4) FOrdEqual 63 64
Store 61(r20) 65
67: 6(float) Load 21(v01)
68: 7(fvec4) CompositeConstruct 67 67 67 67
69: 7(fvec4) Load 10(a)
70: 23(bvec4) FOrdNotEqual 68 69
Store 66(r21) 70
72: 6(float) Load 21(v01)
73: 7(fvec4) CompositeConstruct 72 72 72 72
74: 7(fvec4) Load 10(a)
75: 23(bvec4) FOrdLessThan 73 74
Store 71(r22) 75
77: 6(float) Load 21(v01)
78: 7(fvec4) CompositeConstruct 77 77 77 77
79: 7(fvec4) Load 10(a)
80: 23(bvec4) FOrdGreaterThan 78 79
Store 76(r23) 80
Return
FunctionEnd
15(@main():13(PS_OUTPUT) Function None 14
16: Label
82(psout): 81(ptr) Variable Function
85: 8(ptr) AccessChain 82(psout) 84
Store 85 19
86:13(PS_OUTPUT) Load 82(psout)
ReturnValue 86
FunctionEnd

View File

@ -2,9 +2,9 @@ hlsl.conditional.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp int)
@ -35,19 +35,19 @@ gl_FragCoord origin is upper left
0:7 vector-scale (temp 4-component vector of float)
0:7 Convert int to float (temp float)
0:7 'a' (temp int)
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 'input' (in 4-component vector of float)
0:8 vector-scale (temp 4-component vector of float)
0:8 Convert int to float (temp float)
0:8 'b' (temp int)
0:8 'input' (layout(location=0 ) in 4-component vector of float)
0:8 'input' (in 4-component vector of float)
0:9 vector-scale (temp 4-component vector of float)
0:9 Convert int to float (temp float)
0:9 'c' (temp int)
0:9 'input' (layout(location=0 ) in 4-component vector of float)
0:9 'input' (in 4-component vector of float)
0:10 vector-scale (temp 4-component vector of float)
0:10 Convert int to float (temp float)
0:10 'd' (temp int)
0:10 'input' (layout(location=0 ) in 4-component vector of float)
0:10 'input' (in 4-component vector of float)
0:12 Comma (temp int)
0:12 move second child to first child (temp int)
0:12 'e' (temp int)
@ -85,29 +85,36 @@ gl_FragCoord origin is upper left
0:14 Constant:
0:14 0 (const int)
0:14 direct index (temp float)
0:14 'input' (layout(location=0 ) in 4-component vector of float)
0:14 'input' (in 4-component vector of float)
0:14 Constant:
0:14 1 (const int)
0:14 true case
0:14 vector-scale (temp 4-component vector of float)
0:14 Convert int to float (temp float)
0:14 'c' (temp int)
0:14 'input' (layout(location=0 ) in 4-component vector of float)
0:14 'input' (in 4-component vector of float)
0:14 false case
0:14 vector-scale (temp 4-component vector of float)
0:14 Convert int to float (temp float)
0:14 'd' (temp int)
0:14 'input' (layout(location=0 ) in 4-component vector of float)
0:15 Sequence
0:15 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:15 add (temp 4-component vector of float)
0:15 vector-scale (temp 4-component vector of float)
0:15 Convert int to float (temp float)
0:15 'e' (temp int)
0:15 'ret' (temp 4-component vector of float)
0:15 'f' (temp 4-component vector of float)
0:15 Branch: Return
0:14 'input' (in 4-component vector of float)
0:15 Branch: Return with expression
0:15 add (temp 4-component vector of float)
0:15 vector-scale (temp 4-component vector of float)
0:15 Convert int to float (temp float)
0:15 'e' (temp int)
0:15 'ret' (temp 4-component vector of float)
0:15 'f' (temp 4-component vector of float)
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
@ -119,9 +126,9 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp int)
@ -152,19 +159,19 @@ gl_FragCoord origin is upper left
0:7 vector-scale (temp 4-component vector of float)
0:7 Convert int to float (temp float)
0:7 'a' (temp int)
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 'input' (in 4-component vector of float)
0:8 vector-scale (temp 4-component vector of float)
0:8 Convert int to float (temp float)
0:8 'b' (temp int)
0:8 'input' (layout(location=0 ) in 4-component vector of float)
0:8 'input' (in 4-component vector of float)
0:9 vector-scale (temp 4-component vector of float)
0:9 Convert int to float (temp float)
0:9 'c' (temp int)
0:9 'input' (layout(location=0 ) in 4-component vector of float)
0:9 'input' (in 4-component vector of float)
0:10 vector-scale (temp 4-component vector of float)
0:10 Convert int to float (temp float)
0:10 'd' (temp int)
0:10 'input' (layout(location=0 ) in 4-component vector of float)
0:10 'input' (in 4-component vector of float)
0:12 Comma (temp int)
0:12 move second child to first child (temp int)
0:12 'e' (temp int)
@ -202,171 +209,194 @@ gl_FragCoord origin is upper left
0:14 Constant:
0:14 0 (const int)
0:14 direct index (temp float)
0:14 'input' (layout(location=0 ) in 4-component vector of float)
0:14 'input' (in 4-component vector of float)
0:14 Constant:
0:14 1 (const int)
0:14 true case
0:14 vector-scale (temp 4-component vector of float)
0:14 Convert int to float (temp float)
0:14 'c' (temp int)
0:14 'input' (layout(location=0 ) in 4-component vector of float)
0:14 'input' (in 4-component vector of float)
0:14 false case
0:14 vector-scale (temp 4-component vector of float)
0:14 Convert int to float (temp float)
0:14 'd' (temp int)
0:14 'input' (layout(location=0 ) in 4-component vector of float)
0:15 Sequence
0:15 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:15 add (temp 4-component vector of float)
0:15 vector-scale (temp 4-component vector of float)
0:15 Convert int to float (temp float)
0:15 'e' (temp int)
0:15 'ret' (temp 4-component vector of float)
0:15 'f' (temp 4-component vector of float)
0:15 Branch: Return
0:14 'input' (in 4-component vector of float)
0:15 Branch: Return with expression
0:15 add (temp 4-component vector of float)
0:15 vector-scale (temp 4-component vector of float)
0:15 Convert int to float (temp float)
0:15 'e' (temp int)
0:15 'ret' (temp 4-component vector of float)
0:15 'f' (temp 4-component vector of float)
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 91
// Id's are bound by 100
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 22 83
EntryPoint Fragment 4 "PixelShaderFunction" 93 96
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 8 "a"
Name 10 "b"
Name 12 "c"
Name 14 "d"
Name 18 "ret"
Name 22 "input"
Name 40 "e"
Name 57 "f"
Name 83 "@entryPointOutput"
Decorate 22(input) Location 0
Decorate 83(@entryPointOutput) Location 0
Name 11 "@PixelShaderFunction(vf4;"
Name 10 "input"
Name 15 "a"
Name 17 "b"
Name 19 "c"
Name 21 "d"
Name 22 "ret"
Name 42 "e"
Name 59 "f"
Name 91 "input"
Name 93 "input"
Name 96 "@entryPointOutput"
Name 97 "param"
Decorate 93(input) Location 0
Decorate 96(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Function 6(int)
9: 6(int) Constant 5
11: 6(int) Constant 6
13: 6(int) Constant 7
15: TypeFloat 32
16: TypeVector 15(float) 4
17: TypePointer Function 16(fvec4)
21: TypePointer Input 16(fvec4)
22(input): 21(ptr) Variable Input
47: 6(int) Constant 10
55: 6(int) Constant 11
59: TypeInt 32 0
60: 59(int) Constant 0
61: TypePointer Function 15(float)
64: 59(int) Constant 1
65: TypePointer Input 15(float)
68: TypeBool
82: TypePointer Output 16(fvec4)
83(@entryPointOutput): 82(ptr) Variable Output
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr)
13: TypeInt 32 1
14: TypePointer Function 13(int)
16: 13(int) Constant 5
18: 13(int) Constant 6
20: 13(int) Constant 7
49: 13(int) Constant 10
57: 13(int) Constant 11
61: TypeInt 32 0
62: 61(int) Constant 0
63: TypePointer Function 6(float)
66: 61(int) Constant 1
69: TypeBool
92: TypePointer Input 7(fvec4)
93(input): 92(ptr) Variable Input
95: TypePointer Output 7(fvec4)
96(@entryPointOutput): 95(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
8(a): 7(ptr) Variable Function
10(b): 7(ptr) Variable Function
12(c): 7(ptr) Variable Function
14(d): 7(ptr) Variable Function
18(ret): 17(ptr) Variable Function
40(e): 7(ptr) Variable Function
41: 7(ptr) Variable Function
49: 7(ptr) Variable Function
57(f): 17(ptr) Variable Function
58: 17(ptr) Variable Function
Store 8(a) 9
Store 10(b) 11
Store 12(c) 13
Store 14(d) 13
19: 6(int) Load 8(a)
20: 15(float) ConvertSToF 19
23: 16(fvec4) Load 22(input)
24: 16(fvec4) VectorTimesScalar 23 20
25: 6(int) Load 10(b)
26: 15(float) ConvertSToF 25
27: 16(fvec4) Load 22(input)
28: 16(fvec4) VectorTimesScalar 27 26
29: 16(fvec4) FAdd 24 28
30: 6(int) Load 12(c)
31: 15(float) ConvertSToF 30
32: 16(fvec4) Load 22(input)
33: 16(fvec4) VectorTimesScalar 32 31
34: 16(fvec4) FAdd 29 33
35: 6(int) Load 14(d)
36: 15(float) ConvertSToF 35
37: 16(fvec4) Load 22(input)
38: 16(fvec4) VectorTimesScalar 37 36
39: 16(fvec4) FAdd 34 38
Store 18(ret) 39
42: 6(int) Load 10(b)
SelectionMerge 44 None
BranchConditional 42 43 46
43: Label
45: 6(int) Load 14(d)
Store 12(c) 45
Store 41 45
Branch 44
46: Label
Store 41 47
Branch 44
44: Label
48: 6(int) Load 41
Store 8(a) 48
Store 40(e) 48
50: 6(int) Load 8(a)
SelectionMerge 52 None
BranchConditional 50 51 54
51: Label
53: 6(int) Load 12(c)
Store 14(d) 53
Store 49 53
Branch 52
54: Label
Store 49 55
Branch 52
52: Label
56: 6(int) Load 49
Store 10(b) 56
62: 61(ptr) AccessChain 18(ret) 60
63: 15(float) Load 62
66: 65(ptr) AccessChain 22(input) 64
67: 15(float) Load 66
69: 68(bool) FOrdLessThan 63 67
SelectionMerge 71 None
BranchConditional 69 70 76
70: Label
72: 6(int) Load 12(c)
73: 15(float) ConvertSToF 72
74: 16(fvec4) Load 22(input)
75: 16(fvec4) VectorTimesScalar 74 73
Store 58 75
Branch 71
76: Label
77: 6(int) Load 14(d)
78: 15(float) ConvertSToF 77
79: 16(fvec4) Load 22(input)
80: 16(fvec4) VectorTimesScalar 79 78
Store 58 80
Branch 71
71: Label
81: 16(fvec4) Load 58
Store 57(f) 81
84: 6(int) Load 40(e)
85: 15(float) ConvertSToF 84
86: 16(fvec4) Load 18(ret)
87: 16(fvec4) VectorTimesScalar 86 85
88: 16(fvec4) Load 57(f)
89: 16(fvec4) FAdd 87 88
Store 83(@entryPointOutput) 89
91(input): 8(ptr) Variable Function
97(param): 8(ptr) Variable Function
94: 7(fvec4) Load 93(input)
Store 91(input) 94
98: 7(fvec4) Load 91(input)
Store 97(param) 98
99: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 97(param)
Store 96(@entryPointOutput) 99
Return
FunctionEnd
11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9
10(input): 8(ptr) FunctionParameter
12: Label
15(a): 14(ptr) Variable Function
17(b): 14(ptr) Variable Function
19(c): 14(ptr) Variable Function
21(d): 14(ptr) Variable Function
22(ret): 8(ptr) Variable Function
42(e): 14(ptr) Variable Function
43: 14(ptr) Variable Function
51: 14(ptr) Variable Function
59(f): 8(ptr) Variable Function
60: 8(ptr) Variable Function
Store 15(a) 16
Store 17(b) 18
Store 19(c) 20
Store 21(d) 20
23: 13(int) Load 15(a)
24: 6(float) ConvertSToF 23
25: 7(fvec4) Load 10(input)
26: 7(fvec4) VectorTimesScalar 25 24
27: 13(int) Load 17(b)
28: 6(float) ConvertSToF 27
29: 7(fvec4) Load 10(input)
30: 7(fvec4) VectorTimesScalar 29 28
31: 7(fvec4) FAdd 26 30
32: 13(int) Load 19(c)
33: 6(float) ConvertSToF 32
34: 7(fvec4) Load 10(input)
35: 7(fvec4) VectorTimesScalar 34 33
36: 7(fvec4) FAdd 31 35
37: 13(int) Load 21(d)
38: 6(float) ConvertSToF 37
39: 7(fvec4) Load 10(input)
40: 7(fvec4) VectorTimesScalar 39 38
41: 7(fvec4) FAdd 36 40
Store 22(ret) 41
44: 13(int) Load 17(b)
SelectionMerge 46 None
BranchConditional 44 45 48
45: Label
47: 13(int) Load 21(d)
Store 19(c) 47
Store 43 47
Branch 46
48: Label
Store 43 49
Branch 46
46: Label
50: 13(int) Load 43
Store 15(a) 50
Store 42(e) 50
52: 13(int) Load 15(a)
SelectionMerge 54 None
BranchConditional 52 53 56
53: Label
55: 13(int) Load 19(c)
Store 21(d) 55
Store 51 55
Branch 54
56: Label
Store 51 57
Branch 54
54: Label
58: 13(int) Load 51
Store 17(b) 58
64: 63(ptr) AccessChain 22(ret) 62
65: 6(float) Load 64
67: 63(ptr) AccessChain 10(input) 66
68: 6(float) Load 67
70: 69(bool) FOrdLessThan 65 68
SelectionMerge 72 None
BranchConditional 70 71 77
71: Label
73: 13(int) Load 19(c)
74: 6(float) ConvertSToF 73
75: 7(fvec4) Load 10(input)
76: 7(fvec4) VectorTimesScalar 75 74
Store 60 76
Branch 72
77: Label
78: 13(int) Load 21(d)
79: 6(float) ConvertSToF 78
80: 7(fvec4) Load 10(input)
81: 7(fvec4) VectorTimesScalar 80 79
Store 60 81
Branch 72
72: Label
82: 7(fvec4) Load 60
Store 59(f) 82
83: 13(int) Load 42(e)
84: 6(float) ConvertSToF 83
85: 7(fvec4) Load 22(ret)
86: 7(fvec4) VectorTimesScalar 85 84
87: 7(fvec4) Load 59(f)
88: 7(fvec4) FAdd 86 87
ReturnValue 88
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.constructexpr.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:4 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:4 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:4 Function Parameters:
0:? Sequence
0:6 Constant:
@ -34,15 +34,18 @@ gl_FragCoord origin is upper left
0:15 1.000000
0:15 1.000000
0:15 1.000000
0:16 Sequence
0:16 Sequence
0:16 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:16 color: direct index for structure (temp 4-component vector of float)
0:16 'ps_output' (temp structure{temp 4-component vector of float color})
0:16 Constant:
0:16 0 (const int)
0:16 Branch: Return
0:16 Branch: Return with expression
0:16 'ps_output' (temp structure{temp 4-component vector of float color})
0:4 Function Definition: main( (temp void)
0:4 Function Parameters:
0:? Sequence
0:4 Sequence
0:4 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:4 color: direct index for structure (temp 4-component vector of float)
0:4 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:4 Constant:
0:4 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
@ -53,7 +56,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:4 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:4 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:4 Function Parameters:
0:? Sequence
0:6 Constant:
@ -85,66 +88,76 @@ gl_FragCoord origin is upper left
0:15 1.000000
0:15 1.000000
0:15 1.000000
0:16 Sequence
0:16 Sequence
0:16 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:16 color: direct index for structure (temp 4-component vector of float)
0:16 'ps_output' (temp structure{temp 4-component vector of float color})
0:16 Constant:
0:16 0 (const int)
0:16 Branch: Return
0:16 Branch: Return with expression
0:16 'ps_output' (temp structure{temp 4-component vector of float color})
0:4 Function Definition: main( (temp void)
0:4 Function Parameters:
0:? Sequence
0:4 Sequence
0:4 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:4 color: direct index for structure (temp 4-component vector of float)
0:4 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:4 Constant:
0:4 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 35
// Id's are bound by 40
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 31
EntryPoint Fragment 4 "main" 37
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 22 "PS_OUTPUT"
MemberName 22(PS_OUTPUT) 0 "color"
Name 24 "ps_output"
Name 31 "color"
Decorate 31(color) Location 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "color"
Name 10 "@main("
Name 27 "ps_output"
Name 37 "color"
Decorate 37(color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: 6(int) Constant 3
8: 6(int) Constant 4
9: 6(int) Constant 5
10: 6(int) Constant 6
11: 6(int) Constant 7
12: 6(int) Constant 8
13: TypeFloat 32
14: TypeVector 13(float) 2
15: 13(float) Constant 1091567616
16: 13(float) Constant 1092616192
17: 14(fvec2) ConstantComposite 15 16
18: 13(float) Constant 1093664768
19: 13(float) Constant 1094713344
20: 14(fvec2) ConstantComposite 18 19
21: TypeVector 13(float) 4
22(PS_OUTPUT): TypeStruct 21(fvec4)
23: TypePointer Function 22(PS_OUTPUT)
25: 6(int) Constant 0
26: 13(float) Constant 1065353216
27: 21(fvec4) ConstantComposite 26 26 26 26
28: TypePointer Function 21(fvec4)
30: TypePointer Output 21(fvec4)
31(color): 30(ptr) Variable Output
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypeInt 32 1
13: 12(int) Constant 3
14: 12(int) Constant 4
15: 12(int) Constant 5
16: 12(int) Constant 6
17: 12(int) Constant 7
18: 12(int) Constant 8
19: TypeVector 6(float) 2
20: 6(float) Constant 1091567616
21: 6(float) Constant 1092616192
22: 19(fvec2) ConstantComposite 20 21
23: 6(float) Constant 1093664768
24: 6(float) Constant 1094713344
25: 19(fvec2) ConstantComposite 23 24
26: TypePointer Function 8(PS_OUTPUT)
28: 12(int) Constant 0
29: 6(float) Constant 1065353216
30: 7(fvec4) ConstantComposite 29 29 29 29
31: TypePointer Function 7(fvec4)
36: TypePointer Output 7(fvec4)
37(color): 36(ptr) Variable Output
4(main): 2 Function None 3
5: Label
24(ps_output): 23(ptr) Variable Function
29: 28(ptr) AccessChain 24(ps_output) 25
Store 29 27
32: 28(ptr) AccessChain 24(ps_output) 25
33: 21(fvec4) Load 32
Store 31(color) 33
38:8(PS_OUTPUT) FunctionCall 10(@main()
39: 7(fvec4) CompositeExtract 38 0
Store 37(color) 39
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
27(ps_output): 26(ptr) Variable Function
32: 31(ptr) AccessChain 27(ps_output) 28
Store 32 30
33:8(PS_OUTPUT) Load 27(ps_output)
ReturnValue 33
FunctionEnd

View File

@ -1,25 +1,32 @@
hlsl.deadFunctionMissingBody.vert
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 13
// Id's are bound by 18
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 9
EntryPoint Vertex 4 "main" 16
Name 4 "main"
Name 9 "@entryPointOutput"
Decorate 9(@entryPointOutput) Location 0
Name 9 "@main("
Name 16 "@entryPointOutput"
Decorate 16(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output
10: 6(float) Constant 0
11: 7(fvec4) ConstantComposite 10 10 10 10
8: TypeFunction 7(fvec4)
11: 6(float) Constant 0
12: 7(fvec4) ConstantComposite 11 11 11 11
15: TypePointer Output 7(fvec4)
16(@entryPointOutput): 15(ptr) Variable Output
4(main): 2 Function None 3
5: Label
Store 9(@entryPointOutput) 11
17: 7(fvec4) FunctionCall 9(@main()
Store 16(@entryPointOutput) 17
Return
FunctionEnd
9(@main(): 7(fvec4) Function None 8
10: Label
ReturnValue 12
FunctionEnd

View File

@ -3,14 +3,22 @@ Shader version: 450
gl_FragCoord origin is upper left
using depth_greater
0:? Sequence
0:2 Function Definition: PixelShaderFunction(f1; (temp void)
0:2 Function Definition: @PixelShaderFunction(f1; (temp void)
0:2 Function Parameters:
0:2 'depth' (out float FragDepth)
0:2 'depth' (out float unknown built-in variable)
0:? Sequence
0:3 move second child to first child (temp float)
0:3 'depth' (out float FragDepth)
0:3 'depth' (out float unknown built-in variable)
0:3 Constant:
0:3 0.200000
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 Function Call: @PixelShaderFunction(f1; (temp void)
0:? 'depth' (temp float)
0:2 move second child to first child (temp float)
0:? 'depth' (out float FragDepth)
0:? 'depth' (temp float)
0:? Linker Objects
0:? 'depth' (out float FragDepth)
@ -22,38 +30,64 @@ Shader version: 450
gl_FragCoord origin is upper left
using depth_greater
0:? Sequence
0:2 Function Definition: PixelShaderFunction(f1; (temp void)
0:2 Function Definition: @PixelShaderFunction(f1; (temp void)
0:2 Function Parameters:
0:2 'depth' (out float FragDepth)
0:2 'depth' (out float unknown built-in variable)
0:? Sequence
0:3 move second child to first child (temp float)
0:3 'depth' (out float FragDepth)
0:3 'depth' (out float unknown built-in variable)
0:3 Constant:
0:3 0.200000
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 Function Call: @PixelShaderFunction(f1; (temp void)
0:? 'depth' (temp float)
0:2 move second child to first child (temp float)
0:? 'depth' (out float FragDepth)
0:? 'depth' (temp float)
0:? Linker Objects
0:? 'depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 10
// Id's are bound by 20
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 8
EntryPoint Fragment 4 "PixelShaderFunction" 18
ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 DepthGreater
Name 4 "PixelShaderFunction"
Name 8 "depth"
Decorate 8(depth) BuiltIn FragDepth
Name 10 "@PixelShaderFunction(f1;"
Name 9 "depth"
Name 13 "depth"
Name 14 "param"
Name 18 "depth"
Decorate 18(depth) BuiltIn FragDepth
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Output 6(float)
8(depth): 7(ptr) Variable Output
9: 6(float) Constant 1045220557
7: TypePointer Function 6(float)
8: TypeFunction 2 7(ptr)
12: 6(float) Constant 1045220557
17: TypePointer Output 6(float)
18(depth): 17(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
Store 8(depth) 9
13(depth): 7(ptr) Variable Function
14(param): 7(ptr) Variable Function
15: 2 FunctionCall 10(@PixelShaderFunction(f1;) 14(param)
16: 6(float) Load 14(param)
Store 13(depth) 16
19: 6(float) Load 13(depth)
Store 18(depth) 19
Return
FunctionEnd
10(@PixelShaderFunction(f1;): 2 Function None 8
9(depth): 7(ptr) FunctionParameter
11: Label
Store 9(depth) 12
Return
FunctionEnd

View File

@ -3,17 +3,20 @@ Shader version: 450
gl_FragCoord origin is upper left
using depth_less
0:? Sequence
0:2 Function Definition: PixelShaderFunction( (temp float FragDepth)
0:2 Function Definition: @PixelShaderFunction( (temp float unknown built-in variable)
0:2 Function Parameters:
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp float)
0:? '@entryPointOutput' (out float unknown built-in variable)
0:3 Constant:
0:3 0.200000
0:3 Branch: Return
0:3 Branch: Return with expression
0:3 Constant:
0:3 0.200000
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp float)
0:? '@entryPointOutput' (out float FragDepth)
0:2 Function Call: @PixelShaderFunction( (temp float unknown built-in variable)
0:? Linker Objects
0:? '@entryPointOutput' (out float unknown built-in variable)
0:? '@entryPointOutput' (out float FragDepth)
Linked fragment stage:
@ -23,38 +26,49 @@ Shader version: 450
gl_FragCoord origin is upper left
using depth_less
0:? Sequence
0:2 Function Definition: PixelShaderFunction( (temp float FragDepth)
0:2 Function Definition: @PixelShaderFunction( (temp float unknown built-in variable)
0:2 Function Parameters:
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp float)
0:? '@entryPointOutput' (out float unknown built-in variable)
0:3 Constant:
0:3 0.200000
0:3 Branch: Return
0:3 Branch: Return with expression
0:3 Constant:
0:3 0.200000
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp float)
0:? '@entryPointOutput' (out float FragDepth)
0:2 Function Call: @PixelShaderFunction( (temp float unknown built-in variable)
0:? Linker Objects
0:? '@entryPointOutput' (out float unknown built-in variable)
0:? '@entryPointOutput' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 11
// Id's are bound by 16
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 8
EntryPoint Fragment 4 "PixelShaderFunction" 14
ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 DepthLess
Name 4 "PixelShaderFunction"
Name 8 "@entryPointOutput"
Name 8 "@PixelShaderFunction("
Name 14 "@entryPointOutput"
Decorate 14(@entryPointOutput) BuiltIn FragDepth
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Output 6(float)
8(@entryPointOutput): 7(ptr) Variable Output
9: 6(float) Constant 1045220557
7: TypeFunction 6(float)
10: 6(float) Constant 1045220557
13: TypePointer Output 6(float)
14(@entryPointOutput): 13(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
Store 8(@entryPointOutput) 9
15: 6(float) FunctionCall 8(@PixelShaderFunction()
Store 14(@entryPointOutput) 15
Return
FunctionEnd
8(@PixelShaderFunction(): 6(float) Function None 7
9: Label
ReturnValue 10
FunctionEnd

View File

@ -14,19 +14,19 @@ gl_FragCoord origin is upper left
0:3 1.000000
0:3 true case
0:4 Branch: Kill
0:8 Function Definition: PixelShaderFunction(vf4; (temp void)
0:8 Function Definition: @PixelShaderFunction(vf4; (temp void)
0:8 Function Parameters:
0:8 'input' (layout(location=0 ) in 4-component vector of float)
0:8 'input' (in 4-component vector of float)
0:? Sequence
0:9 Function Call: foo(f1; (temp void)
0:9 direct index (temp float)
0:9 'input' (layout(location=0 ) in 4-component vector of float)
0:9 'input' (in 4-component vector of float)
0:9 Constant:
0:9 2 (const int)
0:10 Test condition and select (temp void)
0:10 Condition
0:10 direct index (temp float)
0:10 'input' (layout(location=0 ) in 4-component vector of float)
0:10 'input' (in 4-component vector of float)
0:10 Constant:
0:10 0 (const int)
0:10 true case
@ -35,10 +35,18 @@ gl_FragCoord origin is upper left
0:12 move second child to first child (temp float)
0:12 'f' (temp float)
0:12 direct index (temp float)
0:12 'input' (layout(location=0 ) in 4-component vector of float)
0:12 'input' (in 4-component vector of float)
0:12 Constant:
0:12 0 (const int)
0:13 Branch: Kill
0:8 Function Definition: PixelShaderFunction( (temp void)
0:8 Function Parameters:
0:? Sequence
0:8 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:8 Function Call: @PixelShaderFunction(vf4; (temp void)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? 'input' (layout(location=0 ) in 4-component vector of float)
@ -61,19 +69,19 @@ gl_FragCoord origin is upper left
0:3 1.000000
0:3 true case
0:4 Branch: Kill
0:8 Function Definition: PixelShaderFunction(vf4; (temp void)
0:8 Function Definition: @PixelShaderFunction(vf4; (temp void)
0:8 Function Parameters:
0:8 'input' (layout(location=0 ) in 4-component vector of float)
0:8 'input' (in 4-component vector of float)
0:? Sequence
0:9 Function Call: foo(f1; (temp void)
0:9 direct index (temp float)
0:9 'input' (layout(location=0 ) in 4-component vector of float)
0:9 'input' (in 4-component vector of float)
0:9 Constant:
0:9 2 (const int)
0:10 Test condition and select (temp void)
0:10 Condition
0:10 direct index (temp float)
0:10 'input' (layout(location=0 ) in 4-component vector of float)
0:10 'input' (in 4-component vector of float)
0:10 Constant:
0:10 0 (const int)
0:10 true case
@ -82,72 +90,97 @@ gl_FragCoord origin is upper left
0:12 move second child to first child (temp float)
0:12 'f' (temp float)
0:12 direct index (temp float)
0:12 'input' (layout(location=0 ) in 4-component vector of float)
0:12 'input' (in 4-component vector of float)
0:12 Constant:
0:12 0 (const int)
0:13 Branch: Kill
0:8 Function Definition: PixelShaderFunction( (temp void)
0:8 Function Parameters:
0:? Sequence
0:8 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:8 Function Call: @PixelShaderFunction(vf4; (temp void)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 39
// Id's are bound by 48
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 21
EntryPoint Fragment 4 "PixelShaderFunction" 43
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 10 "foo(f1;"
Name 9 "f"
Name 21 "input"
Name 22 "param"
Name 35 "f"
Decorate 21(input) Location 0
Name 16 "@PixelShaderFunction(vf4;"
Name 15 "input"
Name 25 "param"
Name 37 "f"
Name 41 "input"
Name 43 "input"
Name 45 "param"
Decorate 43(input) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
8: TypeFunction 2 7(ptr)
13: 6(float) Constant 1065353216
14: TypeBool
19: TypeVector 6(float) 4
20: TypePointer Input 19(fvec4)
21(input): 20(ptr) Variable Input
23: TypeInt 32 0
24: 23(int) Constant 2
25: TypePointer Input 6(float)
29: 23(int) Constant 0
12: TypeVector 6(float) 4
13: TypePointer Function 12(fvec4)
14: TypeFunction 2 13(ptr)
19: 6(float) Constant 1065353216
20: TypeBool
26: TypeInt 32 0
27: 26(int) Constant 2
31: 26(int) Constant 0
42: TypePointer Input 12(fvec4)
43(input): 42(ptr) Variable Input
4(PixelShaderFunction): 2 Function None 3
5: Label
22(param): 7(ptr) Variable Function
35(f): 7(ptr) Variable Function
26: 25(ptr) AccessChain 21(input) 24
27: 6(float) Load 26
Store 22(param) 27
28: 2 FunctionCall 10(foo(f1;) 22(param)
30: 25(ptr) AccessChain 21(input) 29
31: 6(float) Load 30
SelectionMerge 33 None
BranchConditional 31 32 33
32: Label
Kill
33: Label
36: 25(ptr) AccessChain 21(input) 29
37: 6(float) Load 36
Store 35(f) 37
Kill
41(input): 13(ptr) Variable Function
45(param): 13(ptr) Variable Function
44: 12(fvec4) Load 43(input)
Store 41(input) 44
46: 12(fvec4) Load 41(input)
Store 45(param) 46
47: 2 FunctionCall 16(@PixelShaderFunction(vf4;) 45(param)
Return
FunctionEnd
10(foo(f1;): 2 Function None 8
9(f): 7(ptr) FunctionParameter
11: Label
12: 6(float) Load 9(f)
15: 14(bool) FOrdLessThan 12 13
SelectionMerge 17 None
BranchConditional 15 16 17
16: Label
18: 6(float) Load 9(f)
21: 20(bool) FOrdLessThan 18 19
SelectionMerge 23 None
BranchConditional 21 22 23
22: Label
Kill
17: Label
23: Label
Return
FunctionEnd
16(@PixelShaderFunction(vf4;): 2 Function None 14
15(input): 13(ptr) FunctionParameter
17: Label
25(param): 7(ptr) Variable Function
37(f): 7(ptr) Variable Function
28: 7(ptr) AccessChain 15(input) 27
29: 6(float) Load 28
Store 25(param) 29
30: 2 FunctionCall 10(foo(f1;) 25(param)
32: 7(ptr) AccessChain 15(input) 31
33: 6(float) Load 32
SelectionMerge 35 None
BranchConditional 33 34 35
34: Label
Kill
35: Label
38: 7(ptr) AccessChain 15(input) 31
39: 6(float) Load 38
Store 37(f) 39
Kill
FunctionEnd

View File

@ -2,9 +2,9 @@ hlsl.doLoop.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:3 Loop with condition not tested first
0:3 Loop Condition
@ -20,14 +20,21 @@ gl_FragCoord origin is upper left
0:5 Loop Condition
0:5 all (temp bool)
0:5 Equal (temp 4-component vector of bool)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 'input' (in 4-component vector of float)
0:5 'input' (in 4-component vector of float)
0:5 Loop Body
0:5 Sequence
0:5 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 Branch: Return
0:5 Branch: Return with expression
0:5 'input' (in 4-component vector of float)
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
@ -39,9 +46,9 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:3 Loop with condition not tested first
0:3 Loop Condition
@ -57,77 +64,103 @@ gl_FragCoord origin is upper left
0:5 Loop Condition
0:5 all (temp bool)
0:5 Equal (temp 4-component vector of bool)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 'input' (in 4-component vector of float)
0:5 'input' (in 4-component vector of float)
0:5 Loop Body
0:5 Sequence
0:5 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 Branch: Return
0:5 Branch: Return with expression
0:5 'input' (in 4-component vector of float)
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 33
// Id's are bound by 44
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 23 25
EntryPoint Fragment 4 "PixelShaderFunction" 37 40
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 23 "@entryPointOutput"
Name 25 "input"
Decorate 23(@entryPointOutput) Location 0
Decorate 25(input) Location 0
Name 11 "@PixelShaderFunction(vf4;"
Name 10 "input"
Name 35 "input"
Name 37 "input"
Name 40 "@entryPointOutput"
Name 41 "param"
Decorate 37(input) Location 0
Decorate 40(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
10: TypeBool
11: 10(bool) ConstantFalse
20: TypeFloat 32
21: TypeVector 20(float) 4
22: TypePointer Output 21(fvec4)
23(@entryPointOutput): 22(ptr) Variable Output
24: TypePointer Input 21(fvec4)
25(input): 24(ptr) Variable Input
30: TypeVector 10(bool) 4
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr)
17: TypeBool
18: 17(bool) ConstantFalse
31: TypeVector 17(bool) 4
36: TypePointer Input 7(fvec4)
37(input): 36(ptr) Variable Input
39: TypePointer Output 7(fvec4)
40(@entryPointOutput): 39(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
Branch 6
6: Label
LoopMerge 8 9 None
Branch 7
7: Label
Branch 9
9: Label
BranchConditional 11 6 8
8: Label
Branch 12
35(input): 8(ptr) Variable Function
41(param): 8(ptr) Variable Function
38: 7(fvec4) Load 37(input)
Store 35(input) 38
42: 7(fvec4) Load 35(input)
Store 41(param) 42
43: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 41(param)
Store 40(@entryPointOutput) 43
Return
FunctionEnd
11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9
10(input): 8(ptr) FunctionParameter
12: Label
LoopMerge 14 15 None
Branch 13
13: Label
Branch 15
15: Label
BranchConditional 11 12 14
LoopMerge 15 16 None
Branch 14
14: Label
Branch 16
16: Label
LoopMerge 18 19 None
Branch 17
17: Label
26: 21(fvec4) Load 25(input)
Store 23(@entryPointOutput) 26
Return
BranchConditional 18 13 15
15: Label
Branch 19
19: Label
28: 21(fvec4) Load 25(input)
29: 21(fvec4) Load 25(input)
31: 30(bvec4) FOrdEqual 28 29
32: 10(bool) All 31
BranchConditional 32 16 18
18: Label
Return
LoopMerge 21 22 None
Branch 20
20: Label
Branch 22
22: Label
BranchConditional 18 19 21
21: Label
Branch 23
23: Label
LoopMerge 25 26 None
Branch 24
24: Label
27: 7(fvec4) Load 10(input)
ReturnValue 27
26: Label
29: 7(fvec4) Load 10(input)
30: 7(fvec4) Load 10(input)
32: 31(bvec4) FOrdEqual 29 30
33: 17(bool) All 32
BranchConditional 33 23 25
25: Label
34: 7(fvec4) Undef
ReturnValue 34
FunctionEnd

View File

@ -4,53 +4,31 @@ gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:8 Function Parameters:
0:8 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:8 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Sequence
0:9 Branch: Return with expression
0:9 add (temp float)
0:9 direct index (temp float)
0:9 v: direct index for structure (temp 2-component vector of float)
0:9 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:9 Constant:
0:9 0 (const int)
0:9 Constant:
0:9 1 (const int)
0:9 direct index (temp float)
0:9 fragCoord: direct index for structure (temp 4-component vector of float)
0:9 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:9 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:9 Constant:
0:9 1 (const int)
0:9 Constant:
0:9 0 (const int)
0:13 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:13 Function Definition: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:13 Function Parameters:
0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Sequence
0:15 Sequence
0:15 move second child to first child (temp 2-component vector of float)
0:15 v: direct index for structure (temp 2-component vector of float)
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 Constant:
0:15 0 (const int)
0:15 v: direct index for structure (temp 2-component vector of float)
0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:15 Constant:
0:15 0 (const int)
0:15 move second child to first child (temp 4-component vector of float)
0:15 fragCoord: direct index for structure (temp 4-component vector of float)
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 Constant:
0:15 1 (const int)
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
0:15 move second child to first child (temp 2-component vector of int)
0:15 i2: direct index for structure (temp 2-component vector of int)
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 Constant:
0:15 2 (const int)
0:15 i2: direct index for structure (temp 2-component vector of int)
0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:15 Constant:
0:15 1 (const int)
0:15 move second child to first child (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:16 Sequence
0:16 move second child to first child (temp float)
0:16 'ret1' (temp float)
@ -60,45 +38,48 @@ gl_FragCoord origin is upper left
0:17 move second child to first child (temp float)
0:17 'ret2' (temp float)
0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:17 Comma (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:17 Sequence
0:17 move second child to first child (temp 2-component vector of float)
0:17 v: direct index for structure (temp 2-component vector of float)
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:17 Constant:
0:17 0 (const int)
0:17 v: direct index for structure (temp 2-component vector of float)
0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:17 Constant:
0:17 0 (const int)
0:17 move second child to first child (temp 4-component vector of float)
0:17 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:17 Constant:
0:17 1 (const int)
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
0:17 move second child to first child (temp 2-component vector of int)
0:17 i2: direct index for structure (temp 2-component vector of int)
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:17 Constant:
0:17 2 (const int)
0:17 i2: direct index for structure (temp 2-component vector of int)
0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:17 Constant:
0:17 1 (const int)
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:19 Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:17 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:19 Branch: Return with expression
0:19 vector-scale (temp 4-component vector of float)
0:19 vector-scale (temp 4-component vector of float)
0:19 vector-scale (temp 4-component vector of float)
0:19 fragCoord: direct index for structure (temp 4-component vector of float)
0:19 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:19 Constant:
0:19 1 (const int)
0:19 'ret1' (temp float)
0:19 'ret2' (temp float)
0:19 Branch: Return
0:19 fragCoord: direct index for structure (temp 4-component vector of float)
0:19 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:19 Constant:
0:19 1 (const int)
0:19 'ret1' (temp float)
0:19 'ret2' (temp float)
0:13 Function Definition: PixelShaderFunction( (temp void)
0:13 Function Parameters:
0:? Sequence
0:13 Sequence
0:13 move second child to first child (temp 2-component vector of float)
0:13 v: direct index for structure (temp 2-component vector of float)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 0 (const int)
0:13 v: direct index for structure (temp 2-component vector of float)
0:13 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child (temp 4-component vector of float)
0:13 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 1 (const int)
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
0:13 move second child to first child (temp 2-component vector of int)
0:13 i2: direct index for structure (temp 2-component vector of int)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 2 (const int)
0:13 i2: direct index for structure (temp 2-component vector of int)
0:13 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:13 Constant:
0:13 1 (const int)
0:13 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:13 Function Call: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
@ -113,53 +94,31 @@ gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:8 Function Parameters:
0:8 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:8 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Sequence
0:9 Branch: Return with expression
0:9 add (temp float)
0:9 direct index (temp float)
0:9 v: direct index for structure (temp 2-component vector of float)
0:9 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:9 Constant:
0:9 0 (const int)
0:9 Constant:
0:9 1 (const int)
0:9 direct index (temp float)
0:9 fragCoord: direct index for structure (temp 4-component vector of float)
0:9 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:9 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:9 Constant:
0:9 1 (const int)
0:9 Constant:
0:9 0 (const int)
0:13 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:13 Function Definition: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:13 Function Parameters:
0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Sequence
0:15 Sequence
0:15 move second child to first child (temp 2-component vector of float)
0:15 v: direct index for structure (temp 2-component vector of float)
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 Constant:
0:15 0 (const int)
0:15 v: direct index for structure (temp 2-component vector of float)
0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:15 Constant:
0:15 0 (const int)
0:15 move second child to first child (temp 4-component vector of float)
0:15 fragCoord: direct index for structure (temp 4-component vector of float)
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 Constant:
0:15 1 (const int)
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
0:15 move second child to first child (temp 2-component vector of int)
0:15 i2: direct index for structure (temp 2-component vector of int)
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 Constant:
0:15 2 (const int)
0:15 i2: direct index for structure (temp 2-component vector of int)
0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:15 Constant:
0:15 1 (const int)
0:15 move second child to first child (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:15 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:16 Sequence
0:16 move second child to first child (temp float)
0:16 'ret1' (temp float)
@ -169,45 +128,48 @@ gl_FragCoord origin is upper left
0:17 move second child to first child (temp float)
0:17 'ret2' (temp float)
0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:17 Comma (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:17 Sequence
0:17 move second child to first child (temp 2-component vector of float)
0:17 v: direct index for structure (temp 2-component vector of float)
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:17 Constant:
0:17 0 (const int)
0:17 v: direct index for structure (temp 2-component vector of float)
0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:17 Constant:
0:17 0 (const int)
0:17 move second child to first child (temp 4-component vector of float)
0:17 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:17 Constant:
0:17 1 (const int)
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
0:17 move second child to first child (temp 2-component vector of int)
0:17 i2: direct index for structure (temp 2-component vector of int)
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:17 Constant:
0:17 2 (const int)
0:17 i2: direct index for structure (temp 2-component vector of int)
0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:17 Constant:
0:17 1 (const int)
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:19 Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:17 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:19 Branch: Return with expression
0:19 vector-scale (temp 4-component vector of float)
0:19 vector-scale (temp 4-component vector of float)
0:19 vector-scale (temp 4-component vector of float)
0:19 fragCoord: direct index for structure (temp 4-component vector of float)
0:19 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:19 Constant:
0:19 1 (const int)
0:19 'ret1' (temp float)
0:19 'ret2' (temp float)
0:19 Branch: Return
0:19 fragCoord: direct index for structure (temp 4-component vector of float)
0:19 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:19 Constant:
0:19 1 (const int)
0:19 'ret1' (temp float)
0:19 'ret2' (temp float)
0:13 Function Definition: PixelShaderFunction( (temp void)
0:13 Function Parameters:
0:? Sequence
0:13 Sequence
0:13 move second child to first child (temp 2-component vector of float)
0:13 v: direct index for structure (temp 2-component vector of float)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 0 (const int)
0:13 v: direct index for structure (temp 2-component vector of float)
0:13 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child (temp 4-component vector of float)
0:13 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 1 (const int)
0:? 'i_fragCoord' (in 4-component vector of float FragCoord)
0:13 move second child to first child (temp 2-component vector of int)
0:13 i2: direct index for structure (temp 2-component vector of int)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:13 Constant:
0:13 2 (const int)
0:13 i2: direct index for structure (temp 2-component vector of int)
0:13 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
0:13 Constant:
0:13 1 (const int)
0:13 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:13 Function Call: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:? 'i' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2})
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2})
@ -215,12 +177,12 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 78
// Id's are bound by 85
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 33 40 70
EntryPoint Fragment 4 "PixelShaderFunction" 67 73 81
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 11 "InParam"
@ -229,26 +191,29 @@ gl_FragCoord origin is upper left
MemberName 11(InParam) 2 "i2"
Name 15 "fun(struct-InParam-vf2-vf4-vi21;"
Name 14 "p"
Name 30 "local"
Name 31 "InParam"
MemberName 31(InParam) 0 "v"
MemberName 31(InParam) 1 "i2"
Name 33 "i"
Name 40 "i_fragCoord"
Name 50 "ret1"
Name 51 "param"
Name 54 "ret2"
Name 55 "InParam"
MemberName 55(InParam) 0 "v"
MemberName 55(InParam) 1 "fragCoord"
MemberName 55(InParam) 2 "i2"
Name 57 "aggShadow"
Name 66 "param"
Name 70 "@entryPointOutput"
Decorate 33(i) Location 0
Decorate 40(i_fragCoord) BuiltIn FragCoord
MemberDecorate 55(InParam) 1 BuiltIn FragCoord
Decorate 70(@entryPointOutput) Location 0
Name 19 "@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;"
Name 18 "i"
Name 34 "InParam"
MemberName 34(InParam) 0 "v"
MemberName 34(InParam) 1 "fragCoord"
MemberName 34(InParam) 2 "i2"
Name 36 "local"
Name 48 "ret1"
Name 49 "param"
Name 52 "ret2"
Name 53 "param"
Name 64 "i"
Name 65 "InParam"
MemberName 65(InParam) 0 "v"
MemberName 65(InParam) 1 "i2"
Name 67 "i"
Name 73 "i_fragCoord"
Name 81 "@entryPointOutput"
Name 82 "param"
MemberDecorate 11(InParam) 1 BuiltIn FragCoord
Decorate 67(i) Location 0
Decorate 73(i_fragCoord) BuiltIn FragCoord
Decorate 81(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -259,81 +224,90 @@ gl_FragCoord origin is upper left
11(InParam): TypeStruct 7(fvec2) 8(fvec4) 10(ivec2)
12: TypePointer Function 11(InParam)
13: TypeFunction 6(float) 12(ptr)
17: 9(int) Constant 0
18: TypeInt 32 0
19: 18(int) Constant 1
20: TypePointer Function 6(float)
23: 9(int) Constant 1
24: 18(int) Constant 0
31(InParam): TypeStruct 7(fvec2) 10(ivec2)
32: TypePointer Input 31(InParam)
33(i): 32(ptr) Variable Input
34: TypePointer Input 7(fvec2)
37: TypePointer Function 7(fvec2)
39: TypePointer Input 8(fvec4)
40(i_fragCoord): 39(ptr) Variable Input
17: TypeFunction 8(fvec4) 12(ptr)
21: 9(int) Constant 0
22: TypeInt 32 0
23: 22(int) Constant 1
24: TypePointer Function 6(float)
27: 9(int) Constant 1
28: 22(int) Constant 0
34(InParam): TypeStruct 7(fvec2) 8(fvec4) 10(ivec2)
35: TypePointer Function 34(InParam)
39: TypePointer Function 7(fvec2)
42: TypePointer Function 8(fvec4)
44: 9(int) Constant 2
45: TypePointer Input 10(ivec2)
48: TypePointer Function 10(ivec2)
55(InParam): TypeStruct 7(fvec2) 8(fvec4) 10(ivec2)
56: TypePointer Function 55(InParam)
69: TypePointer Output 8(fvec4)
70(@entryPointOutput): 69(ptr) Variable Output
45: 9(int) Constant 2
46: TypePointer Function 10(ivec2)
65(InParam): TypeStruct 7(fvec2) 10(ivec2)
66: TypePointer Input 65(InParam)
67(i): 66(ptr) Variable Input
68: TypePointer Input 7(fvec2)
72: TypePointer Input 8(fvec4)
73(i_fragCoord): 72(ptr) Variable Input
76: TypePointer Input 10(ivec2)
80: TypePointer Output 8(fvec4)
81(@entryPointOutput): 80(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
30(local): 12(ptr) Variable Function
50(ret1): 20(ptr) Variable Function
51(param): 12(ptr) Variable Function
54(ret2): 20(ptr) Variable Function
57(aggShadow): 56(ptr) Variable Function
66(param): 56(ptr) Variable Function
35: 34(ptr) AccessChain 33(i) 17
36: 7(fvec2) Load 35
38: 37(ptr) AccessChain 30(local) 17
Store 38 36
41: 8(fvec4) Load 40(i_fragCoord)
43: 42(ptr) AccessChain 30(local) 23
Store 43 41
46: 45(ptr) AccessChain 33(i) 23
47: 10(ivec2) Load 46
49: 48(ptr) AccessChain 30(local) 44
Store 49 47
52: 11(InParam) Load 30(local)
Store 51(param) 52
53: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 51(param)
Store 50(ret1) 53
58: 34(ptr) AccessChain 33(i) 17
59: 7(fvec2) Load 58
60: 37(ptr) AccessChain 57(aggShadow) 17
Store 60 59
61: 8(fvec4) Load 40(i_fragCoord)
62: 42(ptr) AccessChain 57(aggShadow) 23
Store 62 61
63: 45(ptr) AccessChain 33(i) 23
64: 10(ivec2) Load 63
65: 48(ptr) AccessChain 57(aggShadow) 44
Store 65 64
67: 55(InParam) Load 57(aggShadow)
Store 66(param) 67
68: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 66(param)
Store 54(ret2) 68
71: 42(ptr) AccessChain 30(local) 23
72: 8(fvec4) Load 71
73: 6(float) Load 50(ret1)
74: 8(fvec4) VectorTimesScalar 72 73
75: 6(float) Load 54(ret2)
76: 8(fvec4) VectorTimesScalar 74 75
Store 70(@entryPointOutput) 76
64(i): 12(ptr) Variable Function
82(param): 12(ptr) Variable Function
69: 68(ptr) AccessChain 67(i) 21
70: 7(fvec2) Load 69
71: 39(ptr) AccessChain 64(i) 21
Store 71 70
74: 8(fvec4) Load 73(i_fragCoord)
75: 42(ptr) AccessChain 64(i) 27
Store 75 74
77: 76(ptr) AccessChain 67(i) 27
78: 10(ivec2) Load 77
79: 46(ptr) AccessChain 64(i) 45
Store 79 78
83: 11(InParam) Load 64(i)
Store 82(param) 83
84: 8(fvec4) FunctionCall 19(@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;) 82(param)
Store 81(@entryPointOutput) 84
Return
FunctionEnd
15(fun(struct-InParam-vf2-vf4-vi21;): 6(float) Function None 13
14(p): 12(ptr) FunctionParameter
16: Label
21: 20(ptr) AccessChain 14(p) 17 19
22: 6(float) Load 21
25: 20(ptr) AccessChain 14(p) 23 24
25: 24(ptr) AccessChain 14(p) 21 23
26: 6(float) Load 25
27: 6(float) FAdd 22 26
ReturnValue 27
29: 24(ptr) AccessChain 14(p) 27 28
30: 6(float) Load 29
31: 6(float) FAdd 26 30
ReturnValue 31
FunctionEnd
19(@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;): 8(fvec4) Function None 17
18(i): 12(ptr) FunctionParameter
20: Label
36(local): 35(ptr) Variable Function
48(ret1): 24(ptr) Variable Function
49(param): 35(ptr) Variable Function
52(ret2): 24(ptr) Variable Function
53(param): 12(ptr) Variable Function
37: 11(InParam) Load 18(i)
38: 7(fvec2) CompositeExtract 37 0
40: 39(ptr) AccessChain 36(local) 21
Store 40 38
41: 8(fvec4) CompositeExtract 37 1
43: 42(ptr) AccessChain 36(local) 27
Store 43 41
44: 10(ivec2) CompositeExtract 37 2
47: 46(ptr) AccessChain 36(local) 45
Store 47 44
50: 34(InParam) Load 36(local)
Store 49(param) 50
51: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 49(param)
Store 48(ret1) 51
54: 11(InParam) Load 18(i)
Store 53(param) 54
55: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 53(param)
Store 52(ret2) 55
56: 42(ptr) AccessChain 36(local) 27
57: 8(fvec4) Load 56
58: 6(float) Load 48(ret1)
59: 8(fvec4) VectorTimesScalar 57 58
60: 6(float) Load 52(ret2)
61: 8(fvec4) VectorTimesScalar 59 60
ReturnValue 61
FunctionEnd

View File

@ -22,23 +22,29 @@ gl_FragCoord origin is upper left
0:9 Constant:
0:9 7 (const int)
0:9 7 (const int)
0:13 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
0:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
0:13 Function Parameters:
0:13 'input' (layout(location=0 ) in 4-component vector of float)
0:13 'out1' (layout(location=1 ) out 4-component vector of float)
0:13 'input' (in 4-component vector of float)
0:13 'out1' (out 4-component vector of float)
0:13 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:? Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:14 'out1' (layout(location=1 ) out 4-component vector of float)
0:14 'input' (layout(location=0 ) in 4-component vector of float)
0:14 'out1' (out 4-component vector of float)
0:14 'input' (in 4-component vector of float)
0:15 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=2 ) out 2-component vector of float)
0:15 v: direct index for structure (temp 2-component vector of float)
0:15 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:15 Constant:
0:15 0 (const int)
0:15 Constant:
0:15 2.000000
0:15 2.000000
0:16 move second child to first child (temp 2-component vector of int)
0:? 'i' (layout(location=3 ) out 2-component vector of int)
0:16 i: direct index for structure (temp 2-component vector of int)
0:16 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:16 Constant:
0:16 1 (const int)
0:16 Constant:
0:16 3 (const int)
0:16 3 (const int)
@ -58,27 +64,52 @@ gl_FragCoord origin is upper left
0:19 Constant:
0:19 13 (const int)
0:19 13 (const int)
0:20 Comma (temp void)
0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void)
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:20 Sequence
0:20 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=4 ) out 2-component vector of float)
0:20 v: direct index for structure (temp 2-component vector of float)
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:20 Constant:
0:20 0 (const int)
0:20 move second child to first child (temp 2-component vector of int)
0:? 'i' (layout(location=5 ) out 2-component vector of int)
0:20 i: direct index for structure (temp 2-component vector of int)
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:20 Constant:
0:20 1 (const int)
0:22 Sequence
0:22 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:22 'out1' (layout(location=1 ) out 4-component vector of float)
0:22 Branch: Return
0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void)
0:20 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:22 Branch: Return with expression
0:22 'out1' (out 4-component vector of float)
0:13 Function Definition: PixelShaderFunction( (temp void)
0:13 Function Parameters:
0:? Sequence
0:13 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:13 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'out1' (temp 4-component vector of float)
0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 move second child to first child (temp 4-component vector of float)
0:? 'out1' (layout(location=1 ) out 4-component vector of float)
0:? 'out1' (temp 4-component vector of float)
0:13 Sequence
0:13 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=2 ) out 2-component vector of float)
0:13 v: direct index for structure (temp 2-component vector of float)
0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child (temp 2-component vector of int)
0:? 'i' (layout(location=3 ) out 2-component vector of int)
0:13 i: direct index for structure (temp 2-component vector of int)
0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 1 (const int)
0:13 Sequence
0:13 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=4 ) out 2-component vector of float)
0:13 v: direct index for structure (temp 2-component vector of float)
0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child (temp 2-component vector of int)
0:? 'i' (layout(location=5 ) out 2-component vector of int)
0:13 i: direct index for structure (temp 2-component vector of int)
0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 1 (const int)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
@ -115,23 +146,29 @@ gl_FragCoord origin is upper left
0:9 Constant:
0:9 7 (const int)
0:9 7 (const int)
0:13 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
0:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
0:13 Function Parameters:
0:13 'input' (layout(location=0 ) in 4-component vector of float)
0:13 'out1' (layout(location=1 ) out 4-component vector of float)
0:13 'input' (in 4-component vector of float)
0:13 'out1' (out 4-component vector of float)
0:13 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:? Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:14 'out1' (layout(location=1 ) out 4-component vector of float)
0:14 'input' (layout(location=0 ) in 4-component vector of float)
0:14 'out1' (out 4-component vector of float)
0:14 'input' (in 4-component vector of float)
0:15 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=2 ) out 2-component vector of float)
0:15 v: direct index for structure (temp 2-component vector of float)
0:15 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:15 Constant:
0:15 0 (const int)
0:15 Constant:
0:15 2.000000
0:15 2.000000
0:16 move second child to first child (temp 2-component vector of int)
0:? 'i' (layout(location=3 ) out 2-component vector of int)
0:16 i: direct index for structure (temp 2-component vector of int)
0:16 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:16 Constant:
0:16 1 (const int)
0:16 Constant:
0:16 3 (const int)
0:16 3 (const int)
@ -151,27 +188,52 @@ gl_FragCoord origin is upper left
0:19 Constant:
0:19 13 (const int)
0:19 13 (const int)
0:20 Comma (temp void)
0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void)
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:20 Sequence
0:20 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=4 ) out 2-component vector of float)
0:20 v: direct index for structure (temp 2-component vector of float)
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:20 Constant:
0:20 0 (const int)
0:20 move second child to first child (temp 2-component vector of int)
0:? 'i' (layout(location=5 ) out 2-component vector of int)
0:20 i: direct index for structure (temp 2-component vector of int)
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:20 Constant:
0:20 1 (const int)
0:22 Sequence
0:22 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:22 'out1' (layout(location=1 ) out 4-component vector of float)
0:22 Branch: Return
0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void)
0:20 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:22 Branch: Return with expression
0:22 'out1' (out 4-component vector of float)
0:13 Function Definition: PixelShaderFunction( (temp void)
0:13 Function Parameters:
0:? Sequence
0:13 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:13 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'out1' (temp 4-component vector of float)
0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 move second child to first child (temp 4-component vector of float)
0:? 'out1' (layout(location=1 ) out 4-component vector of float)
0:? 'out1' (temp 4-component vector of float)
0:13 Sequence
0:13 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=2 ) out 2-component vector of float)
0:13 v: direct index for structure (temp 2-component vector of float)
0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child (temp 2-component vector of int)
0:? 'i' (layout(location=3 ) out 2-component vector of int)
0:13 i: direct index for structure (temp 2-component vector of int)
0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 1 (const int)
0:13 Sequence
0:13 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=4 ) out 2-component vector of float)
0:13 v: direct index for structure (temp 2-component vector of float)
0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child (temp 2-component vector of int)
0:? 'i' (layout(location=5 ) out 2-component vector of int)
0:13 i: direct index for structure (temp 2-component vector of int)
0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 1 (const int)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
@ -183,12 +245,12 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 60
// Id's are bound by 89
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 28 30 33 37 51 54 57
EntryPoint Fragment 4 "PixelShaderFunction" 57 60 73 76 80 83 86
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 10 "OutParam"
@ -196,23 +258,35 @@ gl_FragCoord origin is upper left
MemberName 10(OutParam) 1 "i"
Name 14 "fun(struct-OutParam-vf2-vi21;"
Name 13 "op"
Name 28 "out1"
Name 30 "input"
Name 33 "v"
Name 37 "i"
Name 40 "local"
Name 47 "tempArg"
Name 48 "param"
Name 51 "v"
Name 54 "i"
Name 57 "@entryPointOutput"
Decorate 28(out1) Location 1
Decorate 30(input) Location 0
Decorate 33(v) Location 2
Decorate 37(i) Location 3
Decorate 51(v) Location 4
Decorate 54(i) Location 5
Decorate 57(@entryPointOutput) Location 0
Name 23 "@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;"
Name 19 "input"
Name 20 "out1"
Name 21 "out2"
Name 22 "out3"
Name 42 "local"
Name 49 "param"
Name 55 "input"
Name 57 "input"
Name 60 "@entryPointOutput"
Name 61 "out1"
Name 62 "out2"
Name 63 "out3"
Name 64 "param"
Name 66 "param"
Name 67 "param"
Name 68 "param"
Name 73 "out1"
Name 76 "v"
Name 80 "i"
Name 83 "v"
Name 86 "i"
Decorate 57(input) Location 0
Decorate 60(@entryPointOutput) Location 0
Decorate 73(out1) Location 1
Decorate 76(v) Location 2
Decorate 80(i) Location 3
Decorate 83(v) Location 4
Decorate 86(i) Location 5
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -222,66 +296,104 @@ gl_FragCoord origin is upper left
10(OutParam): TypeStruct 7(fvec2) 9(ivec2)
11: TypePointer Function 10(OutParam)
12: TypeFunction 2 11(ptr)
16: 8(int) Constant 0
17: 6(float) Constant 1053609165
18: 7(fvec2) ConstantComposite 17 17
19: TypePointer Function 7(fvec2)
21: 8(int) Constant 1
22: 8(int) Constant 7
23: 9(ivec2) ConstantComposite 22 22
24: TypePointer Function 9(ivec2)
26: TypeVector 6(float) 4
27: TypePointer Output 26(fvec4)
28(out1): 27(ptr) Variable Output
29: TypePointer Input 26(fvec4)
30(input): 29(ptr) Variable Input
32: TypePointer Output 7(fvec2)
33(v): 32(ptr) Variable Output
34: 6(float) Constant 1073741824
35: 7(fvec2) ConstantComposite 34 34
36: TypePointer Output 9(ivec2)
37(i): 36(ptr) Variable Output
38: 8(int) Constant 3
39: 9(ivec2) ConstantComposite 38 38
41: 6(float) Constant 1094713344
42: 7(fvec2) ConstantComposite 41 41
44: 8(int) Constant 13
45: 9(ivec2) ConstantComposite 44 44
51(v): 32(ptr) Variable Output
54(i): 36(ptr) Variable Output
57(@entryPointOutput): 27(ptr) Variable Output
16: TypeVector 6(float) 4
17: TypePointer Function 16(fvec4)
18: TypeFunction 16(fvec4) 17(ptr) 17(ptr) 11(ptr) 11(ptr)
25: 8(int) Constant 0
26: 6(float) Constant 1053609165
27: 7(fvec2) ConstantComposite 26 26
28: TypePointer Function 7(fvec2)
30: 8(int) Constant 1
31: 8(int) Constant 7
32: 9(ivec2) ConstantComposite 31 31
33: TypePointer Function 9(ivec2)
36: 6(float) Constant 1073741824
37: 7(fvec2) ConstantComposite 36 36
39: 8(int) Constant 3
40: 9(ivec2) ConstantComposite 39 39
43: 6(float) Constant 1094713344
44: 7(fvec2) ConstantComposite 43 43
46: 8(int) Constant 13
47: 9(ivec2) ConstantComposite 46 46
56: TypePointer Input 16(fvec4)
57(input): 56(ptr) Variable Input
59: TypePointer Output 16(fvec4)
60(@entryPointOutput): 59(ptr) Variable Output
73(out1): 59(ptr) Variable Output
75: TypePointer Output 7(fvec2)
76(v): 75(ptr) Variable Output
79: TypePointer Output 9(ivec2)
80(i): 79(ptr) Variable Output
83(v): 75(ptr) Variable Output
86(i): 79(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
40(local): 11(ptr) Variable Function
47(tempArg): 11(ptr) Variable Function
48(param): 11(ptr) Variable Function
31: 26(fvec4) Load 30(input)
Store 28(out1) 31
Store 33(v) 35
Store 37(i) 39
43: 19(ptr) AccessChain 40(local) 16
Store 43 42
46: 24(ptr) AccessChain 40(local) 21
Store 46 45
49: 2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 48(param)
50:10(OutParam) Load 48(param)
Store 47(tempArg) 50
52: 19(ptr) AccessChain 47(tempArg) 16
53: 7(fvec2) Load 52
Store 51(v) 53
55: 24(ptr) AccessChain 47(tempArg) 21
56: 9(ivec2) Load 55
Store 54(i) 56
58: 26(fvec4) Load 28(out1)
Store 57(@entryPointOutput) 58
55(input): 17(ptr) Variable Function
61(out1): 17(ptr) Variable Function
62(out2): 11(ptr) Variable Function
63(out3): 11(ptr) Variable Function
64(param): 17(ptr) Variable Function
66(param): 17(ptr) Variable Function
67(param): 11(ptr) Variable Function
68(param): 11(ptr) Variable Function
58: 16(fvec4) Load 57(input)
Store 55(input) 58
65: 16(fvec4) Load 55(input)
Store 64(param) 65
69: 16(fvec4) FunctionCall 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;) 64(param) 66(param) 67(param) 68(param)
70: 16(fvec4) Load 66(param)
Store 61(out1) 70
71:10(OutParam) Load 67(param)
Store 62(out2) 71
72:10(OutParam) Load 68(param)
Store 63(out3) 72
Store 60(@entryPointOutput) 69
74: 16(fvec4) Load 61(out1)
Store 73(out1) 74
77: 28(ptr) AccessChain 62(out2) 25
78: 7(fvec2) Load 77
Store 76(v) 78
81: 33(ptr) AccessChain 62(out2) 30
82: 9(ivec2) Load 81
Store 80(i) 82
84: 28(ptr) AccessChain 63(out3) 25
85: 7(fvec2) Load 84
Store 83(v) 85
87: 33(ptr) AccessChain 63(out3) 30
88: 9(ivec2) Load 87
Store 86(i) 88
Return
FunctionEnd
14(fun(struct-OutParam-vf2-vi21;): 2 Function None 12
13(op): 11(ptr) FunctionParameter
15: Label
20: 19(ptr) AccessChain 13(op) 16
Store 20 18
25: 24(ptr) AccessChain 13(op) 21
Store 25 23
29: 28(ptr) AccessChain 13(op) 25
Store 29 27
34: 33(ptr) AccessChain 13(op) 30
Store 34 32
Return
FunctionEnd
23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;): 16(fvec4) Function None 18
19(input): 17(ptr) FunctionParameter
20(out1): 17(ptr) FunctionParameter
21(out2): 11(ptr) FunctionParameter
22(out3): 11(ptr) FunctionParameter
24: Label
42(local): 11(ptr) Variable Function
49(param): 11(ptr) Variable Function
35: 16(fvec4) Load 19(input)
Store 20(out1) 35
38: 28(ptr) AccessChain 21(out2) 25
Store 38 37
41: 33(ptr) AccessChain 21(out2) 30
Store 41 40
45: 28(ptr) AccessChain 42(local) 25
Store 45 44
48: 33(ptr) AccessChain 42(local) 30
Store 48 47
50: 2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 49(param)
51:10(OutParam) Load 49(param)
Store 22(out3) 51
52: 16(fvec4) Load 20(out1)
ReturnValue 52
FunctionEnd

View File

@ -4,7 +4,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: not_the_entry_point( (temp void)
0:7 Function Parameters:
0:11 Function Definition: main_in_spv( (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: @main_in_spv( (temp structure{temp 4-component vector of float Color})
0:11 Function Parameters:
0:? Sequence
0:13 move second child to first child (temp 4-component vector of float)
@ -17,15 +17,18 @@ gl_FragCoord origin is upper left
0:13 0.000000
0:13 0.000000
0:13 0.000000
0:14 Sequence
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:14 Color: direct index for structure (temp 4-component vector of float)
0:14 'psout' (temp structure{temp 4-component vector of float Color})
0:14 Constant:
0:14 0 (const int)
0:14 Branch: Return
0:14 Branch: Return with expression
0:14 'psout' (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: main_in_spv( (temp void)
0:11 Function Parameters:
0:? Sequence
0:11 Sequence
0:11 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:11 Color: direct index for structure (temp 4-component vector of float)
0:11 Function Call: @main_in_spv( (temp structure{temp 4-component vector of float Color})
0:11 Constant:
0:11 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int also_not_the_entry_point})
@ -39,7 +42,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: not_the_entry_point( (temp void)
0:7 Function Parameters:
0:11 Function Definition: main_in_spv( (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: @main_in_spv( (temp structure{temp 4-component vector of float Color})
0:11 Function Parameters:
0:? Sequence
0:13 move second child to first child (temp 4-component vector of float)
@ -52,68 +55,78 @@ gl_FragCoord origin is upper left
0:13 0.000000
0:13 0.000000
0:13 0.000000
0:14 Sequence
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:14 Color: direct index for structure (temp 4-component vector of float)
0:14 'psout' (temp structure{temp 4-component vector of float Color})
0:14 Constant:
0:14 0 (const int)
0:14 Branch: Return
0:14 Branch: Return with expression
0:14 'psout' (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: main_in_spv( (temp void)
0:11 Function Parameters:
0:? Sequence
0:11 Sequence
0:11 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:11 Color: direct index for structure (temp 4-component vector of float)
0:11 Function Call: @main_in_spv( (temp structure{temp 4-component vector of float Color})
0:11 Constant:
0:11 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int also_not_the_entry_point})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 27
// Id's are bound by 32
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main_in_spv" 20
EntryPoint Fragment 4 "main_in_spv" 26
ExecutionMode 4 OriginUpperLeft
Name 4 "main_in_spv"
Name 6 "not_the_entry_point("
Name 10 "PS_OUTPUT"
MemberName 10(PS_OUTPUT) 0 "Color"
Name 12 "psout"
Name 20 "Color"
Name 24 "$Global"
MemberName 24($Global) 0 "also_not_the_entry_point"
Name 26 ""
Decorate 20(Color) Location 0
MemberDecorate 24($Global) 0 Offset 0
Decorate 24($Global) Block
Decorate 26 DescriptorSet 0
Name 12 "@main_in_spv("
Name 15 "psout"
Name 26 "Color"
Name 29 "$Global"
MemberName 29($Global) 0 "also_not_the_entry_point"
Name 31 ""
Decorate 26(Color) Location 0
MemberDecorate 29($Global) 0 Offset 0
Decorate 29($Global) Block
Decorate 31 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
8: TypeFloat 32
9: TypeVector 8(float) 4
10(PS_OUTPUT): TypeStruct 9(fvec4)
11: TypePointer Function 10(PS_OUTPUT)
13: TypeInt 32 1
14: 13(int) Constant 0
15: 8(float) Constant 0
16: 9(fvec4) ConstantComposite 15 15 15 15
17: TypePointer Function 9(fvec4)
19: TypePointer Output 9(fvec4)
20(Color): 19(ptr) Variable Output
24($Global): TypeStruct 13(int)
25: TypePointer Uniform 24($Global)
26: 25(ptr) Variable Uniform
11: TypeFunction 10(PS_OUTPUT)
14: TypePointer Function 10(PS_OUTPUT)
16: TypeInt 32 1
17: 16(int) Constant 0
18: 8(float) Constant 0
19: 9(fvec4) ConstantComposite 18 18 18 18
20: TypePointer Function 9(fvec4)
25: TypePointer Output 9(fvec4)
26(Color): 25(ptr) Variable Output
29($Global): TypeStruct 16(int)
30: TypePointer Uniform 29($Global)
31: 30(ptr) Variable Uniform
4(main_in_spv): 2 Function None 3
5: Label
12(psout): 11(ptr) Variable Function
18: 17(ptr) AccessChain 12(psout) 14
Store 18 16
21: 17(ptr) AccessChain 12(psout) 14
22: 9(fvec4) Load 21
Store 20(Color) 22
27:10(PS_OUTPUT) FunctionCall 12(@main_in_spv()
28: 9(fvec4) CompositeExtract 27 0
Store 26(Color) 28
Return
FunctionEnd
6(not_the_entry_point(): 2 Function None 3
7: Label
Return
FunctionEnd
12(@main_in_spv():10(PS_OUTPUT) Function None 11
13: Label
15(psout): 14(ptr) Variable Function
21: 20(ptr) AccessChain 15(psout) 17
Store 21 19
22:10(PS_OUTPUT) Load 15(psout)
ReturnValue 22
FunctionEnd

View File

@ -14,39 +14,42 @@ gl_FragCoord origin is upper left
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:16 Function Definition: main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Function Definition: @main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Function Parameters:
0:? Sequence
0:17 Sequence
0:17 Sequence
0:17 move second child to first child (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Function Call: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:17 color: direct index for structure (temp 4-component vector of float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 0 (const int)
0:17 move second child to first child (temp float)
0:? 'other_struct_member1' (layout(location=1 ) out float)
0:17 other_struct_member1: direct index for structure (temp float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 1 (const int)
0:17 move second child to first child (temp float)
0:? 'other_struct_member2' (layout(location=2 ) out float)
0:17 other_struct_member2: direct index for structure (temp float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 2 (const int)
0:17 move second child to first child (temp float)
0:? 'other_struct_member3' (layout(location=3 ) out float)
0:17 other_struct_member3: direct index for structure (temp float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 3 (const int)
0:17 Branch: Return
0:17 Branch: Return with expression
0:17 Function Call: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Function Definition: main( (temp void)
0:16 Function Parameters:
0:? Sequence
0:16 Sequence
0:16 move second child to first child (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Function Call: @main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:16 color: direct index for structure (temp 4-component vector of float)
0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Constant:
0:16 0 (const int)
0:16 move second child to first child (temp float)
0:? 'other_struct_member1' (layout(location=1 ) out float)
0:16 other_struct_member1: direct index for structure (temp float)
0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Constant:
0:16 1 (const int)
0:16 move second child to first child (temp float)
0:? 'other_struct_member2' (layout(location=2 ) out float)
0:16 other_struct_member2: direct index for structure (temp float)
0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Constant:
0:16 2 (const int)
0:16 move second child to first child (temp float)
0:? 'other_struct_member3' (layout(location=3 ) out float)
0:16 other_struct_member3: direct index for structure (temp float)
0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Constant:
0:16 3 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'other_struct_member1' (layout(location=1 ) out float)
@ -72,39 +75,42 @@ gl_FragCoord origin is upper left
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:16 Function Definition: main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Function Definition: @main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Function Parameters:
0:? Sequence
0:17 Sequence
0:17 Sequence
0:17 move second child to first child (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Function Call: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:17 color: direct index for structure (temp 4-component vector of float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 0 (const int)
0:17 move second child to first child (temp float)
0:? 'other_struct_member1' (layout(location=1 ) out float)
0:17 other_struct_member1: direct index for structure (temp float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 1 (const int)
0:17 move second child to first child (temp float)
0:? 'other_struct_member2' (layout(location=2 ) out float)
0:17 other_struct_member2: direct index for structure (temp float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 2 (const int)
0:17 move second child to first child (temp float)
0:? 'other_struct_member3' (layout(location=3 ) out float)
0:17 other_struct_member3: direct index for structure (temp float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 3 (const int)
0:17 Branch: Return
0:17 Branch: Return with expression
0:17 Function Call: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Function Definition: main( (temp void)
0:16 Function Parameters:
0:? Sequence
0:16 Sequence
0:16 move second child to first child (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Function Call: @main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:16 color: direct index for structure (temp 4-component vector of float)
0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Constant:
0:16 0 (const int)
0:16 move second child to first child (temp float)
0:? 'other_struct_member1' (layout(location=1 ) out float)
0:16 other_struct_member1: direct index for structure (temp float)
0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Constant:
0:16 1 (const int)
0:16 move second child to first child (temp float)
0:? 'other_struct_member2' (layout(location=2 ) out float)
0:16 other_struct_member2: direct index for structure (temp float)
0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Constant:
0:16 2 (const int)
0:16 move second child to first child (temp float)
0:? 'other_struct_member3' (layout(location=3 ) out float)
0:16 other_struct_member3: direct index for structure (temp float)
0:16 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Constant:
0:16 3 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'other_struct_member1' (layout(location=1 ) out float)
@ -113,12 +119,12 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 45
// Id's are bound by 49
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 24 31 36 40
EntryPoint Fragment 4 "main" 29 36 41 45
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "PS_OUTPUT"
@ -127,61 +133,67 @@ gl_FragCoord origin is upper left
MemberName 8(PS_OUTPUT) 2 "other_struct_member2"
MemberName 8(PS_OUTPUT) 3 "other_struct_member3"
Name 10 "Func1("
Name 21 "flattenTemp"
Name 24 "color"
Name 31 "other_struct_member1"
Name 36 "other_struct_member2"
Name 40 "other_struct_member3"
Decorate 24(color) Location 0
Decorate 31(other_struct_member1) Location 1
Decorate 36(other_struct_member2) Location 2
Decorate 40(other_struct_member3) Location 3
Name 12 "@main("
Name 26 "flattenTemp"
Name 29 "color"
Name 36 "other_struct_member1"
Name 41 "other_struct_member2"
Name 45 "other_struct_member3"
Decorate 29(color) Location 0
Decorate 36(other_struct_member1) Location 1
Decorate 41(other_struct_member2) Location 2
Decorate 45(other_struct_member3) Location 3
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 6(float) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: 6(float) Constant 1065353216
13: 7(fvec4) ConstantComposite 12 12 12 12
14: 6(float) Constant 1073741824
15: 6(float) Constant 1077936128
16: 6(float) Constant 1082130432
17:8(PS_OUTPUT) ConstantComposite 13 14 15 16
20: TypePointer Function 8(PS_OUTPUT)
23: TypePointer Output 7(fvec4)
24(color): 23(ptr) Variable Output
25: TypeInt 32 1
26: 25(int) Constant 0
27: TypePointer Function 7(fvec4)
30: TypePointer Output 6(float)
31(other_struct_member1): 30(ptr) Variable Output
32: 25(int) Constant 1
33: TypePointer Function 6(float)
36(other_struct_member2): 30(ptr) Variable Output
37: 25(int) Constant 2
40(other_struct_member3): 30(ptr) Variable Output
41: 25(int) Constant 3
14: 6(float) Constant 1065353216
15: 7(fvec4) ConstantComposite 14 14 14 14
16: 6(float) Constant 1073741824
17: 6(float) Constant 1077936128
18: 6(float) Constant 1082130432
19:8(PS_OUTPUT) ConstantComposite 15 16 17 18
25: TypePointer Function 8(PS_OUTPUT)
28: TypePointer Output 7(fvec4)
29(color): 28(ptr) Variable Output
30: TypeInt 32 1
31: 30(int) Constant 0
32: TypePointer Function 7(fvec4)
35: TypePointer Output 6(float)
36(other_struct_member1): 35(ptr) Variable Output
37: 30(int) Constant 1
38: TypePointer Function 6(float)
41(other_struct_member2): 35(ptr) Variable Output
42: 30(int) Constant 2
45(other_struct_member3): 35(ptr) Variable Output
46: 30(int) Constant 3
4(main): 2 Function None 3
5: Label
21(flattenTemp): 20(ptr) Variable Function
22:8(PS_OUTPUT) FunctionCall 10(Func1()
Store 21(flattenTemp) 22
28: 27(ptr) AccessChain 21(flattenTemp) 26
29: 7(fvec4) Load 28
Store 24(color) 29
34: 33(ptr) AccessChain 21(flattenTemp) 32
35: 6(float) Load 34
Store 31(other_struct_member1) 35
38: 33(ptr) AccessChain 21(flattenTemp) 37
39: 6(float) Load 38
Store 36(other_struct_member2) 39
42: 33(ptr) AccessChain 21(flattenTemp) 41
43: 6(float) Load 42
Store 40(other_struct_member3) 43
26(flattenTemp): 25(ptr) Variable Function
27:8(PS_OUTPUT) FunctionCall 12(@main()
Store 26(flattenTemp) 27
33: 32(ptr) AccessChain 26(flattenTemp) 31
34: 7(fvec4) Load 33
Store 29(color) 34
39: 38(ptr) AccessChain 26(flattenTemp) 37
40: 6(float) Load 39
Store 36(other_struct_member1) 40
43: 38(ptr) AccessChain 26(flattenTemp) 42
44: 6(float) Load 43
Store 41(other_struct_member2) 44
47: 38(ptr) AccessChain 26(flattenTemp) 46
48: 6(float) Load 47
Store 45(other_struct_member3) 48
Return
FunctionEnd
10(Func1():8(PS_OUTPUT) Function None 9
11: Label
ReturnValue 17
ReturnValue 19
FunctionEnd
12(@main():8(PS_OUTPUT) Function None 9
13: Label
22:8(PS_OUTPUT) FunctionCall 10(Func1()
ReturnValue 22
FunctionEnd

View File

@ -2,9 +2,9 @@ hlsl.forLoop.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:? Sequence
0:3 Loop with condition tested first
@ -12,7 +12,7 @@ gl_FragCoord origin is upper left
0:3 No loop body
0:4 Sequence
0:4 Pre-Increment (temp 4-component vector of float)
0:4 'input' (layout(location=0 ) in 4-component vector of float)
0:4 'input' (in 4-component vector of float)
0:4 Loop with condition tested first
0:4 No loop condition
0:4 No loop body
@ -21,44 +21,38 @@ gl_FragCoord origin is upper left
0:5 Loop Condition
0:5 any (temp bool)
0:5 NotEqual (temp 4-component vector of bool)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 'input' (in 4-component vector of float)
0:5 'input' (in 4-component vector of float)
0:5 No loop body
0:? Sequence
0:6 Loop with condition tested first
0:6 Loop Condition
0:6 any (temp bool)
0:6 NotEqual (temp 4-component vector of bool)
0:6 'input' (layout(location=0 ) in 4-component vector of float)
0:6 'input' (layout(location=0 ) in 4-component vector of float)
0:6 'input' (in 4-component vector of float)
0:6 'input' (in 4-component vector of float)
0:6 Loop Body
0:? Sequence
0:6 Sequence
0:6 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:6 Negate value (temp 4-component vector of float)
0:6 'input' (layout(location=0 ) in 4-component vector of float)
0:6 Branch: Return
0:6 Branch: Return with expression
0:6 Negate value (temp 4-component vector of float)
0:6 'input' (in 4-component vector of float)
0:7 Sequence
0:7 Pre-Decrement (temp 4-component vector of float)
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 'input' (in 4-component vector of float)
0:7 Loop with condition tested first
0:7 Loop Condition
0:7 any (temp bool)
0:7 NotEqual (temp 4-component vector of bool)
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 'input' (in 4-component vector of float)
0:7 'input' (in 4-component vector of float)
0:7 Loop Body
0:? Sequence
0:7 Sequence
0:7 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:7 Negate value (temp 4-component vector of float)
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 Branch: Return
0:7 Branch: Return with expression
0:7 Negate value (temp 4-component vector of float)
0:7 'input' (in 4-component vector of float)
0:7 Loop Terminal Expression
0:7 add second child into first child (temp 4-component vector of float)
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 'input' (in 4-component vector of float)
0:7 Constant:
0:7 2.000000
0:? Sequence
@ -69,7 +63,7 @@ gl_FragCoord origin is upper left
0:8 Condition
0:8 Compare Greater Than (temp bool)
0:8 direct index (temp float)
0:8 'input' (layout(location=0 ) in 4-component vector of float)
0:8 'input' (in 4-component vector of float)
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
@ -84,7 +78,7 @@ gl_FragCoord origin is upper left
0:9 Condition
0:9 Compare Greater Than (temp bool)
0:9 direct index (temp float)
0:9 'input' (layout(location=0 ) in 4-component vector of float)
0:9 'input' (in 4-component vector of float)
0:9 Constant:
0:9 0 (const int)
0:9 Constant:
@ -116,6 +110,16 @@ gl_FragCoord origin is upper left
0:11 'ii' (temp int)
0:12 Pre-Decrement (temp float)
0:12 'ii' (temp float)
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
@ -127,9 +131,9 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:? Sequence
0:3 Loop with condition tested first
@ -137,7 +141,7 @@ gl_FragCoord origin is upper left
0:3 No loop body
0:4 Sequence
0:4 Pre-Increment (temp 4-component vector of float)
0:4 'input' (layout(location=0 ) in 4-component vector of float)
0:4 'input' (in 4-component vector of float)
0:4 Loop with condition tested first
0:4 No loop condition
0:4 No loop body
@ -146,44 +150,38 @@ gl_FragCoord origin is upper left
0:5 Loop Condition
0:5 any (temp bool)
0:5 NotEqual (temp 4-component vector of bool)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 'input' (in 4-component vector of float)
0:5 'input' (in 4-component vector of float)
0:5 No loop body
0:? Sequence
0:6 Loop with condition tested first
0:6 Loop Condition
0:6 any (temp bool)
0:6 NotEqual (temp 4-component vector of bool)
0:6 'input' (layout(location=0 ) in 4-component vector of float)
0:6 'input' (layout(location=0 ) in 4-component vector of float)
0:6 'input' (in 4-component vector of float)
0:6 'input' (in 4-component vector of float)
0:6 Loop Body
0:? Sequence
0:6 Sequence
0:6 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:6 Negate value (temp 4-component vector of float)
0:6 'input' (layout(location=0 ) in 4-component vector of float)
0:6 Branch: Return
0:6 Branch: Return with expression
0:6 Negate value (temp 4-component vector of float)
0:6 'input' (in 4-component vector of float)
0:7 Sequence
0:7 Pre-Decrement (temp 4-component vector of float)
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 'input' (in 4-component vector of float)
0:7 Loop with condition tested first
0:7 Loop Condition
0:7 any (temp bool)
0:7 NotEqual (temp 4-component vector of bool)
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 'input' (in 4-component vector of float)
0:7 'input' (in 4-component vector of float)
0:7 Loop Body
0:? Sequence
0:7 Sequence
0:7 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:7 Negate value (temp 4-component vector of float)
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 Branch: Return
0:7 Branch: Return with expression
0:7 Negate value (temp 4-component vector of float)
0:7 'input' (in 4-component vector of float)
0:7 Loop Terminal Expression
0:7 add second child into first child (temp 4-component vector of float)
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 'input' (in 4-component vector of float)
0:7 Constant:
0:7 2.000000
0:? Sequence
@ -194,7 +192,7 @@ gl_FragCoord origin is upper left
0:8 Condition
0:8 Compare Greater Than (temp bool)
0:8 direct index (temp float)
0:8 'input' (layout(location=0 ) in 4-component vector of float)
0:8 'input' (in 4-component vector of float)
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
@ -209,7 +207,7 @@ gl_FragCoord origin is upper left
0:9 Condition
0:9 Compare Greater Than (temp bool)
0:9 direct index (temp float)
0:9 'input' (layout(location=0 ) in 4-component vector of float)
0:9 'input' (in 4-component vector of float)
0:9 Constant:
0:9 0 (const int)
0:9 Constant:
@ -241,193 +239,220 @@ gl_FragCoord origin is upper left
0:11 'ii' (temp int)
0:12 Pre-Decrement (temp float)
0:12 'ii' (temp float)
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 114
// Id's are bound by 124
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 13 43
EntryPoint Fragment 4 "PixelShaderFunction" 117 120
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 13 "input"
Name 43 "@entryPointOutput"
Name 91 "ii"
Name 11 "@PixelShaderFunction(vf4;"
Name 10 "input"
Name 92 "ii"
Name 111 "ii"
Decorate 13(input) Location 0
Decorate 43(@entryPointOutput) Location 0
Name 115 "input"
Name 117 "input"
Name 120 "@entryPointOutput"
Name 121 "param"
Decorate 117(input) Location 0
Decorate 120(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
10: TypeFloat 32
11: TypeVector 10(float) 4
12: TypePointer Input 11(fvec4)
13(input): 12(ptr) Variable Input
15: 10(float) Constant 1065353216
29: TypeBool
30: TypeVector 29(bool) 4
42: TypePointer Output 11(fvec4)
43(@entryPointOutput): 42(ptr) Variable Output
62: 10(float) Constant 1073741824
70: TypeInt 32 0
71: 70(int) Constant 0
72: TypePointer Input 10(float)
89: TypeInt 32 1
90: TypePointer Function 89(int)
92: 89(int) Constant 4294967295
99: 89(int) Constant 3
102: 89(int) Constant 2
108: 89(int) Constant 1
110: TypePointer Function 10(float)
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr)
18: 6(float) Constant 1065353216
32: TypeBool
33: TypeVector 32(bool) 4
63: 6(float) Constant 1073741824
71: TypeInt 32 0
72: 71(int) Constant 0
73: TypePointer Function 6(float)
90: TypeInt 32 1
91: TypePointer Function 90(int)
93: 90(int) Constant 4294967295
100: 90(int) Constant 3
103: 90(int) Constant 2
109: 90(int) Constant 1
116: TypePointer Input 7(fvec4)
117(input): 116(ptr) Variable Input
119: TypePointer Output 7(fvec4)
120(@entryPointOutput): 119(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
91(ii): 90(ptr) Variable Function
111(ii): 110(ptr) Variable Function
Branch 6
6: Label
LoopMerge 8 9 None
Branch 7
7: Label
Branch 9
9: Label
Branch 6
8: Label
14: 11(fvec4) Load 13(input)
16: 11(fvec4) CompositeConstruct 15 15 15 15
17: 11(fvec4) FAdd 14 16
Store 13(input) 17
Branch 18
18: Label
LoopMerge 20 21 None
Branch 19
19: Label
Branch 21
21: Label
Branch 18
20: Label
Branch 22
22: Label
LoopMerge 24 25 None
Branch 26
26: Label
27: 11(fvec4) Load 13(input)
28: 11(fvec4) Load 13(input)
31: 30(bvec4) FOrdNotEqual 27 28
32: 29(bool) Any 31
BranchConditional 32 23 24
23: Label
Branch 25
25: Label
Branch 22
24: Label
Branch 33
33: Label
LoopMerge 35 36 None
Branch 37
37: Label
38: 11(fvec4) Load 13(input)
39: 11(fvec4) Load 13(input)
40: 30(bvec4) FOrdNotEqual 38 39
41: 29(bool) Any 40
BranchConditional 41 34 35
34: Label
44: 11(fvec4) Load 13(input)
45: 11(fvec4) FNegate 44
Store 43(@entryPointOutput) 45
Return
36: Label
Branch 33
35: Label
47: 11(fvec4) Load 13(input)
48: 11(fvec4) CompositeConstruct 15 15 15 15
49: 11(fvec4) FSub 47 48
Store 13(input) 49
Branch 50
50: Label
LoopMerge 52 53 None
Branch 54
54: Label
55: 11(fvec4) Load 13(input)
56: 11(fvec4) Load 13(input)
57: 30(bvec4) FOrdNotEqual 55 56
58: 29(bool) Any 57
BranchConditional 58 51 52
51: Label
59: 11(fvec4) Load 13(input)
60: 11(fvec4) FNegate 59
Store 43(@entryPointOutput) 60
Return
53: Label
63: 11(fvec4) Load 13(input)
64: 11(fvec4) CompositeConstruct 62 62 62 62
65: 11(fvec4) FAdd 63 64
Store 13(input) 65
Branch 50
52: Label
Branch 66
66: Label
LoopMerge 68 69 None
Branch 67
67: Label
73: 72(ptr) AccessChain 13(input) 71
74: 10(float) Load 73
75: 29(bool) FOrdGreaterThan 74 62
SelectionMerge 77 None
BranchConditional 75 76 77
76: Label
Branch 68
77: Label
Branch 69
69: Label
Branch 66
68: Label
Branch 79
79: Label
LoopMerge 81 82 None
Branch 80
80: Label
83: 72(ptr) AccessChain 13(input) 71
84: 10(float) Load 83
85: 29(bool) FOrdGreaterThan 84 62
SelectionMerge 87 None
BranchConditional 85 86 87
86: Label
Branch 82
87: Label
Branch 82
82: Label
Branch 79
81: Label
Store 91(ii) 92
Branch 93
93: Label
LoopMerge 95 96 None
Branch 97
97: Label
98: 89(int) Load 91(ii)
100: 29(bool) SLessThan 98 99
BranchConditional 100 94 95
94: Label
101: 89(int) Load 91(ii)
103: 29(bool) IEqual 101 102
SelectionMerge 105 None
BranchConditional 103 104 105
104: Label
Branch 96
105: Label
Branch 96
96: Label
107: 89(int) Load 91(ii)
109: 89(int) IAdd 107 108
Store 91(ii) 109
Branch 93
95: Label
112: 10(float) Load 111(ii)
113: 10(float) FSub 112 15
Store 111(ii) 113
115(input): 8(ptr) Variable Function
121(param): 8(ptr) Variable Function
118: 7(fvec4) Load 117(input)
Store 115(input) 118
122: 7(fvec4) Load 115(input)
Store 121(param) 122
123: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 121(param)
Store 120(@entryPointOutput) 123
Return
FunctionEnd
11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9
10(input): 8(ptr) FunctionParameter
12: Label
92(ii): 91(ptr) Variable Function
111(ii): 73(ptr) Variable Function
Branch 13
13: Label
LoopMerge 15 16 None
Branch 14
14: Label
Branch 16
16: Label
Branch 13
15: Label
17: 7(fvec4) Load 10(input)
19: 7(fvec4) CompositeConstruct 18 18 18 18
20: 7(fvec4) FAdd 17 19
Store 10(input) 20
Branch 21
21: Label
LoopMerge 23 24 None
Branch 22
22: Label
Branch 24
24: Label
Branch 21
23: Label
Branch 25
25: Label
LoopMerge 27 28 None
Branch 29
29: Label
30: 7(fvec4) Load 10(input)
31: 7(fvec4) Load 10(input)
34: 33(bvec4) FOrdNotEqual 30 31
35: 32(bool) Any 34
BranchConditional 35 26 27
26: Label
Branch 28
28: Label
Branch 25
27: Label
Branch 36
36: Label
LoopMerge 38 39 None
Branch 40
40: Label
41: 7(fvec4) Load 10(input)
42: 7(fvec4) Load 10(input)
43: 33(bvec4) FOrdNotEqual 41 42
44: 32(bool) Any 43
BranchConditional 44 37 38
37: Label
45: 7(fvec4) Load 10(input)
46: 7(fvec4) FNegate 45
ReturnValue 46
39: Label
Branch 36
38: Label
48: 7(fvec4) Load 10(input)
49: 7(fvec4) CompositeConstruct 18 18 18 18
50: 7(fvec4) FSub 48 49
Store 10(input) 50
Branch 51
51: Label
LoopMerge 53 54 None
Branch 55
55: Label
56: 7(fvec4) Load 10(input)
57: 7(fvec4) Load 10(input)
58: 33(bvec4) FOrdNotEqual 56 57
59: 32(bool) Any 58
BranchConditional 59 52 53
52: Label
60: 7(fvec4) Load 10(input)
61: 7(fvec4) FNegate 60
ReturnValue 61
54: Label
64: 7(fvec4) Load 10(input)
65: 7(fvec4) CompositeConstruct 63 63 63 63
66: 7(fvec4) FAdd 64 65
Store 10(input) 66
Branch 51
53: Label
Branch 67
67: Label
LoopMerge 69 70 None
Branch 68
68: Label
74: 73(ptr) AccessChain 10(input) 72
75: 6(float) Load 74
76: 32(bool) FOrdGreaterThan 75 63
SelectionMerge 78 None
BranchConditional 76 77 78
77: Label
Branch 69
78: Label
Branch 70
70: Label
Branch 67
69: Label
Branch 80
80: Label
LoopMerge 82 83 None
Branch 81
81: Label
84: 73(ptr) AccessChain 10(input) 72
85: 6(float) Load 84
86: 32(bool) FOrdGreaterThan 85 63
SelectionMerge 88 None
BranchConditional 86 87 88
87: Label
Branch 83
88: Label
Branch 83
83: Label
Branch 80
82: Label
Store 92(ii) 93
Branch 94
94: Label
LoopMerge 96 97 None
Branch 98
98: Label
99: 90(int) Load 92(ii)
101: 32(bool) SLessThan 99 100
BranchConditional 101 95 96
95: Label
102: 90(int) Load 92(ii)
104: 32(bool) IEqual 102 103
SelectionMerge 106 None
BranchConditional 104 105 106
105: Label
Branch 97
106: Label
Branch 97
97: Label
108: 90(int) Load 92(ii)
110: 90(int) IAdd 108 109
Store 92(ii) 110
Branch 94
96: Label
112: 6(float) Load 111(ii)
113: 6(float) FSub 112 18
Store 111(ii) 113
114: 7(fvec4) Undef
ReturnValue 114
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.gather.array.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:29 Sequence
@ -91,24 +91,28 @@ gl_FragCoord origin is upper left
0:40 1 (const int)
0:40 Constant:
0:40 1.000000
0:42 Sequence
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:42 Color: direct index for structure (temp 4-component vector of float)
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:42 Constant:
0:42 0 (const int)
0:42 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:42 Depth: direct index for structure (temp float)
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:42 Constant:
0:42 1 (const int)
0:42 Branch: Return
0:42 Branch: Return with expression
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp void)
0:24 Function Parameters:
0:? Sequence
0:24 Sequence
0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:24 Color: direct index for structure (temp 4-component vector of float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:24 Depth: direct index for structure (temp float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@ -120,6 +124,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@ -128,7 +134,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:29 Sequence
@ -217,24 +223,28 @@ gl_FragCoord origin is upper left
0:40 1 (const int)
0:40 Constant:
0:40 1.000000
0:42 Sequence
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:42 Color: direct index for structure (temp 4-component vector of float)
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:42 Constant:
0:42 0 (const int)
0:42 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:42 Depth: direct index for structure (temp float)
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:42 Constant:
0:42 1 (const int)
0:42 Branch: Return
0:42 Branch: Return with expression
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp void)
0:24 Function Parameters:
0:? Sequence
0:24 Sequence
0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:24 Color: direct index for structure (temp 4-component vector of float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:24 Depth: direct index for structure (temp float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@ -246,181 +256,194 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 117
// Id's are bound by 124
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 99 103
EntryPoint Fragment 4 "main" 107 111
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "txval20"
Name 12 "g_tTex2df4a"
Name 16 "g_sSamp"
Name 30 "txval21"
Name 33 "g_tTex2di4a"
Name 45 "txval22"
Name 48 "g_tTex2du4a"
Name 57 "txval40"
Name 60 "g_tTexcdf4a"
Name 67 "txval41"
Name 70 "g_tTexcdi4a"
Name 77 "txval42"
Name 80 "g_tTexcdu4a"
Name 90 "PS_OUTPUT"
MemberName 90(PS_OUTPUT) 0 "Color"
MemberName 90(PS_OUTPUT) 1 "Depth"
Name 92 "psout"
Name 99 "Color"
Name 103 "Depth"
Name 109 "g_tTex1df4a"
Name 110 "g_tTex1df4"
Name 113 "g_tTex1di4a"
Name 116 "g_tTex1du4a"
Decorate 12(g_tTex2df4a) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 0
Decorate 16(g_sSamp) Binding 0
Decorate 33(g_tTex2di4a) DescriptorSet 0
Decorate 48(g_tTex2du4a) DescriptorSet 0
Decorate 60(g_tTexcdf4a) DescriptorSet 0
Decorate 70(g_tTexcdi4a) DescriptorSet 0
Decorate 80(g_tTexcdu4a) DescriptorSet 0
Decorate 99(Color) Location 0
Decorate 103(Depth) BuiltIn FragDepth
Decorate 109(g_tTex1df4a) DescriptorSet 0
Decorate 109(g_tTex1df4a) Binding 1
Decorate 110(g_tTex1df4) DescriptorSet 0
Decorate 110(g_tTex1df4) Binding 0
Decorate 113(g_tTex1di4a) DescriptorSet 0
Decorate 116(g_tTex1du4a) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 13 "txval20"
Name 16 "g_tTex2df4a"
Name 20 "g_sSamp"
Name 34 "txval21"
Name 37 "g_tTex2di4a"
Name 49 "txval22"
Name 52 "g_tTex2du4a"
Name 61 "txval40"
Name 64 "g_tTexcdf4a"
Name 71 "txval41"
Name 74 "g_tTexcdi4a"
Name 81 "txval42"
Name 84 "g_tTexcdu4a"
Name 95 "psout"
Name 104 "flattenTemp"
Name 107 "Color"
Name 111 "Depth"
Name 116 "g_tTex1df4a"
Name 117 "g_tTex1df4"
Name 120 "g_tTex1di4a"
Name 123 "g_tTex1du4a"
Decorate 16(g_tTex2df4a) DescriptorSet 0
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
Decorate 37(g_tTex2di4a) DescriptorSet 0
Decorate 52(g_tTex2du4a) DescriptorSet 0
Decorate 64(g_tTexcdf4a) DescriptorSet 0
Decorate 74(g_tTexcdi4a) DescriptorSet 0
Decorate 84(g_tTexcdu4a) DescriptorSet 0
Decorate 107(Color) Location 0
Decorate 111(Depth) BuiltIn FragDepth
Decorate 116(g_tTex1df4a) DescriptorSet 0
Decorate 116(g_tTex1df4a) Binding 1
Decorate 117(g_tTex1df4) DescriptorSet 0
Decorate 117(g_tTex1df4) Binding 0
Decorate 120(g_tTex1di4a) DescriptorSet 0
Decorate 123(g_tTex1du4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypeImage 6(float) 2D array sampled format:Unknown
11: TypePointer UniformConstant 10
12(g_tTex2df4a): 11(ptr) Variable UniformConstant
14: TypeSampler
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 7(fvec4)
14: TypeImage 6(float) 2D array sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10
20: TypeVector 6(float) 3
21: 6(float) Constant 1036831949
22: 6(float) Constant 1045220557
23: 6(float) Constant 1050253722
24: 20(fvec3) ConstantComposite 21 22 23
25: TypeInt 32 1
26: 25(int) Constant 0
28: TypeVector 25(int) 4
29: TypePointer Function 28(ivec4)
31: TypeImage 25(int) 2D array sampled format:Unknown
32: TypePointer UniformConstant 31
33(g_tTex2di4a): 32(ptr) Variable UniformConstant
36: TypeSampledImage 31
38: 6(float) Constant 1053609165
39: 6(float) Constant 1056964608
40: 20(fvec3) ConstantComposite 23 38 39
42: TypeInt 32 0
43: TypeVector 42(int) 4
44: TypePointer Function 43(ivec4)
46: TypeImage 42(int) 2D array sampled format:Unknown
47: TypePointer UniformConstant 46
48(g_tTex2du4a): 47(ptr) Variable UniformConstant
51: TypeSampledImage 46
53: 6(float) Constant 1058642330
54: 6(float) Constant 1060320051
55: 20(fvec3) ConstantComposite 39 53 54
58: TypeImage 6(float) Cube array sampled format:Unknown
59: TypePointer UniformConstant 58
60(g_tTexcdf4a): 59(ptr) Variable UniformConstant
63: TypeSampledImage 58
65: 7(fvec4) ConstantComposite 21 22 23 38
68: TypeImage 25(int) Cube array sampled format:Unknown
69: TypePointer UniformConstant 68
70(g_tTexcdi4a): 69(ptr) Variable UniformConstant
73: TypeSampledImage 68
75: 7(fvec4) ConstantComposite 38 39 53 54
78: TypeImage 42(int) Cube array sampled format:Unknown
79: TypePointer UniformConstant 78
80(g_tTexcdu4a): 79(ptr) Variable UniformConstant
83: TypeSampledImage 78
85: 6(float) Constant 1061997773
86: 6(float) Constant 1063675494
87: 6(float) Constant 1065353216
88: 7(fvec4) ConstantComposite 54 85 86 87
90(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
91: TypePointer Function 90(PS_OUTPUT)
93: 7(fvec4) ConstantComposite 87 87 87 87
95: 25(int) Constant 1
96: TypePointer Function 6(float)
98: TypePointer Output 7(fvec4)
99(Color): 98(ptr) Variable Output
102: TypePointer Output 6(float)
103(Depth): 102(ptr) Variable Output
107: TypeImage 6(float) 1D array sampled format:Unknown
108: TypePointer UniformConstant 107
109(g_tTex1df4a): 108(ptr) Variable UniformConstant
110(g_tTex1df4): 108(ptr) Variable UniformConstant
111: TypeImage 25(int) 1D array sampled format:Unknown
112: TypePointer UniformConstant 111
113(g_tTex1di4a): 112(ptr) Variable UniformConstant
114: TypeImage 42(int) 1D array sampled format:Unknown
16(g_tTex2df4a): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeSampledImage 14
24: TypeVector 6(float) 3
25: 6(float) Constant 1036831949
26: 6(float) Constant 1045220557
27: 6(float) Constant 1050253722
28: 24(fvec3) ConstantComposite 25 26 27
29: TypeInt 32 1
30: 29(int) Constant 0
32: TypeVector 29(int) 4
33: TypePointer Function 32(ivec4)
35: TypeImage 29(int) 2D array sampled format:Unknown
36: TypePointer UniformConstant 35
37(g_tTex2di4a): 36(ptr) Variable UniformConstant
40: TypeSampledImage 35
42: 6(float) Constant 1053609165
43: 6(float) Constant 1056964608
44: 24(fvec3) ConstantComposite 27 42 43
46: TypeInt 32 0
47: TypeVector 46(int) 4
48: TypePointer Function 47(ivec4)
50: TypeImage 46(int) 2D array sampled format:Unknown
51: TypePointer UniformConstant 50
52(g_tTex2du4a): 51(ptr) Variable UniformConstant
55: TypeSampledImage 50
57: 6(float) Constant 1058642330
58: 6(float) Constant 1060320051
59: 24(fvec3) ConstantComposite 43 57 58
62: TypeImage 6(float) Cube array sampled format:Unknown
63: TypePointer UniformConstant 62
64(g_tTexcdf4a): 63(ptr) Variable UniformConstant
67: TypeSampledImage 62
69: 7(fvec4) ConstantComposite 25 26 27 42
72: TypeImage 29(int) Cube array sampled format:Unknown
73: TypePointer UniformConstant 72
74(g_tTexcdi4a): 73(ptr) Variable UniformConstant
77: TypeSampledImage 72
79: 7(fvec4) ConstantComposite 42 43 57 58
82: TypeImage 46(int) Cube array sampled format:Unknown
83: TypePointer UniformConstant 82
84(g_tTexcdu4a): 83(ptr) Variable UniformConstant
87: TypeSampledImage 82
89: 6(float) Constant 1061997773
90: 6(float) Constant 1063675494
91: 6(float) Constant 1065353216
92: 7(fvec4) ConstantComposite 58 89 90 91
94: TypePointer Function 8(PS_OUTPUT)
96: 7(fvec4) ConstantComposite 91 91 91 91
98: 29(int) Constant 1
99: TypePointer Function 6(float)
106: TypePointer Output 7(fvec4)
107(Color): 106(ptr) Variable Output
110: TypePointer Output 6(float)
111(Depth): 110(ptr) Variable Output
114: TypeImage 6(float) 1D array sampled format:Unknown
115: TypePointer UniformConstant 114
116(g_tTex1du4a): 115(ptr) Variable UniformConstant
116(g_tTex1df4a): 115(ptr) Variable UniformConstant
117(g_tTex1df4): 115(ptr) Variable UniformConstant
118: TypeImage 29(int) 1D array sampled format:Unknown
119: TypePointer UniformConstant 118
120(g_tTex1di4a): 119(ptr) Variable UniformConstant
121: TypeImage 46(int) 1D array sampled format:Unknown
122: TypePointer UniformConstant 121
123(g_tTex1du4a): 122(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(txval20): 8(ptr) Variable Function
30(txval21): 29(ptr) Variable Function
45(txval22): 44(ptr) Variable Function
57(txval40): 8(ptr) Variable Function
67(txval41): 29(ptr) Variable Function
77(txval42): 44(ptr) Variable Function
92(psout): 91(ptr) Variable Function
13: 10 Load 12(g_tTex2df4a)
17: 14 Load 16(g_sSamp)
19: 18 SampledImage 13 17
27: 7(fvec4) ImageGather 19 24 26
Store 9(txval20) 27
34: 31 Load 33(g_tTex2di4a)
35: 14 Load 16(g_sSamp)
37: 36 SampledImage 34 35
41: 28(ivec4) ImageGather 37 40 26
Store 30(txval21) 41
49: 46 Load 48(g_tTex2du4a)
50: 14 Load 16(g_sSamp)
52: 51 SampledImage 49 50
56: 43(ivec4) ImageGather 52 55 26
Store 45(txval22) 56
61: 58 Load 60(g_tTexcdf4a)
62: 14 Load 16(g_sSamp)
64: 63 SampledImage 61 62
66: 7(fvec4) ImageGather 64 65 26
Store 57(txval40) 66
71: 68 Load 70(g_tTexcdi4a)
72: 14 Load 16(g_sSamp)
74: 73 SampledImage 71 72
76: 28(ivec4) ImageGather 74 75 26
Store 67(txval41) 76
81: 78 Load 80(g_tTexcdu4a)
82: 14 Load 16(g_sSamp)
84: 83 SampledImage 81 82
89: 43(ivec4) ImageGather 84 88 26
Store 77(txval42) 89
94: 8(ptr) AccessChain 92(psout) 26
Store 94 93
97: 96(ptr) AccessChain 92(psout) 95
Store 97 87
100: 8(ptr) AccessChain 92(psout) 26
101: 7(fvec4) Load 100
Store 99(Color) 101
104: 96(ptr) AccessChain 92(psout) 95
105: 6(float) Load 104
Store 103(Depth) 105
104(flattenTemp): 94(ptr) Variable Function
105:8(PS_OUTPUT) FunctionCall 10(@main()
Store 104(flattenTemp) 105
108: 12(ptr) AccessChain 104(flattenTemp) 30
109: 7(fvec4) Load 108
Store 107(Color) 109
112: 99(ptr) AccessChain 104(flattenTemp) 98
113: 6(float) Load 112
Store 111(Depth) 113
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(txval20): 12(ptr) Variable Function
34(txval21): 33(ptr) Variable Function
49(txval22): 48(ptr) Variable Function
61(txval40): 12(ptr) Variable Function
71(txval41): 33(ptr) Variable Function
81(txval42): 48(ptr) Variable Function
95(psout): 94(ptr) Variable Function
17: 14 Load 16(g_tTex2df4a)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
31: 7(fvec4) ImageGather 23 28 30
Store 13(txval20) 31
38: 35 Load 37(g_tTex2di4a)
39: 18 Load 20(g_sSamp)
41: 40 SampledImage 38 39
45: 32(ivec4) ImageGather 41 44 30
Store 34(txval21) 45
53: 50 Load 52(g_tTex2du4a)
54: 18 Load 20(g_sSamp)
56: 55 SampledImage 53 54
60: 47(ivec4) ImageGather 56 59 30
Store 49(txval22) 60
65: 62 Load 64(g_tTexcdf4a)
66: 18 Load 20(g_sSamp)
68: 67 SampledImage 65 66
70: 7(fvec4) ImageGather 68 69 30
Store 61(txval40) 70
75: 72 Load 74(g_tTexcdi4a)
76: 18 Load 20(g_sSamp)
78: 77 SampledImage 75 76
80: 32(ivec4) ImageGather 78 79 30
Store 71(txval41) 80
85: 82 Load 84(g_tTexcdu4a)
86: 18 Load 20(g_sSamp)
88: 87 SampledImage 85 86
93: 47(ivec4) ImageGather 88 92 30
Store 81(txval42) 93
97: 12(ptr) AccessChain 95(psout) 30
Store 97 96
100: 99(ptr) AccessChain 95(psout) 98
Store 100 91
101:8(PS_OUTPUT) Load 95(psout)
ReturnValue 101
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.gather.basic.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:29 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 Function Parameters:
0:? Sequence
0:34 Sequence
@ -85,24 +85,28 @@ gl_FragCoord origin is upper left
0:45 1 (const int)
0:45 Constant:
0:45 1.000000
0:47 Sequence
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:47 Color: direct index for structure (temp 4-component vector of float)
0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:47 Constant:
0:47 0 (const int)
0:47 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:47 Depth: direct index for structure (temp float)
0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:47 Constant:
0:47 1 (const int)
0:47 Branch: Return
0:47 Branch: Return with expression
0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 Function Definition: main( (temp void)
0:29 Function Parameters:
0:? Sequence
0:29 Sequence
0:29 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:29 Color: direct index for structure (temp 4-component vector of float)
0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 Constant:
0:29 0 (const int)
0:29 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:29 Depth: direct index for structure (temp float)
0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 Constant:
0:29 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@ -118,6 +122,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@ -126,7 +132,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:29 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 Function Parameters:
0:? Sequence
0:34 Sequence
@ -209,24 +215,28 @@ gl_FragCoord origin is upper left
0:45 1 (const int)
0:45 Constant:
0:45 1.000000
0:47 Sequence
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:47 Color: direct index for structure (temp 4-component vector of float)
0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:47 Constant:
0:47 0 (const int)
0:47 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:47 Depth: direct index for structure (temp float)
0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:47 Constant:
0:47 1 (const int)
0:47 Branch: Return
0:47 Branch: Return with expression
0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 Function Definition: main( (temp void)
0:29 Function Parameters:
0:? Sequence
0:29 Sequence
0:29 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:29 Color: direct index for structure (temp 4-component vector of float)
0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 Constant:
0:29 0 (const int)
0:29 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:29 Depth: direct index for structure (temp float)
0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:29 Constant:
0:29 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@ -242,199 +252,212 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 128
// Id's are bound by 135
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 100 104
EntryPoint Fragment 4 "main" 108 112
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "txval20"
Name 12 "g_tTex2df4"
Name 16 "g_sSamp"
Name 29 "txval21"
Name 32 "g_tTex2di4"
Name 44 "txval22"
Name 47 "g_tTex2du4"
Name 56 "txval40"
Name 59 "g_tTexcdf4"
Name 67 "txval41"
Name 70 "g_tTexcdi4"
Name 77 "txval42"
Name 80 "g_tTexcdu4"
Name 90 "PS_OUTPUT"
MemberName 90(PS_OUTPUT) 0 "Color"
MemberName 90(PS_OUTPUT) 1 "Depth"
Name 92 "psout"
Name 100 "Color"
Name 104 "Depth"
Name 108 "g_sSamp2d"
Name 111 "g_tTex1df4a"
Name 112 "g_tTex1df4"
Name 115 "g_tTex1di4"
Name 118 "g_tTex1du4"
Name 121 "g_tTex3df4"
Name 124 "g_tTex3di4"
Name 127 "g_tTex3du4"
Decorate 12(g_tTex2df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 0
Decorate 16(g_sSamp) Binding 0
Decorate 32(g_tTex2di4) DescriptorSet 0
Decorate 47(g_tTex2du4) DescriptorSet 0
Decorate 59(g_tTexcdf4) DescriptorSet 0
Decorate 70(g_tTexcdi4) DescriptorSet 0
Decorate 80(g_tTexcdu4) DescriptorSet 0
Decorate 100(Color) Location 0
Decorate 104(Depth) BuiltIn FragDepth
Decorate 108(g_sSamp2d) DescriptorSet 0
Decorate 111(g_tTex1df4a) DescriptorSet 0
Decorate 111(g_tTex1df4a) Binding 1
Decorate 112(g_tTex1df4) DescriptorSet 0
Decorate 112(g_tTex1df4) Binding 0
Decorate 115(g_tTex1di4) DescriptorSet 0
Decorate 118(g_tTex1du4) DescriptorSet 0
Decorate 121(g_tTex3df4) DescriptorSet 0
Decorate 124(g_tTex3di4) DescriptorSet 0
Decorate 127(g_tTex3du4) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 13 "txval20"
Name 16 "g_tTex2df4"
Name 20 "g_sSamp"
Name 33 "txval21"
Name 36 "g_tTex2di4"
Name 48 "txval22"
Name 51 "g_tTex2du4"
Name 60 "txval40"
Name 63 "g_tTexcdf4"
Name 71 "txval41"
Name 74 "g_tTexcdi4"
Name 81 "txval42"
Name 84 "g_tTexcdu4"
Name 95 "psout"
Name 105 "flattenTemp"
Name 108 "Color"
Name 112 "Depth"
Name 115 "g_sSamp2d"
Name 118 "g_tTex1df4a"
Name 119 "g_tTex1df4"
Name 122 "g_tTex1di4"
Name 125 "g_tTex1du4"
Name 128 "g_tTex3df4"
Name 131 "g_tTex3di4"
Name 134 "g_tTex3du4"
Decorate 16(g_tTex2df4) DescriptorSet 0
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
Decorate 36(g_tTex2di4) DescriptorSet 0
Decorate 51(g_tTex2du4) DescriptorSet 0
Decorate 63(g_tTexcdf4) DescriptorSet 0
Decorate 74(g_tTexcdi4) DescriptorSet 0
Decorate 84(g_tTexcdu4) DescriptorSet 0
Decorate 108(Color) Location 0
Decorate 112(Depth) BuiltIn FragDepth
Decorate 115(g_sSamp2d) DescriptorSet 0
Decorate 118(g_tTex1df4a) DescriptorSet 0
Decorate 118(g_tTex1df4a) Binding 1
Decorate 119(g_tTex1df4) DescriptorSet 0
Decorate 119(g_tTex1df4) Binding 0
Decorate 122(g_tTex1di4) DescriptorSet 0
Decorate 125(g_tTex1du4) DescriptorSet 0
Decorate 128(g_tTex3df4) DescriptorSet 0
Decorate 131(g_tTex3di4) DescriptorSet 0
Decorate 134(g_tTex3du4) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypeImage 6(float) 2D sampled format:Unknown
11: TypePointer UniformConstant 10
12(g_tTex2df4): 11(ptr) Variable UniformConstant
14: TypeSampler
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 7(fvec4)
14: TypeImage 6(float) 2D sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10
20: TypeVector 6(float) 2
21: 6(float) Constant 1036831949
22: 6(float) Constant 1045220557
23: 20(fvec2) ConstantComposite 21 22
24: TypeInt 32 1
25: 24(int) Constant 0
27: TypeVector 24(int) 4
28: TypePointer Function 27(ivec4)
30: TypeImage 24(int) 2D sampled format:Unknown
31: TypePointer UniformConstant 30
32(g_tTex2di4): 31(ptr) Variable UniformConstant
35: TypeSampledImage 30
37: 6(float) Constant 1050253722
38: 6(float) Constant 1053609165
39: 20(fvec2) ConstantComposite 37 38
41: TypeInt 32 0
42: TypeVector 41(int) 4
43: TypePointer Function 42(ivec4)
45: TypeImage 41(int) 2D sampled format:Unknown
46: TypePointer UniformConstant 45
47(g_tTex2du4): 46(ptr) Variable UniformConstant
50: TypeSampledImage 45
52: 6(float) Constant 1056964608
53: 6(float) Constant 1058642330
54: 20(fvec2) ConstantComposite 52 53
57: TypeImage 6(float) Cube sampled format:Unknown
58: TypePointer UniformConstant 57
59(g_tTexcdf4): 58(ptr) Variable UniformConstant
62: TypeSampledImage 57
64: TypeVector 6(float) 3
65: 64(fvec3) ConstantComposite 21 22 37
68: TypeImage 24(int) Cube sampled format:Unknown
69: TypePointer UniformConstant 68
70(g_tTexcdi4): 69(ptr) Variable UniformConstant
73: TypeSampledImage 68
75: 64(fvec3) ConstantComposite 38 52 53
78: TypeImage 41(int) Cube sampled format:Unknown
79: TypePointer UniformConstant 78
80(g_tTexcdu4): 79(ptr) Variable UniformConstant
83: TypeSampledImage 78
85: 6(float) Constant 1060320051
86: 6(float) Constant 1061997773
87: 6(float) Constant 1063675494
88: 64(fvec3) ConstantComposite 85 86 87
90(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
91: TypePointer Function 90(PS_OUTPUT)
93: 6(float) Constant 1065353216
94: 7(fvec4) ConstantComposite 93 93 93 93
96: 24(int) Constant 1
97: TypePointer Function 6(float)
99: TypePointer Output 7(fvec4)
100(Color): 99(ptr) Variable Output
103: TypePointer Output 6(float)
104(Depth): 103(ptr) Variable Output
108(g_sSamp2d): 15(ptr) Variable UniformConstant
109: TypeImage 6(float) 1D sampled format:Unknown
110: TypePointer UniformConstant 109
111(g_tTex1df4a): 110(ptr) Variable UniformConstant
112(g_tTex1df4): 110(ptr) Variable UniformConstant
113: TypeImage 24(int) 1D sampled format:Unknown
114: TypePointer UniformConstant 113
115(g_tTex1di4): 114(ptr) Variable UniformConstant
116: TypeImage 41(int) 1D sampled format:Unknown
16(g_tTex2df4): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeSampledImage 14
24: TypeVector 6(float) 2
25: 6(float) Constant 1036831949
26: 6(float) Constant 1045220557
27: 24(fvec2) ConstantComposite 25 26
28: TypeInt 32 1
29: 28(int) Constant 0
31: TypeVector 28(int) 4
32: TypePointer Function 31(ivec4)
34: TypeImage 28(int) 2D sampled format:Unknown
35: TypePointer UniformConstant 34
36(g_tTex2di4): 35(ptr) Variable UniformConstant
39: TypeSampledImage 34
41: 6(float) Constant 1050253722
42: 6(float) Constant 1053609165
43: 24(fvec2) ConstantComposite 41 42
45: TypeInt 32 0
46: TypeVector 45(int) 4
47: TypePointer Function 46(ivec4)
49: TypeImage 45(int) 2D sampled format:Unknown
50: TypePointer UniformConstant 49
51(g_tTex2du4): 50(ptr) Variable UniformConstant
54: TypeSampledImage 49
56: 6(float) Constant 1056964608
57: 6(float) Constant 1058642330
58: 24(fvec2) ConstantComposite 56 57
61: TypeImage 6(float) Cube sampled format:Unknown
62: TypePointer UniformConstant 61
63(g_tTexcdf4): 62(ptr) Variable UniformConstant
66: TypeSampledImage 61
68: TypeVector 6(float) 3
69: 68(fvec3) ConstantComposite 25 26 41
72: TypeImage 28(int) Cube sampled format:Unknown
73: TypePointer UniformConstant 72
74(g_tTexcdi4): 73(ptr) Variable UniformConstant
77: TypeSampledImage 72
79: 68(fvec3) ConstantComposite 42 56 57
82: TypeImage 45(int) Cube sampled format:Unknown
83: TypePointer UniformConstant 82
84(g_tTexcdu4): 83(ptr) Variable UniformConstant
87: TypeSampledImage 82
89: 6(float) Constant 1060320051
90: 6(float) Constant 1061997773
91: 6(float) Constant 1063675494
92: 68(fvec3) ConstantComposite 89 90 91
94: TypePointer Function 8(PS_OUTPUT)
96: 6(float) Constant 1065353216
97: 7(fvec4) ConstantComposite 96 96 96 96
99: 28(int) Constant 1
100: TypePointer Function 6(float)
107: TypePointer Output 7(fvec4)
108(Color): 107(ptr) Variable Output
111: TypePointer Output 6(float)
112(Depth): 111(ptr) Variable Output
115(g_sSamp2d): 19(ptr) Variable UniformConstant
116: TypeImage 6(float) 1D sampled format:Unknown
117: TypePointer UniformConstant 116
118(g_tTex1du4): 117(ptr) Variable UniformConstant
119: TypeImage 6(float) 3D sampled format:Unknown
120: TypePointer UniformConstant 119
121(g_tTex3df4): 120(ptr) Variable UniformConstant
122: TypeImage 24(int) 3D sampled format:Unknown
123: TypePointer UniformConstant 122
124(g_tTex3di4): 123(ptr) Variable UniformConstant
125: TypeImage 41(int) 3D sampled format:Unknown
126: TypePointer UniformConstant 125
127(g_tTex3du4): 126(ptr) Variable UniformConstant
118(g_tTex1df4a): 117(ptr) Variable UniformConstant
119(g_tTex1df4): 117(ptr) Variable UniformConstant
120: TypeImage 28(int) 1D sampled format:Unknown
121: TypePointer UniformConstant 120
122(g_tTex1di4): 121(ptr) Variable UniformConstant
123: TypeImage 45(int) 1D sampled format:Unknown
124: TypePointer UniformConstant 123
125(g_tTex1du4): 124(ptr) Variable UniformConstant
126: TypeImage 6(float) 3D sampled format:Unknown
127: TypePointer UniformConstant 126
128(g_tTex3df4): 127(ptr) Variable UniformConstant
129: TypeImage 28(int) 3D sampled format:Unknown
130: TypePointer UniformConstant 129
131(g_tTex3di4): 130(ptr) Variable UniformConstant
132: TypeImage 45(int) 3D sampled format:Unknown
133: TypePointer UniformConstant 132
134(g_tTex3du4): 133(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(txval20): 8(ptr) Variable Function
29(txval21): 28(ptr) Variable Function
44(txval22): 43(ptr) Variable Function
56(txval40): 8(ptr) Variable Function
67(txval41): 28(ptr) Variable Function
77(txval42): 43(ptr) Variable Function
92(psout): 91(ptr) Variable Function
13: 10 Load 12(g_tTex2df4)
17: 14 Load 16(g_sSamp)
19: 18 SampledImage 13 17
26: 7(fvec4) ImageGather 19 23 25
Store 9(txval20) 26
33: 30 Load 32(g_tTex2di4)
34: 14 Load 16(g_sSamp)
36: 35 SampledImage 33 34
40: 27(ivec4) ImageGather 36 39 25
Store 29(txval21) 40
48: 45 Load 47(g_tTex2du4)
49: 14 Load 16(g_sSamp)
51: 50 SampledImage 48 49
55: 42(ivec4) ImageGather 51 54 25
Store 44(txval22) 55
60: 57 Load 59(g_tTexcdf4)
61: 14 Load 16(g_sSamp)
63: 62 SampledImage 60 61
66: 7(fvec4) ImageGather 63 65 25
Store 56(txval40) 66
71: 68 Load 70(g_tTexcdi4)
72: 14 Load 16(g_sSamp)
74: 73 SampledImage 71 72
76: 27(ivec4) ImageGather 74 75 25
Store 67(txval41) 76
81: 78 Load 80(g_tTexcdu4)
82: 14 Load 16(g_sSamp)
84: 83 SampledImage 81 82
89: 42(ivec4) ImageGather 84 88 25
Store 77(txval42) 89
95: 8(ptr) AccessChain 92(psout) 25
Store 95 94
98: 97(ptr) AccessChain 92(psout) 96
Store 98 93
101: 8(ptr) AccessChain 92(psout) 25
102: 7(fvec4) Load 101
Store 100(Color) 102
105: 97(ptr) AccessChain 92(psout) 96
106: 6(float) Load 105
Store 104(Depth) 106
105(flattenTemp): 94(ptr) Variable Function
106:8(PS_OUTPUT) FunctionCall 10(@main()
Store 105(flattenTemp) 106
109: 12(ptr) AccessChain 105(flattenTemp) 29
110: 7(fvec4) Load 109
Store 108(Color) 110
113: 100(ptr) AccessChain 105(flattenTemp) 99
114: 6(float) Load 113
Store 112(Depth) 114
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(txval20): 12(ptr) Variable Function
33(txval21): 32(ptr) Variable Function
48(txval22): 47(ptr) Variable Function
60(txval40): 12(ptr) Variable Function
71(txval41): 32(ptr) Variable Function
81(txval42): 47(ptr) Variable Function
95(psout): 94(ptr) Variable Function
17: 14 Load 16(g_tTex2df4)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
30: 7(fvec4) ImageGather 23 27 29
Store 13(txval20) 30
37: 34 Load 36(g_tTex2di4)
38: 18 Load 20(g_sSamp)
40: 39 SampledImage 37 38
44: 31(ivec4) ImageGather 40 43 29
Store 33(txval21) 44
52: 49 Load 51(g_tTex2du4)
53: 18 Load 20(g_sSamp)
55: 54 SampledImage 52 53
59: 46(ivec4) ImageGather 55 58 29
Store 48(txval22) 59
64: 61 Load 63(g_tTexcdf4)
65: 18 Load 20(g_sSamp)
67: 66 SampledImage 64 65
70: 7(fvec4) ImageGather 67 69 29
Store 60(txval40) 70
75: 72 Load 74(g_tTexcdi4)
76: 18 Load 20(g_sSamp)
78: 77 SampledImage 75 76
80: 31(ivec4) ImageGather 78 79 29
Store 71(txval41) 80
85: 82 Load 84(g_tTexcdu4)
86: 18 Load 20(g_sSamp)
88: 87 SampledImage 85 86
93: 46(ivec4) ImageGather 88 92 29
Store 81(txval42) 93
98: 12(ptr) AccessChain 95(psout) 29
Store 98 97
101: 100(ptr) AccessChain 95(psout) 99
Store 101 96
102:8(PS_OUTPUT) Load 95(psout)
ReturnValue 102
FunctionEnd

View File

@ -1,7 +1,7 @@
hlsl.gather.basic.dx10.vert
Shader version: 450
0:? Sequence
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos})
0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:28 Function Parameters:
0:? Sequence
0:33 Sequence
@ -77,15 +77,18 @@ Shader version: 450
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:45 Sequence
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of float)
0:? 'Pos' (out 4-component vector of float Position)
0:45 Pos: direct index for structure (temp 4-component vector of float)
0:45 'vsout' (temp structure{temp 4-component vector of float Pos})
0:45 Constant:
0:45 0 (const int)
0:45 Branch: Return
0:45 Branch: Return with expression
0:45 'vsout' (temp structure{temp 4-component vector of float Pos})
0:28 Function Definition: main( (temp void)
0:28 Function Parameters:
0:? Sequence
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:28 Pos: direct index for structure (temp 4-component vector of float Position)
0:28 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:28 Constant:
0:28 0 (const int)
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
@ -102,7 +105,7 @@ Shader version: 450
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos})
Linked vertex stage:
@ -110,7 +113,7 @@ Linked vertex stage:
Shader version: 450
0:? Sequence
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos})
0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:28 Function Parameters:
0:? Sequence
0:33 Sequence
@ -186,15 +189,18 @@ Shader version: 450
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:45 Sequence
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of float)
0:? 'Pos' (out 4-component vector of float Position)
0:45 Pos: direct index for structure (temp 4-component vector of float)
0:45 'vsout' (temp structure{temp 4-component vector of float Pos})
0:45 Constant:
0:45 0 (const int)
0:45 Branch: Return
0:45 Branch: Return with expression
0:45 'vsout' (temp structure{temp 4-component vector of float Pos})
0:28 Function Definition: main( (temp void)
0:28 Function Parameters:
0:? Sequence
0:28 Sequence
0:28 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:28 Pos: direct index for structure (temp 4-component vector of float Position)
0:28 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:28 Constant:
0:28 0 (const int)
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
@ -211,195 +217,212 @@ Shader version: 450
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 124
// Id's are bound by 135
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 97 123
EntryPoint Vertex 4 "main" 109 134
Name 4 "main"
Name 9 "txval20"
Name 12 "g_tTex2df4"
Name 16 "g_sSamp"
Name 29 "txval21"
Name 32 "g_tTex2di4"
Name 44 "txval22"
Name 47 "g_tTex2du4"
Name 56 "txval40"
Name 59 "g_tTexcdf4"
Name 67 "txval41"
Name 70 "g_tTexcdi4"
Name 77 "txval42"
Name 80 "g_tTexcdu4"
Name 90 "VS_OUTPUT"
MemberName 90(VS_OUTPUT) 0 "Pos"
Name 92 "vsout"
Name 97 "Pos"
Name 101 "g_sSamp2d"
Name 104 "g_tTex1df4a"
Name 105 "g_tTex1df4"
Name 108 "g_tTex1di4"
Name 111 "g_tTex1du4"
Name 114 "g_tTex3df4"
Name 117 "g_tTex3di4"
Name 120 "g_tTex3du4"
Name 121 "PerVertex_out"
MemberName 121(PerVertex_out) 0 "Pos"
Name 123 "PerVertex_out"
Decorate 12(g_tTex2df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 0
Decorate 16(g_sSamp) Binding 0
Decorate 32(g_tTex2di4) DescriptorSet 0
Decorate 47(g_tTex2du4) DescriptorSet 0
Decorate 59(g_tTexcdf4) DescriptorSet 0
Decorate 70(g_tTexcdi4) DescriptorSet 0
Decorate 80(g_tTexcdu4) DescriptorSet 0
Decorate 97(Pos) BuiltIn Position
Decorate 101(g_sSamp2d) DescriptorSet 0
Decorate 104(g_tTex1df4a) DescriptorSet 0
Decorate 104(g_tTex1df4a) Binding 1
Decorate 105(g_tTex1df4) DescriptorSet 0
Decorate 105(g_tTex1df4) Binding 0
Decorate 108(g_tTex1di4) DescriptorSet 0
Decorate 111(g_tTex1du4) DescriptorSet 0
Decorate 114(g_tTex3df4) DescriptorSet 0
Decorate 117(g_tTex3di4) DescriptorSet 0
Decorate 120(g_tTex3du4) DescriptorSet 0
MemberDecorate 121(PerVertex_out) 0 BuiltIn Position
Decorate 121(PerVertex_out) Block
Name 8 "VS_OUTPUT"
MemberName 8(VS_OUTPUT) 0 "Pos"
Name 10 "@main("
Name 13 "txval20"
Name 16 "g_tTex2df4"
Name 20 "g_sSamp"
Name 33 "txval21"
Name 36 "g_tTex2di4"
Name 48 "txval22"
Name 51 "g_tTex2du4"
Name 60 "txval40"
Name 63 "g_tTexcdf4"
Name 71 "txval41"
Name 74 "g_tTexcdi4"
Name 81 "txval42"
Name 84 "g_tTexcdu4"
Name 94 "VS_OUTPUT"
MemberName 94(VS_OUTPUT) 0 "Pos"
Name 96 "vsout"
Name 109 "@entryPointOutput_Pos"
Name 112 "g_sSamp2d"
Name 115 "g_tTex1df4a"
Name 116 "g_tTex1df4"
Name 119 "g_tTex1di4"
Name 122 "g_tTex1du4"
Name 125 "g_tTex3df4"
Name 128 "g_tTex3di4"
Name 131 "g_tTex3du4"
Name 132 "PerVertex_out"
MemberName 132(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 134 "PerVertex_out"
MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position
Decorate 16(g_tTex2df4) DescriptorSet 0
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
Decorate 36(g_tTex2di4) DescriptorSet 0
Decorate 51(g_tTex2du4) DescriptorSet 0
Decorate 63(g_tTexcdf4) DescriptorSet 0
Decorate 74(g_tTexcdi4) DescriptorSet 0
Decorate 84(g_tTexcdu4) DescriptorSet 0
Decorate 109(@entryPointOutput_Pos) BuiltIn Position
Decorate 112(g_sSamp2d) DescriptorSet 0
Decorate 115(g_tTex1df4a) DescriptorSet 0
Decorate 115(g_tTex1df4a) Binding 1
Decorate 116(g_tTex1df4) DescriptorSet 0
Decorate 116(g_tTex1df4) Binding 0
Decorate 119(g_tTex1di4) DescriptorSet 0
Decorate 122(g_tTex1du4) DescriptorSet 0
Decorate 125(g_tTex3df4) DescriptorSet 0
Decorate 128(g_tTex3di4) DescriptorSet 0
Decorate 131(g_tTex3du4) DescriptorSet 0
MemberDecorate 132(PerVertex_out) 0 BuiltIn Position
Decorate 132(PerVertex_out) Block
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypeImage 6(float) 2D sampled format:Unknown
11: TypePointer UniformConstant 10
12(g_tTex2df4): 11(ptr) Variable UniformConstant
14: TypeSampler
8(VS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(VS_OUTPUT)
12: TypePointer Function 7(fvec4)
14: TypeImage 6(float) 2D sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10
20: TypeVector 6(float) 2
21: 6(float) Constant 1036831949
22: 6(float) Constant 1045220557
23: 20(fvec2) ConstantComposite 21 22
24: TypeInt 32 1
25: 24(int) Constant 0
27: TypeVector 24(int) 4
28: TypePointer Function 27(ivec4)
30: TypeImage 24(int) 2D sampled format:Unknown
31: TypePointer UniformConstant 30
32(g_tTex2di4): 31(ptr) Variable UniformConstant
35: TypeSampledImage 30
37: 6(float) Constant 1050253722
38: 6(float) Constant 1053609165
39: 20(fvec2) ConstantComposite 37 38
41: TypeInt 32 0
42: TypeVector 41(int) 4
43: TypePointer Function 42(ivec4)
45: TypeImage 41(int) 2D sampled format:Unknown
46: TypePointer UniformConstant 45
47(g_tTex2du4): 46(ptr) Variable UniformConstant
50: TypeSampledImage 45
52: 6(float) Constant 1056964608
53: 6(float) Constant 1058642330
54: 20(fvec2) ConstantComposite 52 53
57: TypeImage 6(float) Cube sampled format:Unknown
58: TypePointer UniformConstant 57
59(g_tTexcdf4): 58(ptr) Variable UniformConstant
62: TypeSampledImage 57
64: TypeVector 6(float) 3
65: 64(fvec3) ConstantComposite 21 22 37
68: TypeImage 24(int) Cube sampled format:Unknown
69: TypePointer UniformConstant 68
70(g_tTexcdi4): 69(ptr) Variable UniformConstant
73: TypeSampledImage 68
75: 64(fvec3) ConstantComposite 38 52 53
78: TypeImage 41(int) Cube sampled format:Unknown
79: TypePointer UniformConstant 78
80(g_tTexcdu4): 79(ptr) Variable UniformConstant
83: TypeSampledImage 78
85: 6(float) Constant 1060320051
86: 6(float) Constant 1061997773
87: 6(float) Constant 1063675494
88: 64(fvec3) ConstantComposite 85 86 87
90(VS_OUTPUT): TypeStruct 7(fvec4)
91: TypePointer Function 90(VS_OUTPUT)
93: 6(float) Constant 0
94: 7(fvec4) ConstantComposite 93 93 93 93
96: TypePointer Output 7(fvec4)
97(Pos): 96(ptr) Variable Output
101(g_sSamp2d): 15(ptr) Variable UniformConstant
102: TypeImage 6(float) 1D sampled format:Unknown
103: TypePointer UniformConstant 102
104(g_tTex1df4a): 103(ptr) Variable UniformConstant
105(g_tTex1df4): 103(ptr) Variable UniformConstant
106: TypeImage 24(int) 1D sampled format:Unknown
107: TypePointer UniformConstant 106
108(g_tTex1di4): 107(ptr) Variable UniformConstant
109: TypeImage 41(int) 1D sampled format:Unknown
110: TypePointer UniformConstant 109
111(g_tTex1du4): 110(ptr) Variable UniformConstant
112: TypeImage 6(float) 3D sampled format:Unknown
113: TypePointer UniformConstant 112
114(g_tTex3df4): 113(ptr) Variable UniformConstant
115: TypeImage 24(int) 3D sampled format:Unknown
116: TypePointer UniformConstant 115
117(g_tTex3di4): 116(ptr) Variable UniformConstant
118: TypeImage 41(int) 3D sampled format:Unknown
119: TypePointer UniformConstant 118
120(g_tTex3du4): 119(ptr) Variable UniformConstant
121(PerVertex_out): TypeStruct 7(fvec4)
122: TypePointer Output 121(PerVertex_out)
123(PerVertex_out): 122(ptr) Variable Output
16(g_tTex2df4): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeSampledImage 14
24: TypeVector 6(float) 2
25: 6(float) Constant 1036831949
26: 6(float) Constant 1045220557
27: 24(fvec2) ConstantComposite 25 26
28: TypeInt 32 1
29: 28(int) Constant 0
31: TypeVector 28(int) 4
32: TypePointer Function 31(ivec4)
34: TypeImage 28(int) 2D sampled format:Unknown
35: TypePointer UniformConstant 34
36(g_tTex2di4): 35(ptr) Variable UniformConstant
39: TypeSampledImage 34
41: 6(float) Constant 1050253722
42: 6(float) Constant 1053609165
43: 24(fvec2) ConstantComposite 41 42
45: TypeInt 32 0
46: TypeVector 45(int) 4
47: TypePointer Function 46(ivec4)
49: TypeImage 45(int) 2D sampled format:Unknown
50: TypePointer UniformConstant 49
51(g_tTex2du4): 50(ptr) Variable UniformConstant
54: TypeSampledImage 49
56: 6(float) Constant 1056964608
57: 6(float) Constant 1058642330
58: 24(fvec2) ConstantComposite 56 57
61: TypeImage 6(float) Cube sampled format:Unknown
62: TypePointer UniformConstant 61
63(g_tTexcdf4): 62(ptr) Variable UniformConstant
66: TypeSampledImage 61
68: TypeVector 6(float) 3
69: 68(fvec3) ConstantComposite 25 26 41
72: TypeImage 28(int) Cube sampled format:Unknown
73: TypePointer UniformConstant 72
74(g_tTexcdi4): 73(ptr) Variable UniformConstant
77: TypeSampledImage 72
79: 68(fvec3) ConstantComposite 42 56 57
82: TypeImage 45(int) Cube sampled format:Unknown
83: TypePointer UniformConstant 82
84(g_tTexcdu4): 83(ptr) Variable UniformConstant
87: TypeSampledImage 82
89: 6(float) Constant 1060320051
90: 6(float) Constant 1061997773
91: 6(float) Constant 1063675494
92: 68(fvec3) ConstantComposite 89 90 91
94(VS_OUTPUT): TypeStruct 7(fvec4)
95: TypePointer Function 94(VS_OUTPUT)
97: 6(float) Constant 0
98: 7(fvec4) ConstantComposite 97 97 97 97
101: TypePointer Function 8(VS_OUTPUT)
108: TypePointer Output 7(fvec4)
109(@entryPointOutput_Pos): 108(ptr) Variable Output
112(g_sSamp2d): 19(ptr) Variable UniformConstant
113: TypeImage 6(float) 1D sampled format:Unknown
114: TypePointer UniformConstant 113
115(g_tTex1df4a): 114(ptr) Variable UniformConstant
116(g_tTex1df4): 114(ptr) Variable UniformConstant
117: TypeImage 28(int) 1D sampled format:Unknown
118: TypePointer UniformConstant 117
119(g_tTex1di4): 118(ptr) Variable UniformConstant
120: TypeImage 45(int) 1D sampled format:Unknown
121: TypePointer UniformConstant 120
122(g_tTex1du4): 121(ptr) Variable UniformConstant
123: TypeImage 6(float) 3D sampled format:Unknown
124: TypePointer UniformConstant 123
125(g_tTex3df4): 124(ptr) Variable UniformConstant
126: TypeImage 28(int) 3D sampled format:Unknown
127: TypePointer UniformConstant 126
128(g_tTex3di4): 127(ptr) Variable UniformConstant
129: TypeImage 45(int) 3D sampled format:Unknown
130: TypePointer UniformConstant 129
131(g_tTex3du4): 130(ptr) Variable UniformConstant
132(PerVertex_out): TypeStruct 7(fvec4)
133: TypePointer Output 132(PerVertex_out)
134(PerVertex_out): 133(ptr) Variable Output
4(main): 2 Function None 3
5: Label
9(txval20): 8(ptr) Variable Function
29(txval21): 28(ptr) Variable Function
44(txval22): 43(ptr) Variable Function
56(txval40): 8(ptr) Variable Function
67(txval41): 28(ptr) Variable Function
77(txval42): 43(ptr) Variable Function
92(vsout): 91(ptr) Variable Function
13: 10 Load 12(g_tTex2df4)
17: 14 Load 16(g_sSamp)
19: 18 SampledImage 13 17
26: 7(fvec4) ImageGather 19 23 25
Store 9(txval20) 26
33: 30 Load 32(g_tTex2di4)
34: 14 Load 16(g_sSamp)
36: 35 SampledImage 33 34
40: 27(ivec4) ImageGather 36 39 25
Store 29(txval21) 40
48: 45 Load 47(g_tTex2du4)
49: 14 Load 16(g_sSamp)
51: 50 SampledImage 48 49
55: 42(ivec4) ImageGather 51 54 25
Store 44(txval22) 55
60: 57 Load 59(g_tTexcdf4)
61: 14 Load 16(g_sSamp)
63: 62 SampledImage 60 61
66: 7(fvec4) ImageGather 63 65 25
Store 56(txval40) 66
71: 68 Load 70(g_tTexcdi4)
72: 14 Load 16(g_sSamp)
74: 73 SampledImage 71 72
76: 27(ivec4) ImageGather 74 75 25
Store 67(txval41) 76
81: 78 Load 80(g_tTexcdu4)
82: 14 Load 16(g_sSamp)
84: 83 SampledImage 81 82
89: 42(ivec4) ImageGather 84 88 25
Store 77(txval42) 89
95: 8(ptr) AccessChain 92(vsout) 25
Store 95 94
98: 8(ptr) AccessChain 92(vsout) 25
99: 7(fvec4) Load 98
Store 97(Pos) 99
110:8(VS_OUTPUT) FunctionCall 10(@main()
111: 7(fvec4) CompositeExtract 110 0
Store 109(@entryPointOutput_Pos) 111
Return
FunctionEnd
10(@main():8(VS_OUTPUT) Function None 9
11: Label
13(txval20): 12(ptr) Variable Function
33(txval21): 32(ptr) Variable Function
48(txval22): 47(ptr) Variable Function
60(txval40): 12(ptr) Variable Function
71(txval41): 32(ptr) Variable Function
81(txval42): 47(ptr) Variable Function
96(vsout): 95(ptr) Variable Function
102: 101(ptr) Variable Function
17: 14 Load 16(g_tTex2df4)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
30: 7(fvec4) ImageGather 23 27 29
Store 13(txval20) 30
37: 34 Load 36(g_tTex2di4)
38: 18 Load 20(g_sSamp)
40: 39 SampledImage 37 38
44: 31(ivec4) ImageGather 40 43 29
Store 33(txval21) 44
52: 49 Load 51(g_tTex2du4)
53: 18 Load 20(g_sSamp)
55: 54 SampledImage 52 53
59: 46(ivec4) ImageGather 55 58 29
Store 48(txval22) 59
64: 61 Load 63(g_tTexcdf4)
65: 18 Load 20(g_sSamp)
67: 66 SampledImage 64 65
70: 7(fvec4) ImageGather 67 69 29
Store 60(txval40) 70
75: 72 Load 74(g_tTexcdi4)
76: 18 Load 20(g_sSamp)
78: 77 SampledImage 75 76
80: 31(ivec4) ImageGather 78 79 29
Store 71(txval41) 80
85: 82 Load 84(g_tTexcdu4)
86: 18 Load 20(g_sSamp)
88: 87 SampledImage 85 86
93: 46(ivec4) ImageGather 88 92 29
Store 81(txval42) 93
99: 12(ptr) AccessChain 96(vsout) 29
Store 99 98
100:94(VS_OUTPUT) Load 96(vsout)
103: 7(fvec4) CompositeExtract 100 0
104: 12(ptr) AccessChain 102 29
Store 104 103
105:8(VS_OUTPUT) Load 102
ReturnValue 105
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.gather.offset.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Parameters:
0:? Sequence
0:33 Sequence
@ -61,24 +61,28 @@ gl_FragCoord origin is upper left
0:41 1 (const int)
0:41 Constant:
0:41 1.000000
0:43 Sequence
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 Color: direct index for structure (temp 4-component vector of float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 0 (const int)
0:43 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:43 Depth: direct index for structure (temp float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 1 (const int)
0:43 Branch: Return
0:43 Branch: Return with expression
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: main( (temp void)
0:28 Function Parameters:
0:? Sequence
0:28 Sequence
0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:28 Color: direct index for structure (temp 4-component vector of float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 0 (const int)
0:28 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:28 Depth: direct index for structure (temp float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@ -93,6 +97,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@ -101,7 +107,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Parameters:
0:? Sequence
0:33 Sequence
@ -160,24 +166,28 @@ gl_FragCoord origin is upper left
0:41 1 (const int)
0:41 Constant:
0:41 1.000000
0:43 Sequence
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 Color: direct index for structure (temp 4-component vector of float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 0 (const int)
0:43 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:43 Depth: direct index for structure (temp float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 Constant:
0:43 1 (const int)
0:43 Branch: Return
0:43 Branch: Return with expression
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: main( (temp void)
0:28 Function Parameters:
0:? Sequence
0:28 Sequence
0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:28 Color: direct index for structure (temp 4-component vector of float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 0 (const int)
0:28 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:28 Depth: direct index for structure (temp float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@ -192,170 +202,183 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 107
// Id's are bound by 114
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 71 75
EntryPoint Fragment 4 "main" 79 83
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "txval20"
Name 12 "g_tTex2df4"
Name 16 "g_sSamp"
Name 32 "txval21"
Name 35 "g_tTex2di4"
Name 48 "txval22"
Name 51 "g_tTex2du4"
Name 62 "PS_OUTPUT"
MemberName 62(PS_OUTPUT) 0 "Color"
MemberName 62(PS_OUTPUT) 1 "Depth"
Name 64 "psout"
Name 71 "Color"
Name 75 "Depth"
Name 81 "g_tTex1df4a"
Name 82 "g_tTex1df4"
Name 85 "g_tTex1di4"
Name 88 "g_tTex1du4"
Name 91 "g_tTex3df4"
Name 94 "g_tTex3di4"
Name 97 "g_tTex3du4"
Name 100 "g_tTexcdf4"
Name 103 "g_tTexcdi4"
Name 106 "g_tTexcdu4"
Decorate 12(g_tTex2df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 0
Decorate 16(g_sSamp) Binding 0
Decorate 35(g_tTex2di4) DescriptorSet 0
Decorate 51(g_tTex2du4) DescriptorSet 0
Decorate 71(Color) Location 0
Decorate 75(Depth) BuiltIn FragDepth
Decorate 81(g_tTex1df4a) DescriptorSet 0
Decorate 81(g_tTex1df4a) Binding 1
Decorate 82(g_tTex1df4) DescriptorSet 0
Decorate 82(g_tTex1df4) Binding 0
Decorate 85(g_tTex1di4) DescriptorSet 0
Decorate 88(g_tTex1du4) DescriptorSet 0
Decorate 91(g_tTex3df4) DescriptorSet 0
Decorate 94(g_tTex3di4) DescriptorSet 0
Decorate 97(g_tTex3du4) DescriptorSet 0
Decorate 100(g_tTexcdf4) DescriptorSet 0
Decorate 103(g_tTexcdi4) DescriptorSet 0
Decorate 106(g_tTexcdu4) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 13 "txval20"
Name 16 "g_tTex2df4"
Name 20 "g_sSamp"
Name 36 "txval21"
Name 39 "g_tTex2di4"
Name 52 "txval22"
Name 55 "g_tTex2du4"
Name 67 "psout"
Name 76 "flattenTemp"
Name 79 "Color"
Name 83 "Depth"
Name 88 "g_tTex1df4a"
Name 89 "g_tTex1df4"
Name 92 "g_tTex1di4"
Name 95 "g_tTex1du4"
Name 98 "g_tTex3df4"
Name 101 "g_tTex3di4"
Name 104 "g_tTex3du4"
Name 107 "g_tTexcdf4"
Name 110 "g_tTexcdi4"
Name 113 "g_tTexcdu4"
Decorate 16(g_tTex2df4) DescriptorSet 0
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
Decorate 39(g_tTex2di4) DescriptorSet 0
Decorate 55(g_tTex2du4) DescriptorSet 0
Decorate 79(Color) Location 0
Decorate 83(Depth) BuiltIn FragDepth
Decorate 88(g_tTex1df4a) DescriptorSet 0
Decorate 88(g_tTex1df4a) Binding 1
Decorate 89(g_tTex1df4) DescriptorSet 0
Decorate 89(g_tTex1df4) Binding 0
Decorate 92(g_tTex1di4) DescriptorSet 0
Decorate 95(g_tTex1du4) DescriptorSet 0
Decorate 98(g_tTex3df4) DescriptorSet 0
Decorate 101(g_tTex3di4) DescriptorSet 0
Decorate 104(g_tTex3du4) DescriptorSet 0
Decorate 107(g_tTexcdf4) DescriptorSet 0
Decorate 110(g_tTexcdi4) DescriptorSet 0
Decorate 113(g_tTexcdu4) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypeImage 6(float) 2D sampled format:Unknown
11: TypePointer UniformConstant 10
12(g_tTex2df4): 11(ptr) Variable UniformConstant
14: TypeSampler
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 7(fvec4)
14: TypeImage 6(float) 2D sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10
20: TypeVector 6(float) 2
21: 6(float) Constant 1036831949
22: 6(float) Constant 1045220557
23: 20(fvec2) ConstantComposite 21 22
24: TypeInt 32 1
25: TypeVector 24(int) 2
26: 24(int) Constant 1
27: 24(int) Constant 0
28: 25(ivec2) ConstantComposite 26 27
30: TypeVector 24(int) 4
31: TypePointer Function 30(ivec4)
33: TypeImage 24(int) 2D sampled format:Unknown
34: TypePointer UniformConstant 33
35(g_tTex2di4): 34(ptr) Variable UniformConstant
38: TypeSampledImage 33
40: 6(float) Constant 1050253722
41: 6(float) Constant 1053609165
42: 20(fvec2) ConstantComposite 40 41
43: 25(ivec2) ConstantComposite 26 26
45: TypeInt 32 0
46: TypeVector 45(int) 4
47: TypePointer Function 46(ivec4)
49: TypeImage 45(int) 2D sampled format:Unknown
50: TypePointer UniformConstant 49
51(g_tTex2du4): 50(ptr) Variable UniformConstant
54: TypeSampledImage 49
56: 6(float) Constant 1056964608
57: 6(float) Constant 1058642330
58: 20(fvec2) ConstantComposite 56 57
59: 24(int) Constant 4294967295
60: 25(ivec2) ConstantComposite 26 59
62(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
63: TypePointer Function 62(PS_OUTPUT)
65: 6(float) Constant 1065353216
66: 7(fvec4) ConstantComposite 65 65 65 65
68: TypePointer Function 6(float)
70: TypePointer Output 7(fvec4)
71(Color): 70(ptr) Variable Output
74: TypePointer Output 6(float)
75(Depth): 74(ptr) Variable Output
79: TypeImage 6(float) 1D sampled format:Unknown
80: TypePointer UniformConstant 79
81(g_tTex1df4a): 80(ptr) Variable UniformConstant
82(g_tTex1df4): 80(ptr) Variable UniformConstant
83: TypeImage 24(int) 1D sampled format:Unknown
84: TypePointer UniformConstant 83
85(g_tTex1di4): 84(ptr) Variable UniformConstant
86: TypeImage 45(int) 1D sampled format:Unknown
16(g_tTex2df4): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeSampledImage 14
24: TypeVector 6(float) 2
25: 6(float) Constant 1036831949
26: 6(float) Constant 1045220557
27: 24(fvec2) ConstantComposite 25 26
28: TypeInt 32 1
29: TypeVector 28(int) 2
30: 28(int) Constant 1
31: 28(int) Constant 0
32: 29(ivec2) ConstantComposite 30 31
34: TypeVector 28(int) 4
35: TypePointer Function 34(ivec4)
37: TypeImage 28(int) 2D sampled format:Unknown
38: TypePointer UniformConstant 37
39(g_tTex2di4): 38(ptr) Variable UniformConstant
42: TypeSampledImage 37
44: 6(float) Constant 1050253722
45: 6(float) Constant 1053609165
46: 24(fvec2) ConstantComposite 44 45
47: 29(ivec2) ConstantComposite 30 30
49: TypeInt 32 0
50: TypeVector 49(int) 4
51: TypePointer Function 50(ivec4)
53: TypeImage 49(int) 2D sampled format:Unknown
54: TypePointer UniformConstant 53
55(g_tTex2du4): 54(ptr) Variable UniformConstant
58: TypeSampledImage 53
60: 6(float) Constant 1056964608
61: 6(float) Constant 1058642330
62: 24(fvec2) ConstantComposite 60 61
63: 28(int) Constant 4294967295
64: 29(ivec2) ConstantComposite 30 63
66: TypePointer Function 8(PS_OUTPUT)
68: 6(float) Constant 1065353216
69: 7(fvec4) ConstantComposite 68 68 68 68
71: TypePointer Function 6(float)
78: TypePointer Output 7(fvec4)
79(Color): 78(ptr) Variable Output
82: TypePointer Output 6(float)
83(Depth): 82(ptr) Variable Output
86: TypeImage 6(float) 1D sampled format:Unknown
87: TypePointer UniformConstant 86
88(g_tTex1du4): 87(ptr) Variable UniformConstant
89: TypeImage 6(float) 3D sampled format:Unknown
90: TypePointer UniformConstant 89
91(g_tTex3df4): 90(ptr) Variable UniformConstant
92: TypeImage 24(int) 3D sampled format:Unknown
93: TypePointer UniformConstant 92
94(g_tTex3di4): 93(ptr) Variable UniformConstant
95: TypeImage 45(int) 3D sampled format:Unknown
96: TypePointer UniformConstant 95
97(g_tTex3du4): 96(ptr) Variable UniformConstant
98: TypeImage 6(float) Cube sampled format:Unknown
99: TypePointer UniformConstant 98
100(g_tTexcdf4): 99(ptr) Variable UniformConstant
101: TypeImage 24(int) Cube sampled format:Unknown
102: TypePointer UniformConstant 101
103(g_tTexcdi4): 102(ptr) Variable UniformConstant
104: TypeImage 45(int) Cube sampled format:Unknown
105: TypePointer UniformConstant 104
106(g_tTexcdu4): 105(ptr) Variable UniformConstant
88(g_tTex1df4a): 87(ptr) Variable UniformConstant
89(g_tTex1df4): 87(ptr) Variable UniformConstant
90: TypeImage 28(int) 1D sampled format:Unknown
91: TypePointer UniformConstant 90
92(g_tTex1di4): 91(ptr) Variable UniformConstant
93: TypeImage 49(int) 1D sampled format:Unknown
94: TypePointer UniformConstant 93
95(g_tTex1du4): 94(ptr) Variable UniformConstant
96: TypeImage 6(float) 3D sampled format:Unknown
97: TypePointer UniformConstant 96
98(g_tTex3df4): 97(ptr) Variable UniformConstant
99: TypeImage 28(int) 3D sampled format:Unknown
100: TypePointer UniformConstant 99
101(g_tTex3di4): 100(ptr) Variable UniformConstant
102: TypeImage 49(int) 3D sampled format:Unknown
103: TypePointer UniformConstant 102
104(g_tTex3du4): 103(ptr) Variable UniformConstant
105: TypeImage 6(float) Cube sampled format:Unknown
106: TypePointer UniformConstant 105
107(g_tTexcdf4): 106(ptr) Variable UniformConstant
108: TypeImage 28(int) Cube sampled format:Unknown
109: TypePointer UniformConstant 108
110(g_tTexcdi4): 109(ptr) Variable UniformConstant
111: TypeImage 49(int) Cube sampled format:Unknown
112: TypePointer UniformConstant 111
113(g_tTexcdu4): 112(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(txval20): 8(ptr) Variable Function
32(txval21): 31(ptr) Variable Function
48(txval22): 47(ptr) Variable Function
64(psout): 63(ptr) Variable Function
13: 10 Load 12(g_tTex2df4)
17: 14 Load 16(g_sSamp)
19: 18 SampledImage 13 17
29: 7(fvec4) ImageGather 19 23 27 ConstOffset 28
Store 9(txval20) 29
36: 33 Load 35(g_tTex2di4)
37: 14 Load 16(g_sSamp)
39: 38 SampledImage 36 37
44: 30(ivec4) ImageGather 39 42 27 ConstOffset 43
Store 32(txval21) 44
52: 49 Load 51(g_tTex2du4)
53: 14 Load 16(g_sSamp)
55: 54 SampledImage 52 53
61: 46(ivec4) ImageGather 55 58 27 ConstOffset 60
Store 48(txval22) 61
67: 8(ptr) AccessChain 64(psout) 27
Store 67 66
69: 68(ptr) AccessChain 64(psout) 26
Store 69 65
72: 8(ptr) AccessChain 64(psout) 27
73: 7(fvec4) Load 72
Store 71(Color) 73
76: 68(ptr) AccessChain 64(psout) 26
77: 6(float) Load 76
Store 75(Depth) 77
76(flattenTemp): 66(ptr) Variable Function
77:8(PS_OUTPUT) FunctionCall 10(@main()
Store 76(flattenTemp) 77
80: 12(ptr) AccessChain 76(flattenTemp) 31
81: 7(fvec4) Load 80
Store 79(Color) 81
84: 71(ptr) AccessChain 76(flattenTemp) 30
85: 6(float) Load 84
Store 83(Depth) 85
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(txval20): 12(ptr) Variable Function
36(txval21): 35(ptr) Variable Function
52(txval22): 51(ptr) Variable Function
67(psout): 66(ptr) Variable Function
17: 14 Load 16(g_tTex2df4)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
33: 7(fvec4) ImageGather 23 27 31 ConstOffset 32
Store 13(txval20) 33
40: 37 Load 39(g_tTex2di4)
41: 18 Load 20(g_sSamp)
43: 42 SampledImage 40 41
48: 34(ivec4) ImageGather 43 46 31 ConstOffset 47
Store 36(txval21) 48
56: 53 Load 55(g_tTex2du4)
57: 18 Load 20(g_sSamp)
59: 58 SampledImage 56 57
65: 50(ivec4) ImageGather 59 62 31 ConstOffset 64
Store 52(txval22) 65
70: 12(ptr) AccessChain 67(psout) 31
Store 70 69
72: 71(ptr) AccessChain 67(psout) 30
Store 72 68
73:8(PS_OUTPUT) Load 67(psout)
ReturnValue 73
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.gather.offsetarray.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 Function Parameters:
0:? Sequence
0:25 Sequence
@ -64,24 +64,28 @@ gl_FragCoord origin is upper left
0:33 1 (const int)
0:33 Constant:
0:33 1.000000
0:35 Sequence
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:35 Color: direct index for structure (temp 4-component vector of float)
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:35 Constant:
0:35 0 (const int)
0:35 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:35 Depth: direct index for structure (temp float)
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:35 Constant:
0:35 1 (const int)
0:35 Branch: Return
0:35 Branch: Return with expression
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 Function Definition: main( (temp void)
0:20 Function Parameters:
0:? Sequence
0:20 Sequence
0:20 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:20 Color: direct index for structure (temp 4-component vector of float)
0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 Constant:
0:20 0 (const int)
0:20 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:20 Depth: direct index for structure (temp float)
0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 Constant:
0:20 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@ -90,6 +94,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@ -98,7 +104,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 Function Parameters:
0:? Sequence
0:25 Sequence
@ -160,24 +166,28 @@ gl_FragCoord origin is upper left
0:33 1 (const int)
0:33 Constant:
0:33 1.000000
0:35 Sequence
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:35 Color: direct index for structure (temp 4-component vector of float)
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:35 Constant:
0:35 0 (const int)
0:35 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:35 Depth: direct index for structure (temp float)
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:35 Constant:
0:35 1 (const int)
0:35 Branch: Return
0:35 Branch: Return with expression
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 Function Definition: main( (temp void)
0:20 Function Parameters:
0:? Sequence
0:20 Sequence
0:20 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:20 Color: direct index for structure (temp 4-component vector of float)
0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 Constant:
0:20 0 (const int)
0:20 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:20 Depth: direct index for structure (temp float)
0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20 Constant:
0:20 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@ -186,141 +196,154 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 90
// Id's are bound by 97
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 72 76
EntryPoint Fragment 4 "main" 80 84
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "txval20"
Name 12 "g_tTex2df4"
Name 16 "g_sSamp"
Name 33 "txval21"
Name 36 "g_tTex2di4"
Name 48 "txval22"
Name 51 "g_tTex2du4"
Name 63 "PS_OUTPUT"
MemberName 63(PS_OUTPUT) 0 "Color"
MemberName 63(PS_OUTPUT) 1 "Depth"
Name 65 "psout"
Name 72 "Color"
Name 76 "Depth"
Name 82 "g_tTex1df4a"
Name 83 "g_tTex1df4"
Name 86 "g_tTex1di4"
Name 89 "g_tTex1du4"
Decorate 12(g_tTex2df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 0
Decorate 16(g_sSamp) Binding 0
Decorate 36(g_tTex2di4) DescriptorSet 0
Decorate 51(g_tTex2du4) DescriptorSet 0
Decorate 72(Color) Location 0
Decorate 76(Depth) BuiltIn FragDepth
Decorate 82(g_tTex1df4a) DescriptorSet 0
Decorate 82(g_tTex1df4a) Binding 1
Decorate 83(g_tTex1df4) DescriptorSet 0
Decorate 83(g_tTex1df4) Binding 0
Decorate 86(g_tTex1di4) DescriptorSet 0
Decorate 89(g_tTex1du4) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 13 "txval20"
Name 16 "g_tTex2df4"
Name 20 "g_sSamp"
Name 37 "txval21"
Name 40 "g_tTex2di4"
Name 52 "txval22"
Name 55 "g_tTex2du4"
Name 68 "psout"
Name 77 "flattenTemp"
Name 80 "Color"
Name 84 "Depth"
Name 89 "g_tTex1df4a"
Name 90 "g_tTex1df4"
Name 93 "g_tTex1di4"
Name 96 "g_tTex1du4"
Decorate 16(g_tTex2df4) DescriptorSet 0
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
Decorate 40(g_tTex2di4) DescriptorSet 0
Decorate 55(g_tTex2du4) DescriptorSet 0
Decorate 80(Color) Location 0
Decorate 84(Depth) BuiltIn FragDepth
Decorate 89(g_tTex1df4a) DescriptorSet 0
Decorate 89(g_tTex1df4a) Binding 1
Decorate 90(g_tTex1df4) DescriptorSet 0
Decorate 90(g_tTex1df4) Binding 0
Decorate 93(g_tTex1di4) DescriptorSet 0
Decorate 96(g_tTex1du4) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypeImage 6(float) 2D array sampled format:Unknown
11: TypePointer UniformConstant 10
12(g_tTex2df4): 11(ptr) Variable UniformConstant
14: TypeSampler
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 7(fvec4)
14: TypeImage 6(float) 2D array sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10
20: TypeVector 6(float) 3
21: 6(float) Constant 1036831949
22: 6(float) Constant 1045220557
23: 6(float) Constant 1050253722
24: 20(fvec3) ConstantComposite 21 22 23
25: TypeInt 32 1
26: TypeVector 25(int) 2
27: 25(int) Constant 1
28: 25(int) Constant 0
29: 26(ivec2) ConstantComposite 27 28
31: TypeVector 25(int) 4
32: TypePointer Function 31(ivec4)
34: TypeImage 25(int) 2D array sampled format:Unknown
35: TypePointer UniformConstant 34
36(g_tTex2di4): 35(ptr) Variable UniformConstant
39: TypeSampledImage 34
41: 6(float) Constant 1053609165
42: 20(fvec3) ConstantComposite 23 41 41
43: 26(ivec2) ConstantComposite 27 27
45: TypeInt 32 0
46: TypeVector 45(int) 4
47: TypePointer Function 46(ivec4)
49: TypeImage 45(int) 2D array sampled format:Unknown
50: TypePointer UniformConstant 49
51(g_tTex2du4): 50(ptr) Variable UniformConstant
54: TypeSampledImage 49
56: 6(float) Constant 1056964608
57: 6(float) Constant 1058642330
58: 6(float) Constant 1060320051
59: 20(fvec3) ConstantComposite 56 57 58
60: 25(int) Constant 4294967295
61: 26(ivec2) ConstantComposite 27 60
63(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
64: TypePointer Function 63(PS_OUTPUT)
66: 6(float) Constant 1065353216
67: 7(fvec4) ConstantComposite 66 66 66 66
69: TypePointer Function 6(float)
71: TypePointer Output 7(fvec4)
72(Color): 71(ptr) Variable Output
75: TypePointer Output 6(float)
76(Depth): 75(ptr) Variable Output
80: TypeImage 6(float) 1D array sampled format:Unknown
81: TypePointer UniformConstant 80
82(g_tTex1df4a): 81(ptr) Variable UniformConstant
83(g_tTex1df4): 81(ptr) Variable UniformConstant
84: TypeImage 25(int) 1D array sampled format:Unknown
85: TypePointer UniformConstant 84
86(g_tTex1di4): 85(ptr) Variable UniformConstant
87: TypeImage 45(int) 1D array sampled format:Unknown
16(g_tTex2df4): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeSampledImage 14
24: TypeVector 6(float) 3
25: 6(float) Constant 1036831949
26: 6(float) Constant 1045220557
27: 6(float) Constant 1050253722
28: 24(fvec3) ConstantComposite 25 26 27
29: TypeInt 32 1
30: TypeVector 29(int) 2
31: 29(int) Constant 1
32: 29(int) Constant 0
33: 30(ivec2) ConstantComposite 31 32
35: TypeVector 29(int) 4
36: TypePointer Function 35(ivec4)
38: TypeImage 29(int) 2D array sampled format:Unknown
39: TypePointer UniformConstant 38
40(g_tTex2di4): 39(ptr) Variable UniformConstant
43: TypeSampledImage 38
45: 6(float) Constant 1053609165
46: 24(fvec3) ConstantComposite 27 45 45
47: 30(ivec2) ConstantComposite 31 31
49: TypeInt 32 0
50: TypeVector 49(int) 4
51: TypePointer Function 50(ivec4)
53: TypeImage 49(int) 2D array sampled format:Unknown
54: TypePointer UniformConstant 53
55(g_tTex2du4): 54(ptr) Variable UniformConstant
58: TypeSampledImage 53
60: 6(float) Constant 1056964608
61: 6(float) Constant 1058642330
62: 6(float) Constant 1060320051
63: 24(fvec3) ConstantComposite 60 61 62
64: 29(int) Constant 4294967295
65: 30(ivec2) ConstantComposite 31 64
67: TypePointer Function 8(PS_OUTPUT)
69: 6(float) Constant 1065353216
70: 7(fvec4) ConstantComposite 69 69 69 69
72: TypePointer Function 6(float)
79: TypePointer Output 7(fvec4)
80(Color): 79(ptr) Variable Output
83: TypePointer Output 6(float)
84(Depth): 83(ptr) Variable Output
87: TypeImage 6(float) 1D array sampled format:Unknown
88: TypePointer UniformConstant 87
89(g_tTex1du4): 88(ptr) Variable UniformConstant
89(g_tTex1df4a): 88(ptr) Variable UniformConstant
90(g_tTex1df4): 88(ptr) Variable UniformConstant
91: TypeImage 29(int) 1D array sampled format:Unknown
92: TypePointer UniformConstant 91
93(g_tTex1di4): 92(ptr) Variable UniformConstant
94: TypeImage 49(int) 1D array sampled format:Unknown
95: TypePointer UniformConstant 94
96(g_tTex1du4): 95(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(txval20): 8(ptr) Variable Function
33(txval21): 32(ptr) Variable Function
48(txval22): 47(ptr) Variable Function
65(psout): 64(ptr) Variable Function
13: 10 Load 12(g_tTex2df4)
17: 14 Load 16(g_sSamp)
19: 18 SampledImage 13 17
30: 7(fvec4) ImageGather 19 24 28 ConstOffset 29
Store 9(txval20) 30
37: 34 Load 36(g_tTex2di4)
38: 14 Load 16(g_sSamp)
40: 39 SampledImage 37 38
44: 31(ivec4) ImageGather 40 42 28 ConstOffset 43
Store 33(txval21) 44
52: 49 Load 51(g_tTex2du4)
53: 14 Load 16(g_sSamp)
55: 54 SampledImage 52 53
62: 46(ivec4) ImageGather 55 59 28 ConstOffset 61
Store 48(txval22) 62
68: 8(ptr) AccessChain 65(psout) 28
Store 68 67
70: 69(ptr) AccessChain 65(psout) 27
Store 70 66
73: 8(ptr) AccessChain 65(psout) 28
74: 7(fvec4) Load 73
Store 72(Color) 74
77: 69(ptr) AccessChain 65(psout) 27
78: 6(float) Load 77
Store 76(Depth) 78
77(flattenTemp): 67(ptr) Variable Function
78:8(PS_OUTPUT) FunctionCall 10(@main()
Store 77(flattenTemp) 78
81: 12(ptr) AccessChain 77(flattenTemp) 32
82: 7(fvec4) Load 81
Store 80(Color) 82
85: 72(ptr) AccessChain 77(flattenTemp) 31
86: 6(float) Load 85
Store 84(Depth) 86
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(txval20): 12(ptr) Variable Function
37(txval21): 36(ptr) Variable Function
52(txval22): 51(ptr) Variable Function
68(psout): 67(ptr) Variable Function
17: 14 Load 16(g_tTex2df4)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
34: 7(fvec4) ImageGather 23 28 32 ConstOffset 33
Store 13(txval20) 34
41: 38 Load 40(g_tTex2di4)
42: 18 Load 20(g_sSamp)
44: 43 SampledImage 41 42
48: 35(ivec4) ImageGather 44 46 32 ConstOffset 47
Store 37(txval21) 48
56: 53 Load 55(g_tTex2du4)
57: 18 Load 20(g_sSamp)
59: 58 SampledImage 56 57
66: 50(ivec4) ImageGather 59 63 32 ConstOffset 65
Store 52(txval22) 66
71: 12(ptr) AccessChain 68(psout) 32
Store 71 70
73: 72(ptr) AccessChain 68(psout) 31
Store 73 69
74:8(PS_OUTPUT) Load 68(psout)
ReturnValue 74
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.gatherRGBA.array.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Parameters:
0:? Sequence
0:33 Sequence
@ -334,24 +334,28 @@ gl_FragCoord origin is upper left
0:68 1 (const int)
0:68 Constant:
0:68 1.000000
0:70 Sequence
0:70 Sequence
0:70 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:70 Color: direct index for structure (temp 4-component vector of float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 Constant:
0:70 0 (const int)
0:70 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:70 Depth: direct index for structure (temp float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 Constant:
0:70 1 (const int)
0:70 Branch: Return
0:70 Branch: Return with expression
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: main( (temp void)
0:28 Function Parameters:
0:? Sequence
0:28 Sequence
0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:28 Color: direct index for structure (temp 4-component vector of float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 0 (const int)
0:28 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:28 Depth: direct index for structure (temp float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray)
@ -363,6 +367,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
@ -372,7 +378,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Parameters:
0:? Sequence
0:33 Sequence
@ -704,24 +710,28 @@ gl_FragCoord origin is upper left
0:68 1 (const int)
0:68 Constant:
0:68 1.000000
0:70 Sequence
0:70 Sequence
0:70 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:70 Color: direct index for structure (temp 4-component vector of float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 Constant:
0:70 0 (const int)
0:70 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:70 Depth: direct index for structure (temp float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 Constant:
0:70 1 (const int)
0:70 Branch: Return
0:70 Branch: Return with expression
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: main( (temp void)
0:28 Function Parameters:
0:? Sequence
0:28 Sequence
0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:28 Color: direct index for structure (temp 4-component vector of float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 0 (const int)
0:28 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:28 Depth: direct index for structure (temp float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray)
@ -733,360 +743,373 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 248
// Id's are bound by 255
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 230 234
EntryPoint Fragment 4 "main" 238 242
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "txval00"
Name 12 "g_tTex2df4a"
Name 16 "g_sSamp"
Name 22 "$Global"
MemberName 22($Global) 0 "c1"
MemberName 22($Global) 1 "c2"
MemberName 22($Global) 2 "c3"
MemberName 22($Global) 3 "c4"
Name 24 ""
Name 34 "txval01"
Name 37 "g_tTex2di4a"
Name 48 "txval02"
Name 51 "g_tTex2du4a"
Name 59 "txval10"
Name 67 "txval11"
Name 74 "txval12"
Name 81 "txval20"
Name 88 "txval21"
Name 95 "txval22"
Name 102 "txval30"
Name 110 "txval31"
Name 117 "txval32"
Name 124 "txval40"
Name 127 "g_tTexcdf4a"
Name 136 "txval41"
Name 139 "g_tTexcdi4a"
Name 147 "txval42"
Name 150 "g_tTexcdu4a"
Name 158 "txval50"
Name 165 "txval51"
Name 172 "txval52"
Name 179 "txval60"
Name 186 "txval61"
Name 193 "txval62"
Name 200 "txval70"
Name 207 "txval71"
Name 214 "txval72"
Name 221 "PS_OUTPUT"
MemberName 221(PS_OUTPUT) 0 "Color"
MemberName 221(PS_OUTPUT) 1 "Depth"
Name 223 "psout"
Name 230 "Color"
Name 234 "Depth"
Name 238 "g_sSamp2d"
Name 241 "g_tTex1df4a"
Name 244 "g_tTex1di4a"
Name 247 "g_tTex1du4a"
Decorate 12(g_tTex2df4a) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 0
Decorate 16(g_sSamp) Binding 0
MemberDecorate 22($Global) 0 Offset 0
MemberDecorate 22($Global) 1 Offset 8
MemberDecorate 22($Global) 2 Offset 16
MemberDecorate 22($Global) 3 Offset 32
Decorate 22($Global) Block
Decorate 24 DescriptorSet 0
Decorate 37(g_tTex2di4a) DescriptorSet 0
Decorate 51(g_tTex2du4a) DescriptorSet 0
Decorate 127(g_tTexcdf4a) DescriptorSet 0
Decorate 139(g_tTexcdi4a) DescriptorSet 0
Decorate 150(g_tTexcdu4a) DescriptorSet 0
Decorate 230(Color) Location 0
Decorate 234(Depth) BuiltIn FragDepth
Decorate 238(g_sSamp2d) DescriptorSet 0
Decorate 241(g_tTex1df4a) DescriptorSet 0
Decorate 241(g_tTex1df4a) Binding 0
Decorate 244(g_tTex1di4a) DescriptorSet 0
Decorate 247(g_tTex1du4a) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 13 "txval00"
Name 16 "g_tTex2df4a"
Name 20 "g_sSamp"
Name 26 "$Global"
MemberName 26($Global) 0 "c1"
MemberName 26($Global) 1 "c2"
MemberName 26($Global) 2 "c3"
MemberName 26($Global) 3 "c4"
Name 28 ""
Name 38 "txval01"
Name 41 "g_tTex2di4a"
Name 52 "txval02"
Name 55 "g_tTex2du4a"
Name 63 "txval10"
Name 71 "txval11"
Name 78 "txval12"
Name 85 "txval20"
Name 92 "txval21"
Name 99 "txval22"
Name 106 "txval30"
Name 114 "txval31"
Name 121 "txval32"
Name 128 "txval40"
Name 131 "g_tTexcdf4a"
Name 140 "txval41"
Name 143 "g_tTexcdi4a"
Name 151 "txval42"
Name 154 "g_tTexcdu4a"
Name 162 "txval50"
Name 169 "txval51"
Name 176 "txval52"
Name 183 "txval60"
Name 190 "txval61"
Name 197 "txval62"
Name 204 "txval70"
Name 211 "txval71"
Name 218 "txval72"
Name 226 "psout"
Name 235 "flattenTemp"
Name 238 "Color"
Name 242 "Depth"
Name 245 "g_sSamp2d"
Name 248 "g_tTex1df4a"
Name 251 "g_tTex1di4a"
Name 254 "g_tTex1du4a"
Decorate 16(g_tTex2df4a) DescriptorSet 0
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
MemberDecorate 26($Global) 0 Offset 0
MemberDecorate 26($Global) 1 Offset 8
MemberDecorate 26($Global) 2 Offset 16
MemberDecorate 26($Global) 3 Offset 32
Decorate 26($Global) Block
Decorate 28 DescriptorSet 0
Decorate 41(g_tTex2di4a) DescriptorSet 0
Decorate 55(g_tTex2du4a) DescriptorSet 0
Decorate 131(g_tTexcdf4a) DescriptorSet 0
Decorate 143(g_tTexcdi4a) DescriptorSet 0
Decorate 154(g_tTexcdu4a) DescriptorSet 0
Decorate 238(Color) Location 0
Decorate 242(Depth) BuiltIn FragDepth
Decorate 245(g_sSamp2d) DescriptorSet 0
Decorate 248(g_tTex1df4a) DescriptorSet 0
Decorate 248(g_tTex1df4a) Binding 0
Decorate 251(g_tTex1di4a) DescriptorSet 0
Decorate 254(g_tTex1du4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypeImage 6(float) 2D array sampled format:Unknown
11: TypePointer UniformConstant 10
12(g_tTex2df4a): 11(ptr) Variable UniformConstant
14: TypeSampler
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 7(fvec4)
14: TypeImage 6(float) 2D array sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10
20: TypeVector 6(float) 2
21: TypeVector 6(float) 3
22($Global): TypeStruct 6(float) 20(fvec2) 21(fvec3) 7(fvec4)
23: TypePointer Uniform 22($Global)
24: 23(ptr) Variable Uniform
25: TypeInt 32 1
26: 25(int) Constant 2
27: TypePointer Uniform 21(fvec3)
30: 25(int) Constant 0
32: TypeVector 25(int) 4
33: TypePointer Function 32(ivec4)
35: TypeImage 25(int) 2D array sampled format:Unknown
36: TypePointer UniformConstant 35
37(g_tTex2di4a): 36(ptr) Variable UniformConstant
40: TypeSampledImage 35
45: TypeInt 32 0
46: TypeVector 45(int) 4
47: TypePointer Function 46(ivec4)
49: TypeImage 45(int) 2D array sampled format:Unknown
50: TypePointer UniformConstant 49
51(g_tTex2du4a): 50(ptr) Variable UniformConstant
54: TypeSampledImage 49
65: 25(int) Constant 1
108: 25(int) Constant 3
125: TypeImage 6(float) Cube array sampled format:Unknown
126: TypePointer UniformConstant 125
127(g_tTexcdf4a): 126(ptr) Variable UniformConstant
130: TypeSampledImage 125
132: TypePointer Uniform 7(fvec4)
137: TypeImage 25(int) Cube array sampled format:Unknown
138: TypePointer UniformConstant 137
139(g_tTexcdi4a): 138(ptr) Variable UniformConstant
142: TypeSampledImage 137
148: TypeImage 45(int) Cube array sampled format:Unknown
149: TypePointer UniformConstant 148
150(g_tTexcdu4a): 149(ptr) Variable UniformConstant
153: TypeSampledImage 148
221(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
222: TypePointer Function 221(PS_OUTPUT)
224: 6(float) Constant 1065353216
225: 7(fvec4) ConstantComposite 224 224 224 224
227: TypePointer Function 6(float)
229: TypePointer Output 7(fvec4)
230(Color): 229(ptr) Variable Output
233: TypePointer Output 6(float)
234(Depth): 233(ptr) Variable Output
238(g_sSamp2d): 15(ptr) Variable UniformConstant
239: TypeImage 6(float) 1D array sampled format:Unknown
240: TypePointer UniformConstant 239
241(g_tTex1df4a): 240(ptr) Variable UniformConstant
242: TypeImage 25(int) 1D array sampled format:Unknown
243: TypePointer UniformConstant 242
244(g_tTex1di4a): 243(ptr) Variable UniformConstant
245: TypeImage 45(int) 1D array sampled format:Unknown
246: TypePointer UniformConstant 245
247(g_tTex1du4a): 246(ptr) Variable UniformConstant
16(g_tTex2df4a): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeSampledImage 14
24: TypeVector 6(float) 2
25: TypeVector 6(float) 3
26($Global): TypeStruct 6(float) 24(fvec2) 25(fvec3) 7(fvec4)
27: TypePointer Uniform 26($Global)
28: 27(ptr) Variable Uniform
29: TypeInt 32 1
30: 29(int) Constant 2
31: TypePointer Uniform 25(fvec3)
34: 29(int) Constant 0
36: TypeVector 29(int) 4
37: TypePointer Function 36(ivec4)
39: TypeImage 29(int) 2D array sampled format:Unknown
40: TypePointer UniformConstant 39
41(g_tTex2di4a): 40(ptr) Variable UniformConstant
44: TypeSampledImage 39
49: TypeInt 32 0
50: TypeVector 49(int) 4
51: TypePointer Function 50(ivec4)
53: TypeImage 49(int) 2D array sampled format:Unknown
54: TypePointer UniformConstant 53
55(g_tTex2du4a): 54(ptr) Variable UniformConstant
58: TypeSampledImage 53
69: 29(int) Constant 1
112: 29(int) Constant 3
129: TypeImage 6(float) Cube array sampled format:Unknown
130: TypePointer UniformConstant 129
131(g_tTexcdf4a): 130(ptr) Variable UniformConstant
134: TypeSampledImage 129
136: TypePointer Uniform 7(fvec4)
141: TypeImage 29(int) Cube array sampled format:Unknown
142: TypePointer UniformConstant 141
143(g_tTexcdi4a): 142(ptr) Variable UniformConstant
146: TypeSampledImage 141
152: TypeImage 49(int) Cube array sampled format:Unknown
153: TypePointer UniformConstant 152
154(g_tTexcdu4a): 153(ptr) Variable UniformConstant
157: TypeSampledImage 152
225: TypePointer Function 8(PS_OUTPUT)
227: 6(float) Constant 1065353216
228: 7(fvec4) ConstantComposite 227 227 227 227
230: TypePointer Function 6(float)
237: TypePointer Output 7(fvec4)
238(Color): 237(ptr) Variable Output
241: TypePointer Output 6(float)
242(Depth): 241(ptr) Variable Output
245(g_sSamp2d): 19(ptr) Variable UniformConstant
246: TypeImage 6(float) 1D array sampled format:Unknown
247: TypePointer UniformConstant 246
248(g_tTex1df4a): 247(ptr) Variable UniformConstant
249: TypeImage 29(int) 1D array sampled format:Unknown
250: TypePointer UniformConstant 249
251(g_tTex1di4a): 250(ptr) Variable UniformConstant
252: TypeImage 49(int) 1D array sampled format:Unknown
253: TypePointer UniformConstant 252
254(g_tTex1du4a): 253(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(txval00): 8(ptr) Variable Function
34(txval01): 33(ptr) Variable Function
48(txval02): 47(ptr) Variable Function
59(txval10): 8(ptr) Variable Function
67(txval11): 33(ptr) Variable Function
74(txval12): 47(ptr) Variable Function
81(txval20): 8(ptr) Variable Function
88(txval21): 33(ptr) Variable Function
95(txval22): 47(ptr) Variable Function
102(txval30): 8(ptr) Variable Function
110(txval31): 33(ptr) Variable Function
117(txval32): 47(ptr) Variable Function
124(txval40): 8(ptr) Variable Function
136(txval41): 33(ptr) Variable Function
147(txval42): 47(ptr) Variable Function
158(txval50): 8(ptr) Variable Function
165(txval51): 33(ptr) Variable Function
172(txval52): 47(ptr) Variable Function
179(txval60): 8(ptr) Variable Function
186(txval61): 33(ptr) Variable Function
193(txval62): 47(ptr) Variable Function
200(txval70): 8(ptr) Variable Function
207(txval71): 33(ptr) Variable Function
214(txval72): 47(ptr) Variable Function
223(psout): 222(ptr) Variable Function
13: 10 Load 12(g_tTex2df4a)
17: 14 Load 16(g_sSamp)
19: 18 SampledImage 13 17
28: 27(ptr) AccessChain 24 26
29: 21(fvec3) Load 28
31: 7(fvec4) ImageGather 19 29 30
Store 9(txval00) 31
38: 35 Load 37(g_tTex2di4a)
39: 14 Load 16(g_sSamp)
41: 40 SampledImage 38 39
42: 27(ptr) AccessChain 24 26
43: 21(fvec3) Load 42
44: 32(ivec4) ImageGather 41 43 30
Store 34(txval01) 44
52: 49 Load 51(g_tTex2du4a)
53: 14 Load 16(g_sSamp)
55: 54 SampledImage 52 53
56: 27(ptr) AccessChain 24 26
57: 21(fvec3) Load 56
58: 46(ivec4) ImageGather 55 57 30
Store 48(txval02) 58
60: 10 Load 12(g_tTex2df4a)
61: 14 Load 16(g_sSamp)
62: 18 SampledImage 60 61
63: 27(ptr) AccessChain 24 26
64: 21(fvec3) Load 63
66: 7(fvec4) ImageGather 62 64 65
Store 59(txval10) 66
68: 35 Load 37(g_tTex2di4a)
69: 14 Load 16(g_sSamp)
70: 40 SampledImage 68 69
71: 27(ptr) AccessChain 24 26
72: 21(fvec3) Load 71
73: 32(ivec4) ImageGather 70 72 65
Store 67(txval11) 73
75: 49 Load 51(g_tTex2du4a)
76: 14 Load 16(g_sSamp)
77: 54 SampledImage 75 76
78: 27(ptr) AccessChain 24 26
79: 21(fvec3) Load 78
80: 46(ivec4) ImageGather 77 79 65
Store 74(txval12) 80
82: 10 Load 12(g_tTex2df4a)
83: 14 Load 16(g_sSamp)
84: 18 SampledImage 82 83
85: 27(ptr) AccessChain 24 26
86: 21(fvec3) Load 85
87: 7(fvec4) ImageGather 84 86 26
Store 81(txval20) 87
89: 35 Load 37(g_tTex2di4a)
90: 14 Load 16(g_sSamp)
91: 40 SampledImage 89 90
92: 27(ptr) AccessChain 24 26
93: 21(fvec3) Load 92
94: 32(ivec4) ImageGather 91 93 26
Store 88(txval21) 94
96: 49 Load 51(g_tTex2du4a)
97: 14 Load 16(g_sSamp)
98: 54 SampledImage 96 97
99: 27(ptr) AccessChain 24 26
100: 21(fvec3) Load 99
101: 46(ivec4) ImageGather 98 100 26
Store 95(txval22) 101
103: 10 Load 12(g_tTex2df4a)
104: 14 Load 16(g_sSamp)
105: 18 SampledImage 103 104
106: 27(ptr) AccessChain 24 26
107: 21(fvec3) Load 106
109: 7(fvec4) ImageGather 105 107 108
Store 102(txval30) 109
111: 35 Load 37(g_tTex2di4a)
112: 14 Load 16(g_sSamp)
113: 40 SampledImage 111 112
114: 27(ptr) AccessChain 24 26
115: 21(fvec3) Load 114
116: 32(ivec4) ImageGather 113 115 108
Store 110(txval31) 116
118: 49 Load 51(g_tTex2du4a)
119: 14 Load 16(g_sSamp)
120: 54 SampledImage 118 119
121: 27(ptr) AccessChain 24 26
122: 21(fvec3) Load 121
123: 46(ivec4) ImageGather 120 122 108
Store 117(txval32) 123
128: 125 Load 127(g_tTexcdf4a)
129: 14 Load 16(g_sSamp)
131: 130 SampledImage 128 129
133: 132(ptr) AccessChain 24 108
134: 7(fvec4) Load 133
135: 7(fvec4) ImageGather 131 134 30
Store 124(txval40) 135
140: 137 Load 139(g_tTexcdi4a)
141: 14 Load 16(g_sSamp)
143: 142 SampledImage 140 141
144: 132(ptr) AccessChain 24 108
145: 7(fvec4) Load 144
146: 32(ivec4) ImageGather 143 145 30
Store 136(txval41) 146
151: 148 Load 150(g_tTexcdu4a)
152: 14 Load 16(g_sSamp)
154: 153 SampledImage 151 152
155: 132(ptr) AccessChain 24 108
156: 7(fvec4) Load 155
157: 46(ivec4) ImageGather 154 156 30
Store 147(txval42) 157
159: 125 Load 127(g_tTexcdf4a)
160: 14 Load 16(g_sSamp)
161: 130 SampledImage 159 160
162: 132(ptr) AccessChain 24 108
163: 7(fvec4) Load 162
164: 7(fvec4) ImageGather 161 163 65
Store 158(txval50) 164
166: 137 Load 139(g_tTexcdi4a)
167: 14 Load 16(g_sSamp)
168: 142 SampledImage 166 167
169: 132(ptr) AccessChain 24 108
170: 7(fvec4) Load 169
171: 32(ivec4) ImageGather 168 170 65
Store 165(txval51) 171
173: 148 Load 150(g_tTexcdu4a)
174: 14 Load 16(g_sSamp)
175: 153 SampledImage 173 174
176: 132(ptr) AccessChain 24 108
177: 7(fvec4) Load 176
178: 46(ivec4) ImageGather 175 177 65
Store 172(txval52) 178
180: 125 Load 127(g_tTexcdf4a)
181: 14 Load 16(g_sSamp)
182: 130 SampledImage 180 181
183: 132(ptr) AccessChain 24 108
184: 7(fvec4) Load 183
185: 7(fvec4) ImageGather 182 184 26
Store 179(txval60) 185
187: 137 Load 139(g_tTexcdi4a)
188: 14 Load 16(g_sSamp)
189: 142 SampledImage 187 188
190: 132(ptr) AccessChain 24 108
191: 7(fvec4) Load 190
192: 32(ivec4) ImageGather 189 191 26
Store 186(txval61) 192
194: 148 Load 150(g_tTexcdu4a)
195: 14 Load 16(g_sSamp)
196: 153 SampledImage 194 195
197: 132(ptr) AccessChain 24 108
198: 7(fvec4) Load 197
199: 46(ivec4) ImageGather 196 198 26
Store 193(txval62) 199
201: 125 Load 127(g_tTexcdf4a)
202: 14 Load 16(g_sSamp)
203: 130 SampledImage 201 202
204: 132(ptr) AccessChain 24 108
205: 7(fvec4) Load 204
206: 7(fvec4) ImageGather 203 205 108
Store 200(txval70) 206
208: 137 Load 139(g_tTexcdi4a)
209: 14 Load 16(g_sSamp)
210: 142 SampledImage 208 209
211: 132(ptr) AccessChain 24 108
212: 7(fvec4) Load 211
213: 32(ivec4) ImageGather 210 212 108
Store 207(txval71) 213
215: 148 Load 150(g_tTexcdu4a)
216: 14 Load 16(g_sSamp)
217: 153 SampledImage 215 216
218: 132(ptr) AccessChain 24 108
219: 7(fvec4) Load 218
220: 46(ivec4) ImageGather 217 219 108
Store 214(txval72) 220
226: 8(ptr) AccessChain 223(psout) 30
Store 226 225
228: 227(ptr) AccessChain 223(psout) 65
Store 228 224
231: 8(ptr) AccessChain 223(psout) 30
232: 7(fvec4) Load 231
Store 230(Color) 232
235: 227(ptr) AccessChain 223(psout) 65
236: 6(float) Load 235
Store 234(Depth) 236
235(flattenTemp): 225(ptr) Variable Function
236:8(PS_OUTPUT) FunctionCall 10(@main()
Store 235(flattenTemp) 236
239: 12(ptr) AccessChain 235(flattenTemp) 34
240: 7(fvec4) Load 239
Store 238(Color) 240
243: 230(ptr) AccessChain 235(flattenTemp) 69
244: 6(float) Load 243
Store 242(Depth) 244
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(txval00): 12(ptr) Variable Function
38(txval01): 37(ptr) Variable Function
52(txval02): 51(ptr) Variable Function
63(txval10): 12(ptr) Variable Function
71(txval11): 37(ptr) Variable Function
78(txval12): 51(ptr) Variable Function
85(txval20): 12(ptr) Variable Function
92(txval21): 37(ptr) Variable Function
99(txval22): 51(ptr) Variable Function
106(txval30): 12(ptr) Variable Function
114(txval31): 37(ptr) Variable Function
121(txval32): 51(ptr) Variable Function
128(txval40): 12(ptr) Variable Function
140(txval41): 37(ptr) Variable Function
151(txval42): 51(ptr) Variable Function
162(txval50): 12(ptr) Variable Function
169(txval51): 37(ptr) Variable Function
176(txval52): 51(ptr) Variable Function
183(txval60): 12(ptr) Variable Function
190(txval61): 37(ptr) Variable Function
197(txval62): 51(ptr) Variable Function
204(txval70): 12(ptr) Variable Function
211(txval71): 37(ptr) Variable Function
218(txval72): 51(ptr) Variable Function
226(psout): 225(ptr) Variable Function
17: 14 Load 16(g_tTex2df4a)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
32: 31(ptr) AccessChain 28 30
33: 25(fvec3) Load 32
35: 7(fvec4) ImageGather 23 33 34
Store 13(txval00) 35
42: 39 Load 41(g_tTex2di4a)
43: 18 Load 20(g_sSamp)
45: 44 SampledImage 42 43
46: 31(ptr) AccessChain 28 30
47: 25(fvec3) Load 46
48: 36(ivec4) ImageGather 45 47 34
Store 38(txval01) 48
56: 53 Load 55(g_tTex2du4a)
57: 18 Load 20(g_sSamp)
59: 58 SampledImage 56 57
60: 31(ptr) AccessChain 28 30
61: 25(fvec3) Load 60
62: 50(ivec4) ImageGather 59 61 34
Store 52(txval02) 62
64: 14 Load 16(g_tTex2df4a)
65: 18 Load 20(g_sSamp)
66: 22 SampledImage 64 65
67: 31(ptr) AccessChain 28 30
68: 25(fvec3) Load 67
70: 7(fvec4) ImageGather 66 68 69
Store 63(txval10) 70
72: 39 Load 41(g_tTex2di4a)
73: 18 Load 20(g_sSamp)
74: 44 SampledImage 72 73
75: 31(ptr) AccessChain 28 30
76: 25(fvec3) Load 75
77: 36(ivec4) ImageGather 74 76 69
Store 71(txval11) 77
79: 53 Load 55(g_tTex2du4a)
80: 18 Load 20(g_sSamp)
81: 58 SampledImage 79 80
82: 31(ptr) AccessChain 28 30
83: 25(fvec3) Load 82
84: 50(ivec4) ImageGather 81 83 69
Store 78(txval12) 84
86: 14 Load 16(g_tTex2df4a)
87: 18 Load 20(g_sSamp)
88: 22 SampledImage 86 87
89: 31(ptr) AccessChain 28 30
90: 25(fvec3) Load 89
91: 7(fvec4) ImageGather 88 90 30
Store 85(txval20) 91
93: 39 Load 41(g_tTex2di4a)
94: 18 Load 20(g_sSamp)
95: 44 SampledImage 93 94
96: 31(ptr) AccessChain 28 30
97: 25(fvec3) Load 96
98: 36(ivec4) ImageGather 95 97 30
Store 92(txval21) 98
100: 53 Load 55(g_tTex2du4a)
101: 18 Load 20(g_sSamp)
102: 58 SampledImage 100 101
103: 31(ptr) AccessChain 28 30
104: 25(fvec3) Load 103
105: 50(ivec4) ImageGather 102 104 30
Store 99(txval22) 105
107: 14 Load 16(g_tTex2df4a)
108: 18 Load 20(g_sSamp)
109: 22 SampledImage 107 108
110: 31(ptr) AccessChain 28 30
111: 25(fvec3) Load 110
113: 7(fvec4) ImageGather 109 111 112
Store 106(txval30) 113
115: 39 Load 41(g_tTex2di4a)
116: 18 Load 20(g_sSamp)
117: 44 SampledImage 115 116
118: 31(ptr) AccessChain 28 30
119: 25(fvec3) Load 118
120: 36(ivec4) ImageGather 117 119 112
Store 114(txval31) 120
122: 53 Load 55(g_tTex2du4a)
123: 18 Load 20(g_sSamp)
124: 58 SampledImage 122 123
125: 31(ptr) AccessChain 28 30
126: 25(fvec3) Load 125
127: 50(ivec4) ImageGather 124 126 112
Store 121(txval32) 127
132: 129 Load 131(g_tTexcdf4a)
133: 18 Load 20(g_sSamp)
135: 134 SampledImage 132 133
137: 136(ptr) AccessChain 28 112
138: 7(fvec4) Load 137
139: 7(fvec4) ImageGather 135 138 34
Store 128(txval40) 139
144: 141 Load 143(g_tTexcdi4a)
145: 18 Load 20(g_sSamp)
147: 146 SampledImage 144 145
148: 136(ptr) AccessChain 28 112
149: 7(fvec4) Load 148
150: 36(ivec4) ImageGather 147 149 34
Store 140(txval41) 150
155: 152 Load 154(g_tTexcdu4a)
156: 18 Load 20(g_sSamp)
158: 157 SampledImage 155 156
159: 136(ptr) AccessChain 28 112
160: 7(fvec4) Load 159
161: 50(ivec4) ImageGather 158 160 34
Store 151(txval42) 161
163: 129 Load 131(g_tTexcdf4a)
164: 18 Load 20(g_sSamp)
165: 134 SampledImage 163 164
166: 136(ptr) AccessChain 28 112
167: 7(fvec4) Load 166
168: 7(fvec4) ImageGather 165 167 69
Store 162(txval50) 168
170: 141 Load 143(g_tTexcdi4a)
171: 18 Load 20(g_sSamp)
172: 146 SampledImage 170 171
173: 136(ptr) AccessChain 28 112
174: 7(fvec4) Load 173
175: 36(ivec4) ImageGather 172 174 69
Store 169(txval51) 175
177: 152 Load 154(g_tTexcdu4a)
178: 18 Load 20(g_sSamp)
179: 157 SampledImage 177 178
180: 136(ptr) AccessChain 28 112
181: 7(fvec4) Load 180
182: 50(ivec4) ImageGather 179 181 69
Store 176(txval52) 182
184: 129 Load 131(g_tTexcdf4a)
185: 18 Load 20(g_sSamp)
186: 134 SampledImage 184 185
187: 136(ptr) AccessChain 28 112
188: 7(fvec4) Load 187
189: 7(fvec4) ImageGather 186 188 30
Store 183(txval60) 189
191: 141 Load 143(g_tTexcdi4a)
192: 18 Load 20(g_sSamp)
193: 146 SampledImage 191 192
194: 136(ptr) AccessChain 28 112
195: 7(fvec4) Load 194
196: 36(ivec4) ImageGather 193 195 30
Store 190(txval61) 196
198: 152 Load 154(g_tTexcdu4a)
199: 18 Load 20(g_sSamp)
200: 157 SampledImage 198 199
201: 136(ptr) AccessChain 28 112
202: 7(fvec4) Load 201
203: 50(ivec4) ImageGather 200 202 30
Store 197(txval62) 203
205: 129 Load 131(g_tTexcdf4a)
206: 18 Load 20(g_sSamp)
207: 134 SampledImage 205 206
208: 136(ptr) AccessChain 28 112
209: 7(fvec4) Load 208
210: 7(fvec4) ImageGather 207 209 112
Store 204(txval70) 210
212: 141 Load 143(g_tTexcdi4a)
213: 18 Load 20(g_sSamp)
214: 146 SampledImage 212 213
215: 136(ptr) AccessChain 28 112
216: 7(fvec4) Load 215
217: 36(ivec4) ImageGather 214 216 112
Store 211(txval71) 217
219: 152 Load 154(g_tTexcdu4a)
220: 18 Load 20(g_sSamp)
221: 157 SampledImage 219 220
222: 136(ptr) AccessChain 28 112
223: 7(fvec4) Load 222
224: 50(ivec4) ImageGather 221 223 112
Store 218(txval72) 224
229: 12(ptr) AccessChain 226(psout) 34
Store 229 228
231: 230(ptr) AccessChain 226(psout) 69
Store 231 227
232:8(PS_OUTPUT) Load 226(psout)
ReturnValue 232
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.gatherRGBA.basic.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:34 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 Function Parameters:
0:? Sequence
0:39 Sequence
@ -334,24 +334,28 @@ gl_FragCoord origin is upper left
0:74 1 (const int)
0:74 Constant:
0:74 1.000000
0:76 Sequence
0:76 Sequence
0:76 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:76 Color: direct index for structure (temp 4-component vector of float)
0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76 Constant:
0:76 0 (const int)
0:76 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:76 Depth: direct index for structure (temp float)
0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76 Constant:
0:76 1 (const int)
0:76 Branch: Return
0:76 Branch: Return with expression
0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 Function Definition: main( (temp void)
0:34 Function Parameters:
0:? Sequence
0:34 Sequence
0:34 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:34 Color: direct index for structure (temp 4-component vector of float)
0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 Constant:
0:34 0 (const int)
0:34 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:34 Depth: direct index for structure (temp float)
0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 Constant:
0:34 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@ -367,6 +371,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
@ -376,7 +382,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:34 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 Function Parameters:
0:? Sequence
0:39 Sequence
@ -708,24 +714,28 @@ gl_FragCoord origin is upper left
0:74 1 (const int)
0:74 Constant:
0:74 1.000000
0:76 Sequence
0:76 Sequence
0:76 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:76 Color: direct index for structure (temp 4-component vector of float)
0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76 Constant:
0:76 0 (const int)
0:76 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:76 Depth: direct index for structure (temp float)
0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76 Constant:
0:76 1 (const int)
0:76 Branch: Return
0:76 Branch: Return with expression
0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 Function Definition: main( (temp void)
0:34 Function Parameters:
0:? Sequence
0:34 Sequence
0:34 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:34 Color: direct index for structure (temp 4-component vector of float)
0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 Constant:
0:34 0 (const int)
0:34 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:34 Depth: direct index for structure (temp float)
0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34 Constant:
0:34 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@ -741,378 +751,391 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 258
// Id's are bound by 265
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 230 234
EntryPoint Fragment 4 "main" 238 242
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "txval00"
Name 12 "g_tTex2df4"
Name 16 "g_sSamp"
Name 22 "$Global"
MemberName 22($Global) 0 "c1"
MemberName 22($Global) 1 "c2"
MemberName 22($Global) 2 "c3"
MemberName 22($Global) 3 "c4"
Name 24 ""
Name 34 "txval01"
Name 37 "g_tTex2di4"
Name 48 "txval02"
Name 51 "g_tTex2du4"
Name 59 "txval10"
Name 66 "txval11"
Name 73 "txval12"
Name 80 "txval20"
Name 88 "txval21"
Name 95 "txval22"
Name 102 "txval30"
Name 110 "txval31"
Name 117 "txval32"
Name 124 "txval40"
Name 127 "g_tTexcdf4"
Name 136 "txval41"
Name 139 "g_tTexcdi4"
Name 147 "txval42"
Name 150 "g_tTexcdu4"
Name 158 "txval50"
Name 165 "txval51"
Name 172 "txval52"
Name 179 "txval60"
Name 186 "txval61"
Name 193 "txval62"
Name 200 "txval70"
Name 207 "txval71"
Name 214 "txval72"
Name 221 "PS_OUTPUT"
MemberName 221(PS_OUTPUT) 0 "Color"
MemberName 221(PS_OUTPUT) 1 "Depth"
Name 223 "psout"
Name 230 "Color"
Name 234 "Depth"
Name 238 "g_sSamp2d"
Name 241 "g_tTex1df4a"
Name 242 "g_tTex1df4"
Name 245 "g_tTex1di4"
Name 248 "g_tTex1du4"
Name 251 "g_tTex3df4"
Name 254 "g_tTex3di4"
Name 257 "g_tTex3du4"
Decorate 12(g_tTex2df4) DescriptorSet 0
Decorate 16(g_sSamp) DescriptorSet 0
Decorate 16(g_sSamp) Binding 0
MemberDecorate 22($Global) 0 Offset 0
MemberDecorate 22($Global) 1 Offset 8
MemberDecorate 22($Global) 2 Offset 16
MemberDecorate 22($Global) 3 Offset 32
Decorate 22($Global) Block
Decorate 24 DescriptorSet 0
Decorate 37(g_tTex2di4) DescriptorSet 0
Decorate 51(g_tTex2du4) DescriptorSet 0
Decorate 127(g_tTexcdf4) DescriptorSet 0
Decorate 139(g_tTexcdi4) DescriptorSet 0
Decorate 150(g_tTexcdu4) DescriptorSet 0
Decorate 230(Color) Location 0
Decorate 234(Depth) BuiltIn FragDepth
Decorate 238(g_sSamp2d) DescriptorSet 0
Decorate 241(g_tTex1df4a) DescriptorSet 0
Decorate 241(g_tTex1df4a) Binding 1
Decorate 242(g_tTex1df4) DescriptorSet 0
Decorate 242(g_tTex1df4) Binding 0
Decorate 245(g_tTex1di4) DescriptorSet 0
Decorate 248(g_tTex1du4) DescriptorSet 0
Decorate 251(g_tTex3df4) DescriptorSet 0
Decorate 254(g_tTex3di4) DescriptorSet 0
Decorate 257(g_tTex3du4) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 13 "txval00"
Name 16 "g_tTex2df4"
Name 20 "g_sSamp"
Name 26 "$Global"
MemberName 26($Global) 0 "c1"
MemberName 26($Global) 1 "c2"
MemberName 26($Global) 2 "c3"
MemberName 26($Global) 3 "c4"
Name 28 ""
Name 38 "txval01"
Name 41 "g_tTex2di4"
Name 52 "txval02"
Name 55 "g_tTex2du4"
Name 63 "txval10"
Name 70 "txval11"
Name 77 "txval12"
Name 84 "txval20"
Name 92 "txval21"
Name 99 "txval22"
Name 106 "txval30"
Name 114 "txval31"
Name 121 "txval32"
Name 128 "txval40"
Name 131 "g_tTexcdf4"
Name 140 "txval41"
Name 143 "g_tTexcdi4"
Name 151 "txval42"
Name 154 "g_tTexcdu4"
Name 162 "txval50"
Name 169 "txval51"
Name 176 "txval52"
Name 183 "txval60"
Name 190 "txval61"
Name 197 "txval62"
Name 204 "txval70"
Name 211 "txval71"
Name 218 "txval72"
Name 226 "psout"
Name 235 "flattenTemp"
Name 238 "Color"
Name 242 "Depth"
Name 245 "g_sSamp2d"
Name 248 "g_tTex1df4a"
Name 249 "g_tTex1df4"
Name 252 "g_tTex1di4"
Name 255 "g_tTex1du4"
Name 258 "g_tTex3df4"
Name 261 "g_tTex3di4"
Name 264 "g_tTex3du4"
Decorate 16(g_tTex2df4) DescriptorSet 0
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
MemberDecorate 26($Global) 0 Offset 0
MemberDecorate 26($Global) 1 Offset 8
MemberDecorate 26($Global) 2 Offset 16
MemberDecorate 26($Global) 3 Offset 32
Decorate 26($Global) Block
Decorate 28 DescriptorSet 0
Decorate 41(g_tTex2di4) DescriptorSet 0
Decorate 55(g_tTex2du4) DescriptorSet 0
Decorate 131(g_tTexcdf4) DescriptorSet 0
Decorate 143(g_tTexcdi4) DescriptorSet 0
Decorate 154(g_tTexcdu4) DescriptorSet 0
Decorate 238(Color) Location 0
Decorate 242(Depth) BuiltIn FragDepth
Decorate 245(g_sSamp2d) DescriptorSet 0
Decorate 248(g_tTex1df4a) DescriptorSet 0
Decorate 248(g_tTex1df4a) Binding 1
Decorate 249(g_tTex1df4) DescriptorSet 0
Decorate 249(g_tTex1df4) Binding 0
Decorate 252(g_tTex1di4) DescriptorSet 0
Decorate 255(g_tTex1du4) DescriptorSet 0
Decorate 258(g_tTex3df4) DescriptorSet 0
Decorate 261(g_tTex3di4) DescriptorSet 0
Decorate 264(g_tTex3du4) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypeImage 6(float) 2D sampled format:Unknown
11: TypePointer UniformConstant 10
12(g_tTex2df4): 11(ptr) Variable UniformConstant
14: TypeSampler
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 7(fvec4)
14: TypeImage 6(float) 2D sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10
20: TypeVector 6(float) 2
21: TypeVector 6(float) 3
22($Global): TypeStruct 6(float) 20(fvec2) 21(fvec3) 7(fvec4)
23: TypePointer Uniform 22($Global)
24: 23(ptr) Variable Uniform
25: TypeInt 32 1
26: 25(int) Constant 1
27: TypePointer Uniform 20(fvec2)
30: 25(int) Constant 0
32: TypeVector 25(int) 4
33: TypePointer Function 32(ivec4)
35: TypeImage 25(int) 2D sampled format:Unknown
36: TypePointer UniformConstant 35
37(g_tTex2di4): 36(ptr) Variable UniformConstant
40: TypeSampledImage 35
45: TypeInt 32 0
46: TypeVector 45(int) 4
47: TypePointer Function 46(ivec4)
49: TypeImage 45(int) 2D sampled format:Unknown
50: TypePointer UniformConstant 49
51(g_tTex2du4): 50(ptr) Variable UniformConstant
54: TypeSampledImage 49
86: 25(int) Constant 2
108: 25(int) Constant 3
125: TypeImage 6(float) Cube sampled format:Unknown
126: TypePointer UniformConstant 125
127(g_tTexcdf4): 126(ptr) Variable UniformConstant
130: TypeSampledImage 125
132: TypePointer Uniform 21(fvec3)
137: TypeImage 25(int) Cube sampled format:Unknown
138: TypePointer UniformConstant 137
139(g_tTexcdi4): 138(ptr) Variable UniformConstant
142: TypeSampledImage 137
148: TypeImage 45(int) Cube sampled format:Unknown
149: TypePointer UniformConstant 148
150(g_tTexcdu4): 149(ptr) Variable UniformConstant
153: TypeSampledImage 148
221(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
222: TypePointer Function 221(PS_OUTPUT)
224: 6(float) Constant 1065353216
225: 7(fvec4) ConstantComposite 224 224 224 224
227: TypePointer Function 6(float)
229: TypePointer Output 7(fvec4)
230(Color): 229(ptr) Variable Output
233: TypePointer Output 6(float)
234(Depth): 233(ptr) Variable Output
238(g_sSamp2d): 15(ptr) Variable UniformConstant
239: TypeImage 6(float) 1D sampled format:Unknown
240: TypePointer UniformConstant 239
241(g_tTex1df4a): 240(ptr) Variable UniformConstant
242(g_tTex1df4): 240(ptr) Variable UniformConstant
243: TypeImage 25(int) 1D sampled format:Unknown
244: TypePointer UniformConstant 243
245(g_tTex1di4): 244(ptr) Variable UniformConstant
246: TypeImage 45(int) 1D sampled format:Unknown
16(g_tTex2df4): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeSampledImage 14
24: TypeVector 6(float) 2
25: TypeVector 6(float) 3
26($Global): TypeStruct 6(float) 24(fvec2) 25(fvec3) 7(fvec4)
27: TypePointer Uniform 26($Global)
28: 27(ptr) Variable Uniform
29: TypeInt 32 1
30: 29(int) Constant 1
31: TypePointer Uniform 24(fvec2)
34: 29(int) Constant 0
36: TypeVector 29(int) 4
37: TypePointer Function 36(ivec4)
39: TypeImage 29(int) 2D sampled format:Unknown
40: TypePointer UniformConstant 39
41(g_tTex2di4): 40(ptr) Variable UniformConstant
44: TypeSampledImage 39
49: TypeInt 32 0
50: TypeVector 49(int) 4
51: TypePointer Function 50(ivec4)
53: TypeImage 49(int) 2D sampled format:Unknown
54: TypePointer UniformConstant 53
55(g_tTex2du4): 54(ptr) Variable UniformConstant
58: TypeSampledImage 53
90: 29(int) Constant 2
112: 29(int) Constant 3
129: TypeImage 6(float) Cube sampled format:Unknown
130: TypePointer UniformConstant 129
131(g_tTexcdf4): 130(ptr) Variable UniformConstant
134: TypeSampledImage 129
136: TypePointer Uniform 25(fvec3)
141: TypeImage 29(int) Cube sampled format:Unknown
142: TypePointer UniformConstant 141
143(g_tTexcdi4): 142(ptr) Variable UniformConstant
146: TypeSampledImage 141
152: TypeImage 49(int) Cube sampled format:Unknown
153: TypePointer UniformConstant 152
154(g_tTexcdu4): 153(ptr) Variable UniformConstant
157: TypeSampledImage 152
225: TypePointer Function 8(PS_OUTPUT)
227: 6(float) Constant 1065353216
228: 7(fvec4) ConstantComposite 227 227 227 227
230: TypePointer Function 6(float)
237: TypePointer Output 7(fvec4)
238(Color): 237(ptr) Variable Output
241: TypePointer Output 6(float)
242(Depth): 241(ptr) Variable Output
245(g_sSamp2d): 19(ptr) Variable UniformConstant
246: TypeImage 6(float) 1D sampled format:Unknown
247: TypePointer UniformConstant 246
248(g_tTex1du4): 247(ptr) Variable UniformConstant
249: TypeImage 6(float) 3D sampled format:Unknown
250: TypePointer UniformConstant 249
251(g_tTex3df4): 250(ptr) Variable UniformConstant
252: TypeImage 25(int) 3D sampled format:Unknown
253: TypePointer UniformConstant 252
254(g_tTex3di4): 253(ptr) Variable UniformConstant
255: TypeImage 45(int) 3D sampled format:Unknown
256: TypePointer UniformConstant 255
257(g_tTex3du4): 256(ptr) Variable UniformConstant
248(g_tTex1df4a): 247(ptr) Variable UniformConstant
249(g_tTex1df4): 247(ptr) Variable UniformConstant
250: TypeImage 29(int) 1D sampled format:Unknown
251: TypePointer UniformConstant 250
252(g_tTex1di4): 251(ptr) Variable UniformConstant
253: TypeImage 49(int) 1D sampled format:Unknown
254: TypePointer UniformConstant 253
255(g_tTex1du4): 254(ptr) Variable UniformConstant
256: TypeImage 6(float) 3D sampled format:Unknown
257: TypePointer UniformConstant 256
258(g_tTex3df4): 257(ptr) Variable UniformConstant
259: TypeImage 29(int) 3D sampled format:Unknown
260: TypePointer UniformConstant 259
261(g_tTex3di4): 260(ptr) Variable UniformConstant
262: TypeImage 49(int) 3D sampled format:Unknown
263: TypePointer UniformConstant 262
264(g_tTex3du4): 263(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(txval00): 8(ptr) Variable Function
34(txval01): 33(ptr) Variable Function
48(txval02): 47(ptr) Variable Function
59(txval10): 8(ptr) Variable Function
66(txval11): 33(ptr) Variable Function
73(txval12): 47(ptr) Variable Function
80(txval20): 8(ptr) Variable Function
88(txval21): 33(ptr) Variable Function
95(txval22): 47(ptr) Variable Function
102(txval30): 8(ptr) Variable Function
110(txval31): 33(ptr) Variable Function
117(txval32): 47(ptr) Variable Function
124(txval40): 8(ptr) Variable Function
136(txval41): 33(ptr) Variable Function
147(txval42): 47(ptr) Variable Function
158(txval50): 8(ptr) Variable Function
165(txval51): 33(ptr) Variable Function
172(txval52): 47(ptr) Variable Function
179(txval60): 8(ptr) Variable Function
186(txval61): 33(ptr) Variable Function
193(txval62): 47(ptr) Variable Function
200(txval70): 8(ptr) Variable Function
207(txval71): 33(ptr) Variable Function
214(txval72): 47(ptr) Variable Function
223(psout): 222(ptr) Variable Function
13: 10 Load 12(g_tTex2df4)
17: 14 Load 16(g_sSamp)
19: 18 SampledImage 13 17
28: 27(ptr) AccessChain 24 26
29: 20(fvec2) Load 28
31: 7(fvec4) ImageGather 19 29 30
Store 9(txval00) 31
38: 35 Load 37(g_tTex2di4)
39: 14 Load 16(g_sSamp)
41: 40 SampledImage 38 39
42: 27(ptr) AccessChain 24 26
43: 20(fvec2) Load 42
44: 32(ivec4) ImageGather 41 43 30
Store 34(txval01) 44
52: 49 Load 51(g_tTex2du4)
53: 14 Load 16(g_sSamp)
55: 54 SampledImage 52 53
56: 27(ptr) AccessChain 24 26
57: 20(fvec2) Load 56
58: 46(ivec4) ImageGather 55 57 30
Store 48(txval02) 58
60: 10 Load 12(g_tTex2df4)
61: 14 Load 16(g_sSamp)
62: 18 SampledImage 60 61
63: 27(ptr) AccessChain 24 26
64: 20(fvec2) Load 63
65: 7(fvec4) ImageGather 62 64 26
Store 59(txval10) 65
67: 35 Load 37(g_tTex2di4)
68: 14 Load 16(g_sSamp)
69: 40 SampledImage 67 68
70: 27(ptr) AccessChain 24 26
71: 20(fvec2) Load 70
72: 32(ivec4) ImageGather 69 71 26
Store 66(txval11) 72
74: 49 Load 51(g_tTex2du4)
75: 14 Load 16(g_sSamp)
76: 54 SampledImage 74 75
77: 27(ptr) AccessChain 24 26
78: 20(fvec2) Load 77
79: 46(ivec4) ImageGather 76 78 26
Store 73(txval12) 79
81: 10 Load 12(g_tTex2df4)
82: 14 Load 16(g_sSamp)
83: 18 SampledImage 81 82
84: 27(ptr) AccessChain 24 26
85: 20(fvec2) Load 84
87: 7(fvec4) ImageGather 83 85 86
Store 80(txval20) 87
89: 35 Load 37(g_tTex2di4)
90: 14 Load 16(g_sSamp)
91: 40 SampledImage 89 90
92: 27(ptr) AccessChain 24 26
93: 20(fvec2) Load 92
94: 32(ivec4) ImageGather 91 93 86
Store 88(txval21) 94
96: 49 Load 51(g_tTex2du4)
97: 14 Load 16(g_sSamp)
98: 54 SampledImage 96 97
99: 27(ptr) AccessChain 24 26
100: 20(fvec2) Load 99
101: 46(ivec4) ImageGather 98 100 86
Store 95(txval22) 101
103: 10 Load 12(g_tTex2df4)
104: 14 Load 16(g_sSamp)
105: 18 SampledImage 103 104
106: 27(ptr) AccessChain 24 26
107: 20(fvec2) Load 106
109: 7(fvec4) ImageGather 105 107 108
Store 102(txval30) 109
111: 35 Load 37(g_tTex2di4)
112: 14 Load 16(g_sSamp)
113: 40 SampledImage 111 112
114: 27(ptr) AccessChain 24 26
115: 20(fvec2) Load 114
116: 32(ivec4) ImageGather 113 115 108
Store 110(txval31) 116
118: 49 Load 51(g_tTex2du4)
119: 14 Load 16(g_sSamp)
120: 54 SampledImage 118 119
121: 27(ptr) AccessChain 24 26
122: 20(fvec2) Load 121
123: 46(ivec4) ImageGather 120 122 108
Store 117(txval32) 123
128: 125 Load 127(g_tTexcdf4)
129: 14 Load 16(g_sSamp)
131: 130 SampledImage 128 129
133: 132(ptr) AccessChain 24 86
134: 21(fvec3) Load 133
135: 7(fvec4) ImageGather 131 134 30
Store 124(txval40) 135
140: 137 Load 139(g_tTexcdi4)
141: 14 Load 16(g_sSamp)
143: 142 SampledImage 140 141
144: 132(ptr) AccessChain 24 86
145: 21(fvec3) Load 144
146: 32(ivec4) ImageGather 143 145 30
Store 136(txval41) 146
151: 148 Load 150(g_tTexcdu4)
152: 14 Load 16(g_sSamp)
154: 153 SampledImage 151 152
155: 132(ptr) AccessChain 24 86
156: 21(fvec3) Load 155
157: 46(ivec4) ImageGather 154 156 30
Store 147(txval42) 157
159: 125 Load 127(g_tTexcdf4)
160: 14 Load 16(g_sSamp)
161: 130 SampledImage 159 160
162: 132(ptr) AccessChain 24 86
163: 21(fvec3) Load 162
164: 7(fvec4) ImageGather 161 163 26
Store 158(txval50) 164
166: 137 Load 139(g_tTexcdi4)
167: 14 Load 16(g_sSamp)
168: 142 SampledImage 166 167
169: 132(ptr) AccessChain 24 86
170: 21(fvec3) Load 169
171: 32(ivec4) ImageGather 168 170 26
Store 165(txval51) 171
173: 148 Load 150(g_tTexcdu4)
174: 14 Load 16(g_sSamp)
175: 153 SampledImage 173 174
176: 132(ptr) AccessChain 24 86
177: 21(fvec3) Load 176
178: 46(ivec4) ImageGather 175 177 26
Store 172(txval52) 178
180: 125 Load 127(g_tTexcdf4)
181: 14 Load 16(g_sSamp)
182: 130 SampledImage 180 181
183: 132(ptr) AccessChain 24 86
184: 21(fvec3) Load 183
185: 7(fvec4) ImageGather 182 184 86
Store 179(txval60) 185
187: 137 Load 139(g_tTexcdi4)
188: 14 Load 16(g_sSamp)
189: 142 SampledImage 187 188
190: 132(ptr) AccessChain 24 86
191: 21(fvec3) Load 190
192: 32(ivec4) ImageGather 189 191 86
Store 186(txval61) 192
194: 148 Load 150(g_tTexcdu4)
195: 14 Load 16(g_sSamp)
196: 153 SampledImage 194 195
197: 132(ptr) AccessChain 24 86
198: 21(fvec3) Load 197
199: 46(ivec4) ImageGather 196 198 86
Store 193(txval62) 199
201: 125 Load 127(g_tTexcdf4)
202: 14 Load 16(g_sSamp)
203: 130 SampledImage 201 202
204: 132(ptr) AccessChain 24 86
205: 21(fvec3) Load 204
206: 7(fvec4) ImageGather 203 205 108
Store 200(txval70) 206
208: 137 Load 139(g_tTexcdi4)
209: 14 Load 16(g_sSamp)
210: 142 SampledImage 208 209
211: 132(ptr) AccessChain 24 86
212: 21(fvec3) Load 211
213: 32(ivec4) ImageGather 210 212 108
Store 207(txval71) 213
215: 148 Load 150(g_tTexcdu4)
216: 14 Load 16(g_sSamp)
217: 153 SampledImage 215 216
218: 132(ptr) AccessChain 24 86
219: 21(fvec3) Load 218
220: 46(ivec4) ImageGather 217 219 108
Store 214(txval72) 220
226: 8(ptr) AccessChain 223(psout) 30
Store 226 225
228: 227(ptr) AccessChain 223(psout) 26
Store 228 224
231: 8(ptr) AccessChain 223(psout) 30
232: 7(fvec4) Load 231
Store 230(Color) 232
235: 227(ptr) AccessChain 223(psout) 26
236: 6(float) Load 235
Store 234(Depth) 236
235(flattenTemp): 225(ptr) Variable Function
236:8(PS_OUTPUT) FunctionCall 10(@main()
Store 235(flattenTemp) 236
239: 12(ptr) AccessChain 235(flattenTemp) 34
240: 7(fvec4) Load 239
Store 238(Color) 240
243: 230(ptr) AccessChain 235(flattenTemp) 30
244: 6(float) Load 243
Store 242(Depth) 244
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(txval00): 12(ptr) Variable Function
38(txval01): 37(ptr) Variable Function
52(txval02): 51(ptr) Variable Function
63(txval10): 12(ptr) Variable Function
70(txval11): 37(ptr) Variable Function
77(txval12): 51(ptr) Variable Function
84(txval20): 12(ptr) Variable Function
92(txval21): 37(ptr) Variable Function
99(txval22): 51(ptr) Variable Function
106(txval30): 12(ptr) Variable Function
114(txval31): 37(ptr) Variable Function
121(txval32): 51(ptr) Variable Function
128(txval40): 12(ptr) Variable Function
140(txval41): 37(ptr) Variable Function
151(txval42): 51(ptr) Variable Function
162(txval50): 12(ptr) Variable Function
169(txval51): 37(ptr) Variable Function
176(txval52): 51(ptr) Variable Function
183(txval60): 12(ptr) Variable Function
190(txval61): 37(ptr) Variable Function
197(txval62): 51(ptr) Variable Function
204(txval70): 12(ptr) Variable Function
211(txval71): 37(ptr) Variable Function
218(txval72): 51(ptr) Variable Function
226(psout): 225(ptr) Variable Function
17: 14 Load 16(g_tTex2df4)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
32: 31(ptr) AccessChain 28 30
33: 24(fvec2) Load 32
35: 7(fvec4) ImageGather 23 33 34
Store 13(txval00) 35
42: 39 Load 41(g_tTex2di4)
43: 18 Load 20(g_sSamp)
45: 44 SampledImage 42 43
46: 31(ptr) AccessChain 28 30
47: 24(fvec2) Load 46
48: 36(ivec4) ImageGather 45 47 34
Store 38(txval01) 48
56: 53 Load 55(g_tTex2du4)
57: 18 Load 20(g_sSamp)
59: 58 SampledImage 56 57
60: 31(ptr) AccessChain 28 30
61: 24(fvec2) Load 60
62: 50(ivec4) ImageGather 59 61 34
Store 52(txval02) 62
64: 14 Load 16(g_tTex2df4)
65: 18 Load 20(g_sSamp)
66: 22 SampledImage 64 65
67: 31(ptr) AccessChain 28 30
68: 24(fvec2) Load 67
69: 7(fvec4) ImageGather 66 68 30
Store 63(txval10) 69
71: 39 Load 41(g_tTex2di4)
72: 18 Load 20(g_sSamp)
73: 44 SampledImage 71 72
74: 31(ptr) AccessChain 28 30
75: 24(fvec2) Load 74
76: 36(ivec4) ImageGather 73 75 30
Store 70(txval11) 76
78: 53 Load 55(g_tTex2du4)
79: 18 Load 20(g_sSamp)
80: 58 SampledImage 78 79
81: 31(ptr) AccessChain 28 30
82: 24(fvec2) Load 81
83: 50(ivec4) ImageGather 80 82 30
Store 77(txval12) 83
85: 14 Load 16(g_tTex2df4)
86: 18 Load 20(g_sSamp)
87: 22 SampledImage 85 86
88: 31(ptr) AccessChain 28 30
89: 24(fvec2) Load 88
91: 7(fvec4) ImageGather 87 89 90
Store 84(txval20) 91
93: 39 Load 41(g_tTex2di4)
94: 18 Load 20(g_sSamp)
95: 44 SampledImage 93 94
96: 31(ptr) AccessChain 28 30
97: 24(fvec2) Load 96
98: 36(ivec4) ImageGather 95 97 90
Store 92(txval21) 98
100: 53 Load 55(g_tTex2du4)
101: 18 Load 20(g_sSamp)
102: 58 SampledImage 100 101
103: 31(ptr) AccessChain 28 30
104: 24(fvec2) Load 103
105: 50(ivec4) ImageGather 102 104 90
Store 99(txval22) 105
107: 14 Load 16(g_tTex2df4)
108: 18 Load 20(g_sSamp)
109: 22 SampledImage 107 108
110: 31(ptr) AccessChain 28 30
111: 24(fvec2) Load 110
113: 7(fvec4) ImageGather 109 111 112
Store 106(txval30) 113
115: 39 Load 41(g_tTex2di4)
116: 18 Load 20(g_sSamp)
117: 44 SampledImage 115 116
118: 31(ptr) AccessChain 28 30
119: 24(fvec2) Load 118
120: 36(ivec4) ImageGather 117 119 112
Store 114(txval31) 120
122: 53 Load 55(g_tTex2du4)
123: 18 Load 20(g_sSamp)
124: 58 SampledImage 122 123
125: 31(ptr) AccessChain 28 30
126: 24(fvec2) Load 125
127: 50(ivec4) ImageGather 124 126 112
Store 121(txval32) 127
132: 129 Load 131(g_tTexcdf4)
133: 18 Load 20(g_sSamp)
135: 134 SampledImage 132 133
137: 136(ptr) AccessChain 28 90
138: 25(fvec3) Load 137
139: 7(fvec4) ImageGather 135 138 34
Store 128(txval40) 139
144: 141 Load 143(g_tTexcdi4)
145: 18 Load 20(g_sSamp)
147: 146 SampledImage 144 145
148: 136(ptr) AccessChain 28 90
149: 25(fvec3) Load 148
150: 36(ivec4) ImageGather 147 149 34
Store 140(txval41) 150
155: 152 Load 154(g_tTexcdu4)
156: 18 Load 20(g_sSamp)
158: 157 SampledImage 155 156
159: 136(ptr) AccessChain 28 90
160: 25(fvec3) Load 159
161: 50(ivec4) ImageGather 158 160 34
Store 151(txval42) 161
163: 129 Load 131(g_tTexcdf4)
164: 18 Load 20(g_sSamp)
165: 134 SampledImage 163 164
166: 136(ptr) AccessChain 28 90
167: 25(fvec3) Load 166
168: 7(fvec4) ImageGather 165 167 30
Store 162(txval50) 168
170: 141 Load 143(g_tTexcdi4)
171: 18 Load 20(g_sSamp)
172: 146 SampledImage 170 171
173: 136(ptr) AccessChain 28 90
174: 25(fvec3) Load 173
175: 36(ivec4) ImageGather 172 174 30
Store 169(txval51) 175
177: 152 Load 154(g_tTexcdu4)
178: 18 Load 20(g_sSamp)
179: 157 SampledImage 177 178
180: 136(ptr) AccessChain 28 90
181: 25(fvec3) Load 180
182: 50(ivec4) ImageGather 179 181 30
Store 176(txval52) 182
184: 129 Load 131(g_tTexcdf4)
185: 18 Load 20(g_sSamp)
186: 134 SampledImage 184 185
187: 136(ptr) AccessChain 28 90
188: 25(fvec3) Load 187
189: 7(fvec4) ImageGather 186 188 90
Store 183(txval60) 189
191: 141 Load 143(g_tTexcdi4)
192: 18 Load 20(g_sSamp)
193: 146 SampledImage 191 192
194: 136(ptr) AccessChain 28 90
195: 25(fvec3) Load 194
196: 36(ivec4) ImageGather 193 195 90
Store 190(txval61) 196
198: 152 Load 154(g_tTexcdu4)
199: 18 Load 20(g_sSamp)
200: 157 SampledImage 198 199
201: 136(ptr) AccessChain 28 90
202: 25(fvec3) Load 201
203: 50(ivec4) ImageGather 200 202 90
Store 197(txval62) 203
205: 129 Load 131(g_tTexcdf4)
206: 18 Load 20(g_sSamp)
207: 134 SampledImage 205 206
208: 136(ptr) AccessChain 28 90
209: 25(fvec3) Load 208
210: 7(fvec4) ImageGather 207 209 112
Store 204(txval70) 210
212: 141 Load 143(g_tTexcdi4)
213: 18 Load 20(g_sSamp)
214: 146 SampledImage 212 213
215: 136(ptr) AccessChain 28 90
216: 25(fvec3) Load 215
217: 36(ivec4) ImageGather 214 216 112
Store 211(txval71) 217
219: 152 Load 154(g_tTexcdu4)
220: 18 Load 20(g_sSamp)
221: 157 SampledImage 219 220
222: 136(ptr) AccessChain 28 90
223: 25(fvec3) Load 222
224: 50(ivec4) ImageGather 221 223 112
Store 218(txval72) 224
229: 12(ptr) AccessChain 226(psout) 34
Store 229 228
231: 230(ptr) AccessChain 226(psout) 30
Store 231 227
232:8(PS_OUTPUT) Load 226(psout)
ReturnValue 232
FunctionEnd

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
hlsl.getdimensions.dx10.vert
Shader version: 450
0:? Sequence
0:11 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos})
0:11 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:11 Function Parameters:
0:? Sequence
0:21 Sequence
@ -36,19 +36,22 @@ Shader version: 450
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:26 Sequence
0:26 Sequence
0:26 move second child to first child (temp 4-component vector of float)
0:? 'Pos' (out 4-component vector of float Position)
0:26 Pos: direct index for structure (temp 4-component vector of float)
0:26 'vsout' (temp structure{temp 4-component vector of float Pos})
0:26 Constant:
0:26 0 (const int)
0:26 Branch: Return
0:26 Branch: Return with expression
0:26 'vsout' (temp structure{temp 4-component vector of float Pos})
0:11 Function Definition: main( (temp void)
0:11 Function Parameters:
0:? Sequence
0:11 Sequence
0:11 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:11 Pos: direct index for structure (temp 4-component vector of float Position)
0:11 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:11 Constant:
0:11 0 (const int)
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos})
Linked vertex stage:
@ -56,7 +59,7 @@ Linked vertex stage:
Shader version: 450
0:? Sequence
0:11 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos})
0:11 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:11 Function Parameters:
0:? Sequence
0:21 Sequence
@ -91,100 +94,120 @@ Shader version: 450
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:26 Sequence
0:26 Sequence
0:26 move second child to first child (temp 4-component vector of float)
0:? 'Pos' (out 4-component vector of float Position)
0:26 Pos: direct index for structure (temp 4-component vector of float)
0:26 'vsout' (temp structure{temp 4-component vector of float Pos})
0:26 Constant:
0:26 0 (const int)
0:26 Branch: Return
0:26 Branch: Return with expression
0:26 'vsout' (temp structure{temp 4-component vector of float Pos})
0:11 Function Definition: main( (temp void)
0:11 Function Parameters:
0:? Sequence
0:11 Sequence
0:11 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:11 Pos: direct index for structure (temp 4-component vector of float Position)
0:11 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:11 Constant:
0:11 0 (const int)
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 46
// Id's are bound by 57
Capability Shader
Capability Sampled1D
Capability ImageQuery
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 36 45
EntryPoint Vertex 4 "main" 48 56
Name 4 "main"
Name 8 "sizeQueryTemp"
Name 12 "g_tTex1df4"
Name 16 "WidthU"
Name 18 "sizeQueryTemp"
Name 23 "NumberOfLevelsU"
Name 27 "VS_OUTPUT"
MemberName 27(VS_OUTPUT) 0 "Pos"
Name 29 "vsout"
Name 36 "Pos"
Name 42 "g_sSamp"
Name 43 "PerVertex_out"
MemberName 43(PerVertex_out) 0 "Pos"
Name 45 "PerVertex_out"
Decorate 12(g_tTex1df4) DescriptorSet 0
Decorate 12(g_tTex1df4) Binding 0
Decorate 36(Pos) BuiltIn Position
Decorate 42(g_sSamp) DescriptorSet 0
Decorate 42(g_sSamp) Binding 0
MemberDecorate 43(PerVertex_out) 0 BuiltIn Position
Decorate 43(PerVertex_out) Block
Name 8 "VS_OUTPUT"
MemberName 8(VS_OUTPUT) 0 "Pos"
Name 10 "@main("
Name 14 "sizeQueryTemp"
Name 17 "g_tTex1df4"
Name 21 "WidthU"
Name 23 "sizeQueryTemp"
Name 28 "NumberOfLevelsU"
Name 31 "VS_OUTPUT"
MemberName 31(VS_OUTPUT) 0 "Pos"
Name 33 "vsout"
Name 48 "@entryPointOutput_Pos"
Name 53 "g_sSamp"
Name 54 "PerVertex_out"
MemberName 54(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 56 "PerVertex_out"
MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position
Decorate 17(g_tTex1df4) DescriptorSet 0
Decorate 17(g_tTex1df4) Binding 0
Decorate 48(@entryPointOutput_Pos) BuiltIn Position
Decorate 53(g_sSamp) DescriptorSet 0
Decorate 53(g_sSamp) Binding 0
MemberDecorate 54(PerVertex_out) 0 BuiltIn Position
Decorate 54(PerVertex_out) Block
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypePointer Function 6(int)
9: TypeFloat 32
10: TypeImage 9(float) 1D sampled format:Unknown
11: TypePointer UniformConstant 10
12(g_tTex1df4): 11(ptr) Variable UniformConstant
14: TypeInt 32 1
20: 6(int) Constant 6
26: TypeVector 9(float) 4
27(VS_OUTPUT): TypeStruct 26(fvec4)
28: TypePointer Function 27(VS_OUTPUT)
30: 14(int) Constant 0
31: 9(float) Constant 0
32: 26(fvec4) ConstantComposite 31 31 31 31
33: TypePointer Function 26(fvec4)
35: TypePointer Output 26(fvec4)
36(Pos): 35(ptr) Variable Output
40: TypeSampler
41: TypePointer UniformConstant 40
42(g_sSamp): 41(ptr) Variable UniformConstant
43(PerVertex_out): TypeStruct 26(fvec4)
44: TypePointer Output 43(PerVertex_out)
45(PerVertex_out): 44(ptr) Variable Output
6: TypeFloat 32
7: TypeVector 6(float) 4
8(VS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(VS_OUTPUT)
12: TypeInt 32 0
13: TypePointer Function 12(int)
15: TypeImage 6(float) 1D sampled format:Unknown
16: TypePointer UniformConstant 15
17(g_tTex1df4): 16(ptr) Variable UniformConstant
19: TypeInt 32 1
25: 12(int) Constant 6
31(VS_OUTPUT): TypeStruct 7(fvec4)
32: TypePointer Function 31(VS_OUTPUT)
34: 19(int) Constant 0
35: 6(float) Constant 0
36: 7(fvec4) ConstantComposite 35 35 35 35
37: TypePointer Function 7(fvec4)
40: TypePointer Function 8(VS_OUTPUT)
47: TypePointer Output 7(fvec4)
48(@entryPointOutput_Pos): 47(ptr) Variable Output
51: TypeSampler
52: TypePointer UniformConstant 51
53(g_sSamp): 52(ptr) Variable UniformConstant
54(PerVertex_out): TypeStruct 7(fvec4)
55: TypePointer Output 54(PerVertex_out)
56(PerVertex_out): 55(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(sizeQueryTemp): 7(ptr) Variable Function
16(WidthU): 7(ptr) Variable Function
18(sizeQueryTemp): 7(ptr) Variable Function
23(NumberOfLevelsU): 7(ptr) Variable Function
29(vsout): 28(ptr) Variable Function
13: 10 Load 12(g_tTex1df4)
15: 14(int) ImageQuerySize 13
Store 8(sizeQueryTemp) 15
17: 6(int) Load 8(sizeQueryTemp)
Store 16(WidthU) 17
19: 10 Load 12(g_tTex1df4)
21: 14(int) ImageQuerySizeLod 19 20
Store 18(sizeQueryTemp) 21
22: 6(int) Load 18(sizeQueryTemp)
Store 16(WidthU) 22
24: 10 Load 12(g_tTex1df4)
25: 14(int) ImageQueryLevels 24
Store 23(NumberOfLevelsU) 25
34: 33(ptr) AccessChain 29(vsout) 30
Store 34 32
37: 33(ptr) AccessChain 29(vsout) 30
38: 26(fvec4) Load 37
Store 36(Pos) 38
49:8(VS_OUTPUT) FunctionCall 10(@main()
50: 7(fvec4) CompositeExtract 49 0
Store 48(@entryPointOutput_Pos) 50
Return
FunctionEnd
10(@main():8(VS_OUTPUT) Function None 9
11: Label
14(sizeQueryTemp): 13(ptr) Variable Function
21(WidthU): 13(ptr) Variable Function
23(sizeQueryTemp): 13(ptr) Variable Function
28(NumberOfLevelsU): 13(ptr) Variable Function
33(vsout): 32(ptr) Variable Function
41: 40(ptr) Variable Function
18: 15 Load 17(g_tTex1df4)
20: 19(int) ImageQuerySize 18
Store 14(sizeQueryTemp) 20
22: 12(int) Load 14(sizeQueryTemp)
Store 21(WidthU) 22
24: 15 Load 17(g_tTex1df4)
26: 19(int) ImageQuerySizeLod 24 25
Store 23(sizeQueryTemp) 26
27: 12(int) Load 23(sizeQueryTemp)
Store 21(WidthU) 27
29: 15 Load 17(g_tTex1df4)
30: 19(int) ImageQueryLevels 29
Store 28(NumberOfLevelsU) 30
38: 37(ptr) AccessChain 33(vsout) 34
Store 38 36
39:31(VS_OUTPUT) Load 33(vsout)
42: 7(fvec4) CompositeExtract 39 0
43: 37(ptr) AccessChain 41 34
Store 43 42
44:8(VS_OUTPUT) Load 41
ReturnValue 44
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.getdimensions.rw.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:44 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 Function Parameters:
0:? Sequence
0:63 Sequence
@ -310,24 +310,28 @@ gl_FragCoord origin is upper left
0:93 1 (const int)
0:93 Constant:
0:93 1.000000
0:95 Sequence
0:95 Sequence
0:95 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:95 Color: direct index for structure (temp 4-component vector of float)
0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:95 Constant:
0:95 0 (const int)
0:95 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:95 Depth: direct index for structure (temp float)
0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:95 Constant:
0:95 1 (const int)
0:95 Branch: Return
0:95 Branch: Return with expression
0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 Function Definition: main( (temp void)
0:44 Function Parameters:
0:? Sequence
0:44 Sequence
0:44 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:44 Color: direct index for structure (temp 4-component vector of float)
0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 Constant:
0:44 0 (const int)
0:44 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:44 Depth: direct index for structure (temp float)
0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 Constant:
0:44 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@ -347,6 +351,8 @@ gl_FragCoord origin is upper left
0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@ -356,7 +362,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:44 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 Function Parameters:
0:? Sequence
0:63 Sequence
@ -664,24 +670,28 @@ gl_FragCoord origin is upper left
0:93 1 (const int)
0:93 Constant:
0:93 1.000000
0:95 Sequence
0:95 Sequence
0:95 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:95 Color: direct index for structure (temp 4-component vector of float)
0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:95 Constant:
0:95 0 (const int)
0:95 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:95 Depth: direct index for structure (temp float)
0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:95 Constant:
0:95 1 (const int)
0:95 Branch: Return
0:95 Branch: Return with expression
0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 Function Definition: main( (temp void)
0:44 Function Parameters:
0:? Sequence
0:44 Sequence
0:44 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:44 Color: direct index for structure (temp 4-component vector of float)
0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 Constant:
0:44 0 (const int)
0:44 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:44 Depth: direct index for structure (temp float)
0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:44 Constant:
0:44 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@ -701,11 +711,13 @@ gl_FragCoord origin is upper left
0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 225
// Id's are bound by 232
Capability Shader
Capability Sampled1D
@ -713,378 +725,389 @@ gl_FragCoord origin is upper left
Capability ImageQuery
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 210 214
EntryPoint Fragment 4 "main" 218 222
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "sizeQueryTemp"
Name 12 "g_tTex1df4"
Name 16 "WidthU"
Name 18 "sizeQueryTemp"
Name 21 "g_tTex1di4"
Name 25 "sizeQueryTemp"
Name 28 "g_tTex1du4"
Name 32 "sizeQueryTemp"
Name 35 "g_tBuffF"
Name 39 "sizeQueryTemp"
Name 42 "g_tBuffI"
Name 46 "sizeQueryTemp"
Name 49 "g_tBuffU"
Name 55 "sizeQueryTemp"
Name 58 "g_tTex1df4a"
Name 65 "ElementsU"
Name 69 "sizeQueryTemp"
Name 72 "g_tTex1di4a"
Name 79 "sizeQueryTemp"
Name 82 "g_tTex1du4a"
Name 89 "sizeQueryTemp"
Name 92 "g_tTex2df4"
Name 97 "HeightU"
Name 100 "sizeQueryTemp"
Name 103 "g_tTex2di4"
Name 110 "sizeQueryTemp"
Name 113 "g_tTex2du4"
Name 122 "sizeQueryTemp"
Name 125 "g_tTex2df4a"
Name 136 "sizeQueryTemp"
Name 139 "g_tTex2di4a"
Name 148 "sizeQueryTemp"
Name 151 "g_tTex2du4a"
Name 160 "sizeQueryTemp"
Name 163 "g_tTex3df4"
Name 170 "DepthU"
Name 173 "sizeQueryTemp"
Name 176 "g_tTex3di4"
Name 185 "sizeQueryTemp"
Name 188 "g_tTex3du4"
Name 198 "PS_OUTPUT"
MemberName 198(PS_OUTPUT) 0 "Color"
MemberName 198(PS_OUTPUT) 1 "Depth"
Name 200 "psout"
Name 210 "Color"
Name 214 "Depth"
Name 220 "g_sSamp"
Name 222 "$Global"
MemberName 222($Global) 0 "c1"
MemberName 222($Global) 1 "c2"
MemberName 222($Global) 2 "c3"
MemberName 222($Global) 3 "c4"
MemberName 222($Global) 4 "o1"
MemberName 222($Global) 5 "o2"
MemberName 222($Global) 6 "o3"
MemberName 222($Global) 7 "o4"
Name 224 ""
Decorate 12(g_tTex1df4) DescriptorSet 0
Decorate 12(g_tTex1df4) Binding 0
Decorate 21(g_tTex1di4) DescriptorSet 0
Decorate 28(g_tTex1du4) DescriptorSet 0
Decorate 35(g_tBuffF) DescriptorSet 0
Decorate 42(g_tBuffI) DescriptorSet 0
Decorate 49(g_tBuffU) DescriptorSet 0
Decorate 58(g_tTex1df4a) DescriptorSet 0
Decorate 72(g_tTex1di4a) DescriptorSet 0
Decorate 82(g_tTex1du4a) DescriptorSet 0
Decorate 92(g_tTex2df4) DescriptorSet 0
Decorate 103(g_tTex2di4) DescriptorSet 0
Decorate 113(g_tTex2du4) DescriptorSet 0
Decorate 125(g_tTex2df4a) DescriptorSet 0
Decorate 139(g_tTex2di4a) DescriptorSet 0
Decorate 151(g_tTex2du4a) DescriptorSet 0
Decorate 163(g_tTex3df4) DescriptorSet 0
Decorate 176(g_tTex3di4) DescriptorSet 0
Decorate 188(g_tTex3du4) DescriptorSet 0
Decorate 210(Color) Location 0
Decorate 214(Depth) BuiltIn FragDepth
Decorate 220(g_sSamp) DescriptorSet 0
Decorate 220(g_sSamp) Binding 0
MemberDecorate 222($Global) 0 Offset 0
MemberDecorate 222($Global) 1 Offset 8
MemberDecorate 222($Global) 2 Offset 16
MemberDecorate 222($Global) 3 Offset 32
MemberDecorate 222($Global) 4 Offset 48
MemberDecorate 222($Global) 5 Offset 56
MemberDecorate 222($Global) 6 Offset 64
MemberDecorate 222($Global) 7 Offset 80
Decorate 222($Global) Block
Decorate 224 DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 14 "sizeQueryTemp"
Name 17 "g_tTex1df4"
Name 21 "WidthU"
Name 23 "sizeQueryTemp"
Name 26 "g_tTex1di4"
Name 30 "sizeQueryTemp"
Name 33 "g_tTex1du4"
Name 37 "sizeQueryTemp"
Name 40 "g_tBuffF"
Name 44 "sizeQueryTemp"
Name 47 "g_tBuffI"
Name 51 "sizeQueryTemp"
Name 54 "g_tBuffU"
Name 60 "sizeQueryTemp"
Name 63 "g_tTex1df4a"
Name 70 "ElementsU"
Name 74 "sizeQueryTemp"
Name 77 "g_tTex1di4a"
Name 84 "sizeQueryTemp"
Name 87 "g_tTex1du4a"
Name 94 "sizeQueryTemp"
Name 97 "g_tTex2df4"
Name 102 "HeightU"
Name 105 "sizeQueryTemp"
Name 108 "g_tTex2di4"
Name 115 "sizeQueryTemp"
Name 118 "g_tTex2du4"
Name 127 "sizeQueryTemp"
Name 130 "g_tTex2df4a"
Name 141 "sizeQueryTemp"
Name 144 "g_tTex2di4a"
Name 153 "sizeQueryTemp"
Name 156 "g_tTex2du4a"
Name 165 "sizeQueryTemp"
Name 168 "g_tTex3df4"
Name 175 "DepthU"
Name 178 "sizeQueryTemp"
Name 181 "g_tTex3di4"
Name 190 "sizeQueryTemp"
Name 193 "g_tTex3du4"
Name 203 "psout"
Name 215 "flattenTemp"
Name 218 "Color"
Name 222 "Depth"
Name 227 "g_sSamp"
Name 229 "$Global"
MemberName 229($Global) 0 "c1"
MemberName 229($Global) 1 "c2"
MemberName 229($Global) 2 "c3"
MemberName 229($Global) 3 "c4"
MemberName 229($Global) 4 "o1"
MemberName 229($Global) 5 "o2"
MemberName 229($Global) 6 "o3"
MemberName 229($Global) 7 "o4"
Name 231 ""
Decorate 17(g_tTex1df4) DescriptorSet 0
Decorate 17(g_tTex1df4) Binding 0
Decorate 26(g_tTex1di4) DescriptorSet 0
Decorate 33(g_tTex1du4) DescriptorSet 0
Decorate 40(g_tBuffF) DescriptorSet 0
Decorate 47(g_tBuffI) DescriptorSet 0
Decorate 54(g_tBuffU) DescriptorSet 0
Decorate 63(g_tTex1df4a) DescriptorSet 0
Decorate 77(g_tTex1di4a) DescriptorSet 0
Decorate 87(g_tTex1du4a) DescriptorSet 0
Decorate 97(g_tTex2df4) DescriptorSet 0
Decorate 108(g_tTex2di4) DescriptorSet 0
Decorate 118(g_tTex2du4) DescriptorSet 0
Decorate 130(g_tTex2df4a) DescriptorSet 0
Decorate 144(g_tTex2di4a) DescriptorSet 0
Decorate 156(g_tTex2du4a) DescriptorSet 0
Decorate 168(g_tTex3df4) DescriptorSet 0
Decorate 181(g_tTex3di4) DescriptorSet 0
Decorate 193(g_tTex3du4) DescriptorSet 0
Decorate 218(Color) Location 0
Decorate 222(Depth) BuiltIn FragDepth
Decorate 227(g_sSamp) DescriptorSet 0
Decorate 227(g_sSamp) Binding 0
MemberDecorate 229($Global) 0 Offset 0
MemberDecorate 229($Global) 1 Offset 8
MemberDecorate 229($Global) 2 Offset 16
MemberDecorate 229($Global) 3 Offset 32
MemberDecorate 229($Global) 4 Offset 48
MemberDecorate 229($Global) 5 Offset 56
MemberDecorate 229($Global) 6 Offset 64
MemberDecorate 229($Global) 7 Offset 80
Decorate 229($Global) Block
Decorate 231 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypePointer Function 6(int)
9: TypeFloat 32
10: TypeImage 9(float) 1D nonsampled format:Rgba32f
11: TypePointer UniformConstant 10
12(g_tTex1df4): 11(ptr) Variable UniformConstant
14: TypeInt 32 1
19: TypeImage 14(int) 1D nonsampled format:Rgba32i
20: TypePointer UniformConstant 19
21(g_tTex1di4): 20(ptr) Variable UniformConstant
26: TypeImage 6(int) 1D nonsampled format:Rgba32ui
27: TypePointer UniformConstant 26
28(g_tTex1du4): 27(ptr) Variable UniformConstant
33: TypeImage 9(float) Buffer nonsampled format:Rgba32f
34: TypePointer UniformConstant 33
35(g_tBuffF): 34(ptr) Variable UniformConstant
40: TypeImage 14(int) Buffer nonsampled format:Rgba32i
41: TypePointer UniformConstant 40
42(g_tBuffI): 41(ptr) Variable UniformConstant
47: TypeImage 6(int) Buffer nonsampled format:Rgba32ui
48: TypePointer UniformConstant 47
49(g_tBuffU): 48(ptr) Variable UniformConstant
53: TypeVector 6(int) 2
54: TypePointer Function 53(ivec2)
56: TypeImage 9(float) 1D array nonsampled format:Rgba32f
57: TypePointer UniformConstant 56
58(g_tTex1df4a): 57(ptr) Variable UniformConstant
60: TypeVector 14(int) 2
62: 6(int) Constant 0
66: 6(int) Constant 1
70: TypeImage 14(int) 1D array nonsampled format:Rgba32i
71: TypePointer UniformConstant 70
72(g_tTex1di4a): 71(ptr) Variable UniformConstant
80: TypeImage 6(int) 1D array nonsampled format:Rgba32ui
81: TypePointer UniformConstant 80
82(g_tTex1du4a): 81(ptr) Variable UniformConstant
90: TypeImage 9(float) 2D nonsampled format:Rgba32f
91: TypePointer UniformConstant 90
92(g_tTex2df4): 91(ptr) Variable UniformConstant
101: TypeImage 14(int) 2D nonsampled format:Rgba32i
102: TypePointer UniformConstant 101
103(g_tTex2di4): 102(ptr) Variable UniformConstant
111: TypeImage 6(int) 2D nonsampled format:Rgba32ui
112: TypePointer UniformConstant 111
113(g_tTex2du4): 112(ptr) Variable UniformConstant
120: TypeVector 6(int) 3
121: TypePointer Function 120(ivec3)
123: TypeImage 9(float) 2D array nonsampled format:Rgba32f
124: TypePointer UniformConstant 123
125(g_tTex2df4a): 124(ptr) Variable UniformConstant
127: TypeVector 14(int) 3
133: 6(int) Constant 2
137: TypeImage 14(int) 2D array nonsampled format:Rgba32i
138: TypePointer UniformConstant 137
139(g_tTex2di4a): 138(ptr) Variable UniformConstant
149: TypeImage 6(int) 2D array nonsampled format:Rgba32ui
150: TypePointer UniformConstant 149
151(g_tTex2du4a): 150(ptr) Variable UniformConstant
161: TypeImage 9(float) 3D nonsampled format:Rgba32f
162: TypePointer UniformConstant 161
163(g_tTex3df4): 162(ptr) Variable UniformConstant
174: TypeImage 14(int) 3D nonsampled format:Rgba32i
175: TypePointer UniformConstant 174
176(g_tTex3di4): 175(ptr) Variable UniformConstant
186: TypeImage 6(int) 3D nonsampled format:Rgba32ui
187: TypePointer UniformConstant 186
188(g_tTex3du4): 187(ptr) Variable UniformConstant
197: TypeVector 9(float) 4
198(PS_OUTPUT): TypeStruct 197(fvec4) 9(float)
199: TypePointer Function 198(PS_OUTPUT)
201: 14(int) Constant 0
202: 9(float) Constant 1065353216
203: 197(fvec4) ConstantComposite 202 202 202 202
204: TypePointer Function 197(fvec4)
206: 14(int) Constant 1
207: TypePointer Function 9(float)
209: TypePointer Output 197(fvec4)
210(Color): 209(ptr) Variable Output
213: TypePointer Output 9(float)
214(Depth): 213(ptr) Variable Output
218: TypeSampler
219: TypePointer UniformConstant 218
220(g_sSamp): 219(ptr) Variable UniformConstant
221: TypeVector 14(int) 4
222($Global): TypeStruct 14(int) 60(ivec2) 127(ivec3) 221(ivec4) 14(int) 60(ivec2) 127(ivec3) 221(ivec4)
223: TypePointer Uniform 222($Global)
224: 223(ptr) Variable Uniform
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypeInt 32 0
13: TypePointer Function 12(int)
15: TypeImage 6(float) 1D nonsampled format:Rgba32f
16: TypePointer UniformConstant 15
17(g_tTex1df4): 16(ptr) Variable UniformConstant
19: TypeInt 32 1
24: TypeImage 19(int) 1D nonsampled format:Rgba32i
25: TypePointer UniformConstant 24
26(g_tTex1di4): 25(ptr) Variable UniformConstant
31: TypeImage 12(int) 1D nonsampled format:Rgba32ui
32: TypePointer UniformConstant 31
33(g_tTex1du4): 32(ptr) Variable UniformConstant
38: TypeImage 6(float) Buffer nonsampled format:Rgba32f
39: TypePointer UniformConstant 38
40(g_tBuffF): 39(ptr) Variable UniformConstant
45: TypeImage 19(int) Buffer nonsampled format:Rgba32i
46: TypePointer UniformConstant 45
47(g_tBuffI): 46(ptr) Variable UniformConstant
52: TypeImage 12(int) Buffer nonsampled format:Rgba32ui
53: TypePointer UniformConstant 52
54(g_tBuffU): 53(ptr) Variable UniformConstant
58: TypeVector 12(int) 2
59: TypePointer Function 58(ivec2)
61: TypeImage 6(float) 1D array nonsampled format:Rgba32f
62: TypePointer UniformConstant 61
63(g_tTex1df4a): 62(ptr) Variable UniformConstant
65: TypeVector 19(int) 2
67: 12(int) Constant 0
71: 12(int) Constant 1
75: TypeImage 19(int) 1D array nonsampled format:Rgba32i
76: TypePointer UniformConstant 75
77(g_tTex1di4a): 76(ptr) Variable UniformConstant
85: TypeImage 12(int) 1D array nonsampled format:Rgba32ui
86: TypePointer UniformConstant 85
87(g_tTex1du4a): 86(ptr) Variable UniformConstant
95: TypeImage 6(float) 2D nonsampled format:Rgba32f
96: TypePointer UniformConstant 95
97(g_tTex2df4): 96(ptr) Variable UniformConstant
106: TypeImage 19(int) 2D nonsampled format:Rgba32i
107: TypePointer UniformConstant 106
108(g_tTex2di4): 107(ptr) Variable UniformConstant
116: TypeImage 12(int) 2D nonsampled format:Rgba32ui
117: TypePointer UniformConstant 116
118(g_tTex2du4): 117(ptr) Variable UniformConstant
125: TypeVector 12(int) 3
126: TypePointer Function 125(ivec3)
128: TypeImage 6(float) 2D array nonsampled format:Rgba32f
129: TypePointer UniformConstant 128
130(g_tTex2df4a): 129(ptr) Variable UniformConstant
132: TypeVector 19(int) 3
138: 12(int) Constant 2
142: TypeImage 19(int) 2D array nonsampled format:Rgba32i
143: TypePointer UniformConstant 142
144(g_tTex2di4a): 143(ptr) Variable UniformConstant
154: TypeImage 12(int) 2D array nonsampled format:Rgba32ui
155: TypePointer UniformConstant 154
156(g_tTex2du4a): 155(ptr) Variable UniformConstant
166: TypeImage 6(float) 3D nonsampled format:Rgba32f
167: TypePointer UniformConstant 166
168(g_tTex3df4): 167(ptr) Variable UniformConstant
179: TypeImage 19(int) 3D nonsampled format:Rgba32i
180: TypePointer UniformConstant 179
181(g_tTex3di4): 180(ptr) Variable UniformConstant
191: TypeImage 12(int) 3D nonsampled format:Rgba32ui
192: TypePointer UniformConstant 191
193(g_tTex3du4): 192(ptr) Variable UniformConstant
202: TypePointer Function 8(PS_OUTPUT)
204: 19(int) Constant 0
205: 6(float) Constant 1065353216
206: 7(fvec4) ConstantComposite 205 205 205 205
207: TypePointer Function 7(fvec4)
209: 19(int) Constant 1
210: TypePointer Function 6(float)
217: TypePointer Output 7(fvec4)
218(Color): 217(ptr) Variable Output
221: TypePointer Output 6(float)
222(Depth): 221(ptr) Variable Output
225: TypeSampler
226: TypePointer UniformConstant 225
227(g_sSamp): 226(ptr) Variable UniformConstant
228: TypeVector 19(int) 4
229($Global): TypeStruct 19(int) 65(ivec2) 132(ivec3) 228(ivec4) 19(int) 65(ivec2) 132(ivec3) 228(ivec4)
230: TypePointer Uniform 229($Global)
231: 230(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
8(sizeQueryTemp): 7(ptr) Variable Function
16(WidthU): 7(ptr) Variable Function
18(sizeQueryTemp): 7(ptr) Variable Function
25(sizeQueryTemp): 7(ptr) Variable Function
32(sizeQueryTemp): 7(ptr) Variable Function
39(sizeQueryTemp): 7(ptr) Variable Function
46(sizeQueryTemp): 7(ptr) Variable Function
55(sizeQueryTemp): 54(ptr) Variable Function
65(ElementsU): 7(ptr) Variable Function
69(sizeQueryTemp): 54(ptr) Variable Function
79(sizeQueryTemp): 54(ptr) Variable Function
89(sizeQueryTemp): 54(ptr) Variable Function
97(HeightU): 7(ptr) Variable Function
100(sizeQueryTemp): 54(ptr) Variable Function
110(sizeQueryTemp): 54(ptr) Variable Function
122(sizeQueryTemp): 121(ptr) Variable Function
136(sizeQueryTemp): 121(ptr) Variable Function
148(sizeQueryTemp): 121(ptr) Variable Function
160(sizeQueryTemp): 121(ptr) Variable Function
170(DepthU): 7(ptr) Variable Function
173(sizeQueryTemp): 121(ptr) Variable Function
185(sizeQueryTemp): 121(ptr) Variable Function
200(psout): 199(ptr) Variable Function
13: 10 Load 12(g_tTex1df4)
15: 14(int) ImageQuerySize 13
Store 8(sizeQueryTemp) 15
17: 6(int) Load 8(sizeQueryTemp)
Store 16(WidthU) 17
22: 19 Load 21(g_tTex1di4)
23: 14(int) ImageQuerySize 22
Store 18(sizeQueryTemp) 23
24: 6(int) Load 18(sizeQueryTemp)
Store 16(WidthU) 24
29: 26 Load 28(g_tTex1du4)
30: 14(int) ImageQuerySize 29
Store 25(sizeQueryTemp) 30
31: 6(int) Load 25(sizeQueryTemp)
Store 16(WidthU) 31
36: 33 Load 35(g_tBuffF)
37: 14(int) ImageQuerySize 36
Store 32(sizeQueryTemp) 37
38: 6(int) Load 32(sizeQueryTemp)
Store 16(WidthU) 38
43: 40 Load 42(g_tBuffI)
44: 14(int) ImageQuerySize 43
Store 39(sizeQueryTemp) 44
45: 6(int) Load 39(sizeQueryTemp)
Store 16(WidthU) 45
50: 47 Load 49(g_tBuffU)
51: 14(int) ImageQuerySize 50
Store 46(sizeQueryTemp) 51
52: 6(int) Load 46(sizeQueryTemp)
Store 16(WidthU) 52
59: 56 Load 58(g_tTex1df4a)
61: 60(ivec2) ImageQuerySize 59
Store 55(sizeQueryTemp) 61
63: 7(ptr) AccessChain 55(sizeQueryTemp) 62
64: 6(int) Load 63
Store 16(WidthU) 64
67: 7(ptr) AccessChain 55(sizeQueryTemp) 66
68: 6(int) Load 67
Store 65(ElementsU) 68
73: 70 Load 72(g_tTex1di4a)
74: 60(ivec2) ImageQuerySize 73
Store 69(sizeQueryTemp) 74
75: 7(ptr) AccessChain 69(sizeQueryTemp) 62
76: 6(int) Load 75
Store 16(WidthU) 76
77: 7(ptr) AccessChain 69(sizeQueryTemp) 66
78: 6(int) Load 77
Store 65(ElementsU) 78
83: 80 Load 82(g_tTex1du4a)
84: 60(ivec2) ImageQuerySize 83
Store 79(sizeQueryTemp) 84
85: 7(ptr) AccessChain 79(sizeQueryTemp) 62
86: 6(int) Load 85
Store 16(WidthU) 86
87: 7(ptr) AccessChain 79(sizeQueryTemp) 66
88: 6(int) Load 87
Store 65(ElementsU) 88
93: 90 Load 92(g_tTex2df4)
94: 60(ivec2) ImageQuerySize 93
Store 89(sizeQueryTemp) 94
95: 7(ptr) AccessChain 89(sizeQueryTemp) 62
96: 6(int) Load 95
Store 16(WidthU) 96
98: 7(ptr) AccessChain 89(sizeQueryTemp) 66
99: 6(int) Load 98
Store 97(HeightU) 99
104: 101 Load 103(g_tTex2di4)
105: 60(ivec2) ImageQuerySize 104
Store 100(sizeQueryTemp) 105
106: 7(ptr) AccessChain 100(sizeQueryTemp) 62
107: 6(int) Load 106
Store 16(WidthU) 107
108: 7(ptr) AccessChain 100(sizeQueryTemp) 66
109: 6(int) Load 108
Store 97(HeightU) 109
114: 111 Load 113(g_tTex2du4)
115: 60(ivec2) ImageQuerySize 114
Store 110(sizeQueryTemp) 115
116: 7(ptr) AccessChain 110(sizeQueryTemp) 62
117: 6(int) Load 116
Store 16(WidthU) 117
118: 7(ptr) AccessChain 110(sizeQueryTemp) 66
119: 6(int) Load 118
Store 97(HeightU) 119
126: 123 Load 125(g_tTex2df4a)
128: 127(ivec3) ImageQuerySize 126
Store 122(sizeQueryTemp) 128
129: 7(ptr) AccessChain 122(sizeQueryTemp) 62
130: 6(int) Load 129
Store 16(WidthU) 130
131: 7(ptr) AccessChain 122(sizeQueryTemp) 66
132: 6(int) Load 131
Store 97(HeightU) 132
134: 7(ptr) AccessChain 122(sizeQueryTemp) 133
135: 6(int) Load 134
Store 65(ElementsU) 135
140: 137 Load 139(g_tTex2di4a)
141: 127(ivec3) ImageQuerySize 140
Store 136(sizeQueryTemp) 141
142: 7(ptr) AccessChain 136(sizeQueryTemp) 62
143: 6(int) Load 142
Store 16(WidthU) 143
144: 7(ptr) AccessChain 136(sizeQueryTemp) 66
145: 6(int) Load 144
Store 97(HeightU) 145
146: 7(ptr) AccessChain 136(sizeQueryTemp) 133
147: 6(int) Load 146
Store 65(ElementsU) 147
152: 149 Load 151(g_tTex2du4a)
153: 127(ivec3) ImageQuerySize 152
Store 148(sizeQueryTemp) 153
154: 7(ptr) AccessChain 148(sizeQueryTemp) 62
155: 6(int) Load 154
Store 16(WidthU) 155
156: 7(ptr) AccessChain 148(sizeQueryTemp) 66
157: 6(int) Load 156
Store 97(HeightU) 157
158: 7(ptr) AccessChain 148(sizeQueryTemp) 133
159: 6(int) Load 158
Store 65(ElementsU) 159
164: 161 Load 163(g_tTex3df4)
165: 127(ivec3) ImageQuerySize 164
Store 160(sizeQueryTemp) 165
166: 7(ptr) AccessChain 160(sizeQueryTemp) 62
167: 6(int) Load 166
Store 16(WidthU) 167
168: 7(ptr) AccessChain 160(sizeQueryTemp) 66
169: 6(int) Load 168
Store 97(HeightU) 169
171: 7(ptr) AccessChain 160(sizeQueryTemp) 133
172: 6(int) Load 171
Store 170(DepthU) 172
177: 174 Load 176(g_tTex3di4)
178: 127(ivec3) ImageQuerySize 177
Store 173(sizeQueryTemp) 178
179: 7(ptr) AccessChain 173(sizeQueryTemp) 62
180: 6(int) Load 179
Store 16(WidthU) 180
181: 7(ptr) AccessChain 173(sizeQueryTemp) 66
182: 6(int) Load 181
Store 97(HeightU) 182
183: 7(ptr) AccessChain 173(sizeQueryTemp) 133
184: 6(int) Load 183
Store 170(DepthU) 184
189: 186 Load 188(g_tTex3du4)
190: 127(ivec3) ImageQuerySize 189
Store 185(sizeQueryTemp) 190
191: 7(ptr) AccessChain 185(sizeQueryTemp) 62
192: 6(int) Load 191
Store 16(WidthU) 192
193: 7(ptr) AccessChain 185(sizeQueryTemp) 66
194: 6(int) Load 193
Store 97(HeightU) 194
195: 7(ptr) AccessChain 185(sizeQueryTemp) 133
196: 6(int) Load 195
Store 170(DepthU) 196
205: 204(ptr) AccessChain 200(psout) 201
Store 205 203
208: 207(ptr) AccessChain 200(psout) 206
Store 208 202
211: 204(ptr) AccessChain 200(psout) 201
212: 197(fvec4) Load 211
Store 210(Color) 212
215: 207(ptr) AccessChain 200(psout) 206
216: 9(float) Load 215
Store 214(Depth) 216
215(flattenTemp): 202(ptr) Variable Function
216:8(PS_OUTPUT) FunctionCall 10(@main()
Store 215(flattenTemp) 216
219: 207(ptr) AccessChain 215(flattenTemp) 204
220: 7(fvec4) Load 219
Store 218(Color) 220
223: 210(ptr) AccessChain 215(flattenTemp) 209
224: 6(float) Load 223
Store 222(Depth) 224
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
14(sizeQueryTemp): 13(ptr) Variable Function
21(WidthU): 13(ptr) Variable Function
23(sizeQueryTemp): 13(ptr) Variable Function
30(sizeQueryTemp): 13(ptr) Variable Function
37(sizeQueryTemp): 13(ptr) Variable Function
44(sizeQueryTemp): 13(ptr) Variable Function
51(sizeQueryTemp): 13(ptr) Variable Function
60(sizeQueryTemp): 59(ptr) Variable Function
70(ElementsU): 13(ptr) Variable Function
74(sizeQueryTemp): 59(ptr) Variable Function
84(sizeQueryTemp): 59(ptr) Variable Function
94(sizeQueryTemp): 59(ptr) Variable Function
102(HeightU): 13(ptr) Variable Function
105(sizeQueryTemp): 59(ptr) Variable Function
115(sizeQueryTemp): 59(ptr) Variable Function
127(sizeQueryTemp): 126(ptr) Variable Function
141(sizeQueryTemp): 126(ptr) Variable Function
153(sizeQueryTemp): 126(ptr) Variable Function
165(sizeQueryTemp): 126(ptr) Variable Function
175(DepthU): 13(ptr) Variable Function
178(sizeQueryTemp): 126(ptr) Variable Function
190(sizeQueryTemp): 126(ptr) Variable Function
203(psout): 202(ptr) Variable Function
18: 15 Load 17(g_tTex1df4)
20: 19(int) ImageQuerySize 18
Store 14(sizeQueryTemp) 20
22: 12(int) Load 14(sizeQueryTemp)
Store 21(WidthU) 22
27: 24 Load 26(g_tTex1di4)
28: 19(int) ImageQuerySize 27
Store 23(sizeQueryTemp) 28
29: 12(int) Load 23(sizeQueryTemp)
Store 21(WidthU) 29
34: 31 Load 33(g_tTex1du4)
35: 19(int) ImageQuerySize 34
Store 30(sizeQueryTemp) 35
36: 12(int) Load 30(sizeQueryTemp)
Store 21(WidthU) 36
41: 38 Load 40(g_tBuffF)
42: 19(int) ImageQuerySize 41
Store 37(sizeQueryTemp) 42
43: 12(int) Load 37(sizeQueryTemp)
Store 21(WidthU) 43
48: 45 Load 47(g_tBuffI)
49: 19(int) ImageQuerySize 48
Store 44(sizeQueryTemp) 49
50: 12(int) Load 44(sizeQueryTemp)
Store 21(WidthU) 50
55: 52 Load 54(g_tBuffU)
56: 19(int) ImageQuerySize 55
Store 51(sizeQueryTemp) 56
57: 12(int) Load 51(sizeQueryTemp)
Store 21(WidthU) 57
64: 61 Load 63(g_tTex1df4a)
66: 65(ivec2) ImageQuerySize 64
Store 60(sizeQueryTemp) 66
68: 13(ptr) AccessChain 60(sizeQueryTemp) 67
69: 12(int) Load 68
Store 21(WidthU) 69
72: 13(ptr) AccessChain 60(sizeQueryTemp) 71
73: 12(int) Load 72
Store 70(ElementsU) 73
78: 75 Load 77(g_tTex1di4a)
79: 65(ivec2) ImageQuerySize 78
Store 74(sizeQueryTemp) 79
80: 13(ptr) AccessChain 74(sizeQueryTemp) 67
81: 12(int) Load 80
Store 21(WidthU) 81
82: 13(ptr) AccessChain 74(sizeQueryTemp) 71
83: 12(int) Load 82
Store 70(ElementsU) 83
88: 85 Load 87(g_tTex1du4a)
89: 65(ivec2) ImageQuerySize 88
Store 84(sizeQueryTemp) 89
90: 13(ptr) AccessChain 84(sizeQueryTemp) 67
91: 12(int) Load 90
Store 21(WidthU) 91
92: 13(ptr) AccessChain 84(sizeQueryTemp) 71
93: 12(int) Load 92
Store 70(ElementsU) 93
98: 95 Load 97(g_tTex2df4)
99: 65(ivec2) ImageQuerySize 98
Store 94(sizeQueryTemp) 99
100: 13(ptr) AccessChain 94(sizeQueryTemp) 67
101: 12(int) Load 100
Store 21(WidthU) 101
103: 13(ptr) AccessChain 94(sizeQueryTemp) 71
104: 12(int) Load 103
Store 102(HeightU) 104
109: 106 Load 108(g_tTex2di4)
110: 65(ivec2) ImageQuerySize 109
Store 105(sizeQueryTemp) 110
111: 13(ptr) AccessChain 105(sizeQueryTemp) 67
112: 12(int) Load 111
Store 21(WidthU) 112
113: 13(ptr) AccessChain 105(sizeQueryTemp) 71
114: 12(int) Load 113
Store 102(HeightU) 114
119: 116 Load 118(g_tTex2du4)
120: 65(ivec2) ImageQuerySize 119
Store 115(sizeQueryTemp) 120
121: 13(ptr) AccessChain 115(sizeQueryTemp) 67
122: 12(int) Load 121
Store 21(WidthU) 122
123: 13(ptr) AccessChain 115(sizeQueryTemp) 71
124: 12(int) Load 123
Store 102(HeightU) 124
131: 128 Load 130(g_tTex2df4a)
133: 132(ivec3) ImageQuerySize 131
Store 127(sizeQueryTemp) 133
134: 13(ptr) AccessChain 127(sizeQueryTemp) 67
135: 12(int) Load 134
Store 21(WidthU) 135
136: 13(ptr) AccessChain 127(sizeQueryTemp) 71
137: 12(int) Load 136
Store 102(HeightU) 137
139: 13(ptr) AccessChain 127(sizeQueryTemp) 138
140: 12(int) Load 139
Store 70(ElementsU) 140
145: 142 Load 144(g_tTex2di4a)
146: 132(ivec3) ImageQuerySize 145
Store 141(sizeQueryTemp) 146
147: 13(ptr) AccessChain 141(sizeQueryTemp) 67
148: 12(int) Load 147
Store 21(WidthU) 148
149: 13(ptr) AccessChain 141(sizeQueryTemp) 71
150: 12(int) Load 149
Store 102(HeightU) 150
151: 13(ptr) AccessChain 141(sizeQueryTemp) 138
152: 12(int) Load 151
Store 70(ElementsU) 152
157: 154 Load 156(g_tTex2du4a)
158: 132(ivec3) ImageQuerySize 157
Store 153(sizeQueryTemp) 158
159: 13(ptr) AccessChain 153(sizeQueryTemp) 67
160: 12(int) Load 159
Store 21(WidthU) 160
161: 13(ptr) AccessChain 153(sizeQueryTemp) 71
162: 12(int) Load 161
Store 102(HeightU) 162
163: 13(ptr) AccessChain 153(sizeQueryTemp) 138
164: 12(int) Load 163
Store 70(ElementsU) 164
169: 166 Load 168(g_tTex3df4)
170: 132(ivec3) ImageQuerySize 169
Store 165(sizeQueryTemp) 170
171: 13(ptr) AccessChain 165(sizeQueryTemp) 67
172: 12(int) Load 171
Store 21(WidthU) 172
173: 13(ptr) AccessChain 165(sizeQueryTemp) 71
174: 12(int) Load 173
Store 102(HeightU) 174
176: 13(ptr) AccessChain 165(sizeQueryTemp) 138
177: 12(int) Load 176
Store 175(DepthU) 177
182: 179 Load 181(g_tTex3di4)
183: 132(ivec3) ImageQuerySize 182
Store 178(sizeQueryTemp) 183
184: 13(ptr) AccessChain 178(sizeQueryTemp) 67
185: 12(int) Load 184
Store 21(WidthU) 185
186: 13(ptr) AccessChain 178(sizeQueryTemp) 71
187: 12(int) Load 186
Store 102(HeightU) 187
188: 13(ptr) AccessChain 178(sizeQueryTemp) 138
189: 12(int) Load 188
Store 175(DepthU) 189
194: 191 Load 193(g_tTex3du4)
195: 132(ivec3) ImageQuerySize 194
Store 190(sizeQueryTemp) 195
196: 13(ptr) AccessChain 190(sizeQueryTemp) 67
197: 12(int) Load 196
Store 21(WidthU) 197
198: 13(ptr) AccessChain 190(sizeQueryTemp) 71
199: 12(int) Load 198
Store 102(HeightU) 199
200: 13(ptr) AccessChain 190(sizeQueryTemp) 138
201: 12(int) Load 200
Store 175(DepthU) 201
208: 207(ptr) AccessChain 203(psout) 204
Store 208 206
211: 210(ptr) AccessChain 203(psout) 209
Store 211 205
212:8(PS_OUTPUT) Load 203(psout)
ReturnValue 212
FunctionEnd

View File

@ -7,7 +7,7 @@ ERROR: 2 compilation errors. No code generated.
Shader version: 450
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
0:13 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Parameters:
0:? Sequence
0:16 Sequence
@ -43,27 +43,33 @@ ERROR: node is still EOpNull!
0:20 1 (const int)
0:20 Constant:
0:20 1.000000
0:22 Sequence
0:22 Sequence
0:22 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:22 Color: direct index for structure (temp 4-component vector of float)
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:22 Depth: direct index for structure (temp float)
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 Constant:
0:22 1 (const int)
0:22 Branch: Return
0:22 Branch: Return with expression
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Definition: main( (temp void)
0:13 Function Parameters:
0:? Sequence
0:13 Sequence
0:13 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:13 Color: direct index for structure (temp 4-component vector of float)
0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:13 Depth: direct index for structure (temp float)
0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Constant:
0:13 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@ -72,7 +78,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
0:13 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Parameters:
0:? Sequence
0:16 Sequence
@ -108,26 +114,32 @@ ERROR: node is still EOpNull!
0:20 1 (const int)
0:20 Constant:
0:20 1.000000
0:22 Sequence
0:22 Sequence
0:22 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:22 Color: direct index for structure (temp 4-component vector of float)
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:22 Depth: direct index for structure (temp float)
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 Constant:
0:22 1 (const int)
0:22 Branch: Return
0:22 Branch: Return with expression
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Definition: main( (temp void)
0:13 Function Parameters:
0:? Sequence
0:13 Sequence
0:13 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:13 Color: direct index for structure (temp 4-component vector of float)
0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Constant:
0:13 0 (const int)
0:13 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:13 Depth: direct index for structure (temp float)
0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:13 Constant:
0:13 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
SPIR-V is not generated for failed compile or link

View File

@ -8,7 +8,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:9 Branch: Return with expression
0:9 'x' (in int)
0:12 Function Definition: main( (temp 4-component vector of float)
0:12 Function Definition: @main( (temp 4-component vector of float)
0:12 Function Parameters:
0:? Sequence
0:15 Sequence
@ -19,21 +19,24 @@ gl_FragCoord origin is upper left
0:? 4.000000
0:? 5.000000
0:? 6.000000
0:17 Sequence
0:17 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:17 vector swizzle (temp 4-component vector of float)
0:17 'sample' (temp 4-component vector of float)
0:17 Sequence
0:17 Constant:
0:17 0 (const int)
0:17 Constant:
0:17 1 (const int)
0:17 Constant:
0:17 2 (const int)
0:17 Constant:
0:17 3 (const int)
0:17 Branch: Return
0:17 Branch: Return with expression
0:17 vector swizzle (temp 4-component vector of float)
0:17 'sample' (temp 4-component vector of float)
0:17 Sequence
0:17 Constant:
0:17 0 (const int)
0:17 Constant:
0:17 1 (const int)
0:17 Constant:
0:17 2 (const int)
0:17 Constant:
0:17 3 (const int)
0:12 Function Definition: main( (temp void)
0:12 Function Parameters:
0:? Sequence
0:12 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:12 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
@ -50,7 +53,7 @@ gl_FragCoord origin is upper left
0:? Sequence
0:9 Branch: Return with expression
0:9 'x' (in int)
0:12 Function Definition: main( (temp 4-component vector of float)
0:12 Function Definition: @main( (temp 4-component vector of float)
0:12 Function Parameters:
0:? Sequence
0:15 Sequence
@ -61,65 +64,75 @@ gl_FragCoord origin is upper left
0:? 4.000000
0:? 5.000000
0:? 6.000000
0:17 Sequence
0:17 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:17 vector swizzle (temp 4-component vector of float)
0:17 'sample' (temp 4-component vector of float)
0:17 Sequence
0:17 Constant:
0:17 0 (const int)
0:17 Constant:
0:17 1 (const int)
0:17 Constant:
0:17 2 (const int)
0:17 Constant:
0:17 3 (const int)
0:17 Branch: Return
0:17 Branch: Return with expression
0:17 vector swizzle (temp 4-component vector of float)
0:17 'sample' (temp 4-component vector of float)
0:17 Sequence
0:17 Constant:
0:17 0 (const int)
0:17 Constant:
0:17 1 (const int)
0:17 Constant:
0:17 2 (const int)
0:17 Constant:
0:17 3 (const int)
0:12 Function Definition: main( (temp void)
0:12 Function Parameters:
0:? Sequence
0:12 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:12 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 28
// Id's are bound by 33
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 25
EntryPoint Fragment 4 "main" 31
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 10 "sample(i1;"
Name 9 "x"
Name 18 "sample"
Name 25 "@entryPointOutput"
Decorate 25(@entryPointOutput) Location 0
Name 15 "@main("
Name 21 "sample"
Name 31 "@entryPointOutput"
Decorate 31(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Function 6(int)
8: TypeFunction 6(int) 7(ptr)
15: TypeFloat 32
16: TypeVector 15(float) 4
17: TypePointer Function 16(fvec4)
19: 15(float) Constant 1077936128
20: 15(float) Constant 1082130432
21: 15(float) Constant 1084227584
22: 15(float) Constant 1086324736
23: 16(fvec4) ConstantComposite 19 20 21 22
24: TypePointer Output 16(fvec4)
25(@entryPointOutput): 24(ptr) Variable Output
12: TypeFloat 32
13: TypeVector 12(float) 4
14: TypeFunction 13(fvec4)
20: TypePointer Function 13(fvec4)
22: 12(float) Constant 1077936128
23: 12(float) Constant 1082130432
24: 12(float) Constant 1084227584
25: 12(float) Constant 1086324736
26: 13(fvec4) ConstantComposite 22 23 24 25
30: TypePointer Output 13(fvec4)
31(@entryPointOutput): 30(ptr) Variable Output
4(main): 2 Function None 3
5: Label
18(sample): 17(ptr) Variable Function
Store 18(sample) 23
26: 16(fvec4) Load 18(sample)
Store 25(@entryPointOutput) 26
32: 13(fvec4) FunctionCall 15(@main()
Store 31(@entryPointOutput) 32
Return
FunctionEnd
10(sample(i1;): 6(int) Function None 8
9(x): 7(ptr) FunctionParameter
11: Label
12: 6(int) Load 9(x)
ReturnValue 12
17: 6(int) Load 9(x)
ReturnValue 17
FunctionEnd
15(@main(): 13(fvec4) Function None 14
16: Label
21(sample): 20(ptr) Variable Function
Store 21(sample) 26
27: 13(fvec4) Load 21(sample)
ReturnValue 27
FunctionEnd

View File

@ -2,95 +2,77 @@ hlsl.if.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:3 Test condition and select (temp void)
0:3 Condition
0:3 all (temp bool)
0:3 Equal (temp 4-component vector of bool)
0:3 'input' (layout(location=0 ) in 4-component vector of float)
0:3 'input' (layout(location=0 ) in 4-component vector of float)
0:3 'input' (in 4-component vector of float)
0:3 'input' (in 4-component vector of float)
0:3 true case
0:4 Sequence
0:4 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:4 'input' (layout(location=0 ) in 4-component vector of float)
0:4 Branch: Return
0:4 Branch: Return with expression
0:4 'input' (in 4-component vector of float)
0:6 Test condition and select (temp void)
0:6 Condition
0:6 all (temp bool)
0:6 Equal (temp 4-component vector of bool)
0:6 'input' (layout(location=0 ) in 4-component vector of float)
0:6 'input' (layout(location=0 ) in 4-component vector of float)
0:6 'input' (in 4-component vector of float)
0:6 'input' (in 4-component vector of float)
0:6 true case
0:7 Sequence
0:7 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 Branch: Return
0:7 Branch: Return with expression
0:7 'input' (in 4-component vector of float)
0:6 false case
0:9 Sequence
0:9 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:9 Negate value (temp 4-component vector of float)
0:9 'input' (layout(location=0 ) in 4-component vector of float)
0:9 Branch: Return
0:9 Branch: Return with expression
0:9 Negate value (temp 4-component vector of float)
0:9 'input' (in 4-component vector of float)
0:11 Test condition and select (temp void)
0:11 Condition
0:11 all (temp bool)
0:11 Equal (temp 4-component vector of bool)
0:11 'input' (layout(location=0 ) in 4-component vector of float)
0:11 'input' (layout(location=0 ) in 4-component vector of float)
0:11 'input' (in 4-component vector of float)
0:11 'input' (in 4-component vector of float)
0:11 true case is null
0:14 Test condition and select (temp void)
0:14 Condition
0:14 all (temp bool)
0:14 Equal (temp 4-component vector of bool)
0:14 'input' (layout(location=0 ) in 4-component vector of float)
0:14 'input' (layout(location=0 ) in 4-component vector of float)
0:14 'input' (in 4-component vector of float)
0:14 'input' (in 4-component vector of float)
0:14 true case is null
0:19 Test condition and select (temp void)
0:19 Condition
0:19 all (temp bool)
0:19 Equal (temp 4-component vector of bool)
0:19 'input' (layout(location=0 ) in 4-component vector of float)
0:19 'input' (layout(location=0 ) in 4-component vector of float)
0:19 'input' (in 4-component vector of float)
0:19 'input' (in 4-component vector of float)
0:19 true case
0:? Sequence
0:20 Sequence
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 'input' (layout(location=0 ) in 4-component vector of float)
0:20 Branch: Return
0:20 Branch: Return with expression
0:20 'input' (in 4-component vector of float)
0:23 Test condition and select (temp void)
0:23 Condition
0:23 all (temp bool)
0:23 Equal (temp 4-component vector of bool)
0:23 'input' (layout(location=0 ) in 4-component vector of float)
0:23 'input' (layout(location=0 ) in 4-component vector of float)
0:23 'input' (in 4-component vector of float)
0:23 'input' (in 4-component vector of float)
0:23 true case
0:? Sequence
0:24 Sequence
0:24 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:24 'input' (layout(location=0 ) in 4-component vector of float)
0:24 Branch: Return
0:24 Branch: Return with expression
0:24 'input' (in 4-component vector of float)
0:23 false case
0:? Sequence
0:26 Sequence
0:26 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:26 Negate value (temp 4-component vector of float)
0:26 'input' (layout(location=0 ) in 4-component vector of float)
0:26 Branch: Return
0:26 Branch: Return with expression
0:26 Negate value (temp 4-component vector of float)
0:26 'input' (in 4-component vector of float)
0:30 Test condition and select (temp void)
0:30 Condition
0:30 move second child to first child (temp float)
0:30 'ii' (temp float)
0:30 direct index (temp float)
0:30 'input' (layout(location=0 ) in 4-component vector of float)
0:30 'input' (in 4-component vector of float)
0:30 Constant:
0:30 2 (const int)
0:30 true case
@ -98,6 +80,16 @@ gl_FragCoord origin is upper left
0:31 'ii' (temp float)
0:32 Pre-Increment (temp int)
0:32 'ii' (temp int)
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
@ -109,95 +101,77 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:3 Test condition and select (temp void)
0:3 Condition
0:3 all (temp bool)
0:3 Equal (temp 4-component vector of bool)
0:3 'input' (layout(location=0 ) in 4-component vector of float)
0:3 'input' (layout(location=0 ) in 4-component vector of float)
0:3 'input' (in 4-component vector of float)
0:3 'input' (in 4-component vector of float)
0:3 true case
0:4 Sequence
0:4 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:4 'input' (layout(location=0 ) in 4-component vector of float)
0:4 Branch: Return
0:4 Branch: Return with expression
0:4 'input' (in 4-component vector of float)
0:6 Test condition and select (temp void)
0:6 Condition
0:6 all (temp bool)
0:6 Equal (temp 4-component vector of bool)
0:6 'input' (layout(location=0 ) in 4-component vector of float)
0:6 'input' (layout(location=0 ) in 4-component vector of float)
0:6 'input' (in 4-component vector of float)
0:6 'input' (in 4-component vector of float)
0:6 true case
0:7 Sequence
0:7 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 Branch: Return
0:7 Branch: Return with expression
0:7 'input' (in 4-component vector of float)
0:6 false case
0:9 Sequence
0:9 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:9 Negate value (temp 4-component vector of float)
0:9 'input' (layout(location=0 ) in 4-component vector of float)
0:9 Branch: Return
0:9 Branch: Return with expression
0:9 Negate value (temp 4-component vector of float)
0:9 'input' (in 4-component vector of float)
0:11 Test condition and select (temp void)
0:11 Condition
0:11 all (temp bool)
0:11 Equal (temp 4-component vector of bool)
0:11 'input' (layout(location=0 ) in 4-component vector of float)
0:11 'input' (layout(location=0 ) in 4-component vector of float)
0:11 'input' (in 4-component vector of float)
0:11 'input' (in 4-component vector of float)
0:11 true case is null
0:14 Test condition and select (temp void)
0:14 Condition
0:14 all (temp bool)
0:14 Equal (temp 4-component vector of bool)
0:14 'input' (layout(location=0 ) in 4-component vector of float)
0:14 'input' (layout(location=0 ) in 4-component vector of float)
0:14 'input' (in 4-component vector of float)
0:14 'input' (in 4-component vector of float)
0:14 true case is null
0:19 Test condition and select (temp void)
0:19 Condition
0:19 all (temp bool)
0:19 Equal (temp 4-component vector of bool)
0:19 'input' (layout(location=0 ) in 4-component vector of float)
0:19 'input' (layout(location=0 ) in 4-component vector of float)
0:19 'input' (in 4-component vector of float)
0:19 'input' (in 4-component vector of float)
0:19 true case
0:? Sequence
0:20 Sequence
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 'input' (layout(location=0 ) in 4-component vector of float)
0:20 Branch: Return
0:20 Branch: Return with expression
0:20 'input' (in 4-component vector of float)
0:23 Test condition and select (temp void)
0:23 Condition
0:23 all (temp bool)
0:23 Equal (temp 4-component vector of bool)
0:23 'input' (layout(location=0 ) in 4-component vector of float)
0:23 'input' (layout(location=0 ) in 4-component vector of float)
0:23 'input' (in 4-component vector of float)
0:23 'input' (in 4-component vector of float)
0:23 true case
0:? Sequence
0:24 Sequence
0:24 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:24 'input' (layout(location=0 ) in 4-component vector of float)
0:24 Branch: Return
0:24 Branch: Return with expression
0:24 'input' (in 4-component vector of float)
0:23 false case
0:? Sequence
0:26 Sequence
0:26 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:26 Negate value (temp 4-component vector of float)
0:26 'input' (layout(location=0 ) in 4-component vector of float)
0:26 Branch: Return
0:26 Branch: Return with expression
0:26 Negate value (temp 4-component vector of float)
0:26 'input' (in 4-component vector of float)
0:30 Test condition and select (temp void)
0:30 Condition
0:30 move second child to first child (temp float)
0:30 'ii' (temp float)
0:30 direct index (temp float)
0:30 'input' (layout(location=0 ) in 4-component vector of float)
0:30 'input' (in 4-component vector of float)
0:30 Constant:
0:30 2 (const int)
0:30 true case
@ -205,133 +179,156 @@ gl_FragCoord origin is upper left
0:31 'ii' (temp float)
0:32 Pre-Increment (temp int)
0:32 'ii' (temp int)
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 84
// Id's are bound by 94
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 19
EntryPoint Fragment 4 "PixelShaderFunction" 87 90
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 9 "input"
Name 19 "@entryPointOutput"
Name 67 "ii"
Name 11 "@PixelShaderFunction(vf4;"
Name 10 "input"
Name 68 "ii"
Name 80 "ii"
Decorate 9(input) Location 0
Decorate 19(@entryPointOutput) Location 0
Name 85 "input"
Name 87 "input"
Name 90 "@entryPointOutput"
Name 91 "param"
Decorate 87(input) Location 0
Decorate 90(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Input 7(fvec4)
9(input): 8(ptr) Variable Input
12: TypeBool
13: TypeVector 12(bool) 4
18: TypePointer Output 7(fvec4)
19(@entryPointOutput): 18(ptr) Variable Output
66: TypePointer Function 6(float)
68: TypeInt 32 0
69: 68(int) Constant 2
70: TypePointer Input 6(float)
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr)
15: TypeBool
16: TypeVector 15(bool) 4
67: TypePointer Function 6(float)
69: TypeInt 32 0
70: 69(int) Constant 2
76: 6(float) Constant 1065353216
78: TypeInt 32 1
79: TypePointer Function 78(int)
82: 78(int) Constant 1
86: TypePointer Input 7(fvec4)
87(input): 86(ptr) Variable Input
89: TypePointer Output 7(fvec4)
90(@entryPointOutput): 89(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
67(ii): 66(ptr) Variable Function
85(input): 8(ptr) Variable Function
91(param): 8(ptr) Variable Function
88: 7(fvec4) Load 87(input)
Store 85(input) 88
92: 7(fvec4) Load 85(input)
Store 91(param) 92
93: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 91(param)
Store 90(@entryPointOutput) 93
Return
FunctionEnd
11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9
10(input): 8(ptr) FunctionParameter
12: Label
68(ii): 67(ptr) Variable Function
80(ii): 79(ptr) Variable Function
10: 7(fvec4) Load 9(input)
11: 7(fvec4) Load 9(input)
14: 13(bvec4) FOrdEqual 10 11
15: 12(bool) All 14
SelectionMerge 17 None
BranchConditional 15 16 17
16: Label
20: 7(fvec4) Load 9(input)
Store 19(@entryPointOutput) 20
Return
17: Label
22: 7(fvec4) Load 9(input)
23: 7(fvec4) Load 9(input)
24: 13(bvec4) FOrdEqual 22 23
25: 12(bool) All 24
SelectionMerge 27 None
BranchConditional 25 26 30
26: Label
28: 7(fvec4) Load 9(input)
Store 19(@entryPointOutput) 28
Return
30: Label
31: 7(fvec4) Load 9(input)
32: 7(fvec4) FNegate 31
Store 19(@entryPointOutput) 32
Return
27: Label
34: 7(fvec4) Load 9(input)
35: 7(fvec4) Load 9(input)
36: 13(bvec4) FOrdEqual 34 35
37: 12(bool) All 36
SelectionMerge 39 None
BranchConditional 37 38 39
38: Label
Branch 39
39: Label
40: 7(fvec4) Load 9(input)
41: 7(fvec4) Load 9(input)
42: 13(bvec4) FOrdEqual 40 41
43: 12(bool) All 42
SelectionMerge 45 None
BranchConditional 43 44 45
44: Label
Branch 45
45: Label
46: 7(fvec4) Load 9(input)
47: 7(fvec4) Load 9(input)
48: 13(bvec4) FOrdEqual 46 47
49: 12(bool) All 48
SelectionMerge 51 None
BranchConditional 49 50 51
50: Label
52: 7(fvec4) Load 9(input)
Store 19(@entryPointOutput) 52
Return
51: Label
54: 7(fvec4) Load 9(input)
55: 7(fvec4) Load 9(input)
56: 13(bvec4) FOrdEqual 54 55
57: 12(bool) All 56
SelectionMerge 59 None
BranchConditional 57 58 62
58: Label
60: 7(fvec4) Load 9(input)
Store 19(@entryPointOutput) 60
Return
62: Label
63: 7(fvec4) Load 9(input)
64: 7(fvec4) FNegate 63
Store 19(@entryPointOutput) 64
Return
59: Label
71: 70(ptr) AccessChain 9(input) 69
13: 7(fvec4) Load 10(input)
14: 7(fvec4) Load 10(input)
17: 16(bvec4) FOrdEqual 13 14
18: 15(bool) All 17
SelectionMerge 20 None
BranchConditional 18 19 20
19: Label
21: 7(fvec4) Load 10(input)
ReturnValue 21
20: Label
23: 7(fvec4) Load 10(input)
24: 7(fvec4) Load 10(input)
25: 16(bvec4) FOrdEqual 23 24
26: 15(bool) All 25
SelectionMerge 28 None
BranchConditional 26 27 31
27: Label
29: 7(fvec4) Load 10(input)
ReturnValue 29
31: Label
32: 7(fvec4) Load 10(input)
33: 7(fvec4) FNegate 32
ReturnValue 33
28: Label
35: 7(fvec4) Load 10(input)
36: 7(fvec4) Load 10(input)
37: 16(bvec4) FOrdEqual 35 36
38: 15(bool) All 37
SelectionMerge 40 None
BranchConditional 38 39 40
39: Label
Branch 40
40: Label
41: 7(fvec4) Load 10(input)
42: 7(fvec4) Load 10(input)
43: 16(bvec4) FOrdEqual 41 42
44: 15(bool) All 43
SelectionMerge 46 None
BranchConditional 44 45 46
45: Label
Branch 46
46: Label
47: 7(fvec4) Load 10(input)
48: 7(fvec4) Load 10(input)
49: 16(bvec4) FOrdEqual 47 48
50: 15(bool) All 49
SelectionMerge 52 None
BranchConditional 50 51 52
51: Label
53: 7(fvec4) Load 10(input)
ReturnValue 53
52: Label
55: 7(fvec4) Load 10(input)
56: 7(fvec4) Load 10(input)
57: 16(bvec4) FOrdEqual 55 56
58: 15(bool) All 57
SelectionMerge 60 None
BranchConditional 58 59 63
59: Label
61: 7(fvec4) Load 10(input)
ReturnValue 61
63: Label
64: 7(fvec4) Load 10(input)
65: 7(fvec4) FNegate 64
ReturnValue 65
60: Label
71: 67(ptr) AccessChain 10(input) 70
72: 6(float) Load 71
Store 67(ii) 72
Store 68(ii) 72
SelectionMerge 74 None
BranchConditional 72 73 74
73: Label
75: 6(float) Load 67(ii)
75: 6(float) Load 68(ii)
77: 6(float) FAdd 75 76
Store 67(ii) 77
Store 68(ii) 77
Branch 74
74: Label
81: 78(int) Load 80(ii)
83: 78(int) IAdd 81 82
Store 80(ii) 83
Return
84: 7(fvec4) Undef
ReturnValue 84
FunctionEnd

View File

@ -81,9 +81,9 @@ gl_FragCoord origin is upper left
0:18 Constant:
0:18 4 (const uint)
0:18 5 (const uint)
0:21 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float)
0:21 Function Definition: @ShaderFunction(vf4; (temp 4-component vector of float)
0:21 Function Parameters:
0:21 'input' (layout(location=0 ) in 4-component vector of float)
0:21 'input' (in 4-component vector of float)
0:? Sequence
0:22 Sequence
0:22 move second child to first child (temp 4-component vector of float)
@ -127,16 +127,21 @@ gl_FragCoord origin is upper left
0:33 move second child to first child (temp float)
0:33 'a9' (temp float)
0:33 'a5' (global float)
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:35 component-wise multiply (temp 4-component vector of float)
0:35 'input' (layout(location=0 ) in 4-component vector of float)
0:35 'a1' (global 4-component vector of float)
0:35 Branch: Return
0:35 Branch: Return with expression
0:35 component-wise multiply (temp 4-component vector of float)
0:35 'input' (in 4-component vector of float)
0:35 'a1' (global 4-component vector of float)
0:21 Function Definition: ShaderFunction( (temp void)
0:21 Function Parameters:
0:? Sequence
0:21 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:21 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:21 Function Call: @ShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'a1' (global 4-component vector of float)
0:? 'b1' (global 4-component vector of float)
0:? 'a1i' (global 4-component vector of float)
@ -155,6 +160,8 @@ gl_FragCoord origin is upper left
0:? 'single2' (global structure{temp 2-component vector of uint v})
0:? 'single3' (global structure{temp structure{temp int f} s1})
0:? 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform float a, layout(row_major std140 ) uniform float b, layout(row_major std140 ) uniform float c})
@ -240,9 +247,9 @@ gl_FragCoord origin is upper left
0:18 Constant:
0:18 4 (const uint)
0:18 5 (const uint)
0:21 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float)
0:21 Function Definition: @ShaderFunction(vf4; (temp 4-component vector of float)
0:21 Function Parameters:
0:21 'input' (layout(location=0 ) in 4-component vector of float)
0:21 'input' (in 4-component vector of float)
0:? Sequence
0:22 Sequence
0:22 move second child to first child (temp 4-component vector of float)
@ -286,16 +293,21 @@ gl_FragCoord origin is upper left
0:33 move second child to first child (temp float)
0:33 'a9' (temp float)
0:33 'a5' (global float)
0:35 Sequence
0:35 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:35 component-wise multiply (temp 4-component vector of float)
0:35 'input' (layout(location=0 ) in 4-component vector of float)
0:35 'a1' (global 4-component vector of float)
0:35 Branch: Return
0:35 Branch: Return with expression
0:35 component-wise multiply (temp 4-component vector of float)
0:35 'input' (in 4-component vector of float)
0:35 'a1' (global 4-component vector of float)
0:21 Function Definition: ShaderFunction( (temp void)
0:21 Function Parameters:
0:? Sequence
0:21 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:21 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:21 Function Call: @ShaderFunction(vf4; (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'a1' (global 4-component vector of float)
0:? 'b1' (global 4-component vector of float)
0:? 'a1i' (global 4-component vector of float)
@ -314,185 +326,204 @@ gl_FragCoord origin is upper left
0:? 'single2' (global structure{temp 2-component vector of uint v})
0:? 'single3' (global structure{temp structure{temp int f} s1})
0:? 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform float a, layout(row_major std140 ) uniform float b, layout(row_major std140 ) uniform float c})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 100
// Id's are bound by 110
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "ShaderFunction" 88 90
EntryPoint Fragment 4 "ShaderFunction" 98 101
ExecutionMode 4 OriginUpperLeft
Name 4 "ShaderFunction"
Name 9 "a1"
Name 14 "b1"
Name 20 "a1i"
Name 21 "b1i"
Name 23 "a2"
Name 25 "b3"
Name 27 "b4"
Name 29 "a5"
Name 30 "c5"
Name 33 "Single1"
MemberName 33(Single1) 0 "f"
Name 35 "single1"
Name 40 "Single2"
MemberName 40(Single2) 0 "v"
Name 42 "single2"
Name 47 "Single3"
MemberName 47(Single3) 0 "s1"
Name 49 "single3"
Name 53 "Single4"
MemberName 53(Single4) 0 "s1"
Name 55 "single4"
Name 62 "a2"
Name 64 "S1"
MemberName 64(S1) 0 "f"
MemberName 64(S1) 1 "i"
Name 65 "S2"
MemberName 65(S2) 0 "j"
MemberName 65(S2) 1 "g"
MemberName 65(S2) 2 "s1"
Name 67 "s2i"
Name 70 "a3"
Name 71 "a4"
Name 76 "s2"
Name 82 "a8"
Name 83 "b2"
Name 85 "a9"
Name 88 "@entryPointOutput"
Name 90 "input"
Name 95 "c4"
Name 96 "b5"
Name 97 "Constants"
MemberName 97(Constants) 0 "a"
MemberName 97(Constants) 1 "b"
MemberName 97(Constants) 2 "c"
Name 99 ""
Decorate 88(@entryPointOutput) Location 0
Decorate 90(input) Location 0
MemberDecorate 97(Constants) 0 Offset 0
MemberDecorate 97(Constants) 1 Offset 4
MemberDecorate 97(Constants) 2 Offset 8
Decorate 97(Constants) Block
Decorate 99 DescriptorSet 0
Name 11 "@ShaderFunction(vf4;"
Name 10 "input"
Name 14 "a1"
Name 19 "b1"
Name 25 "a1i"
Name 26 "b1i"
Name 28 "a2"
Name 30 "b3"
Name 32 "b4"
Name 34 "a5"
Name 35 "c5"
Name 38 "Single1"
MemberName 38(Single1) 0 "f"
Name 40 "single1"
Name 45 "Single2"
MemberName 45(Single2) 0 "v"
Name 47 "single2"
Name 52 "Single3"
MemberName 52(Single3) 0 "s1"
Name 54 "single3"
Name 58 "Single4"
MemberName 58(Single4) 0 "s1"
Name 60 "single4"
Name 66 "a2"
Name 68 "S1"
MemberName 68(S1) 0 "f"
MemberName 68(S1) 1 "i"
Name 69 "S2"
MemberName 69(S2) 0 "j"
MemberName 69(S2) 1 "g"
MemberName 69(S2) 2 "s1"
Name 71 "s2i"
Name 74 "a3"
Name 75 "a4"
Name 80 "s2"
Name 86 "a8"
Name 87 "b2"
Name 89 "a9"
Name 96 "input"
Name 98 "input"
Name 101 "@entryPointOutput"
Name 102 "param"
Name 105 "c4"
Name 106 "b5"
Name 107 "Constants"
MemberName 107(Constants) 0 "a"
MemberName 107(Constants) 1 "b"
MemberName 107(Constants) 2 "c"
Name 109 ""
Decorate 98(input) Location 0
Decorate 101(@entryPointOutput) Location 0
MemberDecorate 107(Constants) 0 Offset 0
MemberDecorate 107(Constants) 1 Offset 4
MemberDecorate 107(Constants) 2 Offset 8
Decorate 107(Constants) Block
Decorate 109 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Private 7(fvec4)
9(a1): 8(ptr) Variable Private
10: 6(float) Constant 1065353216
11: 6(float) Constant 1056964608
12: 6(float) Constant 0
13: 7(fvec4) ConstantComposite 10 11 12 10
14(b1): 8(ptr) Variable Private
15: 6(float) Constant 1073741824
16: 6(float) Constant 1075838976
17: 6(float) Constant 1074161254
18: 6(float) Constant 1074580685
19: 7(fvec4) ConstantComposite 15 16 17 18
20(a1i): 8(ptr) Variable Private
21(b1i): 8(ptr) Variable Private
22: TypePointer Private 6(float)
23(a2): 22(ptr) Variable Private
24: 6(float) Constant 1045220557
25(b3): 22(ptr) Variable Private
26: 6(float) Constant 1050253722
27(b4): 22(ptr) Variable Private
28: 6(float) Constant 1053609165
29(a5): 22(ptr) Variable Private
30(c5): 22(ptr) Variable Private
31: 6(float) Constant 1069547520
32: TypeInt 32 1
33(Single1): TypeStruct 32(int)
34: TypePointer Private 33(Single1)
35(single1): 34(ptr) Variable Private
36: 32(int) Constant 10
37: 33(Single1) ConstantComposite 36
38: TypeInt 32 0
39: TypeVector 38(int) 2
40(Single2): TypeStruct 39(ivec2)
41: TypePointer Private 40(Single2)
42(single2): 41(ptr) Variable Private
43: 38(int) Constant 1
44: 38(int) Constant 2
45: 39(ivec2) ConstantComposite 43 44
46: 40(Single2) ConstantComposite 45
47(Single3): TypeStruct 33(Single1)
48: TypePointer Private 47(Single3)
49(single3): 48(ptr) Variable Private
50: 32(int) Constant 3
51: 33(Single1) ConstantComposite 50
52: 47(Single3) ConstantComposite 51
53(Single4): TypeStruct 40(Single2)
54: TypePointer Private 53(Single4)
55(single4): 54(ptr) Variable Private
56: 38(int) Constant 4
57: 38(int) Constant 5
58: 39(ivec2) ConstantComposite 56 57
59: 40(Single2) ConstantComposite 58
60: 53(Single4) ConstantComposite 59
61: TypePointer Function 7(fvec4)
63: 7(fvec4) ConstantComposite 24 26 28 11
64(S1): TypeStruct 6(float) 32(int)
65(S2): TypeStruct 32(int) 6(float) 64(S1)
66: TypePointer Function 65(S2)
68: 32(int) Constant 9
70(a3): 22(ptr) Variable Private
71(a4): 22(ptr) Variable Private
73: 32(int) Constant 12
81: TypePointer Function 6(float)
83(b2): 22(ptr) Variable Private
87: TypePointer Output 7(fvec4)
88(@entryPointOutput): 87(ptr) Variable Output
89: TypePointer Input 7(fvec4)
90(input): 89(ptr) Variable Input
95(c4): 22(ptr) Variable Private
96(b5): 22(ptr) Variable Private
97(Constants): TypeStruct 6(float) 6(float) 6(float)
98: TypePointer Uniform 97(Constants)
99: 98(ptr) Variable Uniform
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr)
13: TypePointer Private 7(fvec4)
14(a1): 13(ptr) Variable Private
15: 6(float) Constant 1065353216
16: 6(float) Constant 1056964608
17: 6(float) Constant 0
18: 7(fvec4) ConstantComposite 15 16 17 15
19(b1): 13(ptr) Variable Private
20: 6(float) Constant 1073741824
21: 6(float) Constant 1075838976
22: 6(float) Constant 1074161254
23: 6(float) Constant 1074580685
24: 7(fvec4) ConstantComposite 20 21 22 23
25(a1i): 13(ptr) Variable Private
26(b1i): 13(ptr) Variable Private
27: TypePointer Private 6(float)
28(a2): 27(ptr) Variable Private
29: 6(float) Constant 1045220557
30(b3): 27(ptr) Variable Private
31: 6(float) Constant 1050253722
32(b4): 27(ptr) Variable Private
33: 6(float) Constant 1053609165
34(a5): 27(ptr) Variable Private
35(c5): 27(ptr) Variable Private
36: 6(float) Constant 1069547520
37: TypeInt 32 1
38(Single1): TypeStruct 37(int)
39: TypePointer Private 38(Single1)
40(single1): 39(ptr) Variable Private
41: 37(int) Constant 10
42: 38(Single1) ConstantComposite 41
43: TypeInt 32 0
44: TypeVector 43(int) 2
45(Single2): TypeStruct 44(ivec2)
46: TypePointer Private 45(Single2)
47(single2): 46(ptr) Variable Private
48: 43(int) Constant 1
49: 43(int) Constant 2
50: 44(ivec2) ConstantComposite 48 49
51: 45(Single2) ConstantComposite 50
52(Single3): TypeStruct 38(Single1)
53: TypePointer Private 52(Single3)
54(single3): 53(ptr) Variable Private
55: 37(int) Constant 3
56: 38(Single1) ConstantComposite 55
57: 52(Single3) ConstantComposite 56
58(Single4): TypeStruct 45(Single2)
59: TypePointer Private 58(Single4)
60(single4): 59(ptr) Variable Private
61: 43(int) Constant 4
62: 43(int) Constant 5
63: 44(ivec2) ConstantComposite 61 62
64: 45(Single2) ConstantComposite 63
65: 58(Single4) ConstantComposite 64
67: 7(fvec4) ConstantComposite 29 31 33 16
68(S1): TypeStruct 6(float) 37(int)
69(S2): TypeStruct 37(int) 6(float) 68(S1)
70: TypePointer Function 69(S2)
72: 37(int) Constant 9
74(a3): 27(ptr) Variable Private
75(a4): 27(ptr) Variable Private
77: 37(int) Constant 12
85: TypePointer Function 6(float)
87(b2): 27(ptr) Variable Private
97: TypePointer Input 7(fvec4)
98(input): 97(ptr) Variable Input
100: TypePointer Output 7(fvec4)
101(@entryPointOutput): 100(ptr) Variable Output
105(c4): 27(ptr) Variable Private
106(b5): 27(ptr) Variable Private
107(Constants): TypeStruct 6(float) 6(float) 6(float)
108: TypePointer Uniform 107(Constants)
109: 108(ptr) Variable Uniform
4(ShaderFunction): 2 Function None 3
5: Label
62(a2): 61(ptr) Variable Function
67(s2i): 66(ptr) Variable Function
76(s2): 66(ptr) Variable Function
82(a8): 81(ptr) Variable Function
85(a9): 81(ptr) Variable Function
Store 9(a1) 13
Store 14(b1) 19
Store 20(a1i) 13
Store 21(b1i) 19
Store 23(a2) 24
Store 25(b3) 26
Store 27(b4) 28
Store 29(a5) 11
Store 30(c5) 31
Store 35(single1) 37
Store 42(single2) 46
Store 49(single3) 52
Store 55(single4) 60
Store 62(a2) 63
69: 6(float) Load 29(a5)
72: 6(float) Load 71(a4)
74: 64(S1) CompositeConstruct 72 73
75: 65(S2) CompositeConstruct 68 69 74
Store 67(s2i) 75
77: 6(float) Load 29(a5)
78: 6(float) Load 71(a4)
79: 64(S1) CompositeConstruct 78 73
80: 65(S2) CompositeConstruct 68 77 79
Store 76(s2) 80
84: 6(float) Load 83(b2)
Store 82(a8) 84
86: 6(float) Load 29(a5)
Store 85(a9) 86
91: 7(fvec4) Load 90(input)
92: 7(fvec4) Load 9(a1)
93: 7(fvec4) FMul 91 92
Store 88(@entryPointOutput) 93
96(input): 8(ptr) Variable Function
102(param): 8(ptr) Variable Function
Store 14(a1) 18
Store 19(b1) 24
Store 25(a1i) 18
Store 26(b1i) 24
Store 28(a2) 29
Store 30(b3) 31
Store 32(b4) 33
Store 34(a5) 16
Store 35(c5) 36
Store 40(single1) 42
Store 47(single2) 51
Store 54(single3) 57
Store 60(single4) 65
99: 7(fvec4) Load 98(input)
Store 96(input) 99
103: 7(fvec4) Load 96(input)
Store 102(param) 103
104: 7(fvec4) FunctionCall 11(@ShaderFunction(vf4;) 102(param)
Store 101(@entryPointOutput) 104
Return
FunctionEnd
11(@ShaderFunction(vf4;): 7(fvec4) Function None 9
10(input): 8(ptr) FunctionParameter
12: Label
66(a2): 8(ptr) Variable Function
71(s2i): 70(ptr) Variable Function
80(s2): 70(ptr) Variable Function
86(a8): 85(ptr) Variable Function
89(a9): 85(ptr) Variable Function
Store 66(a2) 67
73: 6(float) Load 34(a5)
76: 6(float) Load 75(a4)
78: 68(S1) CompositeConstruct 76 77
79: 69(S2) CompositeConstruct 72 73 78
Store 71(s2i) 79
81: 6(float) Load 34(a5)
82: 6(float) Load 75(a4)
83: 68(S1) CompositeConstruct 82 77
84: 69(S2) CompositeConstruct 72 81 83
Store 80(s2) 84
88: 6(float) Load 87(b2)
Store 86(a8) 88
90: 6(float) Load 34(a5)
Store 89(a9) 90
91: 7(fvec4) Load 10(input)
92: 7(fvec4) Load 14(a1)
93: 7(fvec4) FMul 91 92
ReturnValue 93
FunctionEnd

View File

@ -147,7 +147,7 @@ gl_FragCoord origin is upper left
0:39 'n' (temp float)
0:39 Constant:
0:39 1.000000
0:45 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:45 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:45 Function Parameters:
0:? Sequence
0:46 Function Call: Test1( (temp void)
@ -161,15 +161,18 @@ gl_FragCoord origin is upper left
0:49 1.000000
0:49 1.000000
0:49 1.000000
0:50 Sequence
0:50 Sequence
0:50 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:50 color: direct index for structure (temp 4-component vector of float)
0:50 'ps_output' (temp structure{temp 4-component vector of float color})
0:50 Constant:
0:50 0 (const int)
0:50 Branch: Return
0:50 Branch: Return with expression
0:50 'ps_output' (temp structure{temp 4-component vector of float color})
0:45 Function Definition: main( (temp void)
0:45 Function Parameters:
0:? Sequence
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:45 color: direct index for structure (temp 4-component vector of float)
0:45 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:45 Constant:
0:45 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
@ -325,7 +328,7 @@ gl_FragCoord origin is upper left
0:39 'n' (temp float)
0:39 Constant:
0:39 1.000000
0:45 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:45 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:45 Function Parameters:
0:? Sequence
0:46 Function Call: Test1( (temp void)
@ -339,179 +342,189 @@ gl_FragCoord origin is upper left
0:49 1.000000
0:49 1.000000
0:49 1.000000
0:50 Sequence
0:50 Sequence
0:50 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:50 color: direct index for structure (temp 4-component vector of float)
0:50 'ps_output' (temp structure{temp 4-component vector of float color})
0:50 Constant:
0:50 0 (const int)
0:50 Branch: Return
0:50 Branch: Return with expression
0:50 'ps_output' (temp structure{temp 4-component vector of float color})
0:45 Function Definition: main( (temp void)
0:45 Function Parameters:
0:? Sequence
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:45 color: direct index for structure (temp 4-component vector of float)
0:45 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:45 Constant:
0:45 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 107
// Id's are bound by 112
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 103
EntryPoint Fragment 4 "main" 109
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 6 "Test1("
Name 10 "mystruct"
MemberName 10(mystruct) 0 "a"
Name 12 "test1"
Name 17 "test2"
Name 23 "test4"
Name 25 "mystruct2"
MemberName 25(mystruct2) 0 "a"
MemberName 25(mystruct2) 1 "b"
MemberName 25(mystruct2) 2 "c"
Name 27 "test5"
Name 32 "n"
Name 39 "a"
Name 75 "one"
MemberName 75(one) 0 "a"
Name 77 "oneNonConst"
Name 82 "two"
MemberName 82(two) 0 "a"
MemberName 82(two) 1 "b"
Name 84 "twoNonConst"
Name 94 "PS_OUTPUT"
MemberName 94(PS_OUTPUT) 0 "color"
Name 96 "ps_output"
Name 103 "color"
Decorate 103(color) Location 0
Name 10 "PS_OUTPUT"
MemberName 10(PS_OUTPUT) 0 "color"
Name 12 "@main("
Name 15 "mystruct"
MemberName 15(mystruct) 0 "a"
Name 17 "test1"
Name 22 "test2"
Name 28 "test4"
Name 30 "mystruct2"
MemberName 30(mystruct2) 0 "a"
MemberName 30(mystruct2) 1 "b"
MemberName 30(mystruct2) 2 "c"
Name 32 "test5"
Name 37 "n"
Name 44 "a"
Name 80 "one"
MemberName 80(one) 0 "a"
Name 82 "oneNonConst"
Name 87 "two"
MemberName 87(two) 0 "a"
MemberName 87(two) 1 "b"
Name 89 "twoNonConst"
Name 99 "ps_output"
Name 109 "color"
Decorate 109(color) Location 0
2: TypeVoid
3: TypeFunction 2
8: TypeFloat 32
9: TypeVector 8(float) 2
10(mystruct): TypeStruct 9(fvec2)
11: TypePointer Function 10(mystruct)
13: 8(float) Constant 1065353216
14: 8(float) Constant 1073741824
15: 9(fvec2) ConstantComposite 13 14
16:10(mystruct) ConstantComposite 15
18: 8(float) Constant 1077936128
19: 8(float) Constant 1082130432
20: 9(fvec2) ConstantComposite 18 19
21:10(mystruct) ConstantComposite 20
22: TypePointer Function 8(float)
24: 8(float) Constant 1088421888
25(mystruct2): TypeStruct 8(float) 8(float) 8(float)
26: TypePointer Function 25(mystruct2)
28: 8(float) Constant 1090519040
29: 8(float) Constant 1091567616
30: 8(float) Constant 1092616192
31:25(mystruct2) ConstantComposite 28 29 30
33: 8(float) Constant 0
34: TypeVector 8(float) 3
35: TypeInt 32 0
36: 35(int) Constant 8
37: TypeArray 34(fvec3) 36
38: TypePointer Function 37
40: 8(float) Constant 1058262330
41: 34(fvec3) ConstantComposite 40 40 40
45: 8(float) Constant 3205745978
46: 34(fvec3) ConstantComposite 45 45 45
50: 34(fvec3) ConstantComposite 45 45 40
54: 34(fvec3) ConstantComposite 45 40 45
58: 34(fvec3) ConstantComposite 45 40 40
62: 34(fvec3) ConstantComposite 40 45 45
66: 34(fvec3) ConstantComposite 40 45 40
70: 34(fvec3) ConstantComposite 40 40 45
75(one): TypeStruct 34(fvec3)
76: TypePointer Function 75(one)
82(two): TypeStruct 34(fvec3) 34(fvec3)
83: TypePointer Function 82(two)
93: TypeVector 8(float) 4
94(PS_OUTPUT): TypeStruct 93(fvec4)
95: TypePointer Function 94(PS_OUTPUT)
97: TypeInt 32 1
98: 97(int) Constant 0
99: 93(fvec4) ConstantComposite 13 13 13 13
100: TypePointer Function 93(fvec4)
102: TypePointer Output 93(fvec4)
103(color): 102(ptr) Variable Output
9: TypeVector 8(float) 4
10(PS_OUTPUT): TypeStruct 9(fvec4)
11: TypeFunction 10(PS_OUTPUT)
14: TypeVector 8(float) 2
15(mystruct): TypeStruct 14(fvec2)
16: TypePointer Function 15(mystruct)
18: 8(float) Constant 1065353216
19: 8(float) Constant 1073741824
20: 14(fvec2) ConstantComposite 18 19
21:15(mystruct) ConstantComposite 20
23: 8(float) Constant 1077936128
24: 8(float) Constant 1082130432
25: 14(fvec2) ConstantComposite 23 24
26:15(mystruct) ConstantComposite 25
27: TypePointer Function 8(float)
29: 8(float) Constant 1088421888
30(mystruct2): TypeStruct 8(float) 8(float) 8(float)
31: TypePointer Function 30(mystruct2)
33: 8(float) Constant 1090519040
34: 8(float) Constant 1091567616
35: 8(float) Constant 1092616192
36:30(mystruct2) ConstantComposite 33 34 35
38: 8(float) Constant 0
39: TypeVector 8(float) 3
40: TypeInt 32 0
41: 40(int) Constant 8
42: TypeArray 39(fvec3) 41
43: TypePointer Function 42
45: 8(float) Constant 1058262330
46: 39(fvec3) ConstantComposite 45 45 45
50: 8(float) Constant 3205745978
51: 39(fvec3) ConstantComposite 50 50 50
55: 39(fvec3) ConstantComposite 50 50 45
59: 39(fvec3) ConstantComposite 50 45 50
63: 39(fvec3) ConstantComposite 50 45 45
67: 39(fvec3) ConstantComposite 45 50 50
71: 39(fvec3) ConstantComposite 45 50 45
75: 39(fvec3) ConstantComposite 45 45 50
80(one): TypeStruct 39(fvec3)
81: TypePointer Function 80(one)
87(two): TypeStruct 39(fvec3) 39(fvec3)
88: TypePointer Function 87(two)
98: TypePointer Function 10(PS_OUTPUT)
100: TypeInt 32 1
101: 100(int) Constant 0
102: 9(fvec4) ConstantComposite 18 18 18 18
103: TypePointer Function 9(fvec4)
108: TypePointer Output 9(fvec4)
109(color): 108(ptr) Variable Output
4(main): 2 Function None 3
5: Label
96(ps_output): 95(ptr) Variable Function
92: 2 FunctionCall 6(Test1()
101: 100(ptr) AccessChain 96(ps_output) 98
Store 101 99
104: 100(ptr) AccessChain 96(ps_output) 98
105: 93(fvec4) Load 104
Store 103(color) 105
110:10(PS_OUTPUT) FunctionCall 12(@main()
111: 9(fvec4) CompositeExtract 110 0
Store 109(color) 111
Return
FunctionEnd
6(Test1(): 2 Function None 3
7: Label
12(test1): 11(ptr) Variable Function
17(test2): 11(ptr) Variable Function
23(test4): 22(ptr) Variable Function
27(test5): 26(ptr) Variable Function
32(n): 22(ptr) Variable Function
39(a): 38(ptr) Variable Function
77(oneNonConst): 76(ptr) Variable Function
84(twoNonConst): 83(ptr) Variable Function
Store 12(test1) 16
Store 17(test2) 21
Store 23(test4) 24
Store 27(test5) 31
Store 32(n) 33
42: 8(float) Load 32(n)
43: 8(float) FAdd 42 13
Store 32(n) 43
44: 34(fvec3) VectorTimesScalar 41 43
47: 8(float) Load 32(n)
48: 8(float) FAdd 47 13
Store 32(n) 48
49: 34(fvec3) VectorTimesScalar 46 48
51: 8(float) Load 32(n)
52: 8(float) FAdd 51 13
Store 32(n) 52
53: 34(fvec3) VectorTimesScalar 50 52
55: 8(float) Load 32(n)
56: 8(float) FAdd 55 13
Store 32(n) 56
57: 34(fvec3) VectorTimesScalar 54 56
59: 8(float) Load 32(n)
60: 8(float) FAdd 59 13
Store 32(n) 60
61: 34(fvec3) VectorTimesScalar 58 60
63: 8(float) Load 32(n)
64: 8(float) FAdd 63 13
Store 32(n) 64
65: 34(fvec3) VectorTimesScalar 62 64
67: 8(float) Load 32(n)
68: 8(float) FAdd 67 13
Store 32(n) 68
69: 34(fvec3) VectorTimesScalar 66 68
71: 8(float) Load 32(n)
72: 8(float) FAdd 71 13
Store 32(n) 72
73: 34(fvec3) VectorTimesScalar 70 72
74: 37 CompositeConstruct 44 49 53 57 61 65 69 73
Store 39(a) 74
78: 8(float) Load 32(n)
79: 8(float) FAdd 78 13
Store 32(n) 79
80: 34(fvec3) VectorTimesScalar 58 79
81: 75(one) CompositeConstruct 80
Store 77(oneNonConst) 81
85: 8(float) Load 32(n)
86: 8(float) FAdd 85 13
Store 32(n) 86
87: 34(fvec3) VectorTimesScalar 58 86
88: 8(float) Load 32(n)
89: 8(float) FAdd 88 13
Store 32(n) 89
90: 34(fvec3) VectorTimesScalar 58 89
91: 82(two) CompositeConstruct 87 90
Store 84(twoNonConst) 91
17(test1): 16(ptr) Variable Function
22(test2): 16(ptr) Variable Function
28(test4): 27(ptr) Variable Function
32(test5): 31(ptr) Variable Function
37(n): 27(ptr) Variable Function
44(a): 43(ptr) Variable Function
82(oneNonConst): 81(ptr) Variable Function
89(twoNonConst): 88(ptr) Variable Function
Store 17(test1) 21
Store 22(test2) 26
Store 28(test4) 29
Store 32(test5) 36
Store 37(n) 38
47: 8(float) Load 37(n)
48: 8(float) FAdd 47 18
Store 37(n) 48
49: 39(fvec3) VectorTimesScalar 46 48
52: 8(float) Load 37(n)
53: 8(float) FAdd 52 18
Store 37(n) 53
54: 39(fvec3) VectorTimesScalar 51 53
56: 8(float) Load 37(n)
57: 8(float) FAdd 56 18
Store 37(n) 57
58: 39(fvec3) VectorTimesScalar 55 57
60: 8(float) Load 37(n)
61: 8(float) FAdd 60 18
Store 37(n) 61
62: 39(fvec3) VectorTimesScalar 59 61
64: 8(float) Load 37(n)
65: 8(float) FAdd 64 18
Store 37(n) 65
66: 39(fvec3) VectorTimesScalar 63 65
68: 8(float) Load 37(n)
69: 8(float) FAdd 68 18
Store 37(n) 69
70: 39(fvec3) VectorTimesScalar 67 69
72: 8(float) Load 37(n)
73: 8(float) FAdd 72 18
Store 37(n) 73
74: 39(fvec3) VectorTimesScalar 71 73
76: 8(float) Load 37(n)
77: 8(float) FAdd 76 18
Store 37(n) 77
78: 39(fvec3) VectorTimesScalar 75 77
79: 42 CompositeConstruct 49 54 58 62 66 70 74 78
Store 44(a) 79
83: 8(float) Load 37(n)
84: 8(float) FAdd 83 18
Store 37(n) 84
85: 39(fvec3) VectorTimesScalar 63 84
86: 80(one) CompositeConstruct 85
Store 82(oneNonConst) 86
90: 8(float) Load 37(n)
91: 8(float) FAdd 90 18
Store 37(n) 91
92: 39(fvec3) VectorTimesScalar 63 91
93: 8(float) Load 37(n)
94: 8(float) FAdd 93 18
Store 37(n) 94
95: 39(fvec3) VectorTimesScalar 63 94
96: 87(two) CompositeConstruct 92 95
Store 89(twoNonConst) 96
Return
FunctionEnd
12(@main():10(PS_OUTPUT) Function None 11
13: Label
99(ps_output): 98(ptr) Variable Function
97: 2 FunctionCall 6(Test1()
104: 103(ptr) AccessChain 99(ps_output) 101
Store 104 102
105:10(PS_OUTPUT) Load 99(ps_output)
ReturnValue 105
FunctionEnd

View File

@ -18,7 +18,7 @@ gl_FragCoord origin is upper left
0:11 'x' (in float)
0:11 Constant:
0:11 -1.000000
0:15 Function Definition: main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Function Definition: @main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Function Parameters:
0:15 'inpos' (noperspective in 4-component vector of float FragCoord)
0:15 'sampleMask' (out int SampleMaskIn)
@ -56,21 +56,35 @@ gl_FragCoord origin is upper left
0:22 'inpos' (noperspective in 4-component vector of float FragCoord)
0:22 Constant:
0:22 3 (const int)
0:24 Sequence
0:24 Sequence
0:24 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:24 Color: direct index for structure (temp 4-component vector of float)
0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:24 Depth: direct index for structure (temp float)
0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 1 (const int)
0:24 Branch: Return
0:24 Branch: Return with expression
0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Function Definition: main( (temp void)
0:15 Function Parameters:
0:? Sequence
0:15 move second child to first child (temp 4-component vector of float)
0:? 'inpos' (temp 4-component vector of float)
0:? 'inpos' (noperspective in 4-component vector of float FragCoord)
0:15 Sequence
0:15 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Function Call: @main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'inpos' (temp 4-component vector of float)
0:? 'sampleMask' (temp int)
0:15 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:15 Color: direct index for structure (temp 4-component vector of float)
0:15 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Constant:
0:15 0 (const int)
0:15 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:15 Depth: direct index for structure (temp float)
0:15 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Constant:
0:15 1 (const int)
0:15 move second child to first child (temp int)
0:? 'sampleMask' (out int SampleMaskIn)
0:? 'sampleMask' (temp int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
@ -100,7 +114,7 @@ gl_FragCoord origin is upper left
0:11 'x' (in float)
0:11 Constant:
0:11 -1.000000
0:15 Function Definition: main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Function Definition: @main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Function Parameters:
0:15 'inpos' (noperspective in 4-component vector of float FragCoord)
0:15 'sampleMask' (out int SampleMaskIn)
@ -138,21 +152,35 @@ gl_FragCoord origin is upper left
0:22 'inpos' (noperspective in 4-component vector of float FragCoord)
0:22 Constant:
0:22 3 (const int)
0:24 Sequence
0:24 Sequence
0:24 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:24 Color: direct index for structure (temp 4-component vector of float)
0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:24 Depth: direct index for structure (temp float)
0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 1 (const int)
0:24 Branch: Return
0:24 Branch: Return with expression
0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Function Definition: main( (temp void)
0:15 Function Parameters:
0:? Sequence
0:15 move second child to first child (temp 4-component vector of float)
0:? 'inpos' (temp 4-component vector of float)
0:? 'inpos' (noperspective in 4-component vector of float FragCoord)
0:15 Sequence
0:15 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Function Call: @main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'inpos' (temp 4-component vector of float)
0:? 'sampleMask' (temp int)
0:15 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:15 Color: direct index for structure (temp 4-component vector of float)
0:15 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Constant:
0:15 0 (const int)
0:15 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:15 Depth: direct index for structure (temp float)
0:15 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:15 Constant:
0:15 1 (const int)
0:15 move second child to first child (temp int)
0:? 'sampleMask' (out int SampleMaskIn)
0:? 'sampleMask' (temp int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
@ -161,101 +189,97 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 63
// Id's are bound by 80
Capability Shader
Capability SampleRateShading
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 45 53 57 62
EntryPoint Fragment 4 "main" 60 70 74 78
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 12 "MyFunc(f1;f1;f1;"
Name 9 "x"
Name 10 "y"
Name 11 "z"
Name 17 "x"
Name 19 "z"
Name 21 "y"
Name 22 "param"
Name 24 "param"
Name 25 "param"
Name 31 "PS_OUTPUT"
MemberName 31(PS_OUTPUT) 0 "Color"
MemberName 31(PS_OUTPUT) 1 "Depth"
Name 33 "psout"
Name 45 "inpos"
Name 53 "Color"
Name 57 "Depth"
Name 62 "sampleMask"
Decorate 45(inpos) NoPerspective
Decorate 45(inpos) BuiltIn FragCoord
Decorate 53(Color) Location 0
Decorate 57(Depth) BuiltIn FragDepth
Decorate 62(sampleMask) BuiltIn SampleMask
Name 18 "PS_OUTPUT"
MemberName 18(PS_OUTPUT) 0 "Color"
MemberName 18(PS_OUTPUT) 1 "Depth"
Name 22 "@main(vf4;i1;"
Name 20 "inpos"
Name 21 "sampleMask"
Name 27 "x"
Name 29 "z"
Name 31 "y"
Name 32 "param"
Name 34 "param"
Name 35 "param"
Name 41 "psout"
Name 58 "inpos"
Name 60 "inpos"
Name 62 "flattenTemp"
Name 63 "sampleMask"
Name 64 "param"
Name 66 "param"
Name 70 "Color"
Name 74 "Depth"
Name 78 "sampleMask"
Decorate 60(inpos) NoPerspective
Decorate 60(inpos) BuiltIn FragCoord
Decorate 70(Color) Location 0
Decorate 74(Depth) BuiltIn FragDepth
Decorate 78(sampleMask) BuiltIn SampleMask
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
8: TypeFunction 2 7(ptr) 7(ptr) 7(ptr)
16: 6(float) Constant 3212836864
18: 6(float) Constant 1088421888
20: 6(float) Constant 1077936128
30: TypeVector 6(float) 4
31(PS_OUTPUT): TypeStruct 30(fvec4) 6(float)
32: TypePointer Function 31(PS_OUTPUT)
34: TypeInt 32 1
35: 34(int) Constant 0
39: 6(float) Constant 1065353216
41: TypePointer Function 30(fvec4)
43: 34(int) Constant 1
44: TypePointer Input 30(fvec4)
45(inpos): 44(ptr) Variable Input
46: TypeInt 32 0
47: 46(int) Constant 3
48: TypePointer Input 6(float)
52: TypePointer Output 30(fvec4)
53(Color): 52(ptr) Variable Output
56: TypePointer Output 6(float)
57(Depth): 56(ptr) Variable Output
61: TypePointer Output 34(int)
62(sampleMask): 61(ptr) Variable Output
14: TypeVector 6(float) 4
15: TypePointer Function 14(fvec4)
16: TypeInt 32 1
17: TypePointer Function 16(int)
18(PS_OUTPUT): TypeStruct 14(fvec4) 6(float)
19: TypeFunction 18(PS_OUTPUT) 15(ptr) 17(ptr)
26: 6(float) Constant 3212836864
28: 6(float) Constant 1088421888
30: 6(float) Constant 1077936128
40: TypePointer Function 18(PS_OUTPUT)
42: 16(int) Constant 0
46: 6(float) Constant 1065353216
49: 16(int) Constant 1
50: TypeInt 32 0
51: 50(int) Constant 3
59: TypePointer Input 14(fvec4)
60(inpos): 59(ptr) Variable Input
69: TypePointer Output 14(fvec4)
70(Color): 69(ptr) Variable Output
73: TypePointer Output 6(float)
74(Depth): 73(ptr) Variable Output
77: TypePointer Output 16(int)
78(sampleMask): 77(ptr) Variable Output
4(main): 2 Function None 3
5: Label
17(x): 7(ptr) Variable Function
19(z): 7(ptr) Variable Function
21(y): 7(ptr) Variable Function
22(param): 7(ptr) Variable Function
24(param): 7(ptr) Variable Function
25(param): 7(ptr) Variable Function
33(psout): 32(ptr) Variable Function
Store 17(x) 18
Store 19(z) 20
23: 6(float) Load 17(x)
Store 22(param) 23
26: 6(float) Load 19(z)
Store 25(param) 26
27: 2 FunctionCall 12(MyFunc(f1;f1;f1;) 22(param) 24(param) 25(param)
28: 6(float) Load 24(param)
Store 21(y) 28
29: 6(float) Load 25(param)
Store 19(z) 29
36: 6(float) Load 17(x)
37: 6(float) Load 21(y)
38: 6(float) Load 19(z)
40: 30(fvec4) CompositeConstruct 36 37 38 39
42: 41(ptr) AccessChain 33(psout) 35
Store 42 40
49: 48(ptr) AccessChain 45(inpos) 47
50: 6(float) Load 49
51: 7(ptr) AccessChain 33(psout) 43
Store 51 50
54: 41(ptr) AccessChain 33(psout) 35
55: 30(fvec4) Load 54
Store 53(Color) 55
58: 7(ptr) AccessChain 33(psout) 43
59: 6(float) Load 58
Store 57(Depth) 59
58(inpos): 15(ptr) Variable Function
62(flattenTemp): 40(ptr) Variable Function
63(sampleMask): 17(ptr) Variable Function
64(param): 15(ptr) Variable Function
66(param): 17(ptr) Variable Function
61: 14(fvec4) Load 60(inpos)
Store 58(inpos) 61
65: 14(fvec4) Load 58(inpos)
Store 64(param) 65
67:18(PS_OUTPUT) FunctionCall 22(@main(vf4;i1;) 64(param) 66(param)
68: 16(int) Load 66(param)
Store 63(sampleMask) 68
Store 62(flattenTemp) 67
71: 15(ptr) AccessChain 62(flattenTemp) 42
72: 14(fvec4) Load 71
Store 70(Color) 72
75: 7(ptr) AccessChain 62(flattenTemp) 49
76: 6(float) Load 75
Store 74(Depth) 76
79: 16(int) Load 63(sampleMask)
Store 78(sampleMask) 79
Return
FunctionEnd
12(MyFunc(f1;f1;f1;): 2 Function None 8
@ -263,10 +287,45 @@ gl_FragCoord origin is upper left
10(y): 7(ptr) FunctionParameter
11(z): 7(ptr) FunctionParameter
13: Label
14: 6(float) Load 9(x)
Store 10(y) 14
15: 6(float) Load 10(y)
Store 11(z) 15
Store 9(x) 16
24: 6(float) Load 9(x)
Store 10(y) 24
25: 6(float) Load 10(y)
Store 11(z) 25
Store 9(x) 26
Return
FunctionEnd
22(@main(vf4;i1;):18(PS_OUTPUT) Function None 19
20(inpos): 15(ptr) FunctionParameter
21(sampleMask): 17(ptr) FunctionParameter
23: Label
27(x): 7(ptr) Variable Function
29(z): 7(ptr) Variable Function
31(y): 7(ptr) Variable Function
32(param): 7(ptr) Variable Function
34(param): 7(ptr) Variable Function
35(param): 7(ptr) Variable Function
41(psout): 40(ptr) Variable Function
Store 27(x) 28
Store 29(z) 30
33: 6(float) Load 27(x)
Store 32(param) 33
36: 6(float) Load 29(z)
Store 35(param) 36
37: 2 FunctionCall 12(MyFunc(f1;f1;f1;) 32(param) 34(param) 35(param)
38: 6(float) Load 34(param)
Store 31(y) 38
39: 6(float) Load 35(param)
Store 29(z) 39
43: 6(float) Load 27(x)
44: 6(float) Load 31(y)
45: 6(float) Load 29(z)
47: 14(fvec4) CompositeConstruct 43 44 45 46
48: 15(ptr) AccessChain 41(psout) 42
Store 48 47
52: 7(ptr) AccessChain 20(inpos) 51
53: 6(float) Load 52
54: 7(ptr) AccessChain 41(psout) 49
Store 54 53
55:18(PS_OUTPUT) Load 41(psout)
ReturnValue 55
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.intrinsics.barriers.comp
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
0:3 Function Definition: ComputeShaderFunction( (temp float)
0:3 Function Definition: @ComputeShaderFunction( (temp float)
0:3 Function Parameters:
0:? Sequence
0:4 MemoryBarrier (temp void)
@ -11,12 +11,15 @@ local_size = (1, 1, 1)
0:7 GroupMemoryBarrierWithGroupSync (temp void)
0:8 WorkgroupMemoryBarrier (temp void)
0:9 WorkgroupMemoryBarrierWithGroupSync (temp void)
0:11 Sequence
0:11 move second child to first child (temp float)
0:? '@entryPointOutput' (layout(location=0 ) out float)
0:11 Constant:
0:11 0.000000
0:11 Branch: Return
0:11 Branch: Return with expression
0:11 Constant:
0:11 0.000000
0:3 Function Definition: ComputeShaderFunction( (temp void)
0:3 Function Parameters:
0:? Sequence
0:3 move second child to first child (temp float)
0:? '@entryPointOutput' (layout(location=0 ) out float)
0:3 Function Call: @ComputeShaderFunction( (temp float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out float)
@ -27,7 +30,7 @@ Linked compute stage:
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
0:3 Function Definition: ComputeShaderFunction( (temp float)
0:3 Function Definition: @ComputeShaderFunction( (temp float)
0:3 Function Parameters:
0:? Sequence
0:4 MemoryBarrier (temp void)
@ -36,47 +39,57 @@ local_size = (1, 1, 1)
0:7 GroupMemoryBarrierWithGroupSync (temp void)
0:8 WorkgroupMemoryBarrier (temp void)
0:9 WorkgroupMemoryBarrierWithGroupSync (temp void)
0:11 Sequence
0:11 move second child to first child (temp float)
0:? '@entryPointOutput' (layout(location=0 ) out float)
0:11 Constant:
0:11 0.000000
0:11 Branch: Return
0:11 Branch: Return with expression
0:11 Constant:
0:11 0.000000
0:3 Function Definition: ComputeShaderFunction( (temp void)
0:3 Function Parameters:
0:? Sequence
0:3 move second child to first child (temp float)
0:? '@entryPointOutput' (layout(location=0 ) out float)
0:3 Function Call: @ComputeShaderFunction( (temp float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 17
// Id's are bound by 22
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "ComputeShaderFunction" 14
EntryPoint GLCompute 4 "ComputeShaderFunction" 20
ExecutionMode 4 LocalSize 1 1 1
Name 4 "ComputeShaderFunction"
Name 14 "@entryPointOutput"
Decorate 14(@entryPointOutput) Location 0
Name 8 "@ComputeShaderFunction("
Name 20 "@entryPointOutput"
Decorate 20(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: 6(int) Constant 1
8: 6(int) Constant 4048
9: 6(int) Constant 512
10: 6(int) Constant 2
11: 6(int) Constant 256
12: TypeFloat 32
13: TypePointer Output 12(float)
14(@entryPointOutput): 13(ptr) Variable Output
15: 12(float) Constant 0
6: TypeFloat 32
7: TypeFunction 6(float)
10: TypeInt 32 0
11: 10(int) Constant 1
12: 10(int) Constant 4048
13: 10(int) Constant 512
14: 10(int) Constant 2
15: 10(int) Constant 256
16: 6(float) Constant 0
19: TypePointer Output 6(float)
20(@entryPointOutput): 19(ptr) Variable Output
4(ComputeShaderFunction): 2 Function None 3
5: Label
MemoryBarrier 7 8
ControlBarrier 7 7 8
MemoryBarrier 7 9
ControlBarrier 7 7 9
MemoryBarrier 10 11
ControlBarrier 10 10 11
Store 14(@entryPointOutput) 15
21: 6(float) FunctionCall 8(@ComputeShaderFunction()
Store 20(@entryPointOutput) 21
Return
FunctionEnd
8(@ComputeShaderFunction(): 6(float) Function None 7
9: Label
MemoryBarrier 11 12
ControlBarrier 11 11 12
MemoryBarrier 11 13
ControlBarrier 11 11 13
MemoryBarrier 14 15
ControlBarrier 14 14 15
ReturnValue 16
FunctionEnd

View File

@ -230,16 +230,16 @@ local_size = (1, 1, 1)
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:105 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
0:105 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
0:105 Function Parameters:
0:105 'inF0' (layout(location=0 ) in 4-component vector of float)
0:105 'inF1' (layout(location=1 ) in 4-component vector of float)
0:105 'inF2' (layout(location=2 ) in 4-component vector of float)
0:105 'inU0' (layout(location=3 ) in 4-component vector of uint)
0:105 'inU1' (layout(location=4 ) in 4-component vector of uint)
0:105 'inF0' (in 4-component vector of float)
0:105 'inF1' (in 4-component vector of float)
0:105 'inF2' (in 4-component vector of float)
0:105 'inU0' (in 4-component vector of uint)
0:105 'inU1' (in 4-component vector of uint)
0:? Sequence
0:109 all (temp bool)
0:109 'inF0' (layout(location=0 ) in 4-component vector of float)
0:109 'inF0' (in 4-component vector of float)
0:112 AtomicAdd (temp void)
0:112 'gs_ua4' (shared 4-component vector of uint)
0:112 'gs_ub4' (shared 4-component vector of uint)
@ -299,22 +299,39 @@ local_size = (1, 1, 1)
0:125 AtomicXor (temp 4-component vector of uint)
0:125 'gs_ua4' (shared 4-component vector of uint)
0:125 'gs_ub4' (shared 4-component vector of uint)
0:128 Sequence
0:128 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:128 Branch: Return
0:128 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:105 Function Definition: ComputeShaderFunction( (temp void)
0:105 Function Parameters:
0:? Sequence
0:105 move second child to first child (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:105 move second child to first child (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:105 move second child to first child (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:105 move second child to first child (temp 4-component vector of uint)
0:? 'inU0' (temp 4-component vector of uint)
0:? 'inU0' (layout(location=3 ) in 4-component vector of uint)
0:105 move second child to first child (temp 4-component vector of uint)
0:? 'inU1' (temp 4-component vector of uint)
0:? 'inU1' (layout(location=4 ) in 4-component vector of uint)
0:105 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:105 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inU0' (temp 4-component vector of uint)
0:? 'inU1' (temp 4-component vector of uint)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:? 'inU0' (layout(location=3 ) in 4-component vector of uint)
0:? 'inU1' (layout(location=4 ) in 4-component vector of uint)
0:? 'gs_ua' (shared uint)
0:? 'gs_ub' (shared uint)
0:? 'gs_uc' (shared uint)
@ -327,6 +344,12 @@ local_size = (1, 1, 1)
0:? 'gs_ua4' (shared 4-component vector of uint)
0:? 'gs_ub4' (shared 4-component vector of uint)
0:? 'gs_uc4' (shared 4-component vector of uint)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:? 'inU0' (layout(location=3 ) in 4-component vector of uint)
0:? 'inU1' (layout(location=4 ) in 4-component vector of uint)
Linked compute stage:
@ -563,16 +586,16 @@ local_size = (1, 1, 1)
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:105 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
0:105 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
0:105 Function Parameters:
0:105 'inF0' (layout(location=0 ) in 4-component vector of float)
0:105 'inF1' (layout(location=1 ) in 4-component vector of float)
0:105 'inF2' (layout(location=2 ) in 4-component vector of float)
0:105 'inU0' (layout(location=3 ) in 4-component vector of uint)
0:105 'inU1' (layout(location=4 ) in 4-component vector of uint)
0:105 'inF0' (in 4-component vector of float)
0:105 'inF1' (in 4-component vector of float)
0:105 'inF2' (in 4-component vector of float)
0:105 'inU0' (in 4-component vector of uint)
0:105 'inU1' (in 4-component vector of uint)
0:? Sequence
0:109 all (temp bool)
0:109 'inF0' (layout(location=0 ) in 4-component vector of float)
0:109 'inF0' (in 4-component vector of float)
0:112 AtomicAdd (temp void)
0:112 'gs_ua4' (shared 4-component vector of uint)
0:112 'gs_ub4' (shared 4-component vector of uint)
@ -632,22 +655,39 @@ local_size = (1, 1, 1)
0:125 AtomicXor (temp 4-component vector of uint)
0:125 'gs_ua4' (shared 4-component vector of uint)
0:125 'gs_ub4' (shared 4-component vector of uint)
0:128 Sequence
0:128 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:128 Branch: Return
0:128 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:105 Function Definition: ComputeShaderFunction( (temp void)
0:105 Function Parameters:
0:? Sequence
0:105 move second child to first child (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:105 move second child to first child (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:105 move second child to first child (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:105 move second child to first child (temp 4-component vector of uint)
0:? 'inU0' (temp 4-component vector of uint)
0:? 'inU0' (layout(location=3 ) in 4-component vector of uint)
0:105 move second child to first child (temp 4-component vector of uint)
0:? 'inU1' (temp 4-component vector of uint)
0:? 'inU1' (layout(location=4 ) in 4-component vector of uint)
0:105 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:105 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inU0' (temp 4-component vector of uint)
0:? 'inU1' (temp 4-component vector of uint)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:? 'inU0' (layout(location=3 ) in 4-component vector of uint)
0:? 'inU1' (layout(location=4 ) in 4-component vector of uint)
0:? 'gs_ua' (shared uint)
0:? 'gs_ub' (shared uint)
0:? 'gs_uc' (shared uint)
@ -660,15 +700,21 @@ local_size = (1, 1, 1)
0:? 'gs_ua4' (shared 4-component vector of uint)
0:? 'gs_ub4' (shared 4-component vector of uint)
0:? 'gs_uc4' (shared 4-component vector of uint)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:? 'inU0' (layout(location=3 ) in 4-component vector of uint)
0:? 'inU1' (layout(location=4 ) in 4-component vector of uint)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 224
// Id's are bound by 255
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "ComputeShaderFunction" 175 215 219 220 222 223
EntryPoint GLCompute 4 "ComputeShaderFunction" 227 230 233 237 240 243
ExecutionMode 4 LocalSize 1 1 1
Name 4 "ComputeShaderFunction"
Name 16 "ComputeShaderFunctionS(f1;f1;f1;u1;u1;"
@ -693,34 +739,50 @@ local_size = (1, 1, 1)
Name 43 "inF2"
Name 44 "inU0"
Name 45 "inU1"
Name 52 "gs_ua"
Name 53 "gs_ub"
Name 58 "out_u1"
Name 66 "gs_uc"
Name 95 "gs_ua2"
Name 96 "gs_ub2"
Name 99 "out_u2"
Name 107 "gs_uc2"
Name 136 "gs_ua3"
Name 137 "gs_ub3"
Name 140 "out_u3"
Name 148 "gs_uc3"
Name 175 "inF0"
Name 180 "gs_ua4"
Name 181 "gs_ub4"
Name 185 "out_u4"
Name 193 "gs_uc4"
Name 215 "@entryPointOutput"
Name 219 "inF1"
Name 220 "inF2"
Name 222 "inU0"
Name 223 "inU1"
Decorate 175(inF0) Location 0
Decorate 215(@entryPointOutput) Location 0
Decorate 219(inF1) Location 1
Decorate 220(inF2) Location 2
Decorate 222(inU0) Location 3
Decorate 223(inU1) Location 4
Name 58 "@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;"
Name 53 "inF0"
Name 54 "inF1"
Name 55 "inF2"
Name 56 "inU0"
Name 57 "inU1"
Name 64 "gs_ua"
Name 65 "gs_ub"
Name 70 "out_u1"
Name 78 "gs_uc"
Name 107 "gs_ua2"
Name 108 "gs_ub2"
Name 111 "out_u2"
Name 119 "gs_uc2"
Name 148 "gs_ua3"
Name 149 "gs_ub3"
Name 152 "out_u3"
Name 160 "gs_uc3"
Name 188 "gs_ua4"
Name 189 "gs_ub4"
Name 192 "out_u4"
Name 200 "gs_uc4"
Name 225 "inF0"
Name 227 "inF0"
Name 229 "inF1"
Name 230 "inF1"
Name 232 "inF2"
Name 233 "inF2"
Name 235 "inU0"
Name 237 "inU0"
Name 239 "inU1"
Name 240 "inU1"
Name 243 "@entryPointOutput"
Name 244 "param"
Name 246 "param"
Name 248 "param"
Name 250 "param"
Name 252 "param"
Decorate 227(inF0) Location 0
Decorate 230(inF1) Location 1
Decorate 233(inF2) Location 2
Decorate 237(inU0) Location 3
Decorate 240(inU1) Location 4
Decorate 243(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -739,88 +801,81 @@ local_size = (1, 1, 1)
38: TypeVector 8(int) 3
39: TypePointer Function 38(ivec3)
40: TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr)
49: TypeBool
51: TypePointer Workgroup 8(int)
52(gs_ua): 51(ptr) Variable Workgroup
53(gs_ub): 51(ptr) Variable Workgroup
55: 8(int) Constant 1
56: 8(int) Constant 0
66(gs_uc): 51(ptr) Variable Workgroup
87: 6(float) Constant 0
94: TypePointer Workgroup 26(ivec2)
95(gs_ua2): 94(ptr) Variable Workgroup
96(gs_ub2): 94(ptr) Variable Workgroup
107(gs_uc2): 94(ptr) Variable Workgroup
128: 6(float) Constant 1065353216
129: 6(float) Constant 1073741824
130: 24(fvec2) ConstantComposite 128 129
135: TypePointer Workgroup 38(ivec3)
136(gs_ua3): 135(ptr) Variable Workgroup
137(gs_ub3): 135(ptr) Variable Workgroup
148(gs_uc3): 135(ptr) Variable Workgroup
169: 6(float) Constant 1077936128
170: 36(fvec3) ConstantComposite 128 129 169
173: TypeVector 6(float) 4
174: TypePointer Input 173(fvec4)
175(inF0): 174(ptr) Variable Input
178: TypeVector 8(int) 4
179: TypePointer Workgroup 178(ivec4)
180(gs_ua4): 179(ptr) Variable Workgroup
181(gs_ub4): 179(ptr) Variable Workgroup
184: TypePointer Function 178(ivec4)
193(gs_uc4): 179(ptr) Variable Workgroup
214: TypePointer Output 173(fvec4)
215(@entryPointOutput): 214(ptr) Variable Output
216: 6(float) Constant 1082130432
217: 173(fvec4) ConstantComposite 128 129 169 216
219(inF1): 174(ptr) Variable Input
220(inF2): 174(ptr) Variable Input
221: TypePointer Input 178(ivec4)
222(inU0): 221(ptr) Variable Input
223(inU1): 221(ptr) Variable Input
48: TypeVector 6(float) 4
49: TypePointer Function 48(fvec4)
50: TypeVector 8(int) 4
51: TypePointer Function 50(ivec4)
52: TypeFunction 48(fvec4) 49(ptr) 49(ptr) 49(ptr) 51(ptr) 51(ptr)
61: TypeBool
63: TypePointer Workgroup 8(int)
64(gs_ua): 63(ptr) Variable Workgroup
65(gs_ub): 63(ptr) Variable Workgroup
67: 8(int) Constant 1
68: 8(int) Constant 0
78(gs_uc): 63(ptr) Variable Workgroup
99: 6(float) Constant 0
106: TypePointer Workgroup 26(ivec2)
107(gs_ua2): 106(ptr) Variable Workgroup
108(gs_ub2): 106(ptr) Variable Workgroup
119(gs_uc2): 106(ptr) Variable Workgroup
140: 6(float) Constant 1065353216
141: 6(float) Constant 1073741824
142: 24(fvec2) ConstantComposite 140 141
147: TypePointer Workgroup 38(ivec3)
148(gs_ua3): 147(ptr) Variable Workgroup
149(gs_ub3): 147(ptr) Variable Workgroup
160(gs_uc3): 147(ptr) Variable Workgroup
181: 6(float) Constant 1077936128
182: 36(fvec3) ConstantComposite 140 141 181
187: TypePointer Workgroup 50(ivec4)
188(gs_ua4): 187(ptr) Variable Workgroup
189(gs_ub4): 187(ptr) Variable Workgroup
200(gs_uc4): 187(ptr) Variable Workgroup
221: 6(float) Constant 1082130432
222: 48(fvec4) ConstantComposite 140 141 181 221
226: TypePointer Input 48(fvec4)
227(inF0): 226(ptr) Variable Input
230(inF1): 226(ptr) Variable Input
233(inF2): 226(ptr) Variable Input
236: TypePointer Input 50(ivec4)
237(inU0): 236(ptr) Variable Input
240(inU1): 236(ptr) Variable Input
242: TypePointer Output 48(fvec4)
243(@entryPointOutput): 242(ptr) Variable Output
4(ComputeShaderFunction): 2 Function None 3
5: Label
185(out_u4): 184(ptr) Variable Function
176: 173(fvec4) Load 175(inF0)
177: 49(bool) All 176
182: 178(ivec4) Load 181(gs_ub4)
183: 2 AtomicIAdd 180(gs_ua4) 55 56 182
186: 178(ivec4) Load 181(gs_ub4)
187: 178(ivec4) AtomicIAdd 180(gs_ua4) 55 56 186
Store 185(out_u4) 187
188: 178(ivec4) Load 181(gs_ub4)
189: 2 AtomicAnd 180(gs_ua4) 55 56 188
190: 178(ivec4) Load 181(gs_ub4)
191: 178(ivec4) AtomicAnd 180(gs_ua4) 55 56 190
Store 185(out_u4) 191
192: 178(ivec4) Load 181(gs_ub4)
194: 178(ivec4) Load 193(gs_uc4)
195: 178(ivec4) AtomicCompareExchange 180(gs_ua4) 55 56 56 194 192
Store 185(out_u4) 195
196: 178(ivec4) Load 181(gs_ub4)
197: 178(ivec4) AtomicExchange 180(gs_ua4) 55 56 196
Store 185(out_u4) 197
198: 178(ivec4) Load 181(gs_ub4)
199: 2 AtomicSMax 180(gs_ua4) 55 56 198
200: 178(ivec4) Load 181(gs_ub4)
201: 178(ivec4) AtomicUMax 180(gs_ua4) 55 56 200
Store 185(out_u4) 201
202: 178(ivec4) Load 181(gs_ub4)
203: 2 AtomicSMin 180(gs_ua4) 55 56 202
204: 178(ivec4) Load 181(gs_ub4)
205: 178(ivec4) AtomicUMin 180(gs_ua4) 55 56 204
Store 185(out_u4) 205
206: 178(ivec4) Load 181(gs_ub4)
207: 2 AtomicOr 180(gs_ua4) 55 56 206
208: 178(ivec4) Load 181(gs_ub4)
209: 178(ivec4) AtomicOr 180(gs_ua4) 55 56 208
Store 185(out_u4) 209
210: 178(ivec4) Load 181(gs_ub4)
211: 2 AtomicXor 180(gs_ua4) 55 56 210
212: 178(ivec4) Load 181(gs_ub4)
213: 178(ivec4) AtomicXor 180(gs_ua4) 55 56 212
Store 185(out_u4) 213
Store 215(@entryPointOutput) 217
225(inF0): 49(ptr) Variable Function
229(inF1): 49(ptr) Variable Function
232(inF2): 49(ptr) Variable Function
235(inU0): 51(ptr) Variable Function
239(inU1): 51(ptr) Variable Function
244(param): 49(ptr) Variable Function
246(param): 49(ptr) Variable Function
248(param): 49(ptr) Variable Function
250(param): 51(ptr) Variable Function
252(param): 51(ptr) Variable Function
228: 48(fvec4) Load 227(inF0)
Store 225(inF0) 228
231: 48(fvec4) Load 230(inF1)
Store 229(inF1) 231
234: 48(fvec4) Load 233(inF2)
Store 232(inF2) 234
238: 50(ivec4) Load 237(inU0)
Store 235(inU0) 238
241: 50(ivec4) Load 240(inU1)
Store 239(inU1) 241
245: 48(fvec4) Load 225(inF0)
Store 244(param) 245
247: 48(fvec4) Load 229(inF1)
Store 246(param) 247
249: 48(fvec4) Load 232(inF2)
Store 248(param) 249
251: 50(ivec4) Load 235(inU0)
Store 250(param) 251
253: 50(ivec4) Load 239(inU1)
Store 252(param) 253
254: 48(fvec4) FunctionCall 58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;) 244(param) 246(param) 248(param) 250(param) 252(param)
Store 243(@entryPointOutput) 254
Return
FunctionEnd
16(ComputeShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10
@ -830,54 +885,54 @@ local_size = (1, 1, 1)
14(inU0): 9(ptr) FunctionParameter
15(inU1): 9(ptr) FunctionParameter
17: Label
58(out_u1): 9(ptr) Variable Function
48: 6(float) Load 11(inF0)
50: 49(bool) All 48
54: 8(int) Load 53(gs_ub)
57: 2 AtomicIAdd 52(gs_ua) 55 56 54
59: 8(int) Load 53(gs_ub)
60: 8(int) AtomicIAdd 52(gs_ua) 55 56 59
Store 58(out_u1) 60
61: 8(int) Load 53(gs_ub)
62: 2 AtomicAnd 52(gs_ua) 55 56 61
63: 8(int) Load 53(gs_ub)
64: 8(int) AtomicAnd 52(gs_ua) 55 56 63
Store 58(out_u1) 64
65: 8(int) Load 53(gs_ub)
67: 8(int) Load 66(gs_uc)
68: 8(int) AtomicCompareExchange 52(gs_ua) 55 56 56 67 65
Store 58(out_u1) 68
69: 8(int) Load 53(gs_ub)
70: 8(int) AtomicExchange 52(gs_ua) 55 56 69
Store 58(out_u1) 70
71: 8(int) Load 53(gs_ub)
72: 2 AtomicSMax 52(gs_ua) 55 56 71
73: 8(int) Load 53(gs_ub)
74: 8(int) AtomicUMax 52(gs_ua) 55 56 73
Store 58(out_u1) 74
75: 8(int) Load 53(gs_ub)
76: 2 AtomicSMin 52(gs_ua) 55 56 75
77: 8(int) Load 53(gs_ub)
78: 8(int) AtomicUMin 52(gs_ua) 55 56 77
Store 58(out_u1) 78
79: 8(int) Load 53(gs_ub)
80: 2 AtomicOr 52(gs_ua) 55 56 79
81: 8(int) Load 53(gs_ub)
82: 8(int) AtomicOr 52(gs_ua) 55 56 81
Store 58(out_u1) 82
83: 8(int) Load 53(gs_ub)
84: 2 AtomicXor 52(gs_ua) 55 56 83
85: 8(int) Load 53(gs_ub)
86: 8(int) AtomicXor 52(gs_ua) 55 56 85
Store 58(out_u1) 86
ReturnValue 87
70(out_u1): 9(ptr) Variable Function
60: 6(float) Load 11(inF0)
62: 61(bool) All 60
66: 8(int) Load 65(gs_ub)
69: 2 AtomicIAdd 64(gs_ua) 67 68 66
71: 8(int) Load 65(gs_ub)
72: 8(int) AtomicIAdd 64(gs_ua) 67 68 71
Store 70(out_u1) 72
73: 8(int) Load 65(gs_ub)
74: 2 AtomicAnd 64(gs_ua) 67 68 73
75: 8(int) Load 65(gs_ub)
76: 8(int) AtomicAnd 64(gs_ua) 67 68 75
Store 70(out_u1) 76
77: 8(int) Load 65(gs_ub)
79: 8(int) Load 78(gs_uc)
80: 8(int) AtomicCompareExchange 64(gs_ua) 67 68 68 79 77
Store 70(out_u1) 80
81: 8(int) Load 65(gs_ub)
82: 8(int) AtomicExchange 64(gs_ua) 67 68 81
Store 70(out_u1) 82
83: 8(int) Load 65(gs_ub)
84: 2 AtomicSMax 64(gs_ua) 67 68 83
85: 8(int) Load 65(gs_ub)
86: 8(int) AtomicUMax 64(gs_ua) 67 68 85
Store 70(out_u1) 86
87: 8(int) Load 65(gs_ub)
88: 2 AtomicSMin 64(gs_ua) 67 68 87
89: 8(int) Load 65(gs_ub)
90: 8(int) AtomicUMin 64(gs_ua) 67 68 89
Store 70(out_u1) 90
91: 8(int) Load 65(gs_ub)
92: 2 AtomicOr 64(gs_ua) 67 68 91
93: 8(int) Load 65(gs_ub)
94: 8(int) AtomicOr 64(gs_ua) 67 68 93
Store 70(out_u1) 94
95: 8(int) Load 65(gs_ub)
96: 2 AtomicXor 64(gs_ua) 67 68 95
97: 8(int) Load 65(gs_ub)
98: 8(int) AtomicXor 64(gs_ua) 67 68 97
Store 70(out_u1) 98
ReturnValue 99
FunctionEnd
22(ComputeShaderFunction1(vf1;vf1;vf1;): 6(float) Function None 18
19(inF0): 7(ptr) FunctionParameter
20(inF1): 7(ptr) FunctionParameter
21(inF2): 7(ptr) FunctionParameter
23: Label
ReturnValue 87
ReturnValue 99
FunctionEnd
34(ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;): 24(fvec2) Function None 28
29(inF0): 25(ptr) FunctionParameter
@ -886,47 +941,47 @@ local_size = (1, 1, 1)
32(inU0): 27(ptr) FunctionParameter
33(inU1): 27(ptr) FunctionParameter
35: Label
99(out_u2): 27(ptr) Variable Function
92: 24(fvec2) Load 29(inF0)
93: 49(bool) All 92
97: 26(ivec2) Load 96(gs_ub2)
98: 2 AtomicIAdd 95(gs_ua2) 55 56 97
100: 26(ivec2) Load 96(gs_ub2)
101: 26(ivec2) AtomicIAdd 95(gs_ua2) 55 56 100
Store 99(out_u2) 101
102: 26(ivec2) Load 96(gs_ub2)
103: 2 AtomicAnd 95(gs_ua2) 55 56 102
104: 26(ivec2) Load 96(gs_ub2)
105: 26(ivec2) AtomicAnd 95(gs_ua2) 55 56 104
Store 99(out_u2) 105
106: 26(ivec2) Load 96(gs_ub2)
108: 26(ivec2) Load 107(gs_uc2)
109: 26(ivec2) AtomicCompareExchange 95(gs_ua2) 55 56 56 108 106
Store 99(out_u2) 109
110: 26(ivec2) Load 96(gs_ub2)
111: 26(ivec2) AtomicExchange 95(gs_ua2) 55 56 110
Store 99(out_u2) 111
112: 26(ivec2) Load 96(gs_ub2)
113: 2 AtomicSMax 95(gs_ua2) 55 56 112
114: 26(ivec2) Load 96(gs_ub2)
115: 26(ivec2) AtomicUMax 95(gs_ua2) 55 56 114
Store 99(out_u2) 115
116: 26(ivec2) Load 96(gs_ub2)
117: 2 AtomicSMin 95(gs_ua2) 55 56 116
118: 26(ivec2) Load 96(gs_ub2)
119: 26(ivec2) AtomicUMin 95(gs_ua2) 55 56 118
Store 99(out_u2) 119
120: 26(ivec2) Load 96(gs_ub2)
121: 2 AtomicOr 95(gs_ua2) 55 56 120
122: 26(ivec2) Load 96(gs_ub2)
123: 26(ivec2) AtomicOr 95(gs_ua2) 55 56 122
Store 99(out_u2) 123
124: 26(ivec2) Load 96(gs_ub2)
125: 2 AtomicXor 95(gs_ua2) 55 56 124
126: 26(ivec2) Load 96(gs_ub2)
127: 26(ivec2) AtomicXor 95(gs_ua2) 55 56 126
Store 99(out_u2) 127
ReturnValue 130
111(out_u2): 27(ptr) Variable Function
104: 24(fvec2) Load 29(inF0)
105: 61(bool) All 104
109: 26(ivec2) Load 108(gs_ub2)
110: 2 AtomicIAdd 107(gs_ua2) 67 68 109
112: 26(ivec2) Load 108(gs_ub2)
113: 26(ivec2) AtomicIAdd 107(gs_ua2) 67 68 112
Store 111(out_u2) 113
114: 26(ivec2) Load 108(gs_ub2)
115: 2 AtomicAnd 107(gs_ua2) 67 68 114
116: 26(ivec2) Load 108(gs_ub2)
117: 26(ivec2) AtomicAnd 107(gs_ua2) 67 68 116
Store 111(out_u2) 117
118: 26(ivec2) Load 108(gs_ub2)
120: 26(ivec2) Load 119(gs_uc2)
121: 26(ivec2) AtomicCompareExchange 107(gs_ua2) 67 68 68 120 118
Store 111(out_u2) 121
122: 26(ivec2) Load 108(gs_ub2)
123: 26(ivec2) AtomicExchange 107(gs_ua2) 67 68 122
Store 111(out_u2) 123
124: 26(ivec2) Load 108(gs_ub2)
125: 2 AtomicSMax 107(gs_ua2) 67 68 124
126: 26(ivec2) Load 108(gs_ub2)
127: 26(ivec2) AtomicUMax 107(gs_ua2) 67 68 126
Store 111(out_u2) 127
128: 26(ivec2) Load 108(gs_ub2)
129: 2 AtomicSMin 107(gs_ua2) 67 68 128
130: 26(ivec2) Load 108(gs_ub2)
131: 26(ivec2) AtomicUMin 107(gs_ua2) 67 68 130
Store 111(out_u2) 131
132: 26(ivec2) Load 108(gs_ub2)
133: 2 AtomicOr 107(gs_ua2) 67 68 132
134: 26(ivec2) Load 108(gs_ub2)
135: 26(ivec2) AtomicOr 107(gs_ua2) 67 68 134
Store 111(out_u2) 135
136: 26(ivec2) Load 108(gs_ub2)
137: 2 AtomicXor 107(gs_ua2) 67 68 136
138: 26(ivec2) Load 108(gs_ub2)
139: 26(ivec2) AtomicXor 107(gs_ua2) 67 68 138
Store 111(out_u2) 139
ReturnValue 142
FunctionEnd
46(ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;): 36(fvec3) Function None 40
41(inF0): 37(ptr) FunctionParameter
@ -935,45 +990,94 @@ local_size = (1, 1, 1)
44(inU0): 39(ptr) FunctionParameter
45(inU1): 39(ptr) FunctionParameter
47: Label
140(out_u3): 39(ptr) Variable Function
133: 36(fvec3) Load 41(inF0)
134: 49(bool) All 133
138: 38(ivec3) Load 137(gs_ub3)
139: 2 AtomicIAdd 136(gs_ua3) 55 56 138
141: 38(ivec3) Load 137(gs_ub3)
142: 38(ivec3) AtomicIAdd 136(gs_ua3) 55 56 141
Store 140(out_u3) 142
143: 38(ivec3) Load 137(gs_ub3)
144: 2 AtomicAnd 136(gs_ua3) 55 56 143
145: 38(ivec3) Load 137(gs_ub3)
146: 38(ivec3) AtomicAnd 136(gs_ua3) 55 56 145
Store 140(out_u3) 146
147: 38(ivec3) Load 137(gs_ub3)
149: 38(ivec3) Load 148(gs_uc3)
150: 38(ivec3) AtomicCompareExchange 136(gs_ua3) 55 56 56 149 147
Store 140(out_u3) 150
151: 38(ivec3) Load 137(gs_ub3)
152: 38(ivec3) AtomicExchange 136(gs_ua3) 55 56 151
Store 140(out_u3) 152
153: 38(ivec3) Load 137(gs_ub3)
154: 2 AtomicSMax 136(gs_ua3) 55 56 153
155: 38(ivec3) Load 137(gs_ub3)
156: 38(ivec3) AtomicUMax 136(gs_ua3) 55 56 155
Store 140(out_u3) 156
157: 38(ivec3) Load 137(gs_ub3)
158: 2 AtomicSMin 136(gs_ua3) 55 56 157
159: 38(ivec3) Load 137(gs_ub3)
160: 38(ivec3) AtomicUMin 136(gs_ua3) 55 56 159
Store 140(out_u3) 160
161: 38(ivec3) Load 137(gs_ub3)
162: 2 AtomicOr 136(gs_ua3) 55 56 161
163: 38(ivec3) Load 137(gs_ub3)
164: 38(ivec3) AtomicOr 136(gs_ua3) 55 56 163
Store 140(out_u3) 164
165: 38(ivec3) Load 137(gs_ub3)
166: 2 AtomicXor 136(gs_ua3) 55 56 165
167: 38(ivec3) Load 137(gs_ub3)
168: 38(ivec3) AtomicXor 136(gs_ua3) 55 56 167
Store 140(out_u3) 168
ReturnValue 170
152(out_u3): 39(ptr) Variable Function
145: 36(fvec3) Load 41(inF0)
146: 61(bool) All 145
150: 38(ivec3) Load 149(gs_ub3)
151: 2 AtomicIAdd 148(gs_ua3) 67 68 150
153: 38(ivec3) Load 149(gs_ub3)
154: 38(ivec3) AtomicIAdd 148(gs_ua3) 67 68 153
Store 152(out_u3) 154
155: 38(ivec3) Load 149(gs_ub3)
156: 2 AtomicAnd 148(gs_ua3) 67 68 155
157: 38(ivec3) Load 149(gs_ub3)
158: 38(ivec3) AtomicAnd 148(gs_ua3) 67 68 157
Store 152(out_u3) 158
159: 38(ivec3) Load 149(gs_ub3)
161: 38(ivec3) Load 160(gs_uc3)
162: 38(ivec3) AtomicCompareExchange 148(gs_ua3) 67 68 68 161 159
Store 152(out_u3) 162
163: 38(ivec3) Load 149(gs_ub3)
164: 38(ivec3) AtomicExchange 148(gs_ua3) 67 68 163
Store 152(out_u3) 164
165: 38(ivec3) Load 149(gs_ub3)
166: 2 AtomicSMax 148(gs_ua3) 67 68 165
167: 38(ivec3) Load 149(gs_ub3)
168: 38(ivec3) AtomicUMax 148(gs_ua3) 67 68 167
Store 152(out_u3) 168
169: 38(ivec3) Load 149(gs_ub3)
170: 2 AtomicSMin 148(gs_ua3) 67 68 169
171: 38(ivec3) Load 149(gs_ub3)
172: 38(ivec3) AtomicUMin 148(gs_ua3) 67 68 171
Store 152(out_u3) 172
173: 38(ivec3) Load 149(gs_ub3)
174: 2 AtomicOr 148(gs_ua3) 67 68 173
175: 38(ivec3) Load 149(gs_ub3)
176: 38(ivec3) AtomicOr 148(gs_ua3) 67 68 175
Store 152(out_u3) 176
177: 38(ivec3) Load 149(gs_ub3)
178: 2 AtomicXor 148(gs_ua3) 67 68 177
179: 38(ivec3) Load 149(gs_ub3)
180: 38(ivec3) AtomicXor 148(gs_ua3) 67 68 179
Store 152(out_u3) 180
ReturnValue 182
FunctionEnd
58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;): 48(fvec4) Function None 52
53(inF0): 49(ptr) FunctionParameter
54(inF1): 49(ptr) FunctionParameter
55(inF2): 49(ptr) FunctionParameter
56(inU0): 51(ptr) FunctionParameter
57(inU1): 51(ptr) FunctionParameter
59: Label
192(out_u4): 51(ptr) Variable Function
185: 48(fvec4) Load 53(inF0)
186: 61(bool) All 185
190: 50(ivec4) Load 189(gs_ub4)
191: 2 AtomicIAdd 188(gs_ua4) 67 68 190
193: 50(ivec4) Load 189(gs_ub4)
194: 50(ivec4) AtomicIAdd 188(gs_ua4) 67 68 193
Store 192(out_u4) 194
195: 50(ivec4) Load 189(gs_ub4)
196: 2 AtomicAnd 188(gs_ua4) 67 68 195
197: 50(ivec4) Load 189(gs_ub4)
198: 50(ivec4) AtomicAnd 188(gs_ua4) 67 68 197
Store 192(out_u4) 198
199: 50(ivec4) Load 189(gs_ub4)
201: 50(ivec4) Load 200(gs_uc4)
202: 50(ivec4) AtomicCompareExchange 188(gs_ua4) 67 68 68 201 199
Store 192(out_u4) 202
203: 50(ivec4) Load 189(gs_ub4)
204: 50(ivec4) AtomicExchange 188(gs_ua4) 67 68 203
Store 192(out_u4) 204
205: 50(ivec4) Load 189(gs_ub4)
206: 2 AtomicSMax 188(gs_ua4) 67 68 205
207: 50(ivec4) Load 189(gs_ub4)
208: 50(ivec4) AtomicUMax 188(gs_ua4) 67 68 207
Store 192(out_u4) 208
209: 50(ivec4) Load 189(gs_ub4)
210: 2 AtomicSMin 188(gs_ua4) 67 68 209
211: 50(ivec4) Load 189(gs_ub4)
212: 50(ivec4) AtomicUMin 188(gs_ua4) 67 68 211
Store 192(out_u4) 212
213: 50(ivec4) Load 189(gs_ub4)
214: 2 AtomicOr 188(gs_ua4) 67 68 213
215: 50(ivec4) Load 189(gs_ub4)
216: 50(ivec4) AtomicOr 188(gs_ua4) 67 68 215
Store 192(out_u4) 216
217: 50(ivec4) Load 189(gs_ub4)
218: 2 AtomicXor 188(gs_ua4) 67 68 217
219: 50(ivec4) Load 189(gs_ub4)
220: 50(ivec4) AtomicXor 188(gs_ua4) 67 68 219
Store 192(out_u4) 220
ReturnValue 222
FunctionEnd

View File

@ -2,31 +2,34 @@ hlsl.intrinsics.d3dcolortoubyte4.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: main( (temp 4-component vector of int)
0:5 Function Definition: @main( (temp 4-component vector of int)
0:5 Function Parameters:
0:? Sequence
0:6 Sequence
0:6 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:6 Convert float to int (temp 4-component vector of int)
0:6 vector-scale (temp 4-component vector of float)
0:6 Constant:
0:6 255.001953
0:6 vector swizzle (temp 4-component vector of float)
0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4})
0:6 Constant:
0:6 0 (const uint)
0:6 Sequence
0:6 Constant:
0:6 2 (const int)
0:6 Constant:
0:6 1 (const int)
0:6 Constant:
0:6 0 (const int)
0:6 Constant:
0:6 3 (const int)
0:6 Branch: Return
0:6 Branch: Return with expression
0:6 Convert float to int (temp 4-component vector of int)
0:6 vector-scale (temp 4-component vector of float)
0:6 Constant:
0:6 255.001953
0:6 vector swizzle (temp 4-component vector of float)
0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4})
0:6 Constant:
0:6 0 (const uint)
0:6 Sequence
0:6 Constant:
0:6 2 (const int)
0:6 Constant:
0:6 1 (const int)
0:6 Constant:
0:6 0 (const int)
0:6 Constant:
0:6 3 (const int)
0:5 Function Definition: main( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:5 Function Call: @main( (temp 4-component vector of int)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4})
@ -38,74 +41,84 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: main( (temp 4-component vector of int)
0:5 Function Definition: @main( (temp 4-component vector of int)
0:5 Function Parameters:
0:? Sequence
0:6 Sequence
0:6 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:6 Convert float to int (temp 4-component vector of int)
0:6 vector-scale (temp 4-component vector of float)
0:6 Constant:
0:6 255.001953
0:6 vector swizzle (temp 4-component vector of float)
0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4})
0:6 Constant:
0:6 0 (const uint)
0:6 Sequence
0:6 Constant:
0:6 2 (const int)
0:6 Constant:
0:6 1 (const int)
0:6 Constant:
0:6 0 (const int)
0:6 Constant:
0:6 3 (const int)
0:6 Branch: Return
0:6 Branch: Return with expression
0:6 Convert float to int (temp 4-component vector of int)
0:6 vector-scale (temp 4-component vector of float)
0:6 Constant:
0:6 255.001953
0:6 vector swizzle (temp 4-component vector of float)
0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4})
0:6 Constant:
0:6 0 (const uint)
0:6 Sequence
0:6 Constant:
0:6 2 (const int)
0:6 Constant:
0:6 1 (const int)
0:6 Constant:
0:6 0 (const int)
0:6 Constant:
0:6 3 (const int)
0:5 Function Definition: main( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:5 Function Call: @main( (temp 4-component vector of int)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 24
// Id's are bound by 29
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 9
EntryPoint Fragment 4 "main" 27
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "@entryPointOutput"
Name 13 "$Global"
MemberName 13($Global) 0 "col4"
Name 15 ""
Decorate 9(@entryPointOutput) Location 0
MemberDecorate 13($Global) 0 Offset 0
Decorate 13($Global) Block
Decorate 15 DescriptorSet 0
Name 9 "@main("
Name 14 "$Global"
MemberName 14($Global) 0 "col4"
Name 16 ""
Name 27 "@entryPointOutput"
MemberDecorate 14($Global) 0 Offset 0
Decorate 14($Global) Block
Decorate 16 DescriptorSet 0
Decorate 27(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypeVector 6(int) 4
8: TypePointer Output 7(ivec4)
9(@entryPointOutput): 8(ptr) Variable Output
10: TypeFloat 32
11: 10(float) Constant 1132396672
12: TypeVector 10(float) 4
13($Global): TypeStruct 12(fvec4)
14: TypePointer Uniform 13($Global)
15: 14(ptr) Variable Uniform
16: 6(int) Constant 0
17: TypePointer Uniform 12(fvec4)
8: TypeFunction 7(ivec4)
11: TypeFloat 32
12: 11(float) Constant 1132396672
13: TypeVector 11(float) 4
14($Global): TypeStruct 13(fvec4)
15: TypePointer Uniform 14($Global)
16: 15(ptr) Variable Uniform
17: 6(int) Constant 0
18: TypePointer Uniform 13(fvec4)
26: TypePointer Output 7(ivec4)
27(@entryPointOutput): 26(ptr) Variable Output
4(main): 2 Function None 3
5: Label
18: 17(ptr) AccessChain 15 16
19: 12(fvec4) Load 18
20: 12(fvec4) VectorShuffle 19 19 2 1 0 3
21: 12(fvec4) VectorTimesScalar 20 11
22: 7(ivec4) ConvertFToS 21
Store 9(@entryPointOutput) 22
28: 7(ivec4) FunctionCall 9(@main()
Store 27(@entryPointOutput) 28
Return
FunctionEnd
9(@main(): 7(ivec4) Function None 8
10: Label
19: 18(ptr) AccessChain 16 17
20: 13(fvec4) Load 19
21: 13(fvec4) VectorShuffle 20 20 2 1 0 3
22: 13(fvec4) VectorTimesScalar 21 12
23: 7(ivec4) ConvertFToS 22
ReturnValue 23
FunctionEnd

View File

@ -2,37 +2,72 @@ hlsl.intrinsics.double.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float)
0:5 Function Definition: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float)
0:5 Function Parameters:
0:5 'inDV1a' (layout(location=0 ) in double)
0:5 'inDV1b' (layout(location=1 ) in double)
0:5 'inDV1c' (layout(location=2 ) in double)
0:5 'inDV2' (layout(location=3 ) in 2-component vector of double)
0:5 'inDV3' (layout(location=4 ) in 3-component vector of double)
0:5 'inDV4' (layout(location=6 ) in 4-component vector of double)
0:5 'inU1a' (layout(location=8 ) in uint)
0:5 'inU1b' (layout(location=9 ) in uint)
0:5 'inDV1a' (in double)
0:5 'inDV1b' (in double)
0:5 'inDV1c' (in double)
0:5 'inDV2' (in 2-component vector of double)
0:5 'inDV3' (in 3-component vector of double)
0:5 'inDV4' (in 4-component vector of double)
0:5 'inU1a' (in uint)
0:5 'inU1b' (in uint)
0:? Sequence
0:6 Sequence
0:6 move second child to first child (temp double)
0:6 'r00' (temp double)
0:6 fma (temp double)
0:6 'inDV1a' (layout(location=0 ) in double)
0:6 'inDV1b' (layout(location=1 ) in double)
0:6 'inDV1c' (layout(location=2 ) in double)
0:6 'inDV1a' (in double)
0:6 'inDV1b' (in double)
0:6 'inDV1c' (in double)
0:7 Sequence
0:7 move second child to first child (temp double)
0:7 'r01' (temp double)
0:7 uint64BitsToDouble (temp double)
0:7 Construct uvec2 (temp 2-component vector of uint)
0:7 'inU1a' (layout(location=8 ) in uint)
0:7 'inU1b' (layout(location=9 ) in uint)
0:9 Sequence
0:9 move second child to first child (temp float)
0:? '@entryPointOutput' (layout(location=0 ) out float)
0:9 Constant:
0:9 0.000000
0:9 Branch: Return
0:7 'inU1a' (in uint)
0:7 'inU1b' (in uint)
0:9 Branch: Return with expression
0:9 Constant:
0:9 0.000000
0:5 Function Definition: PixelShaderFunction( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 move second child to first child (temp double)
0:? 'inDV1a' (temp double)
0:? 'inDV1a' (layout(location=0 ) in double)
0:5 move second child to first child (temp double)
0:? 'inDV1b' (temp double)
0:? 'inDV1b' (layout(location=1 ) in double)
0:5 move second child to first child (temp double)
0:? 'inDV1c' (temp double)
0:? 'inDV1c' (layout(location=2 ) in double)
0:5 move second child to first child (temp 2-component vector of double)
0:? 'inDV2' (temp 2-component vector of double)
0:? 'inDV2' (layout(location=3 ) in 2-component vector of double)
0:5 move second child to first child (temp 3-component vector of double)
0:? 'inDV3' (temp 3-component vector of double)
0:? 'inDV3' (layout(location=4 ) in 3-component vector of double)
0:5 move second child to first child (temp 4-component vector of double)
0:? 'inDV4' (temp 4-component vector of double)
0:? 'inDV4' (layout(location=6 ) in 4-component vector of double)
0:5 move second child to first child (temp uint)
0:? 'inU1a' (temp uint)
0:? 'inU1a' (layout(location=8 ) in uint)
0:5 move second child to first child (temp uint)
0:? 'inU1b' (temp uint)
0:? 'inU1b' (layout(location=9 ) in uint)
0:5 move second child to first child (temp float)
0:? '@entryPointOutput' (layout(location=0 ) out float)
0:5 Function Call: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float)
0:? 'inDV1a' (temp double)
0:? 'inDV1b' (temp double)
0:? 'inDV1c' (temp double)
0:? 'inDV2' (temp 2-component vector of double)
0:? 'inDV3' (temp 3-component vector of double)
0:? 'inDV4' (temp 4-component vector of double)
0:? 'inU1a' (temp uint)
0:? 'inU1b' (temp uint)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out float)
0:? 'inDV1a' (layout(location=0 ) in double)
@ -51,37 +86,72 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float)
0:5 Function Definition: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float)
0:5 Function Parameters:
0:5 'inDV1a' (layout(location=0 ) in double)
0:5 'inDV1b' (layout(location=1 ) in double)
0:5 'inDV1c' (layout(location=2 ) in double)
0:5 'inDV2' (layout(location=3 ) in 2-component vector of double)
0:5 'inDV3' (layout(location=4 ) in 3-component vector of double)
0:5 'inDV4' (layout(location=6 ) in 4-component vector of double)
0:5 'inU1a' (layout(location=8 ) in uint)
0:5 'inU1b' (layout(location=9 ) in uint)
0:5 'inDV1a' (in double)
0:5 'inDV1b' (in double)
0:5 'inDV1c' (in double)
0:5 'inDV2' (in 2-component vector of double)
0:5 'inDV3' (in 3-component vector of double)
0:5 'inDV4' (in 4-component vector of double)
0:5 'inU1a' (in uint)
0:5 'inU1b' (in uint)
0:? Sequence
0:6 Sequence
0:6 move second child to first child (temp double)
0:6 'r00' (temp double)
0:6 fma (temp double)
0:6 'inDV1a' (layout(location=0 ) in double)
0:6 'inDV1b' (layout(location=1 ) in double)
0:6 'inDV1c' (layout(location=2 ) in double)
0:6 'inDV1a' (in double)
0:6 'inDV1b' (in double)
0:6 'inDV1c' (in double)
0:7 Sequence
0:7 move second child to first child (temp double)
0:7 'r01' (temp double)
0:7 uint64BitsToDouble (temp double)
0:7 Construct uvec2 (temp 2-component vector of uint)
0:7 'inU1a' (layout(location=8 ) in uint)
0:7 'inU1b' (layout(location=9 ) in uint)
0:9 Sequence
0:9 move second child to first child (temp float)
0:? '@entryPointOutput' (layout(location=0 ) out float)
0:9 Constant:
0:9 0.000000
0:9 Branch: Return
0:7 'inU1a' (in uint)
0:7 'inU1b' (in uint)
0:9 Branch: Return with expression
0:9 Constant:
0:9 0.000000
0:5 Function Definition: PixelShaderFunction( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 move second child to first child (temp double)
0:? 'inDV1a' (temp double)
0:? 'inDV1a' (layout(location=0 ) in double)
0:5 move second child to first child (temp double)
0:? 'inDV1b' (temp double)
0:? 'inDV1b' (layout(location=1 ) in double)
0:5 move second child to first child (temp double)
0:? 'inDV1c' (temp double)
0:? 'inDV1c' (layout(location=2 ) in double)
0:5 move second child to first child (temp 2-component vector of double)
0:? 'inDV2' (temp 2-component vector of double)
0:? 'inDV2' (layout(location=3 ) in 2-component vector of double)
0:5 move second child to first child (temp 3-component vector of double)
0:? 'inDV3' (temp 3-component vector of double)
0:? 'inDV3' (layout(location=4 ) in 3-component vector of double)
0:5 move second child to first child (temp 4-component vector of double)
0:? 'inDV4' (temp 4-component vector of double)
0:? 'inDV4' (layout(location=6 ) in 4-component vector of double)
0:5 move second child to first child (temp uint)
0:? 'inU1a' (temp uint)
0:? 'inU1a' (layout(location=8 ) in uint)
0:5 move second child to first child (temp uint)
0:? 'inU1b' (temp uint)
0:? 'inU1b' (layout(location=9 ) in uint)
0:5 move second child to first child (temp float)
0:? '@entryPointOutput' (layout(location=0 ) out float)
0:5 Function Call: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float)
0:? 'inDV1a' (temp double)
0:? 'inDV1b' (temp double)
0:? 'inDV1c' (temp double)
0:? 'inDV2' (temp 2-component vector of double)
0:? 'inDV3' (temp 3-component vector of double)
0:? 'inDV4' (temp 4-component vector of double)
0:? 'inU1a' (temp uint)
0:? 'inU1b' (temp uint)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out float)
0:? 'inDV1a' (layout(location=0 ) in double)
@ -95,75 +165,166 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 41
// Id's are bound by 90
Capability Shader
Capability Float64
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 10 12 14 20 22 29 34 37 40
EntryPoint Fragment 4 "PixelShaderFunction" 44 47 50 54 58 62 66 69 72
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 8 "r00"
Name 10 "inDV1a"
Name 12 "inDV1b"
Name 14 "inDV1c"
Name 17 "r01"
Name 20 "inU1a"
Name 22 "inU1b"
Name 29 "@entryPointOutput"
Name 34 "inDV2"
Name 37 "inDV3"
Name 40 "inDV4"
Decorate 10(inDV1a) Location 0
Decorate 12(inDV1b) Location 1
Decorate 14(inDV1c) Location 2
Decorate 20(inU1a) Location 8
Decorate 22(inU1b) Location 9
Decorate 29(@entryPointOutput) Location 0
Decorate 34(inDV2) Location 3
Decorate 37(inDV3) Location 4
Decorate 40(inDV4) Location 6
Name 26 "@PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1;"
Name 18 "inDV1a"
Name 19 "inDV1b"
Name 20 "inDV1c"
Name 21 "inDV2"
Name 22 "inDV3"
Name 23 "inDV4"
Name 24 "inU1a"
Name 25 "inU1b"
Name 28 "r00"
Name 33 "r01"
Name 42 "inDV1a"
Name 44 "inDV1a"
Name 46 "inDV1b"
Name 47 "inDV1b"
Name 49 "inDV1c"
Name 50 "inDV1c"
Name 52 "inDV2"
Name 54 "inDV2"
Name 56 "inDV3"
Name 58 "inDV3"
Name 60 "inDV4"
Name 62 "inDV4"
Name 64 "inU1a"
Name 66 "inU1a"
Name 68 "inU1b"
Name 69 "inU1b"
Name 72 "@entryPointOutput"
Name 73 "param"
Name 75 "param"
Name 77 "param"
Name 79 "param"
Name 81 "param"
Name 83 "param"
Name 85 "param"
Name 87 "param"
Decorate 44(inDV1a) Location 0
Decorate 47(inDV1b) Location 1
Decorate 50(inDV1c) Location 2
Decorate 54(inDV2) Location 3
Decorate 58(inDV3) Location 4
Decorate 62(inDV4) Location 6
Decorate 66(inU1a) Location 8
Decorate 69(inU1b) Location 9
Decorate 72(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 64
7: TypePointer Function 6(float)
9: TypePointer Input 6(float)
10(inDV1a): 9(ptr) Variable Input
12(inDV1b): 9(ptr) Variable Input
14(inDV1c): 9(ptr) Variable Input
18: TypeInt 32 0
19: TypePointer Input 18(int)
20(inU1a): 19(ptr) Variable Input
22(inU1b): 19(ptr) Variable Input
24: TypeVector 18(int) 2
27: TypeFloat 32
28: TypePointer Output 27(float)
29(@entryPointOutput): 28(ptr) Variable Output
30: 27(float) Constant 0
32: TypeVector 6(float) 2
33: TypePointer Input 32(fvec2)
34(inDV2): 33(ptr) Variable Input
35: TypeVector 6(float) 3
36: TypePointer Input 35(fvec3)
37(inDV3): 36(ptr) Variable Input
38: TypeVector 6(float) 4
39: TypePointer Input 38(fvec4)
40(inDV4): 39(ptr) Variable Input
8: TypeVector 6(float) 2
9: TypePointer Function 8(fvec2)
10: TypeVector 6(float) 3
11: TypePointer Function 10(fvec3)
12: TypeVector 6(float) 4
13: TypePointer Function 12(fvec4)
14: TypeInt 32 0
15: TypePointer Function 14(int)
16: TypeFloat 32
17: TypeFunction 16(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 11(ptr) 13(ptr) 15(ptr) 15(ptr)
36: TypeVector 14(int) 2
39: 16(float) Constant 0
43: TypePointer Input 6(float)
44(inDV1a): 43(ptr) Variable Input
47(inDV1b): 43(ptr) Variable Input
50(inDV1c): 43(ptr) Variable Input
53: TypePointer Input 8(fvec2)
54(inDV2): 53(ptr) Variable Input
57: TypePointer Input 10(fvec3)
58(inDV3): 57(ptr) Variable Input
61: TypePointer Input 12(fvec4)
62(inDV4): 61(ptr) Variable Input
65: TypePointer Input 14(int)
66(inU1a): 65(ptr) Variable Input
69(inU1b): 65(ptr) Variable Input
71: TypePointer Output 16(float)
72(@entryPointOutput): 71(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
8(r00): 7(ptr) Variable Function
17(r01): 7(ptr) Variable Function
11: 6(float) Load 10(inDV1a)
13: 6(float) Load 12(inDV1b)
15: 6(float) Load 14(inDV1c)
16: 6(float) ExtInst 1(GLSL.std.450) 50(Fma) 11 13 15
Store 8(r00) 16
21: 18(int) Load 20(inU1a)
23: 18(int) Load 22(inU1b)
25: 24(ivec2) CompositeConstruct 21 23
26: 6(float) Bitcast 25
Store 17(r01) 26
Store 29(@entryPointOutput) 30
42(inDV1a): 7(ptr) Variable Function
46(inDV1b): 7(ptr) Variable Function
49(inDV1c): 7(ptr) Variable Function
52(inDV2): 9(ptr) Variable Function
56(inDV3): 11(ptr) Variable Function
60(inDV4): 13(ptr) Variable Function
64(inU1a): 15(ptr) Variable Function
68(inU1b): 15(ptr) Variable Function
73(param): 7(ptr) Variable Function
75(param): 7(ptr) Variable Function
77(param): 7(ptr) Variable Function
79(param): 9(ptr) Variable Function
81(param): 11(ptr) Variable Function
83(param): 13(ptr) Variable Function
85(param): 15(ptr) Variable Function
87(param): 15(ptr) Variable Function
45: 6(float) Load 44(inDV1a)
Store 42(inDV1a) 45
48: 6(float) Load 47(inDV1b)
Store 46(inDV1b) 48
51: 6(float) Load 50(inDV1c)
Store 49(inDV1c) 51
55: 8(fvec2) Load 54(inDV2)
Store 52(inDV2) 55
59: 10(fvec3) Load 58(inDV3)
Store 56(inDV3) 59
63: 12(fvec4) Load 62(inDV4)
Store 60(inDV4) 63
67: 14(int) Load 66(inU1a)
Store 64(inU1a) 67
70: 14(int) Load 69(inU1b)
Store 68(inU1b) 70
74: 6(float) Load 42(inDV1a)
Store 73(param) 74
76: 6(float) Load 46(inDV1b)
Store 75(param) 76
78: 6(float) Load 49(inDV1c)
Store 77(param) 78
80: 8(fvec2) Load 52(inDV2)
Store 79(param) 80
82: 10(fvec3) Load 56(inDV3)
Store 81(param) 82
84: 12(fvec4) Load 60(inDV4)
Store 83(param) 84
86: 14(int) Load 64(inU1a)
Store 85(param) 86
88: 14(int) Load 68(inU1b)
Store 87(param) 88
89: 16(float) FunctionCall 26(@PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1;) 73(param) 75(param) 77(param) 79(param) 81(param) 83(param) 85(param) 87(param)
Store 72(@entryPointOutput) 89
Return
FunctionEnd
26(@PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1;): 16(float) Function None 17
18(inDV1a): 7(ptr) FunctionParameter
19(inDV1b): 7(ptr) FunctionParameter
20(inDV1c): 7(ptr) FunctionParameter
21(inDV2): 9(ptr) FunctionParameter
22(inDV3): 11(ptr) FunctionParameter
23(inDV4): 13(ptr) FunctionParameter
24(inU1a): 15(ptr) FunctionParameter
25(inU1b): 15(ptr) FunctionParameter
27: Label
28(r00): 7(ptr) Variable Function
33(r01): 7(ptr) Variable Function
29: 6(float) Load 18(inDV1a)
30: 6(float) Load 19(inDV1b)
31: 6(float) Load 20(inDV1c)
32: 6(float) ExtInst 1(GLSL.std.450) 50(Fma) 29 30 31
Store 28(r00) 32
34: 14(int) Load 24(inU1a)
35: 14(int) Load 25(inU1b)
37: 36(ivec2) CompositeConstruct 34 35
38: 6(float) Bitcast 37
Store 33(r01) 38
ReturnValue 39
FunctionEnd

View File

@ -2,47 +2,71 @@ hlsl.intrinsics.evalfns.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:3 Function Definition: main(f1;vf2;vf3;vf4;vi2; (temp void)
0:3 Function Definition: @main(f1;vf2;vf3;vf4;vi2; (temp void)
0:3 Function Parameters:
0:3 'inF1' (layout(location=0 ) in float)
0:3 'inF2' (layout(location=1 ) in 2-component vector of float)
0:3 'inF3' (layout(location=2 ) in 3-component vector of float)
0:3 'inF4' (layout(location=3 ) in 4-component vector of float)
0:3 'inI2' (layout(location=4 ) in 2-component vector of int)
0:3 'inF1' (in float)
0:3 'inF2' (in 2-component vector of float)
0:3 'inF3' (in 3-component vector of float)
0:3 'inF4' (in 4-component vector of float)
0:3 'inI2' (in 2-component vector of int)
0:? Sequence
0:4 interpolateAtOffset (temp float)
0:4 'inF1' (layout(location=0 ) in float)
0:4 'inF1' (in float)
0:? Constant:
0:? -0.500000
0:? -0.062500
0:5 interpolateAtOffset (temp 2-component vector of float)
0:5 'inF2' (layout(location=1 ) in 2-component vector of float)
0:5 'inF2' (in 2-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.062500
0:6 interpolateAtOffset (temp 3-component vector of float)
0:6 'inF3' (layout(location=2 ) in 3-component vector of float)
0:6 'inF3' (in 3-component vector of float)
0:? Constant:
0:? 0.187500
0:? -0.375000
0:7 interpolateAtOffset (temp 4-component vector of float)
0:7 'inF4' (layout(location=3 ) in 4-component vector of float)
0:7 'inF4' (in 4-component vector of float)
0:? Constant:
0:? 0.437500
0:? -0.500000
0:9 interpolateAtOffset (temp float)
0:9 'inF1' (layout(location=0 ) in float)
0:9 'inF1' (in float)
0:9 vector-scale (temp 2-component vector of float)
0:9 Convert int to float (temp 2-component vector of float)
0:9 right-shift (temp 2-component vector of int)
0:9 left-shift (temp 2-component vector of int)
0:9 'inI2' (layout(location=4 ) in 2-component vector of int)
0:9 'inI2' (in 2-component vector of int)
0:9 Constant:
0:9 28 (const int)
0:9 Constant:
0:9 28 (const int)
0:9 Constant:
0:9 0.062500
0:3 Function Definition: main( (temp void)
0:3 Function Parameters:
0:? Sequence
0:3 move second child to first child (temp float)
0:? 'inF1' (temp float)
0:? 'inF1' (layout(location=0 ) in float)
0:3 move second child to first child (temp 2-component vector of float)
0:? 'inF2' (temp 2-component vector of float)
0:? 'inF2' (layout(location=1 ) in 2-component vector of float)
0:3 move second child to first child (temp 3-component vector of float)
0:? 'inF3' (temp 3-component vector of float)
0:? 'inF3' (layout(location=2 ) in 3-component vector of float)
0:3 move second child to first child (temp 4-component vector of float)
0:? 'inF4' (temp 4-component vector of float)
0:? 'inF4' (layout(location=3 ) in 4-component vector of float)
0:3 move second child to first child (temp 2-component vector of int)
0:? 'inI2' (temp 2-component vector of int)
0:? 'inI2' (layout(location=4 ) in 2-component vector of int)
0:3 Function Call: @main(f1;vf2;vf3;vf4;vi2; (temp void)
0:? 'inF1' (temp float)
0:? 'inF2' (temp 2-component vector of float)
0:? 'inF3' (temp 3-component vector of float)
0:? 'inF4' (temp 4-component vector of float)
0:? 'inI2' (temp 2-component vector of int)
0:? Linker Objects
0:? 'inF1' (layout(location=0 ) in float)
0:? 'inF2' (layout(location=1 ) in 2-component vector of float)
@ -57,47 +81,71 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:3 Function Definition: main(f1;vf2;vf3;vf4;vi2; (temp void)
0:3 Function Definition: @main(f1;vf2;vf3;vf4;vi2; (temp void)
0:3 Function Parameters:
0:3 'inF1' (layout(location=0 ) in float)
0:3 'inF2' (layout(location=1 ) in 2-component vector of float)
0:3 'inF3' (layout(location=2 ) in 3-component vector of float)
0:3 'inF4' (layout(location=3 ) in 4-component vector of float)
0:3 'inI2' (layout(location=4 ) in 2-component vector of int)
0:3 'inF1' (in float)
0:3 'inF2' (in 2-component vector of float)
0:3 'inF3' (in 3-component vector of float)
0:3 'inF4' (in 4-component vector of float)
0:3 'inI2' (in 2-component vector of int)
0:? Sequence
0:4 interpolateAtOffset (temp float)
0:4 'inF1' (layout(location=0 ) in float)
0:4 'inF1' (in float)
0:? Constant:
0:? -0.500000
0:? -0.062500
0:5 interpolateAtOffset (temp 2-component vector of float)
0:5 'inF2' (layout(location=1 ) in 2-component vector of float)
0:5 'inF2' (in 2-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.062500
0:6 interpolateAtOffset (temp 3-component vector of float)
0:6 'inF3' (layout(location=2 ) in 3-component vector of float)
0:6 'inF3' (in 3-component vector of float)
0:? Constant:
0:? 0.187500
0:? -0.375000
0:7 interpolateAtOffset (temp 4-component vector of float)
0:7 'inF4' (layout(location=3 ) in 4-component vector of float)
0:7 'inF4' (in 4-component vector of float)
0:? Constant:
0:? 0.437500
0:? -0.500000
0:9 interpolateAtOffset (temp float)
0:9 'inF1' (layout(location=0 ) in float)
0:9 'inF1' (in float)
0:9 vector-scale (temp 2-component vector of float)
0:9 Convert int to float (temp 2-component vector of float)
0:9 right-shift (temp 2-component vector of int)
0:9 left-shift (temp 2-component vector of int)
0:9 'inI2' (layout(location=4 ) in 2-component vector of int)
0:9 'inI2' (in 2-component vector of int)
0:9 Constant:
0:9 28 (const int)
0:9 Constant:
0:9 28 (const int)
0:9 Constant:
0:9 0.062500
0:3 Function Definition: main( (temp void)
0:3 Function Parameters:
0:? Sequence
0:3 move second child to first child (temp float)
0:? 'inF1' (temp float)
0:? 'inF1' (layout(location=0 ) in float)
0:3 move second child to first child (temp 2-component vector of float)
0:? 'inF2' (temp 2-component vector of float)
0:? 'inF2' (layout(location=1 ) in 2-component vector of float)
0:3 move second child to first child (temp 3-component vector of float)
0:? 'inF3' (temp 3-component vector of float)
0:? 'inF3' (layout(location=2 ) in 3-component vector of float)
0:3 move second child to first child (temp 4-component vector of float)
0:? 'inF4' (temp 4-component vector of float)
0:? 'inF4' (layout(location=3 ) in 4-component vector of float)
0:3 move second child to first child (temp 2-component vector of int)
0:? 'inI2' (temp 2-component vector of int)
0:? 'inI2' (layout(location=4 ) in 2-component vector of int)
0:3 Function Call: @main(f1;vf2;vf3;vf4;vi2; (temp void)
0:? 'inF1' (temp float)
0:? 'inF2' (temp 2-component vector of float)
0:? 'inF3' (temp 3-component vector of float)
0:? 'inF4' (temp 4-component vector of float)
0:? 'inI2' (temp 2-component vector of int)
0:? Linker Objects
0:? 'inF1' (layout(location=0 ) in float)
0:? 'inF2' (layout(location=1 ) in 2-component vector of float)
@ -107,68 +155,130 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 46
// Id's are bound by 80
Capability Shader
Capability InterpolationFunction
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 8 15 22 29 36
EntryPoint Fragment 4 "main" 51 55 59 63 67
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "inF1"
Name 15 "inF2"
Name 22 "inF3"
Name 29 "inF4"
Name 36 "inI2"
Decorate 8(inF1) Location 0
Decorate 15(inF2) Location 1
Decorate 22(inF3) Location 2
Decorate 29(inF4) Location 3
Decorate 36(inI2) Location 4
Name 23 "@main(f1;vf2;vf3;vf4;vi2;"
Name 18 "inF1"
Name 19 "inF2"
Name 20 "inF3"
Name 21 "inF4"
Name 22 "inI2"
Name 49 "inF1"
Name 51 "inF1"
Name 53 "inF2"
Name 55 "inF2"
Name 57 "inF3"
Name 59 "inF3"
Name 61 "inF4"
Name 63 "inF4"
Name 65 "inI2"
Name 67 "inI2"
Name 69 "param"
Name 71 "param"
Name 73 "param"
Name 75 "param"
Name 77 "param"
Decorate 51(inF1) Location 0
Decorate 55(inF2) Location 1
Decorate 59(inF3) Location 2
Decorate 63(inF4) Location 3
Decorate 67(inI2) Location 4
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Input 6(float)
8(inF1): 7(ptr) Variable Input
9: TypeVector 6(float) 2
10: 6(float) Constant 3204448256
11: 6(float) Constant 3179282432
12: 9(fvec2) ConstantComposite 10 11
14: TypePointer Input 9(fvec2)
15(inF2): 14(ptr) Variable Input
16: 6(float) Constant 0
17: 6(float) Constant 1031798784
18: 9(fvec2) ConstantComposite 16 17
20: TypeVector 6(float) 3
21: TypePointer Input 20(fvec3)
22(inF3): 21(ptr) Variable Input
23: 6(float) Constant 1044381696
24: 6(float) Constant 3200253952
25: 9(fvec2) ConstantComposite 23 24
27: TypeVector 6(float) 4
28: TypePointer Input 27(fvec4)
29(inF4): 28(ptr) Variable Input
30: 6(float) Constant 1054867456
31: 9(fvec2) ConstantComposite 30 10
33: TypeInt 32 1
34: TypeVector 33(int) 2
35: TypePointer Input 34(ivec2)
36(inI2): 35(ptr) Variable Input
38: 33(int) Constant 28
7: TypePointer Function 6(float)
8: TypeVector 6(float) 2
9: TypePointer Function 8(fvec2)
10: TypeVector 6(float) 3
11: TypePointer Function 10(fvec3)
12: TypeVector 6(float) 4
13: TypePointer Function 12(fvec4)
14: TypeInt 32 1
15: TypeVector 14(int) 2
16: TypePointer Function 15(ivec2)
17: TypeFunction 2 7(ptr) 9(ptr) 11(ptr) 13(ptr) 16(ptr)
25: 6(float) Constant 3204448256
26: 6(float) Constant 3179282432
27: 8(fvec2) ConstantComposite 25 26
29: 6(float) Constant 0
30: 6(float) Constant 1031798784
31: 8(fvec2) ConstantComposite 29 30
33: 6(float) Constant 1044381696
34: 6(float) Constant 3200253952
35: 8(fvec2) ConstantComposite 33 34
37: 6(float) Constant 1054867456
38: 8(fvec2) ConstantComposite 37 25
41: 14(int) Constant 28
50: TypePointer Input 6(float)
51(inF1): 50(ptr) Variable Input
54: TypePointer Input 8(fvec2)
55(inF2): 54(ptr) Variable Input
58: TypePointer Input 10(fvec3)
59(inF3): 58(ptr) Variable Input
62: TypePointer Input 12(fvec4)
63(inF4): 62(ptr) Variable Input
66: TypePointer Input 15(ivec2)
67(inI2): 66(ptr) Variable Input
4(main): 2 Function None 3
5: Label
13: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 8(inF1) 12
19: 9(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 15(inF2) 18
26: 20(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 22(inF3) 25
32: 27(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 29(inF4) 31
37: 34(ivec2) Load 36(inI2)
39: 34(ivec2) CompositeConstruct 38 38
40: 34(ivec2) ShiftLeftLogical 37 39
41: 34(ivec2) CompositeConstruct 38 38
42: 34(ivec2) ShiftRightArithmetic 40 41
43: 9(fvec2) ConvertSToF 42
44: 9(fvec2) VectorTimesScalar 43 17
45: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 8(inF1) 44
49(inF1): 7(ptr) Variable Function
53(inF2): 9(ptr) Variable Function
57(inF3): 11(ptr) Variable Function
61(inF4): 13(ptr) Variable Function
65(inI2): 16(ptr) Variable Function
69(param): 7(ptr) Variable Function
71(param): 9(ptr) Variable Function
73(param): 11(ptr) Variable Function
75(param): 13(ptr) Variable Function
77(param): 16(ptr) Variable Function
52: 6(float) Load 51(inF1)
Store 49(inF1) 52
56: 8(fvec2) Load 55(inF2)
Store 53(inF2) 56
60: 10(fvec3) Load 59(inF3)
Store 57(inF3) 60
64: 12(fvec4) Load 63(inF4)
Store 61(inF4) 64
68: 15(ivec2) Load 67(inI2)
Store 65(inI2) 68
70: 6(float) Load 49(inF1)
Store 69(param) 70
72: 8(fvec2) Load 53(inF2)
Store 71(param) 72
74: 10(fvec3) Load 57(inF3)
Store 73(param) 74
76: 12(fvec4) Load 61(inF4)
Store 75(param) 76
78: 15(ivec2) Load 65(inI2)
Store 77(param) 78
79: 2 FunctionCall 23(@main(f1;vf2;vf3;vf4;vi2;) 69(param) 71(param) 73(param) 75(param) 77(param)
Return
FunctionEnd
23(@main(f1;vf2;vf3;vf4;vi2;): 2 Function None 17
18(inF1): 7(ptr) FunctionParameter
19(inF2): 9(ptr) FunctionParameter
20(inF3): 11(ptr) FunctionParameter
21(inF4): 13(ptr) FunctionParameter
22(inI2): 16(ptr) FunctionParameter
24: Label
28: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 18(inF1) 27
32: 8(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 19(inF2) 31
36: 10(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 20(inF3) 35
39: 12(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 21(inF4) 38
40: 15(ivec2) Load 22(inI2)
42: 15(ivec2) CompositeConstruct 41 41
43: 15(ivec2) ShiftLeftLogical 40 42
44: 15(ivec2) CompositeConstruct 41 41
45: 15(ivec2) ShiftRightArithmetic 43 44
46: 8(fvec2) ConvertSToF 45
47: 8(fvec2) VectorTimesScalar 46 30
48: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 18(inF1) 47
Return
FunctionEnd

View File

@ -49,22 +49,29 @@ ERROR: node is still EOpNull!
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:29 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:29 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:29 Function Parameters:
0:29 'inF0' (layout(location=0 ) in 4-component vector of float)
0:29 'inF0' (in 4-component vector of float)
0:? Sequence
0:30 ERROR: Bad unary op
(temp 4-component vector of uint)
0:30 'inF0' (layout(location=0 ) in 4-component vector of float)
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:32 Branch: Return
0:30 'inF0' (in 4-component vector of float)
0:32 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:29 Function Definition: PixelShaderFunction( (temp void)
0:29 Function Parameters:
0:? Sequence
0:29 move second child to first child (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:29 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:29 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
@ -116,22 +123,29 @@ ERROR: node is still EOpNull!
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:29 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:29 Function Definition: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:29 Function Parameters:
0:29 'inF0' (layout(location=0 ) in 4-component vector of float)
0:29 'inF0' (in 4-component vector of float)
0:? Sequence
0:30 ERROR: Bad unary op
(temp 4-component vector of uint)
0:30 'inF0' (layout(location=0 ) in 4-component vector of float)
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:32 Branch: Return
0:30 'inF0' (in 4-component vector of float)
0:32 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:29 Function Definition: PixelShaderFunction( (temp void)
0:29 Function Parameters:
0:? Sequence
0:29 move second child to first child (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:29 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:29 Function Call: @PixelShaderFunction(vf4; (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)

File diff suppressed because it is too large Load Diff

View File

@ -2,11 +2,11 @@ hlsl.intrinsics.lit.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(f1;f1;f1; (temp void)
0:2 Function Definition: @PixelShaderFunction(f1;f1;f1; (temp void)
0:2 Function Parameters:
0:2 'n_dot_l' (layout(location=0 ) in float)
0:2 'n_dot_h' (layout(location=1 ) in float)
0:2 'm' (layout(location=2 ) in float)
0:2 'n_dot_l' (in float)
0:2 'n_dot_h' (in float)
0:2 'm' (in float)
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp 4-component vector of float)
@ -15,15 +15,15 @@ gl_FragCoord origin is upper left
0:3 Constant:
0:3 1.000000
0:3 max (temp float)
0:3 'n_dot_l' (layout(location=0 ) in float)
0:3 'n_dot_l' (in float)
0:3 Constant:
0:3 0.000000
0:3 Test condition and select (temp float)
0:3 Condition
0:3 Compare Less Than (temp bool)
0:3 min (temp float)
0:3 'n_dot_l' (layout(location=0 ) in float)
0:3 'n_dot_h' (layout(location=1 ) in float)
0:3 'n_dot_l' (in float)
0:3 'n_dot_h' (in float)
0:3 Constant:
0:3 0.000000
0:3 true case
@ -31,10 +31,26 @@ gl_FragCoord origin is upper left
0:3 0.000000
0:3 false case
0:3 component-wise multiply (temp float)
0:3 'n_dot_h' (layout(location=1 ) in float)
0:3 'm' (layout(location=2 ) in float)
0:3 'n_dot_h' (in float)
0:3 'm' (in float)
0:3 Constant:
0:3 1.000000
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp float)
0:? 'n_dot_l' (temp float)
0:? 'n_dot_l' (layout(location=0 ) in float)
0:2 move second child to first child (temp float)
0:? 'n_dot_h' (temp float)
0:? 'n_dot_h' (layout(location=1 ) in float)
0:2 move second child to first child (temp float)
0:? 'm' (temp float)
0:? 'm' (layout(location=2 ) in float)
0:2 Function Call: @PixelShaderFunction(f1;f1;f1; (temp void)
0:? 'n_dot_l' (temp float)
0:? 'n_dot_h' (temp float)
0:? 'm' (temp float)
0:? Linker Objects
0:? 'n_dot_l' (layout(location=0 ) in float)
0:? 'n_dot_h' (layout(location=1 ) in float)
@ -47,11 +63,11 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(f1;f1;f1; (temp void)
0:2 Function Definition: @PixelShaderFunction(f1;f1;f1; (temp void)
0:2 Function Parameters:
0:2 'n_dot_l' (layout(location=0 ) in float)
0:2 'n_dot_h' (layout(location=1 ) in float)
0:2 'm' (layout(location=2 ) in float)
0:2 'n_dot_l' (in float)
0:2 'n_dot_h' (in float)
0:2 'm' (in float)
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp 4-component vector of float)
@ -60,15 +76,15 @@ gl_FragCoord origin is upper left
0:3 Constant:
0:3 1.000000
0:3 max (temp float)
0:3 'n_dot_l' (layout(location=0 ) in float)
0:3 'n_dot_l' (in float)
0:3 Constant:
0:3 0.000000
0:3 Test condition and select (temp float)
0:3 Condition
0:3 Compare Less Than (temp bool)
0:3 min (temp float)
0:3 'n_dot_l' (layout(location=0 ) in float)
0:3 'n_dot_h' (layout(location=1 ) in float)
0:3 'n_dot_l' (in float)
0:3 'n_dot_h' (in float)
0:3 Constant:
0:3 0.000000
0:3 true case
@ -76,10 +92,26 @@ gl_FragCoord origin is upper left
0:3 0.000000
0:3 false case
0:3 component-wise multiply (temp float)
0:3 'n_dot_h' (layout(location=1 ) in float)
0:3 'm' (layout(location=2 ) in float)
0:3 'n_dot_h' (in float)
0:3 'm' (in float)
0:3 Constant:
0:3 1.000000
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp float)
0:? 'n_dot_l' (temp float)
0:? 'n_dot_l' (layout(location=0 ) in float)
0:2 move second child to first child (temp float)
0:? 'n_dot_h' (temp float)
0:? 'n_dot_h' (layout(location=1 ) in float)
0:2 move second child to first child (temp float)
0:? 'm' (temp float)
0:? 'm' (layout(location=2 ) in float)
0:2 Function Call: @PixelShaderFunction(f1;f1;f1; (temp void)
0:? 'n_dot_l' (temp float)
0:? 'n_dot_h' (temp float)
0:? 'm' (temp float)
0:? Linker Objects
0:? 'n_dot_l' (layout(location=0 ) in float)
0:? 'n_dot_h' (layout(location=1 ) in float)
@ -87,58 +119,95 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 33
// Id's are bound by 52
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 12 19 28
EntryPoint Fragment 4 "PixelShaderFunction" 37 40 43
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 9 "r0"
Name 12 "n_dot_l"
Name 19 "n_dot_h"
Name 28 "m"
Decorate 12(n_dot_l) Location 0
Decorate 19(n_dot_h) Location 1
Decorate 28(m) Location 2
Name 12 "@PixelShaderFunction(f1;f1;f1;"
Name 9 "n_dot_l"
Name 10 "n_dot_h"
Name 11 "m"
Name 16 "r0"
Name 35 "n_dot_l"
Name 37 "n_dot_l"
Name 39 "n_dot_h"
Name 40 "n_dot_h"
Name 42 "m"
Name 43 "m"
Name 45 "param"
Name 47 "param"
Name 49 "param"
Decorate 37(n_dot_l) Location 0
Decorate 40(n_dot_h) Location 1
Decorate 43(m) Location 2
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: 6(float) Constant 1065353216
11: TypePointer Input 6(float)
12(n_dot_l): 11(ptr) Variable Input
14: 6(float) Constant 0
16: TypePointer Function 6(float)
19(n_dot_h): 11(ptr) Variable Input
22: TypeBool
28(m): 11(ptr) Variable Input
7: TypePointer Function 6(float)
8: TypeFunction 2 7(ptr) 7(ptr) 7(ptr)
14: TypeVector 6(float) 4
15: TypePointer Function 14(fvec4)
17: 6(float) Constant 1065353216
19: 6(float) Constant 0
25: TypeBool
36: TypePointer Input 6(float)
37(n_dot_l): 36(ptr) Variable Input
40(n_dot_h): 36(ptr) Variable Input
43(m): 36(ptr) Variable Input
4(PixelShaderFunction): 2 Function None 3
5: Label
9(r0): 8(ptr) Variable Function
17: 16(ptr) Variable Function
13: 6(float) Load 12(n_dot_l)
15: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 13 14
18: 6(float) Load 12(n_dot_l)
20: 6(float) Load 19(n_dot_h)
21: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 18 20
23: 22(bool) FOrdLessThan 21 14
SelectionMerge 25 None
BranchConditional 23 24 26
24: Label
Store 17 14
Branch 25
26: Label
27: 6(float) Load 19(n_dot_h)
29: 6(float) Load 28(m)
30: 6(float) FMul 27 29
Store 17 30
Branch 25
25: Label
31: 6(float) Load 17
32: 7(fvec4) CompositeConstruct 10 15 31 10
Store 9(r0) 32
35(n_dot_l): 7(ptr) Variable Function
39(n_dot_h): 7(ptr) Variable Function
42(m): 7(ptr) Variable Function
45(param): 7(ptr) Variable Function
47(param): 7(ptr) Variable Function
49(param): 7(ptr) Variable Function
38: 6(float) Load 37(n_dot_l)
Store 35(n_dot_l) 38
41: 6(float) Load 40(n_dot_h)
Store 39(n_dot_h) 41
44: 6(float) Load 43(m)
Store 42(m) 44
46: 6(float) Load 35(n_dot_l)
Store 45(param) 46
48: 6(float) Load 39(n_dot_h)
Store 47(param) 48
50: 6(float) Load 42(m)
Store 49(param) 50
51: 2 FunctionCall 12(@PixelShaderFunction(f1;f1;f1;) 45(param) 47(param) 49(param)
Return
FunctionEnd
12(@PixelShaderFunction(f1;f1;f1;): 2 Function None 8
9(n_dot_l): 7(ptr) FunctionParameter
10(n_dot_h): 7(ptr) FunctionParameter
11(m): 7(ptr) FunctionParameter
13: Label
16(r0): 15(ptr) Variable Function
21: 7(ptr) Variable Function
18: 6(float) Load 9(n_dot_l)
20: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 18 19
22: 6(float) Load 9(n_dot_l)
23: 6(float) Load 10(n_dot_h)
24: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 22 23
26: 25(bool) FOrdLessThan 24 19
SelectionMerge 28 None
BranchConditional 26 27 29
27: Label
Store 21 19
Branch 28
29: Label
30: 6(float) Load 10(n_dot_h)
31: 6(float) Load 11(m)
32: 6(float) FMul 30 31
Store 21 32
Branch 28
28: Label
33: 6(float) Load 21
34: 14(fvec4) CompositeConstruct 17 20 33 17
Store 16(r0) 34
Return
FunctionEnd

View File

@ -45,22 +45,41 @@ local_size = (1, 1, 1)
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:158 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:158 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:158 Function Parameters:
0:158 'inF0' (layout(location=0 ) in 4-component vector of float)
0:158 'inF1' (layout(location=1 ) in 4-component vector of float)
0:158 'inF2' (layout(location=2 ) in 4-component vector of float)
0:158 'inI0' (layout(location=3 ) in 4-component vector of int)
0:158 'inF0' (in 4-component vector of float)
0:158 'inF1' (in 4-component vector of float)
0:158 'inF2' (in 4-component vector of float)
0:158 'inI0' (in 4-component vector of int)
0:? Sequence
0:199 Sequence
0:199 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:199 Branch: Return
0:199 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:158 Function Definition: ComputeShaderFunction( (temp void)
0:158 Function Parameters:
0:? Sequence
0:158 move second child to first child (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:158 move second child to first child (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:158 move second child to first child (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:158 move second child to first child (temp 4-component vector of int)
0:? 'inI0' (temp 4-component vector of int)
0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
0:158 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:158 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inI0' (temp 4-component vector of int)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
@ -118,22 +137,41 @@ local_size = (1, 1, 1)
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:158 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:158 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:158 Function Parameters:
0:158 'inF0' (layout(location=0 ) in 4-component vector of float)
0:158 'inF1' (layout(location=1 ) in 4-component vector of float)
0:158 'inF2' (layout(location=2 ) in 4-component vector of float)
0:158 'inI0' (layout(location=3 ) in 4-component vector of int)
0:158 'inF0' (in 4-component vector of float)
0:158 'inF1' (in 4-component vector of float)
0:158 'inF2' (in 4-component vector of float)
0:158 'inI0' (in 4-component vector of int)
0:? Sequence
0:199 Sequence
0:199 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:199 Branch: Return
0:199 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:158 Function Definition: ComputeShaderFunction( (temp void)
0:158 Function Parameters:
0:? Sequence
0:158 move second child to first child (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:158 move second child to first child (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:158 move second child to first child (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:158 move second child to first child (temp 4-component vector of int)
0:? 'inI0' (temp 4-component vector of int)
0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
0:158 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:158 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inI0' (temp 4-component vector of int)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
@ -143,12 +181,12 @@ local_size = (1, 1, 1)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 72
// Id's are bound by 99
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "ComputeShaderFunction" 61 66 67 68 71
EntryPoint GLCompute 4 "ComputeShaderFunction" 76 79 82 86 89
ExecutionMode 4 LocalSize 1 1 1
Name 4 "ComputeShaderFunction"
Name 15 "ComputeShaderFunctionS(f1;f1;f1;i1;"
@ -171,16 +209,29 @@ local_size = (1, 1, 1)
Name 40 "inF1"
Name 41 "inF2"
Name 42 "inI0"
Name 61 "@entryPointOutput"
Name 66 "inF0"
Name 67 "inF1"
Name 68 "inF2"
Name 71 "inI0"
Decorate 61(@entryPointOutput) Location 0
Decorate 66(inF0) Location 0
Decorate 67(inF1) Location 1
Decorate 68(inF2) Location 2
Decorate 71(inI0) Location 3
Name 54 "@ComputeShaderFunction(vf4;vf4;vf4;vi4;"
Name 50 "inF0"
Name 51 "inF1"
Name 52 "inF2"
Name 53 "inI0"
Name 74 "inF0"
Name 76 "inF0"
Name 78 "inF1"
Name 79 "inF1"
Name 81 "inF2"
Name 82 "inF2"
Name 84 "inI0"
Name 86 "inI0"
Name 89 "@entryPointOutput"
Name 90 "param"
Name 92 "param"
Name 94 "param"
Name 96 "param"
Decorate 76(inF0) Location 0
Decorate 79(inF1) Location 1
Decorate 82(inF2) Location 2
Decorate 86(inI0) Location 3
Decorate 89(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -198,27 +249,55 @@ local_size = (1, 1, 1)
36: TypeVector 8(int) 3
37: TypePointer Function 36(ivec3)
38: TypeFunction 34(fvec3) 35(ptr) 35(ptr) 35(ptr) 37(ptr)
45: 6(float) Constant 0
50: 6(float) Constant 1065353216
51: 6(float) Constant 1073741824
52: 23(fvec2) ConstantComposite 50 51
55: 6(float) Constant 1077936128
56: 34(fvec3) ConstantComposite 50 51 55
59: TypeVector 6(float) 4
60: TypePointer Output 59(fvec4)
61(@entryPointOutput): 60(ptr) Variable Output
62: 6(float) Constant 1082130432
63: 59(fvec4) ConstantComposite 50 51 55 62
65: TypePointer Input 59(fvec4)
66(inF0): 65(ptr) Variable Input
67(inF1): 65(ptr) Variable Input
68(inF2): 65(ptr) Variable Input
69: TypeVector 8(int) 4
70: TypePointer Input 69(ivec4)
71(inI0): 70(ptr) Variable Input
45: TypeVector 6(float) 4
46: TypePointer Function 45(fvec4)
47: TypeVector 8(int) 4
48: TypePointer Function 47(ivec4)
49: TypeFunction 45(fvec4) 46(ptr) 46(ptr) 46(ptr) 48(ptr)
56: 6(float) Constant 0
61: 6(float) Constant 1065353216
62: 6(float) Constant 1073741824
63: 23(fvec2) ConstantComposite 61 62
66: 6(float) Constant 1077936128
67: 34(fvec3) ConstantComposite 61 62 66
70: 6(float) Constant 1082130432
71: 45(fvec4) ConstantComposite 61 62 66 70
75: TypePointer Input 45(fvec4)
76(inF0): 75(ptr) Variable Input
79(inF1): 75(ptr) Variable Input
82(inF2): 75(ptr) Variable Input
85: TypePointer Input 47(ivec4)
86(inI0): 85(ptr) Variable Input
88: TypePointer Output 45(fvec4)
89(@entryPointOutput): 88(ptr) Variable Output
4(ComputeShaderFunction): 2 Function None 3
5: Label
Store 61(@entryPointOutput) 63
74(inF0): 46(ptr) Variable Function
78(inF1): 46(ptr) Variable Function
81(inF2): 46(ptr) Variable Function
84(inI0): 48(ptr) Variable Function
90(param): 46(ptr) Variable Function
92(param): 46(ptr) Variable Function
94(param): 46(ptr) Variable Function
96(param): 48(ptr) Variable Function
77: 45(fvec4) Load 76(inF0)
Store 74(inF0) 77
80: 45(fvec4) Load 79(inF1)
Store 78(inF1) 80
83: 45(fvec4) Load 82(inF2)
Store 81(inF2) 83
87: 47(ivec4) Load 86(inI0)
Store 84(inI0) 87
91: 45(fvec4) Load 74(inF0)
Store 90(param) 91
93: 45(fvec4) Load 78(inF1)
Store 92(param) 93
95: 45(fvec4) Load 81(inF2)
Store 94(param) 95
97: 47(ivec4) Load 84(inI0)
Store 96(param) 97
98: 45(fvec4) FunctionCall 54(@ComputeShaderFunction(vf4;vf4;vf4;vi4;) 90(param) 92(param) 94(param) 96(param)
Store 89(@entryPointOutput) 98
Return
FunctionEnd
15(ComputeShaderFunctionS(f1;f1;f1;i1;): 6(float) Function None 10
@ -227,7 +306,7 @@ local_size = (1, 1, 1)
13(inF2): 7(ptr) FunctionParameter
14(inI0): 9(ptr) FunctionParameter
16: Label
ReturnValue 45
ReturnValue 56
FunctionEnd
21(ComputeShaderFunction1(vf1;vf1;vf1;vi1;): 6(float) Function None 10
17(inF0): 7(ptr) FunctionParameter
@ -235,7 +314,7 @@ local_size = (1, 1, 1)
19(inF2): 7(ptr) FunctionParameter
20(inI0): 9(ptr) FunctionParameter
22: Label
ReturnValue 45
ReturnValue 56
FunctionEnd
32(ComputeShaderFunction2(vf2;vf2;vf2;vi2;): 23(fvec2) Function None 27
28(inF0): 24(ptr) FunctionParameter
@ -243,7 +322,7 @@ local_size = (1, 1, 1)
30(inF2): 24(ptr) FunctionParameter
31(inI0): 26(ptr) FunctionParameter
33: Label
ReturnValue 52
ReturnValue 63
FunctionEnd
43(ComputeShaderFunction3(vf3;vf3;vf3;vi3;): 34(fvec3) Function None 38
39(inF0): 35(ptr) FunctionParameter
@ -251,5 +330,13 @@ local_size = (1, 1, 1)
41(inF2): 35(ptr) FunctionParameter
42(inI0): 37(ptr) FunctionParameter
44: Label
ReturnValue 56
ReturnValue 67
FunctionEnd
54(@ComputeShaderFunction(vf4;vf4;vf4;vi4;): 45(fvec4) Function None 49
50(inF0): 46(ptr) FunctionParameter
51(inF1): 46(ptr) FunctionParameter
52(inF2): 46(ptr) FunctionParameter
53(inI0): 48(ptr) FunctionParameter
55: Label
ReturnValue 71
FunctionEnd

View File

@ -250,49 +250,68 @@ ERROR: node is still EOpNull!
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:80 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:80 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:80 Function Parameters:
0:80 'inF0' (layout(location=0 ) in 4-component vector of float)
0:80 'inF1' (layout(location=1 ) in 4-component vector of float)
0:80 'inF2' (layout(location=2 ) in 4-component vector of float)
0:80 'inI0' (layout(location=3 ) in 4-component vector of int)
0:80 'inF0' (in 4-component vector of float)
0:80 'inF1' (in 4-component vector of float)
0:80 'inF2' (in 4-component vector of float)
0:80 'inI0' (in 4-component vector of int)
0:? Sequence
0:81 Constant:
0:81 0.000000
0:82 bitCount (temp 4-component vector of uint)
0:82 Convert float to uint (temp 4-component vector of uint)
0:82 'inF0' (layout(location=0 ) in 4-component vector of float)
0:82 'inF0' (in 4-component vector of float)
0:83 cross-product (temp 3-component vector of float)
0:83 Construct vec3 (in 3-component vector of float)
0:83 'inF0' (layout(location=0 ) in 4-component vector of float)
0:83 'inF0' (in 4-component vector of float)
0:83 Construct vec3 (in 3-component vector of float)
0:83 'inF1' (layout(location=1 ) in 4-component vector of float)
0:83 'inF1' (in 4-component vector of float)
0:84 Constant:
0:84 0.000000
0:85 ERROR: Bad unary op
(temp 4-component vector of float)
0:85 Convert float to uint (temp 4-component vector of uint)
0:85 'inF0' (layout(location=0 ) in 4-component vector of float)
0:85 'inF0' (in 4-component vector of float)
0:86 findMSB (temp 4-component vector of uint)
0:86 Convert float to uint (temp 4-component vector of uint)
0:86 'inF0' (layout(location=0 ) in 4-component vector of float)
0:86 'inF0' (in 4-component vector of float)
0:87 findLSB (temp 4-component vector of uint)
0:87 Convert float to uint (temp 4-component vector of uint)
0:87 'inF0' (layout(location=0 ) in 4-component vector of float)
0:87 'inF0' (in 4-component vector of float)
0:89 bitFieldReverse (temp 4-component vector of uint)
0:89 Convert float to uint (temp 4-component vector of uint)
0:89 'inF0' (layout(location=0 ) in 4-component vector of float)
0:89 'inF0' (in 4-component vector of float)
0:90 Constant:
0:90 0.000000
0:92 Sequence
0:92 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:92 Branch: Return
0:92 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:80 Function Definition: PixelShaderFunction( (temp void)
0:80 Function Parameters:
0:? Sequence
0:80 move second child to first child (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:80 move second child to first child (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:80 move second child to first child (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:80 move second child to first child (temp 4-component vector of int)
0:? 'inI0' (temp 4-component vector of int)
0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
0:80 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:80 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inI0' (temp 4-component vector of int)
0:115 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float)
0:115 Function Parameters:
0:115 'inF0' (in 2X2 matrix of float)
@ -619,49 +638,68 @@ ERROR: node is still EOpNull!
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:80 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:80 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:80 Function Parameters:
0:80 'inF0' (layout(location=0 ) in 4-component vector of float)
0:80 'inF1' (layout(location=1 ) in 4-component vector of float)
0:80 'inF2' (layout(location=2 ) in 4-component vector of float)
0:80 'inI0' (layout(location=3 ) in 4-component vector of int)
0:80 'inF0' (in 4-component vector of float)
0:80 'inF1' (in 4-component vector of float)
0:80 'inF2' (in 4-component vector of float)
0:80 'inI0' (in 4-component vector of int)
0:? Sequence
0:81 Constant:
0:81 0.000000
0:82 bitCount (temp 4-component vector of uint)
0:82 Convert float to uint (temp 4-component vector of uint)
0:82 'inF0' (layout(location=0 ) in 4-component vector of float)
0:82 'inF0' (in 4-component vector of float)
0:83 cross-product (temp 3-component vector of float)
0:83 Construct vec3 (in 3-component vector of float)
0:83 'inF0' (layout(location=0 ) in 4-component vector of float)
0:83 'inF0' (in 4-component vector of float)
0:83 Construct vec3 (in 3-component vector of float)
0:83 'inF1' (layout(location=1 ) in 4-component vector of float)
0:83 'inF1' (in 4-component vector of float)
0:84 Constant:
0:84 0.000000
0:85 ERROR: Bad unary op
(temp 4-component vector of float)
0:85 Convert float to uint (temp 4-component vector of uint)
0:85 'inF0' (layout(location=0 ) in 4-component vector of float)
0:85 'inF0' (in 4-component vector of float)
0:86 findMSB (temp 4-component vector of uint)
0:86 Convert float to uint (temp 4-component vector of uint)
0:86 'inF0' (layout(location=0 ) in 4-component vector of float)
0:86 'inF0' (in 4-component vector of float)
0:87 findLSB (temp 4-component vector of uint)
0:87 Convert float to uint (temp 4-component vector of uint)
0:87 'inF0' (layout(location=0 ) in 4-component vector of float)
0:87 'inF0' (in 4-component vector of float)
0:89 bitFieldReverse (temp 4-component vector of uint)
0:89 Convert float to uint (temp 4-component vector of uint)
0:89 'inF0' (layout(location=0 ) in 4-component vector of float)
0:89 'inF0' (in 4-component vector of float)
0:90 Constant:
0:90 0.000000
0:92 Sequence
0:92 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:92 Branch: Return
0:92 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:80 Function Definition: PixelShaderFunction( (temp void)
0:80 Function Parameters:
0:? Sequence
0:80 move second child to first child (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:80 move second child to first child (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:80 move second child to first child (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:80 move second child to first child (temp 4-component vector of int)
0:? 'inI0' (temp 4-component vector of int)
0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
0:80 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:80 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inI0' (temp 4-component vector of int)
0:115 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float)
0:115 Function Parameters:
0:115 'inF0' (in 2X2 matrix of float)

View File

@ -44,22 +44,41 @@ Shader version: 450
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:176 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:176 Function Definition: @VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:176 Function Parameters:
0:176 'inF0' (layout(location=0 ) in 4-component vector of float)
0:176 'inF1' (layout(location=1 ) in 4-component vector of float)
0:176 'inF2' (layout(location=2 ) in 4-component vector of float)
0:176 'inI0' (layout(location=3 ) in 4-component vector of int)
0:176 'inF0' (in 4-component vector of float)
0:176 'inF1' (in 4-component vector of float)
0:176 'inF2' (in 4-component vector of float)
0:176 'inI0' (in 4-component vector of int)
0:? Sequence
0:217 Sequence
0:217 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:217 Branch: Return
0:217 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:176 Function Definition: VertexShaderFunction( (temp void)
0:176 Function Parameters:
0:? Sequence
0:176 move second child to first child (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:176 move second child to first child (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:176 move second child to first child (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:176 move second child to first child (temp 4-component vector of int)
0:? 'inI0' (temp 4-component vector of int)
0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
0:176 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:176 Function Call: @VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inI0' (temp 4-component vector of int)
0:226 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float)
0:226 Function Parameters:
0:226 'inF0' (in 2X2 matrix of float)
@ -114,11 +133,6 @@ Shader version: 450
0:? 4.000000
0:? 4.000000
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
0:? 'gs_ua' (global uint)
0:? 'gs_ub' (global uint)
0:? 'gs_uc' (global uint)
@ -131,6 +145,11 @@ Shader version: 450
0:? 'gs_ua4' (global 4-component vector of uint)
0:? 'gs_ub4' (global 4-component vector of uint)
0:? 'gs_uc4' (global 4-component vector of uint)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
Linked vertex stage:
@ -181,22 +200,41 @@ Shader version: 450
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:176 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:176 Function Definition: @VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:176 Function Parameters:
0:176 'inF0' (layout(location=0 ) in 4-component vector of float)
0:176 'inF1' (layout(location=1 ) in 4-component vector of float)
0:176 'inF2' (layout(location=2 ) in 4-component vector of float)
0:176 'inI0' (layout(location=3 ) in 4-component vector of int)
0:176 'inF0' (in 4-component vector of float)
0:176 'inF1' (in 4-component vector of float)
0:176 'inF2' (in 4-component vector of float)
0:176 'inI0' (in 4-component vector of int)
0:? Sequence
0:217 Sequence
0:217 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:217 Branch: Return
0:217 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:176 Function Definition: VertexShaderFunction( (temp void)
0:176 Function Parameters:
0:? Sequence
0:176 move second child to first child (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:176 move second child to first child (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:176 move second child to first child (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:176 move second child to first child (temp 4-component vector of int)
0:? 'inI0' (temp 4-component vector of int)
0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
0:176 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:176 Function Call: @VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
0:? 'inF0' (temp 4-component vector of float)
0:? 'inF1' (temp 4-component vector of float)
0:? 'inF2' (temp 4-component vector of float)
0:? 'inI0' (temp 4-component vector of int)
0:226 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float)
0:226 Function Parameters:
0:226 'inF0' (in 2X2 matrix of float)
@ -251,11 +289,6 @@ Shader version: 450
0:? 4.000000
0:? 4.000000
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
0:? 'gs_ua' (global uint)
0:? 'gs_ub' (global uint)
0:? 'gs_uc' (global uint)
@ -268,15 +301,20 @@ Shader version: 450
0:? 'gs_ua4' (global 4-component vector of uint)
0:? 'gs_ub4' (global 4-component vector of uint)
0:? 'gs_uc4' (global 4-component vector of uint)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'inF0' (layout(location=0 ) in 4-component vector of float)
0:? 'inF1' (layout(location=1 ) in 4-component vector of float)
0:? 'inF2' (layout(location=2 ) in 4-component vector of float)
0:? 'inI0' (layout(location=3 ) in 4-component vector of int)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 128
// Id's are bound by 155
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "VertexShaderFunction" 85 102 103 104 107
EntryPoint Vertex 4 "VertexShaderFunction" 100 103 106 110 113
Name 4 "VertexShaderFunction"
Name 15 "VertexShaderFunctionS(f1;f1;f1;i1;"
Name 11 "inF0"
@ -298,40 +336,53 @@ Shader version: 450
Name 40 "inF1"
Name 41 "inF2"
Name 42 "inI0"
Name 51 "VertexShaderFunction2x2(mf22;mf22;mf22;"
Name 48 "inF0"
Name 49 "inF1"
Name 50 "inF2"
Name 59 "VertexShaderFunction3x3(mf33;mf33;mf33;"
Name 56 "inF0"
Name 57 "inF1"
Name 58 "inF2"
Name 68 "VertexShaderFunction4x4(mf44;mf44;mf44;"
Name 65 "inF0"
Name 66 "inF1"
Name 67 "inF2"
Name 85 "@entryPointOutput"
Name 102 "inF0"
Name 54 "@VertexShaderFunction(vf4;vf4;vf4;vi4;"
Name 50 "inF0"
Name 51 "inF1"
Name 52 "inF2"
Name 53 "inI0"
Name 62 "VertexShaderFunction2x2(mf22;mf22;mf22;"
Name 59 "inF0"
Name 60 "inF1"
Name 61 "inF2"
Name 70 "VertexShaderFunction3x3(mf33;mf33;mf33;"
Name 67 "inF0"
Name 68 "inF1"
Name 69 "inF2"
Name 78 "VertexShaderFunction4x4(mf44;mf44;mf44;"
Name 75 "inF0"
Name 76 "inF1"
Name 77 "inF2"
Name 98 "inF0"
Name 100 "inF0"
Name 102 "inF1"
Name 103 "inF1"
Name 104 "inF2"
Name 107 "inI0"
Name 110 "gs_ua"
Name 111 "gs_ub"
Name 112 "gs_uc"
Name 115 "gs_ua2"
Name 116 "gs_ub2"
Name 117 "gs_uc2"
Name 120 "gs_ua3"
Name 121 "gs_ub3"
Name 122 "gs_uc3"
Name 125 "gs_ua4"
Name 126 "gs_ub4"
Name 127 "gs_uc4"
Decorate 85(@entryPointOutput) Location 0
Decorate 102(inF0) Location 0
Name 105 "inF2"
Name 106 "inF2"
Name 108 "inI0"
Name 110 "inI0"
Name 113 "@entryPointOutput"
Name 114 "param"
Name 116 "param"
Name 118 "param"
Name 120 "param"
Name 137 "gs_ua"
Name 138 "gs_ub"
Name 139 "gs_uc"
Name 142 "gs_ua2"
Name 143 "gs_ub2"
Name 144 "gs_uc2"
Name 147 "gs_ua3"
Name 148 "gs_ub3"
Name 149 "gs_uc3"
Name 152 "gs_ua4"
Name 153 "gs_ub4"
Name 154 "gs_uc4"
Decorate 100(inF0) Location 0
Decorate 103(inF1) Location 1
Decorate 104(inF2) Location 2
Decorate 107(inI0) Location 3
Decorate 106(inF2) Location 2
Decorate 110(inI0) Location 3
Decorate 113(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -349,62 +400,90 @@ Shader version: 450
36: TypeVector 8(int) 3
37: TypePointer Function 36(ivec3)
38: TypeFunction 34(fvec3) 35(ptr) 35(ptr) 35(ptr) 37(ptr)
45: TypeMatrix 23(fvec2) 2
46: TypePointer Function 45
47: TypeFunction 45 46(ptr) 46(ptr) 46(ptr)
53: TypeMatrix 34(fvec3) 3
54: TypePointer Function 53
55: TypeFunction 53 54(ptr) 54(ptr) 54(ptr)
61: TypeVector 6(float) 4
62: TypeMatrix 61(fvec4) 4
63: TypePointer Function 62
64: TypeFunction 62 63(ptr) 63(ptr) 63(ptr)
70: 6(float) Constant 0
75: 6(float) Constant 1065353216
76: 6(float) Constant 1073741824
77: 23(fvec2) ConstantComposite 75 76
80: 6(float) Constant 1077936128
81: 34(fvec3) ConstantComposite 75 76 80
84: TypePointer Output 61(fvec4)
85(@entryPointOutput): 84(ptr) Variable Output
86: 6(float) Constant 1082130432
87: 61(fvec4) ConstantComposite 75 76 80 86
89: 23(fvec2) ConstantComposite 76 76
90: 45 ConstantComposite 89 89
93: 34(fvec3) ConstantComposite 80 80 80
94: 53 ConstantComposite 93 93 93
97: 61(fvec4) ConstantComposite 86 86 86 86
98: 62 ConstantComposite 97 97 97 97
101: TypePointer Input 61(fvec4)
102(inF0): 101(ptr) Variable Input
103(inF1): 101(ptr) Variable Input
104(inF2): 101(ptr) Variable Input
105: TypeVector 8(int) 4
106: TypePointer Input 105(ivec4)
107(inI0): 106(ptr) Variable Input
108: TypeInt 32 0
109: TypePointer Private 108(int)
110(gs_ua): 109(ptr) Variable Private
111(gs_ub): 109(ptr) Variable Private
112(gs_uc): 109(ptr) Variable Private
113: TypeVector 108(int) 2
114: TypePointer Private 113(ivec2)
115(gs_ua2): 114(ptr) Variable Private
116(gs_ub2): 114(ptr) Variable Private
117(gs_uc2): 114(ptr) Variable Private
118: TypeVector 108(int) 3
119: TypePointer Private 118(ivec3)
120(gs_ua3): 119(ptr) Variable Private
121(gs_ub3): 119(ptr) Variable Private
122(gs_uc3): 119(ptr) Variable Private
123: TypeVector 108(int) 4
124: TypePointer Private 123(ivec4)
125(gs_ua4): 124(ptr) Variable Private
126(gs_ub4): 124(ptr) Variable Private
127(gs_uc4): 124(ptr) Variable Private
45: TypeVector 6(float) 4
46: TypePointer Function 45(fvec4)
47: TypeVector 8(int) 4
48: TypePointer Function 47(ivec4)
49: TypeFunction 45(fvec4) 46(ptr) 46(ptr) 46(ptr) 48(ptr)
56: TypeMatrix 23(fvec2) 2
57: TypePointer Function 56
58: TypeFunction 56 57(ptr) 57(ptr) 57(ptr)
64: TypeMatrix 34(fvec3) 3
65: TypePointer Function 64
66: TypeFunction 64 65(ptr) 65(ptr) 65(ptr)
72: TypeMatrix 45(fvec4) 4
73: TypePointer Function 72
74: TypeFunction 72 73(ptr) 73(ptr) 73(ptr)
80: 6(float) Constant 0
85: 6(float) Constant 1065353216
86: 6(float) Constant 1073741824
87: 23(fvec2) ConstantComposite 85 86
90: 6(float) Constant 1077936128
91: 34(fvec3) ConstantComposite 85 86 90
94: 6(float) Constant 1082130432
95: 45(fvec4) ConstantComposite 85 86 90 94
99: TypePointer Input 45(fvec4)
100(inF0): 99(ptr) Variable Input
103(inF1): 99(ptr) Variable Input
106(inF2): 99(ptr) Variable Input
109: TypePointer Input 47(ivec4)
110(inI0): 109(ptr) Variable Input
112: TypePointer Output 45(fvec4)
113(@entryPointOutput): 112(ptr) Variable Output
123: 23(fvec2) ConstantComposite 86 86
124: 56 ConstantComposite 123 123
127: 34(fvec3) ConstantComposite 90 90 90
128: 64 ConstantComposite 127 127 127
131: 45(fvec4) ConstantComposite 94 94 94 94
132: 72 ConstantComposite 131 131 131 131
135: TypeInt 32 0
136: TypePointer Private 135(int)
137(gs_ua): 136(ptr) Variable Private
138(gs_ub): 136(ptr) Variable Private
139(gs_uc): 136(ptr) Variable Private
140: TypeVector 135(int) 2
141: TypePointer Private 140(ivec2)
142(gs_ua2): 141(ptr) Variable Private
143(gs_ub2): 141(ptr) Variable Private
144(gs_uc2): 141(ptr) Variable Private
145: TypeVector 135(int) 3
146: TypePointer Private 145(ivec3)
147(gs_ua3): 146(ptr) Variable Private
148(gs_ub3): 146(ptr) Variable Private
149(gs_uc3): 146(ptr) Variable Private
150: TypeVector 135(int) 4
151: TypePointer Private 150(ivec4)
152(gs_ua4): 151(ptr) Variable Private
153(gs_ub4): 151(ptr) Variable Private
154(gs_uc4): 151(ptr) Variable Private
4(VertexShaderFunction): 2 Function None 3
5: Label
Store 85(@entryPointOutput) 87
98(inF0): 46(ptr) Variable Function
102(inF1): 46(ptr) Variable Function
105(inF2): 46(ptr) Variable Function
108(inI0): 48(ptr) Variable Function
114(param): 46(ptr) Variable Function
116(param): 46(ptr) Variable Function
118(param): 46(ptr) Variable Function
120(param): 48(ptr) Variable Function
101: 45(fvec4) Load 100(inF0)
Store 98(inF0) 101
104: 45(fvec4) Load 103(inF1)
Store 102(inF1) 104
107: 45(fvec4) Load 106(inF2)
Store 105(inF2) 107
111: 47(ivec4) Load 110(inI0)
Store 108(inI0) 111
115: 45(fvec4) Load 98(inF0)
Store 114(param) 115
117: 45(fvec4) Load 102(inF1)
Store 116(param) 117
119: 45(fvec4) Load 105(inF2)
Store 118(param) 119
121: 47(ivec4) Load 108(inI0)
Store 120(param) 121
122: 45(fvec4) FunctionCall 54(@VertexShaderFunction(vf4;vf4;vf4;vi4;) 114(param) 116(param) 118(param) 120(param)
Store 113(@entryPointOutput) 122
Return
FunctionEnd
15(VertexShaderFunctionS(f1;f1;f1;i1;): 6(float) Function None 10
@ -413,7 +492,7 @@ Shader version: 450
13(inF2): 7(ptr) FunctionParameter
14(inI0): 9(ptr) FunctionParameter
16: Label
ReturnValue 70
ReturnValue 80
FunctionEnd
21(VertexShaderFunction1(vf1;vf1;vf1;vi1;): 6(float) Function None 10
17(inF0): 7(ptr) FunctionParameter
@ -421,7 +500,7 @@ Shader version: 450
19(inF2): 7(ptr) FunctionParameter
20(inI0): 9(ptr) FunctionParameter
22: Label
ReturnValue 70
ReturnValue 80
FunctionEnd
32(VertexShaderFunction2(vf2;vf2;vf2;vi2;): 23(fvec2) Function None 27
28(inF0): 24(ptr) FunctionParameter
@ -429,7 +508,7 @@ Shader version: 450
30(inF2): 24(ptr) FunctionParameter
31(inI0): 26(ptr) FunctionParameter
33: Label
ReturnValue 77
ReturnValue 87
FunctionEnd
43(VertexShaderFunction3(vf3;vf3;vf3;vi3;): 34(fvec3) Function None 38
39(inF0): 35(ptr) FunctionParameter
@ -437,26 +516,34 @@ Shader version: 450
41(inF2): 35(ptr) FunctionParameter
42(inI0): 37(ptr) FunctionParameter
44: Label
ReturnValue 81
ReturnValue 91
FunctionEnd
51(VertexShaderFunction2x2(mf22;mf22;mf22;): 45 Function None 47
48(inF0): 46(ptr) FunctionParameter
49(inF1): 46(ptr) FunctionParameter
50(inF2): 46(ptr) FunctionParameter
52: Label
ReturnValue 90
54(@VertexShaderFunction(vf4;vf4;vf4;vi4;): 45(fvec4) Function None 49
50(inF0): 46(ptr) FunctionParameter
51(inF1): 46(ptr) FunctionParameter
52(inF2): 46(ptr) FunctionParameter
53(inI0): 48(ptr) FunctionParameter
55: Label
ReturnValue 95
FunctionEnd
59(VertexShaderFunction3x3(mf33;mf33;mf33;): 53 Function None 55
56(inF0): 54(ptr) FunctionParameter
57(inF1): 54(ptr) FunctionParameter
58(inF2): 54(ptr) FunctionParameter
60: Label
ReturnValue 94
62(VertexShaderFunction2x2(mf22;mf22;mf22;): 56 Function None 58
59(inF0): 57(ptr) FunctionParameter
60(inF1): 57(ptr) FunctionParameter
61(inF2): 57(ptr) FunctionParameter
63: Label
ReturnValue 124
FunctionEnd
68(VertexShaderFunction4x4(mf44;mf44;mf44;): 62 Function None 64
65(inF0): 63(ptr) FunctionParameter
66(inF1): 63(ptr) FunctionParameter
67(inF2): 63(ptr) FunctionParameter
69: Label
ReturnValue 98
70(VertexShaderFunction3x3(mf33;mf33;mf33;): 64 Function None 66
67(inF0): 65(ptr) FunctionParameter
68(inF1): 65(ptr) FunctionParameter
69(inF2): 65(ptr) FunctionParameter
71: Label
ReturnValue 128
FunctionEnd
78(VertexShaderFunction4x4(mf44;mf44;mf44;): 72 Function None 74
75(inF0): 73(ptr) FunctionParameter
76(inF1): 73(ptr) FunctionParameter
77(inF2): 73(ptr) FunctionParameter
79: Label
ReturnValue 132
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.intrinsics.promote.down.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:15 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:15 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:15 Function Parameters:
0:? Sequence
0:16 Sequence
@ -33,15 +33,18 @@ gl_FragCoord origin is upper left
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:21 Sequence
0:21 Sequence
0:21 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:21 color: direct index for structure (temp 4-component vector of float)
0:21 'ps_output' (temp structure{temp 4-component vector of float color})
0:21 Constant:
0:21 0 (const int)
0:21 Branch: Return
0:21 Branch: Return with expression
0:21 'ps_output' (temp structure{temp 4-component vector of float color})
0:15 Function Definition: main( (temp void)
0:15 Function Parameters:
0:? Sequence
0:15 Sequence
0:15 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:15 color: direct index for structure (temp 4-component vector of float)
0:15 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:15 Constant:
0:15 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2})
@ -53,7 +56,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:15 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:15 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:15 Function Parameters:
0:? Sequence
0:16 Sequence
@ -84,101 +87,111 @@ gl_FragCoord origin is upper left
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:21 Sequence
0:21 Sequence
0:21 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:21 color: direct index for structure (temp 4-component vector of float)
0:21 'ps_output' (temp structure{temp 4-component vector of float color})
0:21 Constant:
0:21 0 (const int)
0:21 Branch: Return
0:21 Branch: Return with expression
0:21 'ps_output' (temp structure{temp 4-component vector of float color})
0:15 Function Definition: main( (temp void)
0:15 Function Parameters:
0:? Sequence
0:15 Sequence
0:15 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:15 color: direct index for structure (temp 4-component vector of float)
0:15 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:15 Constant:
0:15 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 45
// Id's are bound by 50
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 41
EntryPoint Fragment 4 "main" 47
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "r00"
Name 14 "$Global"
MemberName 14($Global) 0 "i"
MemberName 14($Global) 1 "u"
MemberName 14($Global) 2 "f"
MemberName 14($Global) 3 "b"
MemberName 14($Global) 4 "i2"
MemberName 14($Global) 5 "u2"
MemberName 14($Global) 6 "f2"
MemberName 14($Global) 7 "b2"
Name 16 ""
Name 24 "r01"
Name 32 "PS_OUTPUT"
MemberName 32(PS_OUTPUT) 0 "color"
Name 34 "ps_output"
Name 41 "color"
MemberDecorate 14($Global) 0 Offset 0
MemberDecorate 14($Global) 1 Offset 4
MemberDecorate 14($Global) 2 Offset 8
MemberDecorate 14($Global) 3 Offset 12
MemberDecorate 14($Global) 4 Offset 16
MemberDecorate 14($Global) 5 Offset 24
MemberDecorate 14($Global) 6 Offset 32
MemberDecorate 14($Global) 7 Offset 40
Decorate 14($Global) Block
Decorate 16 DescriptorSet 0
Decorate 41(color) Location 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "color"
Name 10 "@main("
Name 14 "r00"
Name 19 "$Global"
MemberName 19($Global) 0 "i"
MemberName 19($Global) 1 "u"
MemberName 19($Global) 2 "f"
MemberName 19($Global) 3 "b"
MemberName 19($Global) 4 "i2"
MemberName 19($Global) 5 "u2"
MemberName 19($Global) 6 "f2"
MemberName 19($Global) 7 "b2"
Name 21 ""
Name 29 "r01"
Name 37 "ps_output"
Name 47 "color"
MemberDecorate 19($Global) 0 Offset 0
MemberDecorate 19($Global) 1 Offset 4
MemberDecorate 19($Global) 2 Offset 8
MemberDecorate 19($Global) 3 Offset 12
MemberDecorate 19($Global) 4 Offset 16
MemberDecorate 19($Global) 5 Offset 24
MemberDecorate 19($Global) 6 Offset 32
MemberDecorate 19($Global) 7 Offset 40
Decorate 19($Global) Block
Decorate 21 DescriptorSet 0
Decorate 47(color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypePointer Function 6(int)
9: TypeInt 32 1
10: TypeFloat 32
11: TypeVector 9(int) 2
12: TypeVector 6(int) 2
13: TypeVector 10(float) 2
14($Global): TypeStruct 9(int) 6(int) 10(float) 6(int) 11(ivec2) 12(ivec2) 13(fvec2) 12(ivec2)
15: TypePointer Uniform 14($Global)
16: 15(ptr) Variable Uniform
17: 9(int) Constant 2
18: TypePointer Uniform 10(float)
23: TypePointer Function 12(ivec2)
25: 9(int) Constant 6
26: TypePointer Uniform 13(fvec2)
31: TypeVector 10(float) 4
32(PS_OUTPUT): TypeStruct 31(fvec4)
33: TypePointer Function 32(PS_OUTPUT)
35: 9(int) Constant 0
36: 10(float) Constant 0
37: 31(fvec4) ConstantComposite 36 36 36 36
38: TypePointer Function 31(fvec4)
40: TypePointer Output 31(fvec4)
41(color): 40(ptr) Variable Output
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypeInt 32 0
13: TypePointer Function 12(int)
15: TypeInt 32 1
16: TypeVector 15(int) 2
17: TypeVector 12(int) 2
18: TypeVector 6(float) 2
19($Global): TypeStruct 15(int) 12(int) 6(float) 12(int) 16(ivec2) 17(ivec2) 18(fvec2) 17(ivec2)
20: TypePointer Uniform 19($Global)
21: 20(ptr) Variable Uniform
22: 15(int) Constant 2
23: TypePointer Uniform 6(float)
28: TypePointer Function 17(ivec2)
30: 15(int) Constant 6
31: TypePointer Uniform 18(fvec2)
36: TypePointer Function 8(PS_OUTPUT)
38: 15(int) Constant 0
39: 6(float) Constant 0
40: 7(fvec4) ConstantComposite 39 39 39 39
41: TypePointer Function 7(fvec4)
46: TypePointer Output 7(fvec4)
47(color): 46(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(r00): 7(ptr) Variable Function
24(r01): 23(ptr) Variable Function
34(ps_output): 33(ptr) Variable Function
19: 18(ptr) AccessChain 16 17
20: 10(float) Load 19
21: 6(int) ConvertFToU 20
22: 6(int) BitCount 21
Store 8(r00) 22
27: 26(ptr) AccessChain 16 25
28: 13(fvec2) Load 27
29: 12(ivec2) ConvertFToU 28
30: 12(ivec2) BitReverse 29
Store 24(r01) 30
39: 38(ptr) AccessChain 34(ps_output) 35
Store 39 37
42: 38(ptr) AccessChain 34(ps_output) 35
43: 31(fvec4) Load 42
Store 41(color) 43
48:8(PS_OUTPUT) FunctionCall 10(@main()
49: 7(fvec4) CompositeExtract 48 0
Store 47(color) 49
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
14(r00): 13(ptr) Variable Function
29(r01): 28(ptr) Variable Function
37(ps_output): 36(ptr) Variable Function
24: 23(ptr) AccessChain 21 22
25: 6(float) Load 24
26: 12(int) ConvertFToU 25
27: 12(int) BitCount 26
Store 14(r00) 27
32: 31(ptr) AccessChain 21 30
33: 18(fvec2) Load 32
34: 17(ivec2) ConvertFToU 33
35: 17(ivec2) BitReverse 34
Store 29(r01) 35
42: 41(ptr) AccessChain 37(ps_output) 38
Store 42 40
43:8(PS_OUTPUT) Load 37(ps_output)
ReturnValue 43
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.intrinsics.promote.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:20 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:20 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:20 Function Parameters:
0:? Sequence
0:23 Sequence
@ -421,19 +421,22 @@ gl_FragCoord origin is upper left
0:77 0 (const int)
0:77 Construct vec4 (temp 4-component vector of float)
0:77 'r00' (temp float)
0:78 Sequence
0:78 Sequence
0:78 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:78 color: direct index for structure (temp 4-component vector of float)
0:78 'ps_output' (temp structure{temp 4-component vector of float color})
0:78 Constant:
0:78 0 (const int)
0:78 Branch: Return
0:78 Branch: Return with expression
0:78 'ps_output' (temp structure{temp 4-component vector of float color})
0:20 Function Definition: main( (temp void)
0:20 Function Parameters:
0:? Sequence
0:20 Sequence
0:20 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:20 color: direct index for structure (temp 4-component vector of float)
0:20 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:20 Constant:
0:20 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
0:? 'g_tTex1df4' (uniform texture1D)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
@ -443,7 +446,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:20 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:20 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:20 Function Parameters:
0:? Sequence
0:23 Sequence
@ -862,24 +865,27 @@ gl_FragCoord origin is upper left
0:77 0 (const int)
0:77 Construct vec4 (temp 4-component vector of float)
0:77 'r00' (temp float)
0:78 Sequence
0:78 Sequence
0:78 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:78 color: direct index for structure (temp 4-component vector of float)
0:78 'ps_output' (temp structure{temp 4-component vector of float color})
0:78 Constant:
0:78 0 (const int)
0:78 Branch: Return
0:78 Branch: Return with expression
0:78 'ps_output' (temp structure{temp 4-component vector of float color})
0:20 Function Definition: main( (temp void)
0:20 Function Parameters:
0:? Sequence
0:20 Sequence
0:20 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:20 color: direct index for structure (temp 4-component vector of float)
0:20 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:20 Constant:
0:20 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
0:? 'g_tTex1df4' (uniform texture1D)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 320
// Id's are bound by 325
Capability Shader
Capability Sampled1D
@ -887,427 +893,434 @@ gl_FragCoord origin is upper left
Capability ImageQuery
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 316
EntryPoint Fragment 4 "main" 322
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "r00"
Name 14 "$Global"
MemberName 14($Global) 0 "i"
MemberName 14($Global) 1 "u"
MemberName 14($Global) 2 "f"
MemberName 14($Global) 3 "b"
MemberName 14($Global) 4 "i2"
MemberName 14($Global) 5 "u2"
MemberName 14($Global) 6 "f2"
MemberName 14($Global) 7 "b2"
MemberName 14($Global) 8 "upos"
MemberName 14($Global) 9 "fpos"
Name 16 ""
Name 33 "r01"
Name 44 "r02"
Name 54 "r03"
Name 61 "r04"
Name 69 "r10"
Name 86 "r11"
Name 97 "r12"
Name 109 "r13"
Name 116 "r14"
Name 123 "r20"
Name 133 "r21"
Name 145 "r22"
Name 157 "r30"
Name 166 "r31"
Name 175 "r32"
Name 184 "r33"
Name 192 "r34"
Name 200 "r40"
Name 211 "r41"
Name 224 "r42"
Name 238 "r43"
Name 250 "r50"
Name 254 "g_tTexbfs"
Name 264 "r51"
Name 273 "sizeQueryTemp"
Name 276 "g_tTex1df4"
Name 279 "WidthI"
Name 282 "sizeQueryTemp"
Name 288 "NumberOfLevelsU"
Name 291 "sizeQueryTemp"
Name 294 "WidthU"
Name 296 "NumberOfLevelsI"
Name 300 "sizeQueryTemp"
Name 308 "PS_OUTPUT"
MemberName 308(PS_OUTPUT) 0 "color"
Name 310 "ps_output"
Name 316 "color"
MemberDecorate 14($Global) 0 Offset 0
MemberDecorate 14($Global) 1 Offset 4
MemberDecorate 14($Global) 2 Offset 8
MemberDecorate 14($Global) 3 Offset 12
MemberDecorate 14($Global) 4 Offset 16
MemberDecorate 14($Global) 5 Offset 24
MemberDecorate 14($Global) 6 Offset 32
MemberDecorate 14($Global) 7 Offset 40
MemberDecorate 14($Global) 8 Offset 48
MemberDecorate 14($Global) 9 Offset 52
Decorate 14($Global) Block
Decorate 16 DescriptorSet 0
Decorate 254(g_tTexbfs) DescriptorSet 0
Decorate 276(g_tTex1df4) DescriptorSet 0
Decorate 316(color) Location 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "color"
Name 10 "@main("
Name 13 "r00"
Name 19 "$Global"
MemberName 19($Global) 0 "i"
MemberName 19($Global) 1 "u"
MemberName 19($Global) 2 "f"
MemberName 19($Global) 3 "b"
MemberName 19($Global) 4 "i2"
MemberName 19($Global) 5 "u2"
MemberName 19($Global) 6 "f2"
MemberName 19($Global) 7 "b2"
MemberName 19($Global) 8 "upos"
MemberName 19($Global) 9 "fpos"
Name 21 ""
Name 38 "r01"
Name 49 "r02"
Name 59 "r03"
Name 66 "r04"
Name 74 "r10"
Name 91 "r11"
Name 102 "r12"
Name 114 "r13"
Name 121 "r14"
Name 128 "r20"
Name 138 "r21"
Name 150 "r22"
Name 162 "r30"
Name 171 "r31"
Name 180 "r32"
Name 189 "r33"
Name 197 "r34"
Name 205 "r40"
Name 216 "r41"
Name 229 "r42"
Name 243 "r43"
Name 255 "r50"
Name 259 "g_tTexbfs"
Name 268 "r51"
Name 277 "sizeQueryTemp"
Name 280 "g_tTex1df4"
Name 283 "WidthI"
Name 286 "sizeQueryTemp"
Name 292 "NumberOfLevelsU"
Name 295 "sizeQueryTemp"
Name 298 "WidthU"
Name 300 "NumberOfLevelsI"
Name 304 "sizeQueryTemp"
Name 313 "ps_output"
Name 322 "color"
MemberDecorate 19($Global) 0 Offset 0
MemberDecorate 19($Global) 1 Offset 4
MemberDecorate 19($Global) 2 Offset 8
MemberDecorate 19($Global) 3 Offset 12
MemberDecorate 19($Global) 4 Offset 16
MemberDecorate 19($Global) 5 Offset 24
MemberDecorate 19($Global) 6 Offset 32
MemberDecorate 19($Global) 7 Offset 40
MemberDecorate 19($Global) 8 Offset 48
MemberDecorate 19($Global) 9 Offset 52
Decorate 19($Global) Block
Decorate 21 DescriptorSet 0
Decorate 259(g_tTexbfs) DescriptorSet 0
Decorate 280(g_tTex1df4) DescriptorSet 0
Decorate 322(color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
9: TypeInt 32 1
10: TypeInt 32 0
11: TypeVector 9(int) 2
12: TypeVector 10(int) 2
13: TypeVector 6(float) 2
14($Global): TypeStruct 9(int) 10(int) 6(float) 10(int) 11(ivec2) 12(ivec2) 13(fvec2) 12(ivec2) 10(int) 6(float)
15: TypePointer Uniform 14($Global)
16: 15(ptr) Variable Uniform
17: 9(int) Constant 3
18: TypePointer Uniform 10(int)
21: TypeBool
22: 10(int) Constant 0
24: 6(float) Constant 0
25: 6(float) Constant 1065353216
27: 9(int) Constant 2
28: TypePointer Uniform 6(float)
32: TypePointer Function 10(int)
37: 10(int) Constant 1
39: 9(int) Constant 1
43: TypePointer Function 9(int)
48: 9(int) Constant 0
50: TypePointer Uniform 9(int)
68: TypePointer Function 13(fvec2)
70: 9(int) Constant 7
71: TypePointer Uniform 12(ivec2)
74: TypeVector 21(bool) 2
75: 12(ivec2) ConstantComposite 22 22
77: 13(fvec2) ConstantComposite 24 24
78: 13(fvec2) ConstantComposite 25 25
80: 9(int) Constant 6
81: TypePointer Uniform 13(fvec2)
85: TypePointer Function 12(ivec2)
90: 12(ivec2) ConstantComposite 37 37
92: 9(int) Constant 5
96: TypePointer Function 11(ivec2)
101: 11(ivec2) ConstantComposite 48 48
102: 11(ivec2) ConstantComposite 39 39
104: 9(int) Constant 4
105: TypePointer Uniform 11(ivec2)
251: TypeImage 6(float) Buffer sampled format:R32f
252: TypeSampledImage 251
253: TypePointer UniformConstant 252
254(g_tTexbfs): 253(ptr) Variable UniformConstant
256: 9(int) Constant 8
261: TypeVector 6(float) 4
266: 9(int) Constant 9
274: TypeImage 6(float) 1D sampled format:Unknown
275: TypePointer UniformConstant 274
276(g_tTex1df4): 275(ptr) Variable UniformConstant
284: 10(int) Constant 6
308(PS_OUTPUT): TypeStruct 261(fvec4)
309: TypePointer Function 308(PS_OUTPUT)
313: TypePointer Function 261(fvec4)
315: TypePointer Output 261(fvec4)
316(color): 315(ptr) Variable Output
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 6(float)
14: TypeInt 32 1
15: TypeInt 32 0
16: TypeVector 14(int) 2
17: TypeVector 15(int) 2
18: TypeVector 6(float) 2
19($Global): TypeStruct 14(int) 15(int) 6(float) 15(int) 16(ivec2) 17(ivec2) 18(fvec2) 17(ivec2) 15(int) 6(float)
20: TypePointer Uniform 19($Global)
21: 20(ptr) Variable Uniform
22: 14(int) Constant 3
23: TypePointer Uniform 15(int)
26: TypeBool
27: 15(int) Constant 0
29: 6(float) Constant 0
30: 6(float) Constant 1065353216
32: 14(int) Constant 2
33: TypePointer Uniform 6(float)
37: TypePointer Function 15(int)
42: 15(int) Constant 1
44: 14(int) Constant 1
48: TypePointer Function 14(int)
53: 14(int) Constant 0
55: TypePointer Uniform 14(int)
73: TypePointer Function 18(fvec2)
75: 14(int) Constant 7
76: TypePointer Uniform 17(ivec2)
79: TypeVector 26(bool) 2
80: 17(ivec2) ConstantComposite 27 27
82: 18(fvec2) ConstantComposite 29 29
83: 18(fvec2) ConstantComposite 30 30
85: 14(int) Constant 6
86: TypePointer Uniform 18(fvec2)
90: TypePointer Function 17(ivec2)
95: 17(ivec2) ConstantComposite 42 42
97: 14(int) Constant 5
101: TypePointer Function 16(ivec2)
106: 16(ivec2) ConstantComposite 53 53
107: 16(ivec2) ConstantComposite 44 44
109: 14(int) Constant 4
110: TypePointer Uniform 16(ivec2)
256: TypeImage 6(float) Buffer sampled format:R32f
257: TypeSampledImage 256
258: TypePointer UniformConstant 257
259(g_tTexbfs): 258(ptr) Variable UniformConstant
261: 14(int) Constant 8
270: 14(int) Constant 9
278: TypeImage 6(float) 1D sampled format:Unknown
279: TypePointer UniformConstant 278
280(g_tTex1df4): 279(ptr) Variable UniformConstant
288: 15(int) Constant 6
312: TypePointer Function 8(PS_OUTPUT)
316: TypePointer Function 7(fvec4)
321: TypePointer Output 7(fvec4)
322(color): 321(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(r00): 7(ptr) Variable Function
33(r01): 32(ptr) Variable Function
44(r02): 43(ptr) Variable Function
54(r03): 7(ptr) Variable Function
61(r04): 7(ptr) Variable Function
69(r10): 68(ptr) Variable Function
86(r11): 85(ptr) Variable Function
97(r12): 96(ptr) Variable Function
109(r13): 68(ptr) Variable Function
116(r14): 68(ptr) Variable Function
123(r20): 68(ptr) Variable Function
133(r21): 85(ptr) Variable Function
145(r22): 68(ptr) Variable Function
157(r30): 68(ptr) Variable Function
166(r31): 85(ptr) Variable Function
175(r32): 96(ptr) Variable Function
184(r33): 68(ptr) Variable Function
192(r34): 68(ptr) Variable Function
200(r40): 68(ptr) Variable Function
211(r41): 85(ptr) Variable Function
224(r42): 68(ptr) Variable Function
238(r43): 96(ptr) Variable Function
250(r50): 7(ptr) Variable Function
264(r51): 7(ptr) Variable Function
273(sizeQueryTemp): 32(ptr) Variable Function
279(WidthI): 43(ptr) Variable Function
282(sizeQueryTemp): 32(ptr) Variable Function
288(NumberOfLevelsU): 32(ptr) Variable Function
291(sizeQueryTemp): 32(ptr) Variable Function
294(WidthU): 32(ptr) Variable Function
296(NumberOfLevelsI): 43(ptr) Variable Function
300(sizeQueryTemp): 32(ptr) Variable Function
310(ps_output): 309(ptr) Variable Function
19: 18(ptr) AccessChain 16 17
20: 10(int) Load 19
23: 21(bool) INotEqual 20 22
26: 6(float) Select 23 25 24
29: 28(ptr) AccessChain 16 27
30: 6(float) Load 29
31: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 26 30
Store 8(r00) 31
34: 18(ptr) AccessChain 16 17
35: 10(int) Load 34
36: 21(bool) INotEqual 35 22
38: 10(int) Select 36 37 22
40: 18(ptr) AccessChain 16 39
41: 10(int) Load 40
42: 10(int) ExtInst 1(GLSL.std.450) 41(UMax) 38 41
Store 33(r01) 42
45: 18(ptr) AccessChain 16 17
46: 10(int) Load 45
47: 21(bool) INotEqual 46 22
49: 9(int) Select 47 39 48
51: 50(ptr) AccessChain 16 48
52: 9(int) Load 51
53: 9(int) ExtInst 1(GLSL.std.450) 42(SMax) 49 52
Store 44(r02) 53
55: 50(ptr) AccessChain 16 48
56: 9(int) Load 55
57: 6(float) ConvertSToF 56
58: 28(ptr) AccessChain 16 27
59: 6(float) Load 58
60: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 57 59
Store 54(r03) 60
62: 18(ptr) AccessChain 16 39
63: 10(int) Load 62
64: 6(float) ConvertUToF 63
65: 28(ptr) AccessChain 16 27
66: 6(float) Load 65
67: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 64 66
Store 61(r04) 67
72: 71(ptr) AccessChain 16 70
73: 12(ivec2) Load 72
76: 74(bvec2) INotEqual 73 75
79: 13(fvec2) Select 76 78 77
82: 81(ptr) AccessChain 16 80
83: 13(fvec2) Load 82
84: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 79 83
Store 69(r10) 84
87: 71(ptr) AccessChain 16 70
88: 12(ivec2) Load 87
89: 74(bvec2) INotEqual 88 75
91: 12(ivec2) Select 89 90 75
93: 71(ptr) AccessChain 16 92
94: 12(ivec2) Load 93
95: 12(ivec2) ExtInst 1(GLSL.std.450) 41(UMax) 91 94
Store 86(r11) 95
98: 71(ptr) AccessChain 16 70
99: 12(ivec2) Load 98
100: 74(bvec2) INotEqual 99 75
103: 11(ivec2) Select 100 102 101
106: 105(ptr) AccessChain 16 104
107: 11(ivec2) Load 106
108: 11(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 103 107
Store 97(r12) 108
110: 105(ptr) AccessChain 16 104
111: 11(ivec2) Load 110
112: 13(fvec2) ConvertSToF 111
113: 81(ptr) AccessChain 16 80
114: 13(fvec2) Load 113
115: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 112 114
Store 109(r13) 115
117: 71(ptr) AccessChain 16 92
118: 12(ivec2) Load 117
119: 13(fvec2) ConvertUToF 118
120: 81(ptr) AccessChain 16 80
121: 13(fvec2) Load 120
122: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 119 121
Store 116(r14) 122
124: 105(ptr) AccessChain 16 104
125: 11(ivec2) Load 124
126: 13(fvec2) ConvertSToF 125
127: 71(ptr) AccessChain 16 92
128: 12(ivec2) Load 127
129: 13(fvec2) ConvertUToF 128
130: 81(ptr) AccessChain 16 80
131: 13(fvec2) Load 130
132: 13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 126 129 131
Store 123(r20) 132
134: 71(ptr) AccessChain 16 70
135: 12(ivec2) Load 134
136: 74(bvec2) INotEqual 135 75
137: 12(ivec2) Select 136 90 75
138: 71(ptr) AccessChain 16 92
139: 12(ivec2) Load 138
140: 71(ptr) AccessChain 16 70
141: 12(ivec2) Load 140
142: 74(bvec2) INotEqual 141 75
143: 12(ivec2) Select 142 90 75
144: 12(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 137 139 143
Store 133(r21) 144
146: 71(ptr) AccessChain 16 70
147: 12(ivec2) Load 146
148: 74(bvec2) INotEqual 147 75
149: 13(fvec2) Select 148 78 77
150: 81(ptr) AccessChain 16 80
151: 13(fvec2) Load 150
152: 71(ptr) AccessChain 16 70
153: 12(ivec2) Load 152
154: 74(bvec2) INotEqual 153 75
155: 13(fvec2) Select 154 78 77
156: 13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 149 151 155
Store 145(r22) 156
158: 18(ptr) AccessChain 16 17
159: 10(int) Load 158
160: 21(bool) INotEqual 159 22
161: 6(float) Select 160 25 24
162: 13(fvec2) CompositeConstruct 161 161
163: 81(ptr) AccessChain 16 80
164: 13(fvec2) Load 163
165: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 162 164
Store 157(r30) 165
167: 18(ptr) AccessChain 16 17
168: 10(int) Load 167
169: 21(bool) INotEqual 168 22
170: 10(int) Select 169 37 22
171: 12(ivec2) CompositeConstruct 170 170
172: 71(ptr) AccessChain 16 92
173: 12(ivec2) Load 172
174: 12(ivec2) ExtInst 1(GLSL.std.450) 41(UMax) 171 173
Store 166(r31) 174
176: 18(ptr) AccessChain 16 17
177: 10(int) Load 176
178: 21(bool) INotEqual 177 22
179: 9(int) Select 178 39 48
180: 11(ivec2) CompositeConstruct 179 179
181: 105(ptr) AccessChain 16 104
182: 11(ivec2) Load 181
183: 11(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 180 182
Store 175(r32) 183
185: 50(ptr) AccessChain 16 48
186: 9(int) Load 185
187: 6(float) ConvertSToF 186
188: 13(fvec2) CompositeConstruct 187 187
189: 81(ptr) AccessChain 16 80
190: 13(fvec2) Load 189
191: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 188 190
Store 184(r33) 191
193: 18(ptr) AccessChain 16 39
194: 10(int) Load 193
195: 6(float) ConvertUToF 194
196: 13(fvec2) CompositeConstruct 195 195
197: 81(ptr) AccessChain 16 80
198: 13(fvec2) Load 197
199: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 196 198
Store 192(r34) 199
201: 50(ptr) AccessChain 16 48
202: 9(int) Load 201
203: 6(float) ConvertSToF 202
204: 13(fvec2) CompositeConstruct 203 203
205: 71(ptr) AccessChain 16 92
206: 12(ivec2) Load 205
207: 13(fvec2) ConvertUToF 206
208: 81(ptr) AccessChain 16 80
209: 13(fvec2) Load 208
210: 13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 204 207 209
Store 200(r40) 210
212: 71(ptr) AccessChain 16 70
213: 12(ivec2) Load 212
214: 74(bvec2) INotEqual 213 75
215: 12(ivec2) Select 214 90 75
216: 18(ptr) AccessChain 16 39
217: 10(int) Load 216
218: 12(ivec2) CompositeConstruct 217 217
219: 71(ptr) AccessChain 16 70
220: 12(ivec2) Load 219
221: 74(bvec2) INotEqual 220 75
222: 12(ivec2) Select 221 90 75
223: 12(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 215 218 222
Store 211(r41) 223
225: 71(ptr) AccessChain 16 70
226: 12(ivec2) Load 225
227: 74(bvec2) INotEqual 226 75
228: 13(fvec2) Select 227 78 77
229: 28(ptr) AccessChain 16 27
230: 6(float) Load 229
231: 13(fvec2) CompositeConstruct 230 230
232: 18(ptr) AccessChain 16 17
233: 10(int) Load 232
234: 21(bool) INotEqual 233 22
235: 6(float) Select 234 25 24
236: 13(fvec2) CompositeConstruct 235 235
237: 13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 228 231 236
Store 224(r42) 237
239: 50(ptr) AccessChain 16 48
240: 9(int) Load 239
241: 10(int) Bitcast 240
242: 12(ivec2) CompositeConstruct 241 241
243: 105(ptr) AccessChain 16 104
244: 11(ivec2) Load 243
245: 12(ivec2) Bitcast 244
246: 71(ptr) AccessChain 16 92
247: 12(ivec2) Load 246
248: 12(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 242 245 247
249: 11(ivec2) Bitcast 248
Store 238(r43) 249
255: 252 Load 254(g_tTexbfs)
257: 18(ptr) AccessChain 16 256
258: 10(int) Load 257
259: 9(int) Bitcast 258
260: 251 Image 255
262: 261(fvec4) ImageFetch 260 259
263: 6(float) CompositeExtract 262 0
Store 250(r50) 263
265: 252 Load 254(g_tTexbfs)
267: 28(ptr) AccessChain 16 266
268: 6(float) Load 267
269: 9(int) ConvertFToS 268
270: 251 Image 265
271: 261(fvec4) ImageFetch 270 269
272: 6(float) CompositeExtract 271 0
Store 264(r51) 272
277: 274 Load 276(g_tTex1df4)
278: 9(int) ImageQuerySize 277
Store 273(sizeQueryTemp) 278
280: 10(int) Load 273(sizeQueryTemp)
281: 9(int) Bitcast 280
Store 279(WidthI) 281
283: 274 Load 276(g_tTex1df4)
285: 9(int) ImageQuerySizeLod 283 284
Store 282(sizeQueryTemp) 285
286: 10(int) Load 282(sizeQueryTemp)
287: 9(int) Bitcast 286
Store 279(WidthI) 287
289: 274 Load 276(g_tTex1df4)
290: 9(int) ImageQueryLevels 289
Store 288(NumberOfLevelsU) 290
292: 274 Load 276(g_tTex1df4)
293: 9(int) ImageQuerySizeLod 292 284
Store 291(sizeQueryTemp) 293
295: 10(int) Load 291(sizeQueryTemp)
Store 294(WidthU) 295
297: 274 Load 276(g_tTex1df4)
298: 9(int) ImageQueryLevels 297
299: 9(int) Bitcast 298
Store 296(NumberOfLevelsI) 299
301: 274 Load 276(g_tTex1df4)
302: 9(int) ImageQuerySizeLod 301 284
Store 300(sizeQueryTemp) 302
303: 10(int) Load 300(sizeQueryTemp)
304: 9(int) Bitcast 303
Store 279(WidthI) 304
305: 274 Load 276(g_tTex1df4)
306: 9(int) ImageQueryLevels 305
307: 9(int) Bitcast 306
Store 296(NumberOfLevelsI) 307
311: 6(float) Load 8(r00)
312: 261(fvec4) CompositeConstruct 311 311 311 311
314: 313(ptr) AccessChain 310(ps_output) 48
Store 314 312
317: 313(ptr) AccessChain 310(ps_output) 48
318: 261(fvec4) Load 317
Store 316(color) 318
323:8(PS_OUTPUT) FunctionCall 10(@main()
324: 7(fvec4) CompositeExtract 323 0
Store 322(color) 324
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(r00): 12(ptr) Variable Function
38(r01): 37(ptr) Variable Function
49(r02): 48(ptr) Variable Function
59(r03): 12(ptr) Variable Function
66(r04): 12(ptr) Variable Function
74(r10): 73(ptr) Variable Function
91(r11): 90(ptr) Variable Function
102(r12): 101(ptr) Variable Function
114(r13): 73(ptr) Variable Function
121(r14): 73(ptr) Variable Function
128(r20): 73(ptr) Variable Function
138(r21): 90(ptr) Variable Function
150(r22): 73(ptr) Variable Function
162(r30): 73(ptr) Variable Function
171(r31): 90(ptr) Variable Function
180(r32): 101(ptr) Variable Function
189(r33): 73(ptr) Variable Function
197(r34): 73(ptr) Variable Function
205(r40): 73(ptr) Variable Function
216(r41): 90(ptr) Variable Function
229(r42): 73(ptr) Variable Function
243(r43): 101(ptr) Variable Function
255(r50): 12(ptr) Variable Function
268(r51): 12(ptr) Variable Function
277(sizeQueryTemp): 37(ptr) Variable Function
283(WidthI): 48(ptr) Variable Function
286(sizeQueryTemp): 37(ptr) Variable Function
292(NumberOfLevelsU): 37(ptr) Variable Function
295(sizeQueryTemp): 37(ptr) Variable Function
298(WidthU): 37(ptr) Variable Function
300(NumberOfLevelsI): 48(ptr) Variable Function
304(sizeQueryTemp): 37(ptr) Variable Function
313(ps_output): 312(ptr) Variable Function
24: 23(ptr) AccessChain 21 22
25: 15(int) Load 24
28: 26(bool) INotEqual 25 27
31: 6(float) Select 28 30 29
34: 33(ptr) AccessChain 21 32
35: 6(float) Load 34
36: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 31 35
Store 13(r00) 36
39: 23(ptr) AccessChain 21 22
40: 15(int) Load 39
41: 26(bool) INotEqual 40 27
43: 15(int) Select 41 42 27
45: 23(ptr) AccessChain 21 44
46: 15(int) Load 45
47: 15(int) ExtInst 1(GLSL.std.450) 41(UMax) 43 46
Store 38(r01) 47
50: 23(ptr) AccessChain 21 22
51: 15(int) Load 50
52: 26(bool) INotEqual 51 27
54: 14(int) Select 52 44 53
56: 55(ptr) AccessChain 21 53
57: 14(int) Load 56
58: 14(int) ExtInst 1(GLSL.std.450) 42(SMax) 54 57
Store 49(r02) 58
60: 55(ptr) AccessChain 21 53
61: 14(int) Load 60
62: 6(float) ConvertSToF 61
63: 33(ptr) AccessChain 21 32
64: 6(float) Load 63
65: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 62 64
Store 59(r03) 65
67: 23(ptr) AccessChain 21 44
68: 15(int) Load 67
69: 6(float) ConvertUToF 68
70: 33(ptr) AccessChain 21 32
71: 6(float) Load 70
72: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 69 71
Store 66(r04) 72
77: 76(ptr) AccessChain 21 75
78: 17(ivec2) Load 77
81: 79(bvec2) INotEqual 78 80
84: 18(fvec2) Select 81 83 82
87: 86(ptr) AccessChain 21 85
88: 18(fvec2) Load 87
89: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 84 88
Store 74(r10) 89
92: 76(ptr) AccessChain 21 75
93: 17(ivec2) Load 92
94: 79(bvec2) INotEqual 93 80
96: 17(ivec2) Select 94 95 80
98: 76(ptr) AccessChain 21 97
99: 17(ivec2) Load 98
100: 17(ivec2) ExtInst 1(GLSL.std.450) 41(UMax) 96 99
Store 91(r11) 100
103: 76(ptr) AccessChain 21 75
104: 17(ivec2) Load 103
105: 79(bvec2) INotEqual 104 80
108: 16(ivec2) Select 105 107 106
111: 110(ptr) AccessChain 21 109
112: 16(ivec2) Load 111
113: 16(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 108 112
Store 102(r12) 113
115: 110(ptr) AccessChain 21 109
116: 16(ivec2) Load 115
117: 18(fvec2) ConvertSToF 116
118: 86(ptr) AccessChain 21 85
119: 18(fvec2) Load 118
120: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 117 119
Store 114(r13) 120
122: 76(ptr) AccessChain 21 97
123: 17(ivec2) Load 122
124: 18(fvec2) ConvertUToF 123
125: 86(ptr) AccessChain 21 85
126: 18(fvec2) Load 125
127: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 124 126
Store 121(r14) 127
129: 110(ptr) AccessChain 21 109
130: 16(ivec2) Load 129
131: 18(fvec2) ConvertSToF 130
132: 76(ptr) AccessChain 21 97
133: 17(ivec2) Load 132
134: 18(fvec2) ConvertUToF 133
135: 86(ptr) AccessChain 21 85
136: 18(fvec2) Load 135
137: 18(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 131 134 136
Store 128(r20) 137
139: 76(ptr) AccessChain 21 75
140: 17(ivec2) Load 139
141: 79(bvec2) INotEqual 140 80
142: 17(ivec2) Select 141 95 80
143: 76(ptr) AccessChain 21 97
144: 17(ivec2) Load 143
145: 76(ptr) AccessChain 21 75
146: 17(ivec2) Load 145
147: 79(bvec2) INotEqual 146 80
148: 17(ivec2) Select 147 95 80
149: 17(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 142 144 148
Store 138(r21) 149
151: 76(ptr) AccessChain 21 75
152: 17(ivec2) Load 151
153: 79(bvec2) INotEqual 152 80
154: 18(fvec2) Select 153 83 82
155: 86(ptr) AccessChain 21 85
156: 18(fvec2) Load 155
157: 76(ptr) AccessChain 21 75
158: 17(ivec2) Load 157
159: 79(bvec2) INotEqual 158 80
160: 18(fvec2) Select 159 83 82
161: 18(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 154 156 160
Store 150(r22) 161
163: 23(ptr) AccessChain 21 22
164: 15(int) Load 163
165: 26(bool) INotEqual 164 27
166: 6(float) Select 165 30 29
167: 18(fvec2) CompositeConstruct 166 166
168: 86(ptr) AccessChain 21 85
169: 18(fvec2) Load 168
170: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 167 169
Store 162(r30) 170
172: 23(ptr) AccessChain 21 22
173: 15(int) Load 172
174: 26(bool) INotEqual 173 27
175: 15(int) Select 174 42 27
176: 17(ivec2) CompositeConstruct 175 175
177: 76(ptr) AccessChain 21 97
178: 17(ivec2) Load 177
179: 17(ivec2) ExtInst 1(GLSL.std.450) 41(UMax) 176 178
Store 171(r31) 179
181: 23(ptr) AccessChain 21 22
182: 15(int) Load 181
183: 26(bool) INotEqual 182 27
184: 14(int) Select 183 44 53
185: 16(ivec2) CompositeConstruct 184 184
186: 110(ptr) AccessChain 21 109
187: 16(ivec2) Load 186
188: 16(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 185 187
Store 180(r32) 188
190: 55(ptr) AccessChain 21 53
191: 14(int) Load 190
192: 6(float) ConvertSToF 191
193: 18(fvec2) CompositeConstruct 192 192
194: 86(ptr) AccessChain 21 85
195: 18(fvec2) Load 194
196: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 193 195
Store 189(r33) 196
198: 23(ptr) AccessChain 21 44
199: 15(int) Load 198
200: 6(float) ConvertUToF 199
201: 18(fvec2) CompositeConstruct 200 200
202: 86(ptr) AccessChain 21 85
203: 18(fvec2) Load 202
204: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 201 203
Store 197(r34) 204
206: 55(ptr) AccessChain 21 53
207: 14(int) Load 206
208: 6(float) ConvertSToF 207
209: 18(fvec2) CompositeConstruct 208 208
210: 76(ptr) AccessChain 21 97
211: 17(ivec2) Load 210
212: 18(fvec2) ConvertUToF 211
213: 86(ptr) AccessChain 21 85
214: 18(fvec2) Load 213
215: 18(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 209 212 214
Store 205(r40) 215
217: 76(ptr) AccessChain 21 75
218: 17(ivec2) Load 217
219: 79(bvec2) INotEqual 218 80
220: 17(ivec2) Select 219 95 80
221: 23(ptr) AccessChain 21 44
222: 15(int) Load 221
223: 17(ivec2) CompositeConstruct 222 222
224: 76(ptr) AccessChain 21 75
225: 17(ivec2) Load 224
226: 79(bvec2) INotEqual 225 80
227: 17(ivec2) Select 226 95 80
228: 17(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 220 223 227
Store 216(r41) 228
230: 76(ptr) AccessChain 21 75
231: 17(ivec2) Load 230
232: 79(bvec2) INotEqual 231 80
233: 18(fvec2) Select 232 83 82
234: 33(ptr) AccessChain 21 32
235: 6(float) Load 234
236: 18(fvec2) CompositeConstruct 235 235
237: 23(ptr) AccessChain 21 22
238: 15(int) Load 237
239: 26(bool) INotEqual 238 27
240: 6(float) Select 239 30 29
241: 18(fvec2) CompositeConstruct 240 240
242: 18(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 233 236 241
Store 229(r42) 242
244: 55(ptr) AccessChain 21 53
245: 14(int) Load 244
246: 15(int) Bitcast 245
247: 17(ivec2) CompositeConstruct 246 246
248: 110(ptr) AccessChain 21 109
249: 16(ivec2) Load 248
250: 17(ivec2) Bitcast 249
251: 76(ptr) AccessChain 21 97
252: 17(ivec2) Load 251
253: 17(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 247 250 252
254: 16(ivec2) Bitcast 253
Store 243(r43) 254
260: 257 Load 259(g_tTexbfs)
262: 23(ptr) AccessChain 21 261
263: 15(int) Load 262
264: 14(int) Bitcast 263
265: 256 Image 260
266: 7(fvec4) ImageFetch 265 264
267: 6(float) CompositeExtract 266 0
Store 255(r50) 267
269: 257 Load 259(g_tTexbfs)
271: 33(ptr) AccessChain 21 270
272: 6(float) Load 271
273: 14(int) ConvertFToS 272
274: 256 Image 269
275: 7(fvec4) ImageFetch 274 273
276: 6(float) CompositeExtract 275 0
Store 268(r51) 276
281: 278 Load 280(g_tTex1df4)
282: 14(int) ImageQuerySize 281
Store 277(sizeQueryTemp) 282
284: 15(int) Load 277(sizeQueryTemp)
285: 14(int) Bitcast 284
Store 283(WidthI) 285
287: 278 Load 280(g_tTex1df4)
289: 14(int) ImageQuerySizeLod 287 288
Store 286(sizeQueryTemp) 289
290: 15(int) Load 286(sizeQueryTemp)
291: 14(int) Bitcast 290
Store 283(WidthI) 291
293: 278 Load 280(g_tTex1df4)
294: 14(int) ImageQueryLevels 293
Store 292(NumberOfLevelsU) 294
296: 278 Load 280(g_tTex1df4)
297: 14(int) ImageQuerySizeLod 296 288
Store 295(sizeQueryTemp) 297
299: 15(int) Load 295(sizeQueryTemp)
Store 298(WidthU) 299
301: 278 Load 280(g_tTex1df4)
302: 14(int) ImageQueryLevels 301
303: 14(int) Bitcast 302
Store 300(NumberOfLevelsI) 303
305: 278 Load 280(g_tTex1df4)
306: 14(int) ImageQuerySizeLod 305 288
Store 304(sizeQueryTemp) 306
307: 15(int) Load 304(sizeQueryTemp)
308: 14(int) Bitcast 307
Store 283(WidthI) 308
309: 278 Load 280(g_tTex1df4)
310: 14(int) ImageQueryLevels 309
311: 14(int) Bitcast 310
Store 300(NumberOfLevelsI) 311
314: 6(float) Load 13(r00)
315: 7(fvec4) CompositeConstruct 314 314 314 314
317: 316(ptr) AccessChain 313(ps_output) 53
Store 317 315
318:8(PS_OUTPUT) Load 313(ps_output)
ReturnValue 318
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.intrinsics.promote.outputs.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:20 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:20 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:20 Function Parameters:
0:? Sequence
0:37 clamp (temp float)
@ -79,19 +79,22 @@ gl_FragCoord origin is upper left
0:47 0.000000
0:47 0.000000
0:47 0.000000
0:48 Sequence
0:48 Sequence
0:48 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:48 color: direct index for structure (temp 4-component vector of float)
0:48 'ps_output' (temp structure{temp 4-component vector of float color})
0:48 Constant:
0:48 0 (const int)
0:48 Branch: Return
0:48 Branch: Return with expression
0:48 'ps_output' (temp structure{temp 4-component vector of float color})
0:20 Function Definition: main( (temp void)
0:20 Function Parameters:
0:? Sequence
0:20 Sequence
0:20 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:20 color: direct index for structure (temp 4-component vector of float)
0:20 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:20 Constant:
0:20 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
0:? 'g_tTex1df4' (uniform texture1D)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
@ -101,7 +104,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:20 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:20 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:20 Function Parameters:
0:? Sequence
0:37 clamp (temp float)
@ -178,24 +181,27 @@ gl_FragCoord origin is upper left
0:47 0.000000
0:47 0.000000
0:47 0.000000
0:48 Sequence
0:48 Sequence
0:48 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:48 color: direct index for structure (temp 4-component vector of float)
0:48 'ps_output' (temp structure{temp 4-component vector of float color})
0:48 Constant:
0:48 0 (const int)
0:48 Branch: Return
0:48 Branch: Return with expression
0:48 'ps_output' (temp structure{temp 4-component vector of float color})
0:20 Function Definition: main( (temp void)
0:20 Function Parameters:
0:? Sequence
0:20 Sequence
0:20 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:20 color: direct index for structure (temp 4-component vector of float)
0:20 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:20 Constant:
0:20 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
0:? 'g_tTex1df4' (uniform texture1D)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 76
// Id's are bound by 81
Capability Shader
Capability Sampled1D
@ -203,135 +209,142 @@ gl_FragCoord origin is upper left
Capability ImageQuery
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 68
EntryPoint Fragment 4 "main" 74
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 12 "$Global"
MemberName 12($Global) 0 "i"
MemberName 12($Global) 1 "u"
MemberName 12($Global) 2 "f"
MemberName 12($Global) 3 "b"
MemberName 12($Global) 4 "i2"
MemberName 12($Global) 5 "u2"
MemberName 12($Global) 6 "f2"
MemberName 12($Global) 7 "b2"
MemberName 12($Global) 8 "upos"
MemberName 12($Global) 9 "fpos"
Name 14 ""
Name 23 "sizeQueryTemp"
Name 26 "g_tTex1df4"
Name 30 "WidthI"
Name 33 "sizeQueryTemp"
Name 39 "NumberOfLevelsU"
Name 42 "sizeQueryTemp"
Name 45 "WidthU"
Name 47 "NumberOfLevelsI"
Name 51 "sizeQueryTemp"
Name 60 "PS_OUTPUT"
MemberName 60(PS_OUTPUT) 0 "color"
Name 62 "ps_output"
Name 68 "color"
Name 75 "g_tTexbfs"
MemberDecorate 12($Global) 0 Offset 0
MemberDecorate 12($Global) 1 Offset 4
MemberDecorate 12($Global) 2 Offset 8
MemberDecorate 12($Global) 3 Offset 12
MemberDecorate 12($Global) 4 Offset 16
MemberDecorate 12($Global) 5 Offset 24
MemberDecorate 12($Global) 6 Offset 32
MemberDecorate 12($Global) 7 Offset 40
MemberDecorate 12($Global) 8 Offset 48
MemberDecorate 12($Global) 9 Offset 52
Decorate 12($Global) Block
Decorate 14 DescriptorSet 0
Decorate 26(g_tTex1df4) DescriptorSet 0
Decorate 68(color) Location 0
Decorate 75(g_tTexbfs) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "color"
Name 10 "@main("
Name 17 "$Global"
MemberName 17($Global) 0 "i"
MemberName 17($Global) 1 "u"
MemberName 17($Global) 2 "f"
MemberName 17($Global) 3 "b"
MemberName 17($Global) 4 "i2"
MemberName 17($Global) 5 "u2"
MemberName 17($Global) 6 "f2"
MemberName 17($Global) 7 "b2"
MemberName 17($Global) 8 "upos"
MemberName 17($Global) 9 "fpos"
Name 19 ""
Name 28 "sizeQueryTemp"
Name 31 "g_tTex1df4"
Name 35 "WidthI"
Name 38 "sizeQueryTemp"
Name 44 "NumberOfLevelsU"
Name 47 "sizeQueryTemp"
Name 50 "WidthU"
Name 52 "NumberOfLevelsI"
Name 56 "sizeQueryTemp"
Name 65 "ps_output"
Name 74 "color"
Name 80 "g_tTexbfs"
MemberDecorate 17($Global) 0 Offset 0
MemberDecorate 17($Global) 1 Offset 4
MemberDecorate 17($Global) 2 Offset 8
MemberDecorate 17($Global) 3 Offset 12
MemberDecorate 17($Global) 4 Offset 16
MemberDecorate 17($Global) 5 Offset 24
MemberDecorate 17($Global) 6 Offset 32
MemberDecorate 17($Global) 7 Offset 40
MemberDecorate 17($Global) 8 Offset 48
MemberDecorate 17($Global) 9 Offset 52
Decorate 17($Global) Block
Decorate 19 DescriptorSet 0
Decorate 31(g_tTex1df4) DescriptorSet 0
Decorate 74(color) Location 0
Decorate 80(g_tTexbfs) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypeInt 32 0
8: TypeFloat 32
9: TypeVector 6(int) 2
10: TypeVector 7(int) 2
11: TypeVector 8(float) 2
12($Global): TypeStruct 6(int) 7(int) 8(float) 7(int) 9(ivec2) 10(ivec2) 11(fvec2) 10(ivec2) 7(int) 8(float)
13: TypePointer Uniform 12($Global)
14: 13(ptr) Variable Uniform
15: 6(int) Constant 9
16: TypePointer Uniform 8(float)
19: 8(float) Constant 0
20: 8(float) Constant 1065353216
22: TypePointer Function 7(int)
24: TypeImage 8(float) 1D sampled format:Unknown
25: TypePointer UniformConstant 24
26(g_tTex1df4): 25(ptr) Variable UniformConstant
29: TypePointer Function 6(int)
35: 7(int) Constant 6
59: TypeVector 8(float) 4
60(PS_OUTPUT): TypeStruct 59(fvec4)
61: TypePointer Function 60(PS_OUTPUT)
63: 6(int) Constant 0
64: 59(fvec4) ConstantComposite 19 19 19 19
65: TypePointer Function 59(fvec4)
67: TypePointer Output 59(fvec4)
68(color): 67(ptr) Variable Output
72: TypeImage 8(float) Buffer sampled format:R32f
73: TypeSampledImage 72
74: TypePointer UniformConstant 73
75(g_tTexbfs): 74(ptr) Variable UniformConstant
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypeInt 32 1
13: TypeInt 32 0
14: TypeVector 12(int) 2
15: TypeVector 13(int) 2
16: TypeVector 6(float) 2
17($Global): TypeStruct 12(int) 13(int) 6(float) 13(int) 14(ivec2) 15(ivec2) 16(fvec2) 15(ivec2) 13(int) 6(float)
18: TypePointer Uniform 17($Global)
19: 18(ptr) Variable Uniform
20: 12(int) Constant 9
21: TypePointer Uniform 6(float)
24: 6(float) Constant 0
25: 6(float) Constant 1065353216
27: TypePointer Function 13(int)
29: TypeImage 6(float) 1D sampled format:Unknown
30: TypePointer UniformConstant 29
31(g_tTex1df4): 30(ptr) Variable UniformConstant
34: TypePointer Function 12(int)
40: 13(int) Constant 6
64: TypePointer Function 8(PS_OUTPUT)
66: 12(int) Constant 0
67: 7(fvec4) ConstantComposite 24 24 24 24
68: TypePointer Function 7(fvec4)
73: TypePointer Output 7(fvec4)
74(color): 73(ptr) Variable Output
77: TypeImage 6(float) Buffer sampled format:R32f
78: TypeSampledImage 77
79: TypePointer UniformConstant 78
80(g_tTexbfs): 79(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
23(sizeQueryTemp): 22(ptr) Variable Function
30(WidthI): 29(ptr) Variable Function
33(sizeQueryTemp): 22(ptr) Variable Function
39(NumberOfLevelsU): 22(ptr) Variable Function
42(sizeQueryTemp): 22(ptr) Variable Function
45(WidthU): 22(ptr) Variable Function
47(NumberOfLevelsI): 29(ptr) Variable Function
51(sizeQueryTemp): 22(ptr) Variable Function
62(ps_output): 61(ptr) Variable Function
17: 16(ptr) AccessChain 14 15
18: 8(float) Load 17
21: 8(float) ExtInst 1(GLSL.std.450) 43(FClamp) 18 19 20
27: 24 Load 26(g_tTex1df4)
28: 6(int) ImageQuerySize 27
Store 23(sizeQueryTemp) 28
31: 7(int) Load 23(sizeQueryTemp)
32: 6(int) Bitcast 31
Store 30(WidthI) 32
34: 24 Load 26(g_tTex1df4)
36: 6(int) ImageQuerySizeLod 34 35
Store 33(sizeQueryTemp) 36
37: 7(int) Load 33(sizeQueryTemp)
38: 6(int) Bitcast 37
Store 30(WidthI) 38
40: 24 Load 26(g_tTex1df4)
41: 6(int) ImageQueryLevels 40
Store 39(NumberOfLevelsU) 41
43: 24 Load 26(g_tTex1df4)
44: 6(int) ImageQuerySizeLod 43 35
Store 42(sizeQueryTemp) 44
46: 7(int) Load 42(sizeQueryTemp)
Store 45(WidthU) 46
48: 24 Load 26(g_tTex1df4)
49: 6(int) ImageQueryLevels 48
50: 6(int) Bitcast 49
Store 47(NumberOfLevelsI) 50
52: 24 Load 26(g_tTex1df4)
53: 6(int) ImageQuerySizeLod 52 35
Store 51(sizeQueryTemp) 53
54: 7(int) Load 51(sizeQueryTemp)
55: 6(int) Bitcast 54
Store 30(WidthI) 55
56: 24 Load 26(g_tTex1df4)
57: 6(int) ImageQueryLevels 56
58: 6(int) Bitcast 57
Store 47(NumberOfLevelsI) 58
66: 65(ptr) AccessChain 62(ps_output) 63
Store 66 64
69: 65(ptr) AccessChain 62(ps_output) 63
70: 59(fvec4) Load 69
Store 68(color) 70
75:8(PS_OUTPUT) FunctionCall 10(@main()
76: 7(fvec4) CompositeExtract 75 0
Store 74(color) 76
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
28(sizeQueryTemp): 27(ptr) Variable Function
35(WidthI): 34(ptr) Variable Function
38(sizeQueryTemp): 27(ptr) Variable Function
44(NumberOfLevelsU): 27(ptr) Variable Function
47(sizeQueryTemp): 27(ptr) Variable Function
50(WidthU): 27(ptr) Variable Function
52(NumberOfLevelsI): 34(ptr) Variable Function
56(sizeQueryTemp): 27(ptr) Variable Function
65(ps_output): 64(ptr) Variable Function
22: 21(ptr) AccessChain 19 20
23: 6(float) Load 22
26: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 23 24 25
32: 29 Load 31(g_tTex1df4)
33: 12(int) ImageQuerySize 32
Store 28(sizeQueryTemp) 33
36: 13(int) Load 28(sizeQueryTemp)
37: 12(int) Bitcast 36
Store 35(WidthI) 37
39: 29 Load 31(g_tTex1df4)
41: 12(int) ImageQuerySizeLod 39 40
Store 38(sizeQueryTemp) 41
42: 13(int) Load 38(sizeQueryTemp)
43: 12(int) Bitcast 42
Store 35(WidthI) 43
45: 29 Load 31(g_tTex1df4)
46: 12(int) ImageQueryLevels 45
Store 44(NumberOfLevelsU) 46
48: 29 Load 31(g_tTex1df4)
49: 12(int) ImageQuerySizeLod 48 40
Store 47(sizeQueryTemp) 49
51: 13(int) Load 47(sizeQueryTemp)
Store 50(WidthU) 51
53: 29 Load 31(g_tTex1df4)
54: 12(int) ImageQueryLevels 53
55: 12(int) Bitcast 54
Store 52(NumberOfLevelsI) 55
57: 29 Load 31(g_tTex1df4)
58: 12(int) ImageQuerySizeLod 57 40
Store 56(sizeQueryTemp) 58
59: 13(int) Load 56(sizeQueryTemp)
60: 12(int) Bitcast 59
Store 35(WidthI) 60
61: 29 Load 31(g_tTex1df4)
62: 12(int) ImageQueryLevels 61
63: 12(int) Bitcast 62
Store 52(NumberOfLevelsI) 63
69: 68(ptr) AccessChain 65(ps_output) 66
Store 69 67
70:8(PS_OUTPUT) Load 65(ps_output)
ReturnValue 70
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.load.2dms.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Parameters:
0:? Sequence
0:32 textureFetch (temp 4-component vector of float)
@ -142,24 +142,28 @@ gl_FragCoord origin is upper left
0:52 1 (const int)
0:52 Constant:
0:52 1.000000
0:54 Sequence
0:54 Sequence
0:54 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:54 Color: direct index for structure (temp 4-component vector of float)
0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:54 Constant:
0:54 0 (const int)
0:54 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:54 Depth: direct index for structure (temp float)
0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:54 Constant:
0:54 1 (const int)
0:54 Branch: Return
0:54 Branch: Return with expression
0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: main( (temp void)
0:28 Function Parameters:
0:? Sequence
0:28 Sequence
0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:28 Color: direct index for structure (temp 4-component vector of float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 0 (const int)
0:28 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:28 Depth: direct index for structure (temp float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsi4' (uniform itexture2DMS)
@ -167,6 +171,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@ -176,7 +182,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Parameters:
0:? Sequence
0:32 textureFetch (temp 4-component vector of float)
@ -316,24 +322,28 @@ gl_FragCoord origin is upper left
0:52 1 (const int)
0:52 Constant:
0:52 1.000000
0:54 Sequence
0:54 Sequence
0:54 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:54 Color: direct index for structure (temp 4-component vector of float)
0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:54 Constant:
0:54 0 (const int)
0:54 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:54 Depth: direct index for structure (temp float)
0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:54 Constant:
0:54 1 (const int)
0:54 Branch: Return
0:54 Branch: Return with expression
0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Definition: main( (temp void)
0:28 Function Parameters:
0:? Sequence
0:28 Sequence
0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:28 Color: direct index for structure (temp 4-component vector of float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 0 (const int)
0:28 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:28 Depth: direct index for structure (temp float)
0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28 Constant:
0:28 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsi4' (uniform itexture2DMS)
@ -341,186 +351,199 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 123
// Id's are bound by 130
Capability Shader
Capability ImageGatherExtended
Capability ImageMSArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 112 116
EntryPoint Fragment 4 "main" 120 124
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "g_tTex2dmsf4"
Name 15 "$Global"
MemberName 15($Global) 0 "c1"
MemberName 15($Global) 1 "c2"
MemberName 15($Global) 2 "c3"
MemberName 15($Global) 3 "c4"
MemberName 15($Global) 4 "o1"
MemberName 15($Global) 5 "o2"
MemberName 15($Global) 6 "o3"
MemberName 15($Global) 7 "o4"
Name 17 ""
Name 27 "g_tTex2dmsi4"
Name 35 "g_tTex2dmsu4"
Name 62 "g_tTex2dmsf4a"
Name 71 "g_tTex2dmsi4a"
Name 78 "g_tTex2dmsu4a"
Name 101 "PS_OUTPUT"
MemberName 101(PS_OUTPUT) 0 "Color"
MemberName 101(PS_OUTPUT) 1 "Depth"
Name 103 "psout"
Name 112 "Color"
Name 116 "Depth"
Name 122 "g_sSamp"
Decorate 9(g_tTex2dmsf4) DescriptorSet 0
MemberDecorate 15($Global) 0 Offset 0
MemberDecorate 15($Global) 1 Offset 8
MemberDecorate 15($Global) 2 Offset 16
MemberDecorate 15($Global) 3 Offset 32
MemberDecorate 15($Global) 4 Offset 48
MemberDecorate 15($Global) 5 Offset 56
MemberDecorate 15($Global) 6 Offset 64
MemberDecorate 15($Global) 7 Offset 80
Decorate 15($Global) Block
Decorate 17 DescriptorSet 0
Decorate 27(g_tTex2dmsi4) DescriptorSet 0
Decorate 35(g_tTex2dmsu4) DescriptorSet 0
Decorate 62(g_tTex2dmsf4a) DescriptorSet 0
Decorate 71(g_tTex2dmsi4a) DescriptorSet 0
Decorate 78(g_tTex2dmsu4a) DescriptorSet 0
Decorate 112(Color) Location 0
Decorate 116(Depth) BuiltIn FragDepth
Decorate 122(g_sSamp) DescriptorSet 0
Decorate 122(g_sSamp) Binding 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 14 "g_tTex2dmsf4"
Name 20 "$Global"
MemberName 20($Global) 0 "c1"
MemberName 20($Global) 1 "c2"
MemberName 20($Global) 2 "c3"
MemberName 20($Global) 3 "c4"
MemberName 20($Global) 4 "o1"
MemberName 20($Global) 5 "o2"
MemberName 20($Global) 6 "o3"
MemberName 20($Global) 7 "o4"
Name 22 ""
Name 31 "g_tTex2dmsi4"
Name 39 "g_tTex2dmsu4"
Name 66 "g_tTex2dmsf4a"
Name 75 "g_tTex2dmsi4a"
Name 82 "g_tTex2dmsu4a"
Name 106 "psout"
Name 117 "flattenTemp"
Name 120 "Color"
Name 124 "Depth"
Name 129 "g_sSamp"
Decorate 14(g_tTex2dmsf4) DescriptorSet 0
MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 20($Global) 5 Offset 56
MemberDecorate 20($Global) 6 Offset 64
MemberDecorate 20($Global) 7 Offset 80
Decorate 20($Global) Block
Decorate 22 DescriptorSet 0
Decorate 31(g_tTex2dmsi4) DescriptorSet 0
Decorate 39(g_tTex2dmsu4) DescriptorSet 0
Decorate 66(g_tTex2dmsf4a) DescriptorSet 0
Decorate 75(g_tTex2dmsi4a) DescriptorSet 0
Decorate 82(g_tTex2dmsu4a) DescriptorSet 0
Decorate 120(Color) Location 0
Decorate 124(Depth) BuiltIn FragDepth
Decorate 129(g_sSamp) DescriptorSet 0
Decorate 129(g_sSamp) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeImage 6(float) 2D multi-sampled sampled format:Unknown
8: TypePointer UniformConstant 7
9(g_tTex2dmsf4): 8(ptr) Variable UniformConstant
11: TypeInt 32 1
12: TypeVector 11(int) 2
13: TypeVector 11(int) 3
14: TypeVector 11(int) 4
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4)
16: TypePointer Uniform 15($Global)
17: 16(ptr) Variable Uniform
18: 11(int) Constant 1
19: TypePointer Uniform 12(ivec2)
22: 11(int) Constant 3
23: TypeVector 6(float) 4
25: TypeImage 11(int) 2D multi-sampled sampled format:Unknown
26: TypePointer UniformConstant 25
27(g_tTex2dmsi4): 26(ptr) Variable UniformConstant
32: TypeInt 32 0
33: TypeImage 32(int) 2D multi-sampled sampled format:Unknown
34: TypePointer UniformConstant 33
35(g_tTex2dmsu4): 34(ptr) Variable UniformConstant
39: TypeVector 32(int) 4
44: 11(int) Constant 5
60: TypeImage 6(float) 2D array multi-sampled sampled format:Unknown
61: TypePointer UniformConstant 60
62(g_tTex2dmsf4a): 61(ptr) Variable UniformConstant
64: 11(int) Constant 2
65: TypePointer Uniform 13(ivec3)
69: TypeImage 11(int) 2D array multi-sampled sampled format:Unknown
70: TypePointer UniformConstant 69
71(g_tTex2dmsi4a): 70(ptr) Variable UniformConstant
76: TypeImage 32(int) 2D array multi-sampled sampled format:Unknown
77: TypePointer UniformConstant 76
78(g_tTex2dmsu4a): 77(ptr) Variable UniformConstant
101(PS_OUTPUT): TypeStruct 23(fvec4) 6(float)
102: TypePointer Function 101(PS_OUTPUT)
104: 11(int) Constant 0
105: 6(float) Constant 1065353216
106: 23(fvec4) ConstantComposite 105 105 105 105
107: TypePointer Function 23(fvec4)
109: TypePointer Function 6(float)
111: TypePointer Output 23(fvec4)
112(Color): 111(ptr) Variable Output
115: TypePointer Output 6(float)
116(Depth): 115(ptr) Variable Output
120: TypeSampler
121: TypePointer UniformConstant 120
122(g_sSamp): 121(ptr) Variable UniformConstant
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypeImage 6(float) 2D multi-sampled sampled format:Unknown
13: TypePointer UniformConstant 12
14(g_tTex2dmsf4): 13(ptr) Variable UniformConstant
16: TypeInt 32 1
17: TypeVector 16(int) 2
18: TypeVector 16(int) 3
19: TypeVector 16(int) 4
20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
21: TypePointer Uniform 20($Global)
22: 21(ptr) Variable Uniform
23: 16(int) Constant 1
24: TypePointer Uniform 17(ivec2)
27: 16(int) Constant 3
29: TypeImage 16(int) 2D multi-sampled sampled format:Unknown
30: TypePointer UniformConstant 29
31(g_tTex2dmsi4): 30(ptr) Variable UniformConstant
36: TypeInt 32 0
37: TypeImage 36(int) 2D multi-sampled sampled format:Unknown
38: TypePointer UniformConstant 37
39(g_tTex2dmsu4): 38(ptr) Variable UniformConstant
43: TypeVector 36(int) 4
48: 16(int) Constant 5
64: TypeImage 6(float) 2D array multi-sampled sampled format:Unknown
65: TypePointer UniformConstant 64
66(g_tTex2dmsf4a): 65(ptr) Variable UniformConstant
68: 16(int) Constant 2
69: TypePointer Uniform 18(ivec3)
73: TypeImage 16(int) 2D array multi-sampled sampled format:Unknown
74: TypePointer UniformConstant 73
75(g_tTex2dmsi4a): 74(ptr) Variable UniformConstant
80: TypeImage 36(int) 2D array multi-sampled sampled format:Unknown
81: TypePointer UniformConstant 80
82(g_tTex2dmsu4a): 81(ptr) Variable UniformConstant
105: TypePointer Function 8(PS_OUTPUT)
107: 16(int) Constant 0
108: 6(float) Constant 1065353216
109: 7(fvec4) ConstantComposite 108 108 108 108
110: TypePointer Function 7(fvec4)
112: TypePointer Function 6(float)
119: TypePointer Output 7(fvec4)
120(Color): 119(ptr) Variable Output
123: TypePointer Output 6(float)
124(Depth): 123(ptr) Variable Output
127: TypeSampler
128: TypePointer UniformConstant 127
129(g_sSamp): 128(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
103(psout): 102(ptr) Variable Function
10: 7 Load 9(g_tTex2dmsf4)
20: 19(ptr) AccessChain 17 18
21: 12(ivec2) Load 20
24: 23(fvec4) ImageFetch 10 21 Sample 22
28: 25 Load 27(g_tTex2dmsi4)
29: 19(ptr) AccessChain 17 18
30: 12(ivec2) Load 29
31: 14(ivec4) ImageFetch 28 30 Sample 22
36: 33 Load 35(g_tTex2dmsu4)
37: 19(ptr) AccessChain 17 18
38: 12(ivec2) Load 37
40: 39(ivec4) ImageFetch 36 38 Sample 22
41: 7 Load 9(g_tTex2dmsf4)
42: 19(ptr) AccessChain 17 18
43: 12(ivec2) Load 42
45: 19(ptr) AccessChain 17 44
46: 12(ivec2) Load 45
47: 23(fvec4) ImageFetch 41 43 Offset Sample 46 22
48: 25 Load 27(g_tTex2dmsi4)
49: 19(ptr) AccessChain 17 18
50: 12(ivec2) Load 49
51: 19(ptr) AccessChain 17 44
52: 12(ivec2) Load 51
53: 14(ivec4) ImageFetch 48 50 Offset Sample 52 22
54: 33 Load 35(g_tTex2dmsu4)
55: 19(ptr) AccessChain 17 18
56: 12(ivec2) Load 55
57: 19(ptr) AccessChain 17 44
58: 12(ivec2) Load 57
59: 39(ivec4) ImageFetch 54 56 Offset Sample 58 22
63: 60 Load 62(g_tTex2dmsf4a)
66: 65(ptr) AccessChain 17 64
67: 13(ivec3) Load 66
68: 23(fvec4) ImageFetch 63 67 Sample 22
72: 69 Load 71(g_tTex2dmsi4a)
73: 65(ptr) AccessChain 17 64
74: 13(ivec3) Load 73
75: 14(ivec4) ImageFetch 72 74 Sample 22
79: 76 Load 78(g_tTex2dmsu4a)
80: 65(ptr) AccessChain 17 64
81: 13(ivec3) Load 80
82: 39(ivec4) ImageFetch 79 81 Sample 22
83: 60 Load 62(g_tTex2dmsf4a)
84: 65(ptr) AccessChain 17 64
85: 13(ivec3) Load 84
86: 19(ptr) AccessChain 17 44
87: 12(ivec2) Load 86
88: 23(fvec4) ImageFetch 83 85 Offset Sample 87 22
89: 69 Load 71(g_tTex2dmsi4a)
90: 65(ptr) AccessChain 17 64
91: 13(ivec3) Load 90
92: 19(ptr) AccessChain 17 44
93: 12(ivec2) Load 92
94: 14(ivec4) ImageFetch 89 91 Offset Sample 93 22
95: 76 Load 78(g_tTex2dmsu4a)
96: 65(ptr) AccessChain 17 64
97: 13(ivec3) Load 96
98: 19(ptr) AccessChain 17 44
99: 12(ivec2) Load 98
100: 39(ivec4) ImageFetch 95 97 Offset Sample 99 22
108: 107(ptr) AccessChain 103(psout) 104
Store 108 106
110: 109(ptr) AccessChain 103(psout) 18
Store 110 105
113: 107(ptr) AccessChain 103(psout) 104
114: 23(fvec4) Load 113
Store 112(Color) 114
117: 109(ptr) AccessChain 103(psout) 18
118: 6(float) Load 117
Store 116(Depth) 118
117(flattenTemp): 105(ptr) Variable Function
118:8(PS_OUTPUT) FunctionCall 10(@main()
Store 117(flattenTemp) 118
121: 110(ptr) AccessChain 117(flattenTemp) 107
122: 7(fvec4) Load 121
Store 120(Color) 122
125: 112(ptr) AccessChain 117(flattenTemp) 23
126: 6(float) Load 125
Store 124(Depth) 126
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
106(psout): 105(ptr) Variable Function
15: 12 Load 14(g_tTex2dmsf4)
25: 24(ptr) AccessChain 22 23
26: 17(ivec2) Load 25
28: 7(fvec4) ImageFetch 15 26 Sample 27
32: 29 Load 31(g_tTex2dmsi4)
33: 24(ptr) AccessChain 22 23
34: 17(ivec2) Load 33
35: 19(ivec4) ImageFetch 32 34 Sample 27
40: 37 Load 39(g_tTex2dmsu4)
41: 24(ptr) AccessChain 22 23
42: 17(ivec2) Load 41
44: 43(ivec4) ImageFetch 40 42 Sample 27
45: 12 Load 14(g_tTex2dmsf4)
46: 24(ptr) AccessChain 22 23
47: 17(ivec2) Load 46
49: 24(ptr) AccessChain 22 48
50: 17(ivec2) Load 49
51: 7(fvec4) ImageFetch 45 47 Offset Sample 50 27
52: 29 Load 31(g_tTex2dmsi4)
53: 24(ptr) AccessChain 22 23
54: 17(ivec2) Load 53
55: 24(ptr) AccessChain 22 48
56: 17(ivec2) Load 55
57: 19(ivec4) ImageFetch 52 54 Offset Sample 56 27
58: 37 Load 39(g_tTex2dmsu4)
59: 24(ptr) AccessChain 22 23
60: 17(ivec2) Load 59
61: 24(ptr) AccessChain 22 48
62: 17(ivec2) Load 61
63: 43(ivec4) ImageFetch 58 60 Offset Sample 62 27
67: 64 Load 66(g_tTex2dmsf4a)
70: 69(ptr) AccessChain 22 68
71: 18(ivec3) Load 70
72: 7(fvec4) ImageFetch 67 71 Sample 27
76: 73 Load 75(g_tTex2dmsi4a)
77: 69(ptr) AccessChain 22 68
78: 18(ivec3) Load 77
79: 19(ivec4) ImageFetch 76 78 Sample 27
83: 80 Load 82(g_tTex2dmsu4a)
84: 69(ptr) AccessChain 22 68
85: 18(ivec3) Load 84
86: 43(ivec4) ImageFetch 83 85 Sample 27
87: 64 Load 66(g_tTex2dmsf4a)
88: 69(ptr) AccessChain 22 68
89: 18(ivec3) Load 88
90: 24(ptr) AccessChain 22 48
91: 17(ivec2) Load 90
92: 7(fvec4) ImageFetch 87 89 Offset Sample 91 27
93: 73 Load 75(g_tTex2dmsi4a)
94: 69(ptr) AccessChain 22 68
95: 18(ivec3) Load 94
96: 24(ptr) AccessChain 22 48
97: 17(ivec2) Load 96
98: 19(ivec4) ImageFetch 93 95 Offset Sample 97 27
99: 80 Load 82(g_tTex2dmsu4a)
100: 69(ptr) AccessChain 22 68
101: 18(ivec3) Load 100
102: 24(ptr) AccessChain 22 48
103: 17(ivec2) Load 102
104: 43(ivec4) ImageFetch 99 101 Offset Sample 103 27
111: 110(ptr) AccessChain 106(psout) 107
Store 111 109
113: 112(ptr) AccessChain 106(psout) 23
Store 113 108
114:8(PS_OUTPUT) Load 106(psout)
ReturnValue 114
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.load.array.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
0:52 textureFetch (temp 4-component vector of float)
@ -142,24 +142,28 @@ gl_FragCoord origin is upper left
0:68 1 (const int)
0:68 Constant:
0:68 1.000000
0:70 Sequence
0:70 Sequence
0:70 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:70 Color: direct index for structure (temp 4-component vector of float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 Constant:
0:70 0 (const int)
0:70 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:70 Depth: direct index for structure (temp float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 Constant:
0:70 1 (const int)
0:70 Branch: Return
0:70 Branch: Return with expression
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: main( (temp void)
0:48 Function Parameters:
0:? Sequence
0:48 Sequence
0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Color: direct index for structure (temp 4-component vector of float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 0 (const int)
0:48 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:48 Depth: direct index for structure (temp float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@ -182,6 +186,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@ -191,7 +197,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
0:52 textureFetch (temp 4-component vector of float)
@ -331,24 +337,28 @@ gl_FragCoord origin is upper left
0:68 1 (const int)
0:68 Constant:
0:68 1.000000
0:70 Sequence
0:70 Sequence
0:70 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:70 Color: direct index for structure (temp 4-component vector of float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 Constant:
0:70 0 (const int)
0:70 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:70 Depth: direct index for structure (temp float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 Constant:
0:70 1 (const int)
0:70 Branch: Return
0:70 Branch: Return with expression
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: main( (temp void)
0:48 Function Parameters:
0:? Sequence
0:48 Sequence
0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Color: direct index for structure (temp 4-component vector of float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 0 (const int)
0:48 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:48 Depth: direct index for structure (temp float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@ -371,246 +381,259 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 152
// Id's are bound by 159
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 96 100
EntryPoint Fragment 4 "main" 104 108
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "g_tTex1df4a"
Name 15 "$Global"
MemberName 15($Global) 0 "c1"
MemberName 15($Global) 1 "c2"
MemberName 15($Global) 2 "c3"
MemberName 15($Global) 3 "c4"
MemberName 15($Global) 4 "o1"
MemberName 15($Global) 5 "o2"
MemberName 15($Global) 6 "o3"
MemberName 15($Global) 7 "o4"
Name 17 ""
Name 32 "g_tTex1di4a"
Name 42 "g_tTex1du4a"
Name 53 "g_tTex2df4a"
Name 66 "g_tTex2di4a"
Name 76 "g_tTex2du4a"
Name 84 "PS_OUTPUT"
MemberName 84(PS_OUTPUT) 0 "Color"
MemberName 84(PS_OUTPUT) 1 "Depth"
Name 86 "psout"
Name 96 "Color"
Name 100 "Depth"
Name 106 "g_sSamp"
Name 109 "g_tTex1df4"
Name 112 "g_tTex1di4"
Name 115 "g_tTex1du4"
Name 118 "g_tTex2df4"
Name 121 "g_tTex2di4"
Name 124 "g_tTex2du4"
Name 127 "g_tTex3df4"
Name 130 "g_tTex3di4"
Name 133 "g_tTex3du4"
Name 136 "g_tTexcdf4"
Name 139 "g_tTexcdi4"
Name 142 "g_tTexcdu4"
Name 145 "g_tTexcdf4a"
Name 148 "g_tTexcdi4a"
Name 151 "g_tTexcdu4a"
Decorate 9(g_tTex1df4a) DescriptorSet 0
MemberDecorate 15($Global) 0 Offset 0
MemberDecorate 15($Global) 1 Offset 8
MemberDecorate 15($Global) 2 Offset 16
MemberDecorate 15($Global) 3 Offset 32
MemberDecorate 15($Global) 4 Offset 48
MemberDecorate 15($Global) 5 Offset 56
MemberDecorate 15($Global) 6 Offset 64
MemberDecorate 15($Global) 7 Offset 80
Decorate 15($Global) Block
Decorate 17 DescriptorSet 0
Decorate 32(g_tTex1di4a) DescriptorSet 0
Decorate 42(g_tTex1du4a) DescriptorSet 0
Decorate 53(g_tTex2df4a) DescriptorSet 0
Decorate 66(g_tTex2di4a) DescriptorSet 0
Decorate 76(g_tTex2du4a) DescriptorSet 0
Decorate 96(Color) Location 0
Decorate 100(Depth) BuiltIn FragDepth
Decorate 106(g_sSamp) DescriptorSet 0
Decorate 106(g_sSamp) Binding 0
Decorate 109(g_tTex1df4) DescriptorSet 0
Decorate 109(g_tTex1df4) Binding 0
Decorate 112(g_tTex1di4) DescriptorSet 0
Decorate 115(g_tTex1du4) DescriptorSet 0
Decorate 118(g_tTex2df4) DescriptorSet 0
Decorate 121(g_tTex2di4) DescriptorSet 0
Decorate 124(g_tTex2du4) DescriptorSet 0
Decorate 127(g_tTex3df4) DescriptorSet 0
Decorate 130(g_tTex3di4) DescriptorSet 0
Decorate 133(g_tTex3du4) DescriptorSet 0
Decorate 136(g_tTexcdf4) DescriptorSet 0
Decorate 139(g_tTexcdi4) DescriptorSet 0
Decorate 142(g_tTexcdu4) DescriptorSet 0
Decorate 145(g_tTexcdf4a) DescriptorSet 0
Decorate 148(g_tTexcdi4a) DescriptorSet 0
Decorate 151(g_tTexcdu4a) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 14 "g_tTex1df4a"
Name 20 "$Global"
MemberName 20($Global) 0 "c1"
MemberName 20($Global) 1 "c2"
MemberName 20($Global) 2 "c3"
MemberName 20($Global) 3 "c4"
MemberName 20($Global) 4 "o1"
MemberName 20($Global) 5 "o2"
MemberName 20($Global) 6 "o3"
MemberName 20($Global) 7 "o4"
Name 22 ""
Name 36 "g_tTex1di4a"
Name 46 "g_tTex1du4a"
Name 57 "g_tTex2df4a"
Name 70 "g_tTex2di4a"
Name 80 "g_tTex2du4a"
Name 89 "psout"
Name 101 "flattenTemp"
Name 104 "Color"
Name 108 "Depth"
Name 113 "g_sSamp"
Name 116 "g_tTex1df4"
Name 119 "g_tTex1di4"
Name 122 "g_tTex1du4"
Name 125 "g_tTex2df4"
Name 128 "g_tTex2di4"
Name 131 "g_tTex2du4"
Name 134 "g_tTex3df4"
Name 137 "g_tTex3di4"
Name 140 "g_tTex3du4"
Name 143 "g_tTexcdf4"
Name 146 "g_tTexcdi4"
Name 149 "g_tTexcdu4"
Name 152 "g_tTexcdf4a"
Name 155 "g_tTexcdi4a"
Name 158 "g_tTexcdu4a"
Decorate 14(g_tTex1df4a) DescriptorSet 0
MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 20($Global) 5 Offset 56
MemberDecorate 20($Global) 6 Offset 64
MemberDecorate 20($Global) 7 Offset 80
Decorate 20($Global) Block
Decorate 22 DescriptorSet 0
Decorate 36(g_tTex1di4a) DescriptorSet 0
Decorate 46(g_tTex1du4a) DescriptorSet 0
Decorate 57(g_tTex2df4a) DescriptorSet 0
Decorate 70(g_tTex2di4a) DescriptorSet 0
Decorate 80(g_tTex2du4a) DescriptorSet 0
Decorate 104(Color) Location 0
Decorate 108(Depth) BuiltIn FragDepth
Decorate 113(g_sSamp) DescriptorSet 0
Decorate 113(g_sSamp) Binding 0
Decorate 116(g_tTex1df4) DescriptorSet 0
Decorate 116(g_tTex1df4) Binding 0
Decorate 119(g_tTex1di4) DescriptorSet 0
Decorate 122(g_tTex1du4) DescriptorSet 0
Decorate 125(g_tTex2df4) DescriptorSet 0
Decorate 128(g_tTex2di4) DescriptorSet 0
Decorate 131(g_tTex2du4) DescriptorSet 0
Decorate 134(g_tTex3df4) DescriptorSet 0
Decorate 137(g_tTex3di4) DescriptorSet 0
Decorate 140(g_tTex3du4) DescriptorSet 0
Decorate 143(g_tTexcdf4) DescriptorSet 0
Decorate 146(g_tTexcdi4) DescriptorSet 0
Decorate 149(g_tTexcdu4) DescriptorSet 0
Decorate 152(g_tTexcdf4a) DescriptorSet 0
Decorate 155(g_tTexcdi4a) DescriptorSet 0
Decorate 158(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeImage 6(float) 1D array sampled format:Unknown
8: TypePointer UniformConstant 7
9(g_tTex1df4a): 8(ptr) Variable UniformConstant
11: TypeInt 32 1
12: TypeVector 11(int) 2
13: TypeVector 11(int) 3
14: TypeVector 11(int) 4
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4)
16: TypePointer Uniform 15($Global)
17: 16(ptr) Variable Uniform
18: 11(int) Constant 2
19: TypePointer Uniform 13(ivec3)
23: TypeInt 32 0
24: 23(int) Constant 2
25: TypePointer Uniform 11(int)
28: TypeVector 6(float) 4
30: TypeImage 11(int) 1D array sampled format:Unknown
31: TypePointer UniformConstant 30
32(g_tTex1di4a): 31(ptr) Variable UniformConstant
40: TypeImage 23(int) 1D array sampled format:Unknown
41: TypePointer UniformConstant 40
42(g_tTex1du4a): 41(ptr) Variable UniformConstant
49: TypeVector 23(int) 4
51: TypeImage 6(float) 2D array sampled format:Unknown
52: TypePointer UniformConstant 51
53(g_tTex2df4a): 52(ptr) Variable UniformConstant
55: 11(int) Constant 3
56: TypePointer Uniform 14(ivec4)
60: 23(int) Constant 3
64: TypeImage 11(int) 2D array sampled format:Unknown
65: TypePointer UniformConstant 64
66(g_tTex2di4a): 65(ptr) Variable UniformConstant
74: TypeImage 23(int) 2D array sampled format:Unknown
75: TypePointer UniformConstant 74
76(g_tTex2du4a): 75(ptr) Variable UniformConstant
84(PS_OUTPUT): TypeStruct 28(fvec4) 6(float)
85: TypePointer Function 84(PS_OUTPUT)
87: 11(int) Constant 0
88: 6(float) Constant 1065353216
89: 28(fvec4) ConstantComposite 88 88 88 88
90: TypePointer Function 28(fvec4)
92: 11(int) Constant 1
93: TypePointer Function 6(float)
95: TypePointer Output 28(fvec4)
96(Color): 95(ptr) Variable Output
99: TypePointer Output 6(float)
100(Depth): 99(ptr) Variable Output
104: TypeSampler
105: TypePointer UniformConstant 104
106(g_sSamp): 105(ptr) Variable UniformConstant
107: TypeImage 6(float) 1D sampled format:Unknown
108: TypePointer UniformConstant 107
109(g_tTex1df4): 108(ptr) Variable UniformConstant
110: TypeImage 11(int) 1D sampled format:Unknown
111: TypePointer UniformConstant 110
112(g_tTex1di4): 111(ptr) Variable UniformConstant
113: TypeImage 23(int) 1D sampled format:Unknown
114: TypePointer UniformConstant 113
115(g_tTex1du4): 114(ptr) Variable UniformConstant
116: TypeImage 6(float) 2D sampled format:Unknown
117: TypePointer UniformConstant 116
118(g_tTex2df4): 117(ptr) Variable UniformConstant
119: TypeImage 11(int) 2D sampled format:Unknown
120: TypePointer UniformConstant 119
121(g_tTex2di4): 120(ptr) Variable UniformConstant
122: TypeImage 23(int) 2D sampled format:Unknown
123: TypePointer UniformConstant 122
124(g_tTex2du4): 123(ptr) Variable UniformConstant
125: TypeImage 6(float) 3D sampled format:Unknown
126: TypePointer UniformConstant 125
127(g_tTex3df4): 126(ptr) Variable UniformConstant
128: TypeImage 11(int) 3D sampled format:Unknown
129: TypePointer UniformConstant 128
130(g_tTex3di4): 129(ptr) Variable UniformConstant
131: TypeImage 23(int) 3D sampled format:Unknown
132: TypePointer UniformConstant 131
133(g_tTex3du4): 132(ptr) Variable UniformConstant
134: TypeImage 6(float) Cube sampled format:Unknown
135: TypePointer UniformConstant 134
136(g_tTexcdf4): 135(ptr) Variable UniformConstant
137: TypeImage 11(int) Cube sampled format:Unknown
138: TypePointer UniformConstant 137
139(g_tTexcdi4): 138(ptr) Variable UniformConstant
140: TypeImage 23(int) Cube sampled format:Unknown
141: TypePointer UniformConstant 140
142(g_tTexcdu4): 141(ptr) Variable UniformConstant
143: TypeImage 6(float) Cube array sampled format:Unknown
144: TypePointer UniformConstant 143
145(g_tTexcdf4a): 144(ptr) Variable UniformConstant
146: TypeImage 11(int) Cube array sampled format:Unknown
147: TypePointer UniformConstant 146
148(g_tTexcdi4a): 147(ptr) Variable UniformConstant
149: TypeImage 23(int) Cube array sampled format:Unknown
150: TypePointer UniformConstant 149
151(g_tTexcdu4a): 150(ptr) Variable UniformConstant
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypeImage 6(float) 1D array sampled format:Unknown
13: TypePointer UniformConstant 12
14(g_tTex1df4a): 13(ptr) Variable UniformConstant
16: TypeInt 32 1
17: TypeVector 16(int) 2
18: TypeVector 16(int) 3
19: TypeVector 16(int) 4
20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
21: TypePointer Uniform 20($Global)
22: 21(ptr) Variable Uniform
23: 16(int) Constant 2
24: TypePointer Uniform 18(ivec3)
28: TypeInt 32 0
29: 28(int) Constant 2
30: TypePointer Uniform 16(int)
34: TypeImage 16(int) 1D array sampled format:Unknown
35: TypePointer UniformConstant 34
36(g_tTex1di4a): 35(ptr) Variable UniformConstant
44: TypeImage 28(int) 1D array sampled format:Unknown
45: TypePointer UniformConstant 44
46(g_tTex1du4a): 45(ptr) Variable UniformConstant
53: TypeVector 28(int) 4
55: TypeImage 6(float) 2D array sampled format:Unknown
56: TypePointer UniformConstant 55
57(g_tTex2df4a): 56(ptr) Variable UniformConstant
59: 16(int) Constant 3
60: TypePointer Uniform 19(ivec4)
64: 28(int) Constant 3
68: TypeImage 16(int) 2D array sampled format:Unknown
69: TypePointer UniformConstant 68
70(g_tTex2di4a): 69(ptr) Variable UniformConstant
78: TypeImage 28(int) 2D array sampled format:Unknown
79: TypePointer UniformConstant 78
80(g_tTex2du4a): 79(ptr) Variable UniformConstant
88: TypePointer Function 8(PS_OUTPUT)
90: 16(int) Constant 0
91: 6(float) Constant 1065353216
92: 7(fvec4) ConstantComposite 91 91 91 91
93: TypePointer Function 7(fvec4)
95: 16(int) Constant 1
96: TypePointer Function 6(float)
103: TypePointer Output 7(fvec4)
104(Color): 103(ptr) Variable Output
107: TypePointer Output 6(float)
108(Depth): 107(ptr) Variable Output
111: TypeSampler
112: TypePointer UniformConstant 111
113(g_sSamp): 112(ptr) Variable UniformConstant
114: TypeImage 6(float) 1D sampled format:Unknown
115: TypePointer UniformConstant 114
116(g_tTex1df4): 115(ptr) Variable UniformConstant
117: TypeImage 16(int) 1D sampled format:Unknown
118: TypePointer UniformConstant 117
119(g_tTex1di4): 118(ptr) Variable UniformConstant
120: TypeImage 28(int) 1D sampled format:Unknown
121: TypePointer UniformConstant 120
122(g_tTex1du4): 121(ptr) Variable UniformConstant
123: TypeImage 6(float) 2D sampled format:Unknown
124: TypePointer UniformConstant 123
125(g_tTex2df4): 124(ptr) Variable UniformConstant
126: TypeImage 16(int) 2D sampled format:Unknown
127: TypePointer UniformConstant 126
128(g_tTex2di4): 127(ptr) Variable UniformConstant
129: TypeImage 28(int) 2D sampled format:Unknown
130: TypePointer UniformConstant 129
131(g_tTex2du4): 130(ptr) Variable UniformConstant
132: TypeImage 6(float) 3D sampled format:Unknown
133: TypePointer UniformConstant 132
134(g_tTex3df4): 133(ptr) Variable UniformConstant
135: TypeImage 16(int) 3D sampled format:Unknown
136: TypePointer UniformConstant 135
137(g_tTex3di4): 136(ptr) Variable UniformConstant
138: TypeImage 28(int) 3D sampled format:Unknown
139: TypePointer UniformConstant 138
140(g_tTex3du4): 139(ptr) Variable UniformConstant
141: TypeImage 6(float) Cube sampled format:Unknown
142: TypePointer UniformConstant 141
143(g_tTexcdf4): 142(ptr) Variable UniformConstant
144: TypeImage 16(int) Cube sampled format:Unknown
145: TypePointer UniformConstant 144
146(g_tTexcdi4): 145(ptr) Variable UniformConstant
147: TypeImage 28(int) Cube sampled format:Unknown
148: TypePointer UniformConstant 147
149(g_tTexcdu4): 148(ptr) Variable UniformConstant
150: TypeImage 6(float) Cube array sampled format:Unknown
151: TypePointer UniformConstant 150
152(g_tTexcdf4a): 151(ptr) Variable UniformConstant
153: TypeImage 16(int) Cube array sampled format:Unknown
154: TypePointer UniformConstant 153
155(g_tTexcdi4a): 154(ptr) Variable UniformConstant
156: TypeImage 28(int) Cube array sampled format:Unknown
157: TypePointer UniformConstant 156
158(g_tTexcdu4a): 157(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
86(psout): 85(ptr) Variable Function
10: 7 Load 9(g_tTex1df4a)
20: 19(ptr) AccessChain 17 18
21: 13(ivec3) Load 20
22: 12(ivec2) VectorShuffle 21 21 0 1
26: 25(ptr) AccessChain 17 18 24
27: 11(int) Load 26
29: 28(fvec4) ImageFetch 10 22 Lod 27
33: 30 Load 32(g_tTex1di4a)
34: 19(ptr) AccessChain 17 18
35: 13(ivec3) Load 34
36: 12(ivec2) VectorShuffle 35 35 0 1
37: 25(ptr) AccessChain 17 18 24
38: 11(int) Load 37
39: 14(ivec4) ImageFetch 33 36 Lod 38
43: 40 Load 42(g_tTex1du4a)
44: 19(ptr) AccessChain 17 18
45: 13(ivec3) Load 44
46: 12(ivec2) VectorShuffle 45 45 0 1
47: 25(ptr) AccessChain 17 18 24
48: 11(int) Load 47
50: 49(ivec4) ImageFetch 43 46 Lod 48
54: 51 Load 53(g_tTex2df4a)
57: 56(ptr) AccessChain 17 55
58: 14(ivec4) Load 57
59: 13(ivec3) VectorShuffle 58 58 0 1 2
61: 25(ptr) AccessChain 17 55 60
62: 11(int) Load 61
63: 28(fvec4) ImageFetch 54 59 Lod 62
67: 64 Load 66(g_tTex2di4a)
68: 56(ptr) AccessChain 17 55
69: 14(ivec4) Load 68
70: 13(ivec3) VectorShuffle 69 69 0 1 2
71: 25(ptr) AccessChain 17 55 60
72: 11(int) Load 71
73: 14(ivec4) ImageFetch 67 70 Lod 72
77: 74 Load 76(g_tTex2du4a)
78: 56(ptr) AccessChain 17 55
79: 14(ivec4) Load 78
80: 13(ivec3) VectorShuffle 79 79 0 1 2
81: 25(ptr) AccessChain 17 55 60
82: 11(int) Load 81
83: 49(ivec4) ImageFetch 77 80 Lod 82
91: 90(ptr) AccessChain 86(psout) 87
Store 91 89
94: 93(ptr) AccessChain 86(psout) 92
Store 94 88
97: 90(ptr) AccessChain 86(psout) 87
98: 28(fvec4) Load 97
Store 96(Color) 98
101: 93(ptr) AccessChain 86(psout) 92
102: 6(float) Load 101
Store 100(Depth) 102
101(flattenTemp): 88(ptr) Variable Function
102:8(PS_OUTPUT) FunctionCall 10(@main()
Store 101(flattenTemp) 102
105: 93(ptr) AccessChain 101(flattenTemp) 90
106: 7(fvec4) Load 105
Store 104(Color) 106
109: 96(ptr) AccessChain 101(flattenTemp) 95
110: 6(float) Load 109
Store 108(Depth) 110
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
89(psout): 88(ptr) Variable Function
15: 12 Load 14(g_tTex1df4a)
25: 24(ptr) AccessChain 22 23
26: 18(ivec3) Load 25
27: 17(ivec2) VectorShuffle 26 26 0 1
31: 30(ptr) AccessChain 22 23 29
32: 16(int) Load 31
33: 7(fvec4) ImageFetch 15 27 Lod 32
37: 34 Load 36(g_tTex1di4a)
38: 24(ptr) AccessChain 22 23
39: 18(ivec3) Load 38
40: 17(ivec2) VectorShuffle 39 39 0 1
41: 30(ptr) AccessChain 22 23 29
42: 16(int) Load 41
43: 19(ivec4) ImageFetch 37 40 Lod 42
47: 44 Load 46(g_tTex1du4a)
48: 24(ptr) AccessChain 22 23
49: 18(ivec3) Load 48
50: 17(ivec2) VectorShuffle 49 49 0 1
51: 30(ptr) AccessChain 22 23 29
52: 16(int) Load 51
54: 53(ivec4) ImageFetch 47 50 Lod 52
58: 55 Load 57(g_tTex2df4a)
61: 60(ptr) AccessChain 22 59
62: 19(ivec4) Load 61
63: 18(ivec3) VectorShuffle 62 62 0 1 2
65: 30(ptr) AccessChain 22 59 64
66: 16(int) Load 65
67: 7(fvec4) ImageFetch 58 63 Lod 66
71: 68 Load 70(g_tTex2di4a)
72: 60(ptr) AccessChain 22 59
73: 19(ivec4) Load 72
74: 18(ivec3) VectorShuffle 73 73 0 1 2
75: 30(ptr) AccessChain 22 59 64
76: 16(int) Load 75
77: 19(ivec4) ImageFetch 71 74 Lod 76
81: 78 Load 80(g_tTex2du4a)
82: 60(ptr) AccessChain 22 59
83: 19(ivec4) Load 82
84: 18(ivec3) VectorShuffle 83 83 0 1 2
85: 30(ptr) AccessChain 22 59 64
86: 16(int) Load 85
87: 53(ivec4) ImageFetch 81 84 Lod 86
94: 93(ptr) AccessChain 89(psout) 90
Store 94 92
97: 96(ptr) AccessChain 89(psout) 95
Store 97 91
98:8(PS_OUTPUT) Load 89(psout)
ReturnValue 98
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.load.basic.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
0:52 textureFetch (temp 4-component vector of float)
@ -193,24 +193,28 @@ gl_FragCoord origin is upper left
0:73 1 (const int)
0:73 Constant:
0:73 1.000000
0:75 Sequence
0:75 Sequence
0:75 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:75 Color: direct index for structure (temp 4-component vector of float)
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 Constant:
0:75 0 (const int)
0:75 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:75 Depth: direct index for structure (temp float)
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 Constant:
0:75 1 (const int)
0:75 Branch: Return
0:75 Branch: Return with expression
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: main( (temp void)
0:48 Function Parameters:
0:? Sequence
0:48 Sequence
0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Color: direct index for structure (temp 4-component vector of float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 0 (const int)
0:48 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:48 Depth: direct index for structure (temp float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@ -233,6 +237,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@ -242,7 +248,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
0:52 textureFetch (temp 4-component vector of float)
@ -433,24 +439,28 @@ gl_FragCoord origin is upper left
0:73 1 (const int)
0:73 Constant:
0:73 1.000000
0:75 Sequence
0:75 Sequence
0:75 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:75 Color: direct index for structure (temp 4-component vector of float)
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 Constant:
0:75 0 (const int)
0:75 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:75 Depth: direct index for structure (temp float)
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 Constant:
0:75 1 (const int)
0:75 Branch: Return
0:75 Branch: Return with expression
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: main( (temp void)
0:48 Function Parameters:
0:? Sequence
0:48 Sequence
0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Color: direct index for structure (temp 4-component vector of float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 0 (const int)
0:48 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:48 Depth: direct index for structure (temp float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@ -473,266 +483,279 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 172
// Id's are bound by 179
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 125 129
EntryPoint Fragment 4 "main" 133 137
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "g_tTex1df4"
Name 15 "$Global"
MemberName 15($Global) 0 "c1"
MemberName 15($Global) 1 "c2"
MemberName 15($Global) 2 "c3"
MemberName 15($Global) 3 "c4"
MemberName 15($Global) 4 "o1"
MemberName 15($Global) 5 "o2"
MemberName 15($Global) 6 "o3"
MemberName 15($Global) 7 "o4"
Name 17 ""
Name 31 "g_tTex1di4"
Name 40 "g_tTex1du4"
Name 50 "g_tTex2df4"
Name 63 "g_tTex2di4"
Name 73 "g_tTex2du4"
Name 83 "g_tTex3df4"
Name 96 "g_tTex3di4"
Name 106 "g_tTex3du4"
Name 114 "PS_OUTPUT"
MemberName 114(PS_OUTPUT) 0 "Color"
MemberName 114(PS_OUTPUT) 1 "Depth"
Name 116 "psout"
Name 125 "Color"
Name 129 "Depth"
Name 135 "g_sSamp"
Name 138 "g_tTexcdf4"
Name 141 "g_tTexcdi4"
Name 144 "g_tTexcdu4"
Name 147 "g_tTex1df4a"
Name 150 "g_tTex1di4a"
Name 153 "g_tTex1du4a"
Name 156 "g_tTex2df4a"
Name 159 "g_tTex2di4a"
Name 162 "g_tTex2du4a"
Name 165 "g_tTexcdf4a"
Name 168 "g_tTexcdi4a"
Name 171 "g_tTexcdu4a"
Decorate 9(g_tTex1df4) DescriptorSet 0
Decorate 9(g_tTex1df4) Binding 0
MemberDecorate 15($Global) 0 Offset 0
MemberDecorate 15($Global) 1 Offset 8
MemberDecorate 15($Global) 2 Offset 16
MemberDecorate 15($Global) 3 Offset 32
MemberDecorate 15($Global) 4 Offset 48
MemberDecorate 15($Global) 5 Offset 56
MemberDecorate 15($Global) 6 Offset 64
MemberDecorate 15($Global) 7 Offset 80
Decorate 15($Global) Block
Decorate 17 DescriptorSet 0
Decorate 31(g_tTex1di4) DescriptorSet 0
Decorate 40(g_tTex1du4) DescriptorSet 0
Decorate 50(g_tTex2df4) DescriptorSet 0
Decorate 63(g_tTex2di4) DescriptorSet 0
Decorate 73(g_tTex2du4) DescriptorSet 0
Decorate 83(g_tTex3df4) DescriptorSet 0
Decorate 96(g_tTex3di4) DescriptorSet 0
Decorate 106(g_tTex3du4) DescriptorSet 0
Decorate 125(Color) Location 0
Decorate 129(Depth) BuiltIn FragDepth
Decorate 135(g_sSamp) DescriptorSet 0
Decorate 135(g_sSamp) Binding 0
Decorate 138(g_tTexcdf4) DescriptorSet 0
Decorate 141(g_tTexcdi4) DescriptorSet 0
Decorate 144(g_tTexcdu4) DescriptorSet 0
Decorate 147(g_tTex1df4a) DescriptorSet 0
Decorate 150(g_tTex1di4a) DescriptorSet 0
Decorate 153(g_tTex1du4a) DescriptorSet 0
Decorate 156(g_tTex2df4a) DescriptorSet 0
Decorate 159(g_tTex2di4a) DescriptorSet 0
Decorate 162(g_tTex2du4a) DescriptorSet 0
Decorate 165(g_tTexcdf4a) DescriptorSet 0
Decorate 168(g_tTexcdi4a) DescriptorSet 0
Decorate 171(g_tTexcdu4a) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 14 "g_tTex1df4"
Name 20 "$Global"
MemberName 20($Global) 0 "c1"
MemberName 20($Global) 1 "c2"
MemberName 20($Global) 2 "c3"
MemberName 20($Global) 3 "c4"
MemberName 20($Global) 4 "o1"
MemberName 20($Global) 5 "o2"
MemberName 20($Global) 6 "o3"
MemberName 20($Global) 7 "o4"
Name 22 ""
Name 35 "g_tTex1di4"
Name 44 "g_tTex1du4"
Name 54 "g_tTex2df4"
Name 67 "g_tTex2di4"
Name 77 "g_tTex2du4"
Name 87 "g_tTex3df4"
Name 100 "g_tTex3di4"
Name 110 "g_tTex3du4"
Name 119 "psout"
Name 130 "flattenTemp"
Name 133 "Color"
Name 137 "Depth"
Name 142 "g_sSamp"
Name 145 "g_tTexcdf4"
Name 148 "g_tTexcdi4"
Name 151 "g_tTexcdu4"
Name 154 "g_tTex1df4a"
Name 157 "g_tTex1di4a"
Name 160 "g_tTex1du4a"
Name 163 "g_tTex2df4a"
Name 166 "g_tTex2di4a"
Name 169 "g_tTex2du4a"
Name 172 "g_tTexcdf4a"
Name 175 "g_tTexcdi4a"
Name 178 "g_tTexcdu4a"
Decorate 14(g_tTex1df4) DescriptorSet 0
Decorate 14(g_tTex1df4) Binding 0
MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 20($Global) 5 Offset 56
MemberDecorate 20($Global) 6 Offset 64
MemberDecorate 20($Global) 7 Offset 80
Decorate 20($Global) Block
Decorate 22 DescriptorSet 0
Decorate 35(g_tTex1di4) DescriptorSet 0
Decorate 44(g_tTex1du4) DescriptorSet 0
Decorate 54(g_tTex2df4) DescriptorSet 0
Decorate 67(g_tTex2di4) DescriptorSet 0
Decorate 77(g_tTex2du4) DescriptorSet 0
Decorate 87(g_tTex3df4) DescriptorSet 0
Decorate 100(g_tTex3di4) DescriptorSet 0
Decorate 110(g_tTex3du4) DescriptorSet 0
Decorate 133(Color) Location 0
Decorate 137(Depth) BuiltIn FragDepth
Decorate 142(g_sSamp) DescriptorSet 0
Decorate 142(g_sSamp) Binding 0
Decorate 145(g_tTexcdf4) DescriptorSet 0
Decorate 148(g_tTexcdi4) DescriptorSet 0
Decorate 151(g_tTexcdu4) DescriptorSet 0
Decorate 154(g_tTex1df4a) DescriptorSet 0
Decorate 157(g_tTex1di4a) DescriptorSet 0
Decorate 160(g_tTex1du4a) DescriptorSet 0
Decorate 163(g_tTex2df4a) DescriptorSet 0
Decorate 166(g_tTex2di4a) DescriptorSet 0
Decorate 169(g_tTex2du4a) DescriptorSet 0
Decorate 172(g_tTexcdf4a) DescriptorSet 0
Decorate 175(g_tTexcdi4a) DescriptorSet 0
Decorate 178(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeImage 6(float) 1D sampled format:Unknown
8: TypePointer UniformConstant 7
9(g_tTex1df4): 8(ptr) Variable UniformConstant
11: TypeInt 32 1
12: TypeVector 11(int) 2
13: TypeVector 11(int) 3
14: TypeVector 11(int) 4
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4)
16: TypePointer Uniform 15($Global)
17: 16(ptr) Variable Uniform
18: 11(int) Constant 1
19: TypeInt 32 0
20: 19(int) Constant 0
21: TypePointer Uniform 11(int)
24: 19(int) Constant 1
27: TypeVector 6(float) 4
29: TypeImage 11(int) 1D sampled format:Unknown
30: TypePointer UniformConstant 29
31(g_tTex1di4): 30(ptr) Variable UniformConstant
38: TypeImage 19(int) 1D sampled format:Unknown
39: TypePointer UniformConstant 38
40(g_tTex1du4): 39(ptr) Variable UniformConstant
46: TypeVector 19(int) 4
48: TypeImage 6(float) 2D sampled format:Unknown
49: TypePointer UniformConstant 48
50(g_tTex2df4): 49(ptr) Variable UniformConstant
52: 11(int) Constant 2
53: TypePointer Uniform 13(ivec3)
57: 19(int) Constant 2
61: TypeImage 11(int) 2D sampled format:Unknown
62: TypePointer UniformConstant 61
63(g_tTex2di4): 62(ptr) Variable UniformConstant
71: TypeImage 19(int) 2D sampled format:Unknown
72: TypePointer UniformConstant 71
73(g_tTex2du4): 72(ptr) Variable UniformConstant
81: TypeImage 6(float) 3D sampled format:Unknown
82: TypePointer UniformConstant 81
83(g_tTex3df4): 82(ptr) Variable UniformConstant
85: 11(int) Constant 3
86: TypePointer Uniform 14(ivec4)
90: 19(int) Constant 3
94: TypeImage 11(int) 3D sampled format:Unknown
95: TypePointer UniformConstant 94
96(g_tTex3di4): 95(ptr) Variable UniformConstant
104: TypeImage 19(int) 3D sampled format:Unknown
105: TypePointer UniformConstant 104
106(g_tTex3du4): 105(ptr) Variable UniformConstant
114(PS_OUTPUT): TypeStruct 27(fvec4) 6(float)
115: TypePointer Function 114(PS_OUTPUT)
117: 11(int) Constant 0
118: 6(float) Constant 1065353216
119: 27(fvec4) ConstantComposite 118 118 118 118
120: TypePointer Function 27(fvec4)
122: TypePointer Function 6(float)
124: TypePointer Output 27(fvec4)
125(Color): 124(ptr) Variable Output
128: TypePointer Output 6(float)
129(Depth): 128(ptr) Variable Output
133: TypeSampler
134: TypePointer UniformConstant 133
135(g_sSamp): 134(ptr) Variable UniformConstant
136: TypeImage 6(float) Cube sampled format:Unknown
137: TypePointer UniformConstant 136
138(g_tTexcdf4): 137(ptr) Variable UniformConstant
139: TypeImage 11(int) Cube sampled format:Unknown
140: TypePointer UniformConstant 139
141(g_tTexcdi4): 140(ptr) Variable UniformConstant
142: TypeImage 19(int) Cube sampled format:Unknown
143: TypePointer UniformConstant 142
144(g_tTexcdu4): 143(ptr) Variable UniformConstant
145: TypeImage 6(float) 1D array sampled format:Unknown
146: TypePointer UniformConstant 145
147(g_tTex1df4a): 146(ptr) Variable UniformConstant
148: TypeImage 11(int) 1D array sampled format:Unknown
149: TypePointer UniformConstant 148
150(g_tTex1di4a): 149(ptr) Variable UniformConstant
151: TypeImage 19(int) 1D array sampled format:Unknown
152: TypePointer UniformConstant 151
153(g_tTex1du4a): 152(ptr) Variable UniformConstant
154: TypeImage 6(float) 2D array sampled format:Unknown
155: TypePointer UniformConstant 154
156(g_tTex2df4a): 155(ptr) Variable UniformConstant
157: TypeImage 11(int) 2D array sampled format:Unknown
158: TypePointer UniformConstant 157
159(g_tTex2di4a): 158(ptr) Variable UniformConstant
160: TypeImage 19(int) 2D array sampled format:Unknown
161: TypePointer UniformConstant 160
162(g_tTex2du4a): 161(ptr) Variable UniformConstant
163: TypeImage 6(float) Cube array sampled format:Unknown
164: TypePointer UniformConstant 163
165(g_tTexcdf4a): 164(ptr) Variable UniformConstant
166: TypeImage 11(int) Cube array sampled format:Unknown
167: TypePointer UniformConstant 166
168(g_tTexcdi4a): 167(ptr) Variable UniformConstant
169: TypeImage 19(int) Cube array sampled format:Unknown
170: TypePointer UniformConstant 169
171(g_tTexcdu4a): 170(ptr) Variable UniformConstant
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypeImage 6(float) 1D sampled format:Unknown
13: TypePointer UniformConstant 12
14(g_tTex1df4): 13(ptr) Variable UniformConstant
16: TypeInt 32 1
17: TypeVector 16(int) 2
18: TypeVector 16(int) 3
19: TypeVector 16(int) 4
20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
21: TypePointer Uniform 20($Global)
22: 21(ptr) Variable Uniform
23: 16(int) Constant 1
24: TypeInt 32 0
25: 24(int) Constant 0
26: TypePointer Uniform 16(int)
29: 24(int) Constant 1
33: TypeImage 16(int) 1D sampled format:Unknown
34: TypePointer UniformConstant 33
35(g_tTex1di4): 34(ptr) Variable UniformConstant
42: TypeImage 24(int) 1D sampled format:Unknown
43: TypePointer UniformConstant 42
44(g_tTex1du4): 43(ptr) Variable UniformConstant
50: TypeVector 24(int) 4
52: TypeImage 6(float) 2D sampled format:Unknown
53: TypePointer UniformConstant 52
54(g_tTex2df4): 53(ptr) Variable UniformConstant
56: 16(int) Constant 2
57: TypePointer Uniform 18(ivec3)
61: 24(int) Constant 2
65: TypeImage 16(int) 2D sampled format:Unknown
66: TypePointer UniformConstant 65
67(g_tTex2di4): 66(ptr) Variable UniformConstant
75: TypeImage 24(int) 2D sampled format:Unknown
76: TypePointer UniformConstant 75
77(g_tTex2du4): 76(ptr) Variable UniformConstant
85: TypeImage 6(float) 3D sampled format:Unknown
86: TypePointer UniformConstant 85
87(g_tTex3df4): 86(ptr) Variable UniformConstant
89: 16(int) Constant 3
90: TypePointer Uniform 19(ivec4)
94: 24(int) Constant 3
98: TypeImage 16(int) 3D sampled format:Unknown
99: TypePointer UniformConstant 98
100(g_tTex3di4): 99(ptr) Variable UniformConstant
108: TypeImage 24(int) 3D sampled format:Unknown
109: TypePointer UniformConstant 108
110(g_tTex3du4): 109(ptr) Variable UniformConstant
118: TypePointer Function 8(PS_OUTPUT)
120: 16(int) Constant 0
121: 6(float) Constant 1065353216
122: 7(fvec4) ConstantComposite 121 121 121 121
123: TypePointer Function 7(fvec4)
125: TypePointer Function 6(float)
132: TypePointer Output 7(fvec4)
133(Color): 132(ptr) Variable Output
136: TypePointer Output 6(float)
137(Depth): 136(ptr) Variable Output
140: TypeSampler
141: TypePointer UniformConstant 140
142(g_sSamp): 141(ptr) Variable UniformConstant
143: TypeImage 6(float) Cube sampled format:Unknown
144: TypePointer UniformConstant 143
145(g_tTexcdf4): 144(ptr) Variable UniformConstant
146: TypeImage 16(int) Cube sampled format:Unknown
147: TypePointer UniformConstant 146
148(g_tTexcdi4): 147(ptr) Variable UniformConstant
149: TypeImage 24(int) Cube sampled format:Unknown
150: TypePointer UniformConstant 149
151(g_tTexcdu4): 150(ptr) Variable UniformConstant
152: TypeImage 6(float) 1D array sampled format:Unknown
153: TypePointer UniformConstant 152
154(g_tTex1df4a): 153(ptr) Variable UniformConstant
155: TypeImage 16(int) 1D array sampled format:Unknown
156: TypePointer UniformConstant 155
157(g_tTex1di4a): 156(ptr) Variable UniformConstant
158: TypeImage 24(int) 1D array sampled format:Unknown
159: TypePointer UniformConstant 158
160(g_tTex1du4a): 159(ptr) Variable UniformConstant
161: TypeImage 6(float) 2D array sampled format:Unknown
162: TypePointer UniformConstant 161
163(g_tTex2df4a): 162(ptr) Variable UniformConstant
164: TypeImage 16(int) 2D array sampled format:Unknown
165: TypePointer UniformConstant 164
166(g_tTex2di4a): 165(ptr) Variable UniformConstant
167: TypeImage 24(int) 2D array sampled format:Unknown
168: TypePointer UniformConstant 167
169(g_tTex2du4a): 168(ptr) Variable UniformConstant
170: TypeImage 6(float) Cube array sampled format:Unknown
171: TypePointer UniformConstant 170
172(g_tTexcdf4a): 171(ptr) Variable UniformConstant
173: TypeImage 16(int) Cube array sampled format:Unknown
174: TypePointer UniformConstant 173
175(g_tTexcdi4a): 174(ptr) Variable UniformConstant
176: TypeImage 24(int) Cube array sampled format:Unknown
177: TypePointer UniformConstant 176
178(g_tTexcdu4a): 177(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
116(psout): 115(ptr) Variable Function
10: 7 Load 9(g_tTex1df4)
22: 21(ptr) AccessChain 17 18 20
23: 11(int) Load 22
25: 21(ptr) AccessChain 17 18 24
26: 11(int) Load 25
28: 27(fvec4) ImageFetch 10 23 Lod 26
32: 29 Load 31(g_tTex1di4)
33: 21(ptr) AccessChain 17 18 20
34: 11(int) Load 33
35: 21(ptr) AccessChain 17 18 24
36: 11(int) Load 35
37: 14(ivec4) ImageFetch 32 34 Lod 36
41: 38 Load 40(g_tTex1du4)
42: 21(ptr) AccessChain 17 18 20
43: 11(int) Load 42
44: 21(ptr) AccessChain 17 18 24
45: 11(int) Load 44
47: 46(ivec4) ImageFetch 41 43 Lod 45
51: 48 Load 50(g_tTex2df4)
54: 53(ptr) AccessChain 17 52
55: 13(ivec3) Load 54
56: 12(ivec2) VectorShuffle 55 55 0 1
58: 21(ptr) AccessChain 17 52 57
59: 11(int) Load 58
60: 27(fvec4) ImageFetch 51 56 Lod 59
64: 61 Load 63(g_tTex2di4)
65: 53(ptr) AccessChain 17 52
66: 13(ivec3) Load 65
67: 12(ivec2) VectorShuffle 66 66 0 1
68: 21(ptr) AccessChain 17 52 57
69: 11(int) Load 68
70: 14(ivec4) ImageFetch 64 67 Lod 69
74: 71 Load 73(g_tTex2du4)
75: 53(ptr) AccessChain 17 52
76: 13(ivec3) Load 75
77: 12(ivec2) VectorShuffle 76 76 0 1
78: 21(ptr) AccessChain 17 52 57
79: 11(int) Load 78
80: 46(ivec4) ImageFetch 74 77 Lod 79
84: 81 Load 83(g_tTex3df4)
87: 86(ptr) AccessChain 17 85
88: 14(ivec4) Load 87
89: 13(ivec3) VectorShuffle 88 88 0 1 2
91: 21(ptr) AccessChain 17 85 90
92: 11(int) Load 91
93: 27(fvec4) ImageFetch 84 89 Lod 92
97: 94 Load 96(g_tTex3di4)
98: 86(ptr) AccessChain 17 85
99: 14(ivec4) Load 98
100: 13(ivec3) VectorShuffle 99 99 0 1 2
101: 21(ptr) AccessChain 17 85 90
102: 11(int) Load 101
103: 14(ivec4) ImageFetch 97 100 Lod 102
107: 104 Load 106(g_tTex3du4)
108: 86(ptr) AccessChain 17 85
109: 14(ivec4) Load 108
110: 13(ivec3) VectorShuffle 109 109 0 1 2
111: 21(ptr) AccessChain 17 85 90
112: 11(int) Load 111
113: 46(ivec4) ImageFetch 107 110 Lod 112
121: 120(ptr) AccessChain 116(psout) 117
Store 121 119
123: 122(ptr) AccessChain 116(psout) 18
Store 123 118
126: 120(ptr) AccessChain 116(psout) 117
127: 27(fvec4) Load 126
Store 125(Color) 127
130: 122(ptr) AccessChain 116(psout) 18
131: 6(float) Load 130
Store 129(Depth) 131
130(flattenTemp): 118(ptr) Variable Function
131:8(PS_OUTPUT) FunctionCall 10(@main()
Store 130(flattenTemp) 131
134: 123(ptr) AccessChain 130(flattenTemp) 120
135: 7(fvec4) Load 134
Store 133(Color) 135
138: 125(ptr) AccessChain 130(flattenTemp) 23
139: 6(float) Load 138
Store 137(Depth) 139
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
119(psout): 118(ptr) Variable Function
15: 12 Load 14(g_tTex1df4)
27: 26(ptr) AccessChain 22 23 25
28: 16(int) Load 27
30: 26(ptr) AccessChain 22 23 29
31: 16(int) Load 30
32: 7(fvec4) ImageFetch 15 28 Lod 31
36: 33 Load 35(g_tTex1di4)
37: 26(ptr) AccessChain 22 23 25
38: 16(int) Load 37
39: 26(ptr) AccessChain 22 23 29
40: 16(int) Load 39
41: 19(ivec4) ImageFetch 36 38 Lod 40
45: 42 Load 44(g_tTex1du4)
46: 26(ptr) AccessChain 22 23 25
47: 16(int) Load 46
48: 26(ptr) AccessChain 22 23 29
49: 16(int) Load 48
51: 50(ivec4) ImageFetch 45 47 Lod 49
55: 52 Load 54(g_tTex2df4)
58: 57(ptr) AccessChain 22 56
59: 18(ivec3) Load 58
60: 17(ivec2) VectorShuffle 59 59 0 1
62: 26(ptr) AccessChain 22 56 61
63: 16(int) Load 62
64: 7(fvec4) ImageFetch 55 60 Lod 63
68: 65 Load 67(g_tTex2di4)
69: 57(ptr) AccessChain 22 56
70: 18(ivec3) Load 69
71: 17(ivec2) VectorShuffle 70 70 0 1
72: 26(ptr) AccessChain 22 56 61
73: 16(int) Load 72
74: 19(ivec4) ImageFetch 68 71 Lod 73
78: 75 Load 77(g_tTex2du4)
79: 57(ptr) AccessChain 22 56
80: 18(ivec3) Load 79
81: 17(ivec2) VectorShuffle 80 80 0 1
82: 26(ptr) AccessChain 22 56 61
83: 16(int) Load 82
84: 50(ivec4) ImageFetch 78 81 Lod 83
88: 85 Load 87(g_tTex3df4)
91: 90(ptr) AccessChain 22 89
92: 19(ivec4) Load 91
93: 18(ivec3) VectorShuffle 92 92 0 1 2
95: 26(ptr) AccessChain 22 89 94
96: 16(int) Load 95
97: 7(fvec4) ImageFetch 88 93 Lod 96
101: 98 Load 100(g_tTex3di4)
102: 90(ptr) AccessChain 22 89
103: 19(ivec4) Load 102
104: 18(ivec3) VectorShuffle 103 103 0 1 2
105: 26(ptr) AccessChain 22 89 94
106: 16(int) Load 105
107: 19(ivec4) ImageFetch 101 104 Lod 106
111: 108 Load 110(g_tTex3du4)
112: 90(ptr) AccessChain 22 89
113: 19(ivec4) Load 112
114: 18(ivec3) VectorShuffle 113 113 0 1 2
115: 26(ptr) AccessChain 22 89 94
116: 16(int) Load 115
117: 50(ivec4) ImageFetch 111 114 Lod 116
124: 123(ptr) AccessChain 119(psout) 120
Store 124 122
126: 125(ptr) AccessChain 119(psout) 23
Store 126 121
127:8(PS_OUTPUT) Load 119(psout)
ReturnValue 127
FunctionEnd

View File

@ -1,7 +1,7 @@
hlsl.load.basic.dx10.vert
Shader version: 450
0:? Sequence
0:47 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos})
0:47 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:47 Function Parameters:
0:? Sequence
0:51 textureFetch (temp 4-component vector of float)
@ -185,15 +185,18 @@ Shader version: 450
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:69 Sequence
0:69 Sequence
0:69 move second child to first child (temp 4-component vector of float)
0:? 'Pos' (out 4-component vector of float Position)
0:69 Pos: direct index for structure (temp 4-component vector of float)
0:69 'vsout' (temp structure{temp 4-component vector of float Pos})
0:69 Constant:
0:69 0 (const int)
0:69 Branch: Return
0:69 Branch: Return with expression
0:69 'vsout' (temp structure{temp 4-component vector of float Pos})
0:47 Function Definition: main( (temp void)
0:47 Function Parameters:
0:? Sequence
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:47 Pos: direct index for structure (temp 4-component vector of float Position)
0:47 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:47 Constant:
0:47 0 (const int)
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@ -218,7 +221,7 @@ Shader version: 450
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos})
Linked vertex stage:
@ -226,7 +229,7 @@ Linked vertex stage:
Shader version: 450
0:? Sequence
0:47 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos})
0:47 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:47 Function Parameters:
0:? Sequence
0:51 textureFetch (temp 4-component vector of float)
@ -410,15 +413,18 @@ Shader version: 450
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:69 Sequence
0:69 Sequence
0:69 move second child to first child (temp 4-component vector of float)
0:? 'Pos' (out 4-component vector of float Position)
0:69 Pos: direct index for structure (temp 4-component vector of float)
0:69 'vsout' (temp structure{temp 4-component vector of float Pos})
0:69 Constant:
0:69 0 (const int)
0:69 Branch: Return
0:69 Branch: Return with expression
0:69 'vsout' (temp structure{temp 4-component vector of float Pos})
0:47 Function Definition: main( (temp void)
0:47 Function Parameters:
0:? Sequence
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:47 Pos: direct index for structure (temp 4-component vector of float Position)
0:47 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:47 Constant:
0:47 0 (const int)
0:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@ -443,262 +449,279 @@ Shader version: 450
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos})
0:? 'PerVertex_out' (out block{out 4-component vector of float Position @entryPointOutput_Pos})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 169
// Id's are bound by 180
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 123 168
EntryPoint Vertex 4 "main" 135 179
Name 4 "main"
Name 9 "g_tTex1df4"
Name 15 "$Global"
MemberName 15($Global) 0 "c1"
MemberName 15($Global) 1 "c2"
MemberName 15($Global) 2 "c3"
MemberName 15($Global) 3 "c4"
MemberName 15($Global) 4 "o1"
MemberName 15($Global) 5 "o2"
MemberName 15($Global) 6 "o3"
MemberName 15($Global) 7 "o4"
Name 17 ""
Name 31 "g_tTex1di4"
Name 40 "g_tTex1du4"
Name 50 "g_tTex2df4"
Name 63 "g_tTex2di4"
Name 73 "g_tTex2du4"
Name 83 "g_tTex3df4"
Name 96 "g_tTex3di4"
Name 106 "g_tTex3du4"
Name 114 "VS_OUTPUT"
MemberName 114(VS_OUTPUT) 0 "Pos"
Name 116 "vsout"
Name 123 "Pos"
Name 129 "g_sSamp"
Name 132 "g_tTexcdf4"
Name 135 "g_tTexcdi4"
Name 138 "g_tTexcdu4"
Name 141 "g_tTex1df4a"
Name 144 "g_tTex1di4a"
Name 147 "g_tTex1du4a"
Name 150 "g_tTex2df4a"
Name 153 "g_tTex2di4a"
Name 156 "g_tTex2du4a"
Name 159 "g_tTexcdf4a"
Name 162 "g_tTexcdi4a"
Name 165 "g_tTexcdu4a"
Name 166 "PerVertex_out"
MemberName 166(PerVertex_out) 0 "Pos"
Name 168 "PerVertex_out"
Decorate 9(g_tTex1df4) DescriptorSet 0
Decorate 9(g_tTex1df4) Binding 0
MemberDecorate 15($Global) 0 Offset 0
MemberDecorate 15($Global) 1 Offset 8
MemberDecorate 15($Global) 2 Offset 16
MemberDecorate 15($Global) 3 Offset 32
MemberDecorate 15($Global) 4 Offset 48
MemberDecorate 15($Global) 5 Offset 56
MemberDecorate 15($Global) 6 Offset 64
MemberDecorate 15($Global) 7 Offset 80
Decorate 15($Global) Block
Decorate 17 DescriptorSet 0
Decorate 31(g_tTex1di4) DescriptorSet 0
Decorate 40(g_tTex1du4) DescriptorSet 0
Decorate 50(g_tTex2df4) DescriptorSet 0
Decorate 63(g_tTex2di4) DescriptorSet 0
Decorate 73(g_tTex2du4) DescriptorSet 0
Decorate 83(g_tTex3df4) DescriptorSet 0
Decorate 96(g_tTex3di4) DescriptorSet 0
Decorate 106(g_tTex3du4) DescriptorSet 0
Decorate 123(Pos) BuiltIn Position
Decorate 129(g_sSamp) DescriptorSet 0
Decorate 129(g_sSamp) Binding 0
Decorate 132(g_tTexcdf4) DescriptorSet 0
Decorate 135(g_tTexcdi4) DescriptorSet 0
Decorate 138(g_tTexcdu4) DescriptorSet 0
Decorate 141(g_tTex1df4a) DescriptorSet 0
Decorate 144(g_tTex1di4a) DescriptorSet 0
Decorate 147(g_tTex1du4a) DescriptorSet 0
Decorate 150(g_tTex2df4a) DescriptorSet 0
Decorate 153(g_tTex2di4a) DescriptorSet 0
Decorate 156(g_tTex2du4a) DescriptorSet 0
Decorate 159(g_tTexcdf4a) DescriptorSet 0
Decorate 162(g_tTexcdi4a) DescriptorSet 0
Decorate 165(g_tTexcdu4a) DescriptorSet 0
MemberDecorate 166(PerVertex_out) 0 BuiltIn Position
Decorate 166(PerVertex_out) Block
Name 8 "VS_OUTPUT"
MemberName 8(VS_OUTPUT) 0 "Pos"
Name 10 "@main("
Name 14 "g_tTex1df4"
Name 20 "$Global"
MemberName 20($Global) 0 "c1"
MemberName 20($Global) 1 "c2"
MemberName 20($Global) 2 "c3"
MemberName 20($Global) 3 "c4"
MemberName 20($Global) 4 "o1"
MemberName 20($Global) 5 "o2"
MemberName 20($Global) 6 "o3"
MemberName 20($Global) 7 "o4"
Name 22 ""
Name 35 "g_tTex1di4"
Name 44 "g_tTex1du4"
Name 54 "g_tTex2df4"
Name 67 "g_tTex2di4"
Name 77 "g_tTex2du4"
Name 87 "g_tTex3df4"
Name 100 "g_tTex3di4"
Name 110 "g_tTex3du4"
Name 118 "VS_OUTPUT"
MemberName 118(VS_OUTPUT) 0 "Pos"
Name 120 "vsout"
Name 135 "@entryPointOutput_Pos"
Name 140 "g_sSamp"
Name 143 "g_tTexcdf4"
Name 146 "g_tTexcdi4"
Name 149 "g_tTexcdu4"
Name 152 "g_tTex1df4a"
Name 155 "g_tTex1di4a"
Name 158 "g_tTex1du4a"
Name 161 "g_tTex2df4a"
Name 164 "g_tTex2di4a"
Name 167 "g_tTex2du4a"
Name 170 "g_tTexcdf4a"
Name 173 "g_tTexcdi4a"
Name 176 "g_tTexcdu4a"
Name 177 "PerVertex_out"
MemberName 177(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 179 "PerVertex_out"
MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position
Decorate 14(g_tTex1df4) DescriptorSet 0
Decorate 14(g_tTex1df4) Binding 0
MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 20($Global) 5 Offset 56
MemberDecorate 20($Global) 6 Offset 64
MemberDecorate 20($Global) 7 Offset 80
Decorate 20($Global) Block
Decorate 22 DescriptorSet 0
Decorate 35(g_tTex1di4) DescriptorSet 0
Decorate 44(g_tTex1du4) DescriptorSet 0
Decorate 54(g_tTex2df4) DescriptorSet 0
Decorate 67(g_tTex2di4) DescriptorSet 0
Decorate 77(g_tTex2du4) DescriptorSet 0
Decorate 87(g_tTex3df4) DescriptorSet 0
Decorate 100(g_tTex3di4) DescriptorSet 0
Decorate 110(g_tTex3du4) DescriptorSet 0
Decorate 135(@entryPointOutput_Pos) BuiltIn Position
Decorate 140(g_sSamp) DescriptorSet 0
Decorate 140(g_sSamp) Binding 0
Decorate 143(g_tTexcdf4) DescriptorSet 0
Decorate 146(g_tTexcdi4) DescriptorSet 0
Decorate 149(g_tTexcdu4) DescriptorSet 0
Decorate 152(g_tTex1df4a) DescriptorSet 0
Decorate 155(g_tTex1di4a) DescriptorSet 0
Decorate 158(g_tTex1du4a) DescriptorSet 0
Decorate 161(g_tTex2df4a) DescriptorSet 0
Decorate 164(g_tTex2di4a) DescriptorSet 0
Decorate 167(g_tTex2du4a) DescriptorSet 0
Decorate 170(g_tTexcdf4a) DescriptorSet 0
Decorate 173(g_tTexcdi4a) DescriptorSet 0
Decorate 176(g_tTexcdu4a) DescriptorSet 0
MemberDecorate 177(PerVertex_out) 0 BuiltIn Position
Decorate 177(PerVertex_out) Block
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeImage 6(float) 1D sampled format:Unknown
8: TypePointer UniformConstant 7
9(g_tTex1df4): 8(ptr) Variable UniformConstant
11: TypeInt 32 1
12: TypeVector 11(int) 2
13: TypeVector 11(int) 3
14: TypeVector 11(int) 4
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4)
16: TypePointer Uniform 15($Global)
17: 16(ptr) Variable Uniform
18: 11(int) Constant 1
19: TypeInt 32 0
20: 19(int) Constant 0
21: TypePointer Uniform 11(int)
24: 19(int) Constant 1
27: TypeVector 6(float) 4
29: TypeImage 11(int) 1D sampled format:Unknown
30: TypePointer UniformConstant 29
31(g_tTex1di4): 30(ptr) Variable UniformConstant
38: TypeImage 19(int) 1D sampled format:Unknown
39: TypePointer UniformConstant 38
40(g_tTex1du4): 39(ptr) Variable UniformConstant
46: TypeVector 19(int) 4
48: TypeImage 6(float) 2D sampled format:Unknown
49: TypePointer UniformConstant 48
50(g_tTex2df4): 49(ptr) Variable UniformConstant
52: 11(int) Constant 2
53: TypePointer Uniform 13(ivec3)
57: 19(int) Constant 2
61: TypeImage 11(int) 2D sampled format:Unknown
62: TypePointer UniformConstant 61
63(g_tTex2di4): 62(ptr) Variable UniformConstant
71: TypeImage 19(int) 2D sampled format:Unknown
72: TypePointer UniformConstant 71
73(g_tTex2du4): 72(ptr) Variable UniformConstant
81: TypeImage 6(float) 3D sampled format:Unknown
82: TypePointer UniformConstant 81
83(g_tTex3df4): 82(ptr) Variable UniformConstant
85: 11(int) Constant 3
86: TypePointer Uniform 14(ivec4)
90: 19(int) Constant 3
94: TypeImage 11(int) 3D sampled format:Unknown
95: TypePointer UniformConstant 94
96(g_tTex3di4): 95(ptr) Variable UniformConstant
104: TypeImage 19(int) 3D sampled format:Unknown
105: TypePointer UniformConstant 104
106(g_tTex3du4): 105(ptr) Variable UniformConstant
114(VS_OUTPUT): TypeStruct 27(fvec4)
115: TypePointer Function 114(VS_OUTPUT)
117: 11(int) Constant 0
118: 6(float) Constant 0
119: 27(fvec4) ConstantComposite 118 118 118 118
120: TypePointer Function 27(fvec4)
122: TypePointer Output 27(fvec4)
123(Pos): 122(ptr) Variable Output
127: TypeSampler
128: TypePointer UniformConstant 127
129(g_sSamp): 128(ptr) Variable UniformConstant
130: TypeImage 6(float) Cube sampled format:Unknown
131: TypePointer UniformConstant 130
132(g_tTexcdf4): 131(ptr) Variable UniformConstant
133: TypeImage 11(int) Cube sampled format:Unknown
134: TypePointer UniformConstant 133
135(g_tTexcdi4): 134(ptr) Variable UniformConstant
136: TypeImage 19(int) Cube sampled format:Unknown
137: TypePointer UniformConstant 136
138(g_tTexcdu4): 137(ptr) Variable UniformConstant
139: TypeImage 6(float) 1D array sampled format:Unknown
140: TypePointer UniformConstant 139
141(g_tTex1df4a): 140(ptr) Variable UniformConstant
142: TypeImage 11(int) 1D array sampled format:Unknown
143: TypePointer UniformConstant 142
144(g_tTex1di4a): 143(ptr) Variable UniformConstant
145: TypeImage 19(int) 1D array sampled format:Unknown
146: TypePointer UniformConstant 145
147(g_tTex1du4a): 146(ptr) Variable UniformConstant
148: TypeImage 6(float) 2D array sampled format:Unknown
149: TypePointer UniformConstant 148
150(g_tTex2df4a): 149(ptr) Variable UniformConstant
151: TypeImage 11(int) 2D array sampled format:Unknown
152: TypePointer UniformConstant 151
153(g_tTex2di4a): 152(ptr) Variable UniformConstant
154: TypeImage 19(int) 2D array sampled format:Unknown
155: TypePointer UniformConstant 154
156(g_tTex2du4a): 155(ptr) Variable UniformConstant
157: TypeImage 6(float) Cube array sampled format:Unknown
158: TypePointer UniformConstant 157
159(g_tTexcdf4a): 158(ptr) Variable UniformConstant
160: TypeImage 11(int) Cube array sampled format:Unknown
161: TypePointer UniformConstant 160
162(g_tTexcdi4a): 161(ptr) Variable UniformConstant
163: TypeImage 19(int) Cube array sampled format:Unknown
164: TypePointer UniformConstant 163
165(g_tTexcdu4a): 164(ptr) Variable UniformConstant
166(PerVertex_out): TypeStruct 27(fvec4)
167: TypePointer Output 166(PerVertex_out)
168(PerVertex_out): 167(ptr) Variable Output
7: TypeVector 6(float) 4
8(VS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(VS_OUTPUT)
12: TypeImage 6(float) 1D sampled format:Unknown
13: TypePointer UniformConstant 12
14(g_tTex1df4): 13(ptr) Variable UniformConstant
16: TypeInt 32 1
17: TypeVector 16(int) 2
18: TypeVector 16(int) 3
19: TypeVector 16(int) 4
20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
21: TypePointer Uniform 20($Global)
22: 21(ptr) Variable Uniform
23: 16(int) Constant 1
24: TypeInt 32 0
25: 24(int) Constant 0
26: TypePointer Uniform 16(int)
29: 24(int) Constant 1
33: TypeImage 16(int) 1D sampled format:Unknown
34: TypePointer UniformConstant 33
35(g_tTex1di4): 34(ptr) Variable UniformConstant
42: TypeImage 24(int) 1D sampled format:Unknown
43: TypePointer UniformConstant 42
44(g_tTex1du4): 43(ptr) Variable UniformConstant
50: TypeVector 24(int) 4
52: TypeImage 6(float) 2D sampled format:Unknown
53: TypePointer UniformConstant 52
54(g_tTex2df4): 53(ptr) Variable UniformConstant
56: 16(int) Constant 2
57: TypePointer Uniform 18(ivec3)
61: 24(int) Constant 2
65: TypeImage 16(int) 2D sampled format:Unknown
66: TypePointer UniformConstant 65
67(g_tTex2di4): 66(ptr) Variable UniformConstant
75: TypeImage 24(int) 2D sampled format:Unknown
76: TypePointer UniformConstant 75
77(g_tTex2du4): 76(ptr) Variable UniformConstant
85: TypeImage 6(float) 3D sampled format:Unknown
86: TypePointer UniformConstant 85
87(g_tTex3df4): 86(ptr) Variable UniformConstant
89: 16(int) Constant 3
90: TypePointer Uniform 19(ivec4)
94: 24(int) Constant 3
98: TypeImage 16(int) 3D sampled format:Unknown
99: TypePointer UniformConstant 98
100(g_tTex3di4): 99(ptr) Variable UniformConstant
108: TypeImage 24(int) 3D sampled format:Unknown
109: TypePointer UniformConstant 108
110(g_tTex3du4): 109(ptr) Variable UniformConstant
118(VS_OUTPUT): TypeStruct 7(fvec4)
119: TypePointer Function 118(VS_OUTPUT)
121: 16(int) Constant 0
122: 6(float) Constant 0
123: 7(fvec4) ConstantComposite 122 122 122 122
124: TypePointer Function 7(fvec4)
127: TypePointer Function 8(VS_OUTPUT)
134: TypePointer Output 7(fvec4)
135(@entryPointOutput_Pos): 134(ptr) Variable Output
138: TypeSampler
139: TypePointer UniformConstant 138
140(g_sSamp): 139(ptr) Variable UniformConstant
141: TypeImage 6(float) Cube sampled format:Unknown
142: TypePointer UniformConstant 141
143(g_tTexcdf4): 142(ptr) Variable UniformConstant
144: TypeImage 16(int) Cube sampled format:Unknown
145: TypePointer UniformConstant 144
146(g_tTexcdi4): 145(ptr) Variable UniformConstant
147: TypeImage 24(int) Cube sampled format:Unknown
148: TypePointer UniformConstant 147
149(g_tTexcdu4): 148(ptr) Variable UniformConstant
150: TypeImage 6(float) 1D array sampled format:Unknown
151: TypePointer UniformConstant 150
152(g_tTex1df4a): 151(ptr) Variable UniformConstant
153: TypeImage 16(int) 1D array sampled format:Unknown
154: TypePointer UniformConstant 153
155(g_tTex1di4a): 154(ptr) Variable UniformConstant
156: TypeImage 24(int) 1D array sampled format:Unknown
157: TypePointer UniformConstant 156
158(g_tTex1du4a): 157(ptr) Variable UniformConstant
159: TypeImage 6(float) 2D array sampled format:Unknown
160: TypePointer UniformConstant 159
161(g_tTex2df4a): 160(ptr) Variable UniformConstant
162: TypeImage 16(int) 2D array sampled format:Unknown
163: TypePointer UniformConstant 162
164(g_tTex2di4a): 163(ptr) Variable UniformConstant
165: TypeImage 24(int) 2D array sampled format:Unknown
166: TypePointer UniformConstant 165
167(g_tTex2du4a): 166(ptr) Variable UniformConstant
168: TypeImage 6(float) Cube array sampled format:Unknown
169: TypePointer UniformConstant 168
170(g_tTexcdf4a): 169(ptr) Variable UniformConstant
171: TypeImage 16(int) Cube array sampled format:Unknown
172: TypePointer UniformConstant 171
173(g_tTexcdi4a): 172(ptr) Variable UniformConstant
174: TypeImage 24(int) Cube array sampled format:Unknown
175: TypePointer UniformConstant 174
176(g_tTexcdu4a): 175(ptr) Variable UniformConstant
177(PerVertex_out): TypeStruct 7(fvec4)
178: TypePointer Output 177(PerVertex_out)
179(PerVertex_out): 178(ptr) Variable Output
4(main): 2 Function None 3
5: Label
116(vsout): 115(ptr) Variable Function
10: 7 Load 9(g_tTex1df4)
22: 21(ptr) AccessChain 17 18 20
23: 11(int) Load 22
25: 21(ptr) AccessChain 17 18 24
26: 11(int) Load 25
28: 27(fvec4) ImageFetch 10 23 Lod 26
32: 29 Load 31(g_tTex1di4)
33: 21(ptr) AccessChain 17 18 20
34: 11(int) Load 33
35: 21(ptr) AccessChain 17 18 24
36: 11(int) Load 35
37: 14(ivec4) ImageFetch 32 34 Lod 36
41: 38 Load 40(g_tTex1du4)
42: 21(ptr) AccessChain 17 18 20
43: 11(int) Load 42
44: 21(ptr) AccessChain 17 18 24
45: 11(int) Load 44
47: 46(ivec4) ImageFetch 41 43 Lod 45
51: 48 Load 50(g_tTex2df4)
54: 53(ptr) AccessChain 17 52
55: 13(ivec3) Load 54
56: 12(ivec2) VectorShuffle 55 55 0 1
58: 21(ptr) AccessChain 17 52 57
59: 11(int) Load 58
60: 27(fvec4) ImageFetch 51 56 Lod 59
64: 61 Load 63(g_tTex2di4)
65: 53(ptr) AccessChain 17 52
66: 13(ivec3) Load 65
67: 12(ivec2) VectorShuffle 66 66 0 1
68: 21(ptr) AccessChain 17 52 57
69: 11(int) Load 68
70: 14(ivec4) ImageFetch 64 67 Lod 69
74: 71 Load 73(g_tTex2du4)
75: 53(ptr) AccessChain 17 52
76: 13(ivec3) Load 75
77: 12(ivec2) VectorShuffle 76 76 0 1
78: 21(ptr) AccessChain 17 52 57
79: 11(int) Load 78
80: 46(ivec4) ImageFetch 74 77 Lod 79
84: 81 Load 83(g_tTex3df4)
87: 86(ptr) AccessChain 17 85
88: 14(ivec4) Load 87
89: 13(ivec3) VectorShuffle 88 88 0 1 2
91: 21(ptr) AccessChain 17 85 90
92: 11(int) Load 91
93: 27(fvec4) ImageFetch 84 89 Lod 92
97: 94 Load 96(g_tTex3di4)
98: 86(ptr) AccessChain 17 85
99: 14(ivec4) Load 98
100: 13(ivec3) VectorShuffle 99 99 0 1 2
101: 21(ptr) AccessChain 17 85 90
102: 11(int) Load 101
103: 14(ivec4) ImageFetch 97 100 Lod 102
107: 104 Load 106(g_tTex3du4)
108: 86(ptr) AccessChain 17 85
109: 14(ivec4) Load 108
110: 13(ivec3) VectorShuffle 109 109 0 1 2
111: 21(ptr) AccessChain 17 85 90
112: 11(int) Load 111
113: 46(ivec4) ImageFetch 107 110 Lod 112
121: 120(ptr) AccessChain 116(vsout) 117
Store 121 119
124: 120(ptr) AccessChain 116(vsout) 117
125: 27(fvec4) Load 124
Store 123(Pos) 125
136:8(VS_OUTPUT) FunctionCall 10(@main()
137: 7(fvec4) CompositeExtract 136 0
Store 135(@entryPointOutput_Pos) 137
Return
FunctionEnd
10(@main():8(VS_OUTPUT) Function None 9
11: Label
120(vsout): 119(ptr) Variable Function
128: 127(ptr) Variable Function
15: 12 Load 14(g_tTex1df4)
27: 26(ptr) AccessChain 22 23 25
28: 16(int) Load 27
30: 26(ptr) AccessChain 22 23 29
31: 16(int) Load 30
32: 7(fvec4) ImageFetch 15 28 Lod 31
36: 33 Load 35(g_tTex1di4)
37: 26(ptr) AccessChain 22 23 25
38: 16(int) Load 37
39: 26(ptr) AccessChain 22 23 29
40: 16(int) Load 39
41: 19(ivec4) ImageFetch 36 38 Lod 40
45: 42 Load 44(g_tTex1du4)
46: 26(ptr) AccessChain 22 23 25
47: 16(int) Load 46
48: 26(ptr) AccessChain 22 23 29
49: 16(int) Load 48
51: 50(ivec4) ImageFetch 45 47 Lod 49
55: 52 Load 54(g_tTex2df4)
58: 57(ptr) AccessChain 22 56
59: 18(ivec3) Load 58
60: 17(ivec2) VectorShuffle 59 59 0 1
62: 26(ptr) AccessChain 22 56 61
63: 16(int) Load 62
64: 7(fvec4) ImageFetch 55 60 Lod 63
68: 65 Load 67(g_tTex2di4)
69: 57(ptr) AccessChain 22 56
70: 18(ivec3) Load 69
71: 17(ivec2) VectorShuffle 70 70 0 1
72: 26(ptr) AccessChain 22 56 61
73: 16(int) Load 72
74: 19(ivec4) ImageFetch 68 71 Lod 73
78: 75 Load 77(g_tTex2du4)
79: 57(ptr) AccessChain 22 56
80: 18(ivec3) Load 79
81: 17(ivec2) VectorShuffle 80 80 0 1
82: 26(ptr) AccessChain 22 56 61
83: 16(int) Load 82
84: 50(ivec4) ImageFetch 78 81 Lod 83
88: 85 Load 87(g_tTex3df4)
91: 90(ptr) AccessChain 22 89
92: 19(ivec4) Load 91
93: 18(ivec3) VectorShuffle 92 92 0 1 2
95: 26(ptr) AccessChain 22 89 94
96: 16(int) Load 95
97: 7(fvec4) ImageFetch 88 93 Lod 96
101: 98 Load 100(g_tTex3di4)
102: 90(ptr) AccessChain 22 89
103: 19(ivec4) Load 102
104: 18(ivec3) VectorShuffle 103 103 0 1 2
105: 26(ptr) AccessChain 22 89 94
106: 16(int) Load 105
107: 19(ivec4) ImageFetch 101 104 Lod 106
111: 108 Load 110(g_tTex3du4)
112: 90(ptr) AccessChain 22 89
113: 19(ivec4) Load 112
114: 18(ivec3) VectorShuffle 113 113 0 1 2
115: 26(ptr) AccessChain 22 89 94
116: 16(int) Load 115
117: 50(ivec4) ImageFetch 111 114 Lod 116
125: 124(ptr) AccessChain 120(vsout) 121
Store 125 123
126:118(VS_OUTPUT) Load 120(vsout)
129: 7(fvec4) CompositeExtract 126 0
130: 124(ptr) AccessChain 128 121
Store 130 129
131:8(VS_OUTPUT) Load 128
ReturnValue 131
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.load.buffer.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:28 Sequence
@ -49,28 +49,34 @@ gl_FragCoord origin is upper left
0:35 1 (const int)
0:35 Constant:
0:35 1.000000
0:37 Sequence
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:37 Color: direct index for structure (temp 4-component vector of float)
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 Constant:
0:37 0 (const int)
0:37 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:37 Depth: direct index for structure (temp float)
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 Constant:
0:37 1 (const int)
0:37 Branch: Return
0:37 Branch: Return with expression
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp void)
0:24 Function Parameters:
0:? Sequence
0:24 Sequence
0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:24 Color: direct index for structure (temp 4-component vector of float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:24 Depth: direct index for structure (temp float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer)
0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
0:? 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@ -80,7 +86,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:28 Sequence
@ -127,155 +133,172 @@ gl_FragCoord origin is upper left
0:35 1 (const int)
0:35 Constant:
0:35 1.000000
0:37 Sequence
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:37 Color: direct index for structure (temp 4-component vector of float)
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 Constant:
0:37 0 (const int)
0:37 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:37 Depth: direct index for structure (temp float)
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 Constant:
0:37 1 (const int)
0:37 Branch: Return
0:37 Branch: Return with expression
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp void)
0:24 Function Parameters:
0:? Sequence
0:24 Sequence
0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:24 Color: direct index for structure (temp 4-component vector of float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:24 Depth: direct index for structure (temp float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer)
0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
0:? 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 71
// Id's are bound by 78
Capability Shader
Capability SampledBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 62 66
EntryPoint Fragment 4 "main" 70 74
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "r00"
Name 13 "g_tTexbf4"
Name 19 "$Global"
MemberName 19($Global) 0 "c1"
MemberName 19($Global) 1 "c2"
MemberName 19($Global) 2 "c3"
MemberName 19($Global) 3 "c4"
MemberName 19($Global) 4 "o1"
MemberName 19($Global) 5 "o2"
MemberName 19($Global) 6 "o3"
MemberName 19($Global) 7 "o4"
Name 21 ""
Name 29 "r01"
Name 33 "g_tTexbi4"
Name 42 "r02"
Name 46 "g_tTexbu4"
Name 52 "PS_OUTPUT"
MemberName 52(PS_OUTPUT) 0 "Color"
MemberName 52(PS_OUTPUT) 1 "Depth"
Name 54 "psout"
Name 62 "Color"
Name 66 "Depth"
Name 70 "g_tTexbf4_test"
Decorate 13(g_tTexbf4) DescriptorSet 0
MemberDecorate 19($Global) 0 Offset 0
MemberDecorate 19($Global) 1 Offset 8
MemberDecorate 19($Global) 2 Offset 16
MemberDecorate 19($Global) 3 Offset 32
MemberDecorate 19($Global) 4 Offset 48
MemberDecorate 19($Global) 5 Offset 56
MemberDecorate 19($Global) 6 Offset 64
MemberDecorate 19($Global) 7 Offset 80
Decorate 19($Global) Block
Decorate 21 DescriptorSet 0
Decorate 33(g_tTexbi4) DescriptorSet 0
Decorate 46(g_tTexbu4) DescriptorSet 0
Decorate 62(Color) Location 0
Decorate 66(Depth) BuiltIn FragDepth
Decorate 70(g_tTexbf4_test) DescriptorSet 0
Decorate 70(g_tTexbf4_test) Binding 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 13 "r00"
Name 17 "g_tTexbf4"
Name 23 "$Global"
MemberName 23($Global) 0 "c1"
MemberName 23($Global) 1 "c2"
MemberName 23($Global) 2 "c3"
MemberName 23($Global) 3 "c4"
MemberName 23($Global) 4 "o1"
MemberName 23($Global) 5 "o2"
MemberName 23($Global) 6 "o3"
MemberName 23($Global) 7 "o4"
Name 25 ""
Name 33 "r01"
Name 37 "g_tTexbi4"
Name 46 "r02"
Name 50 "g_tTexbu4"
Name 57 "psout"
Name 67 "flattenTemp"
Name 70 "Color"
Name 74 "Depth"
Name 77 "g_tTexbf4_test"
Decorate 17(g_tTexbf4) DescriptorSet 0
MemberDecorate 23($Global) 0 Offset 0
MemberDecorate 23($Global) 1 Offset 8
MemberDecorate 23($Global) 2 Offset 16
MemberDecorate 23($Global) 3 Offset 32
MemberDecorate 23($Global) 4 Offset 48
MemberDecorate 23($Global) 5 Offset 56
MemberDecorate 23($Global) 6 Offset 64
MemberDecorate 23($Global) 7 Offset 80
Decorate 23($Global) Block
Decorate 25 DescriptorSet 0
Decorate 37(g_tTexbi4) DescriptorSet 0
Decorate 50(g_tTexbu4) DescriptorSet 0
Decorate 70(Color) Location 0
Decorate 74(Depth) BuiltIn FragDepth
Decorate 77(g_tTexbf4_test) DescriptorSet 0
Decorate 77(g_tTexbf4_test) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypeImage 6(float) Buffer sampled format:Rgba32f
11: TypeSampledImage 10
12: TypePointer UniformConstant 11
13(g_tTexbf4): 12(ptr) Variable UniformConstant
15: TypeInt 32 1
16: TypeVector 15(int) 2
17: TypeVector 15(int) 3
18: TypeVector 15(int) 4
19($Global): TypeStruct 15(int) 16(ivec2) 17(ivec3) 18(ivec4) 15(int) 16(ivec2) 17(ivec3) 18(ivec4)
20: TypePointer Uniform 19($Global)
21: 20(ptr) Variable Uniform
22: 15(int) Constant 0
23: TypePointer Uniform 15(int)
28: TypePointer Function 18(ivec4)
30: TypeImage 15(int) Buffer sampled format:Rgba32i
31: TypeSampledImage 30
32: TypePointer UniformConstant 31
33(g_tTexbi4): 32(ptr) Variable UniformConstant
39: TypeInt 32 0
40: TypeVector 39(int) 4
41: TypePointer Function 40(ivec4)
43: TypeImage 39(int) Buffer sampled format:Rgba32ui
44: TypeSampledImage 43
45: TypePointer UniformConstant 44
46(g_tTexbu4): 45(ptr) Variable UniformConstant
52(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
53: TypePointer Function 52(PS_OUTPUT)
55: 6(float) Constant 1065353216
56: 7(fvec4) ConstantComposite 55 55 55 55
58: 15(int) Constant 1
59: TypePointer Function 6(float)
61: TypePointer Output 7(fvec4)
62(Color): 61(ptr) Variable Output
65: TypePointer Output 6(float)
66(Depth): 65(ptr) Variable Output
70(g_tTexbf4_test): 12(ptr) Variable UniformConstant
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 7(fvec4)
14: TypeImage 6(float) Buffer sampled format:Rgba32f
15: TypeSampledImage 14
16: TypePointer UniformConstant 15
17(g_tTexbf4): 16(ptr) Variable UniformConstant
19: TypeInt 32 1
20: TypeVector 19(int) 2
21: TypeVector 19(int) 3
22: TypeVector 19(int) 4
23($Global): TypeStruct 19(int) 20(ivec2) 21(ivec3) 22(ivec4) 19(int) 20(ivec2) 21(ivec3) 22(ivec4)
24: TypePointer Uniform 23($Global)
25: 24(ptr) Variable Uniform
26: 19(int) Constant 0
27: TypePointer Uniform 19(int)
32: TypePointer Function 22(ivec4)
34: TypeImage 19(int) Buffer sampled format:Rgba32i
35: TypeSampledImage 34
36: TypePointer UniformConstant 35
37(g_tTexbi4): 36(ptr) Variable UniformConstant
43: TypeInt 32 0
44: TypeVector 43(int) 4
45: TypePointer Function 44(ivec4)
47: TypeImage 43(int) Buffer sampled format:Rgba32ui
48: TypeSampledImage 47
49: TypePointer UniformConstant 48
50(g_tTexbu4): 49(ptr) Variable UniformConstant
56: TypePointer Function 8(PS_OUTPUT)
58: 6(float) Constant 1065353216
59: 7(fvec4) ConstantComposite 58 58 58 58
61: 19(int) Constant 1
62: TypePointer Function 6(float)
69: TypePointer Output 7(fvec4)
70(Color): 69(ptr) Variable Output
73: TypePointer Output 6(float)
74(Depth): 73(ptr) Variable Output
77(g_tTexbf4_test): 16(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(r00): 8(ptr) Variable Function
29(r01): 28(ptr) Variable Function
42(r02): 41(ptr) Variable Function
54(psout): 53(ptr) Variable Function
14: 11 Load 13(g_tTexbf4)
24: 23(ptr) AccessChain 21 22
25: 15(int) Load 24
26: 10 Image 14
27: 7(fvec4) ImageFetch 26 25
Store 9(r00) 27
34: 31 Load 33(g_tTexbi4)
35: 23(ptr) AccessChain 21 22
36: 15(int) Load 35
37: 30 Image 34
38: 18(ivec4) ImageFetch 37 36
Store 29(r01) 38
47: 44 Load 46(g_tTexbu4)
48: 23(ptr) AccessChain 21 22
49: 15(int) Load 48
50: 43 Image 47
51: 40(ivec4) ImageFetch 50 49
Store 42(r02) 51
57: 8(ptr) AccessChain 54(psout) 22
Store 57 56
60: 59(ptr) AccessChain 54(psout) 58
Store 60 55
63: 8(ptr) AccessChain 54(psout) 22
64: 7(fvec4) Load 63
Store 62(Color) 64
67: 59(ptr) AccessChain 54(psout) 58
68: 6(float) Load 67
Store 66(Depth) 68
67(flattenTemp): 56(ptr) Variable Function
68:8(PS_OUTPUT) FunctionCall 10(@main()
Store 67(flattenTemp) 68
71: 12(ptr) AccessChain 67(flattenTemp) 26
72: 7(fvec4) Load 71
Store 70(Color) 72
75: 62(ptr) AccessChain 67(flattenTemp) 61
76: 6(float) Load 75
Store 74(Depth) 76
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(r00): 12(ptr) Variable Function
33(r01): 32(ptr) Variable Function
46(r02): 45(ptr) Variable Function
57(psout): 56(ptr) Variable Function
18: 15 Load 17(g_tTexbf4)
28: 27(ptr) AccessChain 25 26
29: 19(int) Load 28
30: 14 Image 18
31: 7(fvec4) ImageFetch 30 29
Store 13(r00) 31
38: 35 Load 37(g_tTexbi4)
39: 27(ptr) AccessChain 25 26
40: 19(int) Load 39
41: 34 Image 38
42: 22(ivec4) ImageFetch 41 40
Store 33(r01) 42
51: 48 Load 50(g_tTexbu4)
52: 27(ptr) AccessChain 25 26
53: 19(int) Load 52
54: 47 Image 51
55: 44(ivec4) ImageFetch 54 53
Store 46(r02) 55
60: 12(ptr) AccessChain 57(psout) 26
Store 60 59
63: 62(ptr) AccessChain 57(psout) 61
Store 63 58
64:8(PS_OUTPUT) Load 57(psout)
ReturnValue 64
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.load.buffer.float.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:28 Sequence
@ -52,28 +52,34 @@ gl_FragCoord origin is upper left
0:35 1 (const int)
0:35 Constant:
0:35 1.000000
0:37 Sequence
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:37 Color: direct index for structure (temp 4-component vector of float)
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 Constant:
0:37 0 (const int)
0:37 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:37 Depth: direct index for structure (temp float)
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 Constant:
0:37 1 (const int)
0:37 Branch: Return
0:37 Branch: Return with expression
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp void)
0:24 Function Parameters:
0:? Sequence
0:24 Sequence
0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:24 Color: direct index for structure (temp 4-component vector of float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:24 Depth: direct index for structure (temp float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer)
0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
0:? 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@ -83,7 +89,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:28 Sequence
@ -133,158 +139,175 @@ gl_FragCoord origin is upper left
0:35 1 (const int)
0:35 Constant:
0:35 1.000000
0:37 Sequence
0:37 Sequence
0:37 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:37 Color: direct index for structure (temp 4-component vector of float)
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 Constant:
0:37 0 (const int)
0:37 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:37 Depth: direct index for structure (temp float)
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 Constant:
0:37 1 (const int)
0:37 Branch: Return
0:37 Branch: Return with expression
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp void)
0:24 Function Parameters:
0:? Sequence
0:24 Sequence
0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:24 Color: direct index for structure (temp 4-component vector of float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 0 (const int)
0:24 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:24 Depth: direct index for structure (temp float)
0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Constant:
0:24 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer)
0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
0:? 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 74
// Id's are bound by 81
Capability Shader
Capability SampledBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 65 69
EntryPoint Fragment 4 "main" 73 77
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "r00"
Name 12 "g_tTexbfs"
Name 18 "$Global"
MemberName 18($Global) 0 "c1"
MemberName 18($Global) 1 "c2"
MemberName 18($Global) 2 "c3"
MemberName 18($Global) 3 "c4"
MemberName 18($Global) 4 "o1"
MemberName 18($Global) 5 "o2"
MemberName 18($Global) 6 "o3"
MemberName 18($Global) 7 "o4"
Name 20 ""
Name 30 "r01"
Name 34 "g_tTexbis"
Name 43 "r02"
Name 47 "g_tTexbus"
Name 55 "PS_OUTPUT"
MemberName 55(PS_OUTPUT) 0 "Color"
MemberName 55(PS_OUTPUT) 1 "Depth"
Name 57 "psout"
Name 65 "Color"
Name 69 "Depth"
Name 73 "g_tTexbfs_test"
Decorate 12(g_tTexbfs) DescriptorSet 0
MemberDecorate 18($Global) 0 Offset 0
MemberDecorate 18($Global) 1 Offset 8
MemberDecorate 18($Global) 2 Offset 16
MemberDecorate 18($Global) 3 Offset 32
MemberDecorate 18($Global) 4 Offset 48
MemberDecorate 18($Global) 5 Offset 56
MemberDecorate 18($Global) 6 Offset 64
MemberDecorate 18($Global) 7 Offset 80
Decorate 18($Global) Block
Decorate 20 DescriptorSet 0
Decorate 34(g_tTexbis) DescriptorSet 0
Decorate 47(g_tTexbus) DescriptorSet 0
Decorate 65(Color) Location 0
Decorate 69(Depth) BuiltIn FragDepth
Decorate 73(g_tTexbfs_test) DescriptorSet 0
Decorate 73(g_tTexbfs_test) Binding 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 13 "r00"
Name 17 "g_tTexbfs"
Name 23 "$Global"
MemberName 23($Global) 0 "c1"
MemberName 23($Global) 1 "c2"
MemberName 23($Global) 2 "c3"
MemberName 23($Global) 3 "c4"
MemberName 23($Global) 4 "o1"
MemberName 23($Global) 5 "o2"
MemberName 23($Global) 6 "o3"
MemberName 23($Global) 7 "o4"
Name 25 ""
Name 34 "r01"
Name 38 "g_tTexbis"
Name 47 "r02"
Name 51 "g_tTexbus"
Name 60 "psout"
Name 70 "flattenTemp"
Name 73 "Color"
Name 77 "Depth"
Name 80 "g_tTexbfs_test"
Decorate 17(g_tTexbfs) DescriptorSet 0
MemberDecorate 23($Global) 0 Offset 0
MemberDecorate 23($Global) 1 Offset 8
MemberDecorate 23($Global) 2 Offset 16
MemberDecorate 23($Global) 3 Offset 32
MemberDecorate 23($Global) 4 Offset 48
MemberDecorate 23($Global) 5 Offset 56
MemberDecorate 23($Global) 6 Offset 64
MemberDecorate 23($Global) 7 Offset 80
Decorate 23($Global) Block
Decorate 25 DescriptorSet 0
Decorate 38(g_tTexbis) DescriptorSet 0
Decorate 51(g_tTexbus) DescriptorSet 0
Decorate 73(Color) Location 0
Decorate 77(Depth) BuiltIn FragDepth
Decorate 80(g_tTexbfs_test) DescriptorSet 0
Decorate 80(g_tTexbfs_test) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
9: TypeImage 6(float) Buffer sampled format:R32f
10: TypeSampledImage 9
11: TypePointer UniformConstant 10
12(g_tTexbfs): 11(ptr) Variable UniformConstant
14: TypeInt 32 1
15: TypeVector 14(int) 2
16: TypeVector 14(int) 3
17: TypeVector 14(int) 4
18($Global): TypeStruct 14(int) 15(ivec2) 16(ivec3) 17(ivec4) 14(int) 15(ivec2) 16(ivec3) 17(ivec4)
19: TypePointer Uniform 18($Global)
20: 19(ptr) Variable Uniform
21: 14(int) Constant 0
22: TypePointer Uniform 14(int)
26: TypeVector 6(float) 4
29: TypePointer Function 14(int)
31: TypeImage 14(int) Buffer sampled format:R32i
32: TypeSampledImage 31
33: TypePointer UniformConstant 32
34(g_tTexbis): 33(ptr) Variable UniformConstant
41: TypeInt 32 0
42: TypePointer Function 41(int)
44: TypeImage 41(int) Buffer sampled format:R32ui
45: TypeSampledImage 44
46: TypePointer UniformConstant 45
47(g_tTexbus): 46(ptr) Variable UniformConstant
52: TypeVector 41(int) 4
55(PS_OUTPUT): TypeStruct 26(fvec4) 6(float)
56: TypePointer Function 55(PS_OUTPUT)
58: 6(float) Constant 1065353216
59: 26(fvec4) ConstantComposite 58 58 58 58
60: TypePointer Function 26(fvec4)
62: 14(int) Constant 1
64: TypePointer Output 26(fvec4)
65(Color): 64(ptr) Variable Output
68: TypePointer Output 6(float)
69(Depth): 68(ptr) Variable Output
73(g_tTexbfs_test): 11(ptr) Variable UniformConstant
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 6(float)
14: TypeImage 6(float) Buffer sampled format:R32f
15: TypeSampledImage 14
16: TypePointer UniformConstant 15
17(g_tTexbfs): 16(ptr) Variable UniformConstant
19: TypeInt 32 1
20: TypeVector 19(int) 2
21: TypeVector 19(int) 3
22: TypeVector 19(int) 4
23($Global): TypeStruct 19(int) 20(ivec2) 21(ivec3) 22(ivec4) 19(int) 20(ivec2) 21(ivec3) 22(ivec4)
24: TypePointer Uniform 23($Global)
25: 24(ptr) Variable Uniform
26: 19(int) Constant 0
27: TypePointer Uniform 19(int)
33: TypePointer Function 19(int)
35: TypeImage 19(int) Buffer sampled format:R32i
36: TypeSampledImage 35
37: TypePointer UniformConstant 36
38(g_tTexbis): 37(ptr) Variable UniformConstant
45: TypeInt 32 0
46: TypePointer Function 45(int)
48: TypeImage 45(int) Buffer sampled format:R32ui
49: TypeSampledImage 48
50: TypePointer UniformConstant 49
51(g_tTexbus): 50(ptr) Variable UniformConstant
56: TypeVector 45(int) 4
59: TypePointer Function 8(PS_OUTPUT)
61: 6(float) Constant 1065353216
62: 7(fvec4) ConstantComposite 61 61 61 61
63: TypePointer Function 7(fvec4)
65: 19(int) Constant 1
72: TypePointer Output 7(fvec4)
73(Color): 72(ptr) Variable Output
76: TypePointer Output 6(float)
77(Depth): 76(ptr) Variable Output
80(g_tTexbfs_test): 16(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
8(r00): 7(ptr) Variable Function
30(r01): 29(ptr) Variable Function
43(r02): 42(ptr) Variable Function
57(psout): 56(ptr) Variable Function
13: 10 Load 12(g_tTexbfs)
23: 22(ptr) AccessChain 20 21
24: 14(int) Load 23
25: 9 Image 13
27: 26(fvec4) ImageFetch 25 24
28: 6(float) CompositeExtract 27 0
Store 8(r00) 28
35: 32 Load 34(g_tTexbis)
36: 22(ptr) AccessChain 20 21
37: 14(int) Load 36
38: 31 Image 35
39: 17(ivec4) ImageFetch 38 37
40: 14(int) CompositeExtract 39 0
Store 30(r01) 40
48: 45 Load 47(g_tTexbus)
49: 22(ptr) AccessChain 20 21
50: 14(int) Load 49
51: 44 Image 48
53: 52(ivec4) ImageFetch 51 50
54: 41(int) CompositeExtract 53 0
Store 43(r02) 54
61: 60(ptr) AccessChain 57(psout) 21
Store 61 59
63: 7(ptr) AccessChain 57(psout) 62
Store 63 58
66: 60(ptr) AccessChain 57(psout) 21
67: 26(fvec4) Load 66
Store 65(Color) 67
70: 7(ptr) AccessChain 57(psout) 62
71: 6(float) Load 70
Store 69(Depth) 71
70(flattenTemp): 59(ptr) Variable Function
71:8(PS_OUTPUT) FunctionCall 10(@main()
Store 70(flattenTemp) 71
74: 63(ptr) AccessChain 70(flattenTemp) 26
75: 7(fvec4) Load 74
Store 73(Color) 75
78: 12(ptr) AccessChain 70(flattenTemp) 65
79: 6(float) Load 78
Store 77(Depth) 79
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(r00): 12(ptr) Variable Function
34(r01): 33(ptr) Variable Function
47(r02): 46(ptr) Variable Function
60(psout): 59(ptr) Variable Function
18: 15 Load 17(g_tTexbfs)
28: 27(ptr) AccessChain 25 26
29: 19(int) Load 28
30: 14 Image 18
31: 7(fvec4) ImageFetch 30 29
32: 6(float) CompositeExtract 31 0
Store 13(r00) 32
39: 36 Load 38(g_tTexbis)
40: 27(ptr) AccessChain 25 26
41: 19(int) Load 40
42: 35 Image 39
43: 22(ivec4) ImageFetch 42 41
44: 19(int) CompositeExtract 43 0
Store 34(r01) 44
52: 49 Load 51(g_tTexbus)
53: 27(ptr) AccessChain 25 26
54: 19(int) Load 53
55: 48 Image 52
57: 56(ivec4) ImageFetch 55 54
58: 45(int) CompositeExtract 57 0
Store 47(r02) 58
64: 63(ptr) AccessChain 60(psout) 26
Store 64 62
66: 12(ptr) AccessChain 60(psout) 65
Store 66 61
67:8(PS_OUTPUT) Load 60(psout)
ReturnValue 67
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.load.offset.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
0:52 textureFetchOffset (temp 4-component vector of float)
@ -229,24 +229,28 @@ gl_FragCoord origin is upper left
0:73 1 (const int)
0:73 Constant:
0:73 1.000000
0:75 Sequence
0:75 Sequence
0:75 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:75 Color: direct index for structure (temp 4-component vector of float)
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 Constant:
0:75 0 (const int)
0:75 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:75 Depth: direct index for structure (temp float)
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 Constant:
0:75 1 (const int)
0:75 Branch: Return
0:75 Branch: Return with expression
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: main( (temp void)
0:48 Function Parameters:
0:? Sequence
0:48 Sequence
0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Color: direct index for structure (temp 4-component vector of float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 0 (const int)
0:48 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:48 Depth: direct index for structure (temp float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@ -269,6 +273,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@ -278,7 +284,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
0:52 textureFetchOffset (temp 4-component vector of float)
@ -505,24 +511,28 @@ gl_FragCoord origin is upper left
0:73 1 (const int)
0:73 Constant:
0:73 1.000000
0:75 Sequence
0:75 Sequence
0:75 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:75 Color: direct index for structure (temp 4-component vector of float)
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 Constant:
0:75 0 (const int)
0:75 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:75 Depth: direct index for structure (temp float)
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 Constant:
0:75 1 (const int)
0:75 Branch: Return
0:75 Branch: Return with expression
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: main( (temp void)
0:48 Function Parameters:
0:? Sequence
0:48 Sequence
0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Color: direct index for structure (temp 4-component vector of float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 0 (const int)
0:48 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:48 Depth: direct index for structure (temp float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@ -545,11 +555,13 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 194
// Id's are bound by 201
Capability Shader
Capability ImageGatherExtended
@ -557,277 +569,288 @@ gl_FragCoord origin is upper left
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 147 151
EntryPoint Fragment 4 "main" 155 159
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "g_tTex1df4"
Name 15 "$Global"
MemberName 15($Global) 0 "c1"
MemberName 15($Global) 1 "c2"
MemberName 15($Global) 2 "c3"
MemberName 15($Global) 3 "c4"
MemberName 15($Global) 4 "o1"
MemberName 15($Global) 5 "o2"
MemberName 15($Global) 6 "o3"
MemberName 15($Global) 7 "o4"
Name 17 ""
Name 34 "g_tTex1di4"
Name 45 "g_tTex1du4"
Name 57 "g_tTex2df4"
Name 74 "g_tTex2di4"
Name 86 "g_tTex2du4"
Name 98 "g_tTex3df4"
Name 114 "g_tTex3di4"
Name 126 "g_tTex3du4"
Name 136 "PS_OUTPUT"
MemberName 136(PS_OUTPUT) 0 "Color"
MemberName 136(PS_OUTPUT) 1 "Depth"
Name 138 "psout"
Name 147 "Color"
Name 151 "Depth"
Name 157 "g_sSamp"
Name 160 "g_tTexcdf4"
Name 163 "g_tTexcdi4"
Name 166 "g_tTexcdu4"
Name 169 "g_tTex1df4a"
Name 172 "g_tTex1di4a"
Name 175 "g_tTex1du4a"
Name 178 "g_tTex2df4a"
Name 181 "g_tTex2di4a"
Name 184 "g_tTex2du4a"
Name 187 "g_tTexcdf4a"
Name 190 "g_tTexcdi4a"
Name 193 "g_tTexcdu4a"
Decorate 9(g_tTex1df4) DescriptorSet 0
Decorate 9(g_tTex1df4) Binding 0
MemberDecorate 15($Global) 0 Offset 0
MemberDecorate 15($Global) 1 Offset 8
MemberDecorate 15($Global) 2 Offset 16
MemberDecorate 15($Global) 3 Offset 32
MemberDecorate 15($Global) 4 Offset 48
MemberDecorate 15($Global) 5 Offset 56
MemberDecorate 15($Global) 6 Offset 64
MemberDecorate 15($Global) 7 Offset 80
Decorate 15($Global) Block
Decorate 17 DescriptorSet 0
Decorate 34(g_tTex1di4) DescriptorSet 0
Decorate 45(g_tTex1du4) DescriptorSet 0
Decorate 57(g_tTex2df4) DescriptorSet 0
Decorate 74(g_tTex2di4) DescriptorSet 0
Decorate 86(g_tTex2du4) DescriptorSet 0
Decorate 98(g_tTex3df4) DescriptorSet 0
Decorate 114(g_tTex3di4) DescriptorSet 0
Decorate 126(g_tTex3du4) DescriptorSet 0
Decorate 147(Color) Location 0
Decorate 151(Depth) BuiltIn FragDepth
Decorate 157(g_sSamp) DescriptorSet 0
Decorate 157(g_sSamp) Binding 0
Decorate 160(g_tTexcdf4) DescriptorSet 0
Decorate 163(g_tTexcdi4) DescriptorSet 0
Decorate 166(g_tTexcdu4) DescriptorSet 0
Decorate 169(g_tTex1df4a) DescriptorSet 0
Decorate 172(g_tTex1di4a) DescriptorSet 0
Decorate 175(g_tTex1du4a) DescriptorSet 0
Decorate 178(g_tTex2df4a) DescriptorSet 0
Decorate 181(g_tTex2di4a) DescriptorSet 0
Decorate 184(g_tTex2du4a) DescriptorSet 0
Decorate 187(g_tTexcdf4a) DescriptorSet 0
Decorate 190(g_tTexcdi4a) DescriptorSet 0
Decorate 193(g_tTexcdu4a) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 14 "g_tTex1df4"
Name 20 "$Global"
MemberName 20($Global) 0 "c1"
MemberName 20($Global) 1 "c2"
MemberName 20($Global) 2 "c3"
MemberName 20($Global) 3 "c4"
MemberName 20($Global) 4 "o1"
MemberName 20($Global) 5 "o2"
MemberName 20($Global) 6 "o3"
MemberName 20($Global) 7 "o4"
Name 22 ""
Name 38 "g_tTex1di4"
Name 49 "g_tTex1du4"
Name 61 "g_tTex2df4"
Name 78 "g_tTex2di4"
Name 90 "g_tTex2du4"
Name 102 "g_tTex3df4"
Name 118 "g_tTex3di4"
Name 130 "g_tTex3du4"
Name 141 "psout"
Name 152 "flattenTemp"
Name 155 "Color"
Name 159 "Depth"
Name 164 "g_sSamp"
Name 167 "g_tTexcdf4"
Name 170 "g_tTexcdi4"
Name 173 "g_tTexcdu4"
Name 176 "g_tTex1df4a"
Name 179 "g_tTex1di4a"
Name 182 "g_tTex1du4a"
Name 185 "g_tTex2df4a"
Name 188 "g_tTex2di4a"
Name 191 "g_tTex2du4a"
Name 194 "g_tTexcdf4a"
Name 197 "g_tTexcdi4a"
Name 200 "g_tTexcdu4a"
Decorate 14(g_tTex1df4) DescriptorSet 0
Decorate 14(g_tTex1df4) Binding 0
MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 20($Global) 5 Offset 56
MemberDecorate 20($Global) 6 Offset 64
MemberDecorate 20($Global) 7 Offset 80
Decorate 20($Global) Block
Decorate 22 DescriptorSet 0
Decorate 38(g_tTex1di4) DescriptorSet 0
Decorate 49(g_tTex1du4) DescriptorSet 0
Decorate 61(g_tTex2df4) DescriptorSet 0
Decorate 78(g_tTex2di4) DescriptorSet 0
Decorate 90(g_tTex2du4) DescriptorSet 0
Decorate 102(g_tTex3df4) DescriptorSet 0
Decorate 118(g_tTex3di4) DescriptorSet 0
Decorate 130(g_tTex3du4) DescriptorSet 0
Decorate 155(Color) Location 0
Decorate 159(Depth) BuiltIn FragDepth
Decorate 164(g_sSamp) DescriptorSet 0
Decorate 164(g_sSamp) Binding 0
Decorate 167(g_tTexcdf4) DescriptorSet 0
Decorate 170(g_tTexcdi4) DescriptorSet 0
Decorate 173(g_tTexcdu4) DescriptorSet 0
Decorate 176(g_tTex1df4a) DescriptorSet 0
Decorate 179(g_tTex1di4a) DescriptorSet 0
Decorate 182(g_tTex1du4a) DescriptorSet 0
Decorate 185(g_tTex2df4a) DescriptorSet 0
Decorate 188(g_tTex2di4a) DescriptorSet 0
Decorate 191(g_tTex2du4a) DescriptorSet 0
Decorate 194(g_tTexcdf4a) DescriptorSet 0
Decorate 197(g_tTexcdi4a) DescriptorSet 0
Decorate 200(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeImage 6(float) 1D sampled format:Unknown
8: TypePointer UniformConstant 7
9(g_tTex1df4): 8(ptr) Variable UniformConstant
11: TypeInt 32 1
12: TypeVector 11(int) 2
13: TypeVector 11(int) 3
14: TypeVector 11(int) 4
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4)
16: TypePointer Uniform 15($Global)
17: 16(ptr) Variable Uniform
18: 11(int) Constant 1
19: TypeInt 32 0
20: 19(int) Constant 0
21: TypePointer Uniform 11(int)
24: 19(int) Constant 1
27: 11(int) Constant 4
30: TypeVector 6(float) 4
32: TypeImage 11(int) 1D sampled format:Unknown
33: TypePointer UniformConstant 32
34(g_tTex1di4): 33(ptr) Variable UniformConstant
43: TypeImage 19(int) 1D sampled format:Unknown
44: TypePointer UniformConstant 43
45(g_tTex1du4): 44(ptr) Variable UniformConstant
53: TypeVector 19(int) 4
55: TypeImage 6(float) 2D sampled format:Unknown
56: TypePointer UniformConstant 55
57(g_tTex2df4): 56(ptr) Variable UniformConstant
59: 11(int) Constant 2
60: TypePointer Uniform 13(ivec3)
64: 19(int) Constant 2
67: 11(int) Constant 5
68: TypePointer Uniform 12(ivec2)
72: TypeImage 11(int) 2D sampled format:Unknown
73: TypePointer UniformConstant 72
74(g_tTex2di4): 73(ptr) Variable UniformConstant
84: TypeImage 19(int) 2D sampled format:Unknown
85: TypePointer UniformConstant 84
86(g_tTex2du4): 85(ptr) Variable UniformConstant
96: TypeImage 6(float) 3D sampled format:Unknown
97: TypePointer UniformConstant 96
98(g_tTex3df4): 97(ptr) Variable UniformConstant
100: 11(int) Constant 3
101: TypePointer Uniform 14(ivec4)
105: 19(int) Constant 3
108: 11(int) Constant 6
112: TypeImage 11(int) 3D sampled format:Unknown
113: TypePointer UniformConstant 112
114(g_tTex3di4): 113(ptr) Variable UniformConstant
124: TypeImage 19(int) 3D sampled format:Unknown
125: TypePointer UniformConstant 124
126(g_tTex3du4): 125(ptr) Variable UniformConstant
136(PS_OUTPUT): TypeStruct 30(fvec4) 6(float)
137: TypePointer Function 136(PS_OUTPUT)
139: 11(int) Constant 0
140: 6(float) Constant 1065353216
141: 30(fvec4) ConstantComposite 140 140 140 140
142: TypePointer Function 30(fvec4)
144: TypePointer Function 6(float)
146: TypePointer Output 30(fvec4)
147(Color): 146(ptr) Variable Output
150: TypePointer Output 6(float)
151(Depth): 150(ptr) Variable Output
155: TypeSampler
156: TypePointer UniformConstant 155
157(g_sSamp): 156(ptr) Variable UniformConstant
158: TypeImage 6(float) Cube sampled format:Unknown
159: TypePointer UniformConstant 158
160(g_tTexcdf4): 159(ptr) Variable UniformConstant
161: TypeImage 11(int) Cube sampled format:Unknown
162: TypePointer UniformConstant 161
163(g_tTexcdi4): 162(ptr) Variable UniformConstant
164: TypeImage 19(int) Cube sampled format:Unknown
165: TypePointer UniformConstant 164
166(g_tTexcdu4): 165(ptr) Variable UniformConstant
167: TypeImage 6(float) 1D array sampled format:Unknown
168: TypePointer UniformConstant 167
169(g_tTex1df4a): 168(ptr) Variable UniformConstant
170: TypeImage 11(int) 1D array sampled format:Unknown
171: TypePointer UniformConstant 170
172(g_tTex1di4a): 171(ptr) Variable UniformConstant
173: TypeImage 19(int) 1D array sampled format:Unknown
174: TypePointer UniformConstant 173
175(g_tTex1du4a): 174(ptr) Variable UniformConstant
176: TypeImage 6(float) 2D array sampled format:Unknown
177: TypePointer UniformConstant 176
178(g_tTex2df4a): 177(ptr) Variable UniformConstant
179: TypeImage 11(int) 2D array sampled format:Unknown
180: TypePointer UniformConstant 179
181(g_tTex2di4a): 180(ptr) Variable UniformConstant
182: TypeImage 19(int) 2D array sampled format:Unknown
183: TypePointer UniformConstant 182
184(g_tTex2du4a): 183(ptr) Variable UniformConstant
185: TypeImage 6(float) Cube array sampled format:Unknown
186: TypePointer UniformConstant 185
187(g_tTexcdf4a): 186(ptr) Variable UniformConstant
188: TypeImage 11(int) Cube array sampled format:Unknown
189: TypePointer UniformConstant 188
190(g_tTexcdi4a): 189(ptr) Variable UniformConstant
191: TypeImage 19(int) Cube array sampled format:Unknown
192: TypePointer UniformConstant 191
193(g_tTexcdu4a): 192(ptr) Variable UniformConstant
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypeImage 6(float) 1D sampled format:Unknown
13: TypePointer UniformConstant 12
14(g_tTex1df4): 13(ptr) Variable UniformConstant
16: TypeInt 32 1
17: TypeVector 16(int) 2
18: TypeVector 16(int) 3
19: TypeVector 16(int) 4
20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
21: TypePointer Uniform 20($Global)
22: 21(ptr) Variable Uniform
23: 16(int) Constant 1
24: TypeInt 32 0
25: 24(int) Constant 0
26: TypePointer Uniform 16(int)
29: 24(int) Constant 1
32: 16(int) Constant 4
36: TypeImage 16(int) 1D sampled format:Unknown
37: TypePointer UniformConstant 36
38(g_tTex1di4): 37(ptr) Variable UniformConstant
47: TypeImage 24(int) 1D sampled format:Unknown
48: TypePointer UniformConstant 47
49(g_tTex1du4): 48(ptr) Variable UniformConstant
57: TypeVector 24(int) 4
59: TypeImage 6(float) 2D sampled format:Unknown
60: TypePointer UniformConstant 59
61(g_tTex2df4): 60(ptr) Variable UniformConstant
63: 16(int) Constant 2
64: TypePointer Uniform 18(ivec3)
68: 24(int) Constant 2
71: 16(int) Constant 5
72: TypePointer Uniform 17(ivec2)
76: TypeImage 16(int) 2D sampled format:Unknown
77: TypePointer UniformConstant 76
78(g_tTex2di4): 77(ptr) Variable UniformConstant
88: TypeImage 24(int) 2D sampled format:Unknown
89: TypePointer UniformConstant 88
90(g_tTex2du4): 89(ptr) Variable UniformConstant
100: TypeImage 6(float) 3D sampled format:Unknown
101: TypePointer UniformConstant 100
102(g_tTex3df4): 101(ptr) Variable UniformConstant
104: 16(int) Constant 3
105: TypePointer Uniform 19(ivec4)
109: 24(int) Constant 3
112: 16(int) Constant 6
116: TypeImage 16(int) 3D sampled format:Unknown
117: TypePointer UniformConstant 116
118(g_tTex3di4): 117(ptr) Variable UniformConstant
128: TypeImage 24(int) 3D sampled format:Unknown
129: TypePointer UniformConstant 128
130(g_tTex3du4): 129(ptr) Variable UniformConstant
140: TypePointer Function 8(PS_OUTPUT)
142: 16(int) Constant 0
143: 6(float) Constant 1065353216
144: 7(fvec4) ConstantComposite 143 143 143 143
145: TypePointer Function 7(fvec4)
147: TypePointer Function 6(float)
154: TypePointer Output 7(fvec4)
155(Color): 154(ptr) Variable Output
158: TypePointer Output 6(float)
159(Depth): 158(ptr) Variable Output
162: TypeSampler
163: TypePointer UniformConstant 162
164(g_sSamp): 163(ptr) Variable UniformConstant
165: TypeImage 6(float) Cube sampled format:Unknown
166: TypePointer UniformConstant 165
167(g_tTexcdf4): 166(ptr) Variable UniformConstant
168: TypeImage 16(int) Cube sampled format:Unknown
169: TypePointer UniformConstant 168
170(g_tTexcdi4): 169(ptr) Variable UniformConstant
171: TypeImage 24(int) Cube sampled format:Unknown
172: TypePointer UniformConstant 171
173(g_tTexcdu4): 172(ptr) Variable UniformConstant
174: TypeImage 6(float) 1D array sampled format:Unknown
175: TypePointer UniformConstant 174
176(g_tTex1df4a): 175(ptr) Variable UniformConstant
177: TypeImage 16(int) 1D array sampled format:Unknown
178: TypePointer UniformConstant 177
179(g_tTex1di4a): 178(ptr) Variable UniformConstant
180: TypeImage 24(int) 1D array sampled format:Unknown
181: TypePointer UniformConstant 180
182(g_tTex1du4a): 181(ptr) Variable UniformConstant
183: TypeImage 6(float) 2D array sampled format:Unknown
184: TypePointer UniformConstant 183
185(g_tTex2df4a): 184(ptr) Variable UniformConstant
186: TypeImage 16(int) 2D array sampled format:Unknown
187: TypePointer UniformConstant 186
188(g_tTex2di4a): 187(ptr) Variable UniformConstant
189: TypeImage 24(int) 2D array sampled format:Unknown
190: TypePointer UniformConstant 189
191(g_tTex2du4a): 190(ptr) Variable UniformConstant
192: TypeImage 6(float) Cube array sampled format:Unknown
193: TypePointer UniformConstant 192
194(g_tTexcdf4a): 193(ptr) Variable UniformConstant
195: TypeImage 16(int) Cube array sampled format:Unknown
196: TypePointer UniformConstant 195
197(g_tTexcdi4a): 196(ptr) Variable UniformConstant
198: TypeImage 24(int) Cube array sampled format:Unknown
199: TypePointer UniformConstant 198
200(g_tTexcdu4a): 199(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
138(psout): 137(ptr) Variable Function
10: 7 Load 9(g_tTex1df4)
22: 21(ptr) AccessChain 17 18 20
23: 11(int) Load 22
25: 21(ptr) AccessChain 17 18 24
26: 11(int) Load 25
28: 21(ptr) AccessChain 17 27
29: 11(int) Load 28
31: 30(fvec4) ImageFetch 10 23 Lod Offset 26 29
35: 32 Load 34(g_tTex1di4)
36: 21(ptr) AccessChain 17 18 20
37: 11(int) Load 36
38: 21(ptr) AccessChain 17 18 24
39: 11(int) Load 38
40: 21(ptr) AccessChain 17 27
41: 11(int) Load 40
42: 14(ivec4) ImageFetch 35 37 Lod Offset 39 41
46: 43 Load 45(g_tTex1du4)
47: 21(ptr) AccessChain 17 18 20
48: 11(int) Load 47
49: 21(ptr) AccessChain 17 18 24
50: 11(int) Load 49
51: 21(ptr) AccessChain 17 27
52: 11(int) Load 51
54: 53(ivec4) ImageFetch 46 48 Lod Offset 50 52
58: 55 Load 57(g_tTex2df4)
61: 60(ptr) AccessChain 17 59
62: 13(ivec3) Load 61
63: 12(ivec2) VectorShuffle 62 62 0 1
65: 21(ptr) AccessChain 17 59 64
66: 11(int) Load 65
69: 68(ptr) AccessChain 17 67
70: 12(ivec2) Load 69
71: 30(fvec4) ImageFetch 58 63 Lod Offset 66 70
75: 72 Load 74(g_tTex2di4)
76: 60(ptr) AccessChain 17 59
77: 13(ivec3) Load 76
78: 12(ivec2) VectorShuffle 77 77 0 1
79: 21(ptr) AccessChain 17 59 64
80: 11(int) Load 79
81: 68(ptr) AccessChain 17 67
82: 12(ivec2) Load 81
83: 14(ivec4) ImageFetch 75 78 Lod Offset 80 82
87: 84 Load 86(g_tTex2du4)
88: 60(ptr) AccessChain 17 59
89: 13(ivec3) Load 88
90: 12(ivec2) VectorShuffle 89 89 0 1
91: 21(ptr) AccessChain 17 59 64
92: 11(int) Load 91
93: 68(ptr) AccessChain 17 67
94: 12(ivec2) Load 93
95: 53(ivec4) ImageFetch 87 90 Lod Offset 92 94
99: 96 Load 98(g_tTex3df4)
102: 101(ptr) AccessChain 17 100
103: 14(ivec4) Load 102
104: 13(ivec3) VectorShuffle 103 103 0 1 2
106: 21(ptr) AccessChain 17 100 105
107: 11(int) Load 106
109: 60(ptr) AccessChain 17 108
110: 13(ivec3) Load 109
111: 30(fvec4) ImageFetch 99 104 Lod Offset 107 110
115: 112 Load 114(g_tTex3di4)
116: 101(ptr) AccessChain 17 100
117: 14(ivec4) Load 116
118: 13(ivec3) VectorShuffle 117 117 0 1 2
119: 21(ptr) AccessChain 17 100 105
120: 11(int) Load 119
121: 60(ptr) AccessChain 17 108
122: 13(ivec3) Load 121
123: 14(ivec4) ImageFetch 115 118 Lod Offset 120 122
127: 124 Load 126(g_tTex3du4)
128: 101(ptr) AccessChain 17 100
129: 14(ivec4) Load 128
130: 13(ivec3) VectorShuffle 129 129 0 1 2
131: 21(ptr) AccessChain 17 100 105
132: 11(int) Load 131
133: 60(ptr) AccessChain 17 108
134: 13(ivec3) Load 133
135: 53(ivec4) ImageFetch 127 130 Lod Offset 132 134
143: 142(ptr) AccessChain 138(psout) 139
Store 143 141
145: 144(ptr) AccessChain 138(psout) 18
Store 145 140
148: 142(ptr) AccessChain 138(psout) 139
149: 30(fvec4) Load 148
Store 147(Color) 149
152: 144(ptr) AccessChain 138(psout) 18
153: 6(float) Load 152
Store 151(Depth) 153
152(flattenTemp): 140(ptr) Variable Function
153:8(PS_OUTPUT) FunctionCall 10(@main()
Store 152(flattenTemp) 153
156: 145(ptr) AccessChain 152(flattenTemp) 142
157: 7(fvec4) Load 156
Store 155(Color) 157
160: 147(ptr) AccessChain 152(flattenTemp) 23
161: 6(float) Load 160
Store 159(Depth) 161
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
141(psout): 140(ptr) Variable Function
15: 12 Load 14(g_tTex1df4)
27: 26(ptr) AccessChain 22 23 25
28: 16(int) Load 27
30: 26(ptr) AccessChain 22 23 29
31: 16(int) Load 30
33: 26(ptr) AccessChain 22 32
34: 16(int) Load 33
35: 7(fvec4) ImageFetch 15 28 Lod Offset 31 34
39: 36 Load 38(g_tTex1di4)
40: 26(ptr) AccessChain 22 23 25
41: 16(int) Load 40
42: 26(ptr) AccessChain 22 23 29
43: 16(int) Load 42
44: 26(ptr) AccessChain 22 32
45: 16(int) Load 44
46: 19(ivec4) ImageFetch 39 41 Lod Offset 43 45
50: 47 Load 49(g_tTex1du4)
51: 26(ptr) AccessChain 22 23 25
52: 16(int) Load 51
53: 26(ptr) AccessChain 22 23 29
54: 16(int) Load 53
55: 26(ptr) AccessChain 22 32
56: 16(int) Load 55
58: 57(ivec4) ImageFetch 50 52 Lod Offset 54 56
62: 59 Load 61(g_tTex2df4)
65: 64(ptr) AccessChain 22 63
66: 18(ivec3) Load 65
67: 17(ivec2) VectorShuffle 66 66 0 1
69: 26(ptr) AccessChain 22 63 68
70: 16(int) Load 69
73: 72(ptr) AccessChain 22 71
74: 17(ivec2) Load 73
75: 7(fvec4) ImageFetch 62 67 Lod Offset 70 74
79: 76 Load 78(g_tTex2di4)
80: 64(ptr) AccessChain 22 63
81: 18(ivec3) Load 80
82: 17(ivec2) VectorShuffle 81 81 0 1
83: 26(ptr) AccessChain 22 63 68
84: 16(int) Load 83
85: 72(ptr) AccessChain 22 71
86: 17(ivec2) Load 85
87: 19(ivec4) ImageFetch 79 82 Lod Offset 84 86
91: 88 Load 90(g_tTex2du4)
92: 64(ptr) AccessChain 22 63
93: 18(ivec3) Load 92
94: 17(ivec2) VectorShuffle 93 93 0 1
95: 26(ptr) AccessChain 22 63 68
96: 16(int) Load 95
97: 72(ptr) AccessChain 22 71
98: 17(ivec2) Load 97
99: 57(ivec4) ImageFetch 91 94 Lod Offset 96 98
103: 100 Load 102(g_tTex3df4)
106: 105(ptr) AccessChain 22 104
107: 19(ivec4) Load 106
108: 18(ivec3) VectorShuffle 107 107 0 1 2
110: 26(ptr) AccessChain 22 104 109
111: 16(int) Load 110
113: 64(ptr) AccessChain 22 112
114: 18(ivec3) Load 113
115: 7(fvec4) ImageFetch 103 108 Lod Offset 111 114
119: 116 Load 118(g_tTex3di4)
120: 105(ptr) AccessChain 22 104
121: 19(ivec4) Load 120
122: 18(ivec3) VectorShuffle 121 121 0 1 2
123: 26(ptr) AccessChain 22 104 109
124: 16(int) Load 123
125: 64(ptr) AccessChain 22 112
126: 18(ivec3) Load 125
127: 19(ivec4) ImageFetch 119 122 Lod Offset 124 126
131: 128 Load 130(g_tTex3du4)
132: 105(ptr) AccessChain 22 104
133: 19(ivec4) Load 132
134: 18(ivec3) VectorShuffle 133 133 0 1 2
135: 26(ptr) AccessChain 22 104 109
136: 16(int) Load 135
137: 64(ptr) AccessChain 22 112
138: 18(ivec3) Load 137
139: 57(ivec4) ImageFetch 131 134 Lod Offset 136 138
146: 145(ptr) AccessChain 141(psout) 142
Store 146 144
148: 147(ptr) AccessChain 141(psout) 23
Store 148 143
149:8(PS_OUTPUT) Load 141(psout)
ReturnValue 149
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.load.offsetarray.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
0:52 textureFetchOffset (temp 4-component vector of float)
@ -166,24 +166,28 @@ gl_FragCoord origin is upper left
0:66 1 (const int)
0:66 Constant:
0:66 1.000000
0:68 Sequence
0:68 Sequence
0:68 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:68 Color: direct index for structure (temp 4-component vector of float)
0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:68 Constant:
0:68 0 (const int)
0:68 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:68 Depth: direct index for structure (temp float)
0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:68 Constant:
0:68 1 (const int)
0:68 Branch: Return
0:68 Branch: Return with expression
0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: main( (temp void)
0:48 Function Parameters:
0:? Sequence
0:48 Sequence
0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Color: direct index for structure (temp 4-component vector of float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 0 (const int)
0:48 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:48 Depth: direct index for structure (temp float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@ -206,6 +210,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@ -215,7 +221,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Parameters:
0:? Sequence
0:52 textureFetchOffset (temp 4-component vector of float)
@ -379,24 +385,28 @@ gl_FragCoord origin is upper left
0:66 1 (const int)
0:66 Constant:
0:66 1.000000
0:68 Sequence
0:68 Sequence
0:68 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:68 Color: direct index for structure (temp 4-component vector of float)
0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:68 Constant:
0:68 0 (const int)
0:68 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:68 Depth: direct index for structure (temp float)
0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:68 Constant:
0:68 1 (const int)
0:68 Branch: Return
0:68 Branch: Return with expression
0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Definition: main( (temp void)
0:48 Function Parameters:
0:? Sequence
0:48 Sequence
0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Color: direct index for structure (temp 4-component vector of float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 0 (const int)
0:48 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:48 Depth: direct index for structure (temp float)
0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48 Constant:
0:48 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@ -419,11 +429,13 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 167
// Id's are bound by 174
Capability Shader
Capability ImageGatherExtended
@ -431,250 +443,261 @@ gl_FragCoord origin is upper left
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 111 115
EntryPoint Fragment 4 "main" 119 123
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "g_tTex1df4a"
Name 15 "$Global"
MemberName 15($Global) 0 "c1"
MemberName 15($Global) 1 "c2"
MemberName 15($Global) 2 "c3"
MemberName 15($Global) 3 "c4"
MemberName 15($Global) 4 "o1"
MemberName 15($Global) 5 "o2"
MemberName 15($Global) 6 "o3"
MemberName 15($Global) 7 "o4"
Name 17 ""
Name 35 "g_tTex1di4a"
Name 47 "g_tTex1du4a"
Name 60 "g_tTex2df4a"
Name 77 "g_tTex2di4a"
Name 89 "g_tTex2du4a"
Name 99 "PS_OUTPUT"
MemberName 99(PS_OUTPUT) 0 "Color"
MemberName 99(PS_OUTPUT) 1 "Depth"
Name 101 "psout"
Name 111 "Color"
Name 115 "Depth"
Name 121 "g_sSamp"
Name 124 "g_tTex1df4"
Name 127 "g_tTex1di4"
Name 130 "g_tTex1du4"
Name 133 "g_tTex2df4"
Name 136 "g_tTex2di4"
Name 139 "g_tTex2du4"
Name 142 "g_tTex3df4"
Name 145 "g_tTex3di4"
Name 148 "g_tTex3du4"
Name 151 "g_tTexcdf4"
Name 154 "g_tTexcdi4"
Name 157 "g_tTexcdu4"
Name 160 "g_tTexcdf4a"
Name 163 "g_tTexcdi4a"
Name 166 "g_tTexcdu4a"
Decorate 9(g_tTex1df4a) DescriptorSet 0
MemberDecorate 15($Global) 0 Offset 0
MemberDecorate 15($Global) 1 Offset 8
MemberDecorate 15($Global) 2 Offset 16
MemberDecorate 15($Global) 3 Offset 32
MemberDecorate 15($Global) 4 Offset 48
MemberDecorate 15($Global) 5 Offset 56
MemberDecorate 15($Global) 6 Offset 64
MemberDecorate 15($Global) 7 Offset 80
Decorate 15($Global) Block
Decorate 17 DescriptorSet 0
Decorate 35(g_tTex1di4a) DescriptorSet 0
Decorate 47(g_tTex1du4a) DescriptorSet 0
Decorate 60(g_tTex2df4a) DescriptorSet 0
Decorate 77(g_tTex2di4a) DescriptorSet 0
Decorate 89(g_tTex2du4a) DescriptorSet 0
Decorate 111(Color) Location 0
Decorate 115(Depth) BuiltIn FragDepth
Decorate 121(g_sSamp) DescriptorSet 0
Decorate 121(g_sSamp) Binding 0
Decorate 124(g_tTex1df4) DescriptorSet 0
Decorate 124(g_tTex1df4) Binding 0
Decorate 127(g_tTex1di4) DescriptorSet 0
Decorate 130(g_tTex1du4) DescriptorSet 0
Decorate 133(g_tTex2df4) DescriptorSet 0
Decorate 136(g_tTex2di4) DescriptorSet 0
Decorate 139(g_tTex2du4) DescriptorSet 0
Decorate 142(g_tTex3df4) DescriptorSet 0
Decorate 145(g_tTex3di4) DescriptorSet 0
Decorate 148(g_tTex3du4) DescriptorSet 0
Decorate 151(g_tTexcdf4) DescriptorSet 0
Decorate 154(g_tTexcdi4) DescriptorSet 0
Decorate 157(g_tTexcdu4) DescriptorSet 0
Decorate 160(g_tTexcdf4a) DescriptorSet 0
Decorate 163(g_tTexcdi4a) DescriptorSet 0
Decorate 166(g_tTexcdu4a) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 14 "g_tTex1df4a"
Name 20 "$Global"
MemberName 20($Global) 0 "c1"
MemberName 20($Global) 1 "c2"
MemberName 20($Global) 2 "c3"
MemberName 20($Global) 3 "c4"
MemberName 20($Global) 4 "o1"
MemberName 20($Global) 5 "o2"
MemberName 20($Global) 6 "o3"
MemberName 20($Global) 7 "o4"
Name 22 ""
Name 39 "g_tTex1di4a"
Name 51 "g_tTex1du4a"
Name 64 "g_tTex2df4a"
Name 81 "g_tTex2di4a"
Name 93 "g_tTex2du4a"
Name 104 "psout"
Name 116 "flattenTemp"
Name 119 "Color"
Name 123 "Depth"
Name 128 "g_sSamp"
Name 131 "g_tTex1df4"
Name 134 "g_tTex1di4"
Name 137 "g_tTex1du4"
Name 140 "g_tTex2df4"
Name 143 "g_tTex2di4"
Name 146 "g_tTex2du4"
Name 149 "g_tTex3df4"
Name 152 "g_tTex3di4"
Name 155 "g_tTex3du4"
Name 158 "g_tTexcdf4"
Name 161 "g_tTexcdi4"
Name 164 "g_tTexcdu4"
Name 167 "g_tTexcdf4a"
Name 170 "g_tTexcdi4a"
Name 173 "g_tTexcdu4a"
Decorate 14(g_tTex1df4a) DescriptorSet 0
MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 20($Global) 5 Offset 56
MemberDecorate 20($Global) 6 Offset 64
MemberDecorate 20($Global) 7 Offset 80
Decorate 20($Global) Block
Decorate 22 DescriptorSet 0
Decorate 39(g_tTex1di4a) DescriptorSet 0
Decorate 51(g_tTex1du4a) DescriptorSet 0
Decorate 64(g_tTex2df4a) DescriptorSet 0
Decorate 81(g_tTex2di4a) DescriptorSet 0
Decorate 93(g_tTex2du4a) DescriptorSet 0
Decorate 119(Color) Location 0
Decorate 123(Depth) BuiltIn FragDepth
Decorate 128(g_sSamp) DescriptorSet 0
Decorate 128(g_sSamp) Binding 0
Decorate 131(g_tTex1df4) DescriptorSet 0
Decorate 131(g_tTex1df4) Binding 0
Decorate 134(g_tTex1di4) DescriptorSet 0
Decorate 137(g_tTex1du4) DescriptorSet 0
Decorate 140(g_tTex2df4) DescriptorSet 0
Decorate 143(g_tTex2di4) DescriptorSet 0
Decorate 146(g_tTex2du4) DescriptorSet 0
Decorate 149(g_tTex3df4) DescriptorSet 0
Decorate 152(g_tTex3di4) DescriptorSet 0
Decorate 155(g_tTex3du4) DescriptorSet 0
Decorate 158(g_tTexcdf4) DescriptorSet 0
Decorate 161(g_tTexcdi4) DescriptorSet 0
Decorate 164(g_tTexcdu4) DescriptorSet 0
Decorate 167(g_tTexcdf4a) DescriptorSet 0
Decorate 170(g_tTexcdi4a) DescriptorSet 0
Decorate 173(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeImage 6(float) 1D array sampled format:Unknown
8: TypePointer UniformConstant 7
9(g_tTex1df4a): 8(ptr) Variable UniformConstant
11: TypeInt 32 1
12: TypeVector 11(int) 2
13: TypeVector 11(int) 3
14: TypeVector 11(int) 4
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4)
16: TypePointer Uniform 15($Global)
17: 16(ptr) Variable Uniform
18: 11(int) Constant 2
19: TypePointer Uniform 13(ivec3)
23: TypeInt 32 0
24: 23(int) Constant 2
25: TypePointer Uniform 11(int)
28: 11(int) Constant 4
31: TypeVector 6(float) 4
33: TypeImage 11(int) 1D array sampled format:Unknown
34: TypePointer UniformConstant 33
35(g_tTex1di4a): 34(ptr) Variable UniformConstant
45: TypeImage 23(int) 1D array sampled format:Unknown
46: TypePointer UniformConstant 45
47(g_tTex1du4a): 46(ptr) Variable UniformConstant
56: TypeVector 23(int) 4
58: TypeImage 6(float) 2D array sampled format:Unknown
59: TypePointer UniformConstant 58
60(g_tTex2df4a): 59(ptr) Variable UniformConstant
62: 11(int) Constant 3
63: TypePointer Uniform 14(ivec4)
67: 23(int) Constant 3
70: 11(int) Constant 5
71: TypePointer Uniform 12(ivec2)
75: TypeImage 11(int) 2D array sampled format:Unknown
76: TypePointer UniformConstant 75
77(g_tTex2di4a): 76(ptr) Variable UniformConstant
87: TypeImage 23(int) 2D array sampled format:Unknown
88: TypePointer UniformConstant 87
89(g_tTex2du4a): 88(ptr) Variable UniformConstant
99(PS_OUTPUT): TypeStruct 31(fvec4) 6(float)
100: TypePointer Function 99(PS_OUTPUT)
102: 11(int) Constant 0
103: 6(float) Constant 1065353216
104: 31(fvec4) ConstantComposite 103 103 103 103
105: TypePointer Function 31(fvec4)
107: 11(int) Constant 1
108: TypePointer Function 6(float)
110: TypePointer Output 31(fvec4)
111(Color): 110(ptr) Variable Output
114: TypePointer Output 6(float)
115(Depth): 114(ptr) Variable Output
119: TypeSampler
120: TypePointer UniformConstant 119
121(g_sSamp): 120(ptr) Variable UniformConstant
122: TypeImage 6(float) 1D sampled format:Unknown
123: TypePointer UniformConstant 122
124(g_tTex1df4): 123(ptr) Variable UniformConstant
125: TypeImage 11(int) 1D sampled format:Unknown
126: TypePointer UniformConstant 125
127(g_tTex1di4): 126(ptr) Variable UniformConstant
128: TypeImage 23(int) 1D sampled format:Unknown
129: TypePointer UniformConstant 128
130(g_tTex1du4): 129(ptr) Variable UniformConstant
131: TypeImage 6(float) 2D sampled format:Unknown
132: TypePointer UniformConstant 131
133(g_tTex2df4): 132(ptr) Variable UniformConstant
134: TypeImage 11(int) 2D sampled format:Unknown
135: TypePointer UniformConstant 134
136(g_tTex2di4): 135(ptr) Variable UniformConstant
137: TypeImage 23(int) 2D sampled format:Unknown
138: TypePointer UniformConstant 137
139(g_tTex2du4): 138(ptr) Variable UniformConstant
140: TypeImage 6(float) 3D sampled format:Unknown
141: TypePointer UniformConstant 140
142(g_tTex3df4): 141(ptr) Variable UniformConstant
143: TypeImage 11(int) 3D sampled format:Unknown
144: TypePointer UniformConstant 143
145(g_tTex3di4): 144(ptr) Variable UniformConstant
146: TypeImage 23(int) 3D sampled format:Unknown
147: TypePointer UniformConstant 146
148(g_tTex3du4): 147(ptr) Variable UniformConstant
149: TypeImage 6(float) Cube sampled format:Unknown
150: TypePointer UniformConstant 149
151(g_tTexcdf4): 150(ptr) Variable UniformConstant
152: TypeImage 11(int) Cube sampled format:Unknown
153: TypePointer UniformConstant 152
154(g_tTexcdi4): 153(ptr) Variable UniformConstant
155: TypeImage 23(int) Cube sampled format:Unknown
156: TypePointer UniformConstant 155
157(g_tTexcdu4): 156(ptr) Variable UniformConstant
158: TypeImage 6(float) Cube array sampled format:Unknown
159: TypePointer UniformConstant 158
160(g_tTexcdf4a): 159(ptr) Variable UniformConstant
161: TypeImage 11(int) Cube array sampled format:Unknown
162: TypePointer UniformConstant 161
163(g_tTexcdi4a): 162(ptr) Variable UniformConstant
164: TypeImage 23(int) Cube array sampled format:Unknown
165: TypePointer UniformConstant 164
166(g_tTexcdu4a): 165(ptr) Variable UniformConstant
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypeImage 6(float) 1D array sampled format:Unknown
13: TypePointer UniformConstant 12
14(g_tTex1df4a): 13(ptr) Variable UniformConstant
16: TypeInt 32 1
17: TypeVector 16(int) 2
18: TypeVector 16(int) 3
19: TypeVector 16(int) 4
20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
21: TypePointer Uniform 20($Global)
22: 21(ptr) Variable Uniform
23: 16(int) Constant 2
24: TypePointer Uniform 18(ivec3)
28: TypeInt 32 0
29: 28(int) Constant 2
30: TypePointer Uniform 16(int)
33: 16(int) Constant 4
37: TypeImage 16(int) 1D array sampled format:Unknown
38: TypePointer UniformConstant 37
39(g_tTex1di4a): 38(ptr) Variable UniformConstant
49: TypeImage 28(int) 1D array sampled format:Unknown
50: TypePointer UniformConstant 49
51(g_tTex1du4a): 50(ptr) Variable UniformConstant
60: TypeVector 28(int) 4
62: TypeImage 6(float) 2D array sampled format:Unknown
63: TypePointer UniformConstant 62
64(g_tTex2df4a): 63(ptr) Variable UniformConstant
66: 16(int) Constant 3
67: TypePointer Uniform 19(ivec4)
71: 28(int) Constant 3
74: 16(int) Constant 5
75: TypePointer Uniform 17(ivec2)
79: TypeImage 16(int) 2D array sampled format:Unknown
80: TypePointer UniformConstant 79
81(g_tTex2di4a): 80(ptr) Variable UniformConstant
91: TypeImage 28(int) 2D array sampled format:Unknown
92: TypePointer UniformConstant 91
93(g_tTex2du4a): 92(ptr) Variable UniformConstant
103: TypePointer Function 8(PS_OUTPUT)
105: 16(int) Constant 0
106: 6(float) Constant 1065353216
107: 7(fvec4) ConstantComposite 106 106 106 106
108: TypePointer Function 7(fvec4)
110: 16(int) Constant 1
111: TypePointer Function 6(float)
118: TypePointer Output 7(fvec4)
119(Color): 118(ptr) Variable Output
122: TypePointer Output 6(float)
123(Depth): 122(ptr) Variable Output
126: TypeSampler
127: TypePointer UniformConstant 126
128(g_sSamp): 127(ptr) Variable UniformConstant
129: TypeImage 6(float) 1D sampled format:Unknown
130: TypePointer UniformConstant 129
131(g_tTex1df4): 130(ptr) Variable UniformConstant
132: TypeImage 16(int) 1D sampled format:Unknown
133: TypePointer UniformConstant 132
134(g_tTex1di4): 133(ptr) Variable UniformConstant
135: TypeImage 28(int) 1D sampled format:Unknown
136: TypePointer UniformConstant 135
137(g_tTex1du4): 136(ptr) Variable UniformConstant
138: TypeImage 6(float) 2D sampled format:Unknown
139: TypePointer UniformConstant 138
140(g_tTex2df4): 139(ptr) Variable UniformConstant
141: TypeImage 16(int) 2D sampled format:Unknown
142: TypePointer UniformConstant 141
143(g_tTex2di4): 142(ptr) Variable UniformConstant
144: TypeImage 28(int) 2D sampled format:Unknown
145: TypePointer UniformConstant 144
146(g_tTex2du4): 145(ptr) Variable UniformConstant
147: TypeImage 6(float) 3D sampled format:Unknown
148: TypePointer UniformConstant 147
149(g_tTex3df4): 148(ptr) Variable UniformConstant
150: TypeImage 16(int) 3D sampled format:Unknown
151: TypePointer UniformConstant 150
152(g_tTex3di4): 151(ptr) Variable UniformConstant
153: TypeImage 28(int) 3D sampled format:Unknown
154: TypePointer UniformConstant 153
155(g_tTex3du4): 154(ptr) Variable UniformConstant
156: TypeImage 6(float) Cube sampled format:Unknown
157: TypePointer UniformConstant 156
158(g_tTexcdf4): 157(ptr) Variable UniformConstant
159: TypeImage 16(int) Cube sampled format:Unknown
160: TypePointer UniformConstant 159
161(g_tTexcdi4): 160(ptr) Variable UniformConstant
162: TypeImage 28(int) Cube sampled format:Unknown
163: TypePointer UniformConstant 162
164(g_tTexcdu4): 163(ptr) Variable UniformConstant
165: TypeImage 6(float) Cube array sampled format:Unknown
166: TypePointer UniformConstant 165
167(g_tTexcdf4a): 166(ptr) Variable UniformConstant
168: TypeImage 16(int) Cube array sampled format:Unknown
169: TypePointer UniformConstant 168
170(g_tTexcdi4a): 169(ptr) Variable UniformConstant
171: TypeImage 28(int) Cube array sampled format:Unknown
172: TypePointer UniformConstant 171
173(g_tTexcdu4a): 172(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
101(psout): 100(ptr) Variable Function
10: 7 Load 9(g_tTex1df4a)
20: 19(ptr) AccessChain 17 18
21: 13(ivec3) Load 20
22: 12(ivec2) VectorShuffle 21 21 0 1
26: 25(ptr) AccessChain 17 18 24
27: 11(int) Load 26
29: 25(ptr) AccessChain 17 28
30: 11(int) Load 29
32: 31(fvec4) ImageFetch 10 22 Lod Offset 27 30
36: 33 Load 35(g_tTex1di4a)
37: 19(ptr) AccessChain 17 18
38: 13(ivec3) Load 37
39: 12(ivec2) VectorShuffle 38 38 0 1
40: 25(ptr) AccessChain 17 18 24
41: 11(int) Load 40
42: 25(ptr) AccessChain 17 28
43: 11(int) Load 42
44: 14(ivec4) ImageFetch 36 39 Lod Offset 41 43
48: 45 Load 47(g_tTex1du4a)
49: 19(ptr) AccessChain 17 18
50: 13(ivec3) Load 49
51: 12(ivec2) VectorShuffle 50 50 0 1
52: 25(ptr) AccessChain 17 18 24
53: 11(int) Load 52
54: 25(ptr) AccessChain 17 28
55: 11(int) Load 54
57: 56(ivec4) ImageFetch 48 51 Lod Offset 53 55
61: 58 Load 60(g_tTex2df4a)
64: 63(ptr) AccessChain 17 62
65: 14(ivec4) Load 64
66: 13(ivec3) VectorShuffle 65 65 0 1 2
68: 25(ptr) AccessChain 17 62 67
69: 11(int) Load 68
72: 71(ptr) AccessChain 17 70
73: 12(ivec2) Load 72
74: 31(fvec4) ImageFetch 61 66 Lod Offset 69 73
78: 75 Load 77(g_tTex2di4a)
79: 63(ptr) AccessChain 17 62
80: 14(ivec4) Load 79
81: 13(ivec3) VectorShuffle 80 80 0 1 2
82: 25(ptr) AccessChain 17 62 67
83: 11(int) Load 82
84: 71(ptr) AccessChain 17 70
85: 12(ivec2) Load 84
86: 14(ivec4) ImageFetch 78 81 Lod Offset 83 85
90: 87 Load 89(g_tTex2du4a)
91: 63(ptr) AccessChain 17 62
92: 14(ivec4) Load 91
93: 13(ivec3) VectorShuffle 92 92 0 1 2
94: 25(ptr) AccessChain 17 62 67
95: 11(int) Load 94
96: 71(ptr) AccessChain 17 70
97: 12(ivec2) Load 96
98: 56(ivec4) ImageFetch 90 93 Lod Offset 95 97
106: 105(ptr) AccessChain 101(psout) 102
Store 106 104
109: 108(ptr) AccessChain 101(psout) 107
Store 109 103
112: 105(ptr) AccessChain 101(psout) 102
113: 31(fvec4) Load 112
Store 111(Color) 113
116: 108(ptr) AccessChain 101(psout) 107
117: 6(float) Load 116
Store 115(Depth) 117
116(flattenTemp): 103(ptr) Variable Function
117:8(PS_OUTPUT) FunctionCall 10(@main()
Store 116(flattenTemp) 117
120: 108(ptr) AccessChain 116(flattenTemp) 105
121: 7(fvec4) Load 120
Store 119(Color) 121
124: 111(ptr) AccessChain 116(flattenTemp) 110
125: 6(float) Load 124
Store 123(Depth) 125
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
104(psout): 103(ptr) Variable Function
15: 12 Load 14(g_tTex1df4a)
25: 24(ptr) AccessChain 22 23
26: 18(ivec3) Load 25
27: 17(ivec2) VectorShuffle 26 26 0 1
31: 30(ptr) AccessChain 22 23 29
32: 16(int) Load 31
34: 30(ptr) AccessChain 22 33
35: 16(int) Load 34
36: 7(fvec4) ImageFetch 15 27 Lod Offset 32 35
40: 37 Load 39(g_tTex1di4a)
41: 24(ptr) AccessChain 22 23
42: 18(ivec3) Load 41
43: 17(ivec2) VectorShuffle 42 42 0 1
44: 30(ptr) AccessChain 22 23 29
45: 16(int) Load 44
46: 30(ptr) AccessChain 22 33
47: 16(int) Load 46
48: 19(ivec4) ImageFetch 40 43 Lod Offset 45 47
52: 49 Load 51(g_tTex1du4a)
53: 24(ptr) AccessChain 22 23
54: 18(ivec3) Load 53
55: 17(ivec2) VectorShuffle 54 54 0 1
56: 30(ptr) AccessChain 22 23 29
57: 16(int) Load 56
58: 30(ptr) AccessChain 22 33
59: 16(int) Load 58
61: 60(ivec4) ImageFetch 52 55 Lod Offset 57 59
65: 62 Load 64(g_tTex2df4a)
68: 67(ptr) AccessChain 22 66
69: 19(ivec4) Load 68
70: 18(ivec3) VectorShuffle 69 69 0 1 2
72: 30(ptr) AccessChain 22 66 71
73: 16(int) Load 72
76: 75(ptr) AccessChain 22 74
77: 17(ivec2) Load 76
78: 7(fvec4) ImageFetch 65 70 Lod Offset 73 77
82: 79 Load 81(g_tTex2di4a)
83: 67(ptr) AccessChain 22 66
84: 19(ivec4) Load 83
85: 18(ivec3) VectorShuffle 84 84 0 1 2
86: 30(ptr) AccessChain 22 66 71
87: 16(int) Load 86
88: 75(ptr) AccessChain 22 74
89: 17(ivec2) Load 88
90: 19(ivec4) ImageFetch 82 85 Lod Offset 87 89
94: 91 Load 93(g_tTex2du4a)
95: 67(ptr) AccessChain 22 66
96: 19(ivec4) Load 95
97: 18(ivec3) VectorShuffle 96 96 0 1 2
98: 30(ptr) AccessChain 22 66 71
99: 16(int) Load 98
100: 75(ptr) AccessChain 22 74
101: 17(ivec2) Load 100
102: 60(ivec4) ImageFetch 94 97 Lod Offset 99 101
109: 108(ptr) AccessChain 104(psout) 105
Store 109 107
112: 111(ptr) AccessChain 104(psout) 110
Store 112 106
113:8(PS_OUTPUT) Load 104(psout)
ReturnValue 113
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.load.rwbuffer.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:22 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:22 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:22 Function Parameters:
0:? Sequence
0:25 imageLoad (temp 4-component vector of float)
@ -33,20 +33,23 @@ gl_FragCoord origin is upper left
0:29 1.000000
0:29 1.000000
0:29 1.000000
0:31 Sequence
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:31 Color: direct index for structure (temp 4-component vector of float)
0:31 'psout' (temp structure{temp 4-component vector of float Color})
0:31 Constant:
0:31 0 (const int)
0:31 Branch: Return
0:31 Branch: Return with expression
0:31 'psout' (temp structure{temp 4-component vector of float Color})
0:22 Function Definition: main( (temp void)
0:22 Function Parameters:
0:? Sequence
0:22 Sequence
0:22 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:22 Color: direct index for structure (temp 4-component vector of float)
0:22 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:22 Constant:
0:22 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@ -56,7 +59,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:22 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:22 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:22 Function Parameters:
0:? Sequence
0:25 imageLoad (temp 4-component vector of float)
@ -87,114 +90,124 @@ gl_FragCoord origin is upper left
0:29 1.000000
0:29 1.000000
0:29 1.000000
0:31 Sequence
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:31 Color: direct index for structure (temp 4-component vector of float)
0:31 'psout' (temp structure{temp 4-component vector of float Color})
0:31 Constant:
0:31 0 (const int)
0:31 Branch: Return
0:31 Branch: Return with expression
0:31 'psout' (temp structure{temp 4-component vector of float Color})
0:22 Function Definition: main( (temp void)
0:22 Function Parameters:
0:? Sequence
0:22 Sequence
0:22 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:22 Color: direct index for structure (temp 4-component vector of float)
0:22 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:22 Constant:
0:22 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 52
// Id's are bound by 57
Capability Shader
Capability SampledBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 48
EntryPoint Fragment 4 "main" 54
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "g_tBuffF"
Name 15 "$Global"
MemberName 15($Global) 0 "c1"
MemberName 15($Global) 1 "c2"
MemberName 15($Global) 2 "c3"
MemberName 15($Global) 3 "c4"
MemberName 15($Global) 4 "o1"
MemberName 15($Global) 5 "o2"
MemberName 15($Global) 6 "o3"
MemberName 15($Global) 7 "o4"
Name 17 ""
Name 27 "g_tBuffU"
Name 35 "g_tBuffI"
Name 40 "PS_OUTPUT"
MemberName 40(PS_OUTPUT) 0 "Color"
Name 42 "psout"
Name 48 "Color"
Decorate 9(g_tBuffF) DescriptorSet 0
MemberDecorate 15($Global) 0 Offset 0
MemberDecorate 15($Global) 1 Offset 8
MemberDecorate 15($Global) 2 Offset 16
MemberDecorate 15($Global) 3 Offset 32
MemberDecorate 15($Global) 4 Offset 48
MemberDecorate 15($Global) 5 Offset 56
MemberDecorate 15($Global) 6 Offset 64
MemberDecorate 15($Global) 7 Offset 80
Decorate 15($Global) Block
Decorate 17 DescriptorSet 0
Decorate 27(g_tBuffU) DescriptorSet 0
Decorate 35(g_tBuffI) DescriptorSet 0
Decorate 48(Color) Location 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
Name 10 "@main("
Name 14 "g_tBuffF"
Name 20 "$Global"
MemberName 20($Global) 0 "c1"
MemberName 20($Global) 1 "c2"
MemberName 20($Global) 2 "c3"
MemberName 20($Global) 3 "c4"
MemberName 20($Global) 4 "o1"
MemberName 20($Global) 5 "o2"
MemberName 20($Global) 6 "o3"
MemberName 20($Global) 7 "o4"
Name 22 ""
Name 31 "g_tBuffU"
Name 39 "g_tBuffI"
Name 45 "psout"
Name 54 "Color"
Decorate 14(g_tBuffF) DescriptorSet 0
MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 20($Global) 5 Offset 56
MemberDecorate 20($Global) 6 Offset 64
MemberDecorate 20($Global) 7 Offset 80
Decorate 20($Global) Block
Decorate 22 DescriptorSet 0
Decorate 31(g_tBuffU) DescriptorSet 0
Decorate 39(g_tBuffI) DescriptorSet 0
Decorate 54(Color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeImage 6(float) Buffer nonsampled format:Rgba32f
8: TypePointer UniformConstant 7
9(g_tBuffF): 8(ptr) Variable UniformConstant
11: TypeInt 32 1
12: TypeVector 11(int) 2
13: TypeVector 11(int) 3
14: TypeVector 11(int) 4
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4)
16: TypePointer Uniform 15($Global)
17: 16(ptr) Variable Uniform
18: 11(int) Constant 0
19: TypePointer Uniform 11(int)
22: TypeVector 6(float) 4
24: TypeInt 32 0
25: TypeImage 24(int) Buffer nonsampled format:Rgba32ui
26: TypePointer UniformConstant 25
27(g_tBuffU): 26(ptr) Variable UniformConstant
31: TypeVector 24(int) 4
33: TypeImage 11(int) Buffer nonsampled format:Rgba32i
34: TypePointer UniformConstant 33
35(g_tBuffI): 34(ptr) Variable UniformConstant
40(PS_OUTPUT): TypeStruct 22(fvec4)
41: TypePointer Function 40(PS_OUTPUT)
43: 6(float) Constant 1065353216
44: 22(fvec4) ConstantComposite 43 43 43 43
45: TypePointer Function 22(fvec4)
47: TypePointer Output 22(fvec4)
48(Color): 47(ptr) Variable Output
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypeImage 6(float) Buffer nonsampled format:Rgba32f
13: TypePointer UniformConstant 12
14(g_tBuffF): 13(ptr) Variable UniformConstant
16: TypeInt 32 1
17: TypeVector 16(int) 2
18: TypeVector 16(int) 3
19: TypeVector 16(int) 4
20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
21: TypePointer Uniform 20($Global)
22: 21(ptr) Variable Uniform
23: 16(int) Constant 0
24: TypePointer Uniform 16(int)
28: TypeInt 32 0
29: TypeImage 28(int) Buffer nonsampled format:Rgba32ui
30: TypePointer UniformConstant 29
31(g_tBuffU): 30(ptr) Variable UniformConstant
35: TypeVector 28(int) 4
37: TypeImage 16(int) Buffer nonsampled format:Rgba32i
38: TypePointer UniformConstant 37
39(g_tBuffI): 38(ptr) Variable UniformConstant
44: TypePointer Function 8(PS_OUTPUT)
46: 6(float) Constant 1065353216
47: 7(fvec4) ConstantComposite 46 46 46 46
48: TypePointer Function 7(fvec4)
53: TypePointer Output 7(fvec4)
54(Color): 53(ptr) Variable Output
4(main): 2 Function None 3
5: Label
42(psout): 41(ptr) Variable Function
10: 7 Load 9(g_tBuffF)
20: 19(ptr) AccessChain 17 18
21: 11(int) Load 20
23: 22(fvec4) ImageRead 10 21
28: 25 Load 27(g_tBuffU)
29: 19(ptr) AccessChain 17 18
30: 11(int) Load 29
32: 31(ivec4) ImageRead 28 30
36: 33 Load 35(g_tBuffI)
37: 19(ptr) AccessChain 17 18
38: 11(int) Load 37
39: 14(ivec4) ImageRead 36 38
46: 45(ptr) AccessChain 42(psout) 18
Store 46 44
49: 45(ptr) AccessChain 42(psout) 18
50: 22(fvec4) Load 49
Store 48(Color) 50
55:8(PS_OUTPUT) FunctionCall 10(@main()
56: 7(fvec4) CompositeExtract 55 0
Store 54(Color) 56
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
45(psout): 44(ptr) Variable Function
15: 12 Load 14(g_tBuffF)
25: 24(ptr) AccessChain 22 23
26: 16(int) Load 25
27: 7(fvec4) ImageRead 15 26
32: 29 Load 31(g_tBuffU)
33: 24(ptr) AccessChain 22 23
34: 16(int) Load 33
36: 35(ivec4) ImageRead 32 34
40: 37 Load 39(g_tBuffI)
41: 24(ptr) AccessChain 22 23
42: 16(int) Load 41
43: 19(ivec4) ImageRead 40 42
49: 48(ptr) AccessChain 45(psout) 23
Store 49 47
50:8(PS_OUTPUT) Load 45(psout)
ReturnValue 50
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.load.rwtexture.array.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Parameters:
0:? Sequence
0:44 imageLoad (temp 4-component vector of float)
@ -58,24 +58,28 @@ gl_FragCoord origin is upper left
0:54 1 (const int)
0:54 Constant:
0:54 1.000000
0:56 Sequence
0:56 Sequence
0:56 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:56 Color: direct index for structure (temp 4-component vector of float)
0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56 Constant:
0:56 0 (const int)
0:56 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:56 Depth: direct index for structure (temp float)
0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56 Constant:
0:56 1 (const int)
0:56 Branch: Return
0:56 Branch: Return with expression
0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Definition: main( (temp void)
0:40 Function Parameters:
0:? Sequence
0:40 Sequence
0:40 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:40 Color: direct index for structure (temp 4-component vector of float)
0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Constant:
0:40 0 (const int)
0:40 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:40 Depth: direct index for structure (temp float)
0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Constant:
0:40 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@ -92,6 +96,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@ -101,7 +107,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Parameters:
0:? Sequence
0:44 imageLoad (temp 4-component vector of float)
@ -157,24 +163,28 @@ gl_FragCoord origin is upper left
0:54 1 (const int)
0:54 Constant:
0:54 1.000000
0:56 Sequence
0:56 Sequence
0:56 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:56 Color: direct index for structure (temp 4-component vector of float)
0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56 Constant:
0:56 0 (const int)
0:56 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:56 Depth: direct index for structure (temp float)
0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56 Constant:
0:56 1 (const int)
0:56 Branch: Return
0:56 Branch: Return with expression
0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Definition: main( (temp void)
0:40 Function Parameters:
0:? Sequence
0:40 Sequence
0:40 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:40 Color: direct index for structure (temp 4-component vector of float)
0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Constant:
0:40 0 (const int)
0:40 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:40 Depth: direct index for structure (temp float)
0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Constant:
0:40 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@ -191,193 +201,206 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 112
// Id's are bound by 119
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 74 78
EntryPoint Fragment 4 "main" 82 86
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "g_tTex1df4a"
Name 15 "$Global"
MemberName 15($Global) 0 "c1"
MemberName 15($Global) 1 "c2"
MemberName 15($Global) 2 "c3"
MemberName 15($Global) 3 "c4"
MemberName 15($Global) 4 "o1"
MemberName 15($Global) 5 "o2"
MemberName 15($Global) 6 "o3"
MemberName 15($Global) 7 "o4"
Name 17 ""
Name 26 "g_tTex1di4a"
Name 34 "g_tTex1du4a"
Name 42 "g_tTex2df4a"
Name 51 "g_tTex2di4a"
Name 58 "g_tTex2du4a"
Name 63 "PS_OUTPUT"
MemberName 63(PS_OUTPUT) 0 "Color"
MemberName 63(PS_OUTPUT) 1 "Depth"
Name 65 "psout"
Name 74 "Color"
Name 78 "Depth"
Name 84 "g_sSamp"
Name 87 "g_tTex1df4"
Name 90 "g_tTex1di4"
Name 93 "g_tTex1du4"
Name 96 "g_tTex2df4"
Name 99 "g_tTex2di4"
Name 102 "g_tTex2du4"
Name 105 "g_tTex3df4"
Name 108 "g_tTex3di4"
Name 111 "g_tTex3du4"
Decorate 9(g_tTex1df4a) DescriptorSet 0
MemberDecorate 15($Global) 0 Offset 0
MemberDecorate 15($Global) 1 Offset 8
MemberDecorate 15($Global) 2 Offset 16
MemberDecorate 15($Global) 3 Offset 32
MemberDecorate 15($Global) 4 Offset 48
MemberDecorate 15($Global) 5 Offset 56
MemberDecorate 15($Global) 6 Offset 64
MemberDecorate 15($Global) 7 Offset 80
Decorate 15($Global) Block
Decorate 17 DescriptorSet 0
Decorate 26(g_tTex1di4a) DescriptorSet 0
Decorate 34(g_tTex1du4a) DescriptorSet 0
Decorate 42(g_tTex2df4a) DescriptorSet 0
Decorate 51(g_tTex2di4a) DescriptorSet 0
Decorate 58(g_tTex2du4a) DescriptorSet 0
Decorate 74(Color) Location 0
Decorate 78(Depth) BuiltIn FragDepth
Decorate 84(g_sSamp) DescriptorSet 0
Decorate 84(g_sSamp) Binding 0
Decorate 87(g_tTex1df4) DescriptorSet 0
Decorate 87(g_tTex1df4) Binding 0
Decorate 90(g_tTex1di4) DescriptorSet 0
Decorate 93(g_tTex1du4) DescriptorSet 0
Decorate 96(g_tTex2df4) DescriptorSet 0
Decorate 99(g_tTex2di4) DescriptorSet 0
Decorate 102(g_tTex2du4) DescriptorSet 0
Decorate 105(g_tTex3df4) DescriptorSet 0
Decorate 108(g_tTex3di4) DescriptorSet 0
Decorate 111(g_tTex3du4) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 14 "g_tTex1df4a"
Name 20 "$Global"
MemberName 20($Global) 0 "c1"
MemberName 20($Global) 1 "c2"
MemberName 20($Global) 2 "c3"
MemberName 20($Global) 3 "c4"
MemberName 20($Global) 4 "o1"
MemberName 20($Global) 5 "o2"
MemberName 20($Global) 6 "o3"
MemberName 20($Global) 7 "o4"
Name 22 ""
Name 30 "g_tTex1di4a"
Name 38 "g_tTex1du4a"
Name 46 "g_tTex2df4a"
Name 55 "g_tTex2di4a"
Name 62 "g_tTex2du4a"
Name 68 "psout"
Name 79 "flattenTemp"
Name 82 "Color"
Name 86 "Depth"
Name 91 "g_sSamp"
Name 94 "g_tTex1df4"
Name 97 "g_tTex1di4"
Name 100 "g_tTex1du4"
Name 103 "g_tTex2df4"
Name 106 "g_tTex2di4"
Name 109 "g_tTex2du4"
Name 112 "g_tTex3df4"
Name 115 "g_tTex3di4"
Name 118 "g_tTex3du4"
Decorate 14(g_tTex1df4a) DescriptorSet 0
MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 20($Global) 5 Offset 56
MemberDecorate 20($Global) 6 Offset 64
MemberDecorate 20($Global) 7 Offset 80
Decorate 20($Global) Block
Decorate 22 DescriptorSet 0
Decorate 30(g_tTex1di4a) DescriptorSet 0
Decorate 38(g_tTex1du4a) DescriptorSet 0
Decorate 46(g_tTex2df4a) DescriptorSet 0
Decorate 55(g_tTex2di4a) DescriptorSet 0
Decorate 62(g_tTex2du4a) DescriptorSet 0
Decorate 82(Color) Location 0
Decorate 86(Depth) BuiltIn FragDepth
Decorate 91(g_sSamp) DescriptorSet 0
Decorate 91(g_sSamp) Binding 0
Decorate 94(g_tTex1df4) DescriptorSet 0
Decorate 94(g_tTex1df4) Binding 0
Decorate 97(g_tTex1di4) DescriptorSet 0
Decorate 100(g_tTex1du4) DescriptorSet 0
Decorate 103(g_tTex2df4) DescriptorSet 0
Decorate 106(g_tTex2di4) DescriptorSet 0
Decorate 109(g_tTex2du4) DescriptorSet 0
Decorate 112(g_tTex3df4) DescriptorSet 0
Decorate 115(g_tTex3di4) DescriptorSet 0
Decorate 118(g_tTex3du4) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeImage 6(float) 1D array nonsampled format:Rgba32f
8: TypePointer UniformConstant 7
9(g_tTex1df4a): 8(ptr) Variable UniformConstant
11: TypeInt 32 1
12: TypeVector 11(int) 2
13: TypeVector 11(int) 3
14: TypeVector 11(int) 4
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4)
16: TypePointer Uniform 15($Global)
17: 16(ptr) Variable Uniform
18: 11(int) Constant 1
19: TypePointer Uniform 12(ivec2)
22: TypeVector 6(float) 4
24: TypeImage 11(int) 1D array nonsampled format:Rgba32i
25: TypePointer UniformConstant 24
26(g_tTex1di4a): 25(ptr) Variable UniformConstant
31: TypeInt 32 0
32: TypeImage 31(int) 1D array nonsampled format:Rgba32ui
33: TypePointer UniformConstant 32
34(g_tTex1du4a): 33(ptr) Variable UniformConstant
38: TypeVector 31(int) 4
40: TypeImage 6(float) 2D array nonsampled format:Rgba32f
41: TypePointer UniformConstant 40
42(g_tTex2df4a): 41(ptr) Variable UniformConstant
44: 11(int) Constant 2
45: TypePointer Uniform 13(ivec3)
49: TypeImage 11(int) 2D array nonsampled format:Rgba32i
50: TypePointer UniformConstant 49
51(g_tTex2di4a): 50(ptr) Variable UniformConstant
56: TypeImage 31(int) 2D array nonsampled format:Rgba32ui
57: TypePointer UniformConstant 56
58(g_tTex2du4a): 57(ptr) Variable UniformConstant
63(PS_OUTPUT): TypeStruct 22(fvec4) 6(float)
64: TypePointer Function 63(PS_OUTPUT)
66: 11(int) Constant 0
67: 6(float) Constant 1065353216
68: 22(fvec4) ConstantComposite 67 67 67 67
69: TypePointer Function 22(fvec4)
71: TypePointer Function 6(float)
73: TypePointer Output 22(fvec4)
74(Color): 73(ptr) Variable Output
77: TypePointer Output 6(float)
78(Depth): 77(ptr) Variable Output
82: TypeSampler
83: TypePointer UniformConstant 82
84(g_sSamp): 83(ptr) Variable UniformConstant
85: TypeImage 6(float) 1D nonsampled format:Rgba32f
86: TypePointer UniformConstant 85
87(g_tTex1df4): 86(ptr) Variable UniformConstant
88: TypeImage 11(int) 1D nonsampled format:Rgba32i
89: TypePointer UniformConstant 88
90(g_tTex1di4): 89(ptr) Variable UniformConstant
91: TypeImage 31(int) 1D nonsampled format:Rgba32ui
92: TypePointer UniformConstant 91
93(g_tTex1du4): 92(ptr) Variable UniformConstant
94: TypeImage 6(float) 2D nonsampled format:Rgba32f
95: TypePointer UniformConstant 94
96(g_tTex2df4): 95(ptr) Variable UniformConstant
97: TypeImage 11(int) 2D nonsampled format:Rgba32i
98: TypePointer UniformConstant 97
99(g_tTex2di4): 98(ptr) Variable UniformConstant
100: TypeImage 31(int) 2D nonsampled format:Rgba32ui
101: TypePointer UniformConstant 100
102(g_tTex2du4): 101(ptr) Variable UniformConstant
103: TypeImage 6(float) 3D nonsampled format:Rgba32f
104: TypePointer UniformConstant 103
105(g_tTex3df4): 104(ptr) Variable UniformConstant
106: TypeImage 11(int) 3D nonsampled format:Rgba32i
107: TypePointer UniformConstant 106
108(g_tTex3di4): 107(ptr) Variable UniformConstant
109: TypeImage 31(int) 3D nonsampled format:Rgba32ui
110: TypePointer UniformConstant 109
111(g_tTex3du4): 110(ptr) Variable UniformConstant
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypeImage 6(float) 1D array nonsampled format:Rgba32f
13: TypePointer UniformConstant 12
14(g_tTex1df4a): 13(ptr) Variable UniformConstant
16: TypeInt 32 1
17: TypeVector 16(int) 2
18: TypeVector 16(int) 3
19: TypeVector 16(int) 4
20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
21: TypePointer Uniform 20($Global)
22: 21(ptr) Variable Uniform
23: 16(int) Constant 1
24: TypePointer Uniform 17(ivec2)
28: TypeImage 16(int) 1D array nonsampled format:Rgba32i
29: TypePointer UniformConstant 28
30(g_tTex1di4a): 29(ptr) Variable UniformConstant
35: TypeInt 32 0
36: TypeImage 35(int) 1D array nonsampled format:Rgba32ui
37: TypePointer UniformConstant 36
38(g_tTex1du4a): 37(ptr) Variable UniformConstant
42: TypeVector 35(int) 4
44: TypeImage 6(float) 2D array nonsampled format:Rgba32f
45: TypePointer UniformConstant 44
46(g_tTex2df4a): 45(ptr) Variable UniformConstant
48: 16(int) Constant 2
49: TypePointer Uniform 18(ivec3)
53: TypeImage 16(int) 2D array nonsampled format:Rgba32i
54: TypePointer UniformConstant 53
55(g_tTex2di4a): 54(ptr) Variable UniformConstant
60: TypeImage 35(int) 2D array nonsampled format:Rgba32ui
61: TypePointer UniformConstant 60
62(g_tTex2du4a): 61(ptr) Variable UniformConstant
67: TypePointer Function 8(PS_OUTPUT)
69: 16(int) Constant 0
70: 6(float) Constant 1065353216
71: 7(fvec4) ConstantComposite 70 70 70 70
72: TypePointer Function 7(fvec4)
74: TypePointer Function 6(float)
81: TypePointer Output 7(fvec4)
82(Color): 81(ptr) Variable Output
85: TypePointer Output 6(float)
86(Depth): 85(ptr) Variable Output
89: TypeSampler
90: TypePointer UniformConstant 89
91(g_sSamp): 90(ptr) Variable UniformConstant
92: TypeImage 6(float) 1D nonsampled format:Rgba32f
93: TypePointer UniformConstant 92
94(g_tTex1df4): 93(ptr) Variable UniformConstant
95: TypeImage 16(int) 1D nonsampled format:Rgba32i
96: TypePointer UniformConstant 95
97(g_tTex1di4): 96(ptr) Variable UniformConstant
98: TypeImage 35(int) 1D nonsampled format:Rgba32ui
99: TypePointer UniformConstant 98
100(g_tTex1du4): 99(ptr) Variable UniformConstant
101: TypeImage 6(float) 2D nonsampled format:Rgba32f
102: TypePointer UniformConstant 101
103(g_tTex2df4): 102(ptr) Variable UniformConstant
104: TypeImage 16(int) 2D nonsampled format:Rgba32i
105: TypePointer UniformConstant 104
106(g_tTex2di4): 105(ptr) Variable UniformConstant
107: TypeImage 35(int) 2D nonsampled format:Rgba32ui
108: TypePointer UniformConstant 107
109(g_tTex2du4): 108(ptr) Variable UniformConstant
110: TypeImage 6(float) 3D nonsampled format:Rgba32f
111: TypePointer UniformConstant 110
112(g_tTex3df4): 111(ptr) Variable UniformConstant
113: TypeImage 16(int) 3D nonsampled format:Rgba32i
114: TypePointer UniformConstant 113
115(g_tTex3di4): 114(ptr) Variable UniformConstant
116: TypeImage 35(int) 3D nonsampled format:Rgba32ui
117: TypePointer UniformConstant 116
118(g_tTex3du4): 117(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
65(psout): 64(ptr) Variable Function
10: 7 Load 9(g_tTex1df4a)
20: 19(ptr) AccessChain 17 18
21: 12(ivec2) Load 20
23: 22(fvec4) ImageRead 10 21
27: 24 Load 26(g_tTex1di4a)
28: 19(ptr) AccessChain 17 18
29: 12(ivec2) Load 28
30: 14(ivec4) ImageRead 27 29
35: 32 Load 34(g_tTex1du4a)
36: 19(ptr) AccessChain 17 18
37: 12(ivec2) Load 36
39: 38(ivec4) ImageRead 35 37
43: 40 Load 42(g_tTex2df4a)
46: 45(ptr) AccessChain 17 44
47: 13(ivec3) Load 46
48: 22(fvec4) ImageRead 43 47
52: 49 Load 51(g_tTex2di4a)
53: 45(ptr) AccessChain 17 44
54: 13(ivec3) Load 53
55: 14(ivec4) ImageRead 52 54
59: 56 Load 58(g_tTex2du4a)
60: 45(ptr) AccessChain 17 44
61: 13(ivec3) Load 60
62: 38(ivec4) ImageRead 59 61
70: 69(ptr) AccessChain 65(psout) 66
Store 70 68
72: 71(ptr) AccessChain 65(psout) 18
Store 72 67
75: 69(ptr) AccessChain 65(psout) 66
76: 22(fvec4) Load 75
Store 74(Color) 76
79: 71(ptr) AccessChain 65(psout) 18
80: 6(float) Load 79
Store 78(Depth) 80
79(flattenTemp): 67(ptr) Variable Function
80:8(PS_OUTPUT) FunctionCall 10(@main()
Store 79(flattenTemp) 80
83: 72(ptr) AccessChain 79(flattenTemp) 69
84: 7(fvec4) Load 83
Store 82(Color) 84
87: 74(ptr) AccessChain 79(flattenTemp) 23
88: 6(float) Load 87
Store 86(Depth) 88
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
68(psout): 67(ptr) Variable Function
15: 12 Load 14(g_tTex1df4a)
25: 24(ptr) AccessChain 22 23
26: 17(ivec2) Load 25
27: 7(fvec4) ImageRead 15 26
31: 28 Load 30(g_tTex1di4a)
32: 24(ptr) AccessChain 22 23
33: 17(ivec2) Load 32
34: 19(ivec4) ImageRead 31 33
39: 36 Load 38(g_tTex1du4a)
40: 24(ptr) AccessChain 22 23
41: 17(ivec2) Load 40
43: 42(ivec4) ImageRead 39 41
47: 44 Load 46(g_tTex2df4a)
50: 49(ptr) AccessChain 22 48
51: 18(ivec3) Load 50
52: 7(fvec4) ImageRead 47 51
56: 53 Load 55(g_tTex2di4a)
57: 49(ptr) AccessChain 22 48
58: 18(ivec3) Load 57
59: 19(ivec4) ImageRead 56 58
63: 60 Load 62(g_tTex2du4a)
64: 49(ptr) AccessChain 22 48
65: 18(ivec3) Load 64
66: 42(ivec4) ImageRead 63 65
73: 72(ptr) AccessChain 68(psout) 69
Store 73 71
75: 74(ptr) AccessChain 68(psout) 23
Store 75 70
76:8(PS_OUTPUT) Load 68(psout)
ReturnValue 76
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.load.rwtexture.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Parameters:
0:? Sequence
0:44 imageLoad (temp 4-component vector of float)
@ -76,24 +76,28 @@ gl_FragCoord origin is upper left
0:59 1 (const int)
0:59 Constant:
0:59 1.000000
0:61 Sequence
0:61 Sequence
0:61 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:61 Color: direct index for structure (temp 4-component vector of float)
0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:61 Constant:
0:61 0 (const int)
0:61 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:61 Depth: direct index for structure (temp float)
0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:61 Constant:
0:61 1 (const int)
0:61 Branch: Return
0:61 Branch: Return with expression
0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Definition: main( (temp void)
0:40 Function Parameters:
0:? Sequence
0:40 Sequence
0:40 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:40 Color: direct index for structure (temp 4-component vector of float)
0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Constant:
0:40 0 (const int)
0:40 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:40 Depth: direct index for structure (temp float)
0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Constant:
0:40 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@ -110,6 +114,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@ -119,7 +125,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Parameters:
0:? Sequence
0:44 imageLoad (temp 4-component vector of float)
@ -193,24 +199,28 @@ gl_FragCoord origin is upper left
0:59 1 (const int)
0:59 Constant:
0:59 1.000000
0:61 Sequence
0:61 Sequence
0:61 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:61 Color: direct index for structure (temp 4-component vector of float)
0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:61 Constant:
0:61 0 (const int)
0:61 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:61 Depth: direct index for structure (temp float)
0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:61 Constant:
0:61 1 (const int)
0:61 Branch: Return
0:61 Branch: Return with expression
0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Definition: main( (temp void)
0:40 Function Parameters:
0:? Sequence
0:40 Sequence
0:40 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:40 Color: direct index for structure (temp 4-component vector of float)
0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Constant:
0:40 0 (const int)
0:40 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:40 Depth: direct index for structure (temp float)
0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40 Constant:
0:40 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@ -227,206 +237,219 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 125
// Id's are bound by 132
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 96 100
EntryPoint Fragment 4 "main" 104 108
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "g_tTex1df4"
Name 15 "$Global"
MemberName 15($Global) 0 "c1"
MemberName 15($Global) 1 "c2"
MemberName 15($Global) 2 "c3"
MemberName 15($Global) 3 "c4"
MemberName 15($Global) 4 "o1"
MemberName 15($Global) 5 "o2"
MemberName 15($Global) 6 "o3"
MemberName 15($Global) 7 "o4"
Name 17 ""
Name 26 "g_tTex1di4"
Name 34 "g_tTex1du4"
Name 42 "g_tTex2df4"
Name 51 "g_tTex2di4"
Name 58 "g_tTex2du4"
Name 65 "g_tTex3df4"
Name 74 "g_tTex3di4"
Name 81 "g_tTex3du4"
Name 86 "PS_OUTPUT"
MemberName 86(PS_OUTPUT) 0 "Color"
MemberName 86(PS_OUTPUT) 1 "Depth"
Name 88 "psout"
Name 96 "Color"
Name 100 "Depth"
Name 106 "g_sSamp"
Name 109 "g_tTex1df4a"
Name 112 "g_tTex1di4a"
Name 115 "g_tTex1du4a"
Name 118 "g_tTex2df4a"
Name 121 "g_tTex2di4a"
Name 124 "g_tTex2du4a"
Decorate 9(g_tTex1df4) DescriptorSet 0
Decorate 9(g_tTex1df4) Binding 0
MemberDecorate 15($Global) 0 Offset 0
MemberDecorate 15($Global) 1 Offset 8
MemberDecorate 15($Global) 2 Offset 16
MemberDecorate 15($Global) 3 Offset 32
MemberDecorate 15($Global) 4 Offset 48
MemberDecorate 15($Global) 5 Offset 56
MemberDecorate 15($Global) 6 Offset 64
MemberDecorate 15($Global) 7 Offset 80
Decorate 15($Global) Block
Decorate 17 DescriptorSet 0
Decorate 26(g_tTex1di4) DescriptorSet 0
Decorate 34(g_tTex1du4) DescriptorSet 0
Decorate 42(g_tTex2df4) DescriptorSet 0
Decorate 51(g_tTex2di4) DescriptorSet 0
Decorate 58(g_tTex2du4) DescriptorSet 0
Decorate 65(g_tTex3df4) DescriptorSet 0
Decorate 74(g_tTex3di4) DescriptorSet 0
Decorate 81(g_tTex3du4) DescriptorSet 0
Decorate 96(Color) Location 0
Decorate 100(Depth) BuiltIn FragDepth
Decorate 106(g_sSamp) DescriptorSet 0
Decorate 106(g_sSamp) Binding 0
Decorate 109(g_tTex1df4a) DescriptorSet 0
Decorate 112(g_tTex1di4a) DescriptorSet 0
Decorate 115(g_tTex1du4a) DescriptorSet 0
Decorate 118(g_tTex2df4a) DescriptorSet 0
Decorate 121(g_tTex2di4a) DescriptorSet 0
Decorate 124(g_tTex2du4a) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 14 "g_tTex1df4"
Name 20 "$Global"
MemberName 20($Global) 0 "c1"
MemberName 20($Global) 1 "c2"
MemberName 20($Global) 2 "c3"
MemberName 20($Global) 3 "c4"
MemberName 20($Global) 4 "o1"
MemberName 20($Global) 5 "o2"
MemberName 20($Global) 6 "o3"
MemberName 20($Global) 7 "o4"
Name 22 ""
Name 30 "g_tTex1di4"
Name 38 "g_tTex1du4"
Name 46 "g_tTex2df4"
Name 55 "g_tTex2di4"
Name 62 "g_tTex2du4"
Name 69 "g_tTex3df4"
Name 78 "g_tTex3di4"
Name 85 "g_tTex3du4"
Name 91 "psout"
Name 101 "flattenTemp"
Name 104 "Color"
Name 108 "Depth"
Name 113 "g_sSamp"
Name 116 "g_tTex1df4a"
Name 119 "g_tTex1di4a"
Name 122 "g_tTex1du4a"
Name 125 "g_tTex2df4a"
Name 128 "g_tTex2di4a"
Name 131 "g_tTex2du4a"
Decorate 14(g_tTex1df4) DescriptorSet 0
Decorate 14(g_tTex1df4) Binding 0
MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 20($Global) 5 Offset 56
MemberDecorate 20($Global) 6 Offset 64
MemberDecorate 20($Global) 7 Offset 80
Decorate 20($Global) Block
Decorate 22 DescriptorSet 0
Decorate 30(g_tTex1di4) DescriptorSet 0
Decorate 38(g_tTex1du4) DescriptorSet 0
Decorate 46(g_tTex2df4) DescriptorSet 0
Decorate 55(g_tTex2di4) DescriptorSet 0
Decorate 62(g_tTex2du4) DescriptorSet 0
Decorate 69(g_tTex3df4) DescriptorSet 0
Decorate 78(g_tTex3di4) DescriptorSet 0
Decorate 85(g_tTex3du4) DescriptorSet 0
Decorate 104(Color) Location 0
Decorate 108(Depth) BuiltIn FragDepth
Decorate 113(g_sSamp) DescriptorSet 0
Decorate 113(g_sSamp) Binding 0
Decorate 116(g_tTex1df4a) DescriptorSet 0
Decorate 119(g_tTex1di4a) DescriptorSet 0
Decorate 122(g_tTex1du4a) DescriptorSet 0
Decorate 125(g_tTex2df4a) DescriptorSet 0
Decorate 128(g_tTex2di4a) DescriptorSet 0
Decorate 131(g_tTex2du4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeImage 6(float) 1D nonsampled format:Rgba32f
8: TypePointer UniformConstant 7
9(g_tTex1df4): 8(ptr) Variable UniformConstant
11: TypeInt 32 1
12: TypeVector 11(int) 2
13: TypeVector 11(int) 3
14: TypeVector 11(int) 4
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4)
16: TypePointer Uniform 15($Global)
17: 16(ptr) Variable Uniform
18: 11(int) Constant 0
19: TypePointer Uniform 11(int)
22: TypeVector 6(float) 4
24: TypeImage 11(int) 1D nonsampled format:Rgba32i
25: TypePointer UniformConstant 24
26(g_tTex1di4): 25(ptr) Variable UniformConstant
31: TypeInt 32 0
32: TypeImage 31(int) 1D nonsampled format:Rgba32ui
33: TypePointer UniformConstant 32
34(g_tTex1du4): 33(ptr) Variable UniformConstant
38: TypeVector 31(int) 4
40: TypeImage 6(float) 2D nonsampled format:Rgba32f
41: TypePointer UniformConstant 40
42(g_tTex2df4): 41(ptr) Variable UniformConstant
44: 11(int) Constant 1
45: TypePointer Uniform 12(ivec2)
49: TypeImage 11(int) 2D nonsampled format:Rgba32i
50: TypePointer UniformConstant 49
51(g_tTex2di4): 50(ptr) Variable UniformConstant
56: TypeImage 31(int) 2D nonsampled format:Rgba32ui
57: TypePointer UniformConstant 56
58(g_tTex2du4): 57(ptr) Variable UniformConstant
63: TypeImage 6(float) 3D nonsampled format:Rgba32f
64: TypePointer UniformConstant 63
65(g_tTex3df4): 64(ptr) Variable UniformConstant
67: 11(int) Constant 2
68: TypePointer Uniform 13(ivec3)
72: TypeImage 11(int) 3D nonsampled format:Rgba32i
73: TypePointer UniformConstant 72
74(g_tTex3di4): 73(ptr) Variable UniformConstant
79: TypeImage 31(int) 3D nonsampled format:Rgba32ui
80: TypePointer UniformConstant 79
81(g_tTex3du4): 80(ptr) Variable UniformConstant
86(PS_OUTPUT): TypeStruct 22(fvec4) 6(float)
87: TypePointer Function 86(PS_OUTPUT)
89: 6(float) Constant 1065353216
90: 22(fvec4) ConstantComposite 89 89 89 89
91: TypePointer Function 22(fvec4)
93: TypePointer Function 6(float)
95: TypePointer Output 22(fvec4)
96(Color): 95(ptr) Variable Output
99: TypePointer Output 6(float)
100(Depth): 99(ptr) Variable Output
104: TypeSampler
105: TypePointer UniformConstant 104
106(g_sSamp): 105(ptr) Variable UniformConstant
107: TypeImage 6(float) 1D array nonsampled format:Rgba32f
108: TypePointer UniformConstant 107
109(g_tTex1df4a): 108(ptr) Variable UniformConstant
110: TypeImage 11(int) 1D array nonsampled format:Rgba32i
111: TypePointer UniformConstant 110
112(g_tTex1di4a): 111(ptr) Variable UniformConstant
113: TypeImage 31(int) 1D array nonsampled format:Rgba32ui
114: TypePointer UniformConstant 113
115(g_tTex1du4a): 114(ptr) Variable UniformConstant
116: TypeImage 6(float) 2D array nonsampled format:Rgba32f
117: TypePointer UniformConstant 116
118(g_tTex2df4a): 117(ptr) Variable UniformConstant
119: TypeImage 11(int) 2D array nonsampled format:Rgba32i
120: TypePointer UniformConstant 119
121(g_tTex2di4a): 120(ptr) Variable UniformConstant
122: TypeImage 31(int) 2D array nonsampled format:Rgba32ui
123: TypePointer UniformConstant 122
124(g_tTex2du4a): 123(ptr) Variable UniformConstant
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypeImage 6(float) 1D nonsampled format:Rgba32f
13: TypePointer UniformConstant 12
14(g_tTex1df4): 13(ptr) Variable UniformConstant
16: TypeInt 32 1
17: TypeVector 16(int) 2
18: TypeVector 16(int) 3
19: TypeVector 16(int) 4
20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
21: TypePointer Uniform 20($Global)
22: 21(ptr) Variable Uniform
23: 16(int) Constant 0
24: TypePointer Uniform 16(int)
28: TypeImage 16(int) 1D nonsampled format:Rgba32i
29: TypePointer UniformConstant 28
30(g_tTex1di4): 29(ptr) Variable UniformConstant
35: TypeInt 32 0
36: TypeImage 35(int) 1D nonsampled format:Rgba32ui
37: TypePointer UniformConstant 36
38(g_tTex1du4): 37(ptr) Variable UniformConstant
42: TypeVector 35(int) 4
44: TypeImage 6(float) 2D nonsampled format:Rgba32f
45: TypePointer UniformConstant 44
46(g_tTex2df4): 45(ptr) Variable UniformConstant
48: 16(int) Constant 1
49: TypePointer Uniform 17(ivec2)
53: TypeImage 16(int) 2D nonsampled format:Rgba32i
54: TypePointer UniformConstant 53
55(g_tTex2di4): 54(ptr) Variable UniformConstant
60: TypeImage 35(int) 2D nonsampled format:Rgba32ui
61: TypePointer UniformConstant 60
62(g_tTex2du4): 61(ptr) Variable UniformConstant
67: TypeImage 6(float) 3D nonsampled format:Rgba32f
68: TypePointer UniformConstant 67
69(g_tTex3df4): 68(ptr) Variable UniformConstant
71: 16(int) Constant 2
72: TypePointer Uniform 18(ivec3)
76: TypeImage 16(int) 3D nonsampled format:Rgba32i
77: TypePointer UniformConstant 76
78(g_tTex3di4): 77(ptr) Variable UniformConstant
83: TypeImage 35(int) 3D nonsampled format:Rgba32ui
84: TypePointer UniformConstant 83
85(g_tTex3du4): 84(ptr) Variable UniformConstant
90: TypePointer Function 8(PS_OUTPUT)
92: 6(float) Constant 1065353216
93: 7(fvec4) ConstantComposite 92 92 92 92
94: TypePointer Function 7(fvec4)
96: TypePointer Function 6(float)
103: TypePointer Output 7(fvec4)
104(Color): 103(ptr) Variable Output
107: TypePointer Output 6(float)
108(Depth): 107(ptr) Variable Output
111: TypeSampler
112: TypePointer UniformConstant 111
113(g_sSamp): 112(ptr) Variable UniformConstant
114: TypeImage 6(float) 1D array nonsampled format:Rgba32f
115: TypePointer UniformConstant 114
116(g_tTex1df4a): 115(ptr) Variable UniformConstant
117: TypeImage 16(int) 1D array nonsampled format:Rgba32i
118: TypePointer UniformConstant 117
119(g_tTex1di4a): 118(ptr) Variable UniformConstant
120: TypeImage 35(int) 1D array nonsampled format:Rgba32ui
121: TypePointer UniformConstant 120
122(g_tTex1du4a): 121(ptr) Variable UniformConstant
123: TypeImage 6(float) 2D array nonsampled format:Rgba32f
124: TypePointer UniformConstant 123
125(g_tTex2df4a): 124(ptr) Variable UniformConstant
126: TypeImage 16(int) 2D array nonsampled format:Rgba32i
127: TypePointer UniformConstant 126
128(g_tTex2di4a): 127(ptr) Variable UniformConstant
129: TypeImage 35(int) 2D array nonsampled format:Rgba32ui
130: TypePointer UniformConstant 129
131(g_tTex2du4a): 130(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
88(psout): 87(ptr) Variable Function
10: 7 Load 9(g_tTex1df4)
20: 19(ptr) AccessChain 17 18
21: 11(int) Load 20
23: 22(fvec4) ImageRead 10 21
27: 24 Load 26(g_tTex1di4)
28: 19(ptr) AccessChain 17 18
29: 11(int) Load 28
30: 14(ivec4) ImageRead 27 29
35: 32 Load 34(g_tTex1du4)
36: 19(ptr) AccessChain 17 18
37: 11(int) Load 36
39: 38(ivec4) ImageRead 35 37
43: 40 Load 42(g_tTex2df4)
46: 45(ptr) AccessChain 17 44
47: 12(ivec2) Load 46
48: 22(fvec4) ImageRead 43 47
52: 49 Load 51(g_tTex2di4)
53: 45(ptr) AccessChain 17 44
54: 12(ivec2) Load 53
55: 14(ivec4) ImageRead 52 54
59: 56 Load 58(g_tTex2du4)
60: 45(ptr) AccessChain 17 44
61: 12(ivec2) Load 60
62: 38(ivec4) ImageRead 59 61
66: 63 Load 65(g_tTex3df4)
69: 68(ptr) AccessChain 17 67
70: 13(ivec3) Load 69
71: 22(fvec4) ImageRead 66 70
75: 72 Load 74(g_tTex3di4)
76: 68(ptr) AccessChain 17 67
77: 13(ivec3) Load 76
78: 14(ivec4) ImageRead 75 77
82: 79 Load 81(g_tTex3du4)
83: 68(ptr) AccessChain 17 67
84: 13(ivec3) Load 83
85: 38(ivec4) ImageRead 82 84
92: 91(ptr) AccessChain 88(psout) 18
Store 92 90
94: 93(ptr) AccessChain 88(psout) 44
Store 94 89
97: 91(ptr) AccessChain 88(psout) 18
98: 22(fvec4) Load 97
Store 96(Color) 98
101: 93(ptr) AccessChain 88(psout) 44
102: 6(float) Load 101
Store 100(Depth) 102
101(flattenTemp): 90(ptr) Variable Function
102:8(PS_OUTPUT) FunctionCall 10(@main()
Store 101(flattenTemp) 102
105: 94(ptr) AccessChain 101(flattenTemp) 23
106: 7(fvec4) Load 105
Store 104(Color) 106
109: 96(ptr) AccessChain 101(flattenTemp) 48
110: 6(float) Load 109
Store 108(Depth) 110
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
91(psout): 90(ptr) Variable Function
15: 12 Load 14(g_tTex1df4)
25: 24(ptr) AccessChain 22 23
26: 16(int) Load 25
27: 7(fvec4) ImageRead 15 26
31: 28 Load 30(g_tTex1di4)
32: 24(ptr) AccessChain 22 23
33: 16(int) Load 32
34: 19(ivec4) ImageRead 31 33
39: 36 Load 38(g_tTex1du4)
40: 24(ptr) AccessChain 22 23
41: 16(int) Load 40
43: 42(ivec4) ImageRead 39 41
47: 44 Load 46(g_tTex2df4)
50: 49(ptr) AccessChain 22 48
51: 17(ivec2) Load 50
52: 7(fvec4) ImageRead 47 51
56: 53 Load 55(g_tTex2di4)
57: 49(ptr) AccessChain 22 48
58: 17(ivec2) Load 57
59: 19(ivec4) ImageRead 56 58
63: 60 Load 62(g_tTex2du4)
64: 49(ptr) AccessChain 22 48
65: 17(ivec2) Load 64
66: 42(ivec4) ImageRead 63 65
70: 67 Load 69(g_tTex3df4)
73: 72(ptr) AccessChain 22 71
74: 18(ivec3) Load 73
75: 7(fvec4) ImageRead 70 74
79: 76 Load 78(g_tTex3di4)
80: 72(ptr) AccessChain 22 71
81: 18(ivec3) Load 80
82: 19(ivec4) ImageRead 79 81
86: 83 Load 85(g_tTex3du4)
87: 72(ptr) AccessChain 22 71
88: 18(ivec3) Load 87
89: 42(ivec4) ImageRead 86 88
95: 94(ptr) AccessChain 91(psout) 23
Store 95 93
97: 96(ptr) AccessChain 91(psout) 48
Store 97 92
98:8(PS_OUTPUT) Load 91(psout)
ReturnValue 98
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.logical.binary.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:12 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:12 Function Parameters:
0:? Sequence
0:13 Test condition and select (temp void)
@ -45,15 +45,18 @@ gl_FragCoord origin is upper left
0:17 1.000000
0:17 1.000000
0:17 1.000000
0:18 Sequence
0:18 Sequence
0:18 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:18 Color: direct index for structure (temp 4-component vector of float)
0:18 'psout' (temp structure{temp 4-component vector of float Color})
0:18 Constant:
0:18 0 (const int)
0:18 Branch: Return
0:18 Branch: Return with expression
0:18 'psout' (temp structure{temp 4-component vector of float Color})
0:12 Function Definition: main( (temp void)
0:12 Function Parameters:
0:? Sequence
0:12 Sequence
0:12 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:12 Color: direct index for structure (temp 4-component vector of float)
0:12 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:12 Constant:
0:12 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
@ -65,7 +68,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:12 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:12 Function Parameters:
0:? Sequence
0:13 Test condition and select (temp void)
@ -108,113 +111,123 @@ gl_FragCoord origin is upper left
0:17 1.000000
0:17 1.000000
0:17 1.000000
0:18 Sequence
0:18 Sequence
0:18 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:18 Color: direct index for structure (temp 4-component vector of float)
0:18 'psout' (temp structure{temp 4-component vector of float Color})
0:18 Constant:
0:18 0 (const int)
0:18 Branch: Return
0:18 Branch: Return with expression
0:18 'psout' (temp structure{temp 4-component vector of float Color})
0:12 Function Definition: main( (temp void)
0:12 Function Parameters:
0:? Sequence
0:12 Sequence
0:12 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:12 Color: direct index for structure (temp 4-component vector of float)
0:12 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:12 Constant:
0:12 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 57
// Id's are bound by 62
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 53
EntryPoint Fragment 4 "main" 59
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 11 "$Global"
MemberName 11($Global) 0 "ival"
MemberName 11($Global) 1 "ival4"
MemberName 11($Global) 2 "fval"
MemberName 11($Global) 3 "fval4"
Name 13 ""
Name 45 "PS_OUTPUT"
MemberName 45(PS_OUTPUT) 0 "Color"
Name 47 "psout"
Name 53 "Color"
MemberDecorate 11($Global) 0 Offset 0
MemberDecorate 11($Global) 1 Offset 16
MemberDecorate 11($Global) 2 Offset 32
MemberDecorate 11($Global) 3 Offset 48
Decorate 11($Global) Block
Decorate 13 DescriptorSet 0
Decorate 53(Color) Location 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
Name 10 "@main("
Name 15 "$Global"
MemberName 15($Global) 0 "ival"
MemberName 15($Global) 1 "ival4"
MemberName 15($Global) 2 "fval"
MemberName 15($Global) 3 "fval4"
Name 17 ""
Name 50 "psout"
Name 59 "Color"
MemberDecorate 15($Global) 0 Offset 0
MemberDecorate 15($Global) 1 Offset 16
MemberDecorate 15($Global) 2 Offset 32
MemberDecorate 15($Global) 3 Offset 48
Decorate 15($Global) Block
Decorate 17 DescriptorSet 0
Decorate 59(Color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeBool
7: TypeInt 32 1
8: TypeVector 7(int) 4
9: TypeFloat 32
10: TypeVector 9(float) 4
11($Global): TypeStruct 7(int) 8(ivec4) 9(float) 10(fvec4)
12: TypePointer Uniform 11($Global)
13: 12(ptr) Variable Uniform
14: 7(int) Constant 0
15: TypePointer Uniform 7(int)
18: TypeInt 32 0
19: 18(int) Constant 0
23: 7(int) Constant 2
24: TypePointer Uniform 9(float)
45(PS_OUTPUT): TypeStruct 10(fvec4)
46: TypePointer Function 45(PS_OUTPUT)
48: 9(float) Constant 1065353216
49: 10(fvec4) ConstantComposite 48 48 48 48
50: TypePointer Function 10(fvec4)
52: TypePointer Output 10(fvec4)
53(Color): 52(ptr) Variable Output
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypeBool
13: TypeInt 32 1
14: TypeVector 13(int) 4
15($Global): TypeStruct 13(int) 14(ivec4) 6(float) 7(fvec4)
16: TypePointer Uniform 15($Global)
17: 16(ptr) Variable Uniform
18: 13(int) Constant 0
19: TypePointer Uniform 13(int)
22: TypeInt 32 0
23: 22(int) Constant 0
27: 13(int) Constant 2
28: TypePointer Uniform 6(float)
49: TypePointer Function 8(PS_OUTPUT)
51: 6(float) Constant 1065353216
52: 7(fvec4) ConstantComposite 51 51 51 51
53: TypePointer Function 7(fvec4)
58: TypePointer Output 7(fvec4)
59(Color): 58(ptr) Variable Output
4(main): 2 Function None 3
5: Label
47(psout): 46(ptr) Variable Function
16: 15(ptr) AccessChain 13 14
17: 7(int) Load 16
20: 6(bool) INotEqual 17 19
SelectionMerge 22 None
BranchConditional 20 21 22
21: Label
25: 24(ptr) AccessChain 13 23
26: 9(float) Load 25
27: 7(int) ConvertFToS 26
28: 6(bool) INotEqual 27 19
Branch 22
22: Label
29: 6(bool) Phi 20 5 28 21
SelectionMerge 31 None
BranchConditional 29 30 31
30: Label
Branch 31
31: Label
32: 15(ptr) AccessChain 13 14
33: 7(int) Load 32
34: 6(bool) INotEqual 33 19
35: 6(bool) LogicalNot 34
SelectionMerge 37 None
BranchConditional 35 36 37
36: Label
38: 24(ptr) AccessChain 13 23
39: 9(float) Load 38
40: 7(int) ConvertFToS 39
41: 6(bool) INotEqual 40 19
Branch 37
37: Label
42: 6(bool) Phi 34 31 41 36
SelectionMerge 44 None
BranchConditional 42 43 44
43: Label
Branch 44
44: Label
51: 50(ptr) AccessChain 47(psout) 14
Store 51 49
54: 50(ptr) AccessChain 47(psout) 14
55: 10(fvec4) Load 54
Store 53(Color) 55
60:8(PS_OUTPUT) FunctionCall 10(@main()
61: 7(fvec4) CompositeExtract 60 0
Store 59(Color) 61
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
50(psout): 49(ptr) Variable Function
20: 19(ptr) AccessChain 17 18
21: 13(int) Load 20
24: 12(bool) INotEqual 21 23
SelectionMerge 26 None
BranchConditional 24 25 26
25: Label
29: 28(ptr) AccessChain 17 27
30: 6(float) Load 29
31: 13(int) ConvertFToS 30
32: 12(bool) INotEqual 31 23
Branch 26
26: Label
33: 12(bool) Phi 24 11 32 25
SelectionMerge 35 None
BranchConditional 33 34 35
34: Label
Branch 35
35: Label
36: 19(ptr) AccessChain 17 18
37: 13(int) Load 36
38: 12(bool) INotEqual 37 23
39: 12(bool) LogicalNot 38
SelectionMerge 41 None
BranchConditional 39 40 41
40: Label
42: 28(ptr) AccessChain 17 27
43: 6(float) Load 42
44: 13(int) ConvertFToS 43
45: 12(bool) INotEqual 44 23
Branch 41
41: Label
46: 12(bool) Phi 38 35 45 40
SelectionMerge 48 None
BranchConditional 46 47 48
47: Label
Branch 48
48: Label
54: 53(ptr) AccessChain 50(psout) 18
Store 54 52
55:8(PS_OUTPUT) Load 50(psout)
ReturnValue 55
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.logical.binary.vec.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:10 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:10 Function Parameters:
0:? Sequence
0:11 Sequence
@ -108,15 +108,18 @@ gl_FragCoord origin is upper left
0:22 'r11' (temp 4-component vector of bool)
0:22 'r20' (temp 4-component vector of bool)
0:22 'r21' (temp 4-component vector of bool)
0:23 Sequence
0:23 Sequence
0:23 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:23 Color: direct index for structure (temp 4-component vector of float)
0:23 'psout' (temp structure{temp 4-component vector of float Color})
0:23 Constant:
0:23 0 (const int)
0:23 Branch: Return
0:23 Branch: Return with expression
0:23 'psout' (temp structure{temp 4-component vector of float Color})
0:10 Function Definition: main( (temp void)
0:10 Function Parameters:
0:? Sequence
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:10 Color: direct index for structure (temp 4-component vector of float)
0:10 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:10 Constant:
0:10 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
@ -128,7 +131,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:10 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:10 Function Parameters:
0:? Sequence
0:11 Sequence
@ -234,179 +237,189 @@ gl_FragCoord origin is upper left
0:22 'r11' (temp 4-component vector of bool)
0:22 'r20' (temp 4-component vector of bool)
0:22 'r21' (temp 4-component vector of bool)
0:23 Sequence
0:23 Sequence
0:23 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:23 Color: direct index for structure (temp 4-component vector of float)
0:23 'psout' (temp structure{temp 4-component vector of float Color})
0:23 Constant:
0:23 0 (const int)
0:23 Branch: Return
0:23 Branch: Return with expression
0:23 'psout' (temp structure{temp 4-component vector of float Color})
0:10 Function Definition: main( (temp void)
0:10 Function Parameters:
0:? Sequence
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:10 Color: direct index for structure (temp 4-component vector of float)
0:10 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:10 Constant:
0:10 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 115
// Id's are bound by 120
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 111
EntryPoint Fragment 4 "main" 117
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "r00"
Name 12 "$Global"
MemberName 12($Global) 0 "b4a"
MemberName 12($Global) 1 "b4b"
MemberName 12($Global) 2 "b1a"
MemberName 12($Global) 3 "b1b"
Name 14 ""
Name 24 "r01"
Name 33 "r02"
Name 41 "r10"
Name 52 "r11"
Name 61 "r20"
Name 73 "r21"
Name 87 "PS_OUTPUT"
MemberName 87(PS_OUTPUT) 0 "Color"
Name 89 "psout"
Name 111 "Color"
MemberDecorate 12($Global) 0 Offset 0
MemberDecorate 12($Global) 1 Offset 16
MemberDecorate 12($Global) 2 Offset 32
MemberDecorate 12($Global) 3 Offset 36
Decorate 12($Global) Block
Decorate 14 DescriptorSet 0
Decorate 111(Color) Location 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
Name 10 "@main("
Name 15 "r00"
Name 18 "$Global"
MemberName 18($Global) 0 "b4a"
MemberName 18($Global) 1 "b4b"
MemberName 18($Global) 2 "b1a"
MemberName 18($Global) 3 "b1b"
Name 20 ""
Name 30 "r01"
Name 39 "r02"
Name 47 "r10"
Name 58 "r11"
Name 67 "r20"
Name 79 "r21"
Name 92 "psout"
Name 117 "Color"
MemberDecorate 18($Global) 0 Offset 0
MemberDecorate 18($Global) 1 Offset 16
MemberDecorate 18($Global) 2 Offset 32
MemberDecorate 18($Global) 3 Offset 36
Decorate 18($Global) Block
Decorate 20 DescriptorSet 0
Decorate 117(Color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeBool
7: TypeVector 6(bool) 4
8: TypePointer Function 7(bvec4)
10: TypeInt 32 0
11: TypeVector 10(int) 4
12($Global): TypeStruct 11(ivec4) 11(ivec4) 10(int) 10(int)
13: TypePointer Uniform 12($Global)
14: 13(ptr) Variable Uniform
15: TypeInt 32 1
16: 15(int) Constant 0
17: TypePointer Uniform 11(ivec4)
20: 10(int) Constant 0
21: 11(ivec4) ConstantComposite 20 20 20 20
28: 15(int) Constant 1
42: 15(int) Constant 2
43: TypePointer Uniform 10(int)
67: 15(int) Constant 3
85: TypeFloat 32
86: TypeVector 85(float) 4
87(PS_OUTPUT): TypeStruct 86(fvec4)
88: TypePointer Function 87(PS_OUTPUT)
103: 85(float) Constant 0
104: 85(float) Constant 1065353216
105: 86(fvec4) ConstantComposite 103 103 103 103
106: 86(fvec4) ConstantComposite 104 104 104 104
108: TypePointer Function 86(fvec4)
110: TypePointer Output 86(fvec4)
111(Color): 110(ptr) Variable Output
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypeBool
13: TypeVector 12(bool) 4
14: TypePointer Function 13(bvec4)
16: TypeInt 32 0
17: TypeVector 16(int) 4
18($Global): TypeStruct 17(ivec4) 17(ivec4) 16(int) 16(int)
19: TypePointer Uniform 18($Global)
20: 19(ptr) Variable Uniform
21: TypeInt 32 1
22: 21(int) Constant 0
23: TypePointer Uniform 17(ivec4)
26: 16(int) Constant 0
27: 17(ivec4) ConstantComposite 26 26 26 26
34: 21(int) Constant 1
48: 21(int) Constant 2
49: TypePointer Uniform 16(int)
73: 21(int) Constant 3
91: TypePointer Function 8(PS_OUTPUT)
106: 6(float) Constant 0
107: 6(float) Constant 1065353216
108: 7(fvec4) ConstantComposite 106 106 106 106
109: 7(fvec4) ConstantComposite 107 107 107 107
111: TypePointer Function 7(fvec4)
116: TypePointer Output 7(fvec4)
117(Color): 116(ptr) Variable Output
4(main): 2 Function None 3
5: Label
9(r00): 8(ptr) Variable Function
24(r01): 8(ptr) Variable Function
33(r02): 8(ptr) Variable Function
41(r10): 8(ptr) Variable Function
52(r11): 8(ptr) Variable Function
61(r20): 8(ptr) Variable Function
73(r21): 8(ptr) Variable Function
89(psout): 88(ptr) Variable Function
18: 17(ptr) AccessChain 14 16
19: 11(ivec4) Load 18
22: 7(bvec4) INotEqual 19 21
23: 7(bvec4) LogicalNot 22
Store 9(r00) 23
25: 17(ptr) AccessChain 14 16
26: 11(ivec4) Load 25
27: 7(bvec4) INotEqual 26 21
29: 17(ptr) AccessChain 14 28
30: 11(ivec4) Load 29
31: 7(bvec4) INotEqual 30 21
32: 7(bvec4) LogicalAnd 27 31
Store 24(r01) 32
34: 17(ptr) AccessChain 14 16
35: 11(ivec4) Load 34
36: 7(bvec4) INotEqual 35 21
37: 17(ptr) AccessChain 14 28
38: 11(ivec4) Load 37
39: 7(bvec4) INotEqual 38 21
40: 7(bvec4) LogicalOr 36 39
Store 33(r02) 40
44: 43(ptr) AccessChain 14 42
45: 10(int) Load 44
46: 6(bool) INotEqual 45 20
47: 7(bvec4) CompositeConstruct 46 46 46 46
48: 17(ptr) AccessChain 14 28
49: 11(ivec4) Load 48
50: 7(bvec4) INotEqual 49 21
51: 7(bvec4) LogicalAnd 47 50
Store 41(r10) 51
53: 43(ptr) AccessChain 14 42
54: 10(int) Load 53
55: 6(bool) INotEqual 54 20
56: 7(bvec4) CompositeConstruct 55 55 55 55
57: 17(ptr) AccessChain 14 28
58: 11(ivec4) Load 57
59: 7(bvec4) INotEqual 58 21
60: 7(bvec4) LogicalOr 56 59
Store 52(r11) 60
62: 17(ptr) AccessChain 14 16
63: 11(ivec4) Load 62
64: 7(bvec4) INotEqual 63 21
SelectionMerge 66 None
BranchConditional 64 65 66
65: Label
68: 43(ptr) AccessChain 14 67
69: 10(int) Load 68
70: 6(bool) INotEqual 69 20
71: 7(bvec4) CompositeConstruct 70 70 70 70
Branch 66
66: Label
72: 6(bool) Phi 64 5 71 65
Store 61(r20) 72
74: 17(ptr) AccessChain 14 16
75: 11(ivec4) Load 74
76: 7(bvec4) INotEqual 75 21
77: 6(bool) LogicalNot 76
SelectionMerge 79 None
BranchConditional 77 78 79
78: Label
80: 43(ptr) AccessChain 14 67
81: 10(int) Load 80
82: 6(bool) INotEqual 81 20
83: 7(bvec4) CompositeConstruct 82 82 82 82
Branch 79
79: Label
84: 6(bool) Phi 76 66 83 78
Store 73(r21) 84
90: 7(bvec4) Load 9(r00)
91: 7(bvec4) Load 24(r01)
92: 7(bvec4) LogicalOr 90 91
93: 7(bvec4) Load 33(r02)
94: 7(bvec4) LogicalOr 92 93
95: 7(bvec4) Load 41(r10)
96: 7(bvec4) LogicalOr 94 95
97: 7(bvec4) Load 52(r11)
98: 7(bvec4) LogicalOr 96 97
99: 7(bvec4) Load 61(r20)
100: 7(bvec4) LogicalOr 98 99
101: 7(bvec4) Load 73(r21)
102: 7(bvec4) LogicalOr 100 101
107: 86(fvec4) Select 102 106 105
109: 108(ptr) AccessChain 89(psout) 16
Store 109 107
112: 108(ptr) AccessChain 89(psout) 16
113: 86(fvec4) Load 112
Store 111(Color) 113
118:8(PS_OUTPUT) FunctionCall 10(@main()
119: 7(fvec4) CompositeExtract 118 0
Store 117(Color) 119
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
15(r00): 14(ptr) Variable Function
30(r01): 14(ptr) Variable Function
39(r02): 14(ptr) Variable Function
47(r10): 14(ptr) Variable Function
58(r11): 14(ptr) Variable Function
67(r20): 14(ptr) Variable Function
79(r21): 14(ptr) Variable Function
92(psout): 91(ptr) Variable Function
24: 23(ptr) AccessChain 20 22
25: 17(ivec4) Load 24
28: 13(bvec4) INotEqual 25 27
29: 13(bvec4) LogicalNot 28
Store 15(r00) 29
31: 23(ptr) AccessChain 20 22
32: 17(ivec4) Load 31
33: 13(bvec4) INotEqual 32 27
35: 23(ptr) AccessChain 20 34
36: 17(ivec4) Load 35
37: 13(bvec4) INotEqual 36 27
38: 13(bvec4) LogicalAnd 33 37
Store 30(r01) 38
40: 23(ptr) AccessChain 20 22
41: 17(ivec4) Load 40
42: 13(bvec4) INotEqual 41 27
43: 23(ptr) AccessChain 20 34
44: 17(ivec4) Load 43
45: 13(bvec4) INotEqual 44 27
46: 13(bvec4) LogicalOr 42 45
Store 39(r02) 46
50: 49(ptr) AccessChain 20 48
51: 16(int) Load 50
52: 12(bool) INotEqual 51 26
53: 13(bvec4) CompositeConstruct 52 52 52 52
54: 23(ptr) AccessChain 20 34
55: 17(ivec4) Load 54
56: 13(bvec4) INotEqual 55 27
57: 13(bvec4) LogicalAnd 53 56
Store 47(r10) 57
59: 49(ptr) AccessChain 20 48
60: 16(int) Load 59
61: 12(bool) INotEqual 60 26
62: 13(bvec4) CompositeConstruct 61 61 61 61
63: 23(ptr) AccessChain 20 34
64: 17(ivec4) Load 63
65: 13(bvec4) INotEqual 64 27
66: 13(bvec4) LogicalOr 62 65
Store 58(r11) 66
68: 23(ptr) AccessChain 20 22
69: 17(ivec4) Load 68
70: 13(bvec4) INotEqual 69 27
SelectionMerge 72 None
BranchConditional 70 71 72
71: Label
74: 49(ptr) AccessChain 20 73
75: 16(int) Load 74
76: 12(bool) INotEqual 75 26
77: 13(bvec4) CompositeConstruct 76 76 76 76
Branch 72
72: Label
78: 12(bool) Phi 70 11 77 71
Store 67(r20) 78
80: 23(ptr) AccessChain 20 22
81: 17(ivec4) Load 80
82: 13(bvec4) INotEqual 81 27
83: 12(bool) LogicalNot 82
SelectionMerge 85 None
BranchConditional 83 84 85
84: Label
86: 49(ptr) AccessChain 20 73
87: 16(int) Load 86
88: 12(bool) INotEqual 87 26
89: 13(bvec4) CompositeConstruct 88 88 88 88
Branch 85
85: Label
90: 12(bool) Phi 82 72 89 84
Store 79(r21) 90
93: 13(bvec4) Load 15(r00)
94: 13(bvec4) Load 30(r01)
95: 13(bvec4) LogicalOr 93 94
96: 13(bvec4) Load 39(r02)
97: 13(bvec4) LogicalOr 95 96
98: 13(bvec4) Load 47(r10)
99: 13(bvec4) LogicalOr 97 98
100: 13(bvec4) Load 58(r11)
101: 13(bvec4) LogicalOr 99 100
102: 13(bvec4) Load 67(r20)
103: 13(bvec4) LogicalOr 101 102
104: 13(bvec4) Load 79(r21)
105: 13(bvec4) LogicalOr 103 104
110: 7(fvec4) Select 105 109 108
112: 111(ptr) AccessChain 92(psout) 22
Store 112 110
113:8(PS_OUTPUT) Load 92(psout)
ReturnValue 113
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.logical.unary.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:12 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:12 Function Parameters:
0:? Sequence
0:13 Negate conditional (temp bool)
@ -71,15 +71,18 @@ gl_FragCoord origin is upper left
0:25 1.000000
0:25 1.000000
0:25 1.000000
0:26 Sequence
0:26 Sequence
0:26 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:26 Color: direct index for structure (temp 4-component vector of float)
0:26 'psout' (temp structure{temp 4-component vector of float Color})
0:26 Constant:
0:26 0 (const int)
0:26 Branch: Return
0:26 Branch: Return with expression
0:26 'psout' (temp structure{temp 4-component vector of float Color})
0:12 Function Definition: main( (temp void)
0:12 Function Parameters:
0:? Sequence
0:12 Sequence
0:12 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:12 Color: direct index for structure (temp 4-component vector of float)
0:12 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:12 Constant:
0:12 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
@ -91,7 +94,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:12 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:12 Function Parameters:
0:? Sequence
0:13 Negate conditional (temp bool)
@ -160,133 +163,143 @@ gl_FragCoord origin is upper left
0:25 1.000000
0:25 1.000000
0:25 1.000000
0:26 Sequence
0:26 Sequence
0:26 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:26 Color: direct index for structure (temp 4-component vector of float)
0:26 'psout' (temp structure{temp 4-component vector of float Color})
0:26 Constant:
0:26 0 (const int)
0:26 Branch: Return
0:26 Branch: Return with expression
0:26 'psout' (temp structure{temp 4-component vector of float Color})
0:12 Function Definition: main( (temp void)
0:12 Function Parameters:
0:? Sequence
0:12 Sequence
0:12 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:12 Color: direct index for structure (temp 4-component vector of float)
0:12 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:12 Constant:
0:12 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 77
// Id's are bound by 82
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 73
EntryPoint Fragment 4 "main" 79
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 10 "$Global"
MemberName 10($Global) 0 "ival"
MemberName 10($Global) 1 "ival4"
MemberName 10($Global) 2 "fval"
MemberName 10($Global) 3 "fval4"
Name 12 ""
Name 65 "PS_OUTPUT"
MemberName 65(PS_OUTPUT) 0 "Color"
Name 67 "psout"
Name 73 "Color"
MemberDecorate 10($Global) 0 Offset 0
MemberDecorate 10($Global) 1 Offset 16
MemberDecorate 10($Global) 2 Offset 32
MemberDecorate 10($Global) 3 Offset 48
Decorate 10($Global) Block
Decorate 12 DescriptorSet 0
Decorate 73(Color) Location 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
Name 10 "@main("
Name 14 "$Global"
MemberName 14($Global) 0 "ival"
MemberName 14($Global) 1 "ival4"
MemberName 14($Global) 2 "fval"
MemberName 14($Global) 3 "fval4"
Name 16 ""
Name 70 "psout"
Name 79 "Color"
MemberDecorate 14($Global) 0 Offset 0
MemberDecorate 14($Global) 1 Offset 16
MemberDecorate 14($Global) 2 Offset 32
MemberDecorate 14($Global) 3 Offset 48
Decorate 14($Global) Block
Decorate 16 DescriptorSet 0
Decorate 79(Color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypeVector 6(int) 4
8: TypeFloat 32
9: TypeVector 8(float) 4
10($Global): TypeStruct 6(int) 7(ivec4) 8(float) 9(fvec4)
11: TypePointer Uniform 10($Global)
12: 11(ptr) Variable Uniform
13: 6(int) Constant 0
14: TypePointer Uniform 6(int)
17: TypeBool
18: TypeInt 32 0
19: 18(int) Constant 0
22: 6(int) Constant 1
23: TypePointer Uniform 7(ivec4)
26: TypeVector 17(bool) 4
27: TypeVector 18(int) 4
28: 27(ivec4) ConstantComposite 19 19 19 19
31: 6(int) Constant 2
32: TypePointer Uniform 8(float)
35: 8(float) Constant 0
38: 6(int) Constant 3
39: TypePointer Uniform 9(fvec4)
42: 9(fvec4) ConstantComposite 35 35 35 35
65(PS_OUTPUT): TypeStruct 9(fvec4)
66: TypePointer Function 65(PS_OUTPUT)
68: 8(float) Constant 1065353216
69: 9(fvec4) ConstantComposite 68 68 68 68
70: TypePointer Function 9(fvec4)
72: TypePointer Output 9(fvec4)
73(Color): 72(ptr) Variable Output
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypeInt 32 1
13: TypeVector 12(int) 4
14($Global): TypeStruct 12(int) 13(ivec4) 6(float) 7(fvec4)
15: TypePointer Uniform 14($Global)
16: 15(ptr) Variable Uniform
17: 12(int) Constant 0
18: TypePointer Uniform 12(int)
21: TypeBool
22: TypeInt 32 0
23: 22(int) Constant 0
26: 12(int) Constant 1
27: TypePointer Uniform 13(ivec4)
30: TypeVector 21(bool) 4
31: TypeVector 22(int) 4
32: 31(ivec4) ConstantComposite 23 23 23 23
35: 12(int) Constant 2
36: TypePointer Uniform 6(float)
39: 6(float) Constant 0
42: 12(int) Constant 3
43: TypePointer Uniform 7(fvec4)
46: 7(fvec4) ConstantComposite 39 39 39 39
69: TypePointer Function 8(PS_OUTPUT)
71: 6(float) Constant 1065353216
72: 7(fvec4) ConstantComposite 71 71 71 71
73: TypePointer Function 7(fvec4)
78: TypePointer Output 7(fvec4)
79(Color): 78(ptr) Variable Output
4(main): 2 Function None 3
5: Label
67(psout): 66(ptr) Variable Function
15: 14(ptr) AccessChain 12 13
16: 6(int) Load 15
20: 17(bool) INotEqual 16 19
21: 17(bool) LogicalNot 20
24: 23(ptr) AccessChain 12 22
25: 7(ivec4) Load 24
29: 26(bvec4) INotEqual 25 28
30: 26(bvec4) LogicalNot 29
33: 32(ptr) AccessChain 12 31
34: 8(float) Load 33
36: 17(bool) FOrdNotEqual 34 35
37: 17(bool) LogicalNot 36
40: 39(ptr) AccessChain 12 38
41: 9(fvec4) Load 40
43: 26(bvec4) FOrdNotEqual 41 42
44: 26(bvec4) LogicalNot 43
45: 14(ptr) AccessChain 12 13
46: 6(int) Load 45
SelectionMerge 48 None
BranchConditional 46 47 48
47: Label
Branch 48
48: Label
49: 32(ptr) AccessChain 12 31
50: 8(float) Load 49
80:8(PS_OUTPUT) FunctionCall 10(@main()
81: 7(fvec4) CompositeExtract 80 0
Store 79(Color) 81
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
70(psout): 69(ptr) Variable Function
19: 18(ptr) AccessChain 16 17
20: 12(int) Load 19
24: 21(bool) INotEqual 20 23
25: 21(bool) LogicalNot 24
28: 27(ptr) AccessChain 16 26
29: 13(ivec4) Load 28
33: 30(bvec4) INotEqual 29 32
34: 30(bvec4) LogicalNot 33
37: 36(ptr) AccessChain 16 35
38: 6(float) Load 37
40: 21(bool) FOrdNotEqual 38 39
41: 21(bool) LogicalNot 40
44: 43(ptr) AccessChain 16 42
45: 7(fvec4) Load 44
47: 30(bvec4) FOrdNotEqual 45 46
48: 30(bvec4) LogicalNot 47
49: 18(ptr) AccessChain 16 17
50: 12(int) Load 49
SelectionMerge 52 None
BranchConditional 50 51 52
51: Label
Branch 52
52: Label
53: 14(ptr) AccessChain 12 13
54: 6(int) Load 53
55: 17(bool) INotEqual 54 19
56: 17(bool) LogicalNot 55
SelectionMerge 58 None
BranchConditional 56 57 58
57: Label
Branch 58
58: Label
59: 32(ptr) AccessChain 12 31
60: 8(float) Load 59
61: 17(bool) FOrdNotEqual 60 35
62: 17(bool) LogicalNot 61
SelectionMerge 64 None
BranchConditional 62 63 64
63: Label
Branch 64
64: Label
71: 70(ptr) AccessChain 67(psout) 13
Store 71 69
74: 70(ptr) AccessChain 67(psout) 13
75: 9(fvec4) Load 74
Store 73(Color) 75
Return
53: 36(ptr) AccessChain 16 35
54: 6(float) Load 53
SelectionMerge 56 None
BranchConditional 54 55 56
55: Label
Branch 56
56: Label
57: 18(ptr) AccessChain 16 17
58: 12(int) Load 57
59: 21(bool) INotEqual 58 23
60: 21(bool) LogicalNot 59
SelectionMerge 62 None
BranchConditional 60 61 62
61: Label
Branch 62
62: Label
63: 36(ptr) AccessChain 16 35
64: 6(float) Load 63
65: 21(bool) FOrdNotEqual 64 39
66: 21(bool) LogicalNot 65
SelectionMerge 68 None
BranchConditional 66 67 68
67: Label
Branch 68
68: Label
74: 73(ptr) AccessChain 70(psout) 17
Store 74 72
75:8(PS_OUTPUT) Load 70(psout)
ReturnValue 75
FunctionEnd

View File

@ -45,7 +45,7 @@ gl_FragCoord origin is upper left
0:21 'r13' (temp 4X1 matrix of float)
0:21 transpose (temp 4X1 matrix of float)
0:21 'f1x4' (temp 1X4 matrix of float)
0:27 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:27 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:27 Function Parameters:
0:? Sequence
0:29 move second child to first child (temp 4-component vector of float)
@ -58,15 +58,18 @@ gl_FragCoord origin is upper left
0:29 1.000000
0:29 1.000000
0:29 1.000000
0:30 Sequence
0:30 Sequence
0:30 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:30 color: direct index for structure (temp 4-component vector of float)
0:30 'ps_output' (temp structure{temp 4-component vector of float color})
0:30 Constant:
0:30 0 (const int)
0:30 Branch: Return
0:30 Branch: Return with expression
0:30 'ps_output' (temp structure{temp 4-component vector of float color})
0:27 Function Definition: main( (temp void)
0:27 Function Parameters:
0:? Sequence
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:27 color: direct index for structure (temp 4-component vector of float)
0:27 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:27 Constant:
0:27 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
@ -120,7 +123,7 @@ gl_FragCoord origin is upper left
0:21 'r13' (temp 4X1 matrix of float)
0:21 transpose (temp 4X1 matrix of float)
0:21 'f1x4' (temp 1X4 matrix of float)
0:27 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:27 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:27 Function Parameters:
0:? Sequence
0:29 move second child to first child (temp 4-component vector of float)
@ -133,129 +136,139 @@ gl_FragCoord origin is upper left
0:29 1.000000
0:29 1.000000
0:29 1.000000
0:30 Sequence
0:30 Sequence
0:30 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:30 color: direct index for structure (temp 4-component vector of float)
0:30 'ps_output' (temp structure{temp 4-component vector of float color})
0:30 Constant:
0:30 0 (const int)
0:30 Branch: Return
0:30 Branch: Return with expression
0:30 'ps_output' (temp structure{temp 4-component vector of float color})
0:27 Function Definition: main( (temp void)
0:27 Function Parameters:
0:? Sequence
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:27 color: direct index for structure (temp 4-component vector of float)
0:27 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:27 Constant:
0:27 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 72
// Id's are bound by 77
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 68
EntryPoint Fragment 4 "main" 74
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 6 "TestMatNx1("
Name 12 "r00"
Name 13 "f1x1"
Name 19 "r01"
Name 22 "f2x1"
Name 28 "r02"
Name 31 "f3x1"
Name 37 "r03"
Name 40 "f4x1"
Name 43 "r10"
Name 46 "r11"
Name 47 "f1x2"
Name 50 "r12"
Name 51 "f1x3"
Name 54 "r13"
Name 55 "f1x4"
Name 58 "PS_OUTPUT"
MemberName 58(PS_OUTPUT) 0 "color"
Name 60 "ps_output"
Name 68 "color"
Decorate 68(color) Location 0
Name 10 "PS_OUTPUT"
MemberName 10(PS_OUTPUT) 0 "color"
Name 12 "@main("
Name 17 "r00"
Name 18 "f1x1"
Name 24 "r01"
Name 27 "f2x1"
Name 33 "r02"
Name 36 "f3x1"
Name 41 "r03"
Name 44 "f4x1"
Name 47 "r10"
Name 50 "r11"
Name 51 "f1x2"
Name 54 "r12"
Name 55 "f1x3"
Name 58 "r13"
Name 59 "f1x4"
Name 63 "ps_output"
Name 74 "color"
Decorate 74(color) Location 0
2: TypeVoid
3: TypeFunction 2
8: TypeFloat 32
9: TypeVector 8(float) 1
10: TypeMatrix 9(fvec) 1
11: TypePointer Function 10
16: TypeVector 8(float) 2
17: TypeMatrix 16(fvec2) 1
18: TypePointer Function 17
20: TypeMatrix 9(fvec) 2
21: TypePointer Function 20
25: TypeVector 8(float) 3
26: TypeMatrix 25(fvec3) 1
27: TypePointer Function 26
29: TypeMatrix 9(fvec) 3
30: TypePointer Function 29
34: TypeVector 8(float) 4
35: TypeMatrix 34(fvec4) 1
36: TypePointer Function 35
38: TypeMatrix 9(fvec) 4
39: TypePointer Function 38
58(PS_OUTPUT): TypeStruct 34(fvec4)
59: TypePointer Function 58(PS_OUTPUT)
61: TypeInt 32 1
62: 61(int) Constant 0
63: 8(float) Constant 1065353216
64: 34(fvec4) ConstantComposite 63 63 63 63
65: TypePointer Function 34(fvec4)
67: TypePointer Output 34(fvec4)
68(color): 67(ptr) Variable Output
9: TypeVector 8(float) 4
10(PS_OUTPUT): TypeStruct 9(fvec4)
11: TypeFunction 10(PS_OUTPUT)
14: TypeVector 8(float) 1
15: TypeMatrix 14(fvec) 1
16: TypePointer Function 15
21: TypeVector 8(float) 2
22: TypeMatrix 21(fvec2) 1
23: TypePointer Function 22
25: TypeMatrix 14(fvec) 2
26: TypePointer Function 25
30: TypeVector 8(float) 3
31: TypeMatrix 30(fvec3) 1
32: TypePointer Function 31
34: TypeMatrix 14(fvec) 3
35: TypePointer Function 34
39: TypeMatrix 9(fvec4) 1
40: TypePointer Function 39
42: TypeMatrix 14(fvec) 4
43: TypePointer Function 42
62: TypePointer Function 10(PS_OUTPUT)
64: TypeInt 32 1
65: 64(int) Constant 0
66: 8(float) Constant 1065353216
67: 9(fvec4) ConstantComposite 66 66 66 66
68: TypePointer Function 9(fvec4)
73: TypePointer Output 9(fvec4)
74(color): 73(ptr) Variable Output
4(main): 2 Function None 3
5: Label
60(ps_output): 59(ptr) Variable Function
66: 65(ptr) AccessChain 60(ps_output) 62
Store 66 64
69: 65(ptr) AccessChain 60(ps_output) 62
70: 34(fvec4) Load 69
Store 68(color) 70
75:10(PS_OUTPUT) FunctionCall 12(@main()
76: 9(fvec4) CompositeExtract 75 0
Store 74(color) 76
Return
FunctionEnd
6(TestMatNx1(): 2 Function None 3
7: Label
12(r00): 11(ptr) Variable Function
13(f1x1): 11(ptr) Variable Function
19(r01): 18(ptr) Variable Function
22(f2x1): 21(ptr) Variable Function
28(r02): 27(ptr) Variable Function
31(f3x1): 30(ptr) Variable Function
37(r03): 36(ptr) Variable Function
40(f4x1): 39(ptr) Variable Function
43(r10): 11(ptr) Variable Function
46(r11): 21(ptr) Variable Function
47(f1x2): 18(ptr) Variable Function
50(r12): 30(ptr) Variable Function
51(f1x3): 27(ptr) Variable Function
54(r13): 39(ptr) Variable Function
55(f1x4): 36(ptr) Variable Function
14: 10 Load 13(f1x1)
15: 10 Transpose 14
Store 12(r00) 15
23: 20 Load 22(f2x1)
24: 17 Transpose 23
Store 19(r01) 24
32: 29 Load 31(f3x1)
33: 26 Transpose 32
Store 28(r02) 33
41: 38 Load 40(f4x1)
42: 35 Transpose 41
Store 37(r03) 42
44: 10 Load 13(f1x1)
45: 10 Transpose 44
Store 43(r10) 45
48: 17 Load 47(f1x2)
49: 20 Transpose 48
Store 46(r11) 49
52: 26 Load 51(f1x3)
53: 29 Transpose 52
Store 50(r12) 53
56: 35 Load 55(f1x4)
57: 38 Transpose 56
Store 54(r13) 57
17(r00): 16(ptr) Variable Function
18(f1x1): 16(ptr) Variable Function
24(r01): 23(ptr) Variable Function
27(f2x1): 26(ptr) Variable Function
33(r02): 32(ptr) Variable Function
36(f3x1): 35(ptr) Variable Function
41(r03): 40(ptr) Variable Function
44(f4x1): 43(ptr) Variable Function
47(r10): 16(ptr) Variable Function
50(r11): 26(ptr) Variable Function
51(f1x2): 23(ptr) Variable Function
54(r12): 35(ptr) Variable Function
55(f1x3): 32(ptr) Variable Function
58(r13): 43(ptr) Variable Function
59(f1x4): 40(ptr) Variable Function
19: 15 Load 18(f1x1)
20: 15 Transpose 19
Store 17(r00) 20
28: 25 Load 27(f2x1)
29: 22 Transpose 28
Store 24(r01) 29
37: 34 Load 36(f3x1)
38: 31 Transpose 37
Store 33(r02) 38
45: 42 Load 44(f4x1)
46: 39 Transpose 45
Store 41(r03) 46
48: 15 Load 18(f1x1)
49: 15 Transpose 48
Store 47(r10) 49
52: 22 Load 51(f1x2)
53: 25 Transpose 52
Store 50(r11) 53
56: 31 Load 55(f1x3)
57: 34 Transpose 56
Store 54(r12) 57
60: 39 Load 59(f1x4)
61: 42 Transpose 60
Store 58(r13) 61
Return
FunctionEnd
12(@main():10(PS_OUTPUT) Function None 11
13: Label
63(ps_output): 62(ptr) Variable Function
69: 68(ptr) AccessChain 63(ps_output) 65
Store 69 67
70:10(PS_OUTPUT) Load 63(ps_output)
ReturnValue 70
FunctionEnd

View File

@ -85,7 +85,7 @@ gl_FragCoord origin is upper left
0:43 'r33' (temp 4X4 matrix of bool)
0:43 transpose (temp 4X4 matrix of bool)
0:43 'b4x4' (temp 4X4 matrix of bool)
0:49 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:49 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:49 Function Parameters:
0:? Sequence
0:51 move second child to first child (temp 4-component vector of float)
@ -98,15 +98,18 @@ gl_FragCoord origin is upper left
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:52 Sequence
0:52 Sequence
0:52 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:52 color: direct index for structure (temp 4-component vector of float)
0:52 'ps_output' (temp structure{temp 4-component vector of float color})
0:52 Constant:
0:52 0 (const int)
0:52 Branch: Return
0:52 Branch: Return with expression
0:52 'ps_output' (temp structure{temp 4-component vector of float color})
0:49 Function Definition: main( (temp void)
0:49 Function Parameters:
0:? Sequence
0:49 Sequence
0:49 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:49 color: direct index for structure (temp 4-component vector of float)
0:49 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:49 Constant:
0:49 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
@ -200,7 +203,7 @@ gl_FragCoord origin is upper left
0:43 'r33' (temp 4X4 matrix of bool)
0:43 transpose (temp 4X4 matrix of bool)
0:43 'b4x4' (temp 4X4 matrix of bool)
0:49 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:49 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:49 Function Parameters:
0:? Sequence
0:51 move second child to first child (temp 4-component vector of float)
@ -213,207 +216,217 @@ gl_FragCoord origin is upper left
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:52 Sequence
0:52 Sequence
0:52 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:52 color: direct index for structure (temp 4-component vector of float)
0:52 'ps_output' (temp structure{temp 4-component vector of float color})
0:52 Constant:
0:52 0 (const int)
0:52 Branch: Return
0:52 Branch: Return with expression
0:52 'ps_output' (temp structure{temp 4-component vector of float color})
0:49 Function Definition: main( (temp void)
0:49 Function Parameters:
0:? Sequence
0:49 Sequence
0:49 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:49 color: direct index for structure (temp 4-component vector of float)
0:49 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:49 Constant:
0:49 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 125
// Id's are bound by 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 121
EntryPoint Fragment 4 "main" 127
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 6 "TestBoolMatTypes("
Name 12 "r00"
Name 13 "b1x1"
Name 19 "r01"
Name 22 "b2x1"
Name 28 "r02"
Name 31 "b3x1"
Name 37 "r03"
Name 40 "b4x1"
Name 43 "r10"
Name 44 "b1x2"
Name 49 "r11"
Name 50 "b2x2"
Name 55 "r12"
Name 58 "b3x2"
Name 63 "r13"
Name 66 "b4x2"
Name 69 "r20"
Name 70 "b1x3"
Name 73 "r21"
Name 74 "b2x3"
Name 79 "r22"
Name 80 "b3x3"
Name 85 "r23"
Name 88 "b4x3"
Name 91 "r30"
Name 92 "b1x4"
Name 95 "r31"
Name 96 "b2x4"
Name 99 "r32"
Name 100 "b3x4"
Name 105 "r33"
Name 106 "b4x4"
Name 111 "PS_OUTPUT"
MemberName 111(PS_OUTPUT) 0 "color"
Name 113 "ps_output"
Name 121 "color"
Decorate 121(color) Location 0
Name 10 "PS_OUTPUT"
MemberName 10(PS_OUTPUT) 0 "color"
Name 12 "@main("
Name 18 "r00"
Name 19 "b1x1"
Name 25 "r01"
Name 28 "b2x1"
Name 34 "r02"
Name 37 "b3x1"
Name 43 "r03"
Name 46 "b4x1"
Name 49 "r10"
Name 50 "b1x2"
Name 55 "r11"
Name 56 "b2x2"
Name 61 "r12"
Name 64 "b3x2"
Name 69 "r13"
Name 72 "b4x2"
Name 75 "r20"
Name 76 "b1x3"
Name 79 "r21"
Name 80 "b2x3"
Name 85 "r22"
Name 86 "b3x3"
Name 91 "r23"
Name 94 "b4x3"
Name 97 "r30"
Name 98 "b1x4"
Name 101 "r31"
Name 102 "b2x4"
Name 105 "r32"
Name 106 "b3x4"
Name 111 "r33"
Name 112 "b4x4"
Name 116 "ps_output"
Name 127 "color"
Decorate 127(color) Location 0
2: TypeVoid
3: TypeFunction 2
8: TypeBool
9: TypeVector 8(bool) 1
10: TypeMatrix 9(bvec) 1
11: TypePointer Function 10
16: TypeVector 8(bool) 2
17: TypeMatrix 16(bvec2) 1
18: TypePointer Function 17
20: TypeMatrix 9(bvec) 2
21: TypePointer Function 20
25: TypeVector 8(bool) 3
26: TypeMatrix 25(bvec3) 1
8: TypeFloat 32
9: TypeVector 8(float) 4
10(PS_OUTPUT): TypeStruct 9(fvec4)
11: TypeFunction 10(PS_OUTPUT)
14: TypeBool
15: TypeVector 14(bool) 1
16: TypeMatrix 15(bvec) 1
17: TypePointer Function 16
22: TypeVector 14(bool) 2
23: TypeMatrix 22(bvec2) 1
24: TypePointer Function 23
26: TypeMatrix 15(bvec) 2
27: TypePointer Function 26
29: TypeMatrix 9(bvec) 3
30: TypePointer Function 29
34: TypeVector 8(bool) 4
35: TypeMatrix 34(bvec4) 1
31: TypeVector 14(bool) 3
32: TypeMatrix 31(bvec3) 1
33: TypePointer Function 32
35: TypeMatrix 15(bvec) 3
36: TypePointer Function 35
38: TypeMatrix 9(bvec) 4
39: TypePointer Function 38
47: TypeMatrix 16(bvec2) 2
48: TypePointer Function 47
53: TypeMatrix 25(bvec3) 2
40: TypeVector 14(bool) 4
41: TypeMatrix 40(bvec4) 1
42: TypePointer Function 41
44: TypeMatrix 15(bvec) 4
45: TypePointer Function 44
53: TypeMatrix 22(bvec2) 2
54: TypePointer Function 53
56: TypeMatrix 16(bvec2) 3
57: TypePointer Function 56
61: TypeMatrix 34(bvec4) 2
62: TypePointer Function 61
64: TypeMatrix 16(bvec2) 4
65: TypePointer Function 64
77: TypeMatrix 25(bvec3) 3
78: TypePointer Function 77
83: TypeMatrix 34(bvec4) 3
59: TypeMatrix 31(bvec3) 2
60: TypePointer Function 59
62: TypeMatrix 22(bvec2) 3
63: TypePointer Function 62
67: TypeMatrix 40(bvec4) 2
68: TypePointer Function 67
70: TypeMatrix 22(bvec2) 4
71: TypePointer Function 70
83: TypeMatrix 31(bvec3) 3
84: TypePointer Function 83
86: TypeMatrix 25(bvec3) 4
87: TypePointer Function 86
103: TypeMatrix 34(bvec4) 4
104: TypePointer Function 103
109: TypeFloat 32
110: TypeVector 109(float) 4
111(PS_OUTPUT): TypeStruct 110(fvec4)
112: TypePointer Function 111(PS_OUTPUT)
114: TypeInt 32 1
115: 114(int) Constant 0
116: 109(float) Constant 0
117: 110(fvec4) ConstantComposite 116 116 116 116
118: TypePointer Function 110(fvec4)
120: TypePointer Output 110(fvec4)
121(color): 120(ptr) Variable Output
89: TypeMatrix 40(bvec4) 3
90: TypePointer Function 89
92: TypeMatrix 31(bvec3) 4
93: TypePointer Function 92
109: TypeMatrix 40(bvec4) 4
110: TypePointer Function 109
115: TypePointer Function 10(PS_OUTPUT)
117: TypeInt 32 1
118: 117(int) Constant 0
119: 8(float) Constant 0
120: 9(fvec4) ConstantComposite 119 119 119 119
121: TypePointer Function 9(fvec4)
126: TypePointer Output 9(fvec4)
127(color): 126(ptr) Variable Output
4(main): 2 Function None 3
5: Label
113(ps_output): 112(ptr) Variable Function
119: 118(ptr) AccessChain 113(ps_output) 115
Store 119 117
122: 118(ptr) AccessChain 113(ps_output) 115
123: 110(fvec4) Load 122
Store 121(color) 123
128:10(PS_OUTPUT) FunctionCall 12(@main()
129: 9(fvec4) CompositeExtract 128 0
Store 127(color) 129
Return
FunctionEnd
6(TestBoolMatTypes(): 2 Function None 3
7: Label
12(r00): 11(ptr) Variable Function
13(b1x1): 11(ptr) Variable Function
19(r01): 18(ptr) Variable Function
22(b2x1): 21(ptr) Variable Function
28(r02): 27(ptr) Variable Function
31(b3x1): 30(ptr) Variable Function
37(r03): 36(ptr) Variable Function
40(b4x1): 39(ptr) Variable Function
43(r10): 21(ptr) Variable Function
44(b1x2): 18(ptr) Variable Function
49(r11): 48(ptr) Variable Function
50(b2x2): 48(ptr) Variable Function
55(r12): 54(ptr) Variable Function
58(b3x2): 57(ptr) Variable Function
63(r13): 62(ptr) Variable Function
66(b4x2): 65(ptr) Variable Function
69(r20): 30(ptr) Variable Function
70(b1x3): 27(ptr) Variable Function
73(r21): 57(ptr) Variable Function
74(b2x3): 54(ptr) Variable Function
79(r22): 78(ptr) Variable Function
80(b3x3): 78(ptr) Variable Function
85(r23): 84(ptr) Variable Function
88(b4x3): 87(ptr) Variable Function
91(r30): 39(ptr) Variable Function
92(b1x4): 36(ptr) Variable Function
95(r31): 65(ptr) Variable Function
96(b2x4): 62(ptr) Variable Function
99(r32): 87(ptr) Variable Function
100(b3x4): 84(ptr) Variable Function
105(r33): 104(ptr) Variable Function
106(b4x4): 104(ptr) Variable Function
14: 10 Load 13(b1x1)
15: 10 Transpose 14
Store 12(r00) 15
23: 20 Load 22(b2x1)
24: 17 Transpose 23
Store 19(r01) 24
32: 29 Load 31(b3x1)
33: 26 Transpose 32
Store 28(r02) 33
41: 38 Load 40(b4x1)
42: 35 Transpose 41
Store 37(r03) 42
45: 17 Load 44(b1x2)
46: 20 Transpose 45
Store 43(r10) 46
51: 47 Load 50(b2x2)
52: 47 Transpose 51
Store 49(r11) 52
59: 56 Load 58(b3x2)
60: 53 Transpose 59
Store 55(r12) 60
67: 64 Load 66(b4x2)
68: 61 Transpose 67
Store 63(r13) 68
71: 26 Load 70(b1x3)
72: 29 Transpose 71
Store 69(r20) 72
75: 53 Load 74(b2x3)
76: 56 Transpose 75
Store 73(r21) 76
81: 77 Load 80(b3x3)
82: 77 Transpose 81
Store 79(r22) 82
89: 86 Load 88(b4x3)
90: 83 Transpose 89
Store 85(r23) 90
93: 35 Load 92(b1x4)
94: 38 Transpose 93
Store 91(r30) 94
97: 61 Load 96(b2x4)
98: 64 Transpose 97
Store 95(r31) 98
101: 83 Load 100(b3x4)
102: 86 Transpose 101
Store 99(r32) 102
107: 103 Load 106(b4x4)
108: 103 Transpose 107
Store 105(r33) 108
18(r00): 17(ptr) Variable Function
19(b1x1): 17(ptr) Variable Function
25(r01): 24(ptr) Variable Function
28(b2x1): 27(ptr) Variable Function
34(r02): 33(ptr) Variable Function
37(b3x1): 36(ptr) Variable Function
43(r03): 42(ptr) Variable Function
46(b4x1): 45(ptr) Variable Function
49(r10): 27(ptr) Variable Function
50(b1x2): 24(ptr) Variable Function
55(r11): 54(ptr) Variable Function
56(b2x2): 54(ptr) Variable Function
61(r12): 60(ptr) Variable Function
64(b3x2): 63(ptr) Variable Function
69(r13): 68(ptr) Variable Function
72(b4x2): 71(ptr) Variable Function
75(r20): 36(ptr) Variable Function
76(b1x3): 33(ptr) Variable Function
79(r21): 63(ptr) Variable Function
80(b2x3): 60(ptr) Variable Function
85(r22): 84(ptr) Variable Function
86(b3x3): 84(ptr) Variable Function
91(r23): 90(ptr) Variable Function
94(b4x3): 93(ptr) Variable Function
97(r30): 45(ptr) Variable Function
98(b1x4): 42(ptr) Variable Function
101(r31): 71(ptr) Variable Function
102(b2x4): 68(ptr) Variable Function
105(r32): 93(ptr) Variable Function
106(b3x4): 90(ptr) Variable Function
111(r33): 110(ptr) Variable Function
112(b4x4): 110(ptr) Variable Function
20: 16 Load 19(b1x1)
21: 16 Transpose 20
Store 18(r00) 21
29: 26 Load 28(b2x1)
30: 23 Transpose 29
Store 25(r01) 30
38: 35 Load 37(b3x1)
39: 32 Transpose 38
Store 34(r02) 39
47: 44 Load 46(b4x1)
48: 41 Transpose 47
Store 43(r03) 48
51: 23 Load 50(b1x2)
52: 26 Transpose 51
Store 49(r10) 52
57: 53 Load 56(b2x2)
58: 53 Transpose 57
Store 55(r11) 58
65: 62 Load 64(b3x2)
66: 59 Transpose 65
Store 61(r12) 66
73: 70 Load 72(b4x2)
74: 67 Transpose 73
Store 69(r13) 74
77: 32 Load 76(b1x3)
78: 35 Transpose 77
Store 75(r20) 78
81: 59 Load 80(b2x3)
82: 62 Transpose 81
Store 79(r21) 82
87: 83 Load 86(b3x3)
88: 83 Transpose 87
Store 85(r22) 88
95: 92 Load 94(b4x3)
96: 89 Transpose 95
Store 91(r23) 96
99: 41 Load 98(b1x4)
100: 44 Transpose 99
Store 97(r30) 100
103: 67 Load 102(b2x4)
104: 70 Transpose 103
Store 101(r31) 104
107: 89 Load 106(b3x4)
108: 92 Transpose 107
Store 105(r32) 108
113: 109 Load 112(b4x4)
114: 109 Transpose 113
Store 111(r33) 114
Return
FunctionEnd
12(@main():10(PS_OUTPUT) Function None 11
13: Label
116(ps_output): 115(ptr) Variable Function
122: 121(ptr) AccessChain 116(ps_output) 118
Store 122 120
123:10(PS_OUTPUT) Load 116(ps_output)
ReturnValue 123
FunctionEnd

View File

@ -168,7 +168,7 @@ gl_FragCoord origin is upper left
0:87 'r33' (temp 4X4 matrix of uint)
0:87 transpose (temp 4X4 matrix of uint)
0:87 'u4x4' (temp 4X4 matrix of uint)
0:93 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:93 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:93 Function Parameters:
0:? Sequence
0:95 move second child to first child (temp 4-component vector of float)
@ -181,15 +181,18 @@ gl_FragCoord origin is upper left
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:96 Sequence
0:96 Sequence
0:96 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:96 color: direct index for structure (temp 4-component vector of float)
0:96 'ps_output' (temp structure{temp 4-component vector of float color})
0:96 Constant:
0:96 0 (const int)
0:96 Branch: Return
0:96 Branch: Return with expression
0:96 'ps_output' (temp structure{temp 4-component vector of float color})
0:93 Function Definition: main( (temp void)
0:93 Function Parameters:
0:? Sequence
0:93 Sequence
0:93 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:93 color: direct index for structure (temp 4-component vector of float)
0:93 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:93 Constant:
0:93 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
@ -366,7 +369,7 @@ gl_FragCoord origin is upper left
0:87 'r33' (temp 4X4 matrix of uint)
0:87 transpose (temp 4X4 matrix of uint)
0:87 'u4x4' (temp 4X4 matrix of uint)
0:93 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:93 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:93 Function Parameters:
0:? Sequence
0:95 move second child to first child (temp 4-component vector of float)
@ -379,360 +382,370 @@ gl_FragCoord origin is upper left
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:96 Sequence
0:96 Sequence
0:96 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:96 color: direct index for structure (temp 4-component vector of float)
0:96 'ps_output' (temp structure{temp 4-component vector of float color})
0:96 Constant:
0:96 0 (const int)
0:96 Branch: Return
0:96 Branch: Return with expression
0:96 'ps_output' (temp structure{temp 4-component vector of float color})
0:93 Function Definition: main( (temp void)
0:93 Function Parameters:
0:? Sequence
0:93 Sequence
0:93 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:93 color: direct index for structure (temp 4-component vector of float)
0:93 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:93 Constant:
0:93 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 227
// Id's are bound by 232
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 223
EntryPoint Fragment 4 "main" 229
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 6 "TestIntMatTypes("
Name 8 "TestUintMatTypes("
Name 14 "r00"
Name 15 "i1x1"
Name 21 "r01"
Name 24 "i2x1"
Name 30 "r02"
Name 33 "i3x1"
Name 39 "r03"
Name 42 "i4x1"
Name 45 "r10"
Name 46 "i1x2"
Name 51 "r11"
Name 52 "i2x2"
Name 57 "r12"
Name 60 "i3x2"
Name 65 "r13"
Name 68 "i4x2"
Name 71 "r20"
Name 72 "i1x3"
Name 75 "r21"
Name 76 "i2x3"
Name 81 "r22"
Name 82 "i3x3"
Name 87 "r23"
Name 90 "i4x3"
Name 93 "r30"
Name 94 "i1x4"
Name 97 "r31"
Name 98 "i2x4"
Name 101 "r32"
Name 102 "i3x4"
Name 107 "r33"
Name 108 "i4x4"
Name 115 "r00"
Name 116 "u1x1"
Name 122 "r01"
Name 125 "u2x1"
Name 131 "r02"
Name 134 "u3x1"
Name 140 "r03"
Name 143 "u4x1"
Name 146 "r10"
Name 147 "u1x2"
Name 152 "r11"
Name 153 "u2x2"
Name 158 "r12"
Name 161 "u3x2"
Name 166 "r13"
Name 169 "u4x2"
Name 172 "r20"
Name 173 "u1x3"
Name 176 "r21"
Name 177 "u2x3"
Name 182 "r22"
Name 183 "u3x3"
Name 188 "r23"
Name 191 "u4x3"
Name 194 "r30"
Name 195 "u1x4"
Name 198 "r31"
Name 199 "u2x4"
Name 202 "r32"
Name 203 "u3x4"
Name 208 "r33"
Name 209 "u4x4"
Name 214 "PS_OUTPUT"
MemberName 214(PS_OUTPUT) 0 "color"
Name 216 "ps_output"
Name 223 "color"
Decorate 223(color) Location 0
Name 12 "PS_OUTPUT"
MemberName 12(PS_OUTPUT) 0 "color"
Name 14 "@main("
Name 20 "r00"
Name 21 "i1x1"
Name 27 "r01"
Name 30 "i2x1"
Name 36 "r02"
Name 39 "i3x1"
Name 45 "r03"
Name 48 "i4x1"
Name 51 "r10"
Name 52 "i1x2"
Name 57 "r11"
Name 58 "i2x2"
Name 63 "r12"
Name 66 "i3x2"
Name 71 "r13"
Name 74 "i4x2"
Name 77 "r20"
Name 78 "i1x3"
Name 81 "r21"
Name 82 "i2x3"
Name 87 "r22"
Name 88 "i3x3"
Name 93 "r23"
Name 96 "i4x3"
Name 99 "r30"
Name 100 "i1x4"
Name 103 "r31"
Name 104 "i2x4"
Name 107 "r32"
Name 108 "i3x4"
Name 113 "r33"
Name 114 "i4x4"
Name 121 "r00"
Name 122 "u1x1"
Name 128 "r01"
Name 131 "u2x1"
Name 137 "r02"
Name 140 "u3x1"
Name 146 "r03"
Name 149 "u4x1"
Name 152 "r10"
Name 153 "u1x2"
Name 158 "r11"
Name 159 "u2x2"
Name 164 "r12"
Name 167 "u3x2"
Name 172 "r13"
Name 175 "u4x2"
Name 178 "r20"
Name 179 "u1x3"
Name 182 "r21"
Name 183 "u2x3"
Name 188 "r22"
Name 189 "u3x3"
Name 194 "r23"
Name 197 "u4x3"
Name 200 "r30"
Name 201 "u1x4"
Name 204 "r31"
Name 205 "u2x4"
Name 208 "r32"
Name 209 "u3x4"
Name 214 "r33"
Name 215 "u4x4"
Name 219 "ps_output"
Name 229 "color"
Decorate 229(color) Location 0
2: TypeVoid
3: TypeFunction 2
10: TypeInt 32 1
11: TypeVector 10(int) 1
12: TypeMatrix 11(ivec) 1
13: TypePointer Function 12
18: TypeVector 10(int) 2
19: TypeMatrix 18(ivec2) 1
20: TypePointer Function 19
22: TypeMatrix 11(ivec) 2
23: TypePointer Function 22
27: TypeVector 10(int) 3
28: TypeMatrix 27(ivec3) 1
10: TypeFloat 32
11: TypeVector 10(float) 4
12(PS_OUTPUT): TypeStruct 11(fvec4)
13: TypeFunction 12(PS_OUTPUT)
16: TypeInt 32 1
17: TypeVector 16(int) 1
18: TypeMatrix 17(ivec) 1
19: TypePointer Function 18
24: TypeVector 16(int) 2
25: TypeMatrix 24(ivec2) 1
26: TypePointer Function 25
28: TypeMatrix 17(ivec) 2
29: TypePointer Function 28
31: TypeMatrix 11(ivec) 3
32: TypePointer Function 31
36: TypeVector 10(int) 4
37: TypeMatrix 36(ivec4) 1
33: TypeVector 16(int) 3
34: TypeMatrix 33(ivec3) 1
35: TypePointer Function 34
37: TypeMatrix 17(ivec) 3
38: TypePointer Function 37
40: TypeMatrix 11(ivec) 4
41: TypePointer Function 40
49: TypeMatrix 18(ivec2) 2
50: TypePointer Function 49
55: TypeMatrix 27(ivec3) 2
42: TypeVector 16(int) 4
43: TypeMatrix 42(ivec4) 1
44: TypePointer Function 43
46: TypeMatrix 17(ivec) 4
47: TypePointer Function 46
55: TypeMatrix 24(ivec2) 2
56: TypePointer Function 55
58: TypeMatrix 18(ivec2) 3
59: TypePointer Function 58
63: TypeMatrix 36(ivec4) 2
64: TypePointer Function 63
66: TypeMatrix 18(ivec2) 4
67: TypePointer Function 66
79: TypeMatrix 27(ivec3) 3
80: TypePointer Function 79
85: TypeMatrix 36(ivec4) 3
61: TypeMatrix 33(ivec3) 2
62: TypePointer Function 61
64: TypeMatrix 24(ivec2) 3
65: TypePointer Function 64
69: TypeMatrix 42(ivec4) 2
70: TypePointer Function 69
72: TypeMatrix 24(ivec2) 4
73: TypePointer Function 72
85: TypeMatrix 33(ivec3) 3
86: TypePointer Function 85
88: TypeMatrix 27(ivec3) 4
89: TypePointer Function 88
105: TypeMatrix 36(ivec4) 4
106: TypePointer Function 105
111: TypeInt 32 0
112: TypeVector 111(int) 1
113: TypeMatrix 112(ivec) 1
114: TypePointer Function 113
119: TypeVector 111(int) 2
120: TypeMatrix 119(ivec2) 1
121: TypePointer Function 120
123: TypeMatrix 112(ivec) 2
124: TypePointer Function 123
128: TypeVector 111(int) 3
129: TypeMatrix 128(ivec3) 1
91: TypeMatrix 42(ivec4) 3
92: TypePointer Function 91
94: TypeMatrix 33(ivec3) 4
95: TypePointer Function 94
111: TypeMatrix 42(ivec4) 4
112: TypePointer Function 111
117: TypeInt 32 0
118: TypeVector 117(int) 1
119: TypeMatrix 118(ivec) 1
120: TypePointer Function 119
125: TypeVector 117(int) 2
126: TypeMatrix 125(ivec2) 1
127: TypePointer Function 126
129: TypeMatrix 118(ivec) 2
130: TypePointer Function 129
132: TypeMatrix 112(ivec) 3
133: TypePointer Function 132
137: TypeVector 111(int) 4
138: TypeMatrix 137(ivec4) 1
134: TypeVector 117(int) 3
135: TypeMatrix 134(ivec3) 1
136: TypePointer Function 135
138: TypeMatrix 118(ivec) 3
139: TypePointer Function 138
141: TypeMatrix 112(ivec) 4
142: TypePointer Function 141
150: TypeMatrix 119(ivec2) 2
151: TypePointer Function 150
156: TypeMatrix 128(ivec3) 2
143: TypeVector 117(int) 4
144: TypeMatrix 143(ivec4) 1
145: TypePointer Function 144
147: TypeMatrix 118(ivec) 4
148: TypePointer Function 147
156: TypeMatrix 125(ivec2) 2
157: TypePointer Function 156
159: TypeMatrix 119(ivec2) 3
160: TypePointer Function 159
164: TypeMatrix 137(ivec4) 2
165: TypePointer Function 164
167: TypeMatrix 119(ivec2) 4
168: TypePointer Function 167
180: TypeMatrix 128(ivec3) 3
181: TypePointer Function 180
186: TypeMatrix 137(ivec4) 3
162: TypeMatrix 134(ivec3) 2
163: TypePointer Function 162
165: TypeMatrix 125(ivec2) 3
166: TypePointer Function 165
170: TypeMatrix 143(ivec4) 2
171: TypePointer Function 170
173: TypeMatrix 125(ivec2) 4
174: TypePointer Function 173
186: TypeMatrix 134(ivec3) 3
187: TypePointer Function 186
189: TypeMatrix 128(ivec3) 4
190: TypePointer Function 189
206: TypeMatrix 137(ivec4) 4
207: TypePointer Function 206
212: TypeFloat 32
213: TypeVector 212(float) 4
214(PS_OUTPUT): TypeStruct 213(fvec4)
215: TypePointer Function 214(PS_OUTPUT)
217: 10(int) Constant 0
218: 212(float) Constant 0
219: 213(fvec4) ConstantComposite 218 218 218 218
220: TypePointer Function 213(fvec4)
222: TypePointer Output 213(fvec4)
223(color): 222(ptr) Variable Output
192: TypeMatrix 143(ivec4) 3
193: TypePointer Function 192
195: TypeMatrix 134(ivec3) 4
196: TypePointer Function 195
212: TypeMatrix 143(ivec4) 4
213: TypePointer Function 212
218: TypePointer Function 12(PS_OUTPUT)
220: 16(int) Constant 0
221: 10(float) Constant 0
222: 11(fvec4) ConstantComposite 221 221 221 221
223: TypePointer Function 11(fvec4)
228: TypePointer Output 11(fvec4)
229(color): 228(ptr) Variable Output
4(main): 2 Function None 3
5: Label
216(ps_output): 215(ptr) Variable Function
221: 220(ptr) AccessChain 216(ps_output) 217
Store 221 219
224: 220(ptr) AccessChain 216(ps_output) 217
225: 213(fvec4) Load 224
Store 223(color) 225
230:12(PS_OUTPUT) FunctionCall 14(@main()
231: 11(fvec4) CompositeExtract 230 0
Store 229(color) 231
Return
FunctionEnd
6(TestIntMatTypes(): 2 Function None 3
7: Label
14(r00): 13(ptr) Variable Function
15(i1x1): 13(ptr) Variable Function
21(r01): 20(ptr) Variable Function
24(i2x1): 23(ptr) Variable Function
30(r02): 29(ptr) Variable Function
33(i3x1): 32(ptr) Variable Function
39(r03): 38(ptr) Variable Function
42(i4x1): 41(ptr) Variable Function
45(r10): 23(ptr) Variable Function
46(i1x2): 20(ptr) Variable Function
51(r11): 50(ptr) Variable Function
52(i2x2): 50(ptr) Variable Function
57(r12): 56(ptr) Variable Function
60(i3x2): 59(ptr) Variable Function
65(r13): 64(ptr) Variable Function
68(i4x2): 67(ptr) Variable Function
71(r20): 32(ptr) Variable Function
72(i1x3): 29(ptr) Variable Function
75(r21): 59(ptr) Variable Function
76(i2x3): 56(ptr) Variable Function
81(r22): 80(ptr) Variable Function
82(i3x3): 80(ptr) Variable Function
87(r23): 86(ptr) Variable Function
90(i4x3): 89(ptr) Variable Function
93(r30): 41(ptr) Variable Function
94(i1x4): 38(ptr) Variable Function
97(r31): 67(ptr) Variable Function
98(i2x4): 64(ptr) Variable Function
101(r32): 89(ptr) Variable Function
102(i3x4): 86(ptr) Variable Function
107(r33): 106(ptr) Variable Function
108(i4x4): 106(ptr) Variable Function
16: 12 Load 15(i1x1)
17: 12 Transpose 16
Store 14(r00) 17
25: 22 Load 24(i2x1)
26: 19 Transpose 25
Store 21(r01) 26
34: 31 Load 33(i3x1)
35: 28 Transpose 34
Store 30(r02) 35
43: 40 Load 42(i4x1)
44: 37 Transpose 43
Store 39(r03) 44
47: 19 Load 46(i1x2)
48: 22 Transpose 47
Store 45(r10) 48
53: 49 Load 52(i2x2)
54: 49 Transpose 53
Store 51(r11) 54
61: 58 Load 60(i3x2)
62: 55 Transpose 61
Store 57(r12) 62
69: 66 Load 68(i4x2)
70: 63 Transpose 69
Store 65(r13) 70
73: 28 Load 72(i1x3)
74: 31 Transpose 73
Store 71(r20) 74
77: 55 Load 76(i2x3)
78: 58 Transpose 77
Store 75(r21) 78
83: 79 Load 82(i3x3)
84: 79 Transpose 83
Store 81(r22) 84
91: 88 Load 90(i4x3)
92: 85 Transpose 91
Store 87(r23) 92
95: 37 Load 94(i1x4)
96: 40 Transpose 95
Store 93(r30) 96
99: 63 Load 98(i2x4)
100: 66 Transpose 99
Store 97(r31) 100
103: 85 Load 102(i3x4)
104: 88 Transpose 103
Store 101(r32) 104
109: 105 Load 108(i4x4)
110: 105 Transpose 109
Store 107(r33) 110
20(r00): 19(ptr) Variable Function
21(i1x1): 19(ptr) Variable Function
27(r01): 26(ptr) Variable Function
30(i2x1): 29(ptr) Variable Function
36(r02): 35(ptr) Variable Function
39(i3x1): 38(ptr) Variable Function
45(r03): 44(ptr) Variable Function
48(i4x1): 47(ptr) Variable Function
51(r10): 29(ptr) Variable Function
52(i1x2): 26(ptr) Variable Function
57(r11): 56(ptr) Variable Function
58(i2x2): 56(ptr) Variable Function
63(r12): 62(ptr) Variable Function
66(i3x2): 65(ptr) Variable Function
71(r13): 70(ptr) Variable Function
74(i4x2): 73(ptr) Variable Function
77(r20): 38(ptr) Variable Function
78(i1x3): 35(ptr) Variable Function
81(r21): 65(ptr) Variable Function
82(i2x3): 62(ptr) Variable Function
87(r22): 86(ptr) Variable Function
88(i3x3): 86(ptr) Variable Function
93(r23): 92(ptr) Variable Function
96(i4x3): 95(ptr) Variable Function
99(r30): 47(ptr) Variable Function
100(i1x4): 44(ptr) Variable Function
103(r31): 73(ptr) Variable Function
104(i2x4): 70(ptr) Variable Function
107(r32): 95(ptr) Variable Function
108(i3x4): 92(ptr) Variable Function
113(r33): 112(ptr) Variable Function
114(i4x4): 112(ptr) Variable Function
22: 18 Load 21(i1x1)
23: 18 Transpose 22
Store 20(r00) 23
31: 28 Load 30(i2x1)
32: 25 Transpose 31
Store 27(r01) 32
40: 37 Load 39(i3x1)
41: 34 Transpose 40
Store 36(r02) 41
49: 46 Load 48(i4x1)
50: 43 Transpose 49
Store 45(r03) 50
53: 25 Load 52(i1x2)
54: 28 Transpose 53
Store 51(r10) 54
59: 55 Load 58(i2x2)
60: 55 Transpose 59
Store 57(r11) 60
67: 64 Load 66(i3x2)
68: 61 Transpose 67
Store 63(r12) 68
75: 72 Load 74(i4x2)
76: 69 Transpose 75
Store 71(r13) 76
79: 34 Load 78(i1x3)
80: 37 Transpose 79
Store 77(r20) 80
83: 61 Load 82(i2x3)
84: 64 Transpose 83
Store 81(r21) 84
89: 85 Load 88(i3x3)
90: 85 Transpose 89
Store 87(r22) 90
97: 94 Load 96(i4x3)
98: 91 Transpose 97
Store 93(r23) 98
101: 43 Load 100(i1x4)
102: 46 Transpose 101
Store 99(r30) 102
105: 69 Load 104(i2x4)
106: 72 Transpose 105
Store 103(r31) 106
109: 91 Load 108(i3x4)
110: 94 Transpose 109
Store 107(r32) 110
115: 111 Load 114(i4x4)
116: 111 Transpose 115
Store 113(r33) 116
Return
FunctionEnd
8(TestUintMatTypes(): 2 Function None 3
9: Label
115(r00): 114(ptr) Variable Function
116(u1x1): 114(ptr) Variable Function
122(r01): 121(ptr) Variable Function
125(u2x1): 124(ptr) Variable Function
131(r02): 130(ptr) Variable Function
134(u3x1): 133(ptr) Variable Function
140(r03): 139(ptr) Variable Function
143(u4x1): 142(ptr) Variable Function
146(r10): 124(ptr) Variable Function
147(u1x2): 121(ptr) Variable Function
152(r11): 151(ptr) Variable Function
153(u2x2): 151(ptr) Variable Function
158(r12): 157(ptr) Variable Function
161(u3x2): 160(ptr) Variable Function
166(r13): 165(ptr) Variable Function
169(u4x2): 168(ptr) Variable Function
172(r20): 133(ptr) Variable Function
173(u1x3): 130(ptr) Variable Function
176(r21): 160(ptr) Variable Function
177(u2x3): 157(ptr) Variable Function
182(r22): 181(ptr) Variable Function
183(u3x3): 181(ptr) Variable Function
188(r23): 187(ptr) Variable Function
191(u4x3): 190(ptr) Variable Function
194(r30): 142(ptr) Variable Function
195(u1x4): 139(ptr) Variable Function
198(r31): 168(ptr) Variable Function
199(u2x4): 165(ptr) Variable Function
202(r32): 190(ptr) Variable Function
203(u3x4): 187(ptr) Variable Function
208(r33): 207(ptr) Variable Function
209(u4x4): 207(ptr) Variable Function
117: 113 Load 116(u1x1)
118: 113 Transpose 117
Store 115(r00) 118
126: 123 Load 125(u2x1)
127: 120 Transpose 126
Store 122(r01) 127
135: 132 Load 134(u3x1)
136: 129 Transpose 135
Store 131(r02) 136
144: 141 Load 143(u4x1)
145: 138 Transpose 144
Store 140(r03) 145
148: 120 Load 147(u1x2)
149: 123 Transpose 148
Store 146(r10) 149
154: 150 Load 153(u2x2)
155: 150 Transpose 154
Store 152(r11) 155
162: 159 Load 161(u3x2)
163: 156 Transpose 162
Store 158(r12) 163
170: 167 Load 169(u4x2)
171: 164 Transpose 170
Store 166(r13) 171
174: 129 Load 173(u1x3)
175: 132 Transpose 174
Store 172(r20) 175
178: 156 Load 177(u2x3)
179: 159 Transpose 178
Store 176(r21) 179
184: 180 Load 183(u3x3)
185: 180 Transpose 184
Store 182(r22) 185
192: 189 Load 191(u4x3)
193: 186 Transpose 192
Store 188(r23) 193
196: 138 Load 195(u1x4)
197: 141 Transpose 196
Store 194(r30) 197
200: 164 Load 199(u2x4)
201: 167 Transpose 200
Store 198(r31) 201
204: 186 Load 203(u3x4)
205: 189 Transpose 204
Store 202(r32) 205
210: 206 Load 209(u4x4)
211: 206 Transpose 210
Store 208(r33) 211
121(r00): 120(ptr) Variable Function
122(u1x1): 120(ptr) Variable Function
128(r01): 127(ptr) Variable Function
131(u2x1): 130(ptr) Variable Function
137(r02): 136(ptr) Variable Function
140(u3x1): 139(ptr) Variable Function
146(r03): 145(ptr) Variable Function
149(u4x1): 148(ptr) Variable Function
152(r10): 130(ptr) Variable Function
153(u1x2): 127(ptr) Variable Function
158(r11): 157(ptr) Variable Function
159(u2x2): 157(ptr) Variable Function
164(r12): 163(ptr) Variable Function
167(u3x2): 166(ptr) Variable Function
172(r13): 171(ptr) Variable Function
175(u4x2): 174(ptr) Variable Function
178(r20): 139(ptr) Variable Function
179(u1x3): 136(ptr) Variable Function
182(r21): 166(ptr) Variable Function
183(u2x3): 163(ptr) Variable Function
188(r22): 187(ptr) Variable Function
189(u3x3): 187(ptr) Variable Function
194(r23): 193(ptr) Variable Function
197(u4x3): 196(ptr) Variable Function
200(r30): 148(ptr) Variable Function
201(u1x4): 145(ptr) Variable Function
204(r31): 174(ptr) Variable Function
205(u2x4): 171(ptr) Variable Function
208(r32): 196(ptr) Variable Function
209(u3x4): 193(ptr) Variable Function
214(r33): 213(ptr) Variable Function
215(u4x4): 213(ptr) Variable Function
123: 119 Load 122(u1x1)
124: 119 Transpose 123
Store 121(r00) 124
132: 129 Load 131(u2x1)
133: 126 Transpose 132
Store 128(r01) 133
141: 138 Load 140(u3x1)
142: 135 Transpose 141
Store 137(r02) 142
150: 147 Load 149(u4x1)
151: 144 Transpose 150
Store 146(r03) 151
154: 126 Load 153(u1x2)
155: 129 Transpose 154
Store 152(r10) 155
160: 156 Load 159(u2x2)
161: 156 Transpose 160
Store 158(r11) 161
168: 165 Load 167(u3x2)
169: 162 Transpose 168
Store 164(r12) 169
176: 173 Load 175(u4x2)
177: 170 Transpose 176
Store 172(r13) 177
180: 135 Load 179(u1x3)
181: 138 Transpose 180
Store 178(r20) 181
184: 162 Load 183(u2x3)
185: 165 Transpose 184
Store 182(r21) 185
190: 186 Load 189(u3x3)
191: 186 Transpose 190
Store 188(r22) 191
198: 195 Load 197(u4x3)
199: 192 Transpose 198
Store 194(r23) 199
202: 144 Load 201(u1x4)
203: 147 Transpose 202
Store 200(r30) 203
206: 170 Load 205(u2x4)
207: 173 Transpose 206
Store 204(r31) 207
210: 192 Load 209(u3x4)
211: 195 Transpose 210
Store 208(r32) 211
216: 212 Load 215(u4x4)
217: 212 Transpose 216
Store 214(r33) 217
Return
FunctionEnd
14(@main():12(PS_OUTPUT) Function None 13
15: Label
219(ps_output): 218(ptr) Variable Function
224: 223(ptr) AccessChain 219(ps_output) 220
Store 224 222
225:12(PS_OUTPUT) Load 219(ps_output)
ReturnValue 225
FunctionEnd

View File

@ -1,9 +1,9 @@
hlsl.matrixSwizzle.vert
Shader version: 450
0:? Sequence
0:2 Function Definition: ShaderFunction(f1; (temp void)
0:2 Function Definition: @ShaderFunction(f1; (temp void)
0:2 Function Parameters:
0:2 'inf' (layout(location=0 ) in float)
0:2 'inf' (in float)
0:? Sequence
0:7 move second child to first child (temp float)
0:7 direct index (temp float)
@ -205,6 +205,14 @@ Shader version: 450
0:23 2 (const int)
0:23 Constant:
0:23 0 (const int)
0:2 Function Definition: ShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp float)
0:? 'inf' (temp float)
0:? 'inf' (layout(location=0 ) in float)
0:2 Function Call: @ShaderFunction(f1; (temp void)
0:? 'inf' (temp float)
0:27 Function Definition: createMat3x3(vf3;vf3;vf3; (temp 3X3 matrix of float)
0:27 Function Parameters:
0:27 'a' (in 3-component vector of float)
@ -333,9 +341,9 @@ Linked vertex stage:
Shader version: 450
0:? Sequence
0:2 Function Definition: ShaderFunction(f1; (temp void)
0:2 Function Definition: @ShaderFunction(f1; (temp void)
0:2 Function Parameters:
0:2 'inf' (layout(location=0 ) in float)
0:2 'inf' (in float)
0:? Sequence
0:7 move second child to first child (temp float)
0:7 direct index (temp float)
@ -537,6 +545,14 @@ Shader version: 450
0:23 2 (const int)
0:23 Constant:
0:23 0 (const int)
0:2 Function Definition: ShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp float)
0:? 'inf' (temp float)
0:? 'inf' (layout(location=0 ) in float)
0:2 Function Call: @ShaderFunction(f1; (temp void)
0:? 'inf' (temp float)
0:27 Function Definition: createMat3x3(vf3;vf3;vf3; (temp 3X3 matrix of float)
0:27 Function Parameters:
0:27 'a' (in 3-component vector of float)
@ -662,157 +678,174 @@ Shader version: 450
Missing functionality: matrix swizzle
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 109
// Id's are bound by 118
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "ShaderFunction" 108
EntryPoint Vertex 4 "ShaderFunction" 81
Name 4 "ShaderFunction"
Name 14 "createMat3x3(vf3;vf3;vf3;"
Name 11 "a"
Name 12 "b"
Name 13 "c"
Name 19 "m"
Name 38 "f3"
Name 51 "intermVec"
Name 63 "intermVec"
Name 76 "m"
Name 108 "inf"
Decorate 108(inf) Location 0
Name 10 "@ShaderFunction(f1;"
Name 9 "inf"
Name 19 "createMat3x3(vf3;vf3;vf3;"
Name 16 "a"
Name 17 "b"
Name 18 "c"
Name 24 "m"
Name 42 "f3"
Name 55 "intermVec"
Name 67 "intermVec"
Name 79 "inf"
Name 81 "inf"
Name 83 "param"
Name 87 "m"
Decorate 81(inf) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 3
8: TypePointer Function 7(fvec3)
9: TypeMatrix 7(fvec3) 3
10: TypeFunction 9 8(ptr) 8(ptr) 8(ptr)
16: TypeVector 6(float) 4
17: TypeMatrix 16(fvec4) 3
18: TypePointer Function 17
20: TypeInt 32 1
21: 20(int) Constant 2
22: 6(float) Constant 1065353216
23: TypeInt 32 0
24: 23(int) Constant 3
25: TypePointer Function 6(float)
27: 6(float) Constant 1073741824
30: 20(int) Constant 0
31: 6(float) Constant 1077936128
32: 16(fvec4) ConstantComposite 31 31 31 31
33: TypePointer Function 16(fvec4)
35: 20(int) Constant 1
39: 23(int) Constant 0
43: 23(int) Constant 1
47: 23(int) Constant 2
52: 6(float) Constant 1084227584
53: 7(fvec3) ConstantComposite 52 52 52
75: TypePointer Function 9
107: TypePointer Input 6(float)
108(inf): 107(ptr) Variable Input
7: TypePointer Function 6(float)
8: TypeFunction 2 7(ptr)
12: TypeVector 6(float) 3
13: TypePointer Function 12(fvec3)
14: TypeMatrix 12(fvec3) 3
15: TypeFunction 14 13(ptr) 13(ptr) 13(ptr)
21: TypeVector 6(float) 4
22: TypeMatrix 21(fvec4) 3
23: TypePointer Function 22
25: TypeInt 32 1
26: 25(int) Constant 2
27: 6(float) Constant 1065353216
28: TypeInt 32 0
29: 28(int) Constant 3
31: 6(float) Constant 1073741824
34: 25(int) Constant 0
35: 6(float) Constant 1077936128
36: 21(fvec4) ConstantComposite 35 35 35 35
37: TypePointer Function 21(fvec4)
39: 25(int) Constant 1
43: 28(int) Constant 0
47: 28(int) Constant 1
51: 28(int) Constant 2
56: 6(float) Constant 1084227584
57: 12(fvec3) ConstantComposite 56 56 56
80: TypePointer Input 6(float)
81(inf): 80(ptr) Variable Input
86: TypePointer Function 14
4(ShaderFunction): 2 Function None 3
5: Label
19(m): 18(ptr) Variable Function
38(f3): 8(ptr) Variable Function
51(intermVec): 8(ptr) Variable Function
63(intermVec): 8(ptr) Variable Function
26: 25(ptr) AccessChain 19(m) 21 24
Store 26 22
28: 25(ptr) AccessChain 19(m) 21 24
Store 28 27
29: 25(ptr) AccessChain 19(m) 21 24
Store 29 27
34: 33(ptr) AccessChain 19(m) 30
Store 34 32
36: 33(ptr) AccessChain 19(m) 35
Store 36 32
37: 33(ptr) AccessChain 19(m) 35
Store 37 32
40: 25(ptr) AccessChain 38(f3) 39
41: 6(float) Load 40
42: 25(ptr) AccessChain 19(m) 30 39
Store 42 41
44: 25(ptr) AccessChain 38(f3) 43
45: 6(float) Load 44
46: 25(ptr) AccessChain 19(m) 35 43
Store 46 45
48: 25(ptr) AccessChain 38(f3) 47
49: 6(float) Load 48
50: 25(ptr) AccessChain 19(m) 35 47
Store 50 49
Store 51(intermVec) 53
54: 25(ptr) AccessChain 51(intermVec) 39
55: 6(float) Load 54
56: 25(ptr) AccessChain 19(m) 35 39
Store 56 55
57: 25(ptr) AccessChain 51(intermVec) 43
58: 6(float) Load 57
59: 25(ptr) AccessChain 19(m) 30 43
Store 59 58
60: 25(ptr) AccessChain 51(intermVec) 47
61: 6(float) Load 60
62: 25(ptr) AccessChain 19(m) 21 39
Store 62 61
64: 7(fvec3) Load 38(f3)
65: 7(fvec3) VectorTimesScalar 64 27
Store 63(intermVec) 65
66: 25(ptr) AccessChain 63(intermVec) 39
67: 6(float) Load 66
68: 25(ptr) AccessChain 19(m) 30 39
Store 68 67
69: 25(ptr) AccessChain 63(intermVec) 43
70: 6(float) Load 69
71: 25(ptr) AccessChain 19(m) 30 43
Store 71 70
72: 25(ptr) AccessChain 63(intermVec) 47
73: 6(float) Load 72
74: 25(ptr) AccessChain 19(m) 35 39
Store 74 73
Store 38(f3) 30
79(inf): 7(ptr) Variable Function
83(param): 7(ptr) Variable Function
82: 6(float) Load 81(inf)
Store 79(inf) 82
84: 6(float) Load 79(inf)
Store 83(param) 84
85: 2 FunctionCall 10(@ShaderFunction(f1;) 83(param)
Return
FunctionEnd
14(createMat3x3(vf3;vf3;vf3;): 9 Function None 10
11(a): 8(ptr) FunctionParameter
12(b): 8(ptr) FunctionParameter
13(c): 8(ptr) FunctionParameter
15: Label
76(m): 75(ptr) Variable Function
77: 25(ptr) AccessChain 11(a) 39
78: 6(float) Load 77
79: 25(ptr) AccessChain 76(m) 30 39
Store 79 78
80: 25(ptr) AccessChain 11(a) 43
81: 6(float) Load 80
82: 25(ptr) AccessChain 76(m) 35 39
Store 82 81
83: 25(ptr) AccessChain 11(a) 47
84: 6(float) Load 83
85: 25(ptr) AccessChain 76(m) 21 39
Store 85 84
86: 25(ptr) AccessChain 12(b) 39
87: 6(float) Load 86
88: 25(ptr) AccessChain 76(m) 30 43
Store 88 87
89: 25(ptr) AccessChain 12(b) 43
90: 6(float) Load 89
91: 25(ptr) AccessChain 76(m) 35 43
Store 91 90
92: 25(ptr) AccessChain 12(b) 47
93: 6(float) Load 92
94: 25(ptr) AccessChain 76(m) 21 43
Store 94 93
95: 25(ptr) AccessChain 13(c) 39
96: 6(float) Load 95
97: 25(ptr) AccessChain 76(m) 30 47
Store 97 96
98: 25(ptr) AccessChain 13(c) 43
99: 6(float) Load 98
100: 25(ptr) AccessChain 76(m) 35 47
Store 100 99
101: 25(ptr) AccessChain 13(c) 47
102: 6(float) Load 101
103: 25(ptr) AccessChain 76(m) 21 47
Store 103 102
104: 9 Load 76(m)
ReturnValue 104
10(@ShaderFunction(f1;): 2 Function None 8
9(inf): 7(ptr) FunctionParameter
11: Label
24(m): 23(ptr) Variable Function
42(f3): 13(ptr) Variable Function
55(intermVec): 13(ptr) Variable Function
67(intermVec): 13(ptr) Variable Function
30: 7(ptr) AccessChain 24(m) 26 29
Store 30 27
32: 7(ptr) AccessChain 24(m) 26 29
Store 32 31
33: 7(ptr) AccessChain 24(m) 26 29
Store 33 31
38: 37(ptr) AccessChain 24(m) 34
Store 38 36
40: 37(ptr) AccessChain 24(m) 39
Store 40 36
41: 37(ptr) AccessChain 24(m) 39
Store 41 36
44: 7(ptr) AccessChain 42(f3) 43
45: 6(float) Load 44
46: 7(ptr) AccessChain 24(m) 34 43
Store 46 45
48: 7(ptr) AccessChain 42(f3) 47
49: 6(float) Load 48
50: 7(ptr) AccessChain 24(m) 39 47
Store 50 49
52: 7(ptr) AccessChain 42(f3) 51
53: 6(float) Load 52
54: 7(ptr) AccessChain 24(m) 39 51
Store 54 53
Store 55(intermVec) 57
58: 7(ptr) AccessChain 55(intermVec) 43
59: 6(float) Load 58
60: 7(ptr) AccessChain 24(m) 39 43
Store 60 59
61: 7(ptr) AccessChain 55(intermVec) 47
62: 6(float) Load 61
63: 7(ptr) AccessChain 24(m) 34 47
Store 63 62
64: 7(ptr) AccessChain 55(intermVec) 51
65: 6(float) Load 64
66: 7(ptr) AccessChain 24(m) 26 43
Store 66 65
68: 12(fvec3) Load 42(f3)
69: 12(fvec3) VectorTimesScalar 68 31
Store 67(intermVec) 69
70: 7(ptr) AccessChain 67(intermVec) 43
71: 6(float) Load 70
72: 7(ptr) AccessChain 24(m) 34 43
Store 72 71
73: 7(ptr) AccessChain 67(intermVec) 47
74: 6(float) Load 73
75: 7(ptr) AccessChain 24(m) 34 47
Store 75 74
76: 7(ptr) AccessChain 67(intermVec) 51
77: 6(float) Load 76
78: 7(ptr) AccessChain 24(m) 39 43
Store 78 77
Store 42(f3) 34
Return
FunctionEnd
19(createMat3x3(vf3;vf3;vf3;): 14 Function None 15
16(a): 13(ptr) FunctionParameter
17(b): 13(ptr) FunctionParameter
18(c): 13(ptr) FunctionParameter
20: Label
87(m): 86(ptr) Variable Function
88: 7(ptr) AccessChain 16(a) 43
89: 6(float) Load 88
90: 7(ptr) AccessChain 87(m) 34 43
Store 90 89
91: 7(ptr) AccessChain 16(a) 47
92: 6(float) Load 91
93: 7(ptr) AccessChain 87(m) 39 43
Store 93 92
94: 7(ptr) AccessChain 16(a) 51
95: 6(float) Load 94
96: 7(ptr) AccessChain 87(m) 26 43
Store 96 95
97: 7(ptr) AccessChain 17(b) 43
98: 6(float) Load 97
99: 7(ptr) AccessChain 87(m) 34 47
Store 99 98
100: 7(ptr) AccessChain 17(b) 47
101: 6(float) Load 100
102: 7(ptr) AccessChain 87(m) 39 47
Store 102 101
103: 7(ptr) AccessChain 17(b) 51
104: 6(float) Load 103
105: 7(ptr) AccessChain 87(m) 26 47
Store 105 104
106: 7(ptr) AccessChain 18(c) 43
107: 6(float) Load 106
108: 7(ptr) AccessChain 87(m) 34 51
Store 108 107
109: 7(ptr) AccessChain 18(c) 47
110: 6(float) Load 109
111: 7(ptr) AccessChain 87(m) 39 51
Store 111 110
112: 7(ptr) AccessChain 18(c) 51
113: 6(float) Load 112
114: 7(ptr) AccessChain 87(m) 26 51
Store 114 113
115: 14 Load 87(m)
ReturnValue 115
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.matrixindex.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:10 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:10 Function Parameters:
0:? Sequence
0:22 Sequence
@ -117,15 +117,18 @@ gl_FragCoord origin is upper left
0:47 0 (const int)
0:47 Construct vec4 (temp 4-component vector of float)
0:47 'e2_11' (temp float)
0:48 Sequence
0:48 Sequence
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Color: direct index for structure (temp 4-component vector of float)
0:48 'psout' (temp structure{temp 4-component vector of float Color})
0:48 Constant:
0:48 0 (const int)
0:48 Branch: Return
0:48 Branch: Return with expression
0:48 'psout' (temp structure{temp 4-component vector of float Color})
0:10 Function Definition: main( (temp void)
0:10 Function Parameters:
0:? Sequence
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:10 Color: direct index for structure (temp 4-component vector of float)
0:10 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:10 Constant:
0:10 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
@ -137,7 +140,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:10 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:10 Function Parameters:
0:? Sequence
0:22 Sequence
@ -252,156 +255,166 @@ gl_FragCoord origin is upper left
0:47 0 (const int)
0:47 Construct vec4 (temp 4-component vector of float)
0:47 'e2_11' (temp float)
0:48 Sequence
0:48 Sequence
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Color: direct index for structure (temp 4-component vector of float)
0:48 'psout' (temp structure{temp 4-component vector of float Color})
0:48 Constant:
0:48 0 (const int)
0:48 Branch: Return
0:48 Branch: Return with expression
0:48 'psout' (temp structure{temp 4-component vector of float Color})
0:10 Function Definition: main( (temp void)
0:10 Function Parameters:
0:? Sequence
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:10 Color: direct index for structure (temp 4-component vector of float)
0:10 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:10 Constant:
0:10 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 78
// Id's are bound by 83
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 74
EntryPoint Fragment 4 "main" 80
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "e1_00"
Name 10 "e1_01"
Name 12 "e1_10"
Name 14 "e1_11"
Name 16 "e1_20"
Name 18 "e1_21"
Name 20 "e2_00"
Name 22 "e2_01"
Name 24 "e2_10"
Name 26 "e2_11"
Name 28 "e2_20"
Name 30 "e2_21"
Name 34 "r0a"
Name 36 "r1a"
Name 38 "r2a"
Name 40 "r0b"
Name 47 "$Global"
MemberName 47($Global) 0 "idx"
MemberName 47($Global) 1 "um"
Name 49 ""
Name 55 "indexable"
Name 58 "r0c"
Name 66 "PS_OUTPUT"
MemberName 66(PS_OUTPUT) 0 "Color"
Name 68 "psout"
Name 74 "Color"
MemberDecorate 47($Global) 0 Offset 0
MemberDecorate 47($Global) 1 RowMajor
MemberDecorate 47($Global) 1 Offset 16
MemberDecorate 47($Global) 1 MatrixStride 16
Decorate 47($Global) Block
Decorate 49 DescriptorSet 0
Decorate 74(Color) Location 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
Name 10 "@main("
Name 13 "e1_00"
Name 15 "e1_01"
Name 17 "e1_10"
Name 19 "e1_11"
Name 21 "e1_20"
Name 23 "e1_21"
Name 25 "e2_00"
Name 27 "e2_01"
Name 29 "e2_10"
Name 31 "e2_11"
Name 33 "e2_20"
Name 35 "e2_21"
Name 39 "r0a"
Name 41 "r1a"
Name 43 "r2a"
Name 45 "r0b"
Name 52 "$Global"
MemberName 52($Global) 0 "idx"
MemberName 52($Global) 1 "um"
Name 54 ""
Name 60 "indexable"
Name 63 "r0c"
Name 71 "psout"
Name 80 "Color"
MemberDecorate 52($Global) 0 Offset 0
MemberDecorate 52($Global) 1 RowMajor
MemberDecorate 52($Global) 1 Offset 16
MemberDecorate 52($Global) 1 MatrixStride 16
Decorate 52($Global) Block
Decorate 54 DescriptorSet 0
Decorate 80(Color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
9: 6(float) Constant 1092616192
11: 6(float) Constant 1093664768
13: 6(float) Constant 1094713344
15: 6(float) Constant 1095761920
17: 6(float) Constant 1096810496
19: 6(float) Constant 1097859072
21: 6(float) Constant 1101004800
23: 6(float) Constant 1101529088
25: 6(float) Constant 1102053376
27: 6(float) Constant 1102577664
29: 6(float) Constant 1103101952
31: 6(float) Constant 1103626240
32: TypeVector 6(float) 2
33: TypePointer Function 32(fvec2)
35: 32(fvec2) ConstantComposite 9 11
37: 32(fvec2) ConstantComposite 13 15
39: 32(fvec2) ConstantComposite 17 19
41: TypeMatrix 32(fvec2) 3
42: 32(fvec2) ConstantComposite 21 23
43: 32(fvec2) ConstantComposite 25 27
44: 32(fvec2) ConstantComposite 29 31
45: 41 ConstantComposite 42 43 44
46: TypeInt 32 1
47($Global): TypeStruct 46(int) 41
48: TypePointer Uniform 47($Global)
49: 48(ptr) Variable Uniform
50: 46(int) Constant 0
51: TypePointer Uniform 46(int)
54: TypePointer Function 41
59: 46(int) Constant 1
62: TypePointer Uniform 32(fvec2)
65: TypeVector 6(float) 4
66(PS_OUTPUT): TypeStruct 65(fvec4)
67: TypePointer Function 66(PS_OUTPUT)
71: TypePointer Function 65(fvec4)
73: TypePointer Output 65(fvec4)
74(Color): 73(ptr) Variable Output
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 6(float)
14: 6(float) Constant 1092616192
16: 6(float) Constant 1093664768
18: 6(float) Constant 1094713344
20: 6(float) Constant 1095761920
22: 6(float) Constant 1096810496
24: 6(float) Constant 1097859072
26: 6(float) Constant 1101004800
28: 6(float) Constant 1101529088
30: 6(float) Constant 1102053376
32: 6(float) Constant 1102577664
34: 6(float) Constant 1103101952
36: 6(float) Constant 1103626240
37: TypeVector 6(float) 2
38: TypePointer Function 37(fvec2)
40: 37(fvec2) ConstantComposite 14 16
42: 37(fvec2) ConstantComposite 18 20
44: 37(fvec2) ConstantComposite 22 24
46: TypeMatrix 37(fvec2) 3
47: 37(fvec2) ConstantComposite 26 28
48: 37(fvec2) ConstantComposite 30 32
49: 37(fvec2) ConstantComposite 34 36
50: 46 ConstantComposite 47 48 49
51: TypeInt 32 1
52($Global): TypeStruct 51(int) 46
53: TypePointer Uniform 52($Global)
54: 53(ptr) Variable Uniform
55: 51(int) Constant 0
56: TypePointer Uniform 51(int)
59: TypePointer Function 46
64: 51(int) Constant 1
67: TypePointer Uniform 37(fvec2)
70: TypePointer Function 8(PS_OUTPUT)
74: TypePointer Function 7(fvec4)
79: TypePointer Output 7(fvec4)
80(Color): 79(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(e1_00): 7(ptr) Variable Function
10(e1_01): 7(ptr) Variable Function
12(e1_10): 7(ptr) Variable Function
14(e1_11): 7(ptr) Variable Function
16(e1_20): 7(ptr) Variable Function
18(e1_21): 7(ptr) Variable Function
20(e2_00): 7(ptr) Variable Function
22(e2_01): 7(ptr) Variable Function
24(e2_10): 7(ptr) Variable Function
26(e2_11): 7(ptr) Variable Function
28(e2_20): 7(ptr) Variable Function
30(e2_21): 7(ptr) Variable Function
34(r0a): 33(ptr) Variable Function
36(r1a): 33(ptr) Variable Function
38(r2a): 33(ptr) Variable Function
40(r0b): 33(ptr) Variable Function
55(indexable): 54(ptr) Variable Function
58(r0c): 33(ptr) Variable Function
68(psout): 67(ptr) Variable Function
Store 8(e1_00) 9
Store 10(e1_01) 11
Store 12(e1_10) 13
Store 14(e1_11) 15
Store 16(e1_20) 17
Store 18(e1_21) 19
Store 20(e2_00) 21
Store 22(e2_01) 23
Store 24(e2_10) 25
Store 26(e2_11) 27
Store 28(e2_20) 29
Store 30(e2_21) 31
Store 34(r0a) 35
Store 36(r1a) 37
Store 38(r2a) 39
52: 51(ptr) AccessChain 49 50
53: 46(int) Load 52
Store 55(indexable) 45
56: 33(ptr) AccessChain 55(indexable) 53
57: 32(fvec2) Load 56
Store 40(r0b) 57
60: 51(ptr) AccessChain 49 50
61: 46(int) Load 60
63: 62(ptr) AccessChain 49 59 61
64: 32(fvec2) Load 63
Store 58(r0c) 64
69: 6(float) Load 26(e2_11)
70: 65(fvec4) CompositeConstruct 69 69 69 69
72: 71(ptr) AccessChain 68(psout) 50
Store 72 70
75: 71(ptr) AccessChain 68(psout) 50
76: 65(fvec4) Load 75
Store 74(Color) 76
81:8(PS_OUTPUT) FunctionCall 10(@main()
82: 7(fvec4) CompositeExtract 81 0
Store 80(Color) 82
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(e1_00): 12(ptr) Variable Function
15(e1_01): 12(ptr) Variable Function
17(e1_10): 12(ptr) Variable Function
19(e1_11): 12(ptr) Variable Function
21(e1_20): 12(ptr) Variable Function
23(e1_21): 12(ptr) Variable Function
25(e2_00): 12(ptr) Variable Function
27(e2_01): 12(ptr) Variable Function
29(e2_10): 12(ptr) Variable Function
31(e2_11): 12(ptr) Variable Function
33(e2_20): 12(ptr) Variable Function
35(e2_21): 12(ptr) Variable Function
39(r0a): 38(ptr) Variable Function
41(r1a): 38(ptr) Variable Function
43(r2a): 38(ptr) Variable Function
45(r0b): 38(ptr) Variable Function
60(indexable): 59(ptr) Variable Function
63(r0c): 38(ptr) Variable Function
71(psout): 70(ptr) Variable Function
Store 13(e1_00) 14
Store 15(e1_01) 16
Store 17(e1_10) 18
Store 19(e1_11) 20
Store 21(e1_20) 22
Store 23(e1_21) 24
Store 25(e2_00) 26
Store 27(e2_01) 28
Store 29(e2_10) 30
Store 31(e2_11) 32
Store 33(e2_20) 34
Store 35(e2_21) 36
Store 39(r0a) 40
Store 41(r1a) 42
Store 43(r2a) 44
57: 56(ptr) AccessChain 54 55
58: 51(int) Load 57
Store 60(indexable) 50
61: 38(ptr) AccessChain 60(indexable) 58
62: 37(fvec2) Load 61
Store 45(r0b) 62
65: 56(ptr) AccessChain 54 55
66: 51(int) Load 65
68: 67(ptr) AccessChain 54 64 66
69: 37(fvec2) Load 68
Store 63(r0c) 69
72: 6(float) Load 31(e2_11)
73: 7(fvec4) CompositeConstruct 72 72 72 72
75: 74(ptr) AccessChain 71(psout) 55
Store 75 73
76:8(PS_OUTPUT) Load 71(psout)
ReturnValue 76
FunctionEnd

View File

@ -2,18 +2,29 @@ hlsl.max.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input1' (layout(location=0 ) in 4-component vector of float)
0:2 'input2' (layout(location=1 ) in 4-component vector of float)
0:2 'input1' (in 4-component vector of float)
0:2 'input2' (in 4-component vector of float)
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:3 max (temp 4-component vector of float)
0:3 'input1' (layout(location=0 ) in 4-component vector of float)
0:3 'input2' (layout(location=1 ) in 4-component vector of float)
0:3 Branch: Return
0:3 Branch: Return with expression
0:3 max (temp 4-component vector of float)
0:3 'input1' (in 4-component vector of float)
0:3 'input2' (in 4-component vector of float)
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input1' (temp 4-component vector of float)
0:? 'input1' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input2' (temp 4-component vector of float)
0:? 'input2' (layout(location=1 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
0:? 'input1' (temp 4-component vector of float)
0:? 'input2' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input1' (layout(location=0 ) in 4-component vector of float)
@ -26,18 +37,29 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
0:2 Function Definition: @PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input1' (layout(location=0 ) in 4-component vector of float)
0:2 'input2' (layout(location=1 ) in 4-component vector of float)
0:2 'input1' (in 4-component vector of float)
0:2 'input2' (in 4-component vector of float)
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:3 max (temp 4-component vector of float)
0:3 'input1' (layout(location=0 ) in 4-component vector of float)
0:3 'input2' (layout(location=1 ) in 4-component vector of float)
0:3 Branch: Return
0:3 Branch: Return with expression
0:3 max (temp 4-component vector of float)
0:3 'input1' (in 4-component vector of float)
0:3 'input2' (in 4-component vector of float)
0:2 Function Definition: PixelShaderFunction( (temp void)
0:2 Function Parameters:
0:? Sequence
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input1' (temp 4-component vector of float)
0:? 'input1' (layout(location=0 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? 'input2' (temp 4-component vector of float)
0:? 'input2' (layout(location=1 ) in 4-component vector of float)
0:2 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:2 Function Call: @PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
0:? 'input1' (temp 4-component vector of float)
0:? 'input2' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input1' (layout(location=0 ) in 4-component vector of float)
@ -45,34 +67,62 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 17
// Id's are bound by 33
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 11 13
EntryPoint Fragment 4 "PixelShaderFunction" 21 24 27
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 9 "@entryPointOutput"
Name 11 "input1"
Name 13 "input2"
Decorate 9(@entryPointOutput) Location 0
Decorate 11(input1) Location 0
Decorate 13(input2) Location 1
Name 12 "@PixelShaderFunction(vf4;vf4;"
Name 10 "input1"
Name 11 "input2"
Name 19 "input1"
Name 21 "input1"
Name 23 "input2"
Name 24 "input2"
Name 27 "@entryPointOutput"
Name 28 "param"
Name 30 "param"
Decorate 21(input1) Location 0
Decorate 24(input2) Location 1
Decorate 27(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output
10: TypePointer Input 7(fvec4)
11(input1): 10(ptr) Variable Input
13(input2): 10(ptr) Variable Input
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr) 8(ptr)
20: TypePointer Input 7(fvec4)
21(input1): 20(ptr) Variable Input
24(input2): 20(ptr) Variable Input
26: TypePointer Output 7(fvec4)
27(@entryPointOutput): 26(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
12: 7(fvec4) Load 11(input1)
14: 7(fvec4) Load 13(input2)
15: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 12 14
Store 9(@entryPointOutput) 15
19(input1): 8(ptr) Variable Function
23(input2): 8(ptr) Variable Function
28(param): 8(ptr) Variable Function
30(param): 8(ptr) Variable Function
22: 7(fvec4) Load 21(input1)
Store 19(input1) 22
25: 7(fvec4) Load 24(input2)
Store 23(input2) 25
29: 7(fvec4) Load 19(input1)
Store 28(param) 29
31: 7(fvec4) Load 23(input2)
Store 30(param) 31
32: 7(fvec4) FunctionCall 12(@PixelShaderFunction(vf4;vf4;) 28(param) 30(param)
Store 27(@entryPointOutput) 32
Return
FunctionEnd
12(@PixelShaderFunction(vf4;vf4;): 7(fvec4) Function None 9
10(input1): 8(ptr) FunctionParameter
11(input2): 8(ptr) FunctionParameter
13: Label
14: 7(fvec4) Load 10(input1)
15: 7(fvec4) Load 11(input2)
16: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 14 15
ReturnValue 16
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.mintypes.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:9 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:9 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:9 Function Parameters:
0:? Sequence
0:40 add (temp mediump 2-component vector of float)
@ -30,15 +30,18 @@ gl_FragCoord origin is upper left
0:47 0.000000
0:47 0.000000
0:47 0.000000
0:48 Sequence
0:48 Sequence
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Color: direct index for structure (temp 4-component vector of float)
0:48 'psout' (temp structure{temp 4-component vector of float Color})
0:48 Constant:
0:48 0 (const int)
0:48 Branch: Return
0:48 Branch: Return with expression
0:48 'psout' (temp structure{temp 4-component vector of float Color})
0:9 Function Definition: main( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 Sequence
0:9 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:9 Color: direct index for structure (temp 4-component vector of float)
0:9 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:9 Constant:
0:9 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b})
@ -50,7 +53,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:9 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:9 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:9 Function Parameters:
0:? Sequence
0:40 add (temp mediump 2-component vector of float)
@ -78,147 +81,157 @@ gl_FragCoord origin is upper left
0:47 0.000000
0:47 0.000000
0:47 0.000000
0:48 Sequence
0:48 Sequence
0:48 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Color: direct index for structure (temp 4-component vector of float)
0:48 'psout' (temp structure{temp 4-component vector of float Color})
0:48 Constant:
0:48 0 (const int)
0:48 Branch: Return
0:48 Branch: Return with expression
0:48 'psout' (temp structure{temp 4-component vector of float Color})
0:9 Function Definition: main( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 Sequence
0:9 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:9 Color: direct index for structure (temp 4-component vector of float)
0:9 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:9 Constant:
0:9 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 65
// Id's are bound by 70
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 58
EntryPoint Fragment 4 "main" 64
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "mf16_2"
Name 12 "mf16"
Name 16 "mf10_2"
Name 18 "mf10"
Name 25 "mi16_2"
Name 28 "mi16"
Name 32 "mi12_2"
Name 34 "mi12"
Name 41 "mu16_2"
Name 44 "mu16"
Name 49 "PS_OUTPUT"
MemberName 49(PS_OUTPUT) 0 "Color"
Name 51 "psout"
Name 58 "Color"
Name 62 "$Global"
MemberName 62($Global) 0 "b1a"
MemberName 62($Global) 1 "b1b"
Name 64 ""
Decorate 9(mf16_2) RelaxedPrecision
Decorate 10 RelaxedPrecision
Decorate 12(mf16) RelaxedPrecision
Decorate 13 RelaxedPrecision
Decorate 14 RelaxedPrecision
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
Name 10 "@main("
Name 14 "mf16_2"
Name 17 "mf16"
Name 21 "mf10_2"
Name 23 "mf10"
Name 30 "mi16_2"
Name 33 "mi16"
Name 37 "mi12_2"
Name 39 "mi12"
Name 46 "mu16_2"
Name 49 "mu16"
Name 54 "psout"
Name 64 "Color"
Name 67 "$Global"
MemberName 67($Global) 0 "b1a"
MemberName 67($Global) 1 "b1b"
Name 69 ""
Decorate 14(mf16_2) RelaxedPrecision
Decorate 15 RelaxedPrecision
Decorate 16(mf10_2) RelaxedPrecision
Decorate 17 RelaxedPrecision
Decorate 18(mf10) RelaxedPrecision
Decorate 17(mf16) RelaxedPrecision
Decorate 18 RelaxedPrecision
Decorate 19 RelaxedPrecision
Decorate 20 RelaxedPrecision
Decorate 21 RelaxedPrecision
Decorate 25(mi16_2) RelaxedPrecision
Decorate 21(mf10_2) RelaxedPrecision
Decorate 22 RelaxedPrecision
Decorate 23(mf10) RelaxedPrecision
Decorate 24 RelaxedPrecision
Decorate 25 RelaxedPrecision
Decorate 26 RelaxedPrecision
Decorate 28(mi16) RelaxedPrecision
Decorate 29 RelaxedPrecision
Decorate 30 RelaxedPrecision
Decorate 30(mi16_2) RelaxedPrecision
Decorate 31 RelaxedPrecision
Decorate 32(mi12_2) RelaxedPrecision
Decorate 33 RelaxedPrecision
Decorate 34(mi12) RelaxedPrecision
Decorate 33(mi16) RelaxedPrecision
Decorate 34 RelaxedPrecision
Decorate 35 RelaxedPrecision
Decorate 36 RelaxedPrecision
Decorate 37 RelaxedPrecision
Decorate 41(mu16_2) RelaxedPrecision
Decorate 37(mi12_2) RelaxedPrecision
Decorate 38 RelaxedPrecision
Decorate 39(mi12) RelaxedPrecision
Decorate 40 RelaxedPrecision
Decorate 41 RelaxedPrecision
Decorate 42 RelaxedPrecision
Decorate 44(mu16) RelaxedPrecision
Decorate 45 RelaxedPrecision
Decorate 46 RelaxedPrecision
Decorate 46(mu16_2) RelaxedPrecision
Decorate 47 RelaxedPrecision
Decorate 58(Color) Location 0
MemberDecorate 62($Global) 0 RelaxedPrecision
MemberDecorate 62($Global) 0 Offset 0
MemberDecorate 62($Global) 1 RelaxedPrecision
MemberDecorate 62($Global) 1 Offset 4
Decorate 62($Global) Block
Decorate 64 DescriptorSet 0
Decorate 49(mu16) RelaxedPrecision
Decorate 50 RelaxedPrecision
Decorate 51 RelaxedPrecision
Decorate 52 RelaxedPrecision
Decorate 64(Color) Location 0
MemberDecorate 67($Global) 0 RelaxedPrecision
MemberDecorate 67($Global) 0 Offset 0
MemberDecorate 67($Global) 1 RelaxedPrecision
MemberDecorate 67($Global) 1 Offset 4
Decorate 67($Global) Block
Decorate 69 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 2
8: TypePointer Function 7(fvec2)
11: TypePointer Function 6(float)
22: TypeInt 32 1
23: TypeVector 22(int) 2
24: TypePointer Function 23(ivec2)
27: TypePointer Function 22(int)
38: TypeInt 32 0
39: TypeVector 38(int) 2
40: TypePointer Function 39(ivec2)
43: TypePointer Function 38(int)
48: TypeVector 6(float) 4
49(PS_OUTPUT): TypeStruct 48(fvec4)
50: TypePointer Function 49(PS_OUTPUT)
52: 22(int) Constant 0
53: 6(float) Constant 0
54: 48(fvec4) ConstantComposite 53 53 53 53
55: TypePointer Function 48(fvec4)
57: TypePointer Output 48(fvec4)
58(Color): 57(ptr) Variable Output
62($Global): TypeStruct 6(float) 6(float)
63: TypePointer Uniform 62($Global)
64: 63(ptr) Variable Uniform
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypeVector 6(float) 2
13: TypePointer Function 12(fvec2)
16: TypePointer Function 6(float)
27: TypeInt 32 1
28: TypeVector 27(int) 2
29: TypePointer Function 28(ivec2)
32: TypePointer Function 27(int)
43: TypeInt 32 0
44: TypeVector 43(int) 2
45: TypePointer Function 44(ivec2)
48: TypePointer Function 43(int)
53: TypePointer Function 8(PS_OUTPUT)
55: 27(int) Constant 0
56: 6(float) Constant 0
57: 7(fvec4) ConstantComposite 56 56 56 56
58: TypePointer Function 7(fvec4)
63: TypePointer Output 7(fvec4)
64(Color): 63(ptr) Variable Output
67($Global): TypeStruct 6(float) 6(float)
68: TypePointer Uniform 67($Global)
69: 68(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
9(mf16_2): 8(ptr) Variable Function
12(mf16): 11(ptr) Variable Function
16(mf10_2): 8(ptr) Variable Function
18(mf10): 11(ptr) Variable Function
25(mi16_2): 24(ptr) Variable Function
28(mi16): 27(ptr) Variable Function
32(mi12_2): 24(ptr) Variable Function
34(mi12): 27(ptr) Variable Function
41(mu16_2): 40(ptr) Variable Function
44(mu16): 43(ptr) Variable Function
51(psout): 50(ptr) Variable Function
10: 7(fvec2) Load 9(mf16_2)
13: 6(float) Load 12(mf16)
14: 7(fvec2) CompositeConstruct 13 13
15: 7(fvec2) FAdd 10 14
17: 7(fvec2) Load 16(mf10_2)
19: 6(float) Load 18(mf10)
20: 7(fvec2) CompositeConstruct 19 19
21: 7(fvec2) FAdd 17 20
26: 23(ivec2) Load 25(mi16_2)
29: 22(int) Load 28(mi16)
30: 23(ivec2) CompositeConstruct 29 29
31: 23(ivec2) IAdd 26 30
33: 23(ivec2) Load 32(mi12_2)
35: 22(int) Load 34(mi12)
36: 23(ivec2) CompositeConstruct 35 35
37: 23(ivec2) IAdd 33 36
42: 39(ivec2) Load 41(mu16_2)
45: 38(int) Load 44(mu16)
46: 39(ivec2) CompositeConstruct 45 45
47: 39(ivec2) IAdd 42 46
56: 55(ptr) AccessChain 51(psout) 52
Store 56 54
59: 55(ptr) AccessChain 51(psout) 52
60: 48(fvec4) Load 59
Store 58(Color) 60
65:8(PS_OUTPUT) FunctionCall 10(@main()
66: 7(fvec4) CompositeExtract 65 0
Store 64(Color) 66
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
14(mf16_2): 13(ptr) Variable Function
17(mf16): 16(ptr) Variable Function
21(mf10_2): 13(ptr) Variable Function
23(mf10): 16(ptr) Variable Function
30(mi16_2): 29(ptr) Variable Function
33(mi16): 32(ptr) Variable Function
37(mi12_2): 29(ptr) Variable Function
39(mi12): 32(ptr) Variable Function
46(mu16_2): 45(ptr) Variable Function
49(mu16): 48(ptr) Variable Function
54(psout): 53(ptr) Variable Function
15: 12(fvec2) Load 14(mf16_2)
18: 6(float) Load 17(mf16)
19: 12(fvec2) CompositeConstruct 18 18
20: 12(fvec2) FAdd 15 19
22: 12(fvec2) Load 21(mf10_2)
24: 6(float) Load 23(mf10)
25: 12(fvec2) CompositeConstruct 24 24
26: 12(fvec2) FAdd 22 25
31: 28(ivec2) Load 30(mi16_2)
34: 27(int) Load 33(mi16)
35: 28(ivec2) CompositeConstruct 34 34
36: 28(ivec2) IAdd 31 35
38: 28(ivec2) Load 37(mi12_2)
40: 27(int) Load 39(mi12)
41: 28(ivec2) CompositeConstruct 40 40
42: 28(ivec2) IAdd 38 41
47: 44(ivec2) Load 46(mu16_2)
50: 43(int) Load 49(mu16)
51: 44(ivec2) CompositeConstruct 50 50
52: 44(ivec2) IAdd 47 51
59: 58(ptr) AccessChain 54(psout) 55
Store 59 57
60:8(PS_OUTPUT) Load 54(psout)
ReturnValue 60
FunctionEnd

View File

@ -10,20 +10,27 @@ Shader version: 450
0:5 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:5 Convert uint to int (temp int)
0:5 'Index' (in uint)
0:9 Function Definition: RealEntrypoint(u1; (temp 4-component vector of float Position)
0:9 Function Definition: @RealEntrypoint(u1; (temp 4-component vector of float Position)
0:9 Function Parameters:
0:9 'Index' (in uint VertexIndex)
0:? Sequence
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float)
0:10 'Index' (in uint VertexIndex)
0:10 Branch: Return
0:10 Branch: Return with expression
0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float)
0:10 'Index' (in uint VertexIndex)
0:9 Function Definition: RealEntrypoint( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 move second child to first child (temp uint)
0:? 'Index' (temp uint)
0:? 'Index' (in uint VertexIndex)
0:9 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:9 Function Call: @RealEntrypoint(u1; (temp 4-component vector of float Position)
0:? 'Index' (temp uint)
0:? Linker Objects
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:? 'Index' (in uint VertexIndex)
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
Linked vertex stage:
@ -40,40 +47,51 @@ Shader version: 450
0:5 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:5 Convert uint to int (temp int)
0:5 'Index' (in uint)
0:9 Function Definition: RealEntrypoint(u1; (temp 4-component vector of float Position)
0:9 Function Definition: @RealEntrypoint(u1; (temp 4-component vector of float Position)
0:9 Function Parameters:
0:9 'Index' (in uint VertexIndex)
0:? Sequence
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float)
0:10 'Index' (in uint VertexIndex)
0:10 Branch: Return
0:10 Branch: Return with expression
0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float)
0:10 'Index' (in uint VertexIndex)
0:9 Function Definition: RealEntrypoint( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 move second child to first child (temp uint)
0:? 'Index' (temp uint)
0:? 'Index' (in uint VertexIndex)
0:9 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:9 Function Call: @RealEntrypoint(u1; (temp 4-component vector of float Position)
0:? 'Index' (temp uint)
0:? Linker Objects
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:? 'Index' (in uint VertexIndex)
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 34
// Id's are bound by 43
Capability Shader
Capability SampledBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "RealEntrypoint" 27 29
EntryPoint Vertex 4 "RealEntrypoint" 36 39
Name 4 "RealEntrypoint"
Name 12 "FakeEntrypoint(u1;"
Name 11 "Index"
Name 17 "Position"
Name 27 "@entryPointOutput"
Name 29 "Index"
Name 30 "param"
Decorate 17(Position) DescriptorSet 0
Decorate 27(@entryPointOutput) BuiltIn Position
Decorate 29(Index) BuiltIn VertexIndex
Name 15 "@RealEntrypoint(u1;"
Name 14 "Index"
Name 20 "Position"
Name 29 "param"
Name 34 "Index"
Name 36 "Index"
Name 39 "@entryPointOutput"
Name 40 "param"
Decorate 20(Position) DescriptorSet 0
Decorate 36(Index) BuiltIn VertexIndex
Decorate 39(@entryPointOutput) BuiltIn Position
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@ -81,31 +99,43 @@ Shader version: 450
8: TypeFloat 32
9: TypeVector 8(float) 4
10: TypeFunction 9(fvec4) 7(ptr)
14: TypeImage 8(float) Buffer sampled format:Rgba32f
15: TypeSampledImage 14
16: TypePointer UniformConstant 15
17(Position): 16(ptr) Variable UniformConstant
20: TypeInt 32 1
26: TypePointer Output 9(fvec4)
27(@entryPointOutput): 26(ptr) Variable Output
28: TypePointer Input 6(int)
29(Index): 28(ptr) Variable Input
17: TypeImage 8(float) Buffer sampled format:Rgba32f
18: TypeSampledImage 17
19: TypePointer UniformConstant 18
20(Position): 19(ptr) Variable UniformConstant
23: TypeInt 32 1
35: TypePointer Input 6(int)
36(Index): 35(ptr) Variable Input
38: TypePointer Output 9(fvec4)
39(@entryPointOutput): 38(ptr) Variable Output
4(RealEntrypoint): 2 Function None 3
5: Label
30(param): 7(ptr) Variable Function
31: 6(int) Load 29(Index)
Store 30(param) 31
32: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 30(param)
Store 27(@entryPointOutput) 32
34(Index): 7(ptr) Variable Function
40(param): 7(ptr) Variable Function
37: 6(int) Load 36(Index)
Store 34(Index) 37
41: 6(int) Load 34(Index)
Store 40(param) 41
42: 9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 40(param)
Store 39(@entryPointOutput) 42
Return
FunctionEnd
12(FakeEntrypoint(u1;): 9(fvec4) Function None 10
11(Index): 7(ptr) FunctionParameter
13: Label
18: 15 Load 17(Position)
19: 6(int) Load 11(Index)
21: 20(int) Bitcast 19
22: 14 Image 18
23: 9(fvec4) ImageFetch 22 21
ReturnValue 23
21: 18 Load 20(Position)
22: 6(int) Load 11(Index)
24: 23(int) Bitcast 22
25: 17 Image 21
26: 9(fvec4) ImageFetch 25 24
ReturnValue 26
FunctionEnd
15(@RealEntrypoint(u1;): 9(fvec4) Function None 10
14(Index): 7(ptr) FunctionParameter
16: Label
29(param): 7(ptr) Variable Function
30: 6(int) Load 14(Index)
Store 29(param) 30
31: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 29(param)
ReturnValue 31
FunctionEnd

View File

@ -10,10 +10,14 @@ gl_FragCoord origin is upper left
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s})
0:13 Constant:
0:13 0 (const uint)
0:17 Function Definition: main( (temp void)
0:17 Function Definition: @main( (temp void)
0:17 Function Parameters:
0:? Sequence
0:18 Function Call: foo( (temp structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m})
0:17 Function Definition: main( (temp void)
0:17 Function Parameters:
0:? Sequence
0:17 Function Call: @main( (temp void)
0:? Linker Objects
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s})
@ -32,16 +36,20 @@ gl_FragCoord origin is upper left
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s})
0:13 Constant:
0:13 0 (const uint)
0:17 Function Definition: main( (temp void)
0:17 Function Definition: @main( (temp void)
0:17 Function Parameters:
0:? Sequence
0:18 Function Call: foo( (temp structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m})
0:17 Function Definition: main( (temp void)
0:17 Function Parameters:
0:? Sequence
0:17 Function Call: @main( (temp void)
0:? Linker Objects
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 39
// Id's are bound by 42
Capability Shader
1: ExtInstImport "GLSL.std.450"
@ -54,21 +62,22 @@ gl_FragCoord origin is upper left
MemberName 9(S) 1 "v"
MemberName 9(S) 2 "m"
Name 11 "foo("
Name 13 "S"
MemberName 13(S) 0 "f"
MemberName 13(S) 1 "v"
MemberName 13(S) 2 "m"
Name 14 "bufName"
MemberName 14(bufName) 0 "s"
Name 16 ""
MemberDecorate 13(S) 0 Offset 0
MemberDecorate 13(S) 1 Offset 16
MemberDecorate 13(S) 2 RowMajor
MemberDecorate 13(S) 2 Offset 32
MemberDecorate 13(S) 2 MatrixStride 16
MemberDecorate 14(bufName) 0 Offset 0
Decorate 14(bufName) Block
Decorate 16 DescriptorSet 0
Name 13 "@main("
Name 15 "S"
MemberName 15(S) 0 "f"
MemberName 15(S) 1 "v"
MemberName 15(S) 2 "m"
Name 16 "bufName"
MemberName 16(bufName) 0 "s"
Name 18 ""
MemberDecorate 15(S) 0 Offset 0
MemberDecorate 15(S) 1 Offset 16
MemberDecorate 15(S) 2 RowMajor
MemberDecorate 15(S) 2 Offset 32
MemberDecorate 15(S) 2 MatrixStride 16
MemberDecorate 16(bufName) 0 Offset 0
Decorate 16(bufName) Block
Decorate 18 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -76,38 +85,43 @@ gl_FragCoord origin is upper left
8: TypeMatrix 7(fvec3) 3
9(S): TypeStruct 6(float) 7(fvec3) 8
10: TypeFunction 9(S)
13(S): TypeStruct 6(float) 7(fvec3) 8
14(bufName): TypeStruct 13(S)
15: TypePointer Uniform 14(bufName)
16: 15(ptr) Variable Uniform
17: TypeInt 32 1
18: 17(int) Constant 0
19: TypePointer Uniform 13(S)
22: TypePointer Function 9(S)
25: TypePointer Function 6(float)
28: 17(int) Constant 1
29: TypePointer Function 7(fvec3)
32: 17(int) Constant 2
33: TypePointer Function 8
15(S): TypeStruct 6(float) 7(fvec3) 8
16(bufName): TypeStruct 15(S)
17: TypePointer Uniform 16(bufName)
18: 17(ptr) Variable Uniform
19: TypeInt 32 1
20: 19(int) Constant 0
21: TypePointer Uniform 15(S)
24: TypePointer Function 9(S)
27: TypePointer Function 6(float)
30: 19(int) Constant 1
31: TypePointer Function 7(fvec3)
34: 19(int) Constant 2
35: TypePointer Function 8
4(main): 2 Function None 3
5: Label
38: 9(S) FunctionCall 11(foo()
41: 2 FunctionCall 13(@main()
Return
FunctionEnd
11(foo(): 9(S) Function None 10
12: Label
23: 22(ptr) Variable Function
20: 19(ptr) AccessChain 16 18
21: 13(S) Load 20
24: 6(float) CompositeExtract 21 0
26: 25(ptr) AccessChain 23 18
Store 26 24
27: 7(fvec3) CompositeExtract 21 1
30: 29(ptr) AccessChain 23 28
Store 30 27
31: 8 CompositeExtract 21 2
34: 33(ptr) AccessChain 23 32
Store 34 31
35: 9(S) Load 23
ReturnValue 35
25: 24(ptr) Variable Function
22: 21(ptr) AccessChain 18 20
23: 15(S) Load 22
26: 6(float) CompositeExtract 23 0
28: 27(ptr) AccessChain 25 20
Store 28 26
29: 7(fvec3) CompositeExtract 23 1
32: 31(ptr) AccessChain 25 30
Store 32 29
33: 8 CompositeExtract 23 2
36: 35(ptr) AccessChain 25 34
Store 36 33
37: 9(S) Load 25
ReturnValue 37
FunctionEnd
13(@main(): 2 Function None 3
14: Label
40: 9(S) FunctionCall 11(foo()
Return
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.numericsuffixes.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:5 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:5 Function Parameters:
0:? Sequence
0:7 Sequence
@ -58,15 +58,18 @@ gl_FragCoord origin is upper left
0:18 Construct vec4 (temp 4-component vector of float)
0:18 Convert int to float (temp float)
0:18 'r07' (temp int)
0:19 Sequence
0:19 Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:19 color: direct index for structure (temp 4-component vector of float)
0:19 'ps_output' (temp structure{temp 4-component vector of float color})
0:19 Constant:
0:19 0 (const int)
0:19 Branch: Return
0:19 Branch: Return with expression
0:19 'ps_output' (temp structure{temp 4-component vector of float color})
0:5 Function Definition: main( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 Sequence
0:5 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:5 color: direct index for structure (temp 4-component vector of float)
0:5 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:5 Constant:
0:5 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
@ -77,7 +80,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:5 Function Definition: @main( (temp structure{temp 4-component vector of float color})
0:5 Function Parameters:
0:? Sequence
0:7 Sequence
@ -133,93 +136,103 @@ gl_FragCoord origin is upper left
0:18 Construct vec4 (temp 4-component vector of float)
0:18 Convert int to float (temp float)
0:18 'r07' (temp int)
0:19 Sequence
0:19 Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:19 color: direct index for structure (temp 4-component vector of float)
0:19 'ps_output' (temp structure{temp 4-component vector of float color})
0:19 Constant:
0:19 0 (const int)
0:19 Branch: Return
0:19 Branch: Return with expression
0:19 'ps_output' (temp structure{temp 4-component vector of float color})
0:5 Function Definition: main( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 Sequence
0:5 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:5 color: direct index for structure (temp 4-component vector of float)
0:5 Function Call: @main( (temp structure{temp 4-component vector of float color})
0:5 Constant:
0:5 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 44
// Id's are bound by 49
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 40
EntryPoint Fragment 4 "main" 46
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "r00"
Name 12 "r01"
Name 14 "r02"
Name 16 "r03"
Name 18 "r04"
Name 21 "r05"
Name 23 "r06"
Name 25 "r07"
Name 27 "r08"
Name 30 "PS_OUTPUT"
MemberName 30(PS_OUTPUT) 0 "color"
Name 32 "ps_output"
Name 40 "color"
Decorate 40(color) Location 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "color"
Name 10 "@main("
Name 13 "r00"
Name 17 "r01"
Name 19 "r02"
Name 21 "r03"
Name 23 "r04"
Name 26 "r05"
Name 28 "r06"
Name 30 "r07"
Name 32 "r08"
Name 35 "ps_output"
Name 46 "color"
Decorate 46(color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
9: 6(float) Constant 1065353216
10: TypeInt 32 0
11: TypePointer Function 10(int)
13: 10(int) Constant 1
15: 10(int) Constant 2
17: 10(int) Constant 2748
19: TypeInt 32 1
20: TypePointer Function 19(int)
22: 19(int) Constant 5
24: 19(int) Constant 6
26: 19(int) Constant 57
28: 10(int) Constant 58
29: TypeVector 6(float) 4
30(PS_OUTPUT): TypeStruct 29(fvec4)
31: TypePointer Function 30(PS_OUTPUT)
33: 19(int) Constant 0
37: TypePointer Function 29(fvec4)
39: TypePointer Output 29(fvec4)
40(color): 39(ptr) Variable Output
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 6(float)
14: 6(float) Constant 1065353216
15: TypeInt 32 0
16: TypePointer Function 15(int)
18: 15(int) Constant 1
20: 15(int) Constant 2
22: 15(int) Constant 2748
24: TypeInt 32 1
25: TypePointer Function 24(int)
27: 24(int) Constant 5
29: 24(int) Constant 6
31: 24(int) Constant 57
33: 15(int) Constant 58
34: TypePointer Function 8(PS_OUTPUT)
36: 24(int) Constant 0
40: TypePointer Function 7(fvec4)
45: TypePointer Output 7(fvec4)
46(color): 45(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(r00): 7(ptr) Variable Function
12(r01): 11(ptr) Variable Function
14(r02): 11(ptr) Variable Function
16(r03): 11(ptr) Variable Function
18(r04): 11(ptr) Variable Function
21(r05): 20(ptr) Variable Function
23(r06): 20(ptr) Variable Function
25(r07): 20(ptr) Variable Function
27(r08): 11(ptr) Variable Function
32(ps_output): 31(ptr) Variable Function
Store 8(r00) 9
Store 12(r01) 13
Store 14(r02) 15
Store 16(r03) 17
Store 18(r04) 17
Store 21(r05) 22
Store 23(r06) 24
Store 25(r07) 26
Store 27(r08) 28
34: 19(int) Load 25(r07)
35: 6(float) ConvertSToF 34
36: 29(fvec4) CompositeConstruct 35 35 35 35
38: 37(ptr) AccessChain 32(ps_output) 33
Store 38 36
41: 37(ptr) AccessChain 32(ps_output) 33
42: 29(fvec4) Load 41
Store 40(color) 42
47:8(PS_OUTPUT) FunctionCall 10(@main()
48: 7(fvec4) CompositeExtract 47 0
Store 46(color) 48
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(r00): 12(ptr) Variable Function
17(r01): 16(ptr) Variable Function
19(r02): 16(ptr) Variable Function
21(r03): 16(ptr) Variable Function
23(r04): 16(ptr) Variable Function
26(r05): 25(ptr) Variable Function
28(r06): 25(ptr) Variable Function
30(r07): 25(ptr) Variable Function
32(r08): 16(ptr) Variable Function
35(ps_output): 34(ptr) Variable Function
Store 13(r00) 14
Store 17(r01) 18
Store 19(r02) 20
Store 21(r03) 22
Store 23(r04) 22
Store 26(r05) 27
Store 28(r06) 29
Store 30(r07) 31
Store 32(r08) 33
37: 24(int) Load 30(r07)
38: 6(float) ConvertSToF 37
39: 7(fvec4) CompositeConstruct 38 38 38 38
41: 40(ptr) AccessChain 35(ps_output) 36
Store 41 39
42:8(PS_OUTPUT) Load 35(ps_output)
ReturnValue 42
FunctionEnd

View File

@ -5,9 +5,17 @@ local_size = (4, 4, 2)
0:4 Function Definition: main(vu3; (temp void)
0:4 Function Parameters:
0:4 'tid' (in 3-component vector of uint)
0:9 Function Definition: main_aux1(vu3; (temp void)
0:9 Function Definition: @main_aux1(vu3; (temp void)
0:9 Function Parameters:
0:9 'tid' (in 3-component vector of uint GlobalInvocationID)
0:9 Function Definition: main_aux1( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 move second child to first child (temp 3-component vector of uint)
0:? 'tid' (temp 3-component vector of uint)
0:? 'tid' (in 3-component vector of uint GlobalInvocationID)
0:9 Function Call: @main_aux1(vu3; (temp void)
0:? 'tid' (temp 3-component vector of uint)
0:? Linker Objects
0:? 'tid' (in 3-component vector of uint GlobalInvocationID)
@ -21,36 +29,55 @@ local_size = (4, 4, 2)
0:4 Function Definition: main(vu3; (temp void)
0:4 Function Parameters:
0:4 'tid' (in 3-component vector of uint)
0:9 Function Definition: main_aux1(vu3; (temp void)
0:9 Function Definition: @main_aux1(vu3; (temp void)
0:9 Function Parameters:
0:9 'tid' (in 3-component vector of uint GlobalInvocationID)
0:9 Function Definition: main_aux1( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 move second child to first child (temp 3-component vector of uint)
0:? 'tid' (temp 3-component vector of uint)
0:? 'tid' (in 3-component vector of uint GlobalInvocationID)
0:9 Function Call: @main_aux1(vu3; (temp void)
0:? 'tid' (temp 3-component vector of uint)
0:? Linker Objects
0:? 'tid' (in 3-component vector of uint GlobalInvocationID)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 15
// Id's are bound by 23
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main_aux1" 14
EntryPoint GLCompute 4 "main_aux1" 18
ExecutionMode 4 LocalSize 4 4 2
Name 4 "main_aux1"
Name 11 "main(vu3;"
Name 10 "tid"
Name 14 "tid"
Decorate 14(tid) BuiltIn GlobalInvocationId
Name 14 "@main_aux1(vu3;"
Name 13 "tid"
Name 16 "tid"
Name 18 "tid"
Name 20 "param"
Decorate 18(tid) BuiltIn GlobalInvocationId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypeVector 6(int) 3
8: TypePointer Function 7(ivec3)
9: TypeFunction 2 8(ptr)
13: TypePointer Input 7(ivec3)
14(tid): 13(ptr) Variable Input
17: TypePointer Input 7(ivec3)
18(tid): 17(ptr) Variable Input
4(main_aux1): 2 Function None 3
5: Label
16(tid): 8(ptr) Variable Function
20(param): 8(ptr) Variable Function
19: 7(ivec3) Load 18(tid)
Store 16(tid) 19
21: 7(ivec3) Load 16(tid)
Store 20(param) 21
22: 2 FunctionCall 14(@main_aux1(vu3;) 20(param)
Return
FunctionEnd
11(main(vu3;): 2 Function None 9
@ -58,3 +85,8 @@ local_size = (4, 4, 2)
12: Label
Return
FunctionEnd
14(@main_aux1(vu3;): 2 Function None 9
13(tid): 8(ptr) FunctionParameter
15: Label
Return
FunctionEnd

File diff suppressed because it is too large Load Diff

View File

@ -55,7 +55,7 @@ gl_FragCoord origin is upper left
0:32 Function Definition: fn3(i1; (temp void)
0:32 Function Parameters:
0:32 'p0' (in int)
0:36 Function Definition: main( (temp 4-component vector of int)
0:36 Function Definition: @main( (temp 4-component vector of int)
0:36 Function Parameters:
0:? Sequence
0:37 Sequence
@ -70,117 +70,120 @@ gl_FragCoord origin is upper left
0:40 Function Call: fn3(i1; (temp void)
0:40 Constant:
0:40 5 (const int)
0:50 Sequence
0:50 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:49 add (temp 4-component vector of int)
0:47 add (temp 4-component vector of int)
0:46 add (temp 4-component vector of int)
0:45 add (temp 4-component vector of int)
0:44 add (temp 4-component vector of int)
0:43 add (temp 4-component vector of int)
0:42 add (temp 4-component vector of int)
0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:42 Constant:
0:42 100 (const int)
0:42 100 (const int)
0:42 100 (const int)
0:42 100 (const int)
0:? Constant:
0:? -1 (const int)
0:? -2 (const int)
0:? -3 (const int)
0:? -4 (const int)
0:15 Constant:
0:15 1 (const int)
0:15 2 (const int)
0:16 Constant:
0:16 42 (const int)
0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:43 Constant:
0:43 101 (const int)
0:43 101 (const int)
0:43 101 (const int)
0:43 101 (const int)
0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4})
0:43 Constant:
0:43 0 (const uint)
0:15 Constant:
0:15 1 (const int)
0:15 2 (const int)
0:16 Constant:
0:16 42 (const int)
0:44 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:44 Constant:
0:44 102 (const int)
0:44 102 (const int)
0:44 102 (const int)
0:44 102 (const int)
0:44 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4})
0:44 Constant:
0:44 0 (const uint)
0:44 'myarray' (temp 2-element array of int)
0:50 Branch: Return with expression
0:49 add (temp 4-component vector of int)
0:47 add (temp 4-component vector of int)
0:46 add (temp 4-component vector of int)
0:45 add (temp 4-component vector of int)
0:44 add (temp 4-component vector of int)
0:43 add (temp 4-component vector of int)
0:42 add (temp 4-component vector of int)
0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:42 Constant:
0:42 100 (const int)
0:42 100 (const int)
0:42 100 (const int)
0:42 100 (const int)
0:? Constant:
0:? -1 (const int)
0:? -2 (const int)
0:? -3 (const int)
0:? -4 (const int)
0:15 Constant:
0:15 1 (const int)
0:15 2 (const int)
0:16 Constant:
0:16 42 (const int)
0:45 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:43 Constant:
0:43 101 (const int)
0:43 101 (const int)
0:43 101 (const int)
0:43 101 (const int)
0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4})
0:43 Constant:
0:43 0 (const uint)
0:15 Constant:
0:15 1 (const int)
0:15 2 (const int)
0:16 Constant:
0:16 42 (const int)
0:44 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:44 Constant:
0:44 102 (const int)
0:44 102 (const int)
0:44 102 (const int)
0:44 102 (const int)
0:44 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4})
0:44 Constant:
0:44 0 (const uint)
0:44 'myarray' (temp 2-element array of int)
0:16 Constant:
0:16 42 (const int)
0:45 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:45 Constant:
0:45 103 (const int)
0:45 103 (const int)
0:45 103 (const int)
0:45 103 (const int)
0:45 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4})
0:45 Constant:
0:45 103 (const int)
0:45 103 (const int)
0:45 103 (const int)
0:45 103 (const int)
0:45 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4})
0:45 Constant:
0:45 0 (const uint)
0:45 'myarray' (temp 2-element array of int)
0:45 Constant:
0:45 99 (const int)
0:46 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:46 Constant:
0:46 104 (const int)
0:46 104 (const int)
0:46 104 (const int)
0:46 104 (const int)
0:46 Constant:
0:46 false (const bool)
0:9 Constant:
0:9 false (const bool)
0:47 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:47 Constant:
0:47 105 (const int)
0:47 105 (const int)
0:47 105 (const int)
0:47 105 (const int)
0:47 Constant:
0:47 false (const bool)
0:47 Constant:
0:47 true (const bool)
0:49 Function Call: fn2(vi4;f1; (temp 4-component vector of int)
0:49 Constant:
0:49 110 (const int)
0:49 110 (const int)
0:49 110 (const int)
0:49 110 (const int)
0:49 Constant:
0:49 11.110000
0:50 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:50 Constant:
0:50 111 (const int)
0:50 111 (const int)
0:50 111 (const int)
0:50 111 (const int)
0:50 Constant:
0:50 12 (const int)
0:50 Branch: Return
0:45 0 (const uint)
0:45 'myarray' (temp 2-element array of int)
0:45 Constant:
0:45 99 (const int)
0:46 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:46 Constant:
0:46 104 (const int)
0:46 104 (const int)
0:46 104 (const int)
0:46 104 (const int)
0:46 Constant:
0:46 false (const bool)
0:9 Constant:
0:9 false (const bool)
0:47 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:47 Constant:
0:47 105 (const int)
0:47 105 (const int)
0:47 105 (const int)
0:47 105 (const int)
0:47 Constant:
0:47 false (const bool)
0:47 Constant:
0:47 true (const bool)
0:49 Function Call: fn2(vi4;f1; (temp 4-component vector of int)
0:49 Constant:
0:49 110 (const int)
0:49 110 (const int)
0:49 110 (const int)
0:49 110 (const int)
0:49 Constant:
0:49 11.110000
0:50 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:50 Constant:
0:50 111 (const int)
0:50 111 (const int)
0:50 111 (const int)
0:50 111 (const int)
0:50 Constant:
0:50 12 (const int)
0:36 Function Definition: main( (temp void)
0:36 Function Parameters:
0:? Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:36 Function Call: @main( (temp 4-component vector of int)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:? 'cia' (const int)
0:? -4 (const int)
0:? 'cib' (const int)
0:? -42 (const int)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
Linked fragment stage:
@ -242,7 +245,7 @@ gl_FragCoord origin is upper left
0:32 Function Definition: fn3(i1; (temp void)
0:32 Function Parameters:
0:32 'p0' (in int)
0:36 Function Definition: main( (temp 4-component vector of int)
0:36 Function Definition: @main( (temp 4-component vector of int)
0:36 Function Parameters:
0:? Sequence
0:37 Sequence
@ -257,126 +260,129 @@ gl_FragCoord origin is upper left
0:40 Function Call: fn3(i1; (temp void)
0:40 Constant:
0:40 5 (const int)
0:50 Sequence
0:50 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:49 add (temp 4-component vector of int)
0:47 add (temp 4-component vector of int)
0:46 add (temp 4-component vector of int)
0:45 add (temp 4-component vector of int)
0:44 add (temp 4-component vector of int)
0:43 add (temp 4-component vector of int)
0:42 add (temp 4-component vector of int)
0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:42 Constant:
0:42 100 (const int)
0:42 100 (const int)
0:42 100 (const int)
0:42 100 (const int)
0:? Constant:
0:? -1 (const int)
0:? -2 (const int)
0:? -3 (const int)
0:? -4 (const int)
0:15 Constant:
0:15 1 (const int)
0:15 2 (const int)
0:16 Constant:
0:16 42 (const int)
0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:43 Constant:
0:43 101 (const int)
0:43 101 (const int)
0:43 101 (const int)
0:43 101 (const int)
0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4})
0:43 Constant:
0:43 0 (const uint)
0:15 Constant:
0:15 1 (const int)
0:15 2 (const int)
0:16 Constant:
0:16 42 (const int)
0:44 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:44 Constant:
0:44 102 (const int)
0:44 102 (const int)
0:44 102 (const int)
0:44 102 (const int)
0:44 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4})
0:44 Constant:
0:44 0 (const uint)
0:44 'myarray' (temp 2-element array of int)
0:50 Branch: Return with expression
0:49 add (temp 4-component vector of int)
0:47 add (temp 4-component vector of int)
0:46 add (temp 4-component vector of int)
0:45 add (temp 4-component vector of int)
0:44 add (temp 4-component vector of int)
0:43 add (temp 4-component vector of int)
0:42 add (temp 4-component vector of int)
0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:42 Constant:
0:42 100 (const int)
0:42 100 (const int)
0:42 100 (const int)
0:42 100 (const int)
0:? Constant:
0:? -1 (const int)
0:? -2 (const int)
0:? -3 (const int)
0:? -4 (const int)
0:15 Constant:
0:15 1 (const int)
0:15 2 (const int)
0:16 Constant:
0:16 42 (const int)
0:45 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:43 Constant:
0:43 101 (const int)
0:43 101 (const int)
0:43 101 (const int)
0:43 101 (const int)
0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4})
0:43 Constant:
0:43 0 (const uint)
0:15 Constant:
0:15 1 (const int)
0:15 2 (const int)
0:16 Constant:
0:16 42 (const int)
0:44 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:44 Constant:
0:44 102 (const int)
0:44 102 (const int)
0:44 102 (const int)
0:44 102 (const int)
0:44 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4})
0:44 Constant:
0:44 0 (const uint)
0:44 'myarray' (temp 2-element array of int)
0:16 Constant:
0:16 42 (const int)
0:45 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:45 Constant:
0:45 103 (const int)
0:45 103 (const int)
0:45 103 (const int)
0:45 103 (const int)
0:45 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4})
0:45 Constant:
0:45 103 (const int)
0:45 103 (const int)
0:45 103 (const int)
0:45 103 (const int)
0:45 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4})
0:45 Constant:
0:45 0 (const uint)
0:45 'myarray' (temp 2-element array of int)
0:45 Constant:
0:45 99 (const int)
0:46 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:46 Constant:
0:46 104 (const int)
0:46 104 (const int)
0:46 104 (const int)
0:46 104 (const int)
0:46 Constant:
0:46 false (const bool)
0:9 Constant:
0:9 false (const bool)
0:47 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:47 Constant:
0:47 105 (const int)
0:47 105 (const int)
0:47 105 (const int)
0:47 105 (const int)
0:47 Constant:
0:47 false (const bool)
0:47 Constant:
0:47 true (const bool)
0:49 Function Call: fn2(vi4;f1; (temp 4-component vector of int)
0:49 Constant:
0:49 110 (const int)
0:49 110 (const int)
0:49 110 (const int)
0:49 110 (const int)
0:49 Constant:
0:49 11.110000
0:50 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:50 Constant:
0:50 111 (const int)
0:50 111 (const int)
0:50 111 (const int)
0:50 111 (const int)
0:50 Constant:
0:50 12 (const int)
0:50 Branch: Return
0:45 0 (const uint)
0:45 'myarray' (temp 2-element array of int)
0:45 Constant:
0:45 99 (const int)
0:46 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:46 Constant:
0:46 104 (const int)
0:46 104 (const int)
0:46 104 (const int)
0:46 104 (const int)
0:46 Constant:
0:46 false (const bool)
0:9 Constant:
0:9 false (const bool)
0:47 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:47 Constant:
0:47 105 (const int)
0:47 105 (const int)
0:47 105 (const int)
0:47 105 (const int)
0:47 Constant:
0:47 false (const bool)
0:47 Constant:
0:47 true (const bool)
0:49 Function Call: fn2(vi4;f1; (temp 4-component vector of int)
0:49 Constant:
0:49 110 (const int)
0:49 110 (const int)
0:49 110 (const int)
0:49 110 (const int)
0:49 Constant:
0:49 11.110000
0:50 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:50 Constant:
0:50 111 (const int)
0:50 111 (const int)
0:50 111 (const int)
0:50 111 (const int)
0:50 Constant:
0:50 12 (const int)
0:36 Function Definition: main( (temp void)
0:36 Function Parameters:
0:? Sequence
0:36 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:36 Function Call: @main( (temp 4-component vector of int)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:? 'cia' (const int)
0:? -4 (const int)
0:? 'cib' (const int)
0:? -42 (const int)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 173
// Id's are bound by 178
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 88
EntryPoint Fragment 4 "main" 175
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 15 "fn1(vi4;b1;b1;"
@ -396,43 +402,44 @@ gl_FragCoord origin is upper left
Name 38 "x"
Name 43 "fn3(i1;"
Name 42 "p0"
Name 77 "myarray"
Name 82 "param"
Name 46 "@main("
Name 80 "myarray"
Name 85 "param"
Name 88 "@entryPointOutput"
Name 100 "param"
Name 88 "param"
Name 101 "param"
Name 102 "param"
Name 103 "param"
Name 107 "$Global"
MemberName 107($Global) 0 "ui4"
Name 109 ""
Name 110 "param"
Name 104 "param"
Name 108 "$Global"
MemberName 108($Global) 0 "ui4"
Name 110 ""
Name 111 "param"
Name 115 "param"
Name 112 "param"
Name 116 "param"
Name 121 "param"
Name 117 "param"
Name 122 "param"
Name 125 "param"
Name 127 "param"
Name 133 "param"
Name 123 "param"
Name 126 "param"
Name 128 "param"
Name 134 "param"
Name 137 "param"
Name 139 "param"
Name 145 "param"
Name 135 "param"
Name 138 "param"
Name 140 "param"
Name 146 "param"
Name 147 "param"
Name 153 "param"
Name 148 "param"
Name 154 "param"
Name 155 "param"
Name 161 "param"
Name 156 "param"
Name 162 "param"
Name 167 "param"
Name 163 "param"
Name 168 "param"
Decorate 88(@entryPointOutput) Location 0
MemberDecorate 107($Global) 0 Offset 0
Decorate 107($Global) Block
Decorate 109 DescriptorSet 0
Name 169 "param"
Name 175 "@entryPointOutput"
MemberDecorate 108($Global) 0 Offset 0
Decorate 108($Global) Block
Decorate 110 DescriptorSet 0
Decorate 175(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@ -452,144 +459,63 @@ gl_FragCoord origin is upper left
35: TypePointer Function 34(float)
36: TypeFunction 7(ivec4) 8(ptr) 35(ptr)
41: TypeFunction 2 21(ptr)
51: 6(int) Constant 0
61: 6(int) Constant 10
62: 6(int) Constant 11
63: 6(int) Constant 12
64: 6(int) Constant 13
65: 7(ivec4) ConstantComposite 61 62 63 64
69: 6(int) Constant 20
70: 6(int) Constant 21
71: 6(int) Constant 22
72: 6(int) Constant 23
73: 7(ivec4) ConstantComposite 69 70 71 72
78: 6(int) Constant 30
79: 6(int) Constant 31
80: 19 ConstantComposite 78 79
81: 6(int) Constant 3
84: 6(int) Constant 5
87: TypePointer Output 7(ivec4)
88(@entryPointOutput): 87(ptr) Variable Output
89: 6(int) Constant 100
90: 7(ivec4) ConstantComposite 89 89 89 89
91: 6(int) Constant 4294967295
92: 6(int) Constant 4294967294
93: 6(int) Constant 4294967293
94: 6(int) Constant 4294967292
95: 7(ivec4) ConstantComposite 91 92 93 94
96: 6(int) Constant 1
97: 6(int) Constant 2
98: 19 ConstantComposite 96 97
99: 6(int) Constant 42
105: 6(int) Constant 101
106: 7(ivec4) ConstantComposite 105 105 105 105
107($Global): TypeStruct 7(ivec4)
108: TypePointer Uniform 107($Global)
109: 108(ptr) Variable Uniform
112: TypePointer Uniform 7(ivec4)
119: 6(int) Constant 102
120: 7(ivec4) ConstantComposite 119 119 119 119
130: 6(int) Constant 103
131: 7(ivec4) ConstantComposite 130 130 130 130
132: 6(int) Constant 99
142: 6(int) Constant 104
143: 7(ivec4) ConstantComposite 142 142 142 142
144: 9(bool) ConstantFalse
150: 6(int) Constant 105
151: 7(ivec4) ConstantComposite 150 150 150 150
152: 9(bool) ConstantTrue
158: 6(int) Constant 110
159: 7(ivec4) ConstantComposite 158 158 158 158
160: 34(float) Constant 1093780111
165: 6(int) Constant 111
166: 7(ivec4) ConstantComposite 165 165 165 165
172: 6(int) Constant 4294967254
45: TypeFunction 7(ivec4)
54: 6(int) Constant 0
64: 6(int) Constant 10
65: 6(int) Constant 11
66: 6(int) Constant 12
67: 6(int) Constant 13
68: 7(ivec4) ConstantComposite 64 65 66 67
72: 6(int) Constant 20
73: 6(int) Constant 21
74: 6(int) Constant 22
75: 6(int) Constant 23
76: 7(ivec4) ConstantComposite 72 73 74 75
81: 6(int) Constant 30
82: 6(int) Constant 31
83: 19 ConstantComposite 81 82
84: 6(int) Constant 3
87: 6(int) Constant 5
90: 6(int) Constant 100
91: 7(ivec4) ConstantComposite 90 90 90 90
92: 6(int) Constant 4294967295
93: 6(int) Constant 4294967294
94: 6(int) Constant 4294967293
95: 6(int) Constant 4294967292
96: 7(ivec4) ConstantComposite 92 93 94 95
97: 6(int) Constant 1
98: 6(int) Constant 2
99: 19 ConstantComposite 97 98
100: 6(int) Constant 42
106: 6(int) Constant 101
107: 7(ivec4) ConstantComposite 106 106 106 106
108($Global): TypeStruct 7(ivec4)
109: TypePointer Uniform 108($Global)
110: 109(ptr) Variable Uniform
113: TypePointer Uniform 7(ivec4)
120: 6(int) Constant 102
121: 7(ivec4) ConstantComposite 120 120 120 120
131: 6(int) Constant 103
132: 7(ivec4) ConstantComposite 131 131 131 131
133: 6(int) Constant 99
143: 6(int) Constant 104
144: 7(ivec4) ConstantComposite 143 143 143 143
145: 9(bool) ConstantFalse
151: 6(int) Constant 105
152: 7(ivec4) ConstantComposite 151 151 151 151
153: 9(bool) ConstantTrue
159: 6(int) Constant 110
160: 7(ivec4) ConstantComposite 159 159 159 159
161: 34(float) Constant 1093780111
166: 6(int) Constant 111
167: 7(ivec4) ConstantComposite 166 166 166 166
174: TypePointer Output 7(ivec4)
175(@entryPointOutput): 174(ptr) Variable Output
177: 6(int) Constant 4294967254
4(main): 2 Function None 3
5: Label
77(myarray): 20(ptr) Variable Function
82(param): 21(ptr) Variable Function
85(param): 21(ptr) Variable Function
100(param): 8(ptr) Variable Function
101(param): 8(ptr) Variable Function
102(param): 20(ptr) Variable Function
103(param): 21(ptr) Variable Function
110(param): 8(ptr) Variable Function
111(param): 8(ptr) Variable Function
115(param): 20(ptr) Variable Function
116(param): 21(ptr) Variable Function
121(param): 8(ptr) Variable Function
122(param): 8(ptr) Variable Function
125(param): 20(ptr) Variable Function
127(param): 21(ptr) Variable Function
133(param): 8(ptr) Variable Function
134(param): 8(ptr) Variable Function
137(param): 20(ptr) Variable Function
139(param): 21(ptr) Variable Function
145(param): 8(ptr) Variable Function
146(param): 10(ptr) Variable Function
147(param): 10(ptr) Variable Function
153(param): 8(ptr) Variable Function
154(param): 10(ptr) Variable Function
155(param): 10(ptr) Variable Function
161(param): 8(ptr) Variable Function
162(param): 35(ptr) Variable Function
167(param): 8(ptr) Variable Function
168(param): 21(ptr) Variable Function
Store 77(myarray) 80
Store 82(param) 81
83: 2 FunctionCall 43(fn3(i1;) 82(param)
Store 85(param) 84
86: 2 FunctionCall 43(fn3(i1;) 85(param)
Store 100(param) 90
Store 101(param) 95
Store 102(param) 98
Store 103(param) 99
104: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 100(param) 101(param) 102(param) 103(param)
Store 110(param) 106
113: 112(ptr) AccessChain 109 51
114: 7(ivec4) Load 113
Store 111(param) 114
Store 115(param) 98
Store 116(param) 99
117: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 110(param) 111(param) 115(param) 116(param)
118: 7(ivec4) IAdd 104 117
Store 121(param) 120
123: 112(ptr) AccessChain 109 51
124: 7(ivec4) Load 123
Store 122(param) 124
126: 19 Load 77(myarray)
Store 125(param) 126
Store 127(param) 99
128: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 121(param) 122(param) 125(param) 127(param)
129: 7(ivec4) IAdd 118 128
Store 133(param) 131
135: 112(ptr) AccessChain 109 51
136: 7(ivec4) Load 135
Store 134(param) 136
138: 19 Load 77(myarray)
Store 137(param) 138
Store 139(param) 132
140: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 133(param) 134(param) 137(param) 139(param)
141: 7(ivec4) IAdd 129 140
Store 145(param) 143
Store 146(param) 144
Store 147(param) 144
148: 7(ivec4) FunctionCall 15(fn1(vi4;b1;b1;) 145(param) 146(param) 147(param)
149: 7(ivec4) IAdd 141 148
Store 153(param) 151
Store 154(param) 144
Store 155(param) 152
156: 7(ivec4) FunctionCall 15(fn1(vi4;b1;b1;) 153(param) 154(param) 155(param)
157: 7(ivec4) IAdd 149 156
Store 161(param) 159
Store 162(param) 160
163: 7(ivec4) FunctionCall 39(fn2(vi4;f1;) 161(param) 162(param)
164: 7(ivec4) IAdd 157 163
Store 167(param) 166
Store 168(param) 63
169: 7(ivec4) FunctionCall 32(fn2(vi4;i1;) 167(param) 168(param)
170: 7(ivec4) IAdd 164 169
Store 88(@entryPointOutput) 170
176: 7(ivec4) FunctionCall 46(@main()
Store 175(@entryPointOutput) 176
Return
FunctionEnd
15(fn1(vi4;b1;b1;): 7(ivec4) Function None 11
@ -597,8 +523,8 @@ gl_FragCoord origin is upper left
13(b1): 10(ptr) FunctionParameter
14(b2): 10(ptr) FunctionParameter
16: Label
45: 7(ivec4) Load 12(p0)
ReturnValue 45
48: 7(ivec4) Load 12(p0)
ReturnValue 48
FunctionEnd
27(fn1(vi4;vi4;i1[2];i1;): 7(ivec4) Function None 22
23(p0): 8(ptr) FunctionParameter
@ -606,34 +532,121 @@ gl_FragCoord origin is upper left
25(p2): 20(ptr) FunctionParameter
26(p3): 21(ptr) FunctionParameter
28: Label
48: 7(ivec4) Load 23(p0)
49: 7(ivec4) Load 24(p1)
50: 7(ivec4) IAdd 48 49
52: 21(ptr) AccessChain 25(p2) 51
53: 6(int) Load 52
54: 7(ivec4) CompositeConstruct 53 53 53 53
55: 7(ivec4) IAdd 50 54
56: 6(int) Load 26(p3)
51: 7(ivec4) Load 23(p0)
52: 7(ivec4) Load 24(p1)
53: 7(ivec4) IAdd 51 52
55: 21(ptr) AccessChain 25(p2) 54
56: 6(int) Load 55
57: 7(ivec4) CompositeConstruct 56 56 56 56
58: 7(ivec4) IAdd 55 57
ReturnValue 58
58: 7(ivec4) IAdd 53 57
59: 6(int) Load 26(p3)
60: 7(ivec4) CompositeConstruct 59 59 59 59
61: 7(ivec4) IAdd 58 60
ReturnValue 61
FunctionEnd
32(fn2(vi4;i1;): 7(ivec4) Function None 29
30(p0): 8(ptr) FunctionParameter
31(x): 21(ptr) FunctionParameter
33: Label
ReturnValue 65
ReturnValue 68
FunctionEnd
39(fn2(vi4;f1;): 7(ivec4) Function None 36
37(p0): 8(ptr) FunctionParameter
38(x): 35(ptr) FunctionParameter
40: Label
68: 7(ivec4) Load 37(p0)
74: 7(ivec4) IAdd 68 73
ReturnValue 74
71: 7(ivec4) Load 37(p0)
77: 7(ivec4) IAdd 71 76
ReturnValue 77
FunctionEnd
43(fn3(i1;): 2 Function None 41
42(p0): 21(ptr) FunctionParameter
44: Label
Return
FunctionEnd
46(@main(): 7(ivec4) Function None 45
47: Label
80(myarray): 20(ptr) Variable Function
85(param): 21(ptr) Variable Function
88(param): 21(ptr) Variable Function
101(param): 8(ptr) Variable Function
102(param): 8(ptr) Variable Function
103(param): 20(ptr) Variable Function
104(param): 21(ptr) Variable Function
111(param): 8(ptr) Variable Function
112(param): 8(ptr) Variable Function
116(param): 20(ptr) Variable Function
117(param): 21(ptr) Variable Function
122(param): 8(ptr) Variable Function
123(param): 8(ptr) Variable Function
126(param): 20(ptr) Variable Function
128(param): 21(ptr) Variable Function
134(param): 8(ptr) Variable Function
135(param): 8(ptr) Variable Function
138(param): 20(ptr) Variable Function
140(param): 21(ptr) Variable Function
146(param): 8(ptr) Variable Function
147(param): 10(ptr) Variable Function
148(param): 10(ptr) Variable Function
154(param): 8(ptr) Variable Function
155(param): 10(ptr) Variable Function
156(param): 10(ptr) Variable Function
162(param): 8(ptr) Variable Function
163(param): 35(ptr) Variable Function
168(param): 8(ptr) Variable Function
169(param): 21(ptr) Variable Function
Store 80(myarray) 83
Store 85(param) 84
86: 2 FunctionCall 43(fn3(i1;) 85(param)
Store 88(param) 87
89: 2 FunctionCall 43(fn3(i1;) 88(param)
Store 101(param) 91
Store 102(param) 96
Store 103(param) 99
Store 104(param) 100
105: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 101(param) 102(param) 103(param) 104(param)
Store 111(param) 107
114: 113(ptr) AccessChain 110 54
115: 7(ivec4) Load 114
Store 112(param) 115
Store 116(param) 99
Store 117(param) 100
118: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 111(param) 112(param) 116(param) 117(param)
119: 7(ivec4) IAdd 105 118
Store 122(param) 121
124: 113(ptr) AccessChain 110 54
125: 7(ivec4) Load 124
Store 123(param) 125
127: 19 Load 80(myarray)
Store 126(param) 127
Store 128(param) 100
129: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 122(param) 123(param) 126(param) 128(param)
130: 7(ivec4) IAdd 119 129
Store 134(param) 132
136: 113(ptr) AccessChain 110 54
137: 7(ivec4) Load 136
Store 135(param) 137
139: 19 Load 80(myarray)
Store 138(param) 139
Store 140(param) 133
141: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 134(param) 135(param) 138(param) 140(param)
142: 7(ivec4) IAdd 130 141
Store 146(param) 144
Store 147(param) 145
Store 148(param) 145
149: 7(ivec4) FunctionCall 15(fn1(vi4;b1;b1;) 146(param) 147(param) 148(param)
150: 7(ivec4) IAdd 142 149
Store 154(param) 152
Store 155(param) 145
Store 156(param) 153
157: 7(ivec4) FunctionCall 15(fn1(vi4;b1;b1;) 154(param) 155(param) 156(param)
158: 7(ivec4) IAdd 150 157
Store 162(param) 160
Store 163(param) 161
164: 7(ivec4) FunctionCall 39(fn2(vi4;f1;) 162(param) 163(param)
165: 7(ivec4) IAdd 158 164
Store 168(param) 167
Store 169(param) 66
170: 7(ivec4) FunctionCall 32(fn2(vi4;i1;) 168(param) 169(param)
171: 7(ivec4) IAdd 165 170
ReturnValue 171
FunctionEnd

View File

@ -71,7 +71,7 @@ ERROR: node is still EOpNull!
0:33 Function Definition: fn3(i1; (temp void)
0:33 Function Parameters:
0:33 'p0' (in int)
0:37 Function Definition: main( (temp 4-component vector of int)
0:37 Function Definition: @main( (temp 4-component vector of int)
0:37 Function Parameters:
0:? Sequence
0:38 Sequence
@ -80,114 +80,117 @@ ERROR: node is still EOpNull!
0:38 Constant:
0:38 30 (const int)
0:38 31 (const int)
0:49 Sequence
0:49 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:48 add (temp 4-component vector of int)
0:47 add (temp 4-component vector of int)
0:45 add (temp 4-component vector of int)
0:44 add (temp 4-component vector of int)
0:43 add (temp 4-component vector of int)
0:42 add (temp 4-component vector of int)
0:41 add (temp 4-component vector of int)
0:40 add (temp 4-component vector of int)
0:40 Function Call: fn1(vi4; (temp 4-component vector of int)
0:40 Constant:
0:40 100 (const int)
0:40 100 (const int)
0:40 100 (const int)
0:40 100 (const int)
0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:49 Branch: Return with expression
0:48 add (temp 4-component vector of int)
0:47 add (temp 4-component vector of int)
0:45 add (temp 4-component vector of int)
0:44 add (temp 4-component vector of int)
0:43 add (temp 4-component vector of int)
0:42 add (temp 4-component vector of int)
0:41 add (temp 4-component vector of int)
0:40 add (temp 4-component vector of int)
0:40 Function Call: fn1(vi4; (temp 4-component vector of int)
0:40 Constant:
0:40 100 (const int)
0:40 100 (const int)
0:40 100 (const int)
0:40 100 (const int)
0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:41 Constant:
0:41 101 (const int)
0:41 101 (const int)
0:41 101 (const int)
0:41 101 (const int)
0:41 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
0:41 Constant:
0:41 101 (const int)
0:41 101 (const int)
0:41 101 (const int)
0:41 101 (const int)
0:41 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
0:41 Constant:
0:41 0 (const uint)
0:15 Constant:
0:15 1 (const int)
0:15 2 (const int)
0:16 Constant:
0:16 42 (const int)
0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:42 Constant:
0:42 102 (const int)
0:42 102 (const int)
0:42 102 (const int)
0:42 102 (const int)
0:42 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
0:42 Constant:
0:42 0 (const uint)
0:42 'myarray' (temp 2-element array of int)
0:41 0 (const uint)
0:15 Constant:
0:15 1 (const int)
0:15 2 (const int)
0:16 Constant:
0:16 42 (const int)
0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:42 Constant:
0:42 102 (const int)
0:42 102 (const int)
0:42 102 (const int)
0:42 102 (const int)
0:42 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
0:42 Constant:
0:42 0 (const uint)
0:42 'myarray' (temp 2-element array of int)
0:16 Constant:
0:16 42 (const int)
0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:43 Constant:
0:43 103 (const int)
0:43 103 (const int)
0:43 103 (const int)
0:43 103 (const int)
0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
0:43 Constant:
0:43 103 (const int)
0:43 103 (const int)
0:43 103 (const int)
0:43 103 (const int)
0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
0:43 Constant:
0:43 0 (const uint)
0:43 'myarray' (temp 2-element array of int)
0:43 Constant:
0:43 99 (const int)
0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:44 Constant:
0:44 104 (const int)
0:44 104 (const int)
0:44 104 (const int)
0:44 104 (const int)
0:44 Constant:
0:44 false (const bool)
0:9 Constant:
0:9 false (const bool)
0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:45 Constant:
0:45 105 (const int)
0:45 105 (const int)
0:45 105 (const int)
0:45 105 (const int)
0:45 Constant:
0:45 false (const bool)
0:45 Constant:
0:45 true (const bool)
0:47 Function Call: fn2(vi4; (temp 4-component vector of int)
0:47 Constant:
0:47 112 (const int)
0:47 112 (const int)
0:47 112 (const int)
0:47 112 (const int)
0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:48 Constant:
0:48 110 (const int)
0:48 110 (const int)
0:48 110 (const int)
0:48 110 (const int)
0:48 Constant:
0:48 11 (const int)
0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:49 Constant:
0:49 111 (const int)
0:49 111 (const int)
0:49 111 (const int)
0:49 111 (const int)
0:49 Constant:
0:49 12 (const int)
0:49 Branch: Return
0:43 0 (const uint)
0:43 'myarray' (temp 2-element array of int)
0:43 Constant:
0:43 99 (const int)
0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:44 Constant:
0:44 104 (const int)
0:44 104 (const int)
0:44 104 (const int)
0:44 104 (const int)
0:44 Constant:
0:44 false (const bool)
0:9 Constant:
0:9 false (const bool)
0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:45 Constant:
0:45 105 (const int)
0:45 105 (const int)
0:45 105 (const int)
0:45 105 (const int)
0:45 Constant:
0:45 false (const bool)
0:45 Constant:
0:45 true (const bool)
0:47 Function Call: fn2(vi4; (temp 4-component vector of int)
0:47 Constant:
0:47 112 (const int)
0:47 112 (const int)
0:47 112 (const int)
0:47 112 (const int)
0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:48 Constant:
0:48 110 (const int)
0:48 110 (const int)
0:48 110 (const int)
0:48 110 (const int)
0:48 Constant:
0:48 11 (const int)
0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:49 Constant:
0:49 111 (const int)
0:49 111 (const int)
0:49 111 (const int)
0:49 111 (const int)
0:49 Constant:
0:49 12 (const int)
0:37 Function Definition: main( (temp void)
0:37 Function Parameters:
0:? Sequence
0:37 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:37 Function Call: @main( (temp 4-component vector of int)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:? 'cia' (const int)
0:? -4 (const int)
0:? 'cib' (const int)
0:? -42 (const int)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
Linked fragment stage:
@ -258,7 +261,7 @@ ERROR: node is still EOpNull!
0:33 Function Definition: fn3(i1; (temp void)
0:33 Function Parameters:
0:33 'p0' (in int)
0:37 Function Definition: main( (temp 4-component vector of int)
0:37 Function Definition: @main( (temp 4-component vector of int)
0:37 Function Parameters:
0:? Sequence
0:38 Sequence
@ -267,113 +270,116 @@ ERROR: node is still EOpNull!
0:38 Constant:
0:38 30 (const int)
0:38 31 (const int)
0:49 Sequence
0:49 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:48 add (temp 4-component vector of int)
0:47 add (temp 4-component vector of int)
0:45 add (temp 4-component vector of int)
0:44 add (temp 4-component vector of int)
0:43 add (temp 4-component vector of int)
0:42 add (temp 4-component vector of int)
0:41 add (temp 4-component vector of int)
0:40 add (temp 4-component vector of int)
0:40 Function Call: fn1(vi4; (temp 4-component vector of int)
0:40 Constant:
0:40 100 (const int)
0:40 100 (const int)
0:40 100 (const int)
0:40 100 (const int)
0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:49 Branch: Return with expression
0:48 add (temp 4-component vector of int)
0:47 add (temp 4-component vector of int)
0:45 add (temp 4-component vector of int)
0:44 add (temp 4-component vector of int)
0:43 add (temp 4-component vector of int)
0:42 add (temp 4-component vector of int)
0:41 add (temp 4-component vector of int)
0:40 add (temp 4-component vector of int)
0:40 Function Call: fn1(vi4; (temp 4-component vector of int)
0:40 Constant:
0:40 100 (const int)
0:40 100 (const int)
0:40 100 (const int)
0:40 100 (const int)
0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:41 Constant:
0:41 101 (const int)
0:41 101 (const int)
0:41 101 (const int)
0:41 101 (const int)
0:41 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
0:41 Constant:
0:41 101 (const int)
0:41 101 (const int)
0:41 101 (const int)
0:41 101 (const int)
0:41 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
0:41 Constant:
0:41 0 (const uint)
0:15 Constant:
0:15 1 (const int)
0:15 2 (const int)
0:16 Constant:
0:16 42 (const int)
0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:42 Constant:
0:42 102 (const int)
0:42 102 (const int)
0:42 102 (const int)
0:42 102 (const int)
0:42 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
0:42 Constant:
0:42 0 (const uint)
0:42 'myarray' (temp 2-element array of int)
0:41 0 (const uint)
0:15 Constant:
0:15 1 (const int)
0:15 2 (const int)
0:16 Constant:
0:16 42 (const int)
0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:42 Constant:
0:42 102 (const int)
0:42 102 (const int)
0:42 102 (const int)
0:42 102 (const int)
0:42 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
0:42 Constant:
0:42 0 (const uint)
0:42 'myarray' (temp 2-element array of int)
0:16 Constant:
0:16 42 (const int)
0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
0:43 Constant:
0:43 103 (const int)
0:43 103 (const int)
0:43 103 (const int)
0:43 103 (const int)
0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
0:43 Constant:
0:43 103 (const int)
0:43 103 (const int)
0:43 103 (const int)
0:43 103 (const int)
0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
0:43 Constant:
0:43 0 (const uint)
0:43 'myarray' (temp 2-element array of int)
0:43 Constant:
0:43 99 (const int)
0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:44 Constant:
0:44 104 (const int)
0:44 104 (const int)
0:44 104 (const int)
0:44 104 (const int)
0:44 Constant:
0:44 false (const bool)
0:9 Constant:
0:9 false (const bool)
0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:45 Constant:
0:45 105 (const int)
0:45 105 (const int)
0:45 105 (const int)
0:45 105 (const int)
0:45 Constant:
0:45 false (const bool)
0:45 Constant:
0:45 true (const bool)
0:47 Function Call: fn2(vi4; (temp 4-component vector of int)
0:47 Constant:
0:47 112 (const int)
0:47 112 (const int)
0:47 112 (const int)
0:47 112 (const int)
0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:48 Constant:
0:48 110 (const int)
0:48 110 (const int)
0:48 110 (const int)
0:48 110 (const int)
0:48 Constant:
0:48 11 (const int)
0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:49 Constant:
0:49 111 (const int)
0:49 111 (const int)
0:49 111 (const int)
0:49 111 (const int)
0:49 Constant:
0:49 12 (const int)
0:49 Branch: Return
0:43 0 (const uint)
0:43 'myarray' (temp 2-element array of int)
0:43 Constant:
0:43 99 (const int)
0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:44 Constant:
0:44 104 (const int)
0:44 104 (const int)
0:44 104 (const int)
0:44 104 (const int)
0:44 Constant:
0:44 false (const bool)
0:9 Constant:
0:9 false (const bool)
0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:45 Constant:
0:45 105 (const int)
0:45 105 (const int)
0:45 105 (const int)
0:45 105 (const int)
0:45 Constant:
0:45 false (const bool)
0:45 Constant:
0:45 true (const bool)
0:47 Function Call: fn2(vi4; (temp 4-component vector of int)
0:47 Constant:
0:47 112 (const int)
0:47 112 (const int)
0:47 112 (const int)
0:47 112 (const int)
0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:48 Constant:
0:48 110 (const int)
0:48 110 (const int)
0:48 110 (const int)
0:48 110 (const int)
0:48 Constant:
0:48 11 (const int)
0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:49 Constant:
0:49 111 (const int)
0:49 111 (const int)
0:49 111 (const int)
0:49 111 (const int)
0:49 Constant:
0:49 12 (const int)
0:37 Function Definition: main( (temp void)
0:37 Function Parameters:
0:? Sequence
0:37 move second child to first child (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:37 Function Call: @main( (temp 4-component vector of int)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:? 'cia' (const int)
0:? -4 (const int)
0:? 'cib' (const int)
0:? -42 (const int)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
SPIR-V is not generated for failed compile or link

View File

@ -20,9 +20,9 @@ gl_FragCoord origin is upper left
0:9 0.000000
0:9 0.000000
0:9 0.000000
0:18 Function Definition: PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Function Definition: @PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Function Parameters:
0:18 'input' (layout(location=0 ) in 4-component vector of float)
0:18 'input' (in 4-component vector of float)
0:? Sequence
0:19 Sequence
0:19 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
@ -143,41 +143,51 @@ gl_FragCoord origin is upper left
0:30 1 (const int)
0:30 Convert int to float (temp float)
0:30 'cgi' (temp int)
0:32 Sequence
0:32 Sequence
0:32 move second child to first child (temp int)
0:? 'a' (layout(location=0 ) out int)
0:32 a: direct index for structure (temp int)
0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:32 Constant:
0:32 0 (const int)
0:32 move second child to first child (temp float)
0:? 'b' (layout(location=1 ) out float)
0:32 b: direct index for structure (temp float)
0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:32 Constant:
0:32 1 (const int)
0:32 move second child to first child (temp bool)
0:? 'c' (layout(location=2 ) out bool)
0:32 c: direct index for structure (temp bool)
0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:32 Constant:
0:32 2 (const int)
0:32 move second child to first child (temp 4-component vector of float)
0:? 'v' (layout(location=3 ) out 4-component vector of float)
0:32 v: direct index for structure (temp 4-component vector of float)
0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:32 Constant:
0:32 3 (const int)
0:32 Branch: Return
0:32 Branch: Return with expression
0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Function Definition: PixelShaderFunction( (temp void)
0:18 Function Parameters:
0:? Sequence
0:18 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:18 Sequence
0:18 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Function Call: @PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:? 'input' (temp 4-component vector of float)
0:18 move second child to first child (temp int)
0:? 'a' (layout(location=0 ) out int)
0:18 a: direct index for structure (temp int)
0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Constant:
0:18 0 (const int)
0:18 move second child to first child (temp float)
0:? 'b' (layout(location=1 ) out float)
0:18 b: direct index for structure (temp float)
0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Constant:
0:18 1 (const int)
0:18 move second child to first child (temp bool)
0:? 'c' (layout(location=2 ) out bool)
0:18 c: direct index for structure (temp bool)
0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Constant:
0:18 2 (const int)
0:18 move second child to first child (temp 4-component vector of float)
0:? 'v' (layout(location=3 ) out 4-component vector of float)
0:18 v: direct index for structure (temp 4-component vector of float)
0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Constant:
0:18 3 (const int)
0:? Linker Objects
0:? 'gv' (global 4-component vector of float)
0:? 'gfa' (global 3-element array of float)
0:? 'a' (layout(location=0 ) out int)
0:? 'b' (layout(location=1 ) out float)
0:? 'c' (layout(location=2 ) out bool)
0:? 'v' (layout(location=3 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'gv' (global 4-component vector of float)
0:? 'gfa' (global 3-element array of float)
0:? 'cgf2a' (const 3-element array of 2-component vector of float)
0:? 0.000000
0:? 0.000000
@ -210,9 +220,9 @@ gl_FragCoord origin is upper left
0:9 0.000000
0:9 0.000000
0:9 0.000000
0:18 Function Definition: PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Function Definition: @PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Function Parameters:
0:18 'input' (layout(location=0 ) in 4-component vector of float)
0:18 'input' (in 4-component vector of float)
0:? Sequence
0:19 Sequence
0:19 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
@ -333,41 +343,51 @@ gl_FragCoord origin is upper left
0:30 1 (const int)
0:30 Convert int to float (temp float)
0:30 'cgi' (temp int)
0:32 Sequence
0:32 Sequence
0:32 move second child to first child (temp int)
0:? 'a' (layout(location=0 ) out int)
0:32 a: direct index for structure (temp int)
0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:32 Constant:
0:32 0 (const int)
0:32 move second child to first child (temp float)
0:? 'b' (layout(location=1 ) out float)
0:32 b: direct index for structure (temp float)
0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:32 Constant:
0:32 1 (const int)
0:32 move second child to first child (temp bool)
0:? 'c' (layout(location=2 ) out bool)
0:32 c: direct index for structure (temp bool)
0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:32 Constant:
0:32 2 (const int)
0:32 move second child to first child (temp 4-component vector of float)
0:? 'v' (layout(location=3 ) out 4-component vector of float)
0:32 v: direct index for structure (temp 4-component vector of float)
0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:32 Constant:
0:32 3 (const int)
0:32 Branch: Return
0:32 Branch: Return with expression
0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Function Definition: PixelShaderFunction( (temp void)
0:18 Function Parameters:
0:? Sequence
0:18 move second child to first child (temp 4-component vector of float)
0:? 'input' (temp 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:18 Sequence
0:18 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Function Call: @PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:? 'input' (temp 4-component vector of float)
0:18 move second child to first child (temp int)
0:? 'a' (layout(location=0 ) out int)
0:18 a: direct index for structure (temp int)
0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Constant:
0:18 0 (const int)
0:18 move second child to first child (temp float)
0:? 'b' (layout(location=1 ) out float)
0:18 b: direct index for structure (temp float)
0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Constant:
0:18 1 (const int)
0:18 move second child to first child (temp bool)
0:? 'c' (layout(location=2 ) out bool)
0:18 c: direct index for structure (temp bool)
0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Constant:
0:18 2 (const int)
0:18 move second child to first child (temp 4-component vector of float)
0:? 'v' (layout(location=3 ) out 4-component vector of float)
0:18 v: direct index for structure (temp 4-component vector of float)
0:18 'flattenTemp' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:18 Constant:
0:18 3 (const int)
0:? Linker Objects
0:? 'gv' (global 4-component vector of float)
0:? 'gfa' (global 3-element array of float)
0:? 'a' (layout(location=0 ) out int)
0:? 'b' (layout(location=1 ) out float)
0:? 'c' (layout(location=2 ) out bool)
0:? 'v' (layout(location=3 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'gv' (global 4-component vector of float)
0:? 'gfa' (global 3-element array of float)
0:? 'cgf2a' (const 3-element array of 2-component vector of float)
0:? 0.000000
0:? 0.000000
@ -380,146 +400,167 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 92
// Id's are bound by 104
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 72 76 80 84 89
EntryPoint Fragment 4 "PixelShaderFunction" 80 87 91 95 99
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 9 "gv"
Name 17 "gfa"
Name 21 "outs"
MemberName 21(outs) 0 "a"
MemberName 21(outs) 1 "b"
MemberName 21(outs) 2 "c"
MemberName 21(outs) 3 "v"
Name 23 "o2"
Name 28 "o4"
Name 37 "o1"
Name 40 "o3"
Name 47 "Nest"
MemberName 47(Nest) 0 "m"
MemberName 47(Nest) 1 "os"
MemberName 47(Nest) 2 "b"
Name 49 "nest"
Name 57 "gf2a"
Name 61 "cgi"
Name 72 "a"
Name 76 "b"
Name 80 "c"
Name 84 "v"
Name 89 "input"
Decorate 72(a) Location 0
Decorate 76(b) Location 1
Decorate 80(c) Location 2
Decorate 84(v) Location 3
Decorate 89(input) Location 0
Name 11 "outs"
MemberName 11(outs) 0 "a"
MemberName 11(outs) 1 "b"
MemberName 11(outs) 2 "c"
MemberName 11(outs) 3 "v"
Name 14 "@PixelShaderFunction(vf4;"
Name 13 "input"
Name 17 "gv"
Name 25 "gfa"
Name 28 "o2"
Name 33 "o4"
Name 41 "o1"
Name 44 "o3"
Name 51 "Nest"
MemberName 51(Nest) 0 "m"
MemberName 51(Nest) 1 "os"
MemberName 51(Nest) 2 "b"
Name 53 "nest"
Name 61 "gf2a"
Name 65 "cgi"
Name 78 "input"
Name 80 "input"
Name 82 "flattenTemp"
Name 83 "param"
Name 87 "a"
Name 91 "b"
Name 95 "c"
Name 99 "v"
Decorate 80(input) Location 0
Decorate 87(a) Location 0
Decorate 91(b) Location 1
Decorate 95(c) Location 2
Decorate 99(v) Location 3
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Private 7(fvec4)
9(gv): 8(ptr) Variable Private
10: 6(float) Constant 0
11: 6(float) Constant 1065353216
12: 7(fvec4) ConstantComposite 10 10 11 10
13: TypeInt 32 0
14: 13(int) Constant 3
15: TypeArray 6(float) 14
16: TypePointer Private 15
17(gfa): 16(ptr) Variable Private
18: 15 ConstantComposite 10 10 10
19: TypeInt 32 1
20: TypeBool
21(outs): TypeStruct 19(int) 6(float) 20(bool) 7(fvec4)
22: TypePointer Function 21(outs)
24: 19(int) Constant 3
25: 20(bool) ConstantFalse
26: 7(fvec4) ConstantComposite 10 10 10 10
27: 21(outs) ConstantComposite 24 10 25 26
30: 19(int) Constant 2
31: TypePointer Private 6(float)
35: TypePointer Function 7(fvec4)
38: 19(int) Constant 0
39: 21(outs) ConstantComposite 38 10 25 26
41: TypePointer Function 20(bool)
45: TypeVector 6(float) 3
46: TypeMatrix 45(fvec3) 4
47(Nest): TypeStruct 46 21(outs) 20(bool)
48: TypePointer Function 47(Nest)
50: 45(fvec3) ConstantComposite 10 10 10
51: 46 ConstantComposite 50 50 50 50
52: 47(Nest) ConstantComposite 51 39 25
53: TypeVector 6(float) 2
54: 13(int) Constant 4
55: TypeArray 53(fvec2) 54
56: TypePointer Function 55
58: 53(fvec2) ConstantComposite 10 10
59: 55 ConstantComposite 58 58 58 58
60: TypePointer Function 19(int)
62: 19(int) Constant 1
63: 13(int) Constant 1
64: TypePointer Function 6(float)
71: TypePointer Output 19(int)
72(a): 71(ptr) Variable Output
75: TypePointer Output 6(float)
76(b): 75(ptr) Variable Output
79: TypePointer Output 20(bool)
80(c): 79(ptr) Variable Output
83: TypePointer Output 7(fvec4)
84(v): 83(ptr) Variable Output
88: TypePointer Input 7(fvec4)
89(input): 88(ptr) Variable Input
90: TypeArray 53(fvec2) 14
91: 90 ConstantComposite 58 58 58
8: TypePointer Function 7(fvec4)
9: TypeInt 32 1
10: TypeBool
11(outs): TypeStruct 9(int) 6(float) 10(bool) 7(fvec4)
12: TypeFunction 11(outs) 8(ptr)
16: TypePointer Private 7(fvec4)
17(gv): 16(ptr) Variable Private
18: 6(float) Constant 0
19: 6(float) Constant 1065353216
20: 7(fvec4) ConstantComposite 18 18 19 18
21: TypeInt 32 0
22: 21(int) Constant 3
23: TypeArray 6(float) 22
24: TypePointer Private 23
25(gfa): 24(ptr) Variable Private
26: 23 ConstantComposite 18 18 18
27: TypePointer Function 11(outs)
29: 9(int) Constant 3
30: 10(bool) ConstantFalse
31: 7(fvec4) ConstantComposite 18 18 18 18
32: 11(outs) ConstantComposite 29 18 30 31
35: 9(int) Constant 2
36: TypePointer Private 6(float)
42: 9(int) Constant 0
43: 11(outs) ConstantComposite 42 18 30 31
45: TypePointer Function 10(bool)
49: TypeVector 6(float) 3
50: TypeMatrix 49(fvec3) 4
51(Nest): TypeStruct 50 11(outs) 10(bool)
52: TypePointer Function 51(Nest)
54: 49(fvec3) ConstantComposite 18 18 18
55: 50 ConstantComposite 54 54 54 54
56: 51(Nest) ConstantComposite 55 43 30
57: TypeVector 6(float) 2
58: 21(int) Constant 4
59: TypeArray 57(fvec2) 58
60: TypePointer Function 59
62: 57(fvec2) ConstantComposite 18 18
63: 59 ConstantComposite 62 62 62 62
64: TypePointer Function 9(int)
66: 9(int) Constant 1
67: 21(int) Constant 1
68: TypePointer Function 6(float)
79: TypePointer Input 7(fvec4)
80(input): 79(ptr) Variable Input
86: TypePointer Output 9(int)
87(a): 86(ptr) Variable Output
90: TypePointer Output 6(float)
91(b): 90(ptr) Variable Output
94: TypePointer Output 10(bool)
95(c): 94(ptr) Variable Output
98: TypePointer Output 7(fvec4)
99(v): 98(ptr) Variable Output
102: TypeArray 57(fvec2) 22
103: 102 ConstantComposite 62 62 62
4(PixelShaderFunction): 2 Function None 3
5: Label
23(o2): 22(ptr) Variable Function
28(o4): 22(ptr) Variable Function
37(o1): 22(ptr) Variable Function
40(o3): 22(ptr) Variable Function
49(nest): 48(ptr) Variable Function
57(gf2a): 56(ptr) Variable Function
61(cgi): 60(ptr) Variable Function
Store 9(gv) 12
Store 17(gfa) 18
Store 23(o2) 27
29: 7(fvec4) Load 9(gv)
32: 31(ptr) AccessChain 17(gfa) 30
33: 6(float) Load 32
34: 7(fvec4) VectorTimesScalar 29 33
36: 35(ptr) AccessChain 28(o4) 24
Store 36 34
Store 37(o1) 39
Store 40(o3) 39
Store 28(o4) 39
42: 41(ptr) AccessChain 37(o1) 30
43: 20(bool) Load 42
44: 41(ptr) AccessChain 28(o4) 30
Store 44 43
Store 49(nest) 52
Store 57(gf2a) 59
Store 61(cgi) 38
65: 64(ptr) AccessChain 57(gf2a) 30 63
66: 6(float) Load 65
67: 19(int) Load 61(cgi)
68: 6(float) ConvertSToF 67
69: 6(float) FMul 66 68
70: 64(ptr) AccessChain 28(o4) 62
Store 70 69
73: 60(ptr) AccessChain 28(o4) 38
74: 19(int) Load 73
Store 72(a) 74
77: 64(ptr) AccessChain 28(o4) 62
78: 6(float) Load 77
Store 76(b) 78
81: 41(ptr) AccessChain 28(o4) 30
82: 20(bool) Load 81
Store 80(c) 82
85: 35(ptr) AccessChain 28(o4) 24
86: 7(fvec4) Load 85
Store 84(v) 86
78(input): 8(ptr) Variable Function
82(flattenTemp): 27(ptr) Variable Function
83(param): 8(ptr) Variable Function
Store 17(gv) 20
Store 25(gfa) 26
81: 7(fvec4) Load 80(input)
Store 78(input) 81
84: 7(fvec4) Load 78(input)
Store 83(param) 84
85: 11(outs) FunctionCall 14(@PixelShaderFunction(vf4;) 83(param)
Store 82(flattenTemp) 85
88: 64(ptr) AccessChain 82(flattenTemp) 42
89: 9(int) Load 88
Store 87(a) 89
92: 68(ptr) AccessChain 82(flattenTemp) 66
93: 6(float) Load 92
Store 91(b) 93
96: 45(ptr) AccessChain 82(flattenTemp) 35
97: 10(bool) Load 96
Store 95(c) 97
100: 8(ptr) AccessChain 82(flattenTemp) 29
101: 7(fvec4) Load 100
Store 99(v) 101
Return
FunctionEnd
14(@PixelShaderFunction(vf4;): 11(outs) Function None 12
13(input): 8(ptr) FunctionParameter
15: Label
28(o2): 27(ptr) Variable Function
33(o4): 27(ptr) Variable Function
41(o1): 27(ptr) Variable Function
44(o3): 27(ptr) Variable Function
53(nest): 52(ptr) Variable Function
61(gf2a): 60(ptr) Variable Function
65(cgi): 64(ptr) Variable Function
Store 28(o2) 32
34: 7(fvec4) Load 17(gv)
37: 36(ptr) AccessChain 25(gfa) 35
38: 6(float) Load 37
39: 7(fvec4) VectorTimesScalar 34 38
40: 8(ptr) AccessChain 33(o4) 29
Store 40 39
Store 41(o1) 43
Store 44(o3) 43
Store 33(o4) 43
46: 45(ptr) AccessChain 41(o1) 35
47: 10(bool) Load 46
48: 45(ptr) AccessChain 33(o4) 35
Store 48 47
Store 53(nest) 56
Store 61(gf2a) 63
Store 65(cgi) 42
69: 68(ptr) AccessChain 61(gf2a) 35 67
70: 6(float) Load 69
71: 9(int) Load 65(cgi)
72: 6(float) ConvertSToF 71
73: 6(float) FMul 70 72
74: 68(ptr) AccessChain 33(o4) 66
Store 74 73
75: 11(outs) Load 33(o4)
ReturnValue 75
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.pp.line.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:4 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 Function Parameters:
0:? Sequence
0:124 Sequence
@ -31,21 +31,27 @@ gl_FragCoord origin is upper left
0:127 1 (const int)
0:127 Constant:
0:127 1.000000
0:129 Sequence
0:129 Sequence
0:129 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:129 Color: direct index for structure (temp 4-component vector of float)
0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:129 Constant:
0:129 0 (const int)
0:129 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:129 Depth: direct index for structure (temp float)
0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:129 Constant:
0:129 1 (const int)
0:129 Branch: Return
0:129 Branch: Return with expression
0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 Function Definition: main( (temp void)
0:4 Function Parameters:
0:? Sequence
0:4 Sequence
0:4 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:4 Color: direct index for structure (temp 4-component vector of float)
0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 Constant:
0:4 0 (const int)
0:4 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:4 Depth: direct index for structure (temp float)
0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 Constant:
0:4 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
@ -57,7 +63,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:4 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 Function Parameters:
0:? Sequence
0:124 Sequence
@ -86,80 +92,97 @@ gl_FragCoord origin is upper left
0:127 1 (const int)
0:127 Constant:
0:127 1.000000
0:129 Sequence
0:129 Sequence
0:129 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:129 Color: direct index for structure (temp 4-component vector of float)
0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:129 Constant:
0:129 0 (const int)
0:129 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:129 Depth: direct index for structure (temp float)
0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:129 Constant:
0:129 1 (const int)
0:129 Branch: Return
0:129 Branch: Return with expression
0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 Function Definition: main( (temp void)
0:4 Function Parameters:
0:? Sequence
0:4 Sequence
0:4 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:4 Color: direct index for structure (temp 4-component vector of float)
0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 Constant:
0:4 0 (const int)
0:4 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:4 Depth: direct index for structure (temp float)
0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:4 Constant:
0:4 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 35
// Id's are bound by 42
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 27 31
EntryPoint Fragment 4 "main" 35 39
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "thisLineIs"
Name 12 "PS_OUTPUT"
MemberName 12(PS_OUTPUT) 0 "Color"
MemberName 12(PS_OUTPUT) 1 "Depth"
Name 14 "psout"
Name 27 "Color"
Name 31 "Depth"
Decorate 27(Color) Location 0
Decorate 31(Depth) BuiltIn FragDepth
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 14 "thisLineIs"
Name 17 "psout"
Name 32 "flattenTemp"
Name 35 "Color"
Name 39 "Depth"
Decorate 35(Color) Location 0
Decorate 39(Depth) BuiltIn FragDepth
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Function 6(int)
9: 6(int) Constant 124
10: TypeFloat 32
11: TypeVector 10(float) 4
12(PS_OUTPUT): TypeStruct 11(fvec4) 10(float)
13: TypePointer Function 12(PS_OUTPUT)
15: 6(int) Constant 0
18: 10(float) Constant 0
19: 10(float) Constant 1065353216
21: TypePointer Function 11(fvec4)
23: 6(int) Constant 1
24: TypePointer Function 10(float)
26: TypePointer Output 11(fvec4)
27(Color): 26(ptr) Variable Output
30: TypePointer Output 10(float)
31(Depth): 30(ptr) Variable Output
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypeInt 32 1
13: TypePointer Function 12(int)
15: 12(int) Constant 124
16: TypePointer Function 8(PS_OUTPUT)
18: 12(int) Constant 0
21: 6(float) Constant 0
22: 6(float) Constant 1065353216
24: TypePointer Function 7(fvec4)
26: 12(int) Constant 1
27: TypePointer Function 6(float)
34: TypePointer Output 7(fvec4)
35(Color): 34(ptr) Variable Output
38: TypePointer Output 6(float)
39(Depth): 38(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(thisLineIs): 7(ptr) Variable Function
14(psout): 13(ptr) Variable Function
Store 8(thisLineIs) 9
16: 6(int) Load 8(thisLineIs)
17: 10(float) ConvertSToF 16
20: 11(fvec4) CompositeConstruct 17 18 18 19
22: 21(ptr) AccessChain 14(psout) 15
Store 22 20
25: 24(ptr) AccessChain 14(psout) 23
Store 25 19
28: 21(ptr) AccessChain 14(psout) 15
29: 11(fvec4) Load 28
Store 27(Color) 29
32: 24(ptr) AccessChain 14(psout) 23
33: 10(float) Load 32
Store 31(Depth) 33
32(flattenTemp): 16(ptr) Variable Function
33:8(PS_OUTPUT) FunctionCall 10(@main()
Store 32(flattenTemp) 33
36: 24(ptr) AccessChain 32(flattenTemp) 18
37: 7(fvec4) Load 36
Store 35(Color) 37
40: 27(ptr) AccessChain 32(flattenTemp) 26
41: 6(float) Load 40
Store 39(Depth) 41
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
14(thisLineIs): 13(ptr) Variable Function
17(psout): 16(ptr) Variable Function
Store 14(thisLineIs) 15
19: 12(int) Load 14(thisLineIs)
20: 6(float) ConvertSToF 19
23: 7(fvec4) CompositeConstruct 20 21 21 22
25: 24(ptr) AccessChain 17(psout) 18
Store 25 23
28: 27(ptr) AccessChain 17(psout) 26
Store 28 22
29:8(PS_OUTPUT) Load 17(psout)
ReturnValue 29
FunctionEnd

View File

@ -2,49 +2,68 @@ hlsl.precedence.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:7 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:7 Function Parameters:
0:7 'a1' (layout(location=0 ) in 4-component vector of float)
0:7 'a2' (layout(location=1 ) in 4-component vector of float)
0:7 'a3' (layout(location=2 ) in 4-component vector of float)
0:7 'a4' (layout(location=3 ) in 4-component vector of float)
0:7 'a1' (in 4-component vector of float)
0:7 'a2' (in 4-component vector of float)
0:7 'a3' (in 4-component vector of float)
0:7 'a4' (in 4-component vector of float)
0:? Sequence
0:8 Sequence
0:8 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:8 Branch: Return with expression
0:8 add (temp 4-component vector of float)
0:8 add (temp 4-component vector of float)
0:8 add (temp 4-component vector of float)
0:8 add (temp 4-component vector of float)
0:8 'a1' (layout(location=0 ) in 4-component vector of float)
0:8 component-wise multiply (temp 4-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float)
0:8 'a3' (layout(location=2 ) in 4-component vector of float)
0:8 'a4' (layout(location=3 ) in 4-component vector of float)
0:? Construct vec4 (temp 4-component vector of float)
0:8 component-wise multiply (temp 3-component vector of float)
0:8 vector swizzle (temp 3-component vector of float)
0:8 'a1' (layout(location=0 ) in 4-component vector of float)
0:8 Sequence
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 1 (const int)
0:8 Constant:
0:8 2 (const int)
0:8 vector swizzle (temp 3-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float)
0:8 Sequence
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 1 (const int)
0:8 Constant:
0:8 2 (const int)
0:8 direct index (temp float)
0:8 'a3' (layout(location=2 ) in 4-component vector of float)
0:8 Constant:
0:8 3 (const int)
0:8 Branch: Return
0:8 'a1' (in 4-component vector of float)
0:8 component-wise multiply (temp 4-component vector of float)
0:8 'a2' (in 4-component vector of float)
0:8 'a3' (in 4-component vector of float)
0:8 'a4' (in 4-component vector of float)
0:? Construct vec4 (temp 4-component vector of float)
0:8 component-wise multiply (temp 3-component vector of float)
0:8 vector swizzle (temp 3-component vector of float)
0:8 'a1' (in 4-component vector of float)
0:8 Sequence
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 1 (const int)
0:8 Constant:
0:8 2 (const int)
0:8 vector swizzle (temp 3-component vector of float)
0:8 'a2' (in 4-component vector of float)
0:8 Sequence
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 1 (const int)
0:8 Constant:
0:8 2 (const int)
0:8 direct index (temp float)
0:8 'a3' (in 4-component vector of float)
0:8 Constant:
0:8 3 (const int)
0:7 Function Definition: PixelShaderFunction( (temp void)
0:7 Function Parameters:
0:? Sequence
0:7 move second child to first child (temp 4-component vector of float)
0:? 'a1' (temp 4-component vector of float)
0:? 'a1' (layout(location=0 ) in 4-component vector of float)
0:7 move second child to first child (temp 4-component vector of float)
0:? 'a2' (temp 4-component vector of float)
0:? 'a2' (layout(location=1 ) in 4-component vector of float)
0:7 move second child to first child (temp 4-component vector of float)
0:? 'a3' (temp 4-component vector of float)
0:? 'a3' (layout(location=2 ) in 4-component vector of float)
0:7 move second child to first child (temp 4-component vector of float)
0:? 'a4' (temp 4-component vector of float)
0:? 'a4' (layout(location=3 ) in 4-component vector of float)
0:7 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:7 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:? 'a1' (temp 4-component vector of float)
0:? 'a2' (temp 4-component vector of float)
0:? 'a3' (temp 4-component vector of float)
0:? 'a4' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'a1' (layout(location=0 ) in 4-component vector of float)
@ -59,49 +78,68 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:7 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:7 Function Parameters:
0:7 'a1' (layout(location=0 ) in 4-component vector of float)
0:7 'a2' (layout(location=1 ) in 4-component vector of float)
0:7 'a3' (layout(location=2 ) in 4-component vector of float)
0:7 'a4' (layout(location=3 ) in 4-component vector of float)
0:7 'a1' (in 4-component vector of float)
0:7 'a2' (in 4-component vector of float)
0:7 'a3' (in 4-component vector of float)
0:7 'a4' (in 4-component vector of float)
0:? Sequence
0:8 Sequence
0:8 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:8 Branch: Return with expression
0:8 add (temp 4-component vector of float)
0:8 add (temp 4-component vector of float)
0:8 add (temp 4-component vector of float)
0:8 add (temp 4-component vector of float)
0:8 'a1' (layout(location=0 ) in 4-component vector of float)
0:8 component-wise multiply (temp 4-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float)
0:8 'a3' (layout(location=2 ) in 4-component vector of float)
0:8 'a4' (layout(location=3 ) in 4-component vector of float)
0:? Construct vec4 (temp 4-component vector of float)
0:8 component-wise multiply (temp 3-component vector of float)
0:8 vector swizzle (temp 3-component vector of float)
0:8 'a1' (layout(location=0 ) in 4-component vector of float)
0:8 Sequence
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 1 (const int)
0:8 Constant:
0:8 2 (const int)
0:8 vector swizzle (temp 3-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float)
0:8 Sequence
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 1 (const int)
0:8 Constant:
0:8 2 (const int)
0:8 direct index (temp float)
0:8 'a3' (layout(location=2 ) in 4-component vector of float)
0:8 Constant:
0:8 3 (const int)
0:8 Branch: Return
0:8 'a1' (in 4-component vector of float)
0:8 component-wise multiply (temp 4-component vector of float)
0:8 'a2' (in 4-component vector of float)
0:8 'a3' (in 4-component vector of float)
0:8 'a4' (in 4-component vector of float)
0:? Construct vec4 (temp 4-component vector of float)
0:8 component-wise multiply (temp 3-component vector of float)
0:8 vector swizzle (temp 3-component vector of float)
0:8 'a1' (in 4-component vector of float)
0:8 Sequence
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 1 (const int)
0:8 Constant:
0:8 2 (const int)
0:8 vector swizzle (temp 3-component vector of float)
0:8 'a2' (in 4-component vector of float)
0:8 Sequence
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 1 (const int)
0:8 Constant:
0:8 2 (const int)
0:8 direct index (temp float)
0:8 'a3' (in 4-component vector of float)
0:8 Constant:
0:8 3 (const int)
0:7 Function Definition: PixelShaderFunction( (temp void)
0:7 Function Parameters:
0:? Sequence
0:7 move second child to first child (temp 4-component vector of float)
0:? 'a1' (temp 4-component vector of float)
0:? 'a1' (layout(location=0 ) in 4-component vector of float)
0:7 move second child to first child (temp 4-component vector of float)
0:? 'a2' (temp 4-component vector of float)
0:? 'a2' (layout(location=1 ) in 4-component vector of float)
0:7 move second child to first child (temp 4-component vector of float)
0:? 'a3' (temp 4-component vector of float)
0:? 'a3' (layout(location=2 ) in 4-component vector of float)
0:7 move second child to first child (temp 4-component vector of float)
0:? 'a4' (temp 4-component vector of float)
0:? 'a4' (layout(location=3 ) in 4-component vector of float)
0:7 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:7 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:? 'a1' (temp 4-component vector of float)
0:? 'a2' (temp 4-component vector of float)
0:? 'a3' (temp 4-component vector of float)
0:? 'a4' (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'a1' (layout(location=0 ) in 4-component vector of float)
@ -111,60 +149,108 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 39
// Id's are bound by 65
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 11 13 15 19
EntryPoint Fragment 4 "PixelShaderFunction" 43 46 49 52 55
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 9 "@entryPointOutput"
Name 11 "a1"
Name 13 "a2"
Name 15 "a3"
Name 19 "a4"
Decorate 9(@entryPointOutput) Location 0
Decorate 11(a1) Location 0
Decorate 13(a2) Location 1
Decorate 15(a3) Location 2
Decorate 19(a4) Location 3
Name 14 "@PixelShaderFunction(vf4;vf4;vf4;vf4;"
Name 10 "a1"
Name 11 "a2"
Name 12 "a3"
Name 13 "a4"
Name 41 "a1"
Name 43 "a1"
Name 45 "a2"
Name 46 "a2"
Name 48 "a3"
Name 49 "a3"
Name 51 "a4"
Name 52 "a4"
Name 55 "@entryPointOutput"
Name 56 "param"
Name 58 "param"
Name 60 "param"
Name 62 "param"
Decorate 43(a1) Location 0
Decorate 46(a2) Location 1
Decorate 49(a3) Location 2
Decorate 52(a4) Location 3
Decorate 55(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output
10: TypePointer Input 7(fvec4)
11(a1): 10(ptr) Variable Input
13(a2): 10(ptr) Variable Input
15(a3): 10(ptr) Variable Input
19(a4): 10(ptr) Variable Input
22: TypeVector 6(float) 3
28: TypeInt 32 0
29: 28(int) Constant 3
30: TypePointer Input 6(float)
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr) 8(ptr) 8(ptr) 8(ptr)
23: TypeVector 6(float) 3
29: TypeInt 32 0
30: 29(int) Constant 3
31: TypePointer Function 6(float)
42: TypePointer Input 7(fvec4)
43(a1): 42(ptr) Variable Input
46(a2): 42(ptr) Variable Input
49(a3): 42(ptr) Variable Input
52(a4): 42(ptr) Variable Input
54: TypePointer Output 7(fvec4)
55(@entryPointOutput): 54(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
12: 7(fvec4) Load 11(a1)
14: 7(fvec4) Load 13(a2)
16: 7(fvec4) Load 15(a3)
17: 7(fvec4) FMul 14 16
18: 7(fvec4) FAdd 12 17
20: 7(fvec4) Load 19(a4)
21: 7(fvec4) FAdd 18 20
23: 7(fvec4) Load 11(a1)
24: 22(fvec3) VectorShuffle 23 23 0 1 2
25: 7(fvec4) Load 13(a2)
26: 22(fvec3) VectorShuffle 25 25 0 1 2
27: 22(fvec3) FMul 24 26
31: 30(ptr) AccessChain 15(a3) 29
32: 6(float) Load 31
33: 6(float) CompositeExtract 27 0
34: 6(float) CompositeExtract 27 1
35: 6(float) CompositeExtract 27 2
36: 7(fvec4) CompositeConstruct 33 34 35 32
37: 7(fvec4) FAdd 21 36
Store 9(@entryPointOutput) 37
41(a1): 8(ptr) Variable Function
45(a2): 8(ptr) Variable Function
48(a3): 8(ptr) Variable Function
51(a4): 8(ptr) Variable Function
56(param): 8(ptr) Variable Function
58(param): 8(ptr) Variable Function
60(param): 8(ptr) Variable Function
62(param): 8(ptr) Variable Function
44: 7(fvec4) Load 43(a1)
Store 41(a1) 44
47: 7(fvec4) Load 46(a2)
Store 45(a2) 47
50: 7(fvec4) Load 49(a3)
Store 48(a3) 50
53: 7(fvec4) Load 52(a4)
Store 51(a4) 53
57: 7(fvec4) Load 41(a1)
Store 56(param) 57
59: 7(fvec4) Load 45(a2)
Store 58(param) 59
61: 7(fvec4) Load 48(a3)
Store 60(param) 61
63: 7(fvec4) Load 51(a4)
Store 62(param) 63
64: 7(fvec4) FunctionCall 14(@PixelShaderFunction(vf4;vf4;vf4;vf4;) 56(param) 58(param) 60(param) 62(param)
Store 55(@entryPointOutput) 64
Return
FunctionEnd
14(@PixelShaderFunction(vf4;vf4;vf4;vf4;): 7(fvec4) Function None 9
10(a1): 8(ptr) FunctionParameter
11(a2): 8(ptr) FunctionParameter
12(a3): 8(ptr) FunctionParameter
13(a4): 8(ptr) FunctionParameter
15: Label
16: 7(fvec4) Load 10(a1)
17: 7(fvec4) Load 11(a2)
18: 7(fvec4) Load 12(a3)
19: 7(fvec4) FMul 17 18
20: 7(fvec4) FAdd 16 19
21: 7(fvec4) Load 13(a4)
22: 7(fvec4) FAdd 20 21
24: 7(fvec4) Load 10(a1)
25: 23(fvec3) VectorShuffle 24 24 0 1 2
26: 7(fvec4) Load 11(a2)
27: 23(fvec3) VectorShuffle 26 26 0 1 2
28: 23(fvec3) FMul 25 27
32: 31(ptr) AccessChain 12(a3) 30
33: 6(float) Load 32
34: 6(float) CompositeExtract 28 0
35: 6(float) CompositeExtract 28 1
36: 6(float) CompositeExtract 28 2
37: 7(fvec4) CompositeConstruct 34 35 36 33
38: 7(fvec4) FAdd 22 37
ReturnValue 38
FunctionEnd

View File

@ -2,32 +2,51 @@ hlsl.precedence2.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: PixelShaderFunction(i1;i1;i1;i1; (temp int)
0:7 Function Definition: @PixelShaderFunction(i1;i1;i1;i1; (temp int)
0:7 Function Parameters:
0:7 'a1' (layout(location=0 ) in int)
0:7 'a2' (layout(location=1 ) in int)
0:7 'a3' (layout(location=2 ) in int)
0:7 'a4' (layout(location=3 ) in int)
0:7 'a1' (in int)
0:7 'a2' (in int)
0:7 'a3' (in int)
0:7 'a4' (in int)
0:? Sequence
0:8 Sequence
0:8 move second child to first child (temp int)
0:? '@entryPointOutput' (layout(location=0 ) out int)
0:8 add (temp int)
0:8 left-shift (temp int)
0:8 add (temp int)
0:8 component-wise multiply (temp int)
0:8 'a1' (layout(location=0 ) in int)
0:8 'a2' (layout(location=1 ) in int)
0:8 'a3' (layout(location=2 ) in int)
0:8 'a4' (layout(location=3 ) in int)
0:8 left-shift (temp int)
0:8 'a1' (layout(location=0 ) in int)
0:8 add (temp int)
0:8 'a2' (layout(location=1 ) in int)
0:8 component-wise multiply (temp int)
0:8 'a3' (layout(location=2 ) in int)
0:8 'a4' (layout(location=3 ) in int)
0:8 Branch: Return
0:8 Branch: Return with expression
0:8 add (temp int)
0:8 left-shift (temp int)
0:8 add (temp int)
0:8 component-wise multiply (temp int)
0:8 'a1' (in int)
0:8 'a2' (in int)
0:8 'a3' (in int)
0:8 'a4' (in int)
0:8 left-shift (temp int)
0:8 'a1' (in int)
0:8 add (temp int)
0:8 'a2' (in int)
0:8 component-wise multiply (temp int)
0:8 'a3' (in int)
0:8 'a4' (in int)
0:7 Function Definition: PixelShaderFunction( (temp void)
0:7 Function Parameters:
0:? Sequence
0:7 move second child to first child (temp int)
0:? 'a1' (temp int)
0:? 'a1' (layout(location=0 ) in int)
0:7 move second child to first child (temp int)
0:? 'a2' (temp int)
0:? 'a2' (layout(location=1 ) in int)
0:7 move second child to first child (temp int)
0:? 'a3' (temp int)
0:? 'a3' (layout(location=2 ) in int)
0:7 move second child to first child (temp int)
0:? 'a4' (temp int)
0:? 'a4' (layout(location=3 ) in int)
0:7 move second child to first child (temp int)
0:? '@entryPointOutput' (layout(location=0 ) out int)
0:7 Function Call: @PixelShaderFunction(i1;i1;i1;i1; (temp int)
0:? 'a1' (temp int)
0:? 'a2' (temp int)
0:? 'a3' (temp int)
0:? 'a4' (temp int)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out int)
0:? 'a1' (layout(location=0 ) in int)
@ -42,32 +61,51 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: PixelShaderFunction(i1;i1;i1;i1; (temp int)
0:7 Function Definition: @PixelShaderFunction(i1;i1;i1;i1; (temp int)
0:7 Function Parameters:
0:7 'a1' (layout(location=0 ) in int)
0:7 'a2' (layout(location=1 ) in int)
0:7 'a3' (layout(location=2 ) in int)
0:7 'a4' (layout(location=3 ) in int)
0:7 'a1' (in int)
0:7 'a2' (in int)
0:7 'a3' (in int)
0:7 'a4' (in int)
0:? Sequence
0:8 Sequence
0:8 move second child to first child (temp int)
0:? '@entryPointOutput' (layout(location=0 ) out int)
0:8 add (temp int)
0:8 left-shift (temp int)
0:8 add (temp int)
0:8 component-wise multiply (temp int)
0:8 'a1' (layout(location=0 ) in int)
0:8 'a2' (layout(location=1 ) in int)
0:8 'a3' (layout(location=2 ) in int)
0:8 'a4' (layout(location=3 ) in int)
0:8 left-shift (temp int)
0:8 'a1' (layout(location=0 ) in int)
0:8 add (temp int)
0:8 'a2' (layout(location=1 ) in int)
0:8 component-wise multiply (temp int)
0:8 'a3' (layout(location=2 ) in int)
0:8 'a4' (layout(location=3 ) in int)
0:8 Branch: Return
0:8 Branch: Return with expression
0:8 add (temp int)
0:8 left-shift (temp int)
0:8 add (temp int)
0:8 component-wise multiply (temp int)
0:8 'a1' (in int)
0:8 'a2' (in int)
0:8 'a3' (in int)
0:8 'a4' (in int)
0:8 left-shift (temp int)
0:8 'a1' (in int)
0:8 add (temp int)
0:8 'a2' (in int)
0:8 component-wise multiply (temp int)
0:8 'a3' (in int)
0:8 'a4' (in int)
0:7 Function Definition: PixelShaderFunction( (temp void)
0:7 Function Parameters:
0:? Sequence
0:7 move second child to first child (temp int)
0:? 'a1' (temp int)
0:? 'a1' (layout(location=0 ) in int)
0:7 move second child to first child (temp int)
0:? 'a2' (temp int)
0:? 'a2' (layout(location=1 ) in int)
0:7 move second child to first child (temp int)
0:? 'a3' (temp int)
0:? 'a3' (layout(location=2 ) in int)
0:7 move second child to first child (temp int)
0:? 'a4' (temp int)
0:? 'a4' (layout(location=3 ) in int)
0:7 move second child to first child (temp int)
0:? '@entryPointOutput' (layout(location=0 ) out int)
0:7 Function Call: @PixelShaderFunction(i1;i1;i1;i1; (temp int)
0:? 'a1' (temp int)
0:? 'a2' (temp int)
0:? 'a3' (temp int)
0:? 'a4' (temp int)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out int)
0:? 'a1' (layout(location=0 ) in int)
@ -77,51 +115,99 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 30
// Id's are bound by 56
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 8 10 12 15 18
EntryPoint Fragment 4 "PixelShaderFunction" 34 37 40 43 46
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 8 "@entryPointOutput"
Name 10 "a1"
Name 12 "a2"
Name 15 "a3"
Name 18 "a4"
Decorate 8(@entryPointOutput) Location 0
Decorate 10(a1) Location 0
Decorate 12(a2) Location 1
Decorate 15(a3) Location 2
Decorate 18(a4) Location 3
Name 13 "@PixelShaderFunction(i1;i1;i1;i1;"
Name 9 "a1"
Name 10 "a2"
Name 11 "a3"
Name 12 "a4"
Name 32 "a1"
Name 34 "a1"
Name 36 "a2"
Name 37 "a2"
Name 39 "a3"
Name 40 "a3"
Name 42 "a4"
Name 43 "a4"
Name 46 "@entryPointOutput"
Name 47 "param"
Name 49 "param"
Name 51 "param"
Name 53 "param"
Decorate 34(a1) Location 0
Decorate 37(a2) Location 1
Decorate 40(a3) Location 2
Decorate 43(a4) Location 3
Decorate 46(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Output 6(int)
8(@entryPointOutput): 7(ptr) Variable Output
9: TypePointer Input 6(int)
10(a1): 9(ptr) Variable Input
12(a2): 9(ptr) Variable Input
15(a3): 9(ptr) Variable Input
18(a4): 9(ptr) Variable Input
7: TypePointer Function 6(int)
8: TypeFunction 6(int) 7(ptr) 7(ptr) 7(ptr) 7(ptr)
33: TypePointer Input 6(int)
34(a1): 33(ptr) Variable Input
37(a2): 33(ptr) Variable Input
40(a3): 33(ptr) Variable Input
43(a4): 33(ptr) Variable Input
45: TypePointer Output 6(int)
46(@entryPointOutput): 45(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
11: 6(int) Load 10(a1)
13: 6(int) Load 12(a2)
14: 6(int) IMul 11 13
16: 6(int) Load 15(a3)
17: 6(int) IAdd 14 16
19: 6(int) Load 18(a4)
20: 6(int) ShiftLeftLogical 17 19
21: 6(int) Load 10(a1)
22: 6(int) Load 12(a2)
23: 6(int) Load 15(a3)
24: 6(int) Load 18(a4)
25: 6(int) IMul 23 24
26: 6(int) IAdd 22 25
27: 6(int) ShiftLeftLogical 21 26
28: 6(int) IAdd 20 27
Store 8(@entryPointOutput) 28
32(a1): 7(ptr) Variable Function
36(a2): 7(ptr) Variable Function
39(a3): 7(ptr) Variable Function
42(a4): 7(ptr) Variable Function
47(param): 7(ptr) Variable Function
49(param): 7(ptr) Variable Function
51(param): 7(ptr) Variable Function
53(param): 7(ptr) Variable Function
35: 6(int) Load 34(a1)
Store 32(a1) 35
38: 6(int) Load 37(a2)
Store 36(a2) 38
41: 6(int) Load 40(a3)
Store 39(a3) 41
44: 6(int) Load 43(a4)
Store 42(a4) 44
48: 6(int) Load 32(a1)
Store 47(param) 48
50: 6(int) Load 36(a2)
Store 49(param) 50
52: 6(int) Load 39(a3)
Store 51(param) 52
54: 6(int) Load 42(a4)
Store 53(param) 54
55: 6(int) FunctionCall 13(@PixelShaderFunction(i1;i1;i1;i1;) 47(param) 49(param) 51(param) 53(param)
Store 46(@entryPointOutput) 55
Return
FunctionEnd
13(@PixelShaderFunction(i1;i1;i1;i1;): 6(int) Function None 8
9(a1): 7(ptr) FunctionParameter
10(a2): 7(ptr) FunctionParameter
11(a3): 7(ptr) FunctionParameter
12(a4): 7(ptr) FunctionParameter
14: Label
15: 6(int) Load 9(a1)
16: 6(int) Load 10(a2)
17: 6(int) IMul 15 16
18: 6(int) Load 11(a3)
19: 6(int) IAdd 17 18
20: 6(int) Load 12(a4)
21: 6(int) ShiftLeftLogical 19 20
22: 6(int) Load 9(a1)
23: 6(int) Load 10(a2)
24: 6(int) Load 11(a3)
25: 6(int) Load 12(a4)
26: 6(int) IMul 24 25
27: 6(int) IAdd 23 26
28: 6(int) ShiftLeftLogical 22 27
29: 6(int) IAdd 21 28
ReturnValue 29
FunctionEnd

View File

@ -6,7 +6,7 @@ gl_FragCoord origin is upper left
0:6 Function Parameters:
0:6 'myfloat' (noContraction in float)
0:6 'myfloat3' (noContraction out 3-component vector of float)
0:9 Function Definition: main( (temp structure{noContraction temp 4-component vector of float color})
0:9 Function Definition: @main( (temp structure{noContraction temp 4-component vector of float color})
0:9 Function Parameters:
0:? Sequence
0:11 move second child to first child (noContraction temp 4-component vector of float)
@ -19,18 +19,21 @@ gl_FragCoord origin is upper left
0:11 1.000000
0:11 1.000000
0:11 1.000000
0:12 Sequence
0:12 Sequence
0:12 move second child to first child (noContraction temp 4-component vector of float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:12 color: direct index for structure (noContraction temp 4-component vector of float)
0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color})
0:12 Constant:
0:12 0 (const int)
0:12 Branch: Return
0:12 Branch: Return with expression
0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color})
0:9 Function Definition: main( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 Sequence
0:9 move second child to first child (noContraction temp 4-component vector of float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:9 color: direct index for structure (noContraction temp 4-component vector of float)
0:9 Function Call: @main( (temp structure{noContraction temp 4-component vector of float color})
0:9 Constant:
0:9 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:? 'precisefloat' (noContraction global float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
Linked fragment stage:
@ -43,7 +46,7 @@ gl_FragCoord origin is upper left
0:6 Function Parameters:
0:6 'myfloat' (noContraction in float)
0:6 'myfloat3' (noContraction out 3-component vector of float)
0:9 Function Definition: main( (temp structure{noContraction temp 4-component vector of float color})
0:9 Function Definition: @main( (temp structure{noContraction temp 4-component vector of float color})
0:9 Function Parameters:
0:? Sequence
0:11 move second child to first child (noContraction temp 4-component vector of float)
@ -56,27 +59,30 @@ gl_FragCoord origin is upper left
0:11 1.000000
0:11 1.000000
0:11 1.000000
0:12 Sequence
0:12 Sequence
0:12 move second child to first child (noContraction temp 4-component vector of float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:12 color: direct index for structure (noContraction temp 4-component vector of float)
0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color})
0:12 Constant:
0:12 0 (const int)
0:12 Branch: Return
0:12 Branch: Return with expression
0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color})
0:9 Function Definition: main( (temp void)
0:9 Function Parameters:
0:? Sequence
0:9 Sequence
0:9 move second child to first child (noContraction temp 4-component vector of float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:9 color: direct index for structure (noContraction temp 4-component vector of float)
0:9 Function Call: @main( (temp structure{noContraction temp 4-component vector of float color})
0:9 Constant:
0:9 0 (const int)
0:? Linker Objects
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:? 'precisefloat' (noContraction global float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 32
// Id's are bound by 37
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 26
EntryPoint Fragment 4 "main" 32
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 13 "MyFunction(f1;vf3;"
@ -84,10 +90,11 @@ gl_FragCoord origin is upper left
Name 12 "myfloat3"
Name 16 "PS_OUTPUT"
MemberName 16(PS_OUTPUT) 0 "color"
Name 18 "ps_output"
Name 26 "color"
Name 31 "precisefloat"
Decorate 26(color) Location 0
Name 18 "@main("
Name 21 "ps_output"
Name 32 "color"
Name 36 "precisefloat"
Decorate 32(color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -97,24 +104,22 @@ gl_FragCoord origin is upper left
10: TypeFunction 2 7(ptr) 9(ptr)
15: TypeVector 6(float) 4
16(PS_OUTPUT): TypeStruct 15(fvec4)
17: TypePointer Function 16(PS_OUTPUT)
19: TypeInt 32 1
20: 19(int) Constant 0
21: 6(float) Constant 1065353216
22: 15(fvec4) ConstantComposite 21 21 21 21
23: TypePointer Function 15(fvec4)
25: TypePointer Output 15(fvec4)
26(color): 25(ptr) Variable Output
30: TypePointer Private 6(float)
31(precisefloat): 30(ptr) Variable Private
17: TypeFunction 16(PS_OUTPUT)
20: TypePointer Function 16(PS_OUTPUT)
22: TypeInt 32 1
23: 22(int) Constant 0
24: 6(float) Constant 1065353216
25: 15(fvec4) ConstantComposite 24 24 24 24
26: TypePointer Function 15(fvec4)
31: TypePointer Output 15(fvec4)
32(color): 31(ptr) Variable Output
35: TypePointer Private 6(float)
36(precisefloat): 35(ptr) Variable Private
4(main): 2 Function None 3
5: Label
18(ps_output): 17(ptr) Variable Function
24: 23(ptr) AccessChain 18(ps_output) 20
Store 24 22
27: 23(ptr) AccessChain 18(ps_output) 20
28: 15(fvec4) Load 27
Store 26(color) 28
33:16(PS_OUTPUT) FunctionCall 18(@main()
34: 15(fvec4) CompositeExtract 33 0
Store 32(color) 34
Return
FunctionEnd
13(MyFunction(f1;vf3;): 2 Function None 10
@ -123,3 +128,11 @@ gl_FragCoord origin is upper left
14: Label
Return
FunctionEnd
18(@main():16(PS_OUTPUT) Function None 17
19: Label
21(ps_output): 20(ptr) Variable Function
27: 26(ptr) AccessChain 21(ps_output) 23
Store 27 25
28:16(PS_OUTPUT) Load 21(ps_output)
ReturnValue 28
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.promote.atomic.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: main( (temp 4-component vector of float)
0:5 Function Definition: @main( (temp 4-component vector of float)
0:5 Function Parameters:
0:? Sequence
0:13 move second child to first child (temp int)
@ -13,18 +13,21 @@ gl_FragCoord origin is upper left
0:13 'Loc' (temp int)
0:13 Convert int to uint (temp uint)
0:13 'Inc' (temp int)
0:15 Sequence
0:15 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:15 Branch: Return
0:15 Branch: Return with expression
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:5 Function Definition: main( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:5 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 's_uintbuff' (layout(r32ui ) uniform uimageBuffer)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
Linked fragment stage:
@ -33,7 +36,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: main( (temp 4-component vector of float)
0:5 Function Definition: @main( (temp 4-component vector of float)
0:5 Function Parameters:
0:? Sequence
0:13 move second child to first child (temp int)
@ -44,66 +47,76 @@ gl_FragCoord origin is upper left
0:13 'Loc' (temp int)
0:13 Convert int to uint (temp uint)
0:13 'Inc' (temp int)
0:15 Sequence
0:15 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:15 Branch: Return
0:15 Branch: Return with expression
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:5 Function Definition: main( (temp void)
0:5 Function Parameters:
0:? Sequence
0:5 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:5 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 's_uintbuff' (layout(r32ui ) uniform uimageBuffer)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 31
// Id's are bound by 36
Capability Shader
Capability SampledBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 27
EntryPoint Fragment 4 "main" 34
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "Orig"
Name 12 "s_uintbuff"
Name 13 "Loc"
Name 15 "Inc"
Name 27 "@entryPointOutput"
Decorate 12(s_uintbuff) DescriptorSet 0
Decorate 27(@entryPointOutput) Location 0
Name 9 "@main("
Name 13 "Orig"
Name 17 "s_uintbuff"
Name 18 "Loc"
Name 20 "Inc"
Name 34 "@entryPointOutput"
Decorate 17(s_uintbuff) DescriptorSet 0
Decorate 34(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Function 6(int)
9: TypeInt 32 0
10: TypeImage 9(int) Buffer nonsampled format:R32ui
11: TypePointer UniformConstant 10
12(s_uintbuff): 11(ptr) Variable UniformConstant
18: 9(int) Constant 0
19: TypePointer Image 9(int)
21: 9(int) Constant 1
24: TypeFloat 32
25: TypeVector 24(float) 4
26: TypePointer Output 25(fvec4)
27(@entryPointOutput): 26(ptr) Variable Output
28: 24(float) Constant 0
29: 25(fvec4) ConstantComposite 28 28 28 28
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeFunction 7(fvec4)
11: TypeInt 32 1
12: TypePointer Function 11(int)
14: TypeInt 32 0
15: TypeImage 14(int) Buffer nonsampled format:R32ui
16: TypePointer UniformConstant 15
17(s_uintbuff): 16(ptr) Variable UniformConstant
23: 14(int) Constant 0
24: TypePointer Image 14(int)
26: 14(int) Constant 1
29: 6(float) Constant 0
30: 7(fvec4) ConstantComposite 29 29 29 29
33: TypePointer Output 7(fvec4)
34(@entryPointOutput): 33(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(Orig): 7(ptr) Variable Function
13(Loc): 7(ptr) Variable Function
15(Inc): 7(ptr) Variable Function
14: 6(int) Load 13(Loc)
16: 6(int) Load 15(Inc)
17: 9(int) Bitcast 16
20: 19(ptr) ImageTexelPointer 12(s_uintbuff) 14 18
22: 9(int) AtomicIAdd 20 21 18 17
23: 6(int) Bitcast 22
Store 8(Orig) 23
Store 27(@entryPointOutput) 29
35: 7(fvec4) FunctionCall 9(@main()
Store 34(@entryPointOutput) 35
Return
FunctionEnd
9(@main(): 7(fvec4) Function None 8
10: Label
13(Orig): 12(ptr) Variable Function
18(Loc): 12(ptr) Variable Function
20(Inc): 12(ptr) Variable Function
19: 11(int) Load 18(Loc)
21: 11(int) Load 20(Inc)
22: 14(int) Bitcast 21
25: 24(ptr) ImageTexelPointer 17(s_uintbuff) 19 23
27: 14(int) AtomicIAdd 25 26 23 22
28: 11(int) Bitcast 27
Store 13(Orig) 28
ReturnValue 30
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.promote.binary.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:14 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:14 Function Parameters:
0:? Sequence
0:15 mod (temp float)
@ -67,15 +67,18 @@ gl_FragCoord origin is upper left
0:25 0.000000
0:25 0.000000
0:25 0.000000
0:26 Sequence
0:26 Sequence
0:26 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:26 Color: direct index for structure (temp 4-component vector of float)
0:26 'psout' (temp structure{temp 4-component vector of float Color})
0:26 Constant:
0:26 0 (const int)
0:26 Branch: Return
0:26 Branch: Return with expression
0:26 'psout' (temp structure{temp 4-component vector of float Color})
0:14 Function Definition: main( (temp void)
0:14 Function Parameters:
0:? Sequence
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:14 Color: direct index for structure (temp 4-component vector of float)
0:14 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:14 Constant:
0:14 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
@ -87,7 +90,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:14 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:14 Function Parameters:
0:? Sequence
0:15 mod (temp float)
@ -152,129 +155,139 @@ gl_FragCoord origin is upper left
0:25 0.000000
0:25 0.000000
0:25 0.000000
0:26 Sequence
0:26 Sequence
0:26 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:26 Color: direct index for structure (temp 4-component vector of float)
0:26 'psout' (temp structure{temp 4-component vector of float Color})
0:26 Constant:
0:26 0 (const int)
0:26 Branch: Return
0:26 Branch: Return with expression
0:26 'psout' (temp structure{temp 4-component vector of float Color})
0:14 Function Definition: main( (temp void)
0:14 Function Parameters:
0:? Sequence
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:14 Color: direct index for structure (temp 4-component vector of float)
0:14 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:14 Constant:
0:14 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 78
// Id's are bound by 83
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 74
EntryPoint Fragment 4 "main" 80
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 12 "$Global"
MemberName 12($Global) 0 "bval"
MemberName 12($Global) 1 "bval4"
MemberName 12($Global) 2 "ival"
MemberName 12($Global) 3 "ival4"
MemberName 12($Global) 4 "fval"
MemberName 12($Global) 5 "fval4"
Name 14 ""
Name 62 "l_int"
Name 68 "PS_OUTPUT"
MemberName 68(PS_OUTPUT) 0 "Color"
Name 70 "psout"
Name 74 "Color"
MemberDecorate 12($Global) 0 Offset 0
MemberDecorate 12($Global) 1 Offset 16
MemberDecorate 12($Global) 2 Offset 32
MemberDecorate 12($Global) 3 Offset 48
MemberDecorate 12($Global) 4 Offset 64
MemberDecorate 12($Global) 5 Offset 80
Decorate 12($Global) Block
Decorate 14 DescriptorSet 0
Decorate 74(Color) Location 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
Name 10 "@main("
Name 16 "$Global"
MemberName 16($Global) 0 "bval"
MemberName 16($Global) 1 "bval4"
MemberName 16($Global) 2 "ival"
MemberName 16($Global) 3 "ival4"
MemberName 16($Global) 4 "fval"
MemberName 16($Global) 5 "fval4"
Name 18 ""
Name 66 "l_int"
Name 73 "psout"
Name 80 "Color"
MemberDecorate 16($Global) 0 Offset 0
MemberDecorate 16($Global) 1 Offset 16
MemberDecorate 16($Global) 2 Offset 32
MemberDecorate 16($Global) 3 Offset 48
MemberDecorate 16($Global) 4 Offset 64
MemberDecorate 16($Global) 5 Offset 80
Decorate 16($Global) Block
Decorate 18 DescriptorSet 0
Decorate 80(Color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypeVector 6(int) 4
8: TypeInt 32 1
9: TypeVector 8(int) 4
10: TypeFloat 32
11: TypeVector 10(float) 4
12($Global): TypeStruct 6(int) 7(ivec4) 8(int) 9(ivec4) 10(float) 11(fvec4)
13: TypePointer Uniform 12($Global)
14: 13(ptr) Variable Uniform
15: 8(int) Constant 2
16: TypePointer Uniform 8(int)
20: 8(int) Constant 4
21: TypePointer Uniform 10(float)
25: 8(int) Constant 3
26: TypePointer Uniform 9(ivec4)
30: 8(int) Constant 5
31: TypePointer Uniform 11(fvec4)
35: 8(int) Constant 0
36: TypePointer Uniform 6(int)
39: TypeBool
40: 6(int) Constant 0
42: 10(float) Constant 0
43: 10(float) Constant 1065353216
48: 8(int) Constant 1
49: TypePointer Uniform 7(ivec4)
52: TypeVector 39(bool) 4
53: 7(ivec4) ConstantComposite 40 40 40 40
55: 11(fvec4) ConstantComposite 42 42 42 42
56: 11(fvec4) ConstantComposite 43 43 43 43
61: TypePointer Function 8(int)
68(PS_OUTPUT): TypeStruct 11(fvec4)
69: TypePointer Function 68(PS_OUTPUT)
71: TypePointer Function 11(fvec4)
73: TypePointer Output 11(fvec4)
74(Color): 73(ptr) Variable Output
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypeInt 32 0
13: TypeVector 12(int) 4
14: TypeInt 32 1
15: TypeVector 14(int) 4
16($Global): TypeStruct 12(int) 13(ivec4) 14(int) 15(ivec4) 6(float) 7(fvec4)
17: TypePointer Uniform 16($Global)
18: 17(ptr) Variable Uniform
19: 14(int) Constant 2
20: TypePointer Uniform 14(int)
24: 14(int) Constant 4
25: TypePointer Uniform 6(float)
29: 14(int) Constant 3
30: TypePointer Uniform 15(ivec4)
34: 14(int) Constant 5
35: TypePointer Uniform 7(fvec4)
39: 14(int) Constant 0
40: TypePointer Uniform 12(int)
43: TypeBool
44: 12(int) Constant 0
46: 6(float) Constant 0
47: 6(float) Constant 1065353216
52: 14(int) Constant 1
53: TypePointer Uniform 13(ivec4)
56: TypeVector 43(bool) 4
57: 13(ivec4) ConstantComposite 44 44 44 44
59: 7(fvec4) ConstantComposite 46 46 46 46
60: 7(fvec4) ConstantComposite 47 47 47 47
65: TypePointer Function 14(int)
72: TypePointer Function 8(PS_OUTPUT)
74: TypePointer Function 7(fvec4)
79: TypePointer Output 7(fvec4)
80(Color): 79(ptr) Variable Output
4(main): 2 Function None 3
5: Label
62(l_int): 61(ptr) Variable Function
70(psout): 69(ptr) Variable Function
17: 16(ptr) AccessChain 14 15
18: 8(int) Load 17
19: 10(float) ConvertSToF 18
22: 21(ptr) AccessChain 14 20
23: 10(float) Load 22
24: 10(float) FMod 19 23
27: 26(ptr) AccessChain 14 25
28: 9(ivec4) Load 27
29: 11(fvec4) ConvertSToF 28
32: 31(ptr) AccessChain 14 30
33: 11(fvec4) Load 32
34: 11(fvec4) FMod 29 33
37: 36(ptr) AccessChain 14 35
38: 6(int) Load 37
41: 39(bool) INotEqual 38 40
44: 10(float) Select 41 43 42
45: 21(ptr) AccessChain 14 20
46: 10(float) Load 45
47: 10(float) FMod 44 46
50: 49(ptr) AccessChain 14 48
51: 7(ivec4) Load 50
54: 52(bvec4) INotEqual 51 53
57: 11(fvec4) Select 54 56 55
58: 31(ptr) AccessChain 14 30
59: 11(fvec4) Load 58
60: 11(fvec4) FMod 57 59
Store 62(l_int) 48
63: 21(ptr) AccessChain 14 20
64: 10(float) Load 63
65: 8(int) ConvertFToS 64
66: 8(int) Load 62(l_int)
67: 8(int) SMod 66 65
Store 62(l_int) 67
72: 71(ptr) AccessChain 70(psout) 35
Store 72 55
75: 71(ptr) AccessChain 70(psout) 35
76: 11(fvec4) Load 75
Store 74(Color) 76
81:8(PS_OUTPUT) FunctionCall 10(@main()
82: 7(fvec4) CompositeExtract 81 0
Store 80(Color) 82
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
66(l_int): 65(ptr) Variable Function
73(psout): 72(ptr) Variable Function
21: 20(ptr) AccessChain 18 19
22: 14(int) Load 21
23: 6(float) ConvertSToF 22
26: 25(ptr) AccessChain 18 24
27: 6(float) Load 26
28: 6(float) FMod 23 27
31: 30(ptr) AccessChain 18 29
32: 15(ivec4) Load 31
33: 7(fvec4) ConvertSToF 32
36: 35(ptr) AccessChain 18 34
37: 7(fvec4) Load 36
38: 7(fvec4) FMod 33 37
41: 40(ptr) AccessChain 18 39
42: 12(int) Load 41
45: 43(bool) INotEqual 42 44
48: 6(float) Select 45 47 46
49: 25(ptr) AccessChain 18 24
50: 6(float) Load 49
51: 6(float) FMod 48 50
54: 53(ptr) AccessChain 18 52
55: 13(ivec4) Load 54
58: 56(bvec4) INotEqual 55 57
61: 7(fvec4) Select 58 60 59
62: 35(ptr) AccessChain 18 34
63: 7(fvec4) Load 62
64: 7(fvec4) FMod 61 63
Store 66(l_int) 52
67: 25(ptr) AccessChain 18 24
68: 6(float) Load 67
69: 14(int) ConvertFToS 68
70: 14(int) Load 66(l_int)
71: 14(int) SMod 70 69
Store 66(l_int) 71
75: 74(ptr) AccessChain 73(psout) 39
Store 75 59
76:8(PS_OUTPUT) Load 73(psout)
ReturnValue 76
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.promote.vec1.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:3 Function Definition: main( (temp 4-component vector of float)
0:3 Function Definition: @main( (temp 4-component vector of float)
0:3 Function Parameters:
0:? Sequence
0:7 move second child to first child (temp float)
@ -22,15 +22,18 @@ gl_FragCoord origin is upper left
0:13 sine (temp float)
0:13 Construct float (in float)
0:13 'f1b' (temp 1-component vector of float)
0:15 Sequence
0:15 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:15 Branch: Return
0:15 Branch: Return with expression
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:3 Function Definition: main( (temp void)
0:3 Function Parameters:
0:? Sequence
0:3 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:3 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
@ -41,7 +44,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:3 Function Definition: main( (temp 4-component vector of float)
0:3 Function Definition: @main( (temp 4-component vector of float)
0:3 Function Parameters:
0:? Sequence
0:7 move second child to first child (temp float)
@ -61,58 +64,68 @@ gl_FragCoord origin is upper left
0:13 sine (temp float)
0:13 Construct float (in float)
0:13 'f1b' (temp 1-component vector of float)
0:15 Sequence
0:15 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:15 Branch: Return
0:15 Branch: Return with expression
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:3 Function Definition: main( (temp void)
0:3 Function Parameters:
0:? Sequence
0:3 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:3 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 26
// Id's are bound by 31
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 23
EntryPoint Fragment 4 "main" 29
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "f1a"
Name 9 "f1b"
Name 16 "f3"
Name 23 "@entryPointOutput"
Decorate 23(@entryPointOutput) Location 0
Name 9 "@main("
Name 12 "f1a"
Name 13 "f1b"
Name 20 "f3"
Name 29 "@entryPointOutput"
Decorate 29(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
12: TypeVector 6(float) 3
13: 6(float) Constant 0
14: 12(fvec3) ConstantComposite 13 13 13
15: TypePointer Function 12(fvec3)
21: TypeVector 6(float) 4
22: TypePointer Output 21(fvec4)
23(@entryPointOutput): 22(ptr) Variable Output
24: 21(fvec4) ConstantComposite 13 13 13 13
7: TypeVector 6(float) 4
8: TypeFunction 7(fvec4)
11: TypePointer Function 6(float)
16: TypeVector 6(float) 3
17: 6(float) Constant 0
18: 16(fvec3) ConstantComposite 17 17 17
19: TypePointer Function 16(fvec3)
25: 7(fvec4) ConstantComposite 17 17 17 17
28: TypePointer Output 7(fvec4)
29(@entryPointOutput): 28(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(f1a): 7(ptr) Variable Function
9(f1b): 7(ptr) Variable Function
16(f3): 15(ptr) Variable Function
10: 6(float) Load 9(f1b)
Store 8(f1a) 10
11: 6(float) Load 8(f1a)
Store 9(f1b) 11
17: 12(fvec3) Load 16(f3)
18: 12(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 14 17
19: 6(float) Load 9(f1b)
20: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 19
Store 23(@entryPointOutput) 24
30: 7(fvec4) FunctionCall 9(@main()
Store 29(@entryPointOutput) 30
Return
FunctionEnd
9(@main(): 7(fvec4) Function None 8
10: Label
12(f1a): 11(ptr) Variable Function
13(f1b): 11(ptr) Variable Function
20(f3): 19(ptr) Variable Function
14: 6(float) Load 13(f1b)
Store 12(f1a) 14
15: 6(float) Load 12(f1a)
Store 13(f1b) 15
21: 16(fvec3) Load 20(f3)
22: 16(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 18 21
23: 6(float) Load 13(f1b)
24: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 23
ReturnValue 25
FunctionEnd

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@ hlsl.rw.register.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:11 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:11 Function Parameters:
0:? Sequence
0:12 Sequence
@ -29,19 +29,22 @@ gl_FragCoord origin is upper left
0:16 1.000000
0:16 1.000000
0:16 1.000000
0:17 Sequence
0:17 Sequence
0:17 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:17 Color: direct index for structure (temp 4-component vector of float)
0:17 'psout' (temp structure{temp 4-component vector of float Color})
0:17 Constant:
0:17 0 (const int)
0:17 Branch: Return
0:17 Branch: Return with expression
0:17 'psout' (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: main( (temp void)
0:11 Function Parameters:
0:? Sequence
0:11 Sequence
0:11 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:11 Color: direct index for structure (temp 4-component vector of float)
0:11 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:11 Constant:
0:11 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D)
0:? 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
Linked fragment stage:
@ -50,7 +53,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:11 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: @main( (temp structure{temp 4-component vector of float Color})
0:11 Function Parameters:
0:? Sequence
0:12 Sequence
@ -77,82 +80,92 @@ gl_FragCoord origin is upper left
0:16 1.000000
0:16 1.000000
0:16 1.000000
0:17 Sequence
0:17 Sequence
0:17 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:17 Color: direct index for structure (temp 4-component vector of float)
0:17 'psout' (temp structure{temp 4-component vector of float Color})
0:17 Constant:
0:17 0 (const int)
0:17 Branch: Return
0:17 Branch: Return with expression
0:17 'psout' (temp structure{temp 4-component vector of float Color})
0:11 Function Definition: main( (temp void)
0:11 Function Parameters:
0:? Sequence
0:11 Sequence
0:11 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:11 Color: direct index for structure (temp 4-component vector of float)
0:11 Function Call: @main( (temp structure{temp 4-component vector of float Color})
0:11 Constant:
0:11 0 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D)
0:? 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 37
// Id's are bound by 42
Capability Shader
Capability Sampled1D
Capability SampledBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 33
EntryPoint Fragment 4 "main" 39
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "r00"
Name 11 "g_tTex1df1"
Name 18 "r01"
Name 21 "g_tBuf1du1"
Name 25 "PS_OUTPUT"
MemberName 25(PS_OUTPUT) 0 "Color"
Name 27 "psout"
Name 33 "Color"
Decorate 11(g_tTex1df1) DescriptorSet 0
Decorate 11(g_tTex1df1) Binding 2
Decorate 21(g_tBuf1du1) DescriptorSet 0
Decorate 21(g_tBuf1du1) Binding 3
Decorate 33(Color) Location 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
Name 10 "@main("
Name 13 "r00"
Name 16 "g_tTex1df1"
Name 23 "r01"
Name 26 "g_tBuf1du1"
Name 30 "psout"
Name 39 "Color"
Decorate 16(g_tTex1df1) DescriptorSet 0
Decorate 16(g_tTex1df1) Binding 2
Decorate 26(g_tBuf1du1) DescriptorSet 0
Decorate 26(g_tBuf1du1) Binding 3
Decorate 39(Color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
9: TypeImage 6(float) 1D nonsampled format:R32f
10: TypePointer UniformConstant 9
11(g_tTex1df1): 10(ptr) Variable UniformConstant
13: TypeInt 32 1
14: 13(int) Constant 0
16: TypeInt 32 0
17: TypePointer Function 16(int)
19: TypeImage 16(int) Buffer nonsampled format:R32ui
20: TypePointer UniformConstant 19
21(g_tBuf1du1): 20(ptr) Variable UniformConstant
24: TypeVector 6(float) 4
25(PS_OUTPUT): TypeStruct 24(fvec4)
26: TypePointer Function 25(PS_OUTPUT)
28: 6(float) Constant 1065353216
29: 24(fvec4) ConstantComposite 28 28 28 28
30: TypePointer Function 24(fvec4)
32: TypePointer Output 24(fvec4)
33(Color): 32(ptr) Variable Output
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 6(float)
14: TypeImage 6(float) 1D nonsampled format:R32f
15: TypePointer UniformConstant 14
16(g_tTex1df1): 15(ptr) Variable UniformConstant
18: TypeInt 32 1
19: 18(int) Constant 0
21: TypeInt 32 0
22: TypePointer Function 21(int)
24: TypeImage 21(int) Buffer nonsampled format:R32ui
25: TypePointer UniformConstant 24
26(g_tBuf1du1): 25(ptr) Variable UniformConstant
29: TypePointer Function 8(PS_OUTPUT)
31: 6(float) Constant 1065353216
32: 7(fvec4) ConstantComposite 31 31 31 31
33: TypePointer Function 7(fvec4)
38: TypePointer Output 7(fvec4)
39(Color): 38(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(r00): 7(ptr) Variable Function
18(r01): 17(ptr) Variable Function
27(psout): 26(ptr) Variable Function
12: 9 Load 11(g_tTex1df1)
15: 6(float) ImageRead 12 14
Store 8(r00) 15
22: 19 Load 21(g_tBuf1du1)
23: 16(int) ImageRead 22 14
Store 18(r01) 23
31: 30(ptr) AccessChain 27(psout) 14
Store 31 29
34: 30(ptr) AccessChain 27(psout) 14
35: 24(fvec4) Load 34
Store 33(Color) 35
40:8(PS_OUTPUT) FunctionCall 10(@main()
41: 7(fvec4) CompositeExtract 40 0
Store 39(Color) 41
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(r00): 12(ptr) Variable Function
23(r01): 22(ptr) Variable Function
30(psout): 29(ptr) Variable Function
17: 14 Load 16(g_tTex1df1)
20: 6(float) ImageRead 17 19
Store 13(r00) 20
27: 24 Load 26(g_tBuf1du1)
28: 21(int) ImageRead 27 19
Store 23(r01) 28
34: 33(ptr) AccessChain 30(psout) 19
Store 34 32
35:8(PS_OUTPUT) Load 30(psout)
ReturnValue 35
FunctionEnd

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,7 @@ gl_FragCoord origin is upper left
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:7 Function Definition: main( (temp 4-component vector of float)
0:7 Function Definition: @main( (temp 4-component vector of float)
0:7 Function Parameters:
0:? Sequence
0:8 Sequence
@ -81,19 +81,22 @@ gl_FragCoord origin is upper left
0:14 'tc2' (temp 2-component vector of int)
0:14 'storeTemp' (temp 3-component vector of float)
0:14 'storeTemp' (temp 3-component vector of float)
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:27 Constant:
0:27 0.000000
0:27 0.000000
0:27 0.000000
0:27 0.000000
0:27 Branch: Return
0:27 Branch: Return with expression
0:27 Constant:
0:27 0.000000
0:27 0.000000
0:27 0.000000
0:27 0.000000
0:7 Function Definition: main( (temp void)
0:7 Function Parameters:
0:? Sequence
0:7 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:7 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'rwtx' (layout(rgba32f ) uniform image2D)
0:? 'buf' (layout(rgba32f ) uniform imageBuffer)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
Linked fragment stage:
@ -110,7 +113,7 @@ gl_FragCoord origin is upper left
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:7 Function Definition: main( (temp 4-component vector of float)
0:7 Function Definition: @main( (temp 4-component vector of float)
0:7 Function Parameters:
0:? Sequence
0:8 Sequence
@ -181,106 +184,116 @@ gl_FragCoord origin is upper left
0:14 'tc2' (temp 2-component vector of int)
0:14 'storeTemp' (temp 3-component vector of float)
0:14 'storeTemp' (temp 3-component vector of float)
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:27 Constant:
0:27 0.000000
0:27 0.000000
0:27 0.000000
0:27 0.000000
0:27 Branch: Return
0:27 Branch: Return with expression
0:27 Constant:
0:27 0.000000
0:27 0.000000
0:27 0.000000
0:27 0.000000
0:7 Function Definition: main( (temp void)
0:7 Function Parameters:
0:? Sequence
0:7 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:7 Function Call: @main( (temp 4-component vector of float)
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'rwtx' (layout(rgba32f ) uniform image2D)
0:? 'buf' (layout(rgba32f ) uniform imageBuffer)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 58
// Id's are bound by 63
Capability Shader
Capability SampledBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 51
EntryPoint Fragment 4 "main" 58
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "SomeValue("
Name 20 "tc2"
Name 24 "tc"
Name 26 "storeTemp"
Name 31 "rwtx"
Name 35 "storeTemp"
Name 42 "storeTemp"
Name 51 "@entryPointOutput"
Name 57 "buf"
Decorate 31(rwtx) DescriptorSet 0
Decorate 51(@entryPointOutput) Location 0
Decorate 57(buf) DescriptorSet 0
Name 13 "@main("
Name 24 "tc2"
Name 28 "tc"
Name 30 "storeTemp"
Name 35 "rwtx"
Name 39 "storeTemp"
Name 46 "storeTemp"
Name 58 "@entryPointOutput"
Name 62 "buf"
Decorate 35(rwtx) DescriptorSet 0
Decorate 58(@entryPointOutput) Location 0
Decorate 62(buf) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 3
8: TypeFunction 7(fvec3)
11: 6(float) Constant 1065353216
12: 6(float) Constant 1073741824
13: 6(float) Constant 1077936128
14: 7(fvec3) ConstantComposite 11 12 13
17: TypeInt 32 1
18: TypeVector 17(int) 2
19: TypePointer Function 18(ivec2)
21: 17(int) Constant 0
22: 18(ivec2) ConstantComposite 21 21
23: TypePointer Function 17(int)
25: TypePointer Function 7(fvec3)
29: TypeImage 6(float) 2D nonsampled format:Rgba32f
30: TypePointer UniformConstant 29
31(rwtx): 30(ptr) Variable UniformConstant
43: 7(fvec3) ConstantComposite 12 12 12
49: TypeVector 6(float) 4
50: TypePointer Output 49(fvec4)
51(@entryPointOutput): 50(ptr) Variable Output
52: 6(float) Constant 0
53: 49(fvec4) ConstantComposite 52 52 52 52
55: TypeImage 6(float) Buffer nonsampled format:Rgba32f
56: TypePointer UniformConstant 55
57(buf): 56(ptr) Variable UniformConstant
11: TypeVector 6(float) 4
12: TypeFunction 11(fvec4)
15: 6(float) Constant 1065353216
16: 6(float) Constant 1073741824
17: 6(float) Constant 1077936128
18: 7(fvec3) ConstantComposite 15 16 17
21: TypeInt 32 1
22: TypeVector 21(int) 2
23: TypePointer Function 22(ivec2)
25: 21(int) Constant 0
26: 22(ivec2) ConstantComposite 25 25
27: TypePointer Function 21(int)
29: TypePointer Function 7(fvec3)
33: TypeImage 6(float) 2D nonsampled format:Rgba32f
34: TypePointer UniformConstant 33
35(rwtx): 34(ptr) Variable UniformConstant
47: 7(fvec3) ConstantComposite 16 16 16
53: 6(float) Constant 0
54: 11(fvec4) ConstantComposite 53 53 53 53
57: TypePointer Output 11(fvec4)
58(@entryPointOutput): 57(ptr) Variable Output
60: TypeImage 6(float) Buffer nonsampled format:Rgba32f
61: TypePointer UniformConstant 60
62(buf): 61(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
20(tc2): 19(ptr) Variable Function
24(tc): 23(ptr) Variable Function
26(storeTemp): 25(ptr) Variable Function
35(storeTemp): 25(ptr) Variable Function
42(storeTemp): 25(ptr) Variable Function
Store 20(tc2) 22
Store 24(tc) 21
27: 7(fvec3) Load 26(storeTemp)
28: 7(fvec3) VectorShuffle 27 14 5 4 3
Store 26(storeTemp) 28
32: 29 Load 31(rwtx)
33: 18(ivec2) Load 20(tc2)
34: 7(fvec3) Load 26(storeTemp)
ImageWrite 32 33 34
36: 7(fvec3) FunctionCall 9(SomeValue()
37: 7(fvec3) Load 35(storeTemp)
38: 7(fvec3) VectorShuffle 37 36 5 4 3
Store 35(storeTemp) 38
39: 29 Load 31(rwtx)
40: 18(ivec2) Load 20(tc2)
41: 7(fvec3) Load 35(storeTemp)
ImageWrite 39 40 41
44: 7(fvec3) Load 42(storeTemp)
45: 7(fvec3) VectorShuffle 44 43 5 4 3
Store 42(storeTemp) 45
46: 29 Load 31(rwtx)
47: 18(ivec2) Load 20(tc2)
48: 7(fvec3) Load 42(storeTemp)
ImageWrite 46 47 48
Store 51(@entryPointOutput) 53
59: 11(fvec4) FunctionCall 13(@main()
Store 58(@entryPointOutput) 59
Return
FunctionEnd
9(SomeValue(): 7(fvec3) Function None 8
10: Label
ReturnValue 14
ReturnValue 18
FunctionEnd
13(@main(): 11(fvec4) Function None 12
14: Label
24(tc2): 23(ptr) Variable Function
28(tc): 27(ptr) Variable Function
30(storeTemp): 29(ptr) Variable Function
39(storeTemp): 29(ptr) Variable Function
46(storeTemp): 29(ptr) Variable Function
Store 24(tc2) 26
Store 28(tc) 25
31: 7(fvec3) Load 30(storeTemp)
32: 7(fvec3) VectorShuffle 31 18 5 4 3
Store 30(storeTemp) 32
36: 33 Load 35(rwtx)
37: 22(ivec2) Load 24(tc2)
38: 7(fvec3) Load 30(storeTemp)
ImageWrite 36 37 38
40: 7(fvec3) FunctionCall 9(SomeValue()
41: 7(fvec3) Load 39(storeTemp)
42: 7(fvec3) VectorShuffle 41 40 5 4 3
Store 39(storeTemp) 42
43: 33 Load 35(rwtx)
44: 22(ivec2) Load 24(tc2)
45: 7(fvec3) Load 39(storeTemp)
ImageWrite 43 44 45
48: 7(fvec3) Load 46(storeTemp)
49: 7(fvec3) VectorShuffle 48 47 5 4 3
Store 46(storeTemp) 49
50: 33 Load 35(rwtx)
51: 22(ivec2) Load 24(tc2)
52: 7(fvec3) Load 46(storeTemp)
ImageWrite 50 51 52
ReturnValue 54
FunctionEnd

Some files were not shown because too many files have changed in this diff Show More