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

View file

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

View file

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

View file

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

View file

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

View file

@ -2,42 +2,49 @@ hlsl.buffer.frag
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 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:? Sequence
0:31 Sequence 0:31 Branch: Return with expression
0:31 move second child to first child (temp 4-component vector of float) 0:31 add (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 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 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' (in 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 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 '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 Constant: 0:31 Constant:
0:31 0 (const uint) 0:31 0 (const uint)
0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float) 0:31 v2: direct index for structure (layout(row_major std430 ) buffer 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 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
0:31 Constant: 0:31 Constant:
0:31 0 (const uint) 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 v3: direct index for structure (layout(row_major std140 ) uniform 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 '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 Constant:
0:31 0 (const uint) 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:? 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@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@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@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:? '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: Linked fragment stage:
@ -46,154 +53,179 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 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:? Sequence
0:31 Sequence 0:31 Branch: Return with expression
0:31 move second child to first child (temp 4-component vector of float) 0:31 add (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 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 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' (in 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 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 '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 Constant: 0:31 Constant:
0:31 0 (const uint) 0:31 0 (const uint)
0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float) 0:31 v2: direct index for structure (layout(row_major std430 ) buffer 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 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
0:31 Constant: 0:31 Constant:
0:31 0 (const uint) 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 v3: direct index for structure (layout(row_major std140 ) uniform 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 '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 Constant:
0:31 0 (const uint) 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:? 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@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@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@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:? '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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 42 // Id's are bound by 53
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 11 EntryPoint Fragment 4 "PixelShaderFunction" 46 49
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 9 "@entryPointOutput" Name 11 "@PixelShaderFunction(vf4;"
Name 11 "input" Name 10 "input"
Name 13 "" Name 14 ""
MemberName 13 0 "v1" MemberName 14 0 "v1"
Name 15 "" Name 16 ""
Name 22 "" Name 23 ""
MemberName 22 0 "v2" MemberName 23 0 "v2"
Name 24 "" Name 25 ""
Name 28 "cbufName" Name 29 "cbufName"
MemberName 28(cbufName) 0 "v3" MemberName 29(cbufName) 0 "v3"
MemberName 28(cbufName) 1 "i3" MemberName 29(cbufName) 1 "i3"
Name 30 "" Name 31 ""
Name 35 "tbufName" Name 36 "tbufName"
MemberName 35(tbufName) 0 "v4" MemberName 36(tbufName) 0 "v4"
MemberName 35(tbufName) 1 "i4" MemberName 36(tbufName) 1 "i4"
MemberName 35(tbufName) 2 "f1" MemberName 36(tbufName) 2 "f1"
MemberName 35(tbufName) 3 "f3" MemberName 36(tbufName) 3 "f3"
MemberName 35(tbufName) 4 "f4" MemberName 36(tbufName) 4 "f4"
MemberName 35(tbufName) 5 "f5" MemberName 36(tbufName) 5 "f5"
MemberName 35(tbufName) 6 "f6" MemberName 36(tbufName) 6 "f6"
MemberName 35(tbufName) 7 "f7" MemberName 36(tbufName) 7 "f7"
MemberName 35(tbufName) 8 "m1" MemberName 36(tbufName) 8 "m1"
MemberName 35(tbufName) 9 "m2" MemberName 36(tbufName) 9 "m2"
MemberName 35(tbufName) 10 "m3" MemberName 36(tbufName) 10 "m3"
MemberName 35(tbufName) 11 "m4" MemberName 36(tbufName) 11 "m4"
Name 37 "" Name 38 ""
Decorate 9(@entryPointOutput) Location 0 Name 44 "input"
Decorate 11(input) Location 0 Name 46 "input"
MemberDecorate 13 0 Offset 0 Name 49 "@entryPointOutput"
Decorate 13 Block Name 50 "param"
Decorate 15 DescriptorSet 0 MemberDecorate 14 0 Offset 0
MemberDecorate 22 0 Offset 0 Decorate 14 Block
Decorate 22 BufferBlock Decorate 16 DescriptorSet 0
Decorate 24 DescriptorSet 0 MemberDecorate 23 0 Offset 0
MemberDecorate 28(cbufName) 0 Offset 0 Decorate 23 BufferBlock
MemberDecorate 28(cbufName) 1 Offset 20 Decorate 25 DescriptorSet 0
Decorate 28(cbufName) Block MemberDecorate 29(cbufName) 0 Offset 0
Decorate 30 DescriptorSet 10 MemberDecorate 29(cbufName) 1 Offset 20
Decorate 30 Binding 2 Decorate 29(cbufName) Block
MemberDecorate 35(tbufName) 0 Offset 16 Decorate 31 DescriptorSet 10
MemberDecorate 35(tbufName) 1 Offset 48 Decorate 31 Binding 2
MemberDecorate 35(tbufName) 2 Offset 60 MemberDecorate 36(tbufName) 0 Offset 16
MemberDecorate 35(tbufName) 3 Offset 64 MemberDecorate 36(tbufName) 1 Offset 48
MemberDecorate 35(tbufName) 4 Offset 68 MemberDecorate 36(tbufName) 2 Offset 60
MemberDecorate 35(tbufName) 5 Offset 72 MemberDecorate 36(tbufName) 3 Offset 64
MemberDecorate 35(tbufName) 6 Offset 76 MemberDecorate 36(tbufName) 4 Offset 68
MemberDecorate 35(tbufName) 7 Offset 80 MemberDecorate 36(tbufName) 5 Offset 72
MemberDecorate 35(tbufName) 8 RowMajor MemberDecorate 36(tbufName) 6 Offset 76
MemberDecorate 35(tbufName) 8 Offset 96 MemberDecorate 36(tbufName) 7 Offset 80
MemberDecorate 35(tbufName) 8 MatrixStride 16 MemberDecorate 36(tbufName) 8 RowMajor
MemberDecorate 35(tbufName) 9 ColMajor MemberDecorate 36(tbufName) 8 Offset 96
MemberDecorate 35(tbufName) 9 Offset 160 MemberDecorate 36(tbufName) 8 MatrixStride 16
MemberDecorate 35(tbufName) 9 MatrixStride 16 MemberDecorate 36(tbufName) 9 ColMajor
MemberDecorate 35(tbufName) 10 RowMajor MemberDecorate 36(tbufName) 9 Offset 160
MemberDecorate 35(tbufName) 10 Offset 208 MemberDecorate 36(tbufName) 9 MatrixStride 16
MemberDecorate 35(tbufName) 10 MatrixStride 16 MemberDecorate 36(tbufName) 10 RowMajor
MemberDecorate 35(tbufName) 11 RowMajor MemberDecorate 36(tbufName) 10 Offset 208
MemberDecorate 35(tbufName) 11 Offset 272 MemberDecorate 36(tbufName) 10 MatrixStride 16
MemberDecorate 35(tbufName) 11 MatrixStride 16 MemberDecorate 36(tbufName) 11 RowMajor
Decorate 35(tbufName) BufferBlock MemberDecorate 36(tbufName) 11 Offset 272
Decorate 37 DescriptorSet 0 MemberDecorate 36(tbufName) 11 MatrixStride 16
Decorate 37 Binding 8 Decorate 36(tbufName) BufferBlock
Decorate 38 DescriptorSet 0
Decorate 38 Binding 8
Decorate 46(input) Location 0
Decorate 49(@entryPointOutput) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4) 8: TypePointer Function 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output 9: TypeFunction 7(fvec4) 8(ptr)
10: TypePointer Input 7(fvec4) 14: TypeStruct 7(fvec4)
11(input): 10(ptr) Variable Input 15: TypePointer Uniform 14(struct)
13: TypeStruct 7(fvec4) 16: 15(ptr) Variable Uniform
14: TypePointer Uniform 13(struct) 17: TypeInt 32 1
15: 14(ptr) Variable Uniform 18: 17(int) Constant 0
16: TypeInt 32 1 19: TypePointer Uniform 7(fvec4)
17: 16(int) Constant 0 23: TypeStruct 7(fvec4)
18: TypePointer Uniform 7(fvec4) 24: TypePointer Uniform 23(struct)
22: TypeStruct 7(fvec4) 25: 24(ptr) Variable Uniform
23: TypePointer Uniform 22(struct) 29(cbufName): TypeStruct 7(fvec4) 17(int)
24: 23(ptr) Variable Uniform 30: TypePointer Uniform 29(cbufName)
28(cbufName): TypeStruct 7(fvec4) 16(int) 31: 30(ptr) Variable Uniform
29: TypePointer Uniform 28(cbufName) 35: TypeMatrix 7(fvec4) 3
30: 29(ptr) Variable Uniform 36(tbufName): TypeStruct 7(fvec4) 17(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 35 35 35 35
34: TypeMatrix 7(fvec4) 3 37: TypePointer Uniform 36(tbufName)
35(tbufName): TypeStruct 7(fvec4) 16(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 34 34 34 34 38: 37(ptr) Variable Uniform
36: TypePointer Uniform 35(tbufName) 45: TypePointer Input 7(fvec4)
37: 36(ptr) Variable Uniform 46(input): 45(ptr) Variable Input
48: TypePointer Output 7(fvec4)
49(@entryPointOutput): 48(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3 4(PixelShaderFunction): 2 Function None 3
5: Label 5: Label
12: 7(fvec4) Load 11(input) 44(input): 8(ptr) Variable Function
19: 18(ptr) AccessChain 15 17 50(param): 8(ptr) Variable Function
20: 7(fvec4) Load 19 47: 7(fvec4) Load 46(input)
21: 7(fvec4) FAdd 12 20 Store 44(input) 47
25: 18(ptr) AccessChain 24 17 51: 7(fvec4) Load 44(input)
26: 7(fvec4) Load 25 Store 50(param) 51
27: 7(fvec4) FAdd 21 26 52: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 50(param)
31: 18(ptr) AccessChain 30 17 Store 49(@entryPointOutput) 52
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:24 Function Parameters:
0:? Sequence 0:? Sequence
0:28 Sequence 0:28 Sequence
@ -139,24 +139,28 @@ gl_FragCoord origin is upper left
0:41 1 (const int) 0:41 1 (const int)
0:41 Constant: 0:41 Constant:
0:41 1.000000 0:41 1.000000
0:43 Sequence 0:43 Branch: Return with expression
0:43 Sequence 0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 move second child to first child (temp 4-component vector of float) 0:24 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:24 Function Parameters:
0:43 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Sequence
0:43 Constant: 0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 0 (const int) 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 move second child to first child (temp float) 0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:24 move second child to first child (temp 4-component vector of float)
0:43 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Color: direct index for structure (temp 4-component vector of float)
0:43 Constant: 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 1 (const int) 0:24 Constant:
0:43 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) 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_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage: Linked fragment stage:
@ -176,7 +182,7 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:24 Function Parameters:
0:? Sequence 0:? Sequence
0:28 Sequence 0:28 Sequence
@ -313,24 +319,28 @@ gl_FragCoord origin is upper left
0:41 1 (const int) 0:41 1 (const int)
0:41 Constant: 0:41 Constant:
0:41 1.000000 0:41 1.000000
0:43 Sequence 0:43 Branch: Return with expression
0:43 Sequence 0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 move second child to first child (temp 4-component vector of float) 0:24 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:24 Function Parameters:
0:43 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Sequence
0:43 Constant: 0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 0 (const int) 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 move second child to first child (temp float) 0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:24 move second child to first child (temp 4-component vector of float)
0:43 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Color: direct index for structure (temp 4-component vector of float)
0:43 Constant: 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 1 (const int) 0:24 Constant:
0:43 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) 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_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 141 // Id's are bound by 148
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
@ -353,201 +365,212 @@ gl_FragCoord origin is upper left
Capability ImageQuery Capability ImageQuery
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 132 136 EntryPoint Fragment 4 "main" 140 144
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "txval10" Name 8 "PS_OUTPUT"
Name 11 "g_tTex1df4a" MemberName 8(PS_OUTPUT) 0 "Color"
Name 15 "g_sSamp" MemberName 8(PS_OUTPUT) 1 "Depth"
Name 25 "txval11" Name 10 "@main("
Name 28 "g_tTex1di4a" Name 13 "txval10"
Name 36 "txval12" Name 16 "g_tTex1df4a"
Name 40 "g_tTex1du4a" Name 20 "g_sSamp"
Name 48 "txval20" Name 30 "txval11"
Name 51 "g_tTex2df4a" Name 33 "g_tTex1di4a"
Name 59 "txval21" Name 41 "txval12"
Name 62 "g_tTex2di4a" Name 45 "g_tTex1du4a"
Name 71 "txval22" Name 53 "txval20"
Name 74 "g_tTex2du4a" Name 56 "g_tTex2df4a"
Name 84 "txval40" Name 64 "txval21"
Name 87 "g_tTexcdf4a" Name 67 "g_tTex2di4a"
Name 96 "txval41" Name 76 "txval22"
Name 99 "g_tTexcdi4a" Name 79 "g_tTex2du4a"
Name 107 "txval42" Name 89 "txval40"
Name 110 "g_tTexcdu4a" Name 92 "g_tTexcdf4a"
Name 122 "PS_OUTPUT" Name 101 "txval41"
MemberName 122(PS_OUTPUT) 0 "Color" Name 104 "g_tTexcdi4a"
MemberName 122(PS_OUTPUT) 1 "Depth" Name 112 "txval42"
Name 124 "psout" Name 115 "g_tTexcdu4a"
Name 132 "Color" Name 127 "psout"
Name 136 "Depth" Name 137 "flattenTemp"
Name 140 "g_tTex1df4" Name 140 "Color"
Decorate 11(g_tTex1df4a) DescriptorSet 0 Name 144 "Depth"
Decorate 11(g_tTex1df4a) Binding 1 Name 147 "g_tTex1df4"
Decorate 15(g_sSamp) DescriptorSet 0 Decorate 16(g_tTex1df4a) DescriptorSet 0
Decorate 15(g_sSamp) Binding 0 Decorate 16(g_tTex1df4a) Binding 1
Decorate 28(g_tTex1di4a) DescriptorSet 0 Decorate 20(g_sSamp) DescriptorSet 0
Decorate 40(g_tTex1du4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0
Decorate 51(g_tTex2df4a) DescriptorSet 0 Decorate 33(g_tTex1di4a) DescriptorSet 0
Decorate 62(g_tTex2di4a) DescriptorSet 0 Decorate 45(g_tTex1du4a) DescriptorSet 0
Decorate 74(g_tTex2du4a) DescriptorSet 0 Decorate 56(g_tTex2df4a) DescriptorSet 0
Decorate 87(g_tTexcdf4a) DescriptorSet 0 Decorate 67(g_tTex2di4a) DescriptorSet 0
Decorate 99(g_tTexcdi4a) DescriptorSet 0 Decorate 79(g_tTex2du4a) DescriptorSet 0
Decorate 110(g_tTexcdu4a) DescriptorSet 0 Decorate 92(g_tTexcdf4a) DescriptorSet 0
Decorate 132(Color) Location 0 Decorate 104(g_tTexcdi4a) DescriptorSet 0
Decorate 136(Depth) BuiltIn FragDepth Decorate 115(g_tTexcdu4a) DescriptorSet 0
Decorate 140(g_tTex1df4) DescriptorSet 0 Decorate 140(Color) Location 0
Decorate 140(g_tTex1df4) Binding 0 Decorate 144(Depth) BuiltIn FragDepth
Decorate 147(g_tTex1df4) DescriptorSet 0
Decorate 147(g_tTex1df4) Binding 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypePointer Function 6(float) 7: TypeVector 6(float) 4
9: TypeImage 6(float) 1D array sampled format:Unknown 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
10: TypePointer UniformConstant 9 9: TypeFunction 8(PS_OUTPUT)
11(g_tTex1df4a): 10(ptr) Variable UniformConstant 12: TypePointer Function 6(float)
13: TypeSampler 14: TypeImage 6(float) 1D array sampled format:Unknown
14: TypePointer UniformConstant 13 15: TypePointer UniformConstant 14
15(g_sSamp): 14(ptr) Variable UniformConstant 16(g_tTex1df4a): 15(ptr) Variable UniformConstant
17: TypeSampledImage 9 18: TypeSampler
19: 6(float) Constant 1036831949 19: TypePointer UniformConstant 18
20: TypeVector 6(float) 2 20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeInt 32 1 22: TypeSampledImage 14
23: 22(int) Constant 0 24: 6(float) Constant 1036831949
26: TypeImage 22(int) 1D array sampled format:Unknown 25: TypeVector 6(float) 2
27: TypePointer UniformConstant 26 27: TypeInt 32 1
28(g_tTex1di4a): 27(ptr) Variable UniformConstant 28: 27(int) Constant 0
31: TypeSampledImage 26 31: TypeImage 27(int) 1D array sampled format:Unknown
33: 6(float) Constant 1045220557 32: TypePointer UniformConstant 31
37: TypeInt 32 0 33(g_tTex1di4a): 32(ptr) Variable UniformConstant
38: TypeImage 37(int) 1D array sampled format:Unknown 36: TypeSampledImage 31
39: TypePointer UniformConstant 38 38: 6(float) Constant 1045220557
40(g_tTex1du4a): 39(ptr) Variable UniformConstant 42: TypeInt 32 0
43: TypeSampledImage 38 43: TypeImage 42(int) 1D array sampled format:Unknown
45: 6(float) Constant 1050253722 44: TypePointer UniformConstant 43
49: TypeImage 6(float) 2D array sampled format:Unknown 45(g_tTex1du4a): 44(ptr) Variable UniformConstant
50: TypePointer UniformConstant 49 48: TypeSampledImage 43
51(g_tTex2df4a): 50(ptr) Variable UniformConstant 50: 6(float) Constant 1050253722
54: TypeSampledImage 49 54: TypeImage 6(float) 2D array sampled format:Unknown
56: 20(fvec2) ConstantComposite 19 33 55: TypePointer UniformConstant 54
60: TypeImage 22(int) 2D array sampled format:Unknown 56(g_tTex2df4a): 55(ptr) Variable UniformConstant
61: TypePointer UniformConstant 60 59: TypeSampledImage 54
62(g_tTex2di4a): 61(ptr) Variable UniformConstant 61: 25(fvec2) ConstantComposite 24 38
65: TypeSampledImage 60 65: TypeImage 27(int) 2D array sampled format:Unknown
67: 6(float) Constant 1053609165 66: TypePointer UniformConstant 65
68: 20(fvec2) ConstantComposite 45 67 67(g_tTex2di4a): 66(ptr) Variable UniformConstant
72: TypeImage 37(int) 2D array sampled format:Unknown 70: TypeSampledImage 65
73: TypePointer UniformConstant 72 72: 6(float) Constant 1053609165
74(g_tTex2du4a): 73(ptr) Variable UniformConstant 73: 25(fvec2) ConstantComposite 50 72
77: TypeSampledImage 72 77: TypeImage 42(int) 2D array sampled format:Unknown
79: 6(float) Constant 1056964608 78: TypePointer UniformConstant 77
80: 6(float) Constant 1058642330 79(g_tTex2du4a): 78(ptr) Variable UniformConstant
81: 20(fvec2) ConstantComposite 79 80 82: TypeSampledImage 77
85: TypeImage 6(float) Cube array sampled format:Unknown 84: 6(float) Constant 1056964608
86: TypePointer UniformConstant 85 85: 6(float) Constant 1058642330
87(g_tTexcdf4a): 86(ptr) Variable UniformConstant 86: 25(fvec2) ConstantComposite 84 85
90: TypeSampledImage 85 90: TypeImage 6(float) Cube array sampled format:Unknown
92: TypeVector 6(float) 3 91: TypePointer UniformConstant 90
93: 92(fvec3) ConstantComposite 19 33 45 92(g_tTexcdf4a): 91(ptr) Variable UniformConstant
97: TypeImage 22(int) Cube array sampled format:Unknown 95: TypeSampledImage 90
98: TypePointer UniformConstant 97 97: TypeVector 6(float) 3
99(g_tTexcdi4a): 98(ptr) Variable UniformConstant 98: 97(fvec3) ConstantComposite 24 38 50
102: TypeSampledImage 97 102: TypeImage 27(int) Cube array sampled format:Unknown
104: 92(fvec3) ConstantComposite 67 79 80 103: TypePointer UniformConstant 102
108: TypeImage 37(int) Cube array sampled format:Unknown 104(g_tTexcdi4a): 103(ptr) Variable UniformConstant
109: TypePointer UniformConstant 108 107: TypeSampledImage 102
110(g_tTexcdu4a): 109(ptr) Variable UniformConstant 109: 97(fvec3) ConstantComposite 72 84 85
113: TypeSampledImage 108 113: TypeImage 42(int) Cube array sampled format:Unknown
115: 6(float) Constant 1060320051 114: TypePointer UniformConstant 113
116: 6(float) Constant 1061997773 115(g_tTexcdu4a): 114(ptr) Variable UniformConstant
117: 6(float) Constant 1063675494 118: TypeSampledImage 113
118: 92(fvec3) ConstantComposite 115 116 117 120: 6(float) Constant 1060320051
121: TypeVector 6(float) 4 121: 6(float) Constant 1061997773
122(PS_OUTPUT): TypeStruct 121(fvec4) 6(float) 122: 6(float) Constant 1063675494
123: TypePointer Function 122(PS_OUTPUT) 123: 97(fvec3) ConstantComposite 120 121 122
125: 6(float) Constant 1065353216 126: TypePointer Function 8(PS_OUTPUT)
126: 121(fvec4) ConstantComposite 125 125 125 125 128: 6(float) Constant 1065353216
127: TypePointer Function 121(fvec4) 129: 7(fvec4) ConstantComposite 128 128 128 128
129: 22(int) Constant 1 130: TypePointer Function 7(fvec4)
131: TypePointer Output 121(fvec4) 132: 27(int) Constant 1
132(Color): 131(ptr) Variable Output 139: TypePointer Output 7(fvec4)
135: TypePointer Output 6(float) 140(Color): 139(ptr) Variable Output
136(Depth): 135(ptr) Variable Output 143: TypePointer Output 6(float)
140(g_tTex1df4): 10(ptr) Variable UniformConstant 144(Depth): 143(ptr) Variable Output
147(g_tTex1df4): 15(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
8(txval10): 7(ptr) Variable Function 137(flattenTemp): 126(ptr) Variable Function
25(txval11): 7(ptr) Variable Function 138:8(PS_OUTPUT) FunctionCall 10(@main()
36(txval12): 7(ptr) Variable Function Store 137(flattenTemp) 138
48(txval20): 7(ptr) Variable Function 141: 130(ptr) AccessChain 137(flattenTemp) 28
59(txval21): 7(ptr) Variable Function 142: 7(fvec4) Load 141
71(txval22): 7(ptr) Variable Function Store 140(Color) 142
84(txval40): 7(ptr) Variable Function 145: 12(ptr) AccessChain 137(flattenTemp) 132
96(txval41): 7(ptr) Variable Function 146: 6(float) Load 145
107(txval42): 7(ptr) Variable Function Store 144(Depth) 146
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
ERROR: node is still EOpNull! 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:24 Function Parameters:
0:? Sequence 0:? Sequence
0:28 Sequence 0:28 Sequence
@ -151,24 +151,28 @@ ERROR: node is still EOpNull!
0:41 1 (const int) 0:41 1 (const int)
0:41 Constant: 0:41 Constant:
0:41 1.000000 0:41 1.000000
0:43 Sequence 0:43 Branch: Return with expression
0:43 Sequence 0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 move second child to first child (temp 4-component vector of float) 0:24 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:24 Function Parameters:
0:43 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Sequence
0:43 Constant: 0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 0 (const int) 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 move second child to first child (temp float) 0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:24 move second child to first child (temp 4-component vector of float)
0:43 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Color: direct index for structure (temp 4-component vector of float)
0:43 Constant: 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 1 (const int) 0:24 Constant:
0:43 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) 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_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage: Linked fragment stage:
@ -188,7 +194,7 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
ERROR: node is still EOpNull! 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:24 Function Parameters:
0:? Sequence 0:? Sequence
0:28 Sequence 0:28 Sequence
@ -325,24 +331,28 @@ ERROR: node is still EOpNull!
0:41 1 (const int) 0:41 1 (const int)
0:41 Constant: 0:41 Constant:
0:41 1.000000 0:41 1.000000
0:43 Sequence 0:43 Branch: Return with expression
0:43 Sequence 0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 move second child to first child (temp 4-component vector of float) 0:24 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:24 Function Parameters:
0:43 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Sequence
0:43 Constant: 0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 0 (const int) 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 move second child to first child (temp float) 0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:24 move second child to first child (temp 4-component vector of float)
0:43 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Color: direct index for structure (temp 4-component vector of float)
0:43 Constant: 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 1 (const int) 0:24 Constant:
0:43 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) 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_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 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 SPIR-V is not generated for failed compile or link

View file

@ -2,26 +2,33 @@ hlsl.cast.frag
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 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 Sequence 0:3 Branch: Return with expression
0:3 move second child to first child (temp 4-component vector of float) 0:3 add (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 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 add (temp 4-component vector of float) 0:3 Construct vec4 (temp 4-component vector of float)
0:3 Construct vec4 (temp 4-component vector of float) 0:3 'input' (in 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 int to float (temp 4-component vector of float) 0:3 Convert float to int (temp 4-component vector of int)
0:3 Convert float to int (temp 4-component vector of int) 0:3 'input' (in 4-component vector of float)
0:3 'input' (layout(location=0 ) in 4-component vector of float) 0:3 Constant:
0:3 Constant: 0:3 1.198000
0:3 1.198000 0:3 1.198000
0:3 1.198000 0:3 1.198000
0:3 1.198000 0:3 1.198000
0:3 1.198000 0:2 Function Definition: PixelShaderFunction( (temp void)
0:3 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 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 Sequence 0:3 Branch: Return with expression
0:3 move second child to first child (temp 4-component vector of float) 0:3 add (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 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 add (temp 4-component vector of float) 0:3 Construct vec4 (temp 4-component vector of float)
0:3 Construct vec4 (temp 4-component vector of float) 0:3 'input' (in 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 int to float (temp 4-component vector of float) 0:3 Convert float to int (temp 4-component vector of int)
0:3 Convert float to int (temp 4-component vector of int) 0:3 'input' (in 4-component vector of float)
0:3 'input' (layout(location=0 ) in 4-component vector of float) 0:3 Constant:
0:3 Constant: 0:3 1.198000
0:3 1.198000 0:3 1.198000
0:3 1.198000 0:3 1.198000
0:3 1.198000 0:3 1.198000
0:3 1.198000 0:2 Function Definition: PixelShaderFunction( (temp void)
0:3 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 28 // Id's are bound by 39
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 11 EntryPoint Fragment 4 "PixelShaderFunction" 32 35
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 9 "@entryPointOutput" Name 11 "@PixelShaderFunction(vf4;"
Name 11 "input" Name 10 "input"
Decorate 9(@entryPointOutput) Location 0 Name 30 "input"
Decorate 11(input) Location 0 Name 32 "input"
Name 35 "@entryPointOutput"
Name 36 "param"
Decorate 32(input) Location 0
Decorate 35(@entryPointOutput) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4) 8: TypePointer Function 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output 9: TypeFunction 7(fvec4) 8(ptr)
10: TypePointer Input 7(fvec4) 20: TypeInt 32 1
11(input): 10(ptr) Variable Input 21: TypeVector 20(int) 4
19: TypeInt 32 1 25: 6(float) Constant 1067014160
20: TypeVector 19(int) 4 26: 7(fvec4) ConstantComposite 25 25 25 25
24: 6(float) Constant 1067014160 31: TypePointer Input 7(fvec4)
25: 7(fvec4) ConstantComposite 24 24 24 24 32(input): 31(ptr) Variable Input
34: TypePointer Output 7(fvec4)
35(@entryPointOutput): 34(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3 4(PixelShaderFunction): 2 Function None 3
5: Label 5: Label
12: 7(fvec4) Load 11(input) 30(input): 8(ptr) Variable Function
13: 6(float) CompositeExtract 12 0 36(param): 8(ptr) Variable Function
14: 6(float) CompositeExtract 12 1 33: 7(fvec4) Load 32(input)
15: 6(float) CompositeExtract 12 2 Store 30(input) 33
16: 6(float) CompositeExtract 12 3 37: 7(fvec4) Load 30(input)
17: 7(fvec4) CompositeConstruct 13 14 15 16 Store 36(param) 37
18: 7(fvec4) Load 11(input) 38: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 36(param)
21: 20(ivec4) ConvertFToS 18 Store 35(@entryPointOutput) 38
22: 7(fvec4) ConvertSToF 21
23: 7(fvec4) FAdd 17 22
26: 7(fvec4) FAdd 23 25
Store 9(@entryPointOutput) 26
Return Return
FunctionEnd 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 Construct vec4 (in 4-component vector of float)
0:21 'v01' (temp float) 0:21 'v01' (temp float)
0:21 'a' (in 4-component vector of 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:30 Function Parameters:
0:? Sequence 0:? Sequence
0:32 move second child to first child (temp 4-component vector of float) 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:32 0.000000
0:32 0.000000 0:32 0.000000
0:33 Sequence 0:33 Branch: Return with expression
0:33 Sequence 0:33 'psout' (temp structure{temp 4-component vector of float Color})
0:33 move second child to first child (temp 4-component vector of float) 0:30 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:30 Function Parameters:
0:33 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:33 'psout' (temp structure{temp 4-component vector of float Color}) 0:30 Sequence
0:33 Constant: 0:30 move second child to first child (temp 4-component vector of float)
0:33 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:33 Branch: Return 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:? 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:? '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: 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 Construct vec4 (in 4-component vector of float)
0:21 'v01' (temp float) 0:21 'v01' (temp float)
0:21 'a' (in 4-component vector of 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:30 Function Parameters:
0:? Sequence 0:? Sequence
0:32 move second child to first child (temp 4-component vector of float) 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:32 0.000000
0:32 0.000000 0:32 0.000000
0:33 Sequence 0:33 Branch: Return with expression
0:33 Sequence 0:33 'psout' (temp structure{temp 4-component vector of float Color})
0:33 move second child to first child (temp 4-component vector of float) 0:30 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:30 Function Parameters:
0:33 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:33 'psout' (temp structure{temp 4-component vector of float Color}) 0:30 Sequence
0:33 Constant: 0:30 move second child to first child (temp 4-component vector of float)
0:33 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:33 Branch: Return 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:? 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:? '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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 91 // Id's are bound by 96
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 84 EntryPoint Fragment 4 "main" 90
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 11 "Bug1(vf4;" Name 11 "Bug1(vf4;"
Name 10 "a" Name 10 "a"
Name 13 "v04" Name 13 "PS_OUTPUT"
Name 17 "v01" MemberName 13(PS_OUTPUT) 0 "Color"
Name 21 "r00" Name 15 "@main("
Name 25 "r01" Name 17 "v04"
Name 29 "r02" Name 21 "v01"
Name 33 "r03" Name 25 "r00"
Name 37 "r10" Name 29 "r01"
Name 42 "r11" Name 33 "r02"
Name 47 "r12" Name 37 "r03"
Name 52 "r13" Name 41 "r10"
Name 57 "r20" Name 46 "r11"
Name 62 "r21" Name 51 "r12"
Name 67 "r22" Name 56 "r13"
Name 72 "r23" Name 61 "r20"
Name 77 "PS_OUTPUT" Name 66 "r21"
MemberName 77(PS_OUTPUT) 0 "Color" Name 71 "r22"
Name 79 "psout" Name 76 "r23"
Name 84 "Color" Name 82 "psout"
Name 88 "$Global" Name 90 "Color"
MemberName 88($Global) 0 "uf4" Name 93 "$Global"
Name 90 "" MemberName 93($Global) 0 "uf4"
Decorate 84(Color) Location 0 Name 95 ""
MemberDecorate 88($Global) 0 Offset 0 Decorate 90(Color) Location 0
Decorate 88($Global) Block MemberDecorate 93($Global) 0 Offset 0
Decorate 90 DescriptorSet 0 Decorate 93($Global) Block
Decorate 95 DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4) 8: TypePointer Function 7(fvec4)
9: TypeFunction 2 8(ptr) 9: TypeFunction 2 8(ptr)
14: 6(float) Constant 0 13(PS_OUTPUT): TypeStruct 7(fvec4)
15: 7(fvec4) ConstantComposite 14 14 14 14 14: TypeFunction 13(PS_OUTPUT)
16: TypePointer Function 6(float) 18: 6(float) Constant 0
18: TypeBool 19: 7(fvec4) ConstantComposite 18 18 18 18
19: TypeVector 18(bool) 4 20: TypePointer Function 6(float)
20: TypePointer Function 19(bvec4) 22: TypeBool
77(PS_OUTPUT): TypeStruct 7(fvec4) 23: TypeVector 22(bool) 4
78: TypePointer Function 77(PS_OUTPUT) 24: TypePointer Function 23(bvec4)
80: TypeInt 32 1 81: TypePointer Function 13(PS_OUTPUT)
81: 80(int) Constant 0 83: TypeInt 32 1
83: TypePointer Output 7(fvec4) 84: 83(int) Constant 0
84(Color): 83(ptr) Variable Output 89: TypePointer Output 7(fvec4)
88($Global): TypeStruct 7(fvec4) 90(Color): 89(ptr) Variable Output
89: TypePointer Uniform 88($Global) 93($Global): TypeStruct 7(fvec4)
90: 89(ptr) Variable Uniform 94: TypePointer Uniform 93($Global)
95: 94(ptr) Variable Uniform
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
79(psout): 78(ptr) Variable Function 91:13(PS_OUTPUT) FunctionCall 15(@main()
82: 8(ptr) AccessChain 79(psout) 81 92: 7(fvec4) CompositeExtract 91 0
Store 82 15 Store 90(Color) 92
85: 8(ptr) AccessChain 79(psout) 81
86: 7(fvec4) Load 85
Store 84(Color) 86
Return Return
FunctionEnd FunctionEnd
11(Bug1(vf4;): 2 Function None 9 11(Bug1(vf4;): 2 Function None 9
10(a): 8(ptr) FunctionParameter 10(a): 8(ptr) FunctionParameter
12: Label 12: Label
13(v04): 8(ptr) Variable Function 17(v04): 8(ptr) Variable Function
17(v01): 16(ptr) Variable Function 21(v01): 20(ptr) Variable Function
21(r00): 20(ptr) Variable Function 25(r00): 24(ptr) Variable Function
25(r01): 20(ptr) Variable Function 29(r01): 24(ptr) Variable Function
29(r02): 20(ptr) Variable Function 33(r02): 24(ptr) Variable Function
33(r03): 20(ptr) Variable Function 37(r03): 24(ptr) Variable Function
37(r10): 20(ptr) Variable Function 41(r10): 24(ptr) Variable Function
42(r11): 20(ptr) Variable Function 46(r11): 24(ptr) Variable Function
47(r12): 20(ptr) Variable Function 51(r12): 24(ptr) Variable Function
52(r13): 20(ptr) Variable Function 56(r13): 24(ptr) Variable Function
57(r20): 20(ptr) Variable Function 61(r20): 24(ptr) Variable Function
62(r21): 20(ptr) Variable Function 66(r21): 24(ptr) Variable Function
67(r22): 20(ptr) Variable Function 71(r22): 24(ptr) Variable Function
72(r23): 20(ptr) Variable Function 76(r23): 24(ptr) Variable Function
Store 13(v04) 15 Store 17(v04) 19
Store 17(v01) 14 Store 21(v01) 18
22: 7(fvec4) Load 10(a)
23: 7(fvec4) Load 13(v04)
24: 19(bvec4) FOrdEqual 22 23
Store 21(r00) 24
26: 7(fvec4) Load 10(a) 26: 7(fvec4) Load 10(a)
27: 7(fvec4) Load 13(v04) 27: 7(fvec4) Load 17(v04)
28: 19(bvec4) FOrdNotEqual 26 27 28: 23(bvec4) FOrdEqual 26 27
Store 25(r01) 28 Store 25(r00) 28
30: 7(fvec4) Load 10(a) 30: 7(fvec4) Load 10(a)
31: 7(fvec4) Load 13(v04) 31: 7(fvec4) Load 17(v04)
32: 19(bvec4) FOrdLessThan 30 31 32: 23(bvec4) FOrdNotEqual 30 31
Store 29(r02) 32 Store 29(r01) 32
34: 7(fvec4) Load 10(a) 34: 7(fvec4) Load 10(a)
35: 7(fvec4) Load 13(v04) 35: 7(fvec4) Load 17(v04)
36: 19(bvec4) FOrdGreaterThan 34 35 36: 23(bvec4) FOrdLessThan 34 35
Store 33(r03) 36 Store 33(r02) 36
38: 7(fvec4) Load 10(a) 38: 7(fvec4) Load 10(a)
39: 6(float) Load 17(v01) 39: 7(fvec4) Load 17(v04)
40: 7(fvec4) CompositeConstruct 39 39 39 39 40: 23(bvec4) FOrdGreaterThan 38 39
41: 19(bvec4) FOrdEqual 38 40 Store 37(r03) 40
Store 37(r10) 41 42: 7(fvec4) Load 10(a)
43: 7(fvec4) Load 10(a) 43: 6(float) Load 21(v01)
44: 6(float) Load 17(v01) 44: 7(fvec4) CompositeConstruct 43 43 43 43
45: 7(fvec4) CompositeConstruct 44 44 44 44 45: 23(bvec4) FOrdEqual 42 44
46: 19(bvec4) FOrdNotEqual 43 45 Store 41(r10) 45
Store 42(r11) 46 47: 7(fvec4) Load 10(a)
48: 7(fvec4) Load 10(a) 48: 6(float) Load 21(v01)
49: 6(float) Load 17(v01) 49: 7(fvec4) CompositeConstruct 48 48 48 48
50: 7(fvec4) CompositeConstruct 49 49 49 49 50: 23(bvec4) FOrdNotEqual 47 49
51: 19(bvec4) FOrdLessThan 48 50 Store 46(r11) 50
Store 47(r12) 51 52: 7(fvec4) Load 10(a)
53: 7(fvec4) Load 10(a) 53: 6(float) Load 21(v01)
54: 6(float) Load 17(v01) 54: 7(fvec4) CompositeConstruct 53 53 53 53
55: 7(fvec4) CompositeConstruct 54 54 54 54 55: 23(bvec4) FOrdLessThan 52 54
56: 19(bvec4) FOrdGreaterThan 53 55 Store 51(r12) 55
Store 52(r13) 56 57: 7(fvec4) Load 10(a)
58: 6(float) Load 17(v01) 58: 6(float) Load 21(v01)
59: 7(fvec4) CompositeConstruct 58 58 58 58 59: 7(fvec4) CompositeConstruct 58 58 58 58
60: 7(fvec4) Load 10(a) 60: 23(bvec4) FOrdGreaterThan 57 59
61: 19(bvec4) FOrdEqual 59 60 Store 56(r13) 60
Store 57(r20) 61 62: 6(float) Load 21(v01)
63: 6(float) Load 17(v01) 63: 7(fvec4) CompositeConstruct 62 62 62 62
64: 7(fvec4) CompositeConstruct 63 63 63 63 64: 7(fvec4) Load 10(a)
65: 7(fvec4) Load 10(a) 65: 23(bvec4) FOrdEqual 63 64
66: 19(bvec4) FOrdNotEqual 64 65 Store 61(r20) 65
Store 62(r21) 66 67: 6(float) Load 21(v01)
68: 6(float) Load 17(v01) 68: 7(fvec4) CompositeConstruct 67 67 67 67
69: 7(fvec4) CompositeConstruct 68 68 68 68 69: 7(fvec4) Load 10(a)
70: 7(fvec4) Load 10(a) 70: 23(bvec4) FOrdNotEqual 68 69
71: 19(bvec4) FOrdLessThan 69 70 Store 66(r21) 70
Store 67(r22) 71 72: 6(float) Load 21(v01)
73: 6(float) Load 17(v01) 73: 7(fvec4) CompositeConstruct 72 72 72 72
74: 7(fvec4) CompositeConstruct 73 73 73 73 74: 7(fvec4) Load 10(a)
75: 7(fvec4) Load 10(a) 75: 23(bvec4) FOrdLessThan 73 74
76: 19(bvec4) FOrdGreaterThan 74 75 Store 71(r22) 75
Store 72(r23) 76 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 Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 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 Sequence 0:3 Sequence
0:3 move second child to first child (temp int) 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 vector-scale (temp 4-component vector of float)
0:7 Convert int to float (temp float) 0:7 Convert int to float (temp float)
0:7 'a' (temp int) 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 vector-scale (temp 4-component vector of float)
0:8 Convert int to float (temp float) 0:8 Convert int to float (temp float)
0:8 'b' (temp int) 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 vector-scale (temp 4-component vector of float)
0:9 Convert int to float (temp float) 0:9 Convert int to float (temp float)
0:9 'c' (temp int) 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 vector-scale (temp 4-component vector of float)
0:10 Convert int to float (temp float) 0:10 Convert int to float (temp float)
0:10 'd' (temp int) 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 Comma (temp int)
0:12 move second child to first child (temp int) 0:12 move second child to first child (temp int)
0:12 'e' (temp int) 0:12 'e' (temp int)
@ -85,29 +85,36 @@ gl_FragCoord origin is upper left
0:14 Constant: 0:14 Constant:
0:14 0 (const int) 0:14 0 (const int)
0:14 direct index (temp float) 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 Constant:
0:14 1 (const int) 0:14 1 (const int)
0:14 true case 0:14 true case
0:14 vector-scale (temp 4-component vector of float) 0:14 vector-scale (temp 4-component vector of float)
0:14 Convert int to float (temp float) 0:14 Convert int to float (temp float)
0:14 'c' (temp int) 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 false case
0:14 vector-scale (temp 4-component vector of float) 0:14 vector-scale (temp 4-component vector of float)
0:14 Convert int to float (temp float) 0:14 Convert int to float (temp float)
0:14 'd' (temp int) 0:14 'd' (temp int)
0:14 'input' (layout(location=0 ) in 4-component vector of float) 0:14 'input' (in 4-component vector of float)
0:15 Sequence 0:15 Branch: Return with expression
0:15 move second child to first child (temp 4-component vector of float) 0:15 add (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:15 vector-scale (temp 4-component vector of float)
0:15 add (temp 4-component vector of float) 0:15 Convert int to float (temp float)
0:15 vector-scale (temp 4-component vector of float) 0:15 'e' (temp int)
0:15 Convert int to float (temp float) 0:15 'ret' (temp 4-component vector of float)
0:15 'e' (temp int) 0:15 'f' (temp 4-component vector of float)
0:15 'ret' (temp 4-component vector of float) 0:2 Function Definition: PixelShaderFunction( (temp void)
0:15 'f' (temp 4-component vector of float) 0:2 Function Parameters:
0:15 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 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 Sequence 0:3 Sequence
0:3 move second child to first child (temp int) 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 vector-scale (temp 4-component vector of float)
0:7 Convert int to float (temp float) 0:7 Convert int to float (temp float)
0:7 'a' (temp int) 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 vector-scale (temp 4-component vector of float)
0:8 Convert int to float (temp float) 0:8 Convert int to float (temp float)
0:8 'b' (temp int) 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 vector-scale (temp 4-component vector of float)
0:9 Convert int to float (temp float) 0:9 Convert int to float (temp float)
0:9 'c' (temp int) 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 vector-scale (temp 4-component vector of float)
0:10 Convert int to float (temp float) 0:10 Convert int to float (temp float)
0:10 'd' (temp int) 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 Comma (temp int)
0:12 move second child to first child (temp int) 0:12 move second child to first child (temp int)
0:12 'e' (temp int) 0:12 'e' (temp int)
@ -202,171 +209,194 @@ gl_FragCoord origin is upper left
0:14 Constant: 0:14 Constant:
0:14 0 (const int) 0:14 0 (const int)
0:14 direct index (temp float) 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 Constant:
0:14 1 (const int) 0:14 1 (const int)
0:14 true case 0:14 true case
0:14 vector-scale (temp 4-component vector of float) 0:14 vector-scale (temp 4-component vector of float)
0:14 Convert int to float (temp float) 0:14 Convert int to float (temp float)
0:14 'c' (temp int) 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 false case
0:14 vector-scale (temp 4-component vector of float) 0:14 vector-scale (temp 4-component vector of float)
0:14 Convert int to float (temp float) 0:14 Convert int to float (temp float)
0:14 'd' (temp int) 0:14 'd' (temp int)
0:14 'input' (layout(location=0 ) in 4-component vector of float) 0:14 'input' (in 4-component vector of float)
0:15 Sequence 0:15 Branch: Return with expression
0:15 move second child to first child (temp 4-component vector of float) 0:15 add (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:15 vector-scale (temp 4-component vector of float)
0:15 add (temp 4-component vector of float) 0:15 Convert int to float (temp float)
0:15 vector-scale (temp 4-component vector of float) 0:15 'e' (temp int)
0:15 Convert int to float (temp float) 0:15 'ret' (temp 4-component vector of float)
0:15 'e' (temp int) 0:15 'f' (temp 4-component vector of float)
0:15 'ret' (temp 4-component vector of float) 0:2 Function Definition: PixelShaderFunction( (temp void)
0:15 'f' (temp 4-component vector of float) 0:2 Function Parameters:
0:15 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 91 // Id's are bound by 100
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 22 83 EntryPoint Fragment 4 "PixelShaderFunction" 93 96
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 8 "a" Name 11 "@PixelShaderFunction(vf4;"
Name 10 "b" Name 10 "input"
Name 12 "c" Name 15 "a"
Name 14 "d" Name 17 "b"
Name 18 "ret" Name 19 "c"
Name 22 "input" Name 21 "d"
Name 40 "e" Name 22 "ret"
Name 57 "f" Name 42 "e"
Name 83 "@entryPointOutput" Name 59 "f"
Decorate 22(input) Location 0 Name 91 "input"
Decorate 83(@entryPointOutput) Location 0 Name 93 "input"
Name 96 "@entryPointOutput"
Name 97 "param"
Decorate 93(input) Location 0
Decorate 96(@entryPointOutput) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 1 6: TypeFloat 32
7: TypePointer Function 6(int) 7: TypeVector 6(float) 4
9: 6(int) Constant 5 8: TypePointer Function 7(fvec4)
11: 6(int) Constant 6 9: TypeFunction 7(fvec4) 8(ptr)
13: 6(int) Constant 7 13: TypeInt 32 1
15: TypeFloat 32 14: TypePointer Function 13(int)
16: TypeVector 15(float) 4 16: 13(int) Constant 5
17: TypePointer Function 16(fvec4) 18: 13(int) Constant 6
21: TypePointer Input 16(fvec4) 20: 13(int) Constant 7
22(input): 21(ptr) Variable Input 49: 13(int) Constant 10
47: 6(int) Constant 10 57: 13(int) Constant 11
55: 6(int) Constant 11 61: TypeInt 32 0
59: TypeInt 32 0 62: 61(int) Constant 0
60: 59(int) Constant 0 63: TypePointer Function 6(float)
61: TypePointer Function 15(float) 66: 61(int) Constant 1
64: 59(int) Constant 1 69: TypeBool
65: TypePointer Input 15(float) 92: TypePointer Input 7(fvec4)
68: TypeBool 93(input): 92(ptr) Variable Input
82: TypePointer Output 16(fvec4) 95: TypePointer Output 7(fvec4)
83(@entryPointOutput): 82(ptr) Variable Output 96(@entryPointOutput): 95(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3 4(PixelShaderFunction): 2 Function None 3
5: Label 5: Label
8(a): 7(ptr) Variable Function 91(input): 8(ptr) Variable Function
10(b): 7(ptr) Variable Function 97(param): 8(ptr) Variable Function
12(c): 7(ptr) Variable Function 94: 7(fvec4) Load 93(input)
14(d): 7(ptr) Variable Function Store 91(input) 94
18(ret): 17(ptr) Variable Function 98: 7(fvec4) Load 91(input)
40(e): 7(ptr) Variable Function Store 97(param) 98
41: 7(ptr) Variable Function 99: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 97(param)
49: 7(ptr) Variable Function Store 96(@entryPointOutput) 99
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:4 Function Parameters:
0:? Sequence 0:? Sequence
0:6 Constant: 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:15 1.000000
0:15 1.000000 0:15 1.000000
0:16 Sequence 0:16 Branch: Return with expression
0:16 Sequence 0:16 'ps_output' (temp structure{temp 4-component vector of float color})
0:16 move second child to first child (temp 4-component vector of float) 0:4 Function Definition: main( (temp void)
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:4 Function Parameters:
0:16 color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:16 'ps_output' (temp structure{temp 4-component vector of float color}) 0:4 Sequence
0:16 Constant: 0:4 move second child to first child (temp 4-component vector of float)
0:16 0 (const int) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:16 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
@ -53,7 +56,7 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:4 Function Parameters:
0:? Sequence 0:? Sequence
0:6 Constant: 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:15 1.000000
0:15 1.000000 0:15 1.000000
0:16 Sequence 0:16 Branch: Return with expression
0:16 Sequence 0:16 'ps_output' (temp structure{temp 4-component vector of float color})
0:16 move second child to first child (temp 4-component vector of float) 0:4 Function Definition: main( (temp void)
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:4 Function Parameters:
0:16 color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:16 'ps_output' (temp structure{temp 4-component vector of float color}) 0:4 Sequence
0:16 Constant: 0:4 move second child to first child (temp 4-component vector of float)
0:16 0 (const int) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:16 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 35 // Id's are bound by 40
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 31 EntryPoint Fragment 4 "main" 37
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 22 "PS_OUTPUT" Name 8 "PS_OUTPUT"
MemberName 22(PS_OUTPUT) 0 "color" MemberName 8(PS_OUTPUT) 0 "color"
Name 24 "ps_output" Name 10 "@main("
Name 31 "color" Name 27 "ps_output"
Decorate 31(color) Location 0 Name 37 "color"
Decorate 37(color) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 1 6: TypeFloat 32
7: 6(int) Constant 3 7: TypeVector 6(float) 4
8: 6(int) Constant 4 8(PS_OUTPUT): TypeStruct 7(fvec4)
9: 6(int) Constant 5 9: TypeFunction 8(PS_OUTPUT)
10: 6(int) Constant 6 12: TypeInt 32 1
11: 6(int) Constant 7 13: 12(int) Constant 3
12: 6(int) Constant 8 14: 12(int) Constant 4
13: TypeFloat 32 15: 12(int) Constant 5
14: TypeVector 13(float) 2 16: 12(int) Constant 6
15: 13(float) Constant 1091567616 17: 12(int) Constant 7
16: 13(float) Constant 1092616192 18: 12(int) Constant 8
17: 14(fvec2) ConstantComposite 15 16 19: TypeVector 6(float) 2
18: 13(float) Constant 1093664768 20: 6(float) Constant 1091567616
19: 13(float) Constant 1094713344 21: 6(float) Constant 1092616192
20: 14(fvec2) ConstantComposite 18 19 22: 19(fvec2) ConstantComposite 20 21
21: TypeVector 13(float) 4 23: 6(float) Constant 1093664768
22(PS_OUTPUT): TypeStruct 21(fvec4) 24: 6(float) Constant 1094713344
23: TypePointer Function 22(PS_OUTPUT) 25: 19(fvec2) ConstantComposite 23 24
25: 6(int) Constant 0 26: TypePointer Function 8(PS_OUTPUT)
26: 13(float) Constant 1065353216 28: 12(int) Constant 0
27: 21(fvec4) ConstantComposite 26 26 26 26 29: 6(float) Constant 1065353216
28: TypePointer Function 21(fvec4) 30: 7(fvec4) ConstantComposite 29 29 29 29
30: TypePointer Output 21(fvec4) 31: TypePointer Function 7(fvec4)
31(color): 30(ptr) Variable Output 36: TypePointer Output 7(fvec4)
37(color): 36(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
24(ps_output): 23(ptr) Variable Function 38:8(PS_OUTPUT) FunctionCall 10(@main()
29: 28(ptr) AccessChain 24(ps_output) 25 39: 7(fvec4) CompositeExtract 38 0
Store 29 27 Store 37(color) 39
32: 28(ptr) AccessChain 24(ps_output) 25
33: 21(fvec4) Load 32
Store 31(color) 33
Return Return
FunctionEnd 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 hlsl.deadFunctionMissingBody.vert
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 13 // Id's are bound by 18
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 9 EntryPoint Vertex 4 "main" 16
Name 4 "main" Name 4 "main"
Name 9 "@entryPointOutput" Name 9 "@main("
Decorate 9(@entryPointOutput) Location 0 Name 16 "@entryPointOutput"
Decorate 16(@entryPointOutput) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4) 8: TypeFunction 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output 11: 6(float) Constant 0
10: 6(float) Constant 0 12: 7(fvec4) ConstantComposite 11 11 11 11
11: 7(fvec4) ConstantComposite 10 10 10 10 15: TypePointer Output 7(fvec4)
16(@entryPointOutput): 15(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
Store 9(@entryPointOutput) 11 17: 7(fvec4) FunctionCall 9(@main()
Store 16(@entryPointOutput) 17
Return Return
FunctionEnd 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 gl_FragCoord origin is upper left
using depth_greater using depth_greater
0:? Sequence 0:? Sequence
0:2 Function Definition: PixelShaderFunction(f1; (temp void) 0:2 Function Definition: @PixelShaderFunction(f1; (temp void)
0:2 Function Parameters: 0:2 Function Parameters:
0:2 'depth' (out float FragDepth) 0:2 'depth' (out float unknown built-in variable)
0:? Sequence 0:? Sequence
0:3 move second child to first child (temp float) 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 Constant:
0:3 0.200000 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:? Linker Objects
0:? 'depth' (out float FragDepth) 0:? 'depth' (out float FragDepth)
@ -22,38 +30,64 @@ Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
using depth_greater using depth_greater
0:? Sequence 0:? Sequence
0:2 Function Definition: PixelShaderFunction(f1; (temp void) 0:2 Function Definition: @PixelShaderFunction(f1; (temp void)
0:2 Function Parameters: 0:2 Function Parameters:
0:2 'depth' (out float FragDepth) 0:2 'depth' (out float unknown built-in variable)
0:? Sequence 0:? Sequence
0:3 move second child to first child (temp float) 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 Constant:
0:3 0.200000 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:? Linker Objects
0:? 'depth' (out float FragDepth) 0:? 'depth' (out float FragDepth)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 10 // Id's are bound by 20
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 8 EntryPoint Fragment 4 "PixelShaderFunction" 18
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 DepthGreater ExecutionMode 4 DepthGreater
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 8 "depth" Name 10 "@PixelShaderFunction(f1;"
Decorate 8(depth) BuiltIn FragDepth Name 9 "depth"
Name 13 "depth"
Name 14 "param"
Name 18 "depth"
Decorate 18(depth) BuiltIn FragDepth
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypePointer Output 6(float) 7: TypePointer Function 6(float)
8(depth): 7(ptr) Variable Output 8: TypeFunction 2 7(ptr)
9: 6(float) Constant 1045220557 12: 6(float) Constant 1045220557
17: TypePointer Output 6(float)
18(depth): 17(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3 4(PixelShaderFunction): 2 Function None 3
5: Label 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 Return
FunctionEnd FunctionEnd

View file

@ -3,17 +3,20 @@ Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
using depth_less using depth_less
0:? Sequence 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:2 Function Parameters:
0:? Sequence 0:? Sequence
0:3 Sequence 0:3 Branch: Return with expression
0:3 move second child to first child (temp float) 0:3 Constant:
0:? '@entryPointOutput' (out float unknown built-in variable) 0:3 0.200000
0:3 Constant: 0:2 Function Definition: PixelShaderFunction( (temp void)
0:3 0.200000 0:2 Function Parameters:
0:3 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (out float unknown built-in variable) 0:? '@entryPointOutput' (out float FragDepth)
Linked fragment stage: Linked fragment stage:
@ -23,38 +26,49 @@ Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
using depth_less using depth_less
0:? Sequence 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:2 Function Parameters:
0:? Sequence 0:? Sequence
0:3 Sequence 0:3 Branch: Return with expression
0:3 move second child to first child (temp float) 0:3 Constant:
0:? '@entryPointOutput' (out float unknown built-in variable) 0:3 0.200000
0:3 Constant: 0:2 Function Definition: PixelShaderFunction( (temp void)
0:3 0.200000 0:2 Function Parameters:
0:3 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (out float unknown built-in variable) 0:? '@entryPointOutput' (out float FragDepth)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 11 // Id's are bound by 16
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 8 EntryPoint Fragment 4 "PixelShaderFunction" 14
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 DepthLess ExecutionMode 4 DepthLess
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 8 "@entryPointOutput" Name 8 "@PixelShaderFunction("
Name 14 "@entryPointOutput"
Decorate 14(@entryPointOutput) BuiltIn FragDepth
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypePointer Output 6(float) 7: TypeFunction 6(float)
8(@entryPointOutput): 7(ptr) Variable Output 10: 6(float) Constant 1045220557
9: 6(float) Constant 1045220557 13: TypePointer Output 6(float)
14(@entryPointOutput): 13(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3 4(PixelShaderFunction): 2 Function None 3
5: Label 5: Label
Store 8(@entryPointOutput) 9 15: 6(float) FunctionCall 8(@PixelShaderFunction()
Store 14(@entryPointOutput) 15
Return Return
FunctionEnd 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 1.000000
0:3 true case 0:3 true case
0:4 Branch: Kill 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 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:? Sequence
0:9 Function Call: foo(f1; (temp void) 0:9 Function Call: foo(f1; (temp void)
0:9 direct index (temp float) 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 Constant:
0:9 2 (const int) 0:9 2 (const int)
0:10 Test condition and select (temp void) 0:10 Test condition and select (temp void)
0:10 Condition 0:10 Condition
0:10 direct index (temp float) 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 Constant:
0:10 0 (const int) 0:10 0 (const int)
0:10 true case 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 move second child to first child (temp float)
0:12 'f' (temp float) 0:12 'f' (temp float)
0:12 direct index (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 Constant:
0:12 0 (const int) 0:12 0 (const int)
0:13 Branch: Kill 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:? Linker Objects
0:? 'input' (layout(location=0 ) in 4-component vector of float) 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 1.000000
0:3 true case 0:3 true case
0:4 Branch: Kill 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 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:? Sequence
0:9 Function Call: foo(f1; (temp void) 0:9 Function Call: foo(f1; (temp void)
0:9 direct index (temp float) 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 Constant:
0:9 2 (const int) 0:9 2 (const int)
0:10 Test condition and select (temp void) 0:10 Test condition and select (temp void)
0:10 Condition 0:10 Condition
0:10 direct index (temp float) 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 Constant:
0:10 0 (const int) 0:10 0 (const int)
0:10 true case 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 move second child to first child (temp float)
0:12 'f' (temp float) 0:12 'f' (temp float)
0:12 direct index (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 Constant:
0:12 0 (const int) 0:12 0 (const int)
0:13 Branch: Kill 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:? Linker Objects
0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 39 // Id's are bound by 48
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 21 EntryPoint Fragment 4 "PixelShaderFunction" 43
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 10 "foo(f1;" Name 10 "foo(f1;"
Name 9 "f" Name 9 "f"
Name 21 "input" Name 16 "@PixelShaderFunction(vf4;"
Name 22 "param" Name 15 "input"
Name 35 "f" Name 25 "param"
Decorate 21(input) Location 0 Name 37 "f"
Name 41 "input"
Name 43 "input"
Name 45 "param"
Decorate 43(input) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypePointer Function 6(float) 7: TypePointer Function 6(float)
8: TypeFunction 2 7(ptr) 8: TypeFunction 2 7(ptr)
13: 6(float) Constant 1065353216 12: TypeVector 6(float) 4
14: TypeBool 13: TypePointer Function 12(fvec4)
19: TypeVector 6(float) 4 14: TypeFunction 2 13(ptr)
20: TypePointer Input 19(fvec4) 19: 6(float) Constant 1065353216
21(input): 20(ptr) Variable Input 20: TypeBool
23: TypeInt 32 0 26: TypeInt 32 0
24: 23(int) Constant 2 27: 26(int) Constant 2
25: TypePointer Input 6(float) 31: 26(int) Constant 0
29: 23(int) Constant 0 42: TypePointer Input 12(fvec4)
43(input): 42(ptr) Variable Input
4(PixelShaderFunction): 2 Function None 3 4(PixelShaderFunction): 2 Function None 3
5: Label 5: Label
22(param): 7(ptr) Variable Function 41(input): 13(ptr) Variable Function
35(f): 7(ptr) Variable Function 45(param): 13(ptr) Variable Function
26: 25(ptr) AccessChain 21(input) 24 44: 12(fvec4) Load 43(input)
27: 6(float) Load 26 Store 41(input) 44
Store 22(param) 27 46: 12(fvec4) Load 41(input)
28: 2 FunctionCall 10(foo(f1;) 22(param) Store 45(param) 46
30: 25(ptr) AccessChain 21(input) 29 47: 2 FunctionCall 16(@PixelShaderFunction(vf4;) 45(param)
31: 6(float) Load 30 Return
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
FunctionEnd FunctionEnd
10(foo(f1;): 2 Function None 8 10(foo(f1;): 2 Function None 8
9(f): 7(ptr) FunctionParameter 9(f): 7(ptr) FunctionParameter
11: Label 11: Label
12: 6(float) Load 9(f) 18: 6(float) Load 9(f)
15: 14(bool) FOrdLessThan 12 13 21: 20(bool) FOrdLessThan 18 19
SelectionMerge 17 None SelectionMerge 23 None
BranchConditional 15 16 17 BranchConditional 21 22 23
16: Label 22: Label
Kill Kill
17: Label 23: Label
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 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 not tested first 0:3 Loop with condition not tested first
0:3 Loop Condition 0:3 Loop Condition
@ -20,14 +20,21 @@ gl_FragCoord origin is upper left
0:5 Loop Condition 0:5 Loop Condition
0:5 all (temp bool) 0:5 all (temp bool)
0:5 Equal (temp 4-component vector of 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' (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 Loop Body 0:5 Loop Body
0:5 Sequence 0:5 Branch: Return with expression
0:5 move second child to first child (temp 4-component vector of float) 0:5 'input' (in 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:2 Function Definition: PixelShaderFunction( (temp void)
0:5 'input' (layout(location=0 ) in 4-component vector of float) 0:2 Function Parameters:
0:5 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 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 not tested first 0:3 Loop with condition not tested first
0:3 Loop Condition 0:3 Loop Condition
@ -57,77 +64,103 @@ gl_FragCoord origin is upper left
0:5 Loop Condition 0:5 Loop Condition
0:5 all (temp bool) 0:5 all (temp bool)
0:5 Equal (temp 4-component vector of 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' (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 Loop Body 0:5 Loop Body
0:5 Sequence 0:5 Branch: Return with expression
0:5 move second child to first child (temp 4-component vector of float) 0:5 'input' (in 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:2 Function Definition: PixelShaderFunction( (temp void)
0:5 'input' (layout(location=0 ) in 4-component vector of float) 0:2 Function Parameters:
0:5 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 33 // Id's are bound by 44
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 23 25 EntryPoint Fragment 4 "PixelShaderFunction" 37 40
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 23 "@entryPointOutput" Name 11 "@PixelShaderFunction(vf4;"
Name 25 "input" Name 10 "input"
Decorate 23(@entryPointOutput) Location 0 Name 35 "input"
Decorate 25(input) Location 0 Name 37 "input"
Name 40 "@entryPointOutput"
Name 41 "param"
Decorate 37(input) Location 0
Decorate 40(@entryPointOutput) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
10: TypeBool 6: TypeFloat 32
11: 10(bool) ConstantFalse 7: TypeVector 6(float) 4
20: TypeFloat 32 8: TypePointer Function 7(fvec4)
21: TypeVector 20(float) 4 9: TypeFunction 7(fvec4) 8(ptr)
22: TypePointer Output 21(fvec4) 17: TypeBool
23(@entryPointOutput): 22(ptr) Variable Output 18: 17(bool) ConstantFalse
24: TypePointer Input 21(fvec4) 31: TypeVector 17(bool) 4
25(input): 24(ptr) Variable Input 36: TypePointer Input 7(fvec4)
30: TypeVector 10(bool) 4 37(input): 36(ptr) Variable Input
39: TypePointer Output 7(fvec4)
40(@entryPointOutput): 39(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3 4(PixelShaderFunction): 2 Function None 3
5: Label 5: Label
Branch 6 35(input): 8(ptr) Variable Function
6: Label 41(param): 8(ptr) Variable Function
LoopMerge 8 9 None 38: 7(fvec4) Load 37(input)
Branch 7 Store 35(input) 38
7: Label 42: 7(fvec4) Load 35(input)
Branch 9 Store 41(param) 42
9: Label 43: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 41(param)
BranchConditional 11 6 8 Store 40(@entryPointOutput) 43
8: Label Return
Branch 12 FunctionEnd
11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9
10(input): 8(ptr) FunctionParameter
12: Label 12: Label
LoopMerge 14 15 None
Branch 13 Branch 13
13: Label 13: Label
Branch 15 LoopMerge 15 16 None
15: Label Branch 14
BranchConditional 11 12 14
14: Label 14: Label
Branch 16 Branch 16
16: Label 16: Label
LoopMerge 18 19 None BranchConditional 18 13 15
Branch 17 15: Label
17: Label Branch 19
26: 21(fvec4) Load 25(input)
Store 23(@entryPointOutput) 26
Return
19: Label 19: Label
28: 21(fvec4) Load 25(input) LoopMerge 21 22 None
29: 21(fvec4) Load 25(input) Branch 20
31: 30(bvec4) FOrdEqual 28 29 20: Label
32: 10(bool) All 31 Branch 22
BranchConditional 32 16 18 22: Label
18: Label BranchConditional 18 19 21
Return 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 FunctionEnd

View file

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

View file

@ -22,23 +22,29 @@ gl_FragCoord origin is upper left
0:9 Constant: 0:9 Constant:
0:9 7 (const int) 0:9 7 (const int)
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 Function Parameters:
0:13 'input' (layout(location=0 ) in 4-component vector of float) 0:13 'input' (in 4-component vector of float)
0:13 'out1' (layout(location=1 ) out 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 '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:13 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:? Sequence 0:? Sequence
0:14 move second child to first child (temp 4-component vector of float) 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 'out1' (out 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:15 move second child to first child (temp 2-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 Constant:
0:15 2.000000 0:15 2.000000
0:15 2.000000 0:15 2.000000
0:16 move second child to first child (temp 2-component vector of int) 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 Constant:
0:16 3 (const int) 0:16 3 (const int)
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 Constant:
0:19 13 (const int) 0:19 13 (const int)
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 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:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) 0:22 Branch: Return with expression
0:20 Sequence 0:22 'out1' (out 4-component vector of float)
0:20 move second child to first child (temp 2-component vector of float) 0:13 Function Definition: PixelShaderFunction( (temp void)
0:? 'v' (layout(location=4 ) out 2-component vector of float) 0:13 Function Parameters:
0:20 v: direct index for structure (temp 2-component vector of float) 0:? Sequence
0:20 'tempArg' (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:20 Constant: 0:? 'input' (temp 4-component vector of float)
0:20 0 (const int) 0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:20 move second child to first child (temp 2-component vector of int) 0:13 move second child to first child (temp 4-component vector of float)
0:? 'i' (layout(location=5 ) out 2-component vector of int) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:20 i: direct index for structure (temp 2-component vector of int) 0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) 0:? 'input' (temp 4-component vector of float)
0:20 Constant: 0:? 'out1' (temp 4-component vector of float)
0:20 1 (const int) 0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:22 Sequence 0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:22 move second child to first child (temp 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:? 'out1' (layout(location=1 ) out 4-component vector of float)
0:22 'out1' (layout(location=1 ) out 4-component vector of float) 0:? 'out1' (temp 4-component vector of float)
0:22 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 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 Constant:
0:9 7 (const int) 0:9 7 (const int)
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 Function Parameters:
0:13 'input' (layout(location=0 ) in 4-component vector of float) 0:13 'input' (in 4-component vector of float)
0:13 'out1' (layout(location=1 ) out 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 '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:13 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:? Sequence 0:? Sequence
0:14 move second child to first child (temp 4-component vector of float) 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 'out1' (out 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:15 move second child to first child (temp 2-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 Constant:
0:15 2.000000 0:15 2.000000
0:15 2.000000 0:15 2.000000
0:16 move second child to first child (temp 2-component vector of int) 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 Constant:
0:16 3 (const int) 0:16 3 (const int)
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 Constant:
0:19 13 (const int) 0:19 13 (const int)
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 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:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) 0:22 Branch: Return with expression
0:20 Sequence 0:22 'out1' (out 4-component vector of float)
0:20 move second child to first child (temp 2-component vector of float) 0:13 Function Definition: PixelShaderFunction( (temp void)
0:? 'v' (layout(location=4 ) out 2-component vector of float) 0:13 Function Parameters:
0:20 v: direct index for structure (temp 2-component vector of float) 0:? Sequence
0:20 'tempArg' (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:20 Constant: 0:? 'input' (temp 4-component vector of float)
0:20 0 (const int) 0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:20 move second child to first child (temp 2-component vector of int) 0:13 move second child to first child (temp 4-component vector of float)
0:? 'i' (layout(location=5 ) out 2-component vector of int) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:20 i: direct index for structure (temp 2-component vector of int) 0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) 0:? 'input' (temp 4-component vector of float)
0:20 Constant: 0:? 'out1' (temp 4-component vector of float)
0:20 1 (const int) 0:? 'out2' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:22 Sequence 0:? 'out3' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:22 move second child to first child (temp 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:? 'out1' (layout(location=1 ) out 4-component vector of float)
0:22 'out1' (layout(location=1 ) out 4-component vector of float) 0:? 'out1' (temp 4-component vector of float)
0:22 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 60 // Id's are bound by 89
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 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 ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 10 "OutParam" Name 10 "OutParam"
@ -196,23 +258,35 @@ gl_FragCoord origin is upper left
MemberName 10(OutParam) 1 "i" MemberName 10(OutParam) 1 "i"
Name 14 "fun(struct-OutParam-vf2-vi21;" Name 14 "fun(struct-OutParam-vf2-vi21;"
Name 13 "op" Name 13 "op"
Name 28 "out1" Name 23 "@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;"
Name 30 "input" Name 19 "input"
Name 33 "v" Name 20 "out1"
Name 37 "i" Name 21 "out2"
Name 40 "local" Name 22 "out3"
Name 47 "tempArg" Name 42 "local"
Name 48 "param" Name 49 "param"
Name 51 "v" Name 55 "input"
Name 54 "i" Name 57 "input"
Name 57 "@entryPointOutput" Name 60 "@entryPointOutput"
Decorate 28(out1) Location 1 Name 61 "out1"
Decorate 30(input) Location 0 Name 62 "out2"
Decorate 33(v) Location 2 Name 63 "out3"
Decorate 37(i) Location 3 Name 64 "param"
Decorate 51(v) Location 4 Name 66 "param"
Decorate 54(i) Location 5 Name 67 "param"
Decorate 57(@entryPointOutput) Location 0 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
@ -222,66 +296,104 @@ gl_FragCoord origin is upper left
10(OutParam): TypeStruct 7(fvec2) 9(ivec2) 10(OutParam): TypeStruct 7(fvec2) 9(ivec2)
11: TypePointer Function 10(OutParam) 11: TypePointer Function 10(OutParam)
12: TypeFunction 2 11(ptr) 12: TypeFunction 2 11(ptr)
16: 8(int) Constant 0 16: TypeVector 6(float) 4
17: 6(float) Constant 1053609165 17: TypePointer Function 16(fvec4)
18: 7(fvec2) ConstantComposite 17 17 18: TypeFunction 16(fvec4) 17(ptr) 17(ptr) 11(ptr) 11(ptr)
19: TypePointer Function 7(fvec2) 25: 8(int) Constant 0
21: 8(int) Constant 1 26: 6(float) Constant 1053609165
22: 8(int) Constant 7 27: 7(fvec2) ConstantComposite 26 26
23: 9(ivec2) ConstantComposite 22 22 28: TypePointer Function 7(fvec2)
24: TypePointer Function 9(ivec2) 30: 8(int) Constant 1
26: TypeVector 6(float) 4 31: 8(int) Constant 7
27: TypePointer Output 26(fvec4) 32: 9(ivec2) ConstantComposite 31 31
28(out1): 27(ptr) Variable Output 33: TypePointer Function 9(ivec2)
29: TypePointer Input 26(fvec4) 36: 6(float) Constant 1073741824
30(input): 29(ptr) Variable Input 37: 7(fvec2) ConstantComposite 36 36
32: TypePointer Output 7(fvec2) 39: 8(int) Constant 3
33(v): 32(ptr) Variable Output 40: 9(ivec2) ConstantComposite 39 39
34: 6(float) Constant 1073741824 43: 6(float) Constant 1094713344
35: 7(fvec2) ConstantComposite 34 34 44: 7(fvec2) ConstantComposite 43 43
36: TypePointer Output 9(ivec2) 46: 8(int) Constant 13
37(i): 36(ptr) Variable Output 47: 9(ivec2) ConstantComposite 46 46
38: 8(int) Constant 3 56: TypePointer Input 16(fvec4)
39: 9(ivec2) ConstantComposite 38 38 57(input): 56(ptr) Variable Input
41: 6(float) Constant 1094713344 59: TypePointer Output 16(fvec4)
42: 7(fvec2) ConstantComposite 41 41 60(@entryPointOutput): 59(ptr) Variable Output
44: 8(int) Constant 13 73(out1): 59(ptr) Variable Output
45: 9(ivec2) ConstantComposite 44 44 75: TypePointer Output 7(fvec2)
51(v): 32(ptr) Variable Output 76(v): 75(ptr) Variable Output
54(i): 36(ptr) Variable Output 79: TypePointer Output 9(ivec2)
57(@entryPointOutput): 27(ptr) Variable Output 80(i): 79(ptr) Variable Output
83(v): 75(ptr) Variable Output
86(i): 79(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3 4(PixelShaderFunction): 2 Function None 3
5: Label 5: Label
40(local): 11(ptr) Variable Function 55(input): 17(ptr) Variable Function
47(tempArg): 11(ptr) Variable Function 61(out1): 17(ptr) Variable Function
48(param): 11(ptr) Variable Function 62(out2): 11(ptr) Variable Function
31: 26(fvec4) Load 30(input) 63(out3): 11(ptr) Variable Function
Store 28(out1) 31 64(param): 17(ptr) Variable Function
Store 33(v) 35 66(param): 17(ptr) Variable Function
Store 37(i) 39 67(param): 11(ptr) Variable Function
43: 19(ptr) AccessChain 40(local) 16 68(param): 11(ptr) Variable Function
Store 43 42 58: 16(fvec4) Load 57(input)
46: 24(ptr) AccessChain 40(local) 21 Store 55(input) 58
Store 46 45 65: 16(fvec4) Load 55(input)
49: 2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 48(param) Store 64(param) 65
50:10(OutParam) Load 48(param) 69: 16(fvec4) FunctionCall 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;) 64(param) 66(param) 67(param) 68(param)
Store 47(tempArg) 50 70: 16(fvec4) Load 66(param)
52: 19(ptr) AccessChain 47(tempArg) 16 Store 61(out1) 70
53: 7(fvec2) Load 52 71:10(OutParam) Load 67(param)
Store 51(v) 53 Store 62(out2) 71
55: 24(ptr) AccessChain 47(tempArg) 21 72:10(OutParam) Load 68(param)
56: 9(ivec2) Load 55 Store 63(out3) 72
Store 54(i) 56 Store 60(@entryPointOutput) 69
58: 26(fvec4) Load 28(out1) 74: 16(fvec4) Load 61(out1)
Store 57(@entryPointOutput) 58 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 Return
FunctionEnd FunctionEnd
14(fun(struct-OutParam-vf2-vi21;): 2 Function None 12 14(fun(struct-OutParam-vf2-vi21;): 2 Function None 12
13(op): 11(ptr) FunctionParameter 13(op): 11(ptr) FunctionParameter
15: Label 15: Label
20: 19(ptr) AccessChain 13(op) 16 29: 28(ptr) AccessChain 13(op) 25
Store 20 18 Store 29 27
25: 24(ptr) AccessChain 13(op) 21 34: 33(ptr) AccessChain 13(op) 30
Store 25 23 Store 34 32
Return Return
FunctionEnd 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:? Sequence
0:7 Function Definition: not_the_entry_point( (temp void) 0:7 Function Definition: not_the_entry_point( (temp void)
0:7 Function Parameters: 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:11 Function Parameters:
0:? Sequence 0:? Sequence
0:13 move second child to first child (temp 4-component vector of float) 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:13 0.000000
0:13 0.000000 0:13 0.000000
0:14 Sequence 0:14 Branch: Return with expression
0:14 Sequence 0:14 'psout' (temp structure{temp 4-component vector of float Color})
0:14 move second child to first child (temp 4-component vector of float) 0:11 Function Definition: main_in_spv( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:11 Function Parameters:
0:14 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:14 'psout' (temp structure{temp 4-component vector of float Color}) 0:11 Sequence
0:14 Constant: 0:11 move second child to first child (temp 4-component vector of float)
0:14 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:14 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 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}) 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:? Sequence
0:7 Function Definition: not_the_entry_point( (temp void) 0:7 Function Definition: not_the_entry_point( (temp void)
0:7 Function Parameters: 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:11 Function Parameters:
0:? Sequence 0:? Sequence
0:13 move second child to first child (temp 4-component vector of float) 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:13 0.000000
0:13 0.000000 0:13 0.000000
0:14 Sequence 0:14 Branch: Return with expression
0:14 Sequence 0:14 'psout' (temp structure{temp 4-component vector of float Color})
0:14 move second child to first child (temp 4-component vector of float) 0:11 Function Definition: main_in_spv( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:11 Function Parameters:
0:14 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:14 'psout' (temp structure{temp 4-component vector of float Color}) 0:11 Sequence
0:14 Constant: 0:11 move second child to first child (temp 4-component vector of float)
0:14 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:14 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 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}) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int also_not_the_entry_point})
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 27 // Id's are bound by 32
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main_in_spv" 20 EntryPoint Fragment 4 "main_in_spv" 26
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main_in_spv" Name 4 "main_in_spv"
Name 6 "not_the_entry_point(" Name 6 "not_the_entry_point("
Name 10 "PS_OUTPUT" Name 10 "PS_OUTPUT"
MemberName 10(PS_OUTPUT) 0 "Color" MemberName 10(PS_OUTPUT) 0 "Color"
Name 12 "psout" Name 12 "@main_in_spv("
Name 20 "Color" Name 15 "psout"
Name 24 "$Global" Name 26 "Color"
MemberName 24($Global) 0 "also_not_the_entry_point" Name 29 "$Global"
Name 26 "" MemberName 29($Global) 0 "also_not_the_entry_point"
Decorate 20(Color) Location 0 Name 31 ""
MemberDecorate 24($Global) 0 Offset 0 Decorate 26(Color) Location 0
Decorate 24($Global) Block MemberDecorate 29($Global) 0 Offset 0
Decorate 26 DescriptorSet 0 Decorate 29($Global) Block
Decorate 31 DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
8: TypeFloat 32 8: TypeFloat 32
9: TypeVector 8(float) 4 9: TypeVector 8(float) 4
10(PS_OUTPUT): TypeStruct 9(fvec4) 10(PS_OUTPUT): TypeStruct 9(fvec4)
11: TypePointer Function 10(PS_OUTPUT) 11: TypeFunction 10(PS_OUTPUT)
13: TypeInt 32 1 14: TypePointer Function 10(PS_OUTPUT)
14: 13(int) Constant 0 16: TypeInt 32 1
15: 8(float) Constant 0 17: 16(int) Constant 0
16: 9(fvec4) ConstantComposite 15 15 15 15 18: 8(float) Constant 0
17: TypePointer Function 9(fvec4) 19: 9(fvec4) ConstantComposite 18 18 18 18
19: TypePointer Output 9(fvec4) 20: TypePointer Function 9(fvec4)
20(Color): 19(ptr) Variable Output 25: TypePointer Output 9(fvec4)
24($Global): TypeStruct 13(int) 26(Color): 25(ptr) Variable Output
25: TypePointer Uniform 24($Global) 29($Global): TypeStruct 16(int)
26: 25(ptr) Variable Uniform 30: TypePointer Uniform 29($Global)
31: 30(ptr) Variable Uniform
4(main_in_spv): 2 Function None 3 4(main_in_spv): 2 Function None 3
5: Label 5: Label
12(psout): 11(ptr) Variable Function 27:10(PS_OUTPUT) FunctionCall 12(@main_in_spv()
18: 17(ptr) AccessChain 12(psout) 14 28: 9(fvec4) CompositeExtract 27 0
Store 18 16 Store 26(Color) 28
21: 17(ptr) AccessChain 12(psout) 14
22: 9(fvec4) Load 21
Store 20(Color) 22
Return Return
FunctionEnd FunctionEnd
6(not_the_entry_point(): 2 Function None 3 6(not_the_entry_point(): 2 Function None 3
7: Label 7: Label
Return Return
FunctionEnd 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:? 2.000000
0:? 3.000000 0:? 3.000000
0:? 4.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:16 Function Parameters:
0:? Sequence 0:? Sequence
0:17 Sequence 0:17 Branch: Return with expression
0:17 Sequence 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 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: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:16 Function Parameters:
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:? Sequence
0:17 move second child to first child (temp 4-component vector of float) 0:16 Sequence
0:? 'color' (layout(location=0 ) out 4-component vector of float) 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:17 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: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: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:17 Constant: 0:16 move second child to first child (temp 4-component vector of float)
0:17 0 (const int) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:17 move second child to first child (temp float) 0:16 color: direct index for structure (temp 4-component vector of float)
0:? 'other_struct_member1' (layout(location=1 ) out 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:17 other_struct_member1: direct index for structure (temp float) 0:16 Constant:
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:16 0 (const int)
0:17 Constant: 0:16 move second child to first child (temp float)
0:17 1 (const int) 0:? 'other_struct_member1' (layout(location=1 ) out float)
0:17 move second child to first child (temp float) 0:16 other_struct_member1: direct index for structure (temp float)
0:? 'other_struct_member2' (layout(location=2 ) out 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:17 other_struct_member2: direct index for structure (temp float) 0:16 Constant:
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:16 1 (const int)
0:17 Constant: 0:16 move second child to first child (temp float)
0:17 2 (const int) 0:? 'other_struct_member2' (layout(location=2 ) out float)
0:17 move second child to first child (temp float) 0:16 other_struct_member2: direct index for structure (temp float)
0:? 'other_struct_member3' (layout(location=3 ) out 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:17 other_struct_member3: direct index for structure (temp float) 0:16 Constant:
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:16 2 (const int)
0:17 Constant: 0:16 move second child to first child (temp float)
0:17 3 (const int) 0:? 'other_struct_member3' (layout(location=3 ) out float)
0:17 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'other_struct_member1' (layout(location=1 ) out float) 0:? 'other_struct_member1' (layout(location=1 ) out float)
@ -72,39 +75,42 @@ gl_FragCoord origin is upper left
0:? 2.000000 0:? 2.000000
0:? 3.000000 0:? 3.000000
0:? 4.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:16 Function Parameters:
0:? Sequence 0:? Sequence
0:17 Sequence 0:17 Branch: Return with expression
0:17 Sequence 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 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: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:16 Function Parameters:
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:? Sequence
0:17 move second child to first child (temp 4-component vector of float) 0:16 Sequence
0:? 'color' (layout(location=0 ) out 4-component vector of float) 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:17 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: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: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:17 Constant: 0:16 move second child to first child (temp 4-component vector of float)
0:17 0 (const int) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:17 move second child to first child (temp float) 0:16 color: direct index for structure (temp 4-component vector of float)
0:? 'other_struct_member1' (layout(location=1 ) out 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:17 other_struct_member1: direct index for structure (temp float) 0:16 Constant:
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:16 0 (const int)
0:17 Constant: 0:16 move second child to first child (temp float)
0:17 1 (const int) 0:? 'other_struct_member1' (layout(location=1 ) out float)
0:17 move second child to first child (temp float) 0:16 other_struct_member1: direct index for structure (temp float)
0:? 'other_struct_member2' (layout(location=2 ) out 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:17 other_struct_member2: direct index for structure (temp float) 0:16 Constant:
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:16 1 (const int)
0:17 Constant: 0:16 move second child to first child (temp float)
0:17 2 (const int) 0:? 'other_struct_member2' (layout(location=2 ) out float)
0:17 move second child to first child (temp float) 0:16 other_struct_member2: direct index for structure (temp float)
0:? 'other_struct_member3' (layout(location=3 ) out 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:17 other_struct_member3: direct index for structure (temp float) 0:16 Constant:
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:16 2 (const int)
0:17 Constant: 0:16 move second child to first child (temp float)
0:17 3 (const int) 0:? 'other_struct_member3' (layout(location=3 ) out float)
0:17 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'other_struct_member1' (layout(location=1 ) out float) 0:? 'other_struct_member1' (layout(location=1 ) out float)
@ -113,12 +119,12 @@ gl_FragCoord origin is upper left
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 45 // Id's are bound by 49
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 24 31 36 40 EntryPoint Fragment 4 "main" 29 36 41 45
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "PS_OUTPUT" 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) 2 "other_struct_member2"
MemberName 8(PS_OUTPUT) 3 "other_struct_member3" MemberName 8(PS_OUTPUT) 3 "other_struct_member3"
Name 10 "Func1(" Name 10 "Func1("
Name 21 "flattenTemp" Name 12 "@main("
Name 24 "color" Name 26 "flattenTemp"
Name 31 "other_struct_member1" Name 29 "color"
Name 36 "other_struct_member2" Name 36 "other_struct_member1"
Name 40 "other_struct_member3" Name 41 "other_struct_member2"
Decorate 24(color) Location 0 Name 45 "other_struct_member3"
Decorate 31(other_struct_member1) Location 1 Decorate 29(color) Location 0
Decorate 36(other_struct_member2) Location 2 Decorate 36(other_struct_member1) Location 1
Decorate 40(other_struct_member3) Location 3 Decorate 41(other_struct_member2) Location 2
Decorate 45(other_struct_member3) Location 3
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 6(float) 6(float) 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 6(float) 6(float)
9: TypeFunction 8(PS_OUTPUT) 9: TypeFunction 8(PS_OUTPUT)
12: 6(float) Constant 1065353216 14: 6(float) Constant 1065353216
13: 7(fvec4) ConstantComposite 12 12 12 12 15: 7(fvec4) ConstantComposite 14 14 14 14
14: 6(float) Constant 1073741824 16: 6(float) Constant 1073741824
15: 6(float) Constant 1077936128 17: 6(float) Constant 1077936128
16: 6(float) Constant 1082130432 18: 6(float) Constant 1082130432
17:8(PS_OUTPUT) ConstantComposite 13 14 15 16 19:8(PS_OUTPUT) ConstantComposite 15 16 17 18
20: TypePointer Function 8(PS_OUTPUT) 25: TypePointer Function 8(PS_OUTPUT)
23: TypePointer Output 7(fvec4) 28: TypePointer Output 7(fvec4)
24(color): 23(ptr) Variable Output 29(color): 28(ptr) Variable Output
25: TypeInt 32 1 30: TypeInt 32 1
26: 25(int) Constant 0 31: 30(int) Constant 0
27: TypePointer Function 7(fvec4) 32: TypePointer Function 7(fvec4)
30: TypePointer Output 6(float) 35: TypePointer Output 6(float)
31(other_struct_member1): 30(ptr) Variable Output 36(other_struct_member1): 35(ptr) Variable Output
32: 25(int) Constant 1 37: 30(int) Constant 1
33: TypePointer Function 6(float) 38: TypePointer Function 6(float)
36(other_struct_member2): 30(ptr) Variable Output 41(other_struct_member2): 35(ptr) Variable Output
37: 25(int) Constant 2 42: 30(int) Constant 2
40(other_struct_member3): 30(ptr) Variable Output 45(other_struct_member3): 35(ptr) Variable Output
41: 25(int) Constant 3 46: 30(int) Constant 3
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
21(flattenTemp): 20(ptr) Variable Function 26(flattenTemp): 25(ptr) Variable Function
22:8(PS_OUTPUT) FunctionCall 10(Func1() 27:8(PS_OUTPUT) FunctionCall 12(@main()
Store 21(flattenTemp) 22 Store 26(flattenTemp) 27
28: 27(ptr) AccessChain 21(flattenTemp) 26 33: 32(ptr) AccessChain 26(flattenTemp) 31
29: 7(fvec4) Load 28 34: 7(fvec4) Load 33
Store 24(color) 29 Store 29(color) 34
34: 33(ptr) AccessChain 21(flattenTemp) 32 39: 38(ptr) AccessChain 26(flattenTemp) 37
35: 6(float) Load 34 40: 6(float) Load 39
Store 31(other_struct_member1) 35 Store 36(other_struct_member1) 40
38: 33(ptr) AccessChain 21(flattenTemp) 37 43: 38(ptr) AccessChain 26(flattenTemp) 42
39: 6(float) Load 38 44: 6(float) Load 43
Store 36(other_struct_member2) 39 Store 41(other_struct_member2) 44
42: 33(ptr) AccessChain 21(flattenTemp) 41 47: 38(ptr) AccessChain 26(flattenTemp) 46
43: 6(float) Load 42 48: 6(float) Load 47
Store 40(other_struct_member3) 43 Store 45(other_struct_member3) 48
Return Return
FunctionEnd FunctionEnd
10(Func1():8(PS_OUTPUT) Function None 9 10(Func1():8(PS_OUTPUT) Function None 9
11: Label 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 FunctionEnd

View file

@ -2,9 +2,9 @@ hlsl.forLoop.frag
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 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:? Sequence 0:? Sequence
0:3 Loop with condition tested first 0:3 Loop with condition tested first
@ -12,7 +12,7 @@ gl_FragCoord origin is upper left
0:3 No loop body 0:3 No loop body
0:4 Sequence 0:4 Sequence
0:4 Pre-Increment (temp 4-component vector of float) 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 Loop with condition tested first
0:4 No loop condition 0:4 No loop condition
0:4 No loop body 0:4 No loop body
@ -21,44 +21,38 @@ gl_FragCoord origin is upper left
0:5 Loop Condition 0:5 Loop Condition
0:5 any (temp bool) 0:5 any (temp bool)
0:5 NotEqual (temp 4-component vector of 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' (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 No loop body 0:5 No loop body
0:? Sequence 0:? Sequence
0:6 Loop with condition tested first 0:6 Loop with condition tested first
0:6 Loop Condition 0:6 Loop Condition
0:6 any (temp bool) 0:6 any (temp bool)
0:6 NotEqual (temp 4-component vector of 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' (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 Loop Body 0:6 Loop Body
0:? Sequence 0:? Sequence
0:6 Sequence 0:6 Branch: Return with expression
0:6 move second child to first child (temp 4-component vector of float) 0:6 Negate value (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:6 'input' (in 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:7 Sequence 0:7 Sequence
0:7 Pre-Decrement (temp 4-component vector of float) 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 with condition tested first
0:7 Loop Condition 0:7 Loop Condition
0:7 any (temp bool) 0:7 any (temp bool)
0:7 NotEqual (temp 4-component vector of 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' (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 Loop Body 0:7 Loop Body
0:? Sequence 0:? Sequence
0:7 Sequence 0:7 Branch: Return with expression
0:7 move second child to first child (temp 4-component vector of float) 0:7 Negate value (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:7 'input' (in 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 Loop Terminal Expression 0:7 Loop Terminal Expression
0:7 add second child into first child (temp 4-component vector of float) 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 Constant:
0:7 2.000000 0:7 2.000000
0:? Sequence 0:? Sequence
@ -69,7 +63,7 @@ gl_FragCoord origin is upper left
0:8 Condition 0:8 Condition
0:8 Compare Greater Than (temp bool) 0:8 Compare Greater Than (temp bool)
0:8 direct index (temp float) 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 Constant:
0:8 0 (const int) 0:8 0 (const int)
0:8 Constant: 0:8 Constant:
@ -84,7 +78,7 @@ gl_FragCoord origin is upper left
0:9 Condition 0:9 Condition
0:9 Compare Greater Than (temp bool) 0:9 Compare Greater Than (temp bool)
0:9 direct index (temp float) 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 Constant:
0:9 0 (const int) 0:9 0 (const int)
0:9 Constant: 0:9 Constant:
@ -116,6 +110,16 @@ gl_FragCoord origin is upper left
0:11 'ii' (temp int) 0:11 'ii' (temp int)
0:12 Pre-Decrement (temp float) 0:12 Pre-Decrement (temp float)
0:12 'ii' (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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 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:? Sequence 0:? Sequence
0:3 Loop with condition tested first 0:3 Loop with condition tested first
@ -137,7 +141,7 @@ gl_FragCoord origin is upper left
0:3 No loop body 0:3 No loop body
0:4 Sequence 0:4 Sequence
0:4 Pre-Increment (temp 4-component vector of float) 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 Loop with condition tested first
0:4 No loop condition 0:4 No loop condition
0:4 No loop body 0:4 No loop body
@ -146,44 +150,38 @@ gl_FragCoord origin is upper left
0:5 Loop Condition 0:5 Loop Condition
0:5 any (temp bool) 0:5 any (temp bool)
0:5 NotEqual (temp 4-component vector of 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' (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 No loop body 0:5 No loop body
0:? Sequence 0:? Sequence
0:6 Loop with condition tested first 0:6 Loop with condition tested first
0:6 Loop Condition 0:6 Loop Condition
0:6 any (temp bool) 0:6 any (temp bool)
0:6 NotEqual (temp 4-component vector of 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' (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 Loop Body 0:6 Loop Body
0:? Sequence 0:? Sequence
0:6 Sequence 0:6 Branch: Return with expression
0:6 move second child to first child (temp 4-component vector of float) 0:6 Negate value (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:6 'input' (in 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:7 Sequence 0:7 Sequence
0:7 Pre-Decrement (temp 4-component vector of float) 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 with condition tested first
0:7 Loop Condition 0:7 Loop Condition
0:7 any (temp bool) 0:7 any (temp bool)
0:7 NotEqual (temp 4-component vector of 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' (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 Loop Body 0:7 Loop Body
0:? Sequence 0:? Sequence
0:7 Sequence 0:7 Branch: Return with expression
0:7 move second child to first child (temp 4-component vector of float) 0:7 Negate value (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:7 'input' (in 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 Loop Terminal Expression 0:7 Loop Terminal Expression
0:7 add second child into first child (temp 4-component vector of float) 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 Constant:
0:7 2.000000 0:7 2.000000
0:? Sequence 0:? Sequence
@ -194,7 +192,7 @@ gl_FragCoord origin is upper left
0:8 Condition 0:8 Condition
0:8 Compare Greater Than (temp bool) 0:8 Compare Greater Than (temp bool)
0:8 direct index (temp float) 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 Constant:
0:8 0 (const int) 0:8 0 (const int)
0:8 Constant: 0:8 Constant:
@ -209,7 +207,7 @@ gl_FragCoord origin is upper left
0:9 Condition 0:9 Condition
0:9 Compare Greater Than (temp bool) 0:9 Compare Greater Than (temp bool)
0:9 direct index (temp float) 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 Constant:
0:9 0 (const int) 0:9 0 (const int)
0:9 Constant: 0:9 Constant:
@ -241,193 +239,220 @@ gl_FragCoord origin is upper left
0:11 'ii' (temp int) 0:11 'ii' (temp int)
0:12 Pre-Decrement (temp float) 0:12 Pre-Decrement (temp float)
0:12 'ii' (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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'input' (layout(location=0 ) in 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 114 // Id's are bound by 124
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 13 43 EntryPoint Fragment 4 "PixelShaderFunction" 117 120
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 13 "input" Name 11 "@PixelShaderFunction(vf4;"
Name 43 "@entryPointOutput" Name 10 "input"
Name 91 "ii" Name 92 "ii"
Name 111 "ii" Name 111 "ii"
Decorate 13(input) Location 0 Name 115 "input"
Decorate 43(@entryPointOutput) Location 0 Name 117 "input"
Name 120 "@entryPointOutput"
Name 121 "param"
Decorate 117(input) Location 0
Decorate 120(@entryPointOutput) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
10: TypeFloat 32 6: TypeFloat 32
11: TypeVector 10(float) 4 7: TypeVector 6(float) 4
12: TypePointer Input 11(fvec4) 8: TypePointer Function 7(fvec4)
13(input): 12(ptr) Variable Input 9: TypeFunction 7(fvec4) 8(ptr)
15: 10(float) Constant 1065353216 18: 6(float) Constant 1065353216
29: TypeBool 32: TypeBool
30: TypeVector 29(bool) 4 33: TypeVector 32(bool) 4
42: TypePointer Output 11(fvec4) 63: 6(float) Constant 1073741824
43(@entryPointOutput): 42(ptr) Variable Output 71: TypeInt 32 0
62: 10(float) Constant 1073741824 72: 71(int) Constant 0
70: TypeInt 32 0 73: TypePointer Function 6(float)
71: 70(int) Constant 0 90: TypeInt 32 1
72: TypePointer Input 10(float) 91: TypePointer Function 90(int)
89: TypeInt 32 1 93: 90(int) Constant 4294967295
90: TypePointer Function 89(int) 100: 90(int) Constant 3
92: 89(int) Constant 4294967295 103: 90(int) Constant 2
99: 89(int) Constant 3 109: 90(int) Constant 1
102: 89(int) Constant 2 116: TypePointer Input 7(fvec4)
108: 89(int) Constant 1 117(input): 116(ptr) Variable Input
110: TypePointer Function 10(float) 119: TypePointer Output 7(fvec4)
120(@entryPointOutput): 119(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3 4(PixelShaderFunction): 2 Function None 3
5: Label 5: Label
91(ii): 90(ptr) Variable Function 115(input): 8(ptr) Variable Function
111(ii): 110(ptr) Variable Function 121(param): 8(ptr) Variable Function
Branch 6 118: 7(fvec4) Load 117(input)
6: Label Store 115(input) 118
LoopMerge 8 9 None 122: 7(fvec4) Load 115(input)
Branch 7 Store 121(param) 122
7: Label 123: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 121(param)
Branch 9 Store 120(@entryPointOutput) 123
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:24 Function Parameters:
0:? Sequence 0:? Sequence
0:29 Sequence 0:29 Sequence
@ -91,24 +91,28 @@ gl_FragCoord origin is upper left
0:40 1 (const int) 0:40 1 (const int)
0:40 Constant: 0:40 Constant:
0:40 1.000000 0:40 1.000000
0:42 Sequence 0:42 Branch: Return with expression
0:42 Sequence 0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:42 move second child to first child (temp 4-component vector of float) 0:24 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:24 Function Parameters:
0:42 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Sequence
0:42 Constant: 0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:42 0 (const int) 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:42 move second child to first child (temp float) 0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:24 move second child to first child (temp 4-component vector of float)
0:42 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Color: direct index for structure (temp 4-component vector of float)
0:42 Constant: 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:42 1 (const int) 0:24 Constant:
0:42 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) 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_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage: Linked fragment stage:
@ -128,7 +134,7 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:24 Function Parameters:
0:? Sequence 0:? Sequence
0:29 Sequence 0:29 Sequence
@ -217,24 +223,28 @@ gl_FragCoord origin is upper left
0:40 1 (const int) 0:40 1 (const int)
0:40 Constant: 0:40 Constant:
0:40 1.000000 0:40 1.000000
0:42 Sequence 0:42 Branch: Return with expression
0:42 Sequence 0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:42 move second child to first child (temp 4-component vector of float) 0:24 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:24 Function Parameters:
0:42 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Sequence
0:42 Constant: 0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:42 0 (const int) 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:42 move second child to first child (temp float) 0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:24 move second child to first child (temp 4-component vector of float)
0:42 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Color: direct index for structure (temp 4-component vector of float)
0:42 Constant: 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:42 1 (const int) 0:24 Constant:
0:42 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) 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_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 117 // Id's are bound by 124
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
Capability SampledCubeArray Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 99 103 EntryPoint Fragment 4 "main" 107 111
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "txval20" Name 8 "PS_OUTPUT"
Name 12 "g_tTex2df4a" MemberName 8(PS_OUTPUT) 0 "Color"
Name 16 "g_sSamp" MemberName 8(PS_OUTPUT) 1 "Depth"
Name 30 "txval21" Name 10 "@main("
Name 33 "g_tTex2di4a" Name 13 "txval20"
Name 45 "txval22" Name 16 "g_tTex2df4a"
Name 48 "g_tTex2du4a" Name 20 "g_sSamp"
Name 57 "txval40" Name 34 "txval21"
Name 60 "g_tTexcdf4a" Name 37 "g_tTex2di4a"
Name 67 "txval41" Name 49 "txval22"
Name 70 "g_tTexcdi4a" Name 52 "g_tTex2du4a"
Name 77 "txval42" Name 61 "txval40"
Name 80 "g_tTexcdu4a" Name 64 "g_tTexcdf4a"
Name 90 "PS_OUTPUT" Name 71 "txval41"
MemberName 90(PS_OUTPUT) 0 "Color" Name 74 "g_tTexcdi4a"
MemberName 90(PS_OUTPUT) 1 "Depth" Name 81 "txval42"
Name 92 "psout" Name 84 "g_tTexcdu4a"
Name 99 "Color" Name 95 "psout"
Name 103 "Depth" Name 104 "flattenTemp"
Name 109 "g_tTex1df4a" Name 107 "Color"
Name 110 "g_tTex1df4" Name 111 "Depth"
Name 113 "g_tTex1di4a" Name 116 "g_tTex1df4a"
Name 116 "g_tTex1du4a" Name 117 "g_tTex1df4"
Decorate 12(g_tTex2df4a) DescriptorSet 0 Name 120 "g_tTex1di4a"
Decorate 16(g_sSamp) DescriptorSet 0 Name 123 "g_tTex1du4a"
Decorate 16(g_sSamp) Binding 0 Decorate 16(g_tTex2df4a) DescriptorSet 0
Decorate 33(g_tTex2di4a) DescriptorSet 0 Decorate 20(g_sSamp) DescriptorSet 0
Decorate 48(g_tTex2du4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0
Decorate 60(g_tTexcdf4a) DescriptorSet 0 Decorate 37(g_tTex2di4a) DescriptorSet 0
Decorate 70(g_tTexcdi4a) DescriptorSet 0 Decorate 52(g_tTex2du4a) DescriptorSet 0
Decorate 80(g_tTexcdu4a) DescriptorSet 0 Decorate 64(g_tTexcdf4a) DescriptorSet 0
Decorate 99(Color) Location 0 Decorate 74(g_tTexcdi4a) DescriptorSet 0
Decorate 103(Depth) BuiltIn FragDepth Decorate 84(g_tTexcdu4a) DescriptorSet 0
Decorate 109(g_tTex1df4a) DescriptorSet 0 Decorate 107(Color) Location 0
Decorate 109(g_tTex1df4a) Binding 1 Decorate 111(Depth) BuiltIn FragDepth
Decorate 110(g_tTex1df4) DescriptorSet 0 Decorate 116(g_tTex1df4a) DescriptorSet 0
Decorate 110(g_tTex1df4) Binding 0 Decorate 116(g_tTex1df4a) Binding 1
Decorate 113(g_tTex1di4a) DescriptorSet 0 Decorate 117(g_tTex1df4) DescriptorSet 0
Decorate 116(g_tTex1du4a) DescriptorSet 0 Decorate 117(g_tTex1df4) Binding 0
Decorate 120(g_tTex1di4a) DescriptorSet 0
Decorate 123(g_tTex1du4a) DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4) 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
10: TypeImage 6(float) 2D array sampled format:Unknown 9: TypeFunction 8(PS_OUTPUT)
11: TypePointer UniformConstant 10 12: TypePointer Function 7(fvec4)
12(g_tTex2df4a): 11(ptr) Variable UniformConstant 14: TypeImage 6(float) 2D array sampled format:Unknown
14: TypeSampler
15: TypePointer UniformConstant 14 15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant 16(g_tTex2df4a): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10 18: TypeSampler
20: TypeVector 6(float) 3 19: TypePointer UniformConstant 18
21: 6(float) Constant 1036831949 20(g_sSamp): 19(ptr) Variable UniformConstant
22: 6(float) Constant 1045220557 22: TypeSampledImage 14
23: 6(float) Constant 1050253722 24: TypeVector 6(float) 3
24: 20(fvec3) ConstantComposite 21 22 23 25: 6(float) Constant 1036831949
25: TypeInt 32 1 26: 6(float) Constant 1045220557
26: 25(int) Constant 0 27: 6(float) Constant 1050253722
28: TypeVector 25(int) 4 28: 24(fvec3) ConstantComposite 25 26 27
29: TypePointer Function 28(ivec4) 29: TypeInt 32 1
31: TypeImage 25(int) 2D array sampled format:Unknown 30: 29(int) Constant 0
32: TypePointer UniformConstant 31 32: TypeVector 29(int) 4
33(g_tTex2di4a): 32(ptr) Variable UniformConstant 33: TypePointer Function 32(ivec4)
36: TypeSampledImage 31 35: TypeImage 29(int) 2D array sampled format:Unknown
38: 6(float) Constant 1053609165 36: TypePointer UniformConstant 35
39: 6(float) Constant 1056964608 37(g_tTex2di4a): 36(ptr) Variable UniformConstant
40: 20(fvec3) ConstantComposite 23 38 39 40: TypeSampledImage 35
42: TypeInt 32 0 42: 6(float) Constant 1053609165
43: TypeVector 42(int) 4 43: 6(float) Constant 1056964608
44: TypePointer Function 43(ivec4) 44: 24(fvec3) ConstantComposite 27 42 43
46: TypeImage 42(int) 2D array sampled format:Unknown 46: TypeInt 32 0
47: TypePointer UniformConstant 46 47: TypeVector 46(int) 4
48(g_tTex2du4a): 47(ptr) Variable UniformConstant 48: TypePointer Function 47(ivec4)
51: TypeSampledImage 46 50: TypeImage 46(int) 2D array sampled format:Unknown
53: 6(float) Constant 1058642330 51: TypePointer UniformConstant 50
54: 6(float) Constant 1060320051 52(g_tTex2du4a): 51(ptr) Variable UniformConstant
55: 20(fvec3) ConstantComposite 39 53 54 55: TypeSampledImage 50
58: TypeImage 6(float) Cube array sampled format:Unknown 57: 6(float) Constant 1058642330
59: TypePointer UniformConstant 58 58: 6(float) Constant 1060320051
60(g_tTexcdf4a): 59(ptr) Variable UniformConstant 59: 24(fvec3) ConstantComposite 43 57 58
63: TypeSampledImage 58 62: TypeImage 6(float) Cube array sampled format:Unknown
65: 7(fvec4) ConstantComposite 21 22 23 38 63: TypePointer UniformConstant 62
68: TypeImage 25(int) Cube array sampled format:Unknown 64(g_tTexcdf4a): 63(ptr) Variable UniformConstant
69: TypePointer UniformConstant 68 67: TypeSampledImage 62
70(g_tTexcdi4a): 69(ptr) Variable UniformConstant 69: 7(fvec4) ConstantComposite 25 26 27 42
73: TypeSampledImage 68 72: TypeImage 29(int) Cube array sampled format:Unknown
75: 7(fvec4) ConstantComposite 38 39 53 54 73: TypePointer UniformConstant 72
78: TypeImage 42(int) Cube array sampled format:Unknown 74(g_tTexcdi4a): 73(ptr) Variable UniformConstant
79: TypePointer UniformConstant 78 77: TypeSampledImage 72
80(g_tTexcdu4a): 79(ptr) Variable UniformConstant 79: 7(fvec4) ConstantComposite 42 43 57 58
83: TypeSampledImage 78 82: TypeImage 46(int) Cube array sampled format:Unknown
85: 6(float) Constant 1061997773 83: TypePointer UniformConstant 82
86: 6(float) Constant 1063675494 84(g_tTexcdu4a): 83(ptr) Variable UniformConstant
87: 6(float) Constant 1065353216 87: TypeSampledImage 82
88: 7(fvec4) ConstantComposite 54 85 86 87 89: 6(float) Constant 1061997773
90(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 90: 6(float) Constant 1063675494
91: TypePointer Function 90(PS_OUTPUT) 91: 6(float) Constant 1065353216
93: 7(fvec4) ConstantComposite 87 87 87 87 92: 7(fvec4) ConstantComposite 58 89 90 91
95: 25(int) Constant 1 94: TypePointer Function 8(PS_OUTPUT)
96: TypePointer Function 6(float) 96: 7(fvec4) ConstantComposite 91 91 91 91
98: TypePointer Output 7(fvec4) 98: 29(int) Constant 1
99(Color): 98(ptr) Variable Output 99: TypePointer Function 6(float)
102: TypePointer Output 6(float) 106: TypePointer Output 7(fvec4)
103(Depth): 102(ptr) Variable Output 107(Color): 106(ptr) Variable Output
107: TypeImage 6(float) 1D array sampled format:Unknown 110: TypePointer Output 6(float)
108: TypePointer UniformConstant 107 111(Depth): 110(ptr) Variable Output
109(g_tTex1df4a): 108(ptr) Variable UniformConstant 114: TypeImage 6(float) 1D array sampled format:Unknown
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
115: TypePointer UniformConstant 114 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 4(main): 2 Function None 3
5: Label 5: Label
9(txval20): 8(ptr) Variable Function 104(flattenTemp): 94(ptr) Variable Function
30(txval21): 29(ptr) Variable Function 105:8(PS_OUTPUT) FunctionCall 10(@main()
45(txval22): 44(ptr) Variable Function Store 104(flattenTemp) 105
57(txval40): 8(ptr) Variable Function 108: 12(ptr) AccessChain 104(flattenTemp) 30
67(txval41): 29(ptr) Variable Function 109: 7(fvec4) Load 108
77(txval42): 44(ptr) Variable Function Store 107(Color) 109
92(psout): 91(ptr) Variable Function 112: 99(ptr) AccessChain 104(flattenTemp) 98
13: 10 Load 12(g_tTex2df4a) 113: 6(float) Load 112
17: 14 Load 16(g_sSamp) Store 111(Depth) 113
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:29 Function Parameters:
0:? Sequence 0:? Sequence
0:34 Sequence 0:34 Sequence
@ -85,24 +85,28 @@ gl_FragCoord origin is upper left
0:45 1 (const int) 0:45 1 (const int)
0:45 Constant: 0:45 Constant:
0:45 1.000000 0:45 1.000000
0:47 Sequence 0:47 Branch: Return with expression
0:47 Sequence 0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:47 move second child to first child (temp 4-component vector of float) 0:29 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:29 Function Parameters:
0:47 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:29 Sequence
0:47 Constant: 0:29 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:47 0 (const int) 0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:47 move second child to first child (temp float) 0:29 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:29 move second child to first child (temp 4-component vector of float)
0:47 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:29 Color: direct index for structure (temp 4-component vector of float)
0:47 Constant: 0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:47 1 (const int) 0:29 Constant:
0:47 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 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_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage: Linked fragment stage:
@ -126,7 +132,7 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:29 Function Parameters:
0:? Sequence 0:? Sequence
0:34 Sequence 0:34 Sequence
@ -209,24 +215,28 @@ gl_FragCoord origin is upper left
0:45 1 (const int) 0:45 1 (const int)
0:45 Constant: 0:45 Constant:
0:45 1.000000 0:45 1.000000
0:47 Sequence 0:47 Branch: Return with expression
0:47 Sequence 0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:47 move second child to first child (temp 4-component vector of float) 0:29 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:29 Function Parameters:
0:47 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:29 Sequence
0:47 Constant: 0:29 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:47 0 (const int) 0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:47 move second child to first child (temp float) 0:29 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:29 move second child to first child (temp 4-component vector of float)
0:47 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:29 Color: direct index for structure (temp 4-component vector of float)
0:47 Constant: 0:29 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:47 1 (const int) 0:29 Constant:
0:47 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 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_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 128 // Id's are bound by 135
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 100 104 EntryPoint Fragment 4 "main" 108 112
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "txval20" Name 8 "PS_OUTPUT"
Name 12 "g_tTex2df4" MemberName 8(PS_OUTPUT) 0 "Color"
Name 16 "g_sSamp" MemberName 8(PS_OUTPUT) 1 "Depth"
Name 29 "txval21" Name 10 "@main("
Name 32 "g_tTex2di4" Name 13 "txval20"
Name 44 "txval22" Name 16 "g_tTex2df4"
Name 47 "g_tTex2du4" Name 20 "g_sSamp"
Name 56 "txval40" Name 33 "txval21"
Name 59 "g_tTexcdf4" Name 36 "g_tTex2di4"
Name 67 "txval41" Name 48 "txval22"
Name 70 "g_tTexcdi4" Name 51 "g_tTex2du4"
Name 77 "txval42" Name 60 "txval40"
Name 80 "g_tTexcdu4" Name 63 "g_tTexcdf4"
Name 90 "PS_OUTPUT" Name 71 "txval41"
MemberName 90(PS_OUTPUT) 0 "Color" Name 74 "g_tTexcdi4"
MemberName 90(PS_OUTPUT) 1 "Depth" Name 81 "txval42"
Name 92 "psout" Name 84 "g_tTexcdu4"
Name 100 "Color" Name 95 "psout"
Name 104 "Depth" Name 105 "flattenTemp"
Name 108 "g_sSamp2d" Name 108 "Color"
Name 111 "g_tTex1df4a" Name 112 "Depth"
Name 112 "g_tTex1df4" Name 115 "g_sSamp2d"
Name 115 "g_tTex1di4" Name 118 "g_tTex1df4a"
Name 118 "g_tTex1du4" Name 119 "g_tTex1df4"
Name 121 "g_tTex3df4" Name 122 "g_tTex1di4"
Name 124 "g_tTex3di4" Name 125 "g_tTex1du4"
Name 127 "g_tTex3du4" Name 128 "g_tTex3df4"
Decorate 12(g_tTex2df4) DescriptorSet 0 Name 131 "g_tTex3di4"
Decorate 16(g_sSamp) DescriptorSet 0 Name 134 "g_tTex3du4"
Decorate 16(g_sSamp) Binding 0 Decorate 16(g_tTex2df4) DescriptorSet 0
Decorate 32(g_tTex2di4) DescriptorSet 0 Decorate 20(g_sSamp) DescriptorSet 0
Decorate 47(g_tTex2du4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0
Decorate 59(g_tTexcdf4) DescriptorSet 0 Decorate 36(g_tTex2di4) DescriptorSet 0
Decorate 70(g_tTexcdi4) DescriptorSet 0 Decorate 51(g_tTex2du4) DescriptorSet 0
Decorate 80(g_tTexcdu4) DescriptorSet 0 Decorate 63(g_tTexcdf4) DescriptorSet 0
Decorate 100(Color) Location 0 Decorate 74(g_tTexcdi4) DescriptorSet 0
Decorate 104(Depth) BuiltIn FragDepth Decorate 84(g_tTexcdu4) DescriptorSet 0
Decorate 108(g_sSamp2d) DescriptorSet 0 Decorate 108(Color) Location 0
Decorate 111(g_tTex1df4a) DescriptorSet 0 Decorate 112(Depth) BuiltIn FragDepth
Decorate 111(g_tTex1df4a) Binding 1 Decorate 115(g_sSamp2d) DescriptorSet 0
Decorate 112(g_tTex1df4) DescriptorSet 0 Decorate 118(g_tTex1df4a) DescriptorSet 0
Decorate 112(g_tTex1df4) Binding 0 Decorate 118(g_tTex1df4a) Binding 1
Decorate 115(g_tTex1di4) DescriptorSet 0 Decorate 119(g_tTex1df4) DescriptorSet 0
Decorate 118(g_tTex1du4) DescriptorSet 0 Decorate 119(g_tTex1df4) Binding 0
Decorate 121(g_tTex3df4) DescriptorSet 0 Decorate 122(g_tTex1di4) DescriptorSet 0
Decorate 124(g_tTex3di4) DescriptorSet 0 Decorate 125(g_tTex1du4) DescriptorSet 0
Decorate 127(g_tTex3du4) DescriptorSet 0 Decorate 128(g_tTex3df4) DescriptorSet 0
Decorate 131(g_tTex3di4) DescriptorSet 0
Decorate 134(g_tTex3du4) DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4) 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
10: TypeImage 6(float) 2D sampled format:Unknown 9: TypeFunction 8(PS_OUTPUT)
11: TypePointer UniformConstant 10 12: TypePointer Function 7(fvec4)
12(g_tTex2df4): 11(ptr) Variable UniformConstant 14: TypeImage 6(float) 2D sampled format:Unknown
14: TypeSampler
15: TypePointer UniformConstant 14 15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant 16(g_tTex2df4): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10 18: TypeSampler
20: TypeVector 6(float) 2 19: TypePointer UniformConstant 18
21: 6(float) Constant 1036831949 20(g_sSamp): 19(ptr) Variable UniformConstant
22: 6(float) Constant 1045220557 22: TypeSampledImage 14
23: 20(fvec2) ConstantComposite 21 22 24: TypeVector 6(float) 2
24: TypeInt 32 1 25: 6(float) Constant 1036831949
25: 24(int) Constant 0 26: 6(float) Constant 1045220557
27: TypeVector 24(int) 4 27: 24(fvec2) ConstantComposite 25 26
28: TypePointer Function 27(ivec4) 28: TypeInt 32 1
30: TypeImage 24(int) 2D sampled format:Unknown 29: 28(int) Constant 0
31: TypePointer UniformConstant 30 31: TypeVector 28(int) 4
32(g_tTex2di4): 31(ptr) Variable UniformConstant 32: TypePointer Function 31(ivec4)
35: TypeSampledImage 30 34: TypeImage 28(int) 2D sampled format:Unknown
37: 6(float) Constant 1050253722 35: TypePointer UniformConstant 34
38: 6(float) Constant 1053609165 36(g_tTex2di4): 35(ptr) Variable UniformConstant
39: 20(fvec2) ConstantComposite 37 38 39: TypeSampledImage 34
41: TypeInt 32 0 41: 6(float) Constant 1050253722
42: TypeVector 41(int) 4 42: 6(float) Constant 1053609165
43: TypePointer Function 42(ivec4) 43: 24(fvec2) ConstantComposite 41 42
45: TypeImage 41(int) 2D sampled format:Unknown 45: TypeInt 32 0
46: TypePointer UniformConstant 45 46: TypeVector 45(int) 4
47(g_tTex2du4): 46(ptr) Variable UniformConstant 47: TypePointer Function 46(ivec4)
50: TypeSampledImage 45 49: TypeImage 45(int) 2D sampled format:Unknown
52: 6(float) Constant 1056964608 50: TypePointer UniformConstant 49
53: 6(float) Constant 1058642330 51(g_tTex2du4): 50(ptr) Variable UniformConstant
54: 20(fvec2) ConstantComposite 52 53 54: TypeSampledImage 49
57: TypeImage 6(float) Cube sampled format:Unknown 56: 6(float) Constant 1056964608
58: TypePointer UniformConstant 57 57: 6(float) Constant 1058642330
59(g_tTexcdf4): 58(ptr) Variable UniformConstant 58: 24(fvec2) ConstantComposite 56 57
62: TypeSampledImage 57 61: TypeImage 6(float) Cube sampled format:Unknown
64: TypeVector 6(float) 3 62: TypePointer UniformConstant 61
65: 64(fvec3) ConstantComposite 21 22 37 63(g_tTexcdf4): 62(ptr) Variable UniformConstant
68: TypeImage 24(int) Cube sampled format:Unknown 66: TypeSampledImage 61
69: TypePointer UniformConstant 68 68: TypeVector 6(float) 3
70(g_tTexcdi4): 69(ptr) Variable UniformConstant 69: 68(fvec3) ConstantComposite 25 26 41
73: TypeSampledImage 68 72: TypeImage 28(int) Cube sampled format:Unknown
75: 64(fvec3) ConstantComposite 38 52 53 73: TypePointer UniformConstant 72
78: TypeImage 41(int) Cube sampled format:Unknown 74(g_tTexcdi4): 73(ptr) Variable UniformConstant
79: TypePointer UniformConstant 78 77: TypeSampledImage 72
80(g_tTexcdu4): 79(ptr) Variable UniformConstant 79: 68(fvec3) ConstantComposite 42 56 57
83: TypeSampledImage 78 82: TypeImage 45(int) Cube sampled format:Unknown
85: 6(float) Constant 1060320051 83: TypePointer UniformConstant 82
86: 6(float) Constant 1061997773 84(g_tTexcdu4): 83(ptr) Variable UniformConstant
87: 6(float) Constant 1063675494 87: TypeSampledImage 82
88: 64(fvec3) ConstantComposite 85 86 87 89: 6(float) Constant 1060320051
90(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 90: 6(float) Constant 1061997773
91: TypePointer Function 90(PS_OUTPUT) 91: 6(float) Constant 1063675494
93: 6(float) Constant 1065353216 92: 68(fvec3) ConstantComposite 89 90 91
94: 7(fvec4) ConstantComposite 93 93 93 93 94: TypePointer Function 8(PS_OUTPUT)
96: 24(int) Constant 1 96: 6(float) Constant 1065353216
97: TypePointer Function 6(float) 97: 7(fvec4) ConstantComposite 96 96 96 96
99: TypePointer Output 7(fvec4) 99: 28(int) Constant 1
100(Color): 99(ptr) Variable Output 100: TypePointer Function 6(float)
103: TypePointer Output 6(float) 107: TypePointer Output 7(fvec4)
104(Depth): 103(ptr) Variable Output 108(Color): 107(ptr) Variable Output
108(g_sSamp2d): 15(ptr) Variable UniformConstant 111: TypePointer Output 6(float)
109: TypeImage 6(float) 1D sampled format:Unknown 112(Depth): 111(ptr) Variable Output
110: TypePointer UniformConstant 109 115(g_sSamp2d): 19(ptr) Variable UniformConstant
111(g_tTex1df4a): 110(ptr) Variable UniformConstant 116: TypeImage 6(float) 1D sampled format:Unknown
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
117: TypePointer UniformConstant 116 117: TypePointer UniformConstant 116
118(g_tTex1du4): 117(ptr) Variable UniformConstant 118(g_tTex1df4a): 117(ptr) Variable UniformConstant
119: TypeImage 6(float) 3D sampled format:Unknown 119(g_tTex1df4): 117(ptr) Variable UniformConstant
120: TypePointer UniformConstant 119 120: TypeImage 28(int) 1D sampled format:Unknown
121(g_tTex3df4): 120(ptr) Variable UniformConstant 121: TypePointer UniformConstant 120
122: TypeImage 24(int) 3D sampled format:Unknown 122(g_tTex1di4): 121(ptr) Variable UniformConstant
123: TypePointer UniformConstant 122 123: TypeImage 45(int) 1D sampled format:Unknown
124(g_tTex3di4): 123(ptr) Variable UniformConstant 124: TypePointer UniformConstant 123
125: TypeImage 41(int) 3D sampled format:Unknown 125(g_tTex1du4): 124(ptr) Variable UniformConstant
126: TypePointer UniformConstant 125 126: TypeImage 6(float) 3D sampled format:Unknown
127(g_tTex3du4): 126(ptr) Variable UniformConstant 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 4(main): 2 Function None 3
5: Label 5: Label
9(txval20): 8(ptr) Variable Function 105(flattenTemp): 94(ptr) Variable Function
29(txval21): 28(ptr) Variable Function 106:8(PS_OUTPUT) FunctionCall 10(@main()
44(txval22): 43(ptr) Variable Function Store 105(flattenTemp) 106
56(txval40): 8(ptr) Variable Function 109: 12(ptr) AccessChain 105(flattenTemp) 29
67(txval41): 28(ptr) Variable Function 110: 7(fvec4) Load 109
77(txval42): 43(ptr) Variable Function Store 108(Color) 110
92(psout): 91(ptr) Variable Function 113: 100(ptr) AccessChain 105(flattenTemp) 99
13: 10 Load 12(g_tTex2df4) 114: 6(float) Load 113
17: 14 Load 16(g_sSamp) Store 112(Depth) 114
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
Return Return
FunctionEnd 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 hlsl.gather.basic.dx10.vert
Shader version: 450 Shader version: 450
0:? Sequence 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:28 Function Parameters:
0:? Sequence 0:? Sequence
0:33 Sequence 0:33 Sequence
@ -77,15 +77,18 @@ Shader version: 450
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:45 Sequence 0:45 Branch: Return with expression
0:45 Sequence 0:45 'vsout' (temp structure{temp 4-component vector of float Pos})
0:45 move second child to first child (temp 4-component vector of float) 0:28 Function Definition: main( (temp void)
0:? 'Pos' (out 4-component vector of float Position) 0:28 Function Parameters:
0:45 Pos: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:45 'vsout' (temp structure{temp 4-component vector of float Pos}) 0:28 Sequence
0:45 Constant: 0:28 move second child to first child (temp 4-component vector of float)
0:45 0 (const int) 0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:45 Branch: Return 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:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_sSamp2d' (uniform sampler)
@ -102,7 +105,7 @@ Shader version: 450
0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube) 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: Linked vertex stage:
@ -110,7 +113,7 @@ Linked vertex stage:
Shader version: 450 Shader version: 450
0:? Sequence 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:28 Function Parameters:
0:? Sequence 0:? Sequence
0:33 Sequence 0:33 Sequence
@ -186,15 +189,18 @@ Shader version: 450
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:45 Sequence 0:45 Branch: Return with expression
0:45 Sequence 0:45 'vsout' (temp structure{temp 4-component vector of float Pos})
0:45 move second child to first child (temp 4-component vector of float) 0:28 Function Definition: main( (temp void)
0:? 'Pos' (out 4-component vector of float Position) 0:28 Function Parameters:
0:45 Pos: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:45 'vsout' (temp structure{temp 4-component vector of float Pos}) 0:28 Sequence
0:45 Constant: 0:28 move second child to first child (temp 4-component vector of float)
0:45 0 (const int) 0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:45 Branch: Return 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:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_sSamp2d' (uniform sampler)
@ -211,195 +217,212 @@ Shader version: 450
0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 124 // Id's are bound by 135
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 97 123 EntryPoint Vertex 4 "main" 109 134
Name 4 "main" Name 4 "main"
Name 9 "txval20" Name 8 "VS_OUTPUT"
Name 12 "g_tTex2df4" MemberName 8(VS_OUTPUT) 0 "Pos"
Name 16 "g_sSamp" Name 10 "@main("
Name 29 "txval21" Name 13 "txval20"
Name 32 "g_tTex2di4" Name 16 "g_tTex2df4"
Name 44 "txval22" Name 20 "g_sSamp"
Name 47 "g_tTex2du4" Name 33 "txval21"
Name 56 "txval40" Name 36 "g_tTex2di4"
Name 59 "g_tTexcdf4" Name 48 "txval22"
Name 67 "txval41" Name 51 "g_tTex2du4"
Name 70 "g_tTexcdi4" Name 60 "txval40"
Name 77 "txval42" Name 63 "g_tTexcdf4"
Name 80 "g_tTexcdu4" Name 71 "txval41"
Name 90 "VS_OUTPUT" Name 74 "g_tTexcdi4"
MemberName 90(VS_OUTPUT) 0 "Pos" Name 81 "txval42"
Name 92 "vsout" Name 84 "g_tTexcdu4"
Name 97 "Pos" Name 94 "VS_OUTPUT"
Name 101 "g_sSamp2d" MemberName 94(VS_OUTPUT) 0 "Pos"
Name 104 "g_tTex1df4a" Name 96 "vsout"
Name 105 "g_tTex1df4" Name 109 "@entryPointOutput_Pos"
Name 108 "g_tTex1di4" Name 112 "g_sSamp2d"
Name 111 "g_tTex1du4" Name 115 "g_tTex1df4a"
Name 114 "g_tTex3df4" Name 116 "g_tTex1df4"
Name 117 "g_tTex3di4" Name 119 "g_tTex1di4"
Name 120 "g_tTex3du4" Name 122 "g_tTex1du4"
Name 121 "PerVertex_out" Name 125 "g_tTex3df4"
MemberName 121(PerVertex_out) 0 "Pos" Name 128 "g_tTex3di4"
Name 123 "PerVertex_out" Name 131 "g_tTex3du4"
Decorate 12(g_tTex2df4) DescriptorSet 0 Name 132 "PerVertex_out"
Decorate 16(g_sSamp) DescriptorSet 0 MemberName 132(PerVertex_out) 0 "@entryPointOutput_Pos"
Decorate 16(g_sSamp) Binding 0 Name 134 "PerVertex_out"
Decorate 32(g_tTex2di4) DescriptorSet 0 MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position
Decorate 47(g_tTex2du4) DescriptorSet 0 Decorate 16(g_tTex2df4) DescriptorSet 0
Decorate 59(g_tTexcdf4) DescriptorSet 0 Decorate 20(g_sSamp) DescriptorSet 0
Decorate 70(g_tTexcdi4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0
Decorate 80(g_tTexcdu4) DescriptorSet 0 Decorate 36(g_tTex2di4) DescriptorSet 0
Decorate 97(Pos) BuiltIn Position Decorate 51(g_tTex2du4) DescriptorSet 0
Decorate 101(g_sSamp2d) DescriptorSet 0 Decorate 63(g_tTexcdf4) DescriptorSet 0
Decorate 104(g_tTex1df4a) DescriptorSet 0 Decorate 74(g_tTexcdi4) DescriptorSet 0
Decorate 104(g_tTex1df4a) Binding 1 Decorate 84(g_tTexcdu4) DescriptorSet 0
Decorate 105(g_tTex1df4) DescriptorSet 0 Decorate 109(@entryPointOutput_Pos) BuiltIn Position
Decorate 105(g_tTex1df4) Binding 0 Decorate 112(g_sSamp2d) DescriptorSet 0
Decorate 108(g_tTex1di4) DescriptorSet 0 Decorate 115(g_tTex1df4a) DescriptorSet 0
Decorate 111(g_tTex1du4) DescriptorSet 0 Decorate 115(g_tTex1df4a) Binding 1
Decorate 114(g_tTex3df4) DescriptorSet 0 Decorate 116(g_tTex1df4) DescriptorSet 0
Decorate 117(g_tTex3di4) DescriptorSet 0 Decorate 116(g_tTex1df4) Binding 0
Decorate 120(g_tTex3du4) DescriptorSet 0 Decorate 119(g_tTex1di4) DescriptorSet 0
MemberDecorate 121(PerVertex_out) 0 BuiltIn Position Decorate 122(g_tTex1du4) DescriptorSet 0
Decorate 121(PerVertex_out) Block 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4) 8(VS_OUTPUT): TypeStruct 7(fvec4)
10: TypeImage 6(float) 2D sampled format:Unknown 9: TypeFunction 8(VS_OUTPUT)
11: TypePointer UniformConstant 10 12: TypePointer Function 7(fvec4)
12(g_tTex2df4): 11(ptr) Variable UniformConstant 14: TypeImage 6(float) 2D sampled format:Unknown
14: TypeSampler
15: TypePointer UniformConstant 14 15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant 16(g_tTex2df4): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10 18: TypeSampler
20: TypeVector 6(float) 2 19: TypePointer UniformConstant 18
21: 6(float) Constant 1036831949 20(g_sSamp): 19(ptr) Variable UniformConstant
22: 6(float) Constant 1045220557 22: TypeSampledImage 14
23: 20(fvec2) ConstantComposite 21 22 24: TypeVector 6(float) 2
24: TypeInt 32 1 25: 6(float) Constant 1036831949
25: 24(int) Constant 0 26: 6(float) Constant 1045220557
27: TypeVector 24(int) 4 27: 24(fvec2) ConstantComposite 25 26
28: TypePointer Function 27(ivec4) 28: TypeInt 32 1
30: TypeImage 24(int) 2D sampled format:Unknown 29: 28(int) Constant 0
31: TypePointer UniformConstant 30 31: TypeVector 28(int) 4
32(g_tTex2di4): 31(ptr) Variable UniformConstant 32: TypePointer Function 31(ivec4)
35: TypeSampledImage 30 34: TypeImage 28(int) 2D sampled format:Unknown
37: 6(float) Constant 1050253722 35: TypePointer UniformConstant 34
38: 6(float) Constant 1053609165 36(g_tTex2di4): 35(ptr) Variable UniformConstant
39: 20(fvec2) ConstantComposite 37 38 39: TypeSampledImage 34
41: TypeInt 32 0 41: 6(float) Constant 1050253722
42: TypeVector 41(int) 4 42: 6(float) Constant 1053609165
43: TypePointer Function 42(ivec4) 43: 24(fvec2) ConstantComposite 41 42
45: TypeImage 41(int) 2D sampled format:Unknown 45: TypeInt 32 0
46: TypePointer UniformConstant 45 46: TypeVector 45(int) 4
47(g_tTex2du4): 46(ptr) Variable UniformConstant 47: TypePointer Function 46(ivec4)
50: TypeSampledImage 45 49: TypeImage 45(int) 2D sampled format:Unknown
52: 6(float) Constant 1056964608 50: TypePointer UniformConstant 49
53: 6(float) Constant 1058642330 51(g_tTex2du4): 50(ptr) Variable UniformConstant
54: 20(fvec2) ConstantComposite 52 53 54: TypeSampledImage 49
57: TypeImage 6(float) Cube sampled format:Unknown 56: 6(float) Constant 1056964608
58: TypePointer UniformConstant 57 57: 6(float) Constant 1058642330
59(g_tTexcdf4): 58(ptr) Variable UniformConstant 58: 24(fvec2) ConstantComposite 56 57
62: TypeSampledImage 57 61: TypeImage 6(float) Cube sampled format:Unknown
64: TypeVector 6(float) 3 62: TypePointer UniformConstant 61
65: 64(fvec3) ConstantComposite 21 22 37 63(g_tTexcdf4): 62(ptr) Variable UniformConstant
68: TypeImage 24(int) Cube sampled format:Unknown 66: TypeSampledImage 61
69: TypePointer UniformConstant 68 68: TypeVector 6(float) 3
70(g_tTexcdi4): 69(ptr) Variable UniformConstant 69: 68(fvec3) ConstantComposite 25 26 41
73: TypeSampledImage 68 72: TypeImage 28(int) Cube sampled format:Unknown
75: 64(fvec3) ConstantComposite 38 52 53 73: TypePointer UniformConstant 72
78: TypeImage 41(int) Cube sampled format:Unknown 74(g_tTexcdi4): 73(ptr) Variable UniformConstant
79: TypePointer UniformConstant 78 77: TypeSampledImage 72
80(g_tTexcdu4): 79(ptr) Variable UniformConstant 79: 68(fvec3) ConstantComposite 42 56 57
83: TypeSampledImage 78 82: TypeImage 45(int) Cube sampled format:Unknown
85: 6(float) Constant 1060320051 83: TypePointer UniformConstant 82
86: 6(float) Constant 1061997773 84(g_tTexcdu4): 83(ptr) Variable UniformConstant
87: 6(float) Constant 1063675494 87: TypeSampledImage 82
88: 64(fvec3) ConstantComposite 85 86 87 89: 6(float) Constant 1060320051
90(VS_OUTPUT): TypeStruct 7(fvec4) 90: 6(float) Constant 1061997773
91: TypePointer Function 90(VS_OUTPUT) 91: 6(float) Constant 1063675494
93: 6(float) Constant 0 92: 68(fvec3) ConstantComposite 89 90 91
94: 7(fvec4) ConstantComposite 93 93 93 93 94(VS_OUTPUT): TypeStruct 7(fvec4)
96: TypePointer Output 7(fvec4) 95: TypePointer Function 94(VS_OUTPUT)
97(Pos): 96(ptr) Variable Output 97: 6(float) Constant 0
101(g_sSamp2d): 15(ptr) Variable UniformConstant 98: 7(fvec4) ConstantComposite 97 97 97 97
102: TypeImage 6(float) 1D sampled format:Unknown 101: TypePointer Function 8(VS_OUTPUT)
103: TypePointer UniformConstant 102 108: TypePointer Output 7(fvec4)
104(g_tTex1df4a): 103(ptr) Variable UniformConstant 109(@entryPointOutput_Pos): 108(ptr) Variable Output
105(g_tTex1df4): 103(ptr) Variable UniformConstant 112(g_sSamp2d): 19(ptr) Variable UniformConstant
106: TypeImage 24(int) 1D sampled format:Unknown 113: TypeImage 6(float) 1D sampled format:Unknown
107: TypePointer UniformConstant 106 114: TypePointer UniformConstant 113
108(g_tTex1di4): 107(ptr) Variable UniformConstant 115(g_tTex1df4a): 114(ptr) Variable UniformConstant
109: TypeImage 41(int) 1D sampled format:Unknown 116(g_tTex1df4): 114(ptr) Variable UniformConstant
110: TypePointer UniformConstant 109 117: TypeImage 28(int) 1D sampled format:Unknown
111(g_tTex1du4): 110(ptr) Variable UniformConstant 118: TypePointer UniformConstant 117
112: TypeImage 6(float) 3D sampled format:Unknown 119(g_tTex1di4): 118(ptr) Variable UniformConstant
113: TypePointer UniformConstant 112 120: TypeImage 45(int) 1D sampled format:Unknown
114(g_tTex3df4): 113(ptr) Variable UniformConstant 121: TypePointer UniformConstant 120
115: TypeImage 24(int) 3D sampled format:Unknown 122(g_tTex1du4): 121(ptr) Variable UniformConstant
116: TypePointer UniformConstant 115 123: TypeImage 6(float) 3D sampled format:Unknown
117(g_tTex3di4): 116(ptr) Variable UniformConstant 124: TypePointer UniformConstant 123
118: TypeImage 41(int) 3D sampled format:Unknown 125(g_tTex3df4): 124(ptr) Variable UniformConstant
119: TypePointer UniformConstant 118 126: TypeImage 28(int) 3D sampled format:Unknown
120(g_tTex3du4): 119(ptr) Variable UniformConstant 127: TypePointer UniformConstant 126
121(PerVertex_out): TypeStruct 7(fvec4) 128(g_tTex3di4): 127(ptr) Variable UniformConstant
122: TypePointer Output 121(PerVertex_out) 129: TypeImage 45(int) 3D sampled format:Unknown
123(PerVertex_out): 122(ptr) Variable Output 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 4(main): 2 Function None 3
5: Label 5: Label
9(txval20): 8(ptr) Variable Function 110:8(VS_OUTPUT) FunctionCall 10(@main()
29(txval21): 28(ptr) Variable Function 111: 7(fvec4) CompositeExtract 110 0
44(txval22): 43(ptr) Variable Function Store 109(@entryPointOutput_Pos) 111
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:28 Function Parameters:
0:? Sequence 0:? Sequence
0:33 Sequence 0:33 Sequence
@ -61,24 +61,28 @@ gl_FragCoord origin is upper left
0:41 1 (const int) 0:41 1 (const int)
0:41 Constant: 0:41 Constant:
0:41 1.000000 0:41 1.000000
0:43 Sequence 0:43 Branch: Return with expression
0:43 Sequence 0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 move second child to first child (temp 4-component vector of float) 0:28 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:28 Function Parameters:
0:43 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Sequence
0:43 Constant: 0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 0 (const int) 0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 move second child to first child (temp float) 0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:28 move second child to first child (temp 4-component vector of float)
0:43 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Color: direct index for structure (temp 4-component vector of float)
0:43 Constant: 0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 1 (const int) 0:28 Constant:
0:43 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) 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_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage: Linked fragment stage:
@ -101,7 +107,7 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:28 Function Parameters:
0:? Sequence 0:? Sequence
0:33 Sequence 0:33 Sequence
@ -160,24 +166,28 @@ gl_FragCoord origin is upper left
0:41 1 (const int) 0:41 1 (const int)
0:41 Constant: 0:41 Constant:
0:41 1.000000 0:41 1.000000
0:43 Sequence 0:43 Branch: Return with expression
0:43 Sequence 0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 move second child to first child (temp 4-component vector of float) 0:28 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:28 Function Parameters:
0:43 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Sequence
0:43 Constant: 0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 0 (const int) 0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 move second child to first child (temp float) 0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:28 move second child to first child (temp 4-component vector of float)
0:43 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Color: direct index for structure (temp 4-component vector of float)
0:43 Constant: 0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:43 1 (const int) 0:28 Constant:
0:43 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:? 'g_tTex1df4' (layout(binding=0 ) 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_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 107 // Id's are bound by 114
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 71 75 EntryPoint Fragment 4 "main" 79 83
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "txval20" Name 8 "PS_OUTPUT"
Name 12 "g_tTex2df4" MemberName 8(PS_OUTPUT) 0 "Color"
Name 16 "g_sSamp" MemberName 8(PS_OUTPUT) 1 "Depth"
Name 32 "txval21" Name 10 "@main("
Name 35 "g_tTex2di4" Name 13 "txval20"
Name 48 "txval22" Name 16 "g_tTex2df4"
Name 51 "g_tTex2du4" Name 20 "g_sSamp"
Name 62 "PS_OUTPUT" Name 36 "txval21"
MemberName 62(PS_OUTPUT) 0 "Color" Name 39 "g_tTex2di4"
MemberName 62(PS_OUTPUT) 1 "Depth" Name 52 "txval22"
Name 64 "psout" Name 55 "g_tTex2du4"
Name 71 "Color" Name 67 "psout"
Name 75 "Depth" Name 76 "flattenTemp"
Name 81 "g_tTex1df4a" Name 79 "Color"
Name 82 "g_tTex1df4" Name 83 "Depth"
Name 85 "g_tTex1di4" Name 88 "g_tTex1df4a"
Name 88 "g_tTex1du4" Name 89 "g_tTex1df4"
Name 91 "g_tTex3df4" Name 92 "g_tTex1di4"
Name 94 "g_tTex3di4" Name 95 "g_tTex1du4"
Name 97 "g_tTex3du4" Name 98 "g_tTex3df4"
Name 100 "g_tTexcdf4" Name 101 "g_tTex3di4"
Name 103 "g_tTexcdi4" Name 104 "g_tTex3du4"
Name 106 "g_tTexcdu4" Name 107 "g_tTexcdf4"
Decorate 12(g_tTex2df4) DescriptorSet 0 Name 110 "g_tTexcdi4"
Decorate 16(g_sSamp) DescriptorSet 0 Name 113 "g_tTexcdu4"
Decorate 16(g_sSamp) Binding 0 Decorate 16(g_tTex2df4) DescriptorSet 0
Decorate 35(g_tTex2di4) DescriptorSet 0 Decorate 20(g_sSamp) DescriptorSet 0
Decorate 51(g_tTex2du4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0
Decorate 71(Color) Location 0 Decorate 39(g_tTex2di4) DescriptorSet 0
Decorate 75(Depth) BuiltIn FragDepth Decorate 55(g_tTex2du4) DescriptorSet 0
Decorate 81(g_tTex1df4a) DescriptorSet 0 Decorate 79(Color) Location 0
Decorate 81(g_tTex1df4a) Binding 1 Decorate 83(Depth) BuiltIn FragDepth
Decorate 82(g_tTex1df4) DescriptorSet 0 Decorate 88(g_tTex1df4a) DescriptorSet 0
Decorate 82(g_tTex1df4) Binding 0 Decorate 88(g_tTex1df4a) Binding 1
Decorate 85(g_tTex1di4) DescriptorSet 0 Decorate 89(g_tTex1df4) DescriptorSet 0
Decorate 88(g_tTex1du4) DescriptorSet 0 Decorate 89(g_tTex1df4) Binding 0
Decorate 91(g_tTex3df4) DescriptorSet 0 Decorate 92(g_tTex1di4) DescriptorSet 0
Decorate 94(g_tTex3di4) DescriptorSet 0 Decorate 95(g_tTex1du4) DescriptorSet 0
Decorate 97(g_tTex3du4) DescriptorSet 0 Decorate 98(g_tTex3df4) DescriptorSet 0
Decorate 100(g_tTexcdf4) DescriptorSet 0 Decorate 101(g_tTex3di4) DescriptorSet 0
Decorate 103(g_tTexcdi4) DescriptorSet 0 Decorate 104(g_tTex3du4) DescriptorSet 0
Decorate 106(g_tTexcdu4) DescriptorSet 0 Decorate 107(g_tTexcdf4) DescriptorSet 0
Decorate 110(g_tTexcdi4) DescriptorSet 0
Decorate 113(g_tTexcdu4) DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4) 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
10: TypeImage 6(float) 2D sampled format:Unknown 9: TypeFunction 8(PS_OUTPUT)
11: TypePointer UniformConstant 10 12: TypePointer Function 7(fvec4)
12(g_tTex2df4): 11(ptr) Variable UniformConstant 14: TypeImage 6(float) 2D sampled format:Unknown
14: TypeSampler
15: TypePointer UniformConstant 14 15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant 16(g_tTex2df4): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10 18: TypeSampler
20: TypeVector 6(float) 2 19: TypePointer UniformConstant 18
21: 6(float) Constant 1036831949 20(g_sSamp): 19(ptr) Variable UniformConstant
22: 6(float) Constant 1045220557 22: TypeSampledImage 14
23: 20(fvec2) ConstantComposite 21 22 24: TypeVector 6(float) 2
24: TypeInt 32 1 25: 6(float) Constant 1036831949
25: TypeVector 24(int) 2 26: 6(float) Constant 1045220557
26: 24(int) Constant 1 27: 24(fvec2) ConstantComposite 25 26
27: 24(int) Constant 0 28: TypeInt 32 1
28: 25(ivec2) ConstantComposite 26 27 29: TypeVector 28(int) 2
30: TypeVector 24(int) 4 30: 28(int) Constant 1
31: TypePointer Function 30(ivec4) 31: 28(int) Constant 0
33: TypeImage 24(int) 2D sampled format:Unknown 32: 29(ivec2) ConstantComposite 30 31
34: TypePointer UniformConstant 33 34: TypeVector 28(int) 4
35(g_tTex2di4): 34(ptr) Variable UniformConstant 35: TypePointer Function 34(ivec4)
38: TypeSampledImage 33 37: TypeImage 28(int) 2D sampled format:Unknown
40: 6(float) Constant 1050253722 38: TypePointer UniformConstant 37
41: 6(float) Constant 1053609165 39(g_tTex2di4): 38(ptr) Variable UniformConstant
42: 20(fvec2) ConstantComposite 40 41 42: TypeSampledImage 37
43: 25(ivec2) ConstantComposite 26 26 44: 6(float) Constant 1050253722
45: TypeInt 32 0 45: 6(float) Constant 1053609165
46: TypeVector 45(int) 4 46: 24(fvec2) ConstantComposite 44 45
47: TypePointer Function 46(ivec4) 47: 29(ivec2) ConstantComposite 30 30
49: TypeImage 45(int) 2D sampled format:Unknown 49: TypeInt 32 0
50: TypePointer UniformConstant 49 50: TypeVector 49(int) 4
51(g_tTex2du4): 50(ptr) Variable UniformConstant 51: TypePointer Function 50(ivec4)
54: TypeSampledImage 49 53: TypeImage 49(int) 2D sampled format:Unknown
56: 6(float) Constant 1056964608 54: TypePointer UniformConstant 53
57: 6(float) Constant 1058642330 55(g_tTex2du4): 54(ptr) Variable UniformConstant
58: 20(fvec2) ConstantComposite 56 57 58: TypeSampledImage 53
59: 24(int) Constant 4294967295 60: 6(float) Constant 1056964608
60: 25(ivec2) ConstantComposite 26 59 61: 6(float) Constant 1058642330
62(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 62: 24(fvec2) ConstantComposite 60 61
63: TypePointer Function 62(PS_OUTPUT) 63: 28(int) Constant 4294967295
65: 6(float) Constant 1065353216 64: 29(ivec2) ConstantComposite 30 63
66: 7(fvec4) ConstantComposite 65 65 65 65 66: TypePointer Function 8(PS_OUTPUT)
68: TypePointer Function 6(float) 68: 6(float) Constant 1065353216
70: TypePointer Output 7(fvec4) 69: 7(fvec4) ConstantComposite 68 68 68 68
71(Color): 70(ptr) Variable Output 71: TypePointer Function 6(float)
74: TypePointer Output 6(float) 78: TypePointer Output 7(fvec4)
75(Depth): 74(ptr) Variable Output 79(Color): 78(ptr) Variable Output
79: TypeImage 6(float) 1D sampled format:Unknown 82: TypePointer Output 6(float)
80: TypePointer UniformConstant 79 83(Depth): 82(ptr) Variable Output
81(g_tTex1df4a): 80(ptr) Variable UniformConstant 86: TypeImage 6(float) 1D sampled format:Unknown
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
87: TypePointer UniformConstant 86 87: TypePointer UniformConstant 86
88(g_tTex1du4): 87(ptr) Variable UniformConstant 88(g_tTex1df4a): 87(ptr) Variable UniformConstant
89: TypeImage 6(float) 3D sampled format:Unknown 89(g_tTex1df4): 87(ptr) Variable UniformConstant
90: TypePointer UniformConstant 89 90: TypeImage 28(int) 1D sampled format:Unknown
91(g_tTex3df4): 90(ptr) Variable UniformConstant 91: TypePointer UniformConstant 90
92: TypeImage 24(int) 3D sampled format:Unknown 92(g_tTex1di4): 91(ptr) Variable UniformConstant
93: TypePointer UniformConstant 92 93: TypeImage 49(int) 1D sampled format:Unknown
94(g_tTex3di4): 93(ptr) Variable UniformConstant 94: TypePointer UniformConstant 93
95: TypeImage 45(int) 3D sampled format:Unknown 95(g_tTex1du4): 94(ptr) Variable UniformConstant
96: TypePointer UniformConstant 95 96: TypeImage 6(float) 3D sampled format:Unknown
97(g_tTex3du4): 96(ptr) Variable UniformConstant 97: TypePointer UniformConstant 96
98: TypeImage 6(float) Cube sampled format:Unknown 98(g_tTex3df4): 97(ptr) Variable UniformConstant
99: TypePointer UniformConstant 98 99: TypeImage 28(int) 3D sampled format:Unknown
100(g_tTexcdf4): 99(ptr) Variable UniformConstant 100: TypePointer UniformConstant 99
101: TypeImage 24(int) Cube sampled format:Unknown 101(g_tTex3di4): 100(ptr) Variable UniformConstant
102: TypePointer UniformConstant 101 102: TypeImage 49(int) 3D sampled format:Unknown
103(g_tTexcdi4): 102(ptr) Variable UniformConstant 103: TypePointer UniformConstant 102
104: TypeImage 45(int) Cube sampled format:Unknown 104(g_tTex3du4): 103(ptr) Variable UniformConstant
105: TypePointer UniformConstant 104 105: TypeImage 6(float) Cube sampled format:Unknown
106(g_tTexcdu4): 105(ptr) Variable UniformConstant 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 4(main): 2 Function None 3
5: Label 5: Label
9(txval20): 8(ptr) Variable Function 76(flattenTemp): 66(ptr) Variable Function
32(txval21): 31(ptr) Variable Function 77:8(PS_OUTPUT) FunctionCall 10(@main()
48(txval22): 47(ptr) Variable Function Store 76(flattenTemp) 77
64(psout): 63(ptr) Variable Function 80: 12(ptr) AccessChain 76(flattenTemp) 31
13: 10 Load 12(g_tTex2df4) 81: 7(fvec4) Load 80
17: 14 Load 16(g_sSamp) Store 79(Color) 81
19: 18 SampledImage 13 17 84: 71(ptr) AccessChain 76(flattenTemp) 30
29: 7(fvec4) ImageGather 19 23 27 ConstOffset 28 85: 6(float) Load 84
Store 9(txval20) 29 Store 83(Depth) 85
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:20 Function Parameters:
0:? Sequence 0:? Sequence
0:25 Sequence 0:25 Sequence
@ -64,24 +64,28 @@ gl_FragCoord origin is upper left
0:33 1 (const int) 0:33 1 (const int)
0:33 Constant: 0:33 Constant:
0:33 1.000000 0:33 1.000000
0:35 Sequence 0:35 Branch: Return with expression
0:35 Sequence 0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:35 move second child to first child (temp 4-component vector of float) 0:20 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:20 Function Parameters:
0:35 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:20 Sequence
0:35 Constant: 0:20 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:35 0 (const int) 0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:35 move second child to first child (temp float) 0:20 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:20 move second child to first child (temp 4-component vector of float)
0:35 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:20 Color: direct index for structure (temp 4-component vector of float)
0:35 Constant: 0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:35 1 (const int) 0:20 Constant:
0:35 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) 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_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage: Linked fragment stage:
@ -98,7 +104,7 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:20 Function Parameters:
0:? Sequence 0:? Sequence
0:25 Sequence 0:25 Sequence
@ -160,24 +166,28 @@ gl_FragCoord origin is upper left
0:33 1 (const int) 0:33 1 (const int)
0:33 Constant: 0:33 Constant:
0:33 1.000000 0:33 1.000000
0:35 Sequence 0:35 Branch: Return with expression
0:35 Sequence 0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:35 move second child to first child (temp 4-component vector of float) 0:20 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:20 Function Parameters:
0:35 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:20 Sequence
0:35 Constant: 0:20 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:35 0 (const int) 0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:35 move second child to first child (temp float) 0:20 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:20 move second child to first child (temp 4-component vector of float)
0:35 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:20 Color: direct index for structure (temp 4-component vector of float)
0:35 Constant: 0:20 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:35 1 (const int) 0:20 Constant:
0:35 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) 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_tTex2df4' (uniform texture2DArray)
0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray)
0:? 'g_tTex2du4' (uniform utexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 90 // Id's are bound by 97
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 72 76 EntryPoint Fragment 4 "main" 80 84
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "txval20" Name 8 "PS_OUTPUT"
Name 12 "g_tTex2df4" MemberName 8(PS_OUTPUT) 0 "Color"
Name 16 "g_sSamp" MemberName 8(PS_OUTPUT) 1 "Depth"
Name 33 "txval21" Name 10 "@main("
Name 36 "g_tTex2di4" Name 13 "txval20"
Name 48 "txval22" Name 16 "g_tTex2df4"
Name 51 "g_tTex2du4" Name 20 "g_sSamp"
Name 63 "PS_OUTPUT" Name 37 "txval21"
MemberName 63(PS_OUTPUT) 0 "Color" Name 40 "g_tTex2di4"
MemberName 63(PS_OUTPUT) 1 "Depth" Name 52 "txval22"
Name 65 "psout" Name 55 "g_tTex2du4"
Name 72 "Color" Name 68 "psout"
Name 76 "Depth" Name 77 "flattenTemp"
Name 82 "g_tTex1df4a" Name 80 "Color"
Name 83 "g_tTex1df4" Name 84 "Depth"
Name 86 "g_tTex1di4" Name 89 "g_tTex1df4a"
Name 89 "g_tTex1du4" Name 90 "g_tTex1df4"
Decorate 12(g_tTex2df4) DescriptorSet 0 Name 93 "g_tTex1di4"
Decorate 16(g_sSamp) DescriptorSet 0 Name 96 "g_tTex1du4"
Decorate 16(g_sSamp) Binding 0 Decorate 16(g_tTex2df4) DescriptorSet 0
Decorate 36(g_tTex2di4) DescriptorSet 0 Decorate 20(g_sSamp) DescriptorSet 0
Decorate 51(g_tTex2du4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0
Decorate 72(Color) Location 0 Decorate 40(g_tTex2di4) DescriptorSet 0
Decorate 76(Depth) BuiltIn FragDepth Decorate 55(g_tTex2du4) DescriptorSet 0
Decorate 82(g_tTex1df4a) DescriptorSet 0 Decorate 80(Color) Location 0
Decorate 82(g_tTex1df4a) Binding 1 Decorate 84(Depth) BuiltIn FragDepth
Decorate 83(g_tTex1df4) DescriptorSet 0 Decorate 89(g_tTex1df4a) DescriptorSet 0
Decorate 83(g_tTex1df4) Binding 0 Decorate 89(g_tTex1df4a) Binding 1
Decorate 86(g_tTex1di4) DescriptorSet 0 Decorate 90(g_tTex1df4) DescriptorSet 0
Decorate 89(g_tTex1du4) DescriptorSet 0 Decorate 90(g_tTex1df4) Binding 0
Decorate 93(g_tTex1di4) DescriptorSet 0
Decorate 96(g_tTex1du4) DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4) 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
10: TypeImage 6(float) 2D array sampled format:Unknown 9: TypeFunction 8(PS_OUTPUT)
11: TypePointer UniformConstant 10 12: TypePointer Function 7(fvec4)
12(g_tTex2df4): 11(ptr) Variable UniformConstant 14: TypeImage 6(float) 2D array sampled format:Unknown
14: TypeSampler
15: TypePointer UniformConstant 14 15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant 16(g_tTex2df4): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10 18: TypeSampler
20: TypeVector 6(float) 3 19: TypePointer UniformConstant 18
21: 6(float) Constant 1036831949 20(g_sSamp): 19(ptr) Variable UniformConstant
22: 6(float) Constant 1045220557 22: TypeSampledImage 14
23: 6(float) Constant 1050253722 24: TypeVector 6(float) 3
24: 20(fvec3) ConstantComposite 21 22 23 25: 6(float) Constant 1036831949
25: TypeInt 32 1 26: 6(float) Constant 1045220557
26: TypeVector 25(int) 2 27: 6(float) Constant 1050253722
27: 25(int) Constant 1 28: 24(fvec3) ConstantComposite 25 26 27
28: 25(int) Constant 0 29: TypeInt 32 1
29: 26(ivec2) ConstantComposite 27 28 30: TypeVector 29(int) 2
31: TypeVector 25(int) 4 31: 29(int) Constant 1
32: TypePointer Function 31(ivec4) 32: 29(int) Constant 0
34: TypeImage 25(int) 2D array sampled format:Unknown 33: 30(ivec2) ConstantComposite 31 32
35: TypePointer UniformConstant 34 35: TypeVector 29(int) 4
36(g_tTex2di4): 35(ptr) Variable UniformConstant 36: TypePointer Function 35(ivec4)
39: TypeSampledImage 34 38: TypeImage 29(int) 2D array sampled format:Unknown
41: 6(float) Constant 1053609165 39: TypePointer UniformConstant 38
42: 20(fvec3) ConstantComposite 23 41 41 40(g_tTex2di4): 39(ptr) Variable UniformConstant
43: 26(ivec2) ConstantComposite 27 27 43: TypeSampledImage 38
45: TypeInt 32 0 45: 6(float) Constant 1053609165
46: TypeVector 45(int) 4 46: 24(fvec3) ConstantComposite 27 45 45
47: TypePointer Function 46(ivec4) 47: 30(ivec2) ConstantComposite 31 31
49: TypeImage 45(int) 2D array sampled format:Unknown 49: TypeInt 32 0
50: TypePointer UniformConstant 49 50: TypeVector 49(int) 4
51(g_tTex2du4): 50(ptr) Variable UniformConstant 51: TypePointer Function 50(ivec4)
54: TypeSampledImage 49 53: TypeImage 49(int) 2D array sampled format:Unknown
56: 6(float) Constant 1056964608 54: TypePointer UniformConstant 53
57: 6(float) Constant 1058642330 55(g_tTex2du4): 54(ptr) Variable UniformConstant
58: 6(float) Constant 1060320051 58: TypeSampledImage 53
59: 20(fvec3) ConstantComposite 56 57 58 60: 6(float) Constant 1056964608
60: 25(int) Constant 4294967295 61: 6(float) Constant 1058642330
61: 26(ivec2) ConstantComposite 27 60 62: 6(float) Constant 1060320051
63(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 63: 24(fvec3) ConstantComposite 60 61 62
64: TypePointer Function 63(PS_OUTPUT) 64: 29(int) Constant 4294967295
66: 6(float) Constant 1065353216 65: 30(ivec2) ConstantComposite 31 64
67: 7(fvec4) ConstantComposite 66 66 66 66 67: TypePointer Function 8(PS_OUTPUT)
69: TypePointer Function 6(float) 69: 6(float) Constant 1065353216
71: TypePointer Output 7(fvec4) 70: 7(fvec4) ConstantComposite 69 69 69 69
72(Color): 71(ptr) Variable Output 72: TypePointer Function 6(float)
75: TypePointer Output 6(float) 79: TypePointer Output 7(fvec4)
76(Depth): 75(ptr) Variable Output 80(Color): 79(ptr) Variable Output
80: TypeImage 6(float) 1D array sampled format:Unknown 83: TypePointer Output 6(float)
81: TypePointer UniformConstant 80 84(Depth): 83(ptr) Variable Output
82(g_tTex1df4a): 81(ptr) Variable UniformConstant 87: TypeImage 6(float) 1D array sampled format:Unknown
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
88: TypePointer UniformConstant 87 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 4(main): 2 Function None 3
5: Label 5: Label
9(txval20): 8(ptr) Variable Function 77(flattenTemp): 67(ptr) Variable Function
33(txval21): 32(ptr) Variable Function 78:8(PS_OUTPUT) FunctionCall 10(@main()
48(txval22): 47(ptr) Variable Function Store 77(flattenTemp) 78
65(psout): 64(ptr) Variable Function 81: 12(ptr) AccessChain 77(flattenTemp) 32
13: 10 Load 12(g_tTex2df4) 82: 7(fvec4) Load 81
17: 14 Load 16(g_sSamp) Store 80(Color) 82
19: 18 SampledImage 13 17 85: 72(ptr) AccessChain 77(flattenTemp) 31
30: 7(fvec4) ImageGather 19 24 28 ConstOffset 29 86: 6(float) Load 85
Store 9(txval20) 30 Store 84(Depth) 86
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:28 Function Parameters:
0:? Sequence 0:? Sequence
0:33 Sequence 0:33 Sequence
@ -334,24 +334,28 @@ gl_FragCoord origin is upper left
0:68 1 (const int) 0:68 1 (const int)
0:68 Constant: 0:68 Constant:
0:68 1.000000 0:68 1.000000
0:70 Sequence 0:70 Branch: Return with expression
0:70 Sequence 0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 move second child to first child (temp 4-component vector of float) 0:28 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:28 Function Parameters:
0:70 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Sequence
0:70 Constant: 0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 0 (const int) 0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 move second child to first child (temp float) 0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:28 move second child to first child (temp 4-component vector of float)
0:70 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Color: direct index for structure (temp 4-component vector of float)
0:70 Constant: 0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 1 (const int) 0:28 Constant:
0:70 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray) 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_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:28 Function Parameters:
0:? Sequence 0:? Sequence
0:33 Sequence 0:33 Sequence
@ -704,24 +710,28 @@ gl_FragCoord origin is upper left
0:68 1 (const int) 0:68 1 (const int)
0:68 Constant: 0:68 Constant:
0:68 1.000000 0:68 1.000000
0:70 Sequence 0:70 Branch: Return with expression
0:70 Sequence 0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 move second child to first child (temp 4-component vector of float) 0:28 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:28 Function Parameters:
0:70 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Sequence
0:70 Constant: 0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 0 (const int) 0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 move second child to first child (temp float) 0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:28 move second child to first child (temp 4-component vector of float)
0:70 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Color: direct index for structure (temp 4-component vector of float)
0:70 Constant: 0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 1 (const int) 0:28 Constant:
0:70 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray) 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_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 248 // Id's are bound by 255
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
Capability SampledCubeArray Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 230 234 EntryPoint Fragment 4 "main" 238 242
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "txval00" Name 8 "PS_OUTPUT"
Name 12 "g_tTex2df4a" MemberName 8(PS_OUTPUT) 0 "Color"
Name 16 "g_sSamp" MemberName 8(PS_OUTPUT) 1 "Depth"
Name 22 "$Global" Name 10 "@main("
MemberName 22($Global) 0 "c1" Name 13 "txval00"
MemberName 22($Global) 1 "c2" Name 16 "g_tTex2df4a"
MemberName 22($Global) 2 "c3" Name 20 "g_sSamp"
MemberName 22($Global) 3 "c4" Name 26 "$Global"
Name 24 "" MemberName 26($Global) 0 "c1"
Name 34 "txval01" MemberName 26($Global) 1 "c2"
Name 37 "g_tTex2di4a" MemberName 26($Global) 2 "c3"
Name 48 "txval02" MemberName 26($Global) 3 "c4"
Name 51 "g_tTex2du4a" Name 28 ""
Name 59 "txval10" Name 38 "txval01"
Name 67 "txval11" Name 41 "g_tTex2di4a"
Name 74 "txval12" Name 52 "txval02"
Name 81 "txval20" Name 55 "g_tTex2du4a"
Name 88 "txval21" Name 63 "txval10"
Name 95 "txval22" Name 71 "txval11"
Name 102 "txval30" Name 78 "txval12"
Name 110 "txval31" Name 85 "txval20"
Name 117 "txval32" Name 92 "txval21"
Name 124 "txval40" Name 99 "txval22"
Name 127 "g_tTexcdf4a" Name 106 "txval30"
Name 136 "txval41" Name 114 "txval31"
Name 139 "g_tTexcdi4a" Name 121 "txval32"
Name 147 "txval42" Name 128 "txval40"
Name 150 "g_tTexcdu4a" Name 131 "g_tTexcdf4a"
Name 158 "txval50" Name 140 "txval41"
Name 165 "txval51" Name 143 "g_tTexcdi4a"
Name 172 "txval52" Name 151 "txval42"
Name 179 "txval60" Name 154 "g_tTexcdu4a"
Name 186 "txval61" Name 162 "txval50"
Name 193 "txval62" Name 169 "txval51"
Name 200 "txval70" Name 176 "txval52"
Name 207 "txval71" Name 183 "txval60"
Name 214 "txval72" Name 190 "txval61"
Name 221 "PS_OUTPUT" Name 197 "txval62"
MemberName 221(PS_OUTPUT) 0 "Color" Name 204 "txval70"
MemberName 221(PS_OUTPUT) 1 "Depth" Name 211 "txval71"
Name 223 "psout" Name 218 "txval72"
Name 230 "Color" Name 226 "psout"
Name 234 "Depth" Name 235 "flattenTemp"
Name 238 "g_sSamp2d" Name 238 "Color"
Name 241 "g_tTex1df4a" Name 242 "Depth"
Name 244 "g_tTex1di4a" Name 245 "g_sSamp2d"
Name 247 "g_tTex1du4a" Name 248 "g_tTex1df4a"
Decorate 12(g_tTex2df4a) DescriptorSet 0 Name 251 "g_tTex1di4a"
Decorate 16(g_sSamp) DescriptorSet 0 Name 254 "g_tTex1du4a"
Decorate 16(g_sSamp) Binding 0 Decorate 16(g_tTex2df4a) DescriptorSet 0
MemberDecorate 22($Global) 0 Offset 0 Decorate 20(g_sSamp) DescriptorSet 0
MemberDecorate 22($Global) 1 Offset 8 Decorate 20(g_sSamp) Binding 0
MemberDecorate 22($Global) 2 Offset 16 MemberDecorate 26($Global) 0 Offset 0
MemberDecorate 22($Global) 3 Offset 32 MemberDecorate 26($Global) 1 Offset 8
Decorate 22($Global) Block MemberDecorate 26($Global) 2 Offset 16
Decorate 24 DescriptorSet 0 MemberDecorate 26($Global) 3 Offset 32
Decorate 37(g_tTex2di4a) DescriptorSet 0 Decorate 26($Global) Block
Decorate 51(g_tTex2du4a) DescriptorSet 0 Decorate 28 DescriptorSet 0
Decorate 127(g_tTexcdf4a) DescriptorSet 0 Decorate 41(g_tTex2di4a) DescriptorSet 0
Decorate 139(g_tTexcdi4a) DescriptorSet 0 Decorate 55(g_tTex2du4a) DescriptorSet 0
Decorate 150(g_tTexcdu4a) DescriptorSet 0 Decorate 131(g_tTexcdf4a) DescriptorSet 0
Decorate 230(Color) Location 0 Decorate 143(g_tTexcdi4a) DescriptorSet 0
Decorate 234(Depth) BuiltIn FragDepth Decorate 154(g_tTexcdu4a) DescriptorSet 0
Decorate 238(g_sSamp2d) DescriptorSet 0 Decorate 238(Color) Location 0
Decorate 241(g_tTex1df4a) DescriptorSet 0 Decorate 242(Depth) BuiltIn FragDepth
Decorate 241(g_tTex1df4a) Binding 0 Decorate 245(g_sSamp2d) DescriptorSet 0
Decorate 244(g_tTex1di4a) DescriptorSet 0 Decorate 248(g_tTex1df4a) DescriptorSet 0
Decorate 247(g_tTex1du4a) DescriptorSet 0 Decorate 248(g_tTex1df4a) Binding 0
Decorate 251(g_tTex1di4a) DescriptorSet 0
Decorate 254(g_tTex1du4a) DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4) 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
10: TypeImage 6(float) 2D array sampled format:Unknown 9: TypeFunction 8(PS_OUTPUT)
11: TypePointer UniformConstant 10 12: TypePointer Function 7(fvec4)
12(g_tTex2df4a): 11(ptr) Variable UniformConstant 14: TypeImage 6(float) 2D array sampled format:Unknown
14: TypeSampler
15: TypePointer UniformConstant 14 15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant 16(g_tTex2df4a): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10 18: TypeSampler
20: TypeVector 6(float) 2 19: TypePointer UniformConstant 18
21: TypeVector 6(float) 3 20(g_sSamp): 19(ptr) Variable UniformConstant
22($Global): TypeStruct 6(float) 20(fvec2) 21(fvec3) 7(fvec4) 22: TypeSampledImage 14
23: TypePointer Uniform 22($Global) 24: TypeVector 6(float) 2
24: 23(ptr) Variable Uniform 25: TypeVector 6(float) 3
25: TypeInt 32 1 26($Global): TypeStruct 6(float) 24(fvec2) 25(fvec3) 7(fvec4)
26: 25(int) Constant 2 27: TypePointer Uniform 26($Global)
27: TypePointer Uniform 21(fvec3) 28: 27(ptr) Variable Uniform
30: 25(int) Constant 0 29: TypeInt 32 1
32: TypeVector 25(int) 4 30: 29(int) Constant 2
33: TypePointer Function 32(ivec4) 31: TypePointer Uniform 25(fvec3)
35: TypeImage 25(int) 2D array sampled format:Unknown 34: 29(int) Constant 0
36: TypePointer UniformConstant 35 36: TypeVector 29(int) 4
37(g_tTex2di4a): 36(ptr) Variable UniformConstant 37: TypePointer Function 36(ivec4)
40: TypeSampledImage 35 39: TypeImage 29(int) 2D array sampled format:Unknown
45: TypeInt 32 0 40: TypePointer UniformConstant 39
46: TypeVector 45(int) 4 41(g_tTex2di4a): 40(ptr) Variable UniformConstant
47: TypePointer Function 46(ivec4) 44: TypeSampledImage 39
49: TypeImage 45(int) 2D array sampled format:Unknown 49: TypeInt 32 0
50: TypePointer UniformConstant 49 50: TypeVector 49(int) 4
51(g_tTex2du4a): 50(ptr) Variable UniformConstant 51: TypePointer Function 50(ivec4)
54: TypeSampledImage 49 53: TypeImage 49(int) 2D array sampled format:Unknown
65: 25(int) Constant 1 54: TypePointer UniformConstant 53
108: 25(int) Constant 3 55(g_tTex2du4a): 54(ptr) Variable UniformConstant
125: TypeImage 6(float) Cube array sampled format:Unknown 58: TypeSampledImage 53
126: TypePointer UniformConstant 125 69: 29(int) Constant 1
127(g_tTexcdf4a): 126(ptr) Variable UniformConstant 112: 29(int) Constant 3
130: TypeSampledImage 125 129: TypeImage 6(float) Cube array sampled format:Unknown
132: TypePointer Uniform 7(fvec4) 130: TypePointer UniformConstant 129
137: TypeImage 25(int) Cube array sampled format:Unknown 131(g_tTexcdf4a): 130(ptr) Variable UniformConstant
138: TypePointer UniformConstant 137 134: TypeSampledImage 129
139(g_tTexcdi4a): 138(ptr) Variable UniformConstant 136: TypePointer Uniform 7(fvec4)
142: TypeSampledImage 137 141: TypeImage 29(int) Cube array sampled format:Unknown
148: TypeImage 45(int) Cube array sampled format:Unknown 142: TypePointer UniformConstant 141
149: TypePointer UniformConstant 148 143(g_tTexcdi4a): 142(ptr) Variable UniformConstant
150(g_tTexcdu4a): 149(ptr) Variable UniformConstant 146: TypeSampledImage 141
153: TypeSampledImage 148 152: TypeImage 49(int) Cube array sampled format:Unknown
221(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 153: TypePointer UniformConstant 152
222: TypePointer Function 221(PS_OUTPUT) 154(g_tTexcdu4a): 153(ptr) Variable UniformConstant
224: 6(float) Constant 1065353216 157: TypeSampledImage 152
225: 7(fvec4) ConstantComposite 224 224 224 224 225: TypePointer Function 8(PS_OUTPUT)
227: TypePointer Function 6(float) 227: 6(float) Constant 1065353216
229: TypePointer Output 7(fvec4) 228: 7(fvec4) ConstantComposite 227 227 227 227
230(Color): 229(ptr) Variable Output 230: TypePointer Function 6(float)
233: TypePointer Output 6(float) 237: TypePointer Output 7(fvec4)
234(Depth): 233(ptr) Variable Output 238(Color): 237(ptr) Variable Output
238(g_sSamp2d): 15(ptr) Variable UniformConstant 241: TypePointer Output 6(float)
239: TypeImage 6(float) 1D array sampled format:Unknown 242(Depth): 241(ptr) Variable Output
240: TypePointer UniformConstant 239 245(g_sSamp2d): 19(ptr) Variable UniformConstant
241(g_tTex1df4a): 240(ptr) Variable UniformConstant 246: TypeImage 6(float) 1D array sampled format:Unknown
242: TypeImage 25(int) 1D array sampled format:Unknown 247: TypePointer UniformConstant 246
243: TypePointer UniformConstant 242 248(g_tTex1df4a): 247(ptr) Variable UniformConstant
244(g_tTex1di4a): 243(ptr) Variable UniformConstant 249: TypeImage 29(int) 1D array sampled format:Unknown
245: TypeImage 45(int) 1D array sampled format:Unknown 250: TypePointer UniformConstant 249
246: TypePointer UniformConstant 245 251(g_tTex1di4a): 250(ptr) Variable UniformConstant
247(g_tTex1du4a): 246(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 4(main): 2 Function None 3
5: Label 5: Label
9(txval00): 8(ptr) Variable Function 235(flattenTemp): 225(ptr) Variable Function
34(txval01): 33(ptr) Variable Function 236:8(PS_OUTPUT) FunctionCall 10(@main()
48(txval02): 47(ptr) Variable Function Store 235(flattenTemp) 236
59(txval10): 8(ptr) Variable Function 239: 12(ptr) AccessChain 235(flattenTemp) 34
67(txval11): 33(ptr) Variable Function 240: 7(fvec4) Load 239
74(txval12): 47(ptr) Variable Function Store 238(Color) 240
81(txval20): 8(ptr) Variable Function 243: 230(ptr) AccessChain 235(flattenTemp) 69
88(txval21): 33(ptr) Variable Function 244: 6(float) Load 243
95(txval22): 47(ptr) Variable Function Store 242(Depth) 244
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:34 Function Parameters:
0:? Sequence 0:? Sequence
0:39 Sequence 0:39 Sequence
@ -334,24 +334,28 @@ gl_FragCoord origin is upper left
0:74 1 (const int) 0:74 1 (const int)
0:74 Constant: 0:74 Constant:
0:74 1.000000 0:74 1.000000
0:76 Sequence 0:76 Branch: Return with expression
0:76 Sequence 0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76 move second child to first child (temp 4-component vector of float) 0:34 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:34 Function Parameters:
0:76 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:34 Sequence
0:76 Constant: 0:34 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76 0 (const int) 0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76 move second child to first child (temp float) 0:34 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:34 move second child to first child (temp 4-component vector of float)
0:76 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:34 Color: direct index for structure (temp 4-component vector of float)
0:76 Constant: 0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76 1 (const int) 0:34 Constant:
0:76 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 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_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:34 Function Parameters:
0:? Sequence 0:? Sequence
0:39 Sequence 0:39 Sequence
@ -708,24 +714,28 @@ gl_FragCoord origin is upper left
0:74 1 (const int) 0:74 1 (const int)
0:74 Constant: 0:74 Constant:
0:74 1.000000 0:74 1.000000
0:76 Sequence 0:76 Branch: Return with expression
0:76 Sequence 0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76 move second child to first child (temp 4-component vector of float) 0:34 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:34 Function Parameters:
0:76 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:34 Sequence
0:76 Constant: 0:34 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76 0 (const int) 0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76 move second child to first child (temp float) 0:34 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:34 move second child to first child (temp 4-component vector of float)
0:76 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:34 Color: direct index for structure (temp 4-component vector of float)
0:76 Constant: 0:34 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76 1 (const int) 0:34 Constant:
0:76 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_sSamp2d' (uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 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_tTexcdf4' (uniform textureCube)
0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdi4' (uniform itextureCube)
0:? 'g_tTexcdu4' (uniform utextureCube) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 258 // Id's are bound by 265
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 230 234 EntryPoint Fragment 4 "main" 238 242
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "txval00" Name 8 "PS_OUTPUT"
Name 12 "g_tTex2df4" MemberName 8(PS_OUTPUT) 0 "Color"
Name 16 "g_sSamp" MemberName 8(PS_OUTPUT) 1 "Depth"
Name 22 "$Global" Name 10 "@main("
MemberName 22($Global) 0 "c1" Name 13 "txval00"
MemberName 22($Global) 1 "c2" Name 16 "g_tTex2df4"
MemberName 22($Global) 2 "c3" Name 20 "g_sSamp"
MemberName 22($Global) 3 "c4" Name 26 "$Global"
Name 24 "" MemberName 26($Global) 0 "c1"
Name 34 "txval01" MemberName 26($Global) 1 "c2"
Name 37 "g_tTex2di4" MemberName 26($Global) 2 "c3"
Name 48 "txval02" MemberName 26($Global) 3 "c4"
Name 51 "g_tTex2du4" Name 28 ""
Name 59 "txval10" Name 38 "txval01"
Name 66 "txval11" Name 41 "g_tTex2di4"
Name 73 "txval12" Name 52 "txval02"
Name 80 "txval20" Name 55 "g_tTex2du4"
Name 88 "txval21" Name 63 "txval10"
Name 95 "txval22" Name 70 "txval11"
Name 102 "txval30" Name 77 "txval12"
Name 110 "txval31" Name 84 "txval20"
Name 117 "txval32" Name 92 "txval21"
Name 124 "txval40" Name 99 "txval22"
Name 127 "g_tTexcdf4" Name 106 "txval30"
Name 136 "txval41" Name 114 "txval31"
Name 139 "g_tTexcdi4" Name 121 "txval32"
Name 147 "txval42" Name 128 "txval40"
Name 150 "g_tTexcdu4" Name 131 "g_tTexcdf4"
Name 158 "txval50" Name 140 "txval41"
Name 165 "txval51" Name 143 "g_tTexcdi4"
Name 172 "txval52" Name 151 "txval42"
Name 179 "txval60" Name 154 "g_tTexcdu4"
Name 186 "txval61" Name 162 "txval50"
Name 193 "txval62" Name 169 "txval51"
Name 200 "txval70" Name 176 "txval52"
Name 207 "txval71" Name 183 "txval60"
Name 214 "txval72" Name 190 "txval61"
Name 221 "PS_OUTPUT" Name 197 "txval62"
MemberName 221(PS_OUTPUT) 0 "Color" Name 204 "txval70"
MemberName 221(PS_OUTPUT) 1 "Depth" Name 211 "txval71"
Name 223 "psout" Name 218 "txval72"
Name 230 "Color" Name 226 "psout"
Name 234 "Depth" Name 235 "flattenTemp"
Name 238 "g_sSamp2d" Name 238 "Color"
Name 241 "g_tTex1df4a" Name 242 "Depth"
Name 242 "g_tTex1df4" Name 245 "g_sSamp2d"
Name 245 "g_tTex1di4" Name 248 "g_tTex1df4a"
Name 248 "g_tTex1du4" Name 249 "g_tTex1df4"
Name 251 "g_tTex3df4" Name 252 "g_tTex1di4"
Name 254 "g_tTex3di4" Name 255 "g_tTex1du4"
Name 257 "g_tTex3du4" Name 258 "g_tTex3df4"
Decorate 12(g_tTex2df4) DescriptorSet 0 Name 261 "g_tTex3di4"
Decorate 16(g_sSamp) DescriptorSet 0 Name 264 "g_tTex3du4"
Decorate 16(g_sSamp) Binding 0 Decorate 16(g_tTex2df4) DescriptorSet 0
MemberDecorate 22($Global) 0 Offset 0 Decorate 20(g_sSamp) DescriptorSet 0
MemberDecorate 22($Global) 1 Offset 8 Decorate 20(g_sSamp) Binding 0
MemberDecorate 22($Global) 2 Offset 16 MemberDecorate 26($Global) 0 Offset 0
MemberDecorate 22($Global) 3 Offset 32 MemberDecorate 26($Global) 1 Offset 8
Decorate 22($Global) Block MemberDecorate 26($Global) 2 Offset 16
Decorate 24 DescriptorSet 0 MemberDecorate 26($Global) 3 Offset 32
Decorate 37(g_tTex2di4) DescriptorSet 0 Decorate 26($Global) Block
Decorate 51(g_tTex2du4) DescriptorSet 0 Decorate 28 DescriptorSet 0
Decorate 127(g_tTexcdf4) DescriptorSet 0 Decorate 41(g_tTex2di4) DescriptorSet 0
Decorate 139(g_tTexcdi4) DescriptorSet 0 Decorate 55(g_tTex2du4) DescriptorSet 0
Decorate 150(g_tTexcdu4) DescriptorSet 0 Decorate 131(g_tTexcdf4) DescriptorSet 0
Decorate 230(Color) Location 0 Decorate 143(g_tTexcdi4) DescriptorSet 0
Decorate 234(Depth) BuiltIn FragDepth Decorate 154(g_tTexcdu4) DescriptorSet 0
Decorate 238(g_sSamp2d) DescriptorSet 0 Decorate 238(Color) Location 0
Decorate 241(g_tTex1df4a) DescriptorSet 0 Decorate 242(Depth) BuiltIn FragDepth
Decorate 241(g_tTex1df4a) Binding 1 Decorate 245(g_sSamp2d) DescriptorSet 0
Decorate 242(g_tTex1df4) DescriptorSet 0 Decorate 248(g_tTex1df4a) DescriptorSet 0
Decorate 242(g_tTex1df4) Binding 0 Decorate 248(g_tTex1df4a) Binding 1
Decorate 245(g_tTex1di4) DescriptorSet 0 Decorate 249(g_tTex1df4) DescriptorSet 0
Decorate 248(g_tTex1du4) DescriptorSet 0 Decorate 249(g_tTex1df4) Binding 0
Decorate 251(g_tTex3df4) DescriptorSet 0 Decorate 252(g_tTex1di4) DescriptorSet 0
Decorate 254(g_tTex3di4) DescriptorSet 0 Decorate 255(g_tTex1du4) DescriptorSet 0
Decorate 257(g_tTex3du4) DescriptorSet 0 Decorate 258(g_tTex3df4) DescriptorSet 0
Decorate 261(g_tTex3di4) DescriptorSet 0
Decorate 264(g_tTex3du4) DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4) 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
10: TypeImage 6(float) 2D sampled format:Unknown 9: TypeFunction 8(PS_OUTPUT)
11: TypePointer UniformConstant 10 12: TypePointer Function 7(fvec4)
12(g_tTex2df4): 11(ptr) Variable UniformConstant 14: TypeImage 6(float) 2D sampled format:Unknown
14: TypeSampler
15: TypePointer UniformConstant 14 15: TypePointer UniformConstant 14
16(g_sSamp): 15(ptr) Variable UniformConstant 16(g_tTex2df4): 15(ptr) Variable UniformConstant
18: TypeSampledImage 10 18: TypeSampler
20: TypeVector 6(float) 2 19: TypePointer UniformConstant 18
21: TypeVector 6(float) 3 20(g_sSamp): 19(ptr) Variable UniformConstant
22($Global): TypeStruct 6(float) 20(fvec2) 21(fvec3) 7(fvec4) 22: TypeSampledImage 14
23: TypePointer Uniform 22($Global) 24: TypeVector 6(float) 2
24: 23(ptr) Variable Uniform 25: TypeVector 6(float) 3
25: TypeInt 32 1 26($Global): TypeStruct 6(float) 24(fvec2) 25(fvec3) 7(fvec4)
26: 25(int) Constant 1 27: TypePointer Uniform 26($Global)
27: TypePointer Uniform 20(fvec2) 28: 27(ptr) Variable Uniform
30: 25(int) Constant 0 29: TypeInt 32 1
32: TypeVector 25(int) 4 30: 29(int) Constant 1
33: TypePointer Function 32(ivec4) 31: TypePointer Uniform 24(fvec2)
35: TypeImage 25(int) 2D sampled format:Unknown 34: 29(int) Constant 0
36: TypePointer UniformConstant 35 36: TypeVector 29(int) 4
37(g_tTex2di4): 36(ptr) Variable UniformConstant 37: TypePointer Function 36(ivec4)
40: TypeSampledImage 35 39: TypeImage 29(int) 2D sampled format:Unknown
45: TypeInt 32 0 40: TypePointer UniformConstant 39
46: TypeVector 45(int) 4 41(g_tTex2di4): 40(ptr) Variable UniformConstant
47: TypePointer Function 46(ivec4) 44: TypeSampledImage 39
49: TypeImage 45(int) 2D sampled format:Unknown 49: TypeInt 32 0
50: TypePointer UniformConstant 49 50: TypeVector 49(int) 4
51(g_tTex2du4): 50(ptr) Variable UniformConstant 51: TypePointer Function 50(ivec4)
54: TypeSampledImage 49 53: TypeImage 49(int) 2D sampled format:Unknown
86: 25(int) Constant 2 54: TypePointer UniformConstant 53
108: 25(int) Constant 3 55(g_tTex2du4): 54(ptr) Variable UniformConstant
125: TypeImage 6(float) Cube sampled format:Unknown 58: TypeSampledImage 53
126: TypePointer UniformConstant 125 90: 29(int) Constant 2
127(g_tTexcdf4): 126(ptr) Variable UniformConstant 112: 29(int) Constant 3
130: TypeSampledImage 125 129: TypeImage 6(float) Cube sampled format:Unknown
132: TypePointer Uniform 21(fvec3) 130: TypePointer UniformConstant 129
137: TypeImage 25(int) Cube sampled format:Unknown 131(g_tTexcdf4): 130(ptr) Variable UniformConstant
138: TypePointer UniformConstant 137 134: TypeSampledImage 129
139(g_tTexcdi4): 138(ptr) Variable UniformConstant 136: TypePointer Uniform 25(fvec3)
142: TypeSampledImage 137 141: TypeImage 29(int) Cube sampled format:Unknown
148: TypeImage 45(int) Cube sampled format:Unknown 142: TypePointer UniformConstant 141
149: TypePointer UniformConstant 148 143(g_tTexcdi4): 142(ptr) Variable UniformConstant
150(g_tTexcdu4): 149(ptr) Variable UniformConstant 146: TypeSampledImage 141
153: TypeSampledImage 148 152: TypeImage 49(int) Cube sampled format:Unknown
221(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 153: TypePointer UniformConstant 152
222: TypePointer Function 221(PS_OUTPUT) 154(g_tTexcdu4): 153(ptr) Variable UniformConstant
224: 6(float) Constant 1065353216 157: TypeSampledImage 152
225: 7(fvec4) ConstantComposite 224 224 224 224 225: TypePointer Function 8(PS_OUTPUT)
227: TypePointer Function 6(float) 227: 6(float) Constant 1065353216
229: TypePointer Output 7(fvec4) 228: 7(fvec4) ConstantComposite 227 227 227 227
230(Color): 229(ptr) Variable Output 230: TypePointer Function 6(float)
233: TypePointer Output 6(float) 237: TypePointer Output 7(fvec4)
234(Depth): 233(ptr) Variable Output 238(Color): 237(ptr) Variable Output
238(g_sSamp2d): 15(ptr) Variable UniformConstant 241: TypePointer Output 6(float)
239: TypeImage 6(float) 1D sampled format:Unknown 242(Depth): 241(ptr) Variable Output
240: TypePointer UniformConstant 239 245(g_sSamp2d): 19(ptr) Variable UniformConstant
241(g_tTex1df4a): 240(ptr) Variable UniformConstant 246: TypeImage 6(float) 1D sampled format:Unknown
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
247: TypePointer UniformConstant 246 247: TypePointer UniformConstant 246
248(g_tTex1du4): 247(ptr) Variable UniformConstant 248(g_tTex1df4a): 247(ptr) Variable UniformConstant
249: TypeImage 6(float) 3D sampled format:Unknown 249(g_tTex1df4): 247(ptr) Variable UniformConstant
250: TypePointer UniformConstant 249 250: TypeImage 29(int) 1D sampled format:Unknown
251(g_tTex3df4): 250(ptr) Variable UniformConstant 251: TypePointer UniformConstant 250
252: TypeImage 25(int) 3D sampled format:Unknown 252(g_tTex1di4): 251(ptr) Variable UniformConstant
253: TypePointer UniformConstant 252 253: TypeImage 49(int) 1D sampled format:Unknown
254(g_tTex3di4): 253(ptr) Variable UniformConstant 254: TypePointer UniformConstant 253
255: TypeImage 45(int) 3D sampled format:Unknown 255(g_tTex1du4): 254(ptr) Variable UniformConstant
256: TypePointer UniformConstant 255 256: TypeImage 6(float) 3D sampled format:Unknown
257(g_tTex3du4): 256(ptr) Variable UniformConstant 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 4(main): 2 Function None 3
5: Label 5: Label
9(txval00): 8(ptr) Variable Function 235(flattenTemp): 225(ptr) Variable Function
34(txval01): 33(ptr) Variable Function 236:8(PS_OUTPUT) FunctionCall 10(@main()
48(txval02): 47(ptr) Variable Function Store 235(flattenTemp) 236
59(txval10): 8(ptr) Variable Function 239: 12(ptr) AccessChain 235(flattenTemp) 34
66(txval11): 33(ptr) Variable Function 240: 7(fvec4) Load 239
73(txval12): 47(ptr) Variable Function Store 238(Color) 240
80(txval20): 8(ptr) Variable Function 243: 230(ptr) AccessChain 235(flattenTemp) 30
88(txval21): 33(ptr) Variable Function 244: 6(float) Load 243
95(txval22): 47(ptr) Variable Function Store 242(Depth) 244
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
Return Return
FunctionEnd 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 hlsl.getdimensions.dx10.vert
Shader version: 450 Shader version: 450
0:? Sequence 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:11 Function Parameters:
0:? Sequence 0:? Sequence
0:21 Sequence 0:21 Sequence
@ -36,19 +36,22 @@ Shader version: 450
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:26 Sequence 0:26 Branch: Return with expression
0:26 Sequence 0:26 'vsout' (temp structure{temp 4-component vector of float Pos})
0:26 move second child to first child (temp 4-component vector of float) 0:11 Function Definition: main( (temp void)
0:? 'Pos' (out 4-component vector of float Position) 0:11 Function Parameters:
0:26 Pos: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:26 'vsout' (temp structure{temp 4-component vector of float Pos}) 0:11 Sequence
0:26 Constant: 0:11 move second child to first child (temp 4-component vector of float)
0:26 0 (const int) 0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:26 Branch: Return 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:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 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: Linked vertex stage:
@ -56,7 +59,7 @@ Linked vertex stage:
Shader version: 450 Shader version: 450
0:? Sequence 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:11 Function Parameters:
0:? Sequence 0:? Sequence
0:21 Sequence 0:21 Sequence
@ -91,100 +94,120 @@ Shader version: 450
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:26 Sequence 0:26 Branch: Return with expression
0:26 Sequence 0:26 'vsout' (temp structure{temp 4-component vector of float Pos})
0:26 move second child to first child (temp 4-component vector of float) 0:11 Function Definition: main( (temp void)
0:? 'Pos' (out 4-component vector of float Position) 0:11 Function Parameters:
0:26 Pos: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:26 'vsout' (temp structure{temp 4-component vector of float Pos}) 0:11 Sequence
0:26 Constant: 0:11 move second child to first child (temp 4-component vector of float)
0:26 0 (const int) 0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:26 Branch: Return 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:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 46 // Id's are bound by 57
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
Capability ImageQuery Capability ImageQuery
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 36 45 EntryPoint Vertex 4 "main" 48 56
Name 4 "main" Name 4 "main"
Name 8 "sizeQueryTemp" Name 8 "VS_OUTPUT"
Name 12 "g_tTex1df4" MemberName 8(VS_OUTPUT) 0 "Pos"
Name 16 "WidthU" Name 10 "@main("
Name 18 "sizeQueryTemp" Name 14 "sizeQueryTemp"
Name 23 "NumberOfLevelsU" Name 17 "g_tTex1df4"
Name 27 "VS_OUTPUT" Name 21 "WidthU"
MemberName 27(VS_OUTPUT) 0 "Pos" Name 23 "sizeQueryTemp"
Name 29 "vsout" Name 28 "NumberOfLevelsU"
Name 36 "Pos" Name 31 "VS_OUTPUT"
Name 42 "g_sSamp" MemberName 31(VS_OUTPUT) 0 "Pos"
Name 43 "PerVertex_out" Name 33 "vsout"
MemberName 43(PerVertex_out) 0 "Pos" Name 48 "@entryPointOutput_Pos"
Name 45 "PerVertex_out" Name 53 "g_sSamp"
Decorate 12(g_tTex1df4) DescriptorSet 0 Name 54 "PerVertex_out"
Decorate 12(g_tTex1df4) Binding 0 MemberName 54(PerVertex_out) 0 "@entryPointOutput_Pos"
Decorate 36(Pos) BuiltIn Position Name 56 "PerVertex_out"
Decorate 42(g_sSamp) DescriptorSet 0 MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position
Decorate 42(g_sSamp) Binding 0 Decorate 17(g_tTex1df4) DescriptorSet 0
MemberDecorate 43(PerVertex_out) 0 BuiltIn Position Decorate 17(g_tTex1df4) Binding 0
Decorate 43(PerVertex_out) Block 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeFloat 32
7: TypePointer Function 6(int) 7: TypeVector 6(float) 4
9: TypeFloat 32 8(VS_OUTPUT): TypeStruct 7(fvec4)
10: TypeImage 9(float) 1D sampled format:Unknown 9: TypeFunction 8(VS_OUTPUT)
11: TypePointer UniformConstant 10 12: TypeInt 32 0
12(g_tTex1df4): 11(ptr) Variable UniformConstant 13: TypePointer Function 12(int)
14: TypeInt 32 1 15: TypeImage 6(float) 1D sampled format:Unknown
20: 6(int) Constant 6 16: TypePointer UniformConstant 15
26: TypeVector 9(float) 4 17(g_tTex1df4): 16(ptr) Variable UniformConstant
27(VS_OUTPUT): TypeStruct 26(fvec4) 19: TypeInt 32 1
28: TypePointer Function 27(VS_OUTPUT) 25: 12(int) Constant 6
30: 14(int) Constant 0 31(VS_OUTPUT): TypeStruct 7(fvec4)
31: 9(float) Constant 0 32: TypePointer Function 31(VS_OUTPUT)
32: 26(fvec4) ConstantComposite 31 31 31 31 34: 19(int) Constant 0
33: TypePointer Function 26(fvec4) 35: 6(float) Constant 0
35: TypePointer Output 26(fvec4) 36: 7(fvec4) ConstantComposite 35 35 35 35
36(Pos): 35(ptr) Variable Output 37: TypePointer Function 7(fvec4)
40: TypeSampler 40: TypePointer Function 8(VS_OUTPUT)
41: TypePointer UniformConstant 40 47: TypePointer Output 7(fvec4)
42(g_sSamp): 41(ptr) Variable UniformConstant 48(@entryPointOutput_Pos): 47(ptr) Variable Output
43(PerVertex_out): TypeStruct 26(fvec4) 51: TypeSampler
44: TypePointer Output 43(PerVertex_out) 52: TypePointer UniformConstant 51
45(PerVertex_out): 44(ptr) Variable Output 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 4(main): 2 Function None 3
5: Label 5: Label
8(sizeQueryTemp): 7(ptr) Variable Function 49:8(VS_OUTPUT) FunctionCall 10(@main()
16(WidthU): 7(ptr) Variable Function 50: 7(fvec4) CompositeExtract 49 0
18(sizeQueryTemp): 7(ptr) Variable Function Store 48(@entryPointOutput_Pos) 50
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:44 Function Parameters:
0:? Sequence 0:? Sequence
0:63 Sequence 0:63 Sequence
@ -310,24 +310,28 @@ gl_FragCoord origin is upper left
0:93 1 (const int) 0:93 1 (const int)
0:93 Constant: 0:93 Constant:
0:93 1.000000 0:93 1.000000
0:95 Sequence 0:95 Branch: Return with expression
0:95 Sequence 0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:95 move second child to first child (temp 4-component vector of float) 0:44 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:44 Function Parameters:
0:95 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:44 Sequence
0:95 Constant: 0:44 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:95 0 (const int) 0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:95 move second child to first child (temp float) 0:44 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:44 move second child to first child (temp 4-component vector of float)
0:95 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:44 Color: direct index for structure (temp 4-component vector of float)
0:95 Constant: 0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:95 1 (const int) 0:44 Constant:
0:95 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) 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_tBuffF' (layout(rgba32f ) uniform imageBuffer)
0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) 0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:44 Function Parameters:
0:? Sequence 0:? Sequence
0:63 Sequence 0:63 Sequence
@ -664,24 +670,28 @@ gl_FragCoord origin is upper left
0:93 1 (const int) 0:93 1 (const int)
0:93 Constant: 0:93 Constant:
0:93 1.000000 0:93 1.000000
0:95 Sequence 0:95 Branch: Return with expression
0:95 Sequence 0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:95 move second child to first child (temp 4-component vector of float) 0:44 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:44 Function Parameters:
0:95 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:44 Sequence
0:95 Constant: 0:44 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:95 0 (const int) 0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:95 move second child to first child (temp float) 0:44 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:44 move second child to first child (temp 4-component vector of float)
0:95 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:44 Color: direct index for structure (temp 4-component vector of float)
0:95 Constant: 0:44 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:95 1 (const int) 0:44 Constant:
0:95 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) 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_tBuffF' (layout(rgba32f ) uniform imageBuffer)
0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) 0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 225 // Id's are bound by 232
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
@ -713,378 +725,389 @@ gl_FragCoord origin is upper left
Capability ImageQuery Capability ImageQuery
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 210 214 EntryPoint Fragment 4 "main" 218 222
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "sizeQueryTemp" Name 8 "PS_OUTPUT"
Name 12 "g_tTex1df4" MemberName 8(PS_OUTPUT) 0 "Color"
Name 16 "WidthU" MemberName 8(PS_OUTPUT) 1 "Depth"
Name 18 "sizeQueryTemp" Name 10 "@main("
Name 21 "g_tTex1di4" Name 14 "sizeQueryTemp"
Name 25 "sizeQueryTemp" Name 17 "g_tTex1df4"
Name 28 "g_tTex1du4" Name 21 "WidthU"
Name 32 "sizeQueryTemp" Name 23 "sizeQueryTemp"
Name 35 "g_tBuffF" Name 26 "g_tTex1di4"
Name 39 "sizeQueryTemp" Name 30 "sizeQueryTemp"
Name 42 "g_tBuffI" Name 33 "g_tTex1du4"
Name 46 "sizeQueryTemp" Name 37 "sizeQueryTemp"
Name 49 "g_tBuffU" Name 40 "g_tBuffF"
Name 55 "sizeQueryTemp" Name 44 "sizeQueryTemp"
Name 58 "g_tTex1df4a" Name 47 "g_tBuffI"
Name 65 "ElementsU" Name 51 "sizeQueryTemp"
Name 69 "sizeQueryTemp" Name 54 "g_tBuffU"
Name 72 "g_tTex1di4a" Name 60 "sizeQueryTemp"
Name 79 "sizeQueryTemp" Name 63 "g_tTex1df4a"
Name 82 "g_tTex1du4a" Name 70 "ElementsU"
Name 89 "sizeQueryTemp" Name 74 "sizeQueryTemp"
Name 92 "g_tTex2df4" Name 77 "g_tTex1di4a"
Name 97 "HeightU" Name 84 "sizeQueryTemp"
Name 100 "sizeQueryTemp" Name 87 "g_tTex1du4a"
Name 103 "g_tTex2di4" Name 94 "sizeQueryTemp"
Name 110 "sizeQueryTemp" Name 97 "g_tTex2df4"
Name 113 "g_tTex2du4" Name 102 "HeightU"
Name 122 "sizeQueryTemp" Name 105 "sizeQueryTemp"
Name 125 "g_tTex2df4a" Name 108 "g_tTex2di4"
Name 136 "sizeQueryTemp" Name 115 "sizeQueryTemp"
Name 139 "g_tTex2di4a" Name 118 "g_tTex2du4"
Name 148 "sizeQueryTemp" Name 127 "sizeQueryTemp"
Name 151 "g_tTex2du4a" Name 130 "g_tTex2df4a"
Name 160 "sizeQueryTemp" Name 141 "sizeQueryTemp"
Name 163 "g_tTex3df4" Name 144 "g_tTex2di4a"
Name 170 "DepthU" Name 153 "sizeQueryTemp"
Name 173 "sizeQueryTemp" Name 156 "g_tTex2du4a"
Name 176 "g_tTex3di4" Name 165 "sizeQueryTemp"
Name 185 "sizeQueryTemp" Name 168 "g_tTex3df4"
Name 188 "g_tTex3du4" Name 175 "DepthU"
Name 198 "PS_OUTPUT" Name 178 "sizeQueryTemp"
MemberName 198(PS_OUTPUT) 0 "Color" Name 181 "g_tTex3di4"
MemberName 198(PS_OUTPUT) 1 "Depth" Name 190 "sizeQueryTemp"
Name 200 "psout" Name 193 "g_tTex3du4"
Name 210 "Color" Name 203 "psout"
Name 214 "Depth" Name 215 "flattenTemp"
Name 220 "g_sSamp" Name 218 "Color"
Name 222 "$Global" Name 222 "Depth"
MemberName 222($Global) 0 "c1" Name 227 "g_sSamp"
MemberName 222($Global) 1 "c2" Name 229 "$Global"
MemberName 222($Global) 2 "c3" MemberName 229($Global) 0 "c1"
MemberName 222($Global) 3 "c4" MemberName 229($Global) 1 "c2"
MemberName 222($Global) 4 "o1" MemberName 229($Global) 2 "c3"
MemberName 222($Global) 5 "o2" MemberName 229($Global) 3 "c4"
MemberName 222($Global) 6 "o3" MemberName 229($Global) 4 "o1"
MemberName 222($Global) 7 "o4" MemberName 229($Global) 5 "o2"
Name 224 "" MemberName 229($Global) 6 "o3"
Decorate 12(g_tTex1df4) DescriptorSet 0 MemberName 229($Global) 7 "o4"
Decorate 12(g_tTex1df4) Binding 0 Name 231 ""
Decorate 21(g_tTex1di4) DescriptorSet 0 Decorate 17(g_tTex1df4) DescriptorSet 0
Decorate 28(g_tTex1du4) DescriptorSet 0 Decorate 17(g_tTex1df4) Binding 0
Decorate 35(g_tBuffF) DescriptorSet 0 Decorate 26(g_tTex1di4) DescriptorSet 0
Decorate 42(g_tBuffI) DescriptorSet 0 Decorate 33(g_tTex1du4) DescriptorSet 0
Decorate 49(g_tBuffU) DescriptorSet 0 Decorate 40(g_tBuffF) DescriptorSet 0
Decorate 58(g_tTex1df4a) DescriptorSet 0 Decorate 47(g_tBuffI) DescriptorSet 0
Decorate 72(g_tTex1di4a) DescriptorSet 0 Decorate 54(g_tBuffU) DescriptorSet 0
Decorate 82(g_tTex1du4a) DescriptorSet 0 Decorate 63(g_tTex1df4a) DescriptorSet 0
Decorate 92(g_tTex2df4) DescriptorSet 0 Decorate 77(g_tTex1di4a) DescriptorSet 0
Decorate 103(g_tTex2di4) DescriptorSet 0 Decorate 87(g_tTex1du4a) DescriptorSet 0
Decorate 113(g_tTex2du4) DescriptorSet 0 Decorate 97(g_tTex2df4) DescriptorSet 0
Decorate 125(g_tTex2df4a) DescriptorSet 0 Decorate 108(g_tTex2di4) DescriptorSet 0
Decorate 139(g_tTex2di4a) DescriptorSet 0 Decorate 118(g_tTex2du4) DescriptorSet 0
Decorate 151(g_tTex2du4a) DescriptorSet 0 Decorate 130(g_tTex2df4a) DescriptorSet 0
Decorate 163(g_tTex3df4) DescriptorSet 0 Decorate 144(g_tTex2di4a) DescriptorSet 0
Decorate 176(g_tTex3di4) DescriptorSet 0 Decorate 156(g_tTex2du4a) DescriptorSet 0
Decorate 188(g_tTex3du4) DescriptorSet 0 Decorate 168(g_tTex3df4) DescriptorSet 0
Decorate 210(Color) Location 0 Decorate 181(g_tTex3di4) DescriptorSet 0
Decorate 214(Depth) BuiltIn FragDepth Decorate 193(g_tTex3du4) DescriptorSet 0
Decorate 220(g_sSamp) DescriptorSet 0 Decorate 218(Color) Location 0
Decorate 220(g_sSamp) Binding 0 Decorate 222(Depth) BuiltIn FragDepth
MemberDecorate 222($Global) 0 Offset 0 Decorate 227(g_sSamp) DescriptorSet 0
MemberDecorate 222($Global) 1 Offset 8 Decorate 227(g_sSamp) Binding 0
MemberDecorate 222($Global) 2 Offset 16 MemberDecorate 229($Global) 0 Offset 0
MemberDecorate 222($Global) 3 Offset 32 MemberDecorate 229($Global) 1 Offset 8
MemberDecorate 222($Global) 4 Offset 48 MemberDecorate 229($Global) 2 Offset 16
MemberDecorate 222($Global) 5 Offset 56 MemberDecorate 229($Global) 3 Offset 32
MemberDecorate 222($Global) 6 Offset 64 MemberDecorate 229($Global) 4 Offset 48
MemberDecorate 222($Global) 7 Offset 80 MemberDecorate 229($Global) 5 Offset 56
Decorate 222($Global) Block MemberDecorate 229($Global) 6 Offset 64
Decorate 224 DescriptorSet 0 MemberDecorate 229($Global) 7 Offset 80
Decorate 229($Global) Block
Decorate 231 DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeFloat 32
7: TypePointer Function 6(int) 7: TypeVector 6(float) 4
9: TypeFloat 32 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
10: TypeImage 9(float) 1D nonsampled format:Rgba32f 9: TypeFunction 8(PS_OUTPUT)
11: TypePointer UniformConstant 10 12: TypeInt 32 0
12(g_tTex1df4): 11(ptr) Variable UniformConstant 13: TypePointer Function 12(int)
14: TypeInt 32 1 15: TypeImage 6(float) 1D nonsampled format:Rgba32f
19: TypeImage 14(int) 1D nonsampled format:Rgba32i 16: TypePointer UniformConstant 15
20: TypePointer UniformConstant 19 17(g_tTex1df4): 16(ptr) Variable UniformConstant
21(g_tTex1di4): 20(ptr) Variable UniformConstant 19: TypeInt 32 1
26: TypeImage 6(int) 1D nonsampled format:Rgba32ui 24: TypeImage 19(int) 1D nonsampled format:Rgba32i
27: TypePointer UniformConstant 26 25: TypePointer UniformConstant 24
28(g_tTex1du4): 27(ptr) Variable UniformConstant 26(g_tTex1di4): 25(ptr) Variable UniformConstant
33: TypeImage 9(float) Buffer nonsampled format:Rgba32f 31: TypeImage 12(int) 1D nonsampled format:Rgba32ui
34: TypePointer UniformConstant 33 32: TypePointer UniformConstant 31
35(g_tBuffF): 34(ptr) Variable UniformConstant 33(g_tTex1du4): 32(ptr) Variable UniformConstant
40: TypeImage 14(int) Buffer nonsampled format:Rgba32i 38: TypeImage 6(float) Buffer nonsampled format:Rgba32f
41: TypePointer UniformConstant 40 39: TypePointer UniformConstant 38
42(g_tBuffI): 41(ptr) Variable UniformConstant 40(g_tBuffF): 39(ptr) Variable UniformConstant
47: TypeImage 6(int) Buffer nonsampled format:Rgba32ui 45: TypeImage 19(int) Buffer nonsampled format:Rgba32i
48: TypePointer UniformConstant 47 46: TypePointer UniformConstant 45
49(g_tBuffU): 48(ptr) Variable UniformConstant 47(g_tBuffI): 46(ptr) Variable UniformConstant
53: TypeVector 6(int) 2 52: TypeImage 12(int) Buffer nonsampled format:Rgba32ui
54: TypePointer Function 53(ivec2) 53: TypePointer UniformConstant 52
56: TypeImage 9(float) 1D array nonsampled format:Rgba32f 54(g_tBuffU): 53(ptr) Variable UniformConstant
57: TypePointer UniformConstant 56 58: TypeVector 12(int) 2
58(g_tTex1df4a): 57(ptr) Variable UniformConstant 59: TypePointer Function 58(ivec2)
60: TypeVector 14(int) 2 61: TypeImage 6(float) 1D array nonsampled format:Rgba32f
62: 6(int) Constant 0 62: TypePointer UniformConstant 61
66: 6(int) Constant 1 63(g_tTex1df4a): 62(ptr) Variable UniformConstant
70: TypeImage 14(int) 1D array nonsampled format:Rgba32i 65: TypeVector 19(int) 2
71: TypePointer UniformConstant 70 67: 12(int) Constant 0
72(g_tTex1di4a): 71(ptr) Variable UniformConstant 71: 12(int) Constant 1
80: TypeImage 6(int) 1D array nonsampled format:Rgba32ui 75: TypeImage 19(int) 1D array nonsampled format:Rgba32i
81: TypePointer UniformConstant 80 76: TypePointer UniformConstant 75
82(g_tTex1du4a): 81(ptr) Variable UniformConstant 77(g_tTex1di4a): 76(ptr) Variable UniformConstant
90: TypeImage 9(float) 2D nonsampled format:Rgba32f 85: TypeImage 12(int) 1D array nonsampled format:Rgba32ui
91: TypePointer UniformConstant 90 86: TypePointer UniformConstant 85
92(g_tTex2df4): 91(ptr) Variable UniformConstant 87(g_tTex1du4a): 86(ptr) Variable UniformConstant
101: TypeImage 14(int) 2D nonsampled format:Rgba32i 95: TypeImage 6(float) 2D nonsampled format:Rgba32f
102: TypePointer UniformConstant 101 96: TypePointer UniformConstant 95
103(g_tTex2di4): 102(ptr) Variable UniformConstant 97(g_tTex2df4): 96(ptr) Variable UniformConstant
111: TypeImage 6(int) 2D nonsampled format:Rgba32ui 106: TypeImage 19(int) 2D nonsampled format:Rgba32i
112: TypePointer UniformConstant 111 107: TypePointer UniformConstant 106
113(g_tTex2du4): 112(ptr) Variable UniformConstant 108(g_tTex2di4): 107(ptr) Variable UniformConstant
120: TypeVector 6(int) 3 116: TypeImage 12(int) 2D nonsampled format:Rgba32ui
121: TypePointer Function 120(ivec3) 117: TypePointer UniformConstant 116
123: TypeImage 9(float) 2D array nonsampled format:Rgba32f 118(g_tTex2du4): 117(ptr) Variable UniformConstant
124: TypePointer UniformConstant 123 125: TypeVector 12(int) 3
125(g_tTex2df4a): 124(ptr) Variable UniformConstant 126: TypePointer Function 125(ivec3)
127: TypeVector 14(int) 3 128: TypeImage 6(float) 2D array nonsampled format:Rgba32f
133: 6(int) Constant 2 129: TypePointer UniformConstant 128
137: TypeImage 14(int) 2D array nonsampled format:Rgba32i 130(g_tTex2df4a): 129(ptr) Variable UniformConstant
138: TypePointer UniformConstant 137 132: TypeVector 19(int) 3
139(g_tTex2di4a): 138(ptr) Variable UniformConstant 138: 12(int) Constant 2
149: TypeImage 6(int) 2D array nonsampled format:Rgba32ui 142: TypeImage 19(int) 2D array nonsampled format:Rgba32i
150: TypePointer UniformConstant 149 143: TypePointer UniformConstant 142
151(g_tTex2du4a): 150(ptr) Variable UniformConstant 144(g_tTex2di4a): 143(ptr) Variable UniformConstant
161: TypeImage 9(float) 3D nonsampled format:Rgba32f 154: TypeImage 12(int) 2D array nonsampled format:Rgba32ui
162: TypePointer UniformConstant 161 155: TypePointer UniformConstant 154
163(g_tTex3df4): 162(ptr) Variable UniformConstant 156(g_tTex2du4a): 155(ptr) Variable UniformConstant
174: TypeImage 14(int) 3D nonsampled format:Rgba32i 166: TypeImage 6(float) 3D nonsampled format:Rgba32f
175: TypePointer UniformConstant 174 167: TypePointer UniformConstant 166
176(g_tTex3di4): 175(ptr) Variable UniformConstant 168(g_tTex3df4): 167(ptr) Variable UniformConstant
186: TypeImage 6(int) 3D nonsampled format:Rgba32ui 179: TypeImage 19(int) 3D nonsampled format:Rgba32i
187: TypePointer UniformConstant 186 180: TypePointer UniformConstant 179
188(g_tTex3du4): 187(ptr) Variable UniformConstant 181(g_tTex3di4): 180(ptr) Variable UniformConstant
197: TypeVector 9(float) 4 191: TypeImage 12(int) 3D nonsampled format:Rgba32ui
198(PS_OUTPUT): TypeStruct 197(fvec4) 9(float) 192: TypePointer UniformConstant 191
199: TypePointer Function 198(PS_OUTPUT) 193(g_tTex3du4): 192(ptr) Variable UniformConstant
201: 14(int) Constant 0 202: TypePointer Function 8(PS_OUTPUT)
202: 9(float) Constant 1065353216 204: 19(int) Constant 0
203: 197(fvec4) ConstantComposite 202 202 202 202 205: 6(float) Constant 1065353216
204: TypePointer Function 197(fvec4) 206: 7(fvec4) ConstantComposite 205 205 205 205
206: 14(int) Constant 1 207: TypePointer Function 7(fvec4)
207: TypePointer Function 9(float) 209: 19(int) Constant 1
209: TypePointer Output 197(fvec4) 210: TypePointer Function 6(float)
210(Color): 209(ptr) Variable Output 217: TypePointer Output 7(fvec4)
213: TypePointer Output 9(float) 218(Color): 217(ptr) Variable Output
214(Depth): 213(ptr) Variable Output 221: TypePointer Output 6(float)
218: TypeSampler 222(Depth): 221(ptr) Variable Output
219: TypePointer UniformConstant 218 225: TypeSampler
220(g_sSamp): 219(ptr) Variable UniformConstant 226: TypePointer UniformConstant 225
221: TypeVector 14(int) 4 227(g_sSamp): 226(ptr) Variable UniformConstant
222($Global): TypeStruct 14(int) 60(ivec2) 127(ivec3) 221(ivec4) 14(int) 60(ivec2) 127(ivec3) 221(ivec4) 228: TypeVector 19(int) 4
223: TypePointer Uniform 222($Global) 229($Global): TypeStruct 19(int) 65(ivec2) 132(ivec3) 228(ivec4) 19(int) 65(ivec2) 132(ivec3) 228(ivec4)
224: 223(ptr) Variable Uniform 230: TypePointer Uniform 229($Global)
231: 230(ptr) Variable Uniform
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
8(sizeQueryTemp): 7(ptr) Variable Function 215(flattenTemp): 202(ptr) Variable Function
16(WidthU): 7(ptr) Variable Function 216:8(PS_OUTPUT) FunctionCall 10(@main()
18(sizeQueryTemp): 7(ptr) Variable Function Store 215(flattenTemp) 216
25(sizeQueryTemp): 7(ptr) Variable Function 219: 207(ptr) AccessChain 215(flattenTemp) 204
32(sizeQueryTemp): 7(ptr) Variable Function 220: 7(fvec4) Load 219
39(sizeQueryTemp): 7(ptr) Variable Function Store 218(Color) 220
46(sizeQueryTemp): 7(ptr) Variable Function 223: 210(ptr) AccessChain 215(flattenTemp) 209
55(sizeQueryTemp): 54(ptr) Variable Function 224: 6(float) Load 223
65(ElementsU): 7(ptr) Variable Function Store 222(Depth) 224
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
ERROR: node is still EOpNull! 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:13 Function Parameters:
0:? Sequence 0:? Sequence
0:16 Sequence 0:16 Sequence
@ -43,27 +43,33 @@ ERROR: node is still EOpNull!
0:20 1 (const int) 0:20 1 (const int)
0:20 Constant: 0:20 Constant:
0:20 1.000000 0:20 1.000000
0:22 Sequence 0:22 Branch: Return with expression
0:22 Sequence 0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 move second child to first child (temp 4-component vector of float) 0:13 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:13 Function Parameters:
0:22 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:13 Sequence
0:22 Constant: 0:13 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 0 (const int) 0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 move second child to first child (temp float) 0:13 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:13 move second child to first child (temp 4-component vector of float)
0:22 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:13 Color: direct index for structure (temp 4-component vector of float)
0:22 Constant: 0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 1 (const int) 0:13 Constant:
0:22 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS) 0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) 0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage: Linked fragment stage:
@ -72,7 +78,7 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
ERROR: node is still EOpNull! 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:13 Function Parameters:
0:? Sequence 0:? Sequence
0:16 Sequence 0:16 Sequence
@ -108,26 +114,32 @@ ERROR: node is still EOpNull!
0:20 1 (const int) 0:20 1 (const int)
0:20 Constant: 0:20 Constant:
0:20 1.000000 0:20 1.000000
0:22 Sequence 0:22 Branch: Return with expression
0:22 Sequence 0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 move second child to first child (temp 4-component vector of float) 0:13 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:13 Function Parameters:
0:22 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:13 Sequence
0:22 Constant: 0:13 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 0 (const int) 0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 move second child to first child (temp float) 0:13 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:13 move second child to first child (temp 4-component vector of float)
0:22 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:13 Color: direct index for structure (temp 4-component vector of float)
0:22 Constant: 0:13 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:22 1 (const int) 0:13 Constant:
0:22 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS) 0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) 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 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:? Sequence
0:9 Branch: Return with expression 0:9 Branch: Return with expression
0:9 'x' (in int) 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:12 Function Parameters:
0:? Sequence 0:? Sequence
0:15 Sequence 0:15 Sequence
@ -19,21 +19,24 @@ gl_FragCoord origin is upper left
0:? 4.000000 0:? 4.000000
0:? 5.000000 0:? 5.000000
0:? 6.000000 0:? 6.000000
0:17 Sequence 0:17 Branch: Return with expression
0:17 move second child to first child (temp 4-component vector of float) 0:17 vector swizzle (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:17 'sample' (temp 4-component vector of float)
0:17 vector swizzle (temp 4-component vector of float) 0:17 Sequence
0:17 'sample' (temp 4-component vector of float) 0:17 Constant:
0:17 Sequence 0:17 0 (const int)
0:17 Constant: 0:17 Constant:
0:17 0 (const int) 0:17 1 (const int)
0:17 Constant: 0:17 Constant:
0:17 1 (const int) 0:17 2 (const int)
0:17 Constant: 0:17 Constant:
0:17 2 (const int) 0:17 3 (const int)
0:17 Constant: 0:12 Function Definition: main( (temp void)
0:17 3 (const int) 0:12 Function Parameters:
0:17 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
@ -50,7 +53,7 @@ gl_FragCoord origin is upper left
0:? Sequence 0:? Sequence
0:9 Branch: Return with expression 0:9 Branch: Return with expression
0:9 'x' (in int) 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:12 Function Parameters:
0:? Sequence 0:? Sequence
0:15 Sequence 0:15 Sequence
@ -61,65 +64,75 @@ gl_FragCoord origin is upper left
0:? 4.000000 0:? 4.000000
0:? 5.000000 0:? 5.000000
0:? 6.000000 0:? 6.000000
0:17 Sequence 0:17 Branch: Return with expression
0:17 move second child to first child (temp 4-component vector of float) 0:17 vector swizzle (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:17 'sample' (temp 4-component vector of float)
0:17 vector swizzle (temp 4-component vector of float) 0:17 Sequence
0:17 'sample' (temp 4-component vector of float) 0:17 Constant:
0:17 Sequence 0:17 0 (const int)
0:17 Constant: 0:17 Constant:
0:17 0 (const int) 0:17 1 (const int)
0:17 Constant: 0:17 Constant:
0:17 1 (const int) 0:17 2 (const int)
0:17 Constant: 0:17 Constant:
0:17 2 (const int) 0:17 3 (const int)
0:17 Constant: 0:12 Function Definition: main( (temp void)
0:17 3 (const int) 0:12 Function Parameters:
0:17 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 28 // Id's are bound by 33
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 25 EntryPoint Fragment 4 "main" 31
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 10 "sample(i1;" Name 10 "sample(i1;"
Name 9 "x" Name 9 "x"
Name 18 "sample" Name 15 "@main("
Name 25 "@entryPointOutput" Name 21 "sample"
Decorate 25(@entryPointOutput) Location 0 Name 31 "@entryPointOutput"
Decorate 31(@entryPointOutput) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 1 6: TypeInt 32 1
7: TypePointer Function 6(int) 7: TypePointer Function 6(int)
8: TypeFunction 6(int) 7(ptr) 8: TypeFunction 6(int) 7(ptr)
15: TypeFloat 32 12: TypeFloat 32
16: TypeVector 15(float) 4 13: TypeVector 12(float) 4
17: TypePointer Function 16(fvec4) 14: TypeFunction 13(fvec4)
19: 15(float) Constant 1077936128 20: TypePointer Function 13(fvec4)
20: 15(float) Constant 1082130432 22: 12(float) Constant 1077936128
21: 15(float) Constant 1084227584 23: 12(float) Constant 1082130432
22: 15(float) Constant 1086324736 24: 12(float) Constant 1084227584
23: 16(fvec4) ConstantComposite 19 20 21 22 25: 12(float) Constant 1086324736
24: TypePointer Output 16(fvec4) 26: 13(fvec4) ConstantComposite 22 23 24 25
25(@entryPointOutput): 24(ptr) Variable Output 30: TypePointer Output 13(fvec4)
31(@entryPointOutput): 30(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
18(sample): 17(ptr) Variable Function 32: 13(fvec4) FunctionCall 15(@main()
Store 18(sample) 23 Store 31(@entryPointOutput) 32
26: 16(fvec4) Load 18(sample)
Store 25(@entryPointOutput) 26
Return Return
FunctionEnd FunctionEnd
10(sample(i1;): 6(int) Function None 8 10(sample(i1;): 6(int) Function None 8
9(x): 7(ptr) FunctionParameter 9(x): 7(ptr) FunctionParameter
11: Label 11: Label
12: 6(int) Load 9(x) 17: 6(int) Load 9(x)
ReturnValue 12 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 FunctionEnd

View file

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

View file

@ -81,9 +81,9 @@ gl_FragCoord origin is upper left
0:18 Constant: 0:18 Constant:
0:18 4 (const uint) 0:18 4 (const uint)
0:18 5 (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 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:? Sequence
0:22 Sequence 0:22 Sequence
0:22 move second child to first child (temp 4-component vector of float) 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 move second child to first child (temp float)
0:33 'a9' (temp float) 0:33 'a9' (temp float)
0:33 'a5' (global float) 0:33 'a5' (global float)
0:35 Sequence 0:35 Branch: Return with expression
0:35 move second child to first child (temp 4-component vector of float) 0:35 component-wise multiply (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:35 'input' (in 4-component vector of float)
0:35 component-wise multiply (temp 4-component vector of float) 0:35 'a1' (global 4-component vector of float)
0:35 'input' (layout(location=0 ) in 4-component vector of float) 0:21 Function Definition: ShaderFunction( (temp void)
0:35 'a1' (global 4-component vector of float) 0:21 Function Parameters:
0:35 Branch: Return 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:? 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:? 'a1' (global 4-component vector of float)
0:? 'b1' (global 4-component vector of float) 0:? 'b1' (global 4-component vector of float)
0:? 'a1i' (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:? 'single2' (global structure{temp 2-component vector of uint v})
0:? 'single3' (global structure{temp structure{temp int f} s1}) 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:? '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}) 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 Constant:
0:18 4 (const uint) 0:18 4 (const uint)
0:18 5 (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 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:? Sequence
0:22 Sequence 0:22 Sequence
0:22 move second child to first child (temp 4-component vector of float) 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 move second child to first child (temp float)
0:33 'a9' (temp float) 0:33 'a9' (temp float)
0:33 'a5' (global float) 0:33 'a5' (global float)
0:35 Sequence 0:35 Branch: Return with expression
0:35 move second child to first child (temp 4-component vector of float) 0:35 component-wise multiply (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:35 'input' (in 4-component vector of float)
0:35 component-wise multiply (temp 4-component vector of float) 0:35 'a1' (global 4-component vector of float)
0:35 'input' (layout(location=0 ) in 4-component vector of float) 0:21 Function Definition: ShaderFunction( (temp void)
0:35 'a1' (global 4-component vector of float) 0:21 Function Parameters:
0:35 Branch: Return 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:? 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:? 'a1' (global 4-component vector of float)
0:? 'b1' (global 4-component vector of float) 0:? 'b1' (global 4-component vector of float)
0:? 'a1i' (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:? 'single2' (global structure{temp 2-component vector of uint v})
0:? 'single3' (global structure{temp structure{temp int f} s1}) 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:? '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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 100 // Id's are bound by 110
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "ShaderFunction" 88 90 EntryPoint Fragment 4 "ShaderFunction" 98 101
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "ShaderFunction" Name 4 "ShaderFunction"
Name 9 "a1" Name 11 "@ShaderFunction(vf4;"
Name 14 "b1" Name 10 "input"
Name 20 "a1i" Name 14 "a1"
Name 21 "b1i" Name 19 "b1"
Name 23 "a2" Name 25 "a1i"
Name 25 "b3" Name 26 "b1i"
Name 27 "b4" Name 28 "a2"
Name 29 "a5" Name 30 "b3"
Name 30 "c5" Name 32 "b4"
Name 33 "Single1" Name 34 "a5"
MemberName 33(Single1) 0 "f" Name 35 "c5"
Name 35 "single1" Name 38 "Single1"
Name 40 "Single2" MemberName 38(Single1) 0 "f"
MemberName 40(Single2) 0 "v" Name 40 "single1"
Name 42 "single2" Name 45 "Single2"
Name 47 "Single3" MemberName 45(Single2) 0 "v"
MemberName 47(Single3) 0 "s1" Name 47 "single2"
Name 49 "single3" Name 52 "Single3"
Name 53 "Single4" MemberName 52(Single3) 0 "s1"
MemberName 53(Single4) 0 "s1" Name 54 "single3"
Name 55 "single4" Name 58 "Single4"
Name 62 "a2" MemberName 58(Single4) 0 "s1"
Name 64 "S1" Name 60 "single4"
MemberName 64(S1) 0 "f" Name 66 "a2"
MemberName 64(S1) 1 "i" Name 68 "S1"
Name 65 "S2" MemberName 68(S1) 0 "f"
MemberName 65(S2) 0 "j" MemberName 68(S1) 1 "i"
MemberName 65(S2) 1 "g" Name 69 "S2"
MemberName 65(S2) 2 "s1" MemberName 69(S2) 0 "j"
Name 67 "s2i" MemberName 69(S2) 1 "g"
Name 70 "a3" MemberName 69(S2) 2 "s1"
Name 71 "a4" Name 71 "s2i"
Name 76 "s2" Name 74 "a3"
Name 82 "a8" Name 75 "a4"
Name 83 "b2" Name 80 "s2"
Name 85 "a9" Name 86 "a8"
Name 88 "@entryPointOutput" Name 87 "b2"
Name 90 "input" Name 89 "a9"
Name 95 "c4" Name 96 "input"
Name 96 "b5" Name 98 "input"
Name 97 "Constants" Name 101 "@entryPointOutput"
MemberName 97(Constants) 0 "a" Name 102 "param"
MemberName 97(Constants) 1 "b" Name 105 "c4"
MemberName 97(Constants) 2 "c" Name 106 "b5"
Name 99 "" Name 107 "Constants"
Decorate 88(@entryPointOutput) Location 0 MemberName 107(Constants) 0 "a"
Decorate 90(input) Location 0 MemberName 107(Constants) 1 "b"
MemberDecorate 97(Constants) 0 Offset 0 MemberName 107(Constants) 2 "c"
MemberDecorate 97(Constants) 1 Offset 4 Name 109 ""
MemberDecorate 97(Constants) 2 Offset 8 Decorate 98(input) Location 0
Decorate 97(Constants) Block Decorate 101(@entryPointOutput) Location 0
Decorate 99 DescriptorSet 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Private 7(fvec4) 8: TypePointer Function 7(fvec4)
9(a1): 8(ptr) Variable Private 9: TypeFunction 7(fvec4) 8(ptr)
10: 6(float) Constant 1065353216 13: TypePointer Private 7(fvec4)
11: 6(float) Constant 1056964608 14(a1): 13(ptr) Variable Private
12: 6(float) Constant 0 15: 6(float) Constant 1065353216
13: 7(fvec4) ConstantComposite 10 11 12 10 16: 6(float) Constant 1056964608
14(b1): 8(ptr) Variable Private 17: 6(float) Constant 0
15: 6(float) Constant 1073741824 18: 7(fvec4) ConstantComposite 15 16 17 15
16: 6(float) Constant 1075838976 19(b1): 13(ptr) Variable Private
17: 6(float) Constant 1074161254 20: 6(float) Constant 1073741824
18: 6(float) Constant 1074580685 21: 6(float) Constant 1075838976
19: 7(fvec4) ConstantComposite 15 16 17 18 22: 6(float) Constant 1074161254
20(a1i): 8(ptr) Variable Private 23: 6(float) Constant 1074580685
21(b1i): 8(ptr) Variable Private 24: 7(fvec4) ConstantComposite 20 21 22 23
22: TypePointer Private 6(float) 25(a1i): 13(ptr) Variable Private
23(a2): 22(ptr) Variable Private 26(b1i): 13(ptr) Variable Private
24: 6(float) Constant 1045220557 27: TypePointer Private 6(float)
25(b3): 22(ptr) Variable Private 28(a2): 27(ptr) Variable Private
26: 6(float) Constant 1050253722 29: 6(float) Constant 1045220557
27(b4): 22(ptr) Variable Private 30(b3): 27(ptr) Variable Private
28: 6(float) Constant 1053609165 31: 6(float) Constant 1050253722
29(a5): 22(ptr) Variable Private 32(b4): 27(ptr) Variable Private
30(c5): 22(ptr) Variable Private 33: 6(float) Constant 1053609165
31: 6(float) Constant 1069547520 34(a5): 27(ptr) Variable Private
32: TypeInt 32 1 35(c5): 27(ptr) Variable Private
33(Single1): TypeStruct 32(int) 36: 6(float) Constant 1069547520
34: TypePointer Private 33(Single1) 37: TypeInt 32 1
35(single1): 34(ptr) Variable Private 38(Single1): TypeStruct 37(int)
36: 32(int) Constant 10 39: TypePointer Private 38(Single1)
37: 33(Single1) ConstantComposite 36 40(single1): 39(ptr) Variable Private
38: TypeInt 32 0 41: 37(int) Constant 10
39: TypeVector 38(int) 2 42: 38(Single1) ConstantComposite 41
40(Single2): TypeStruct 39(ivec2) 43: TypeInt 32 0
41: TypePointer Private 40(Single2) 44: TypeVector 43(int) 2
42(single2): 41(ptr) Variable Private 45(Single2): TypeStruct 44(ivec2)
43: 38(int) Constant 1 46: TypePointer Private 45(Single2)
44: 38(int) Constant 2 47(single2): 46(ptr) Variable Private
45: 39(ivec2) ConstantComposite 43 44 48: 43(int) Constant 1
46: 40(Single2) ConstantComposite 45 49: 43(int) Constant 2
47(Single3): TypeStruct 33(Single1) 50: 44(ivec2) ConstantComposite 48 49
48: TypePointer Private 47(Single3) 51: 45(Single2) ConstantComposite 50
49(single3): 48(ptr) Variable Private 52(Single3): TypeStruct 38(Single1)
50: 32(int) Constant 3 53: TypePointer Private 52(Single3)
51: 33(Single1) ConstantComposite 50 54(single3): 53(ptr) Variable Private
52: 47(Single3) ConstantComposite 51 55: 37(int) Constant 3
53(Single4): TypeStruct 40(Single2) 56: 38(Single1) ConstantComposite 55
54: TypePointer Private 53(Single4) 57: 52(Single3) ConstantComposite 56
55(single4): 54(ptr) Variable Private 58(Single4): TypeStruct 45(Single2)
56: 38(int) Constant 4 59: TypePointer Private 58(Single4)
57: 38(int) Constant 5 60(single4): 59(ptr) Variable Private
58: 39(ivec2) ConstantComposite 56 57 61: 43(int) Constant 4
59: 40(Single2) ConstantComposite 58 62: 43(int) Constant 5
60: 53(Single4) ConstantComposite 59 63: 44(ivec2) ConstantComposite 61 62
61: TypePointer Function 7(fvec4) 64: 45(Single2) ConstantComposite 63
63: 7(fvec4) ConstantComposite 24 26 28 11 65: 58(Single4) ConstantComposite 64
64(S1): TypeStruct 6(float) 32(int) 67: 7(fvec4) ConstantComposite 29 31 33 16
65(S2): TypeStruct 32(int) 6(float) 64(S1) 68(S1): TypeStruct 6(float) 37(int)
66: TypePointer Function 65(S2) 69(S2): TypeStruct 37(int) 6(float) 68(S1)
68: 32(int) Constant 9 70: TypePointer Function 69(S2)
70(a3): 22(ptr) Variable Private 72: 37(int) Constant 9
71(a4): 22(ptr) Variable Private 74(a3): 27(ptr) Variable Private
73: 32(int) Constant 12 75(a4): 27(ptr) Variable Private
81: TypePointer Function 6(float) 77: 37(int) Constant 12
83(b2): 22(ptr) Variable Private 85: TypePointer Function 6(float)
87: TypePointer Output 7(fvec4) 87(b2): 27(ptr) Variable Private
88(@entryPointOutput): 87(ptr) Variable Output 97: TypePointer Input 7(fvec4)
89: TypePointer Input 7(fvec4) 98(input): 97(ptr) Variable Input
90(input): 89(ptr) Variable Input 100: TypePointer Output 7(fvec4)
95(c4): 22(ptr) Variable Private 101(@entryPointOutput): 100(ptr) Variable Output
96(b5): 22(ptr) Variable Private 105(c4): 27(ptr) Variable Private
97(Constants): TypeStruct 6(float) 6(float) 6(float) 106(b5): 27(ptr) Variable Private
98: TypePointer Uniform 97(Constants) 107(Constants): TypeStruct 6(float) 6(float) 6(float)
99: 98(ptr) Variable Uniform 108: TypePointer Uniform 107(Constants)
109: 108(ptr) Variable Uniform
4(ShaderFunction): 2 Function None 3 4(ShaderFunction): 2 Function None 3
5: Label 5: Label
62(a2): 61(ptr) Variable Function 96(input): 8(ptr) Variable Function
67(s2i): 66(ptr) Variable Function 102(param): 8(ptr) Variable Function
76(s2): 66(ptr) Variable Function Store 14(a1) 18
82(a8): 81(ptr) Variable Function Store 19(b1) 24
85(a9): 81(ptr) Variable Function Store 25(a1i) 18
Store 9(a1) 13 Store 26(b1i) 24
Store 14(b1) 19 Store 28(a2) 29
Store 20(a1i) 13 Store 30(b3) 31
Store 21(b1i) 19 Store 32(b4) 33
Store 23(a2) 24 Store 34(a5) 16
Store 25(b3) 26 Store 35(c5) 36
Store 27(b4) 28 Store 40(single1) 42
Store 29(a5) 11 Store 47(single2) 51
Store 30(c5) 31 Store 54(single3) 57
Store 35(single1) 37 Store 60(single4) 65
Store 42(single2) 46 99: 7(fvec4) Load 98(input)
Store 49(single3) 52 Store 96(input) 99
Store 55(single4) 60 103: 7(fvec4) Load 96(input)
Store 62(a2) 63 Store 102(param) 103
69: 6(float) Load 29(a5) 104: 7(fvec4) FunctionCall 11(@ShaderFunction(vf4;) 102(param)
72: 6(float) Load 71(a4) Store 101(@entryPointOutput) 104
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
Return Return
FunctionEnd 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 'n' (temp float)
0:39 Constant: 0:39 Constant:
0:39 1.000000 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:45 Function Parameters:
0:? Sequence 0:? Sequence
0:46 Function Call: Test1( (temp void) 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:49 1.000000
0:49 1.000000 0:49 1.000000
0:50 Sequence 0:50 Branch: Return with expression
0:50 Sequence 0:50 'ps_output' (temp structure{temp 4-component vector of float color})
0:50 move second child to first child (temp 4-component vector of float) 0:45 Function Definition: main( (temp void)
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:45 Function Parameters:
0:50 color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:50 'ps_output' (temp structure{temp 4-component vector of float color}) 0:45 Sequence
0:50 Constant: 0:45 move second child to first child (temp 4-component vector of float)
0:50 0 (const int) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:50 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float) 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 'n' (temp float)
0:39 Constant: 0:39 Constant:
0:39 1.000000 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:45 Function Parameters:
0:? Sequence 0:? Sequence
0:46 Function Call: Test1( (temp void) 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:49 1.000000
0:49 1.000000 0:49 1.000000
0:50 Sequence 0:50 Branch: Return with expression
0:50 Sequence 0:50 'ps_output' (temp structure{temp 4-component vector of float color})
0:50 move second child to first child (temp 4-component vector of float) 0:45 Function Definition: main( (temp void)
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:45 Function Parameters:
0:50 color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:50 'ps_output' (temp structure{temp 4-component vector of float color}) 0:45 Sequence
0:50 Constant: 0:45 move second child to first child (temp 4-component vector of float)
0:50 0 (const int) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:50 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 107 // Id's are bound by 112
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 103 EntryPoint Fragment 4 "main" 109
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 6 "Test1(" Name 6 "Test1("
Name 10 "mystruct" Name 10 "PS_OUTPUT"
MemberName 10(mystruct) 0 "a" MemberName 10(PS_OUTPUT) 0 "color"
Name 12 "test1" Name 12 "@main("
Name 17 "test2" Name 15 "mystruct"
Name 23 "test4" MemberName 15(mystruct) 0 "a"
Name 25 "mystruct2" Name 17 "test1"
MemberName 25(mystruct2) 0 "a" Name 22 "test2"
MemberName 25(mystruct2) 1 "b" Name 28 "test4"
MemberName 25(mystruct2) 2 "c" Name 30 "mystruct2"
Name 27 "test5" MemberName 30(mystruct2) 0 "a"
Name 32 "n" MemberName 30(mystruct2) 1 "b"
Name 39 "a" MemberName 30(mystruct2) 2 "c"
Name 75 "one" Name 32 "test5"
MemberName 75(one) 0 "a" Name 37 "n"
Name 77 "oneNonConst" Name 44 "a"
Name 82 "two" Name 80 "one"
MemberName 82(two) 0 "a" MemberName 80(one) 0 "a"
MemberName 82(two) 1 "b" Name 82 "oneNonConst"
Name 84 "twoNonConst" Name 87 "two"
Name 94 "PS_OUTPUT" MemberName 87(two) 0 "a"
MemberName 94(PS_OUTPUT) 0 "color" MemberName 87(two) 1 "b"
Name 96 "ps_output" Name 89 "twoNonConst"
Name 103 "color" Name 99 "ps_output"
Decorate 103(color) Location 0 Name 109 "color"
Decorate 109(color) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
8: TypeFloat 32 8: TypeFloat 32
9: TypeVector 8(float) 2 9: TypeVector 8(float) 4
10(mystruct): TypeStruct 9(fvec2) 10(PS_OUTPUT): TypeStruct 9(fvec4)
11: TypePointer Function 10(mystruct) 11: TypeFunction 10(PS_OUTPUT)
13: 8(float) Constant 1065353216 14: TypeVector 8(float) 2
14: 8(float) Constant 1073741824 15(mystruct): TypeStruct 14(fvec2)
15: 9(fvec2) ConstantComposite 13 14 16: TypePointer Function 15(mystruct)
16:10(mystruct) ConstantComposite 15 18: 8(float) Constant 1065353216
18: 8(float) Constant 1077936128 19: 8(float) Constant 1073741824
19: 8(float) Constant 1082130432 20: 14(fvec2) ConstantComposite 18 19
20: 9(fvec2) ConstantComposite 18 19 21:15(mystruct) ConstantComposite 20
21:10(mystruct) ConstantComposite 20 23: 8(float) Constant 1077936128
22: TypePointer Function 8(float) 24: 8(float) Constant 1082130432
24: 8(float) Constant 1088421888 25: 14(fvec2) ConstantComposite 23 24
25(mystruct2): TypeStruct 8(float) 8(float) 8(float) 26:15(mystruct) ConstantComposite 25
26: TypePointer Function 25(mystruct2) 27: TypePointer Function 8(float)
28: 8(float) Constant 1090519040 29: 8(float) Constant 1088421888
29: 8(float) Constant 1091567616 30(mystruct2): TypeStruct 8(float) 8(float) 8(float)
30: 8(float) Constant 1092616192 31: TypePointer Function 30(mystruct2)
31:25(mystruct2) ConstantComposite 28 29 30 33: 8(float) Constant 1090519040
33: 8(float) Constant 0 34: 8(float) Constant 1091567616
34: TypeVector 8(float) 3 35: 8(float) Constant 1092616192
35: TypeInt 32 0 36:30(mystruct2) ConstantComposite 33 34 35
36: 35(int) Constant 8 38: 8(float) Constant 0
37: TypeArray 34(fvec3) 36 39: TypeVector 8(float) 3
38: TypePointer Function 37 40: TypeInt 32 0
40: 8(float) Constant 1058262330 41: 40(int) Constant 8
41: 34(fvec3) ConstantComposite 40 40 40 42: TypeArray 39(fvec3) 41
45: 8(float) Constant 3205745978 43: TypePointer Function 42
46: 34(fvec3) ConstantComposite 45 45 45 45: 8(float) Constant 1058262330
50: 34(fvec3) ConstantComposite 45 45 40 46: 39(fvec3) ConstantComposite 45 45 45
54: 34(fvec3) ConstantComposite 45 40 45 50: 8(float) Constant 3205745978
58: 34(fvec3) ConstantComposite 45 40 40 51: 39(fvec3) ConstantComposite 50 50 50
62: 34(fvec3) ConstantComposite 40 45 45 55: 39(fvec3) ConstantComposite 50 50 45
66: 34(fvec3) ConstantComposite 40 45 40 59: 39(fvec3) ConstantComposite 50 45 50
70: 34(fvec3) ConstantComposite 40 40 45 63: 39(fvec3) ConstantComposite 50 45 45
75(one): TypeStruct 34(fvec3) 67: 39(fvec3) ConstantComposite 45 50 50
76: TypePointer Function 75(one) 71: 39(fvec3) ConstantComposite 45 50 45
82(two): TypeStruct 34(fvec3) 34(fvec3) 75: 39(fvec3) ConstantComposite 45 45 50
83: TypePointer Function 82(two) 80(one): TypeStruct 39(fvec3)
93: TypeVector 8(float) 4 81: TypePointer Function 80(one)
94(PS_OUTPUT): TypeStruct 93(fvec4) 87(two): TypeStruct 39(fvec3) 39(fvec3)
95: TypePointer Function 94(PS_OUTPUT) 88: TypePointer Function 87(two)
97: TypeInt 32 1 98: TypePointer Function 10(PS_OUTPUT)
98: 97(int) Constant 0 100: TypeInt 32 1
99: 93(fvec4) ConstantComposite 13 13 13 13 101: 100(int) Constant 0
100: TypePointer Function 93(fvec4) 102: 9(fvec4) ConstantComposite 18 18 18 18
102: TypePointer Output 93(fvec4) 103: TypePointer Function 9(fvec4)
103(color): 102(ptr) Variable Output 108: TypePointer Output 9(fvec4)
109(color): 108(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
96(ps_output): 95(ptr) Variable Function 110:10(PS_OUTPUT) FunctionCall 12(@main()
92: 2 FunctionCall 6(Test1() 111: 9(fvec4) CompositeExtract 110 0
101: 100(ptr) AccessChain 96(ps_output) 98 Store 109(color) 111
Store 101 99
104: 100(ptr) AccessChain 96(ps_output) 98
105: 93(fvec4) Load 104
Store 103(color) 105
Return Return
FunctionEnd FunctionEnd
6(Test1(): 2 Function None 3 6(Test1(): 2 Function None 3
7: Label 7: Label
12(test1): 11(ptr) Variable Function 17(test1): 16(ptr) Variable Function
17(test2): 11(ptr) Variable Function 22(test2): 16(ptr) Variable Function
23(test4): 22(ptr) Variable Function 28(test4): 27(ptr) Variable Function
27(test5): 26(ptr) Variable Function 32(test5): 31(ptr) Variable Function
32(n): 22(ptr) Variable Function 37(n): 27(ptr) Variable Function
39(a): 38(ptr) Variable Function 44(a): 43(ptr) Variable Function
77(oneNonConst): 76(ptr) Variable Function 82(oneNonConst): 81(ptr) Variable Function
84(twoNonConst): 83(ptr) Variable Function 89(twoNonConst): 88(ptr) Variable Function
Store 12(test1) 16 Store 17(test1) 21
Store 17(test2) 21 Store 22(test2) 26
Store 23(test4) 24 Store 28(test4) 29
Store 27(test5) 31 Store 32(test5) 36
Store 32(n) 33 Store 37(n) 38
42: 8(float) Load 32(n) 47: 8(float) Load 37(n)
43: 8(float) FAdd 42 13 48: 8(float) FAdd 47 18
Store 32(n) 43 Store 37(n) 48
44: 34(fvec3) VectorTimesScalar 41 43 49: 39(fvec3) VectorTimesScalar 46 48
47: 8(float) Load 32(n) 52: 8(float) Load 37(n)
48: 8(float) FAdd 47 13 53: 8(float) FAdd 52 18
Store 32(n) 48 Store 37(n) 53
49: 34(fvec3) VectorTimesScalar 46 48 54: 39(fvec3) VectorTimesScalar 51 53
51: 8(float) Load 32(n) 56: 8(float) Load 37(n)
52: 8(float) FAdd 51 13 57: 8(float) FAdd 56 18
Store 32(n) 52 Store 37(n) 57
53: 34(fvec3) VectorTimesScalar 50 52 58: 39(fvec3) VectorTimesScalar 55 57
55: 8(float) Load 32(n) 60: 8(float) Load 37(n)
56: 8(float) FAdd 55 13 61: 8(float) FAdd 60 18
Store 32(n) 56 Store 37(n) 61
57: 34(fvec3) VectorTimesScalar 54 56 62: 39(fvec3) VectorTimesScalar 59 61
59: 8(float) Load 32(n) 64: 8(float) Load 37(n)
60: 8(float) FAdd 59 13 65: 8(float) FAdd 64 18
Store 32(n) 60 Store 37(n) 65
61: 34(fvec3) VectorTimesScalar 58 60 66: 39(fvec3) VectorTimesScalar 63 65
63: 8(float) Load 32(n) 68: 8(float) Load 37(n)
64: 8(float) FAdd 63 13 69: 8(float) FAdd 68 18
Store 32(n) 64 Store 37(n) 69
65: 34(fvec3) VectorTimesScalar 62 64 70: 39(fvec3) VectorTimesScalar 67 69
67: 8(float) Load 32(n) 72: 8(float) Load 37(n)
68: 8(float) FAdd 67 13 73: 8(float) FAdd 72 18
Store 32(n) 68 Store 37(n) 73
69: 34(fvec3) VectorTimesScalar 66 68 74: 39(fvec3) VectorTimesScalar 71 73
71: 8(float) Load 32(n) 76: 8(float) Load 37(n)
72: 8(float) FAdd 71 13 77: 8(float) FAdd 76 18
Store 32(n) 72 Store 37(n) 77
73: 34(fvec3) VectorTimesScalar 70 72 78: 39(fvec3) VectorTimesScalar 75 77
74: 37 CompositeConstruct 44 49 53 57 61 65 69 73 79: 42 CompositeConstruct 49 54 58 62 66 70 74 78
Store 39(a) 74 Store 44(a) 79
78: 8(float) Load 32(n) 83: 8(float) Load 37(n)
79: 8(float) FAdd 78 13 84: 8(float) FAdd 83 18
Store 32(n) 79 Store 37(n) 84
80: 34(fvec3) VectorTimesScalar 58 79 85: 39(fvec3) VectorTimesScalar 63 84
81: 75(one) CompositeConstruct 80 86: 80(one) CompositeConstruct 85
Store 77(oneNonConst) 81 Store 82(oneNonConst) 86
85: 8(float) Load 32(n) 90: 8(float) Load 37(n)
86: 8(float) FAdd 85 13 91: 8(float) FAdd 90 18
Store 32(n) 86 Store 37(n) 91
87: 34(fvec3) VectorTimesScalar 58 86 92: 39(fvec3) VectorTimesScalar 63 91
88: 8(float) Load 32(n) 93: 8(float) Load 37(n)
89: 8(float) FAdd 88 13 94: 8(float) FAdd 93 18
Store 32(n) 89 Store 37(n) 94
90: 34(fvec3) VectorTimesScalar 58 89 95: 39(fvec3) VectorTimesScalar 63 94
91: 82(two) CompositeConstruct 87 90 96: 87(two) CompositeConstruct 92 95
Store 84(twoNonConst) 91 Store 89(twoNonConst) 96
Return Return
FunctionEnd 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 'x' (in float)
0:11 Constant: 0:11 Constant:
0:11 -1.000000 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 Function Parameters:
0:15 'inpos' (noperspective in 4-component vector of float FragCoord) 0:15 'inpos' (noperspective in 4-component vector of float FragCoord)
0:15 'sampleMask' (out int SampleMaskIn) 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 'inpos' (noperspective in 4-component vector of float FragCoord)
0:22 Constant: 0:22 Constant:
0:22 3 (const int) 0:22 3 (const int)
0:24 Sequence 0:24 Branch: Return with expression
0:24 Sequence 0:24 'psout' (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:15 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:15 Function Parameters:
0:24 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:15 move second child to first child (temp 4-component vector of float)
0:24 Constant: 0:? 'inpos' (temp 4-component vector of float)
0:24 0 (const int) 0:? 'inpos' (noperspective in 4-component vector of float FragCoord)
0:24 move second child to first child (temp float) 0:15 Sequence
0:? 'Depth' (out float FragDepth) 0:15 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Depth: direct index for structure (temp float) 0:15 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 'psout' (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:24 Constant: 0:? 'inpos' (temp 4-component vector of float)
0:24 1 (const int) 0:? 'sampleMask' (temp int)
0:24 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth) 0:? 'Depth' (out float FragDepth)
@ -100,7 +114,7 @@ gl_FragCoord origin is upper left
0:11 'x' (in float) 0:11 'x' (in float)
0:11 Constant: 0:11 Constant:
0:11 -1.000000 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 Function Parameters:
0:15 'inpos' (noperspective in 4-component vector of float FragCoord) 0:15 'inpos' (noperspective in 4-component vector of float FragCoord)
0:15 'sampleMask' (out int SampleMaskIn) 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 'inpos' (noperspective in 4-component vector of float FragCoord)
0:22 Constant: 0:22 Constant:
0:22 3 (const int) 0:22 3 (const int)
0:24 Sequence 0:24 Branch: Return with expression
0:24 Sequence 0:24 'psout' (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:15 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:15 Function Parameters:
0:24 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:15 move second child to first child (temp 4-component vector of float)
0:24 Constant: 0:? 'inpos' (temp 4-component vector of float)
0:24 0 (const int) 0:? 'inpos' (noperspective in 4-component vector of float FragCoord)
0:24 move second child to first child (temp float) 0:15 Sequence
0:? 'Depth' (out float FragDepth) 0:15 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Depth: direct index for structure (temp float) 0:15 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 'psout' (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:24 Constant: 0:? 'inpos' (temp 4-component vector of float)
0:24 1 (const int) 0:? 'sampleMask' (temp int)
0:24 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth) 0:? 'Depth' (out float FragDepth)
@ -161,101 +189,97 @@ gl_FragCoord origin is upper left
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 63 // Id's are bound by 80
Capability Shader Capability Shader
Capability SampleRateShading Capability SampleRateShading
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 45 53 57 62 EntryPoint Fragment 4 "main" 60 70 74 78
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 12 "MyFunc(f1;f1;f1;" Name 12 "MyFunc(f1;f1;f1;"
Name 9 "x" Name 9 "x"
Name 10 "y" Name 10 "y"
Name 11 "z" Name 11 "z"
Name 17 "x" Name 18 "PS_OUTPUT"
Name 19 "z" MemberName 18(PS_OUTPUT) 0 "Color"
Name 21 "y" MemberName 18(PS_OUTPUT) 1 "Depth"
Name 22 "param" Name 22 "@main(vf4;i1;"
Name 24 "param" Name 20 "inpos"
Name 25 "param" Name 21 "sampleMask"
Name 31 "PS_OUTPUT" Name 27 "x"
MemberName 31(PS_OUTPUT) 0 "Color" Name 29 "z"
MemberName 31(PS_OUTPUT) 1 "Depth" Name 31 "y"
Name 33 "psout" Name 32 "param"
Name 45 "inpos" Name 34 "param"
Name 53 "Color" Name 35 "param"
Name 57 "Depth" Name 41 "psout"
Name 62 "sampleMask" Name 58 "inpos"
Decorate 45(inpos) NoPerspective Name 60 "inpos"
Decorate 45(inpos) BuiltIn FragCoord Name 62 "flattenTemp"
Decorate 53(Color) Location 0 Name 63 "sampleMask"
Decorate 57(Depth) BuiltIn FragDepth Name 64 "param"
Decorate 62(sampleMask) BuiltIn SampleMask 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypePointer Function 6(float) 7: TypePointer Function 6(float)
8: TypeFunction 2 7(ptr) 7(ptr) 7(ptr) 8: TypeFunction 2 7(ptr) 7(ptr) 7(ptr)
16: 6(float) Constant 3212836864 14: TypeVector 6(float) 4
18: 6(float) Constant 1088421888 15: TypePointer Function 14(fvec4)
20: 6(float) Constant 1077936128 16: TypeInt 32 1
30: TypeVector 6(float) 4 17: TypePointer Function 16(int)
31(PS_OUTPUT): TypeStruct 30(fvec4) 6(float) 18(PS_OUTPUT): TypeStruct 14(fvec4) 6(float)
32: TypePointer Function 31(PS_OUTPUT) 19: TypeFunction 18(PS_OUTPUT) 15(ptr) 17(ptr)
34: TypeInt 32 1 26: 6(float) Constant 3212836864
35: 34(int) Constant 0 28: 6(float) Constant 1088421888
39: 6(float) Constant 1065353216 30: 6(float) Constant 1077936128
41: TypePointer Function 30(fvec4) 40: TypePointer Function 18(PS_OUTPUT)
43: 34(int) Constant 1 42: 16(int) Constant 0
44: TypePointer Input 30(fvec4) 46: 6(float) Constant 1065353216
45(inpos): 44(ptr) Variable Input 49: 16(int) Constant 1
46: TypeInt 32 0 50: TypeInt 32 0
47: 46(int) Constant 3 51: 50(int) Constant 3
48: TypePointer Input 6(float) 59: TypePointer Input 14(fvec4)
52: TypePointer Output 30(fvec4) 60(inpos): 59(ptr) Variable Input
53(Color): 52(ptr) Variable Output 69: TypePointer Output 14(fvec4)
56: TypePointer Output 6(float) 70(Color): 69(ptr) Variable Output
57(Depth): 56(ptr) Variable Output 73: TypePointer Output 6(float)
61: TypePointer Output 34(int) 74(Depth): 73(ptr) Variable Output
62(sampleMask): 61(ptr) Variable Output 77: TypePointer Output 16(int)
78(sampleMask): 77(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
17(x): 7(ptr) Variable Function 58(inpos): 15(ptr) Variable Function
19(z): 7(ptr) Variable Function 62(flattenTemp): 40(ptr) Variable Function
21(y): 7(ptr) Variable Function 63(sampleMask): 17(ptr) Variable Function
22(param): 7(ptr) Variable Function 64(param): 15(ptr) Variable Function
24(param): 7(ptr) Variable Function 66(param): 17(ptr) Variable Function
25(param): 7(ptr) Variable Function 61: 14(fvec4) Load 60(inpos)
33(psout): 32(ptr) Variable Function Store 58(inpos) 61
Store 17(x) 18 65: 14(fvec4) Load 58(inpos)
Store 19(z) 20 Store 64(param) 65
23: 6(float) Load 17(x) 67:18(PS_OUTPUT) FunctionCall 22(@main(vf4;i1;) 64(param) 66(param)
Store 22(param) 23 68: 16(int) Load 66(param)
26: 6(float) Load 19(z) Store 63(sampleMask) 68
Store 25(param) 26 Store 62(flattenTemp) 67
27: 2 FunctionCall 12(MyFunc(f1;f1;f1;) 22(param) 24(param) 25(param) 71: 15(ptr) AccessChain 62(flattenTemp) 42
28: 6(float) Load 24(param) 72: 14(fvec4) Load 71
Store 21(y) 28 Store 70(Color) 72
29: 6(float) Load 25(param) 75: 7(ptr) AccessChain 62(flattenTemp) 49
Store 19(z) 29 76: 6(float) Load 75
36: 6(float) Load 17(x) Store 74(Depth) 76
37: 6(float) Load 21(y) 79: 16(int) Load 63(sampleMask)
38: 6(float) Load 19(z) Store 78(sampleMask) 79
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
Return Return
FunctionEnd FunctionEnd
12(MyFunc(f1;f1;f1;): 2 Function None 8 12(MyFunc(f1;f1;f1;): 2 Function None 8
@ -263,10 +287,45 @@ gl_FragCoord origin is upper left
10(y): 7(ptr) FunctionParameter 10(y): 7(ptr) FunctionParameter
11(z): 7(ptr) FunctionParameter 11(z): 7(ptr) FunctionParameter
13: Label 13: Label
14: 6(float) Load 9(x) 24: 6(float) Load 9(x)
Store 10(y) 14 Store 10(y) 24
15: 6(float) Load 10(y) 25: 6(float) Load 10(y)
Store 11(z) 15 Store 11(z) 25
Store 9(x) 16 Store 9(x) 26
Return Return
FunctionEnd 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 Shader version: 450
local_size = (1, 1, 1) local_size = (1, 1, 1)
0:? Sequence 0:? Sequence
0:3 Function Definition: ComputeShaderFunction( (temp float) 0:3 Function Definition: @ComputeShaderFunction( (temp float)
0:3 Function Parameters: 0:3 Function Parameters:
0:? Sequence 0:? Sequence
0:4 MemoryBarrier (temp void) 0:4 MemoryBarrier (temp void)
@ -11,12 +11,15 @@ local_size = (1, 1, 1)
0:7 GroupMemoryBarrierWithGroupSync (temp void) 0:7 GroupMemoryBarrierWithGroupSync (temp void)
0:8 WorkgroupMemoryBarrier (temp void) 0:8 WorkgroupMemoryBarrier (temp void)
0:9 WorkgroupMemoryBarrierWithGroupSync (temp void) 0:9 WorkgroupMemoryBarrierWithGroupSync (temp void)
0:11 Sequence 0:11 Branch: Return with expression
0:11 move second child to first child (temp float) 0:11 Constant:
0:? '@entryPointOutput' (layout(location=0 ) out float) 0:11 0.000000
0:11 Constant: 0:3 Function Definition: ComputeShaderFunction( (temp void)
0:11 0.000000 0:3 Function Parameters:
0:11 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out float) 0:? '@entryPointOutput' (layout(location=0 ) out float)
@ -27,7 +30,7 @@ Linked compute stage:
Shader version: 450 Shader version: 450
local_size = (1, 1, 1) local_size = (1, 1, 1)
0:? Sequence 0:? Sequence
0:3 Function Definition: ComputeShaderFunction( (temp float) 0:3 Function Definition: @ComputeShaderFunction( (temp float)
0:3 Function Parameters: 0:3 Function Parameters:
0:? Sequence 0:? Sequence
0:4 MemoryBarrier (temp void) 0:4 MemoryBarrier (temp void)
@ -36,47 +39,57 @@ local_size = (1, 1, 1)
0:7 GroupMemoryBarrierWithGroupSync (temp void) 0:7 GroupMemoryBarrierWithGroupSync (temp void)
0:8 WorkgroupMemoryBarrier (temp void) 0:8 WorkgroupMemoryBarrier (temp void)
0:9 WorkgroupMemoryBarrierWithGroupSync (temp void) 0:9 WorkgroupMemoryBarrierWithGroupSync (temp void)
0:11 Sequence 0:11 Branch: Return with expression
0:11 move second child to first child (temp float) 0:11 Constant:
0:? '@entryPointOutput' (layout(location=0 ) out float) 0:11 0.000000
0:11 Constant: 0:3 Function Definition: ComputeShaderFunction( (temp void)
0:11 0.000000 0:3 Function Parameters:
0:11 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out float) 0:? '@entryPointOutput' (layout(location=0 ) out float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 17 // Id's are bound by 22
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "ComputeShaderFunction" 14 EntryPoint GLCompute 4 "ComputeShaderFunction" 20
ExecutionMode 4 LocalSize 1 1 1 ExecutionMode 4 LocalSize 1 1 1
Name 4 "ComputeShaderFunction" Name 4 "ComputeShaderFunction"
Name 14 "@entryPointOutput" Name 8 "@ComputeShaderFunction("
Decorate 14(@entryPointOutput) Location 0 Name 20 "@entryPointOutput"
Decorate 20(@entryPointOutput) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeFloat 32
7: 6(int) Constant 1 7: TypeFunction 6(float)
8: 6(int) Constant 4048 10: TypeInt 32 0
9: 6(int) Constant 512 11: 10(int) Constant 1
10: 6(int) Constant 2 12: 10(int) Constant 4048
11: 6(int) Constant 256 13: 10(int) Constant 512
12: TypeFloat 32 14: 10(int) Constant 2
13: TypePointer Output 12(float) 15: 10(int) Constant 256
14(@entryPointOutput): 13(ptr) Variable Output 16: 6(float) Constant 0
15: 12(float) Constant 0 19: TypePointer Output 6(float)
20(@entryPointOutput): 19(ptr) Variable Output
4(ComputeShaderFunction): 2 Function None 3 4(ComputeShaderFunction): 2 Function None 3
5: Label 5: Label
MemoryBarrier 7 8 21: 6(float) FunctionCall 8(@ComputeShaderFunction()
ControlBarrier 7 7 8 Store 20(@entryPointOutput) 21
MemoryBarrier 7 9
ControlBarrier 7 7 9
MemoryBarrier 10 11
ControlBarrier 10 10 11
Store 14(@entryPointOutput) 15
Return Return
FunctionEnd 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:? 1.000000
0:? 2.000000 0:? 2.000000
0:? 3.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 Function Parameters:
0:105 'inF0' (layout(location=0 ) in 4-component vector of float) 0:105 'inF0' (in 4-component vector of float)
0:105 'inF1' (layout(location=1 ) in 4-component vector of float) 0:105 'inF1' (in 4-component vector of float)
0:105 'inF2' (layout(location=2 ) in 4-component vector of float) 0:105 'inF2' (in 4-component vector of float)
0:105 'inU0' (layout(location=3 ) in 4-component vector of uint) 0:105 'inU0' (in 4-component vector of uint)
0:105 'inU1' (layout(location=4 ) in 4-component vector of uint) 0:105 'inU1' (in 4-component vector of uint)
0:? Sequence 0:? Sequence
0:109 all (temp bool) 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 AtomicAdd (temp void)
0:112 'gs_ua4' (shared 4-component vector of uint) 0:112 'gs_ua4' (shared 4-component vector of uint)
0:112 'gs_ub4' (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 AtomicXor (temp 4-component vector of uint)
0:125 'gs_ua4' (shared 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:125 'gs_ub4' (shared 4-component vector of uint)
0:128 Sequence 0:128 Branch: Return with expression
0:128 move second child to first child (temp 4-component vector of float) 0:? Constant:
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 1.000000
0:? Constant: 0:? 2.000000
0:? 1.000000 0:? 3.000000
0:? 2.000000 0:? 4.000000
0:? 3.000000 0:105 Function Definition: ComputeShaderFunction( (temp void)
0:? 4.000000 0:105 Function Parameters:
0:128 Branch: Return 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:? 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_ua' (shared uint)
0:? 'gs_ub' (shared uint) 0:? 'gs_ub' (shared uint)
0:? 'gs_uc' (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_ua4' (shared 4-component vector of uint)
0:? 'gs_ub4' (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:? '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: Linked compute stage:
@ -563,16 +586,16 @@ local_size = (1, 1, 1)
0:? 1.000000 0:? 1.000000
0:? 2.000000 0:? 2.000000
0:? 3.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 Function Parameters:
0:105 'inF0' (layout(location=0 ) in 4-component vector of float) 0:105 'inF0' (in 4-component vector of float)
0:105 'inF1' (layout(location=1 ) in 4-component vector of float) 0:105 'inF1' (in 4-component vector of float)
0:105 'inF2' (layout(location=2 ) in 4-component vector of float) 0:105 'inF2' (in 4-component vector of float)
0:105 'inU0' (layout(location=3 ) in 4-component vector of uint) 0:105 'inU0' (in 4-component vector of uint)
0:105 'inU1' (layout(location=4 ) in 4-component vector of uint) 0:105 'inU1' (in 4-component vector of uint)
0:? Sequence 0:? Sequence
0:109 all (temp bool) 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 AtomicAdd (temp void)
0:112 'gs_ua4' (shared 4-component vector of uint) 0:112 'gs_ua4' (shared 4-component vector of uint)
0:112 'gs_ub4' (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 AtomicXor (temp 4-component vector of uint)
0:125 'gs_ua4' (shared 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:125 'gs_ub4' (shared 4-component vector of uint)
0:128 Sequence 0:128 Branch: Return with expression
0:128 move second child to first child (temp 4-component vector of float) 0:? Constant:
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 1.000000
0:? Constant: 0:? 2.000000
0:? 1.000000 0:? 3.000000
0:? 2.000000 0:? 4.000000
0:? 3.000000 0:105 Function Definition: ComputeShaderFunction( (temp void)
0:? 4.000000 0:105 Function Parameters:
0:128 Branch: Return 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:? 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_ua' (shared uint)
0:? 'gs_ub' (shared uint) 0:? 'gs_ub' (shared uint)
0:? 'gs_uc' (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_ua4' (shared 4-component vector of uint)
0:? 'gs_ub4' (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:? '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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 224 // Id's are bound by 255
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 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 ExecutionMode 4 LocalSize 1 1 1
Name 4 "ComputeShaderFunction" Name 4 "ComputeShaderFunction"
Name 16 "ComputeShaderFunctionS(f1;f1;f1;u1;u1;" Name 16 "ComputeShaderFunctionS(f1;f1;f1;u1;u1;"
@ -693,34 +739,50 @@ local_size = (1, 1, 1)
Name 43 "inF2" Name 43 "inF2"
Name 44 "inU0" Name 44 "inU0"
Name 45 "inU1" Name 45 "inU1"
Name 52 "gs_ua" Name 58 "@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;"
Name 53 "gs_ub" Name 53 "inF0"
Name 58 "out_u1" Name 54 "inF1"
Name 66 "gs_uc" Name 55 "inF2"
Name 95 "gs_ua2" Name 56 "inU0"
Name 96 "gs_ub2" Name 57 "inU1"
Name 99 "out_u2" Name 64 "gs_ua"
Name 107 "gs_uc2" Name 65 "gs_ub"
Name 136 "gs_ua3" Name 70 "out_u1"
Name 137 "gs_ub3" Name 78 "gs_uc"
Name 140 "out_u3" Name 107 "gs_ua2"
Name 148 "gs_uc3" Name 108 "gs_ub2"
Name 175 "inF0" Name 111 "out_u2"
Name 180 "gs_ua4" Name 119 "gs_uc2"
Name 181 "gs_ub4" Name 148 "gs_ua3"
Name 185 "out_u4" Name 149 "gs_ub3"
Name 193 "gs_uc4" Name 152 "out_u3"
Name 215 "@entryPointOutput" Name 160 "gs_uc3"
Name 219 "inF1" Name 188 "gs_ua4"
Name 220 "inF2" Name 189 "gs_ub4"
Name 222 "inU0" Name 192 "out_u4"
Name 223 "inU1" Name 200 "gs_uc4"
Decorate 175(inF0) Location 0 Name 225 "inF0"
Decorate 215(@entryPointOutput) Location 0 Name 227 "inF0"
Decorate 219(inF1) Location 1 Name 229 "inF1"
Decorate 220(inF2) Location 2 Name 230 "inF1"
Decorate 222(inU0) Location 3 Name 232 "inF2"
Decorate 223(inU1) Location 4 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
@ -739,88 +801,81 @@ local_size = (1, 1, 1)
38: TypeVector 8(int) 3 38: TypeVector 8(int) 3
39: TypePointer Function 38(ivec3) 39: TypePointer Function 38(ivec3)
40: TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr) 40: TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr)
49: TypeBool 48: TypeVector 6(float) 4
51: TypePointer Workgroup 8(int) 49: TypePointer Function 48(fvec4)
52(gs_ua): 51(ptr) Variable Workgroup 50: TypeVector 8(int) 4
53(gs_ub): 51(ptr) Variable Workgroup 51: TypePointer Function 50(ivec4)
55: 8(int) Constant 1 52: TypeFunction 48(fvec4) 49(ptr) 49(ptr) 49(ptr) 51(ptr) 51(ptr)
56: 8(int) Constant 0 61: TypeBool
66(gs_uc): 51(ptr) Variable Workgroup 63: TypePointer Workgroup 8(int)
87: 6(float) Constant 0 64(gs_ua): 63(ptr) Variable Workgroup
94: TypePointer Workgroup 26(ivec2) 65(gs_ub): 63(ptr) Variable Workgroup
95(gs_ua2): 94(ptr) Variable Workgroup 67: 8(int) Constant 1
96(gs_ub2): 94(ptr) Variable Workgroup 68: 8(int) Constant 0
107(gs_uc2): 94(ptr) Variable Workgroup 78(gs_uc): 63(ptr) Variable Workgroup
128: 6(float) Constant 1065353216 99: 6(float) Constant 0
129: 6(float) Constant 1073741824 106: TypePointer Workgroup 26(ivec2)
130: 24(fvec2) ConstantComposite 128 129 107(gs_ua2): 106(ptr) Variable Workgroup
135: TypePointer Workgroup 38(ivec3) 108(gs_ub2): 106(ptr) Variable Workgroup
136(gs_ua3): 135(ptr) Variable Workgroup 119(gs_uc2): 106(ptr) Variable Workgroup
137(gs_ub3): 135(ptr) Variable Workgroup 140: 6(float) Constant 1065353216
148(gs_uc3): 135(ptr) Variable Workgroup 141: 6(float) Constant 1073741824
169: 6(float) Constant 1077936128 142: 24(fvec2) ConstantComposite 140 141
170: 36(fvec3) ConstantComposite 128 129 169 147: TypePointer Workgroup 38(ivec3)
173: TypeVector 6(float) 4 148(gs_ua3): 147(ptr) Variable Workgroup
174: TypePointer Input 173(fvec4) 149(gs_ub3): 147(ptr) Variable Workgroup
175(inF0): 174(ptr) Variable Input 160(gs_uc3): 147(ptr) Variable Workgroup
178: TypeVector 8(int) 4 181: 6(float) Constant 1077936128
179: TypePointer Workgroup 178(ivec4) 182: 36(fvec3) ConstantComposite 140 141 181
180(gs_ua4): 179(ptr) Variable Workgroup 187: TypePointer Workgroup 50(ivec4)
181(gs_ub4): 179(ptr) Variable Workgroup 188(gs_ua4): 187(ptr) Variable Workgroup
184: TypePointer Function 178(ivec4) 189(gs_ub4): 187(ptr) Variable Workgroup
193(gs_uc4): 179(ptr) Variable Workgroup 200(gs_uc4): 187(ptr) Variable Workgroup
214: TypePointer Output 173(fvec4) 221: 6(float) Constant 1082130432
215(@entryPointOutput): 214(ptr) Variable Output 222: 48(fvec4) ConstantComposite 140 141 181 221
216: 6(float) Constant 1082130432 226: TypePointer Input 48(fvec4)
217: 173(fvec4) ConstantComposite 128 129 169 216 227(inF0): 226(ptr) Variable Input
219(inF1): 174(ptr) Variable Input 230(inF1): 226(ptr) Variable Input
220(inF2): 174(ptr) Variable Input 233(inF2): 226(ptr) Variable Input
221: TypePointer Input 178(ivec4) 236: TypePointer Input 50(ivec4)
222(inU0): 221(ptr) Variable Input 237(inU0): 236(ptr) Variable Input
223(inU1): 221(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 4(ComputeShaderFunction): 2 Function None 3
5: Label 5: Label
185(out_u4): 184(ptr) Variable Function 225(inF0): 49(ptr) Variable Function
176: 173(fvec4) Load 175(inF0) 229(inF1): 49(ptr) Variable Function
177: 49(bool) All 176 232(inF2): 49(ptr) Variable Function
182: 178(ivec4) Load 181(gs_ub4) 235(inU0): 51(ptr) Variable Function
183: 2 AtomicIAdd 180(gs_ua4) 55 56 182 239(inU1): 51(ptr) Variable Function
186: 178(ivec4) Load 181(gs_ub4) 244(param): 49(ptr) Variable Function
187: 178(ivec4) AtomicIAdd 180(gs_ua4) 55 56 186 246(param): 49(ptr) Variable Function
Store 185(out_u4) 187 248(param): 49(ptr) Variable Function
188: 178(ivec4) Load 181(gs_ub4) 250(param): 51(ptr) Variable Function
189: 2 AtomicAnd 180(gs_ua4) 55 56 188 252(param): 51(ptr) Variable Function
190: 178(ivec4) Load 181(gs_ub4) 228: 48(fvec4) Load 227(inF0)
191: 178(ivec4) AtomicAnd 180(gs_ua4) 55 56 190 Store 225(inF0) 228
Store 185(out_u4) 191 231: 48(fvec4) Load 230(inF1)
192: 178(ivec4) Load 181(gs_ub4) Store 229(inF1) 231
194: 178(ivec4) Load 193(gs_uc4) 234: 48(fvec4) Load 233(inF2)
195: 178(ivec4) AtomicCompareExchange 180(gs_ua4) 55 56 56 194 192 Store 232(inF2) 234
Store 185(out_u4) 195 238: 50(ivec4) Load 237(inU0)
196: 178(ivec4) Load 181(gs_ub4) Store 235(inU0) 238
197: 178(ivec4) AtomicExchange 180(gs_ua4) 55 56 196 241: 50(ivec4) Load 240(inU1)
Store 185(out_u4) 197 Store 239(inU1) 241
198: 178(ivec4) Load 181(gs_ub4) 245: 48(fvec4) Load 225(inF0)
199: 2 AtomicSMax 180(gs_ua4) 55 56 198 Store 244(param) 245
200: 178(ivec4) Load 181(gs_ub4) 247: 48(fvec4) Load 229(inF1)
201: 178(ivec4) AtomicUMax 180(gs_ua4) 55 56 200 Store 246(param) 247
Store 185(out_u4) 201 249: 48(fvec4) Load 232(inF2)
202: 178(ivec4) Load 181(gs_ub4) Store 248(param) 249
203: 2 AtomicSMin 180(gs_ua4) 55 56 202 251: 50(ivec4) Load 235(inU0)
204: 178(ivec4) Load 181(gs_ub4) Store 250(param) 251
205: 178(ivec4) AtomicUMin 180(gs_ua4) 55 56 204 253: 50(ivec4) Load 239(inU1)
Store 185(out_u4) 205 Store 252(param) 253
206: 178(ivec4) Load 181(gs_ub4) 254: 48(fvec4) FunctionCall 58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;) 244(param) 246(param) 248(param) 250(param) 252(param)
207: 2 AtomicOr 180(gs_ua4) 55 56 206 Store 243(@entryPointOutput) 254
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
Return Return
FunctionEnd FunctionEnd
16(ComputeShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10 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 14(inU0): 9(ptr) FunctionParameter
15(inU1): 9(ptr) FunctionParameter 15(inU1): 9(ptr) FunctionParameter
17: Label 17: Label
58(out_u1): 9(ptr) Variable Function 70(out_u1): 9(ptr) Variable Function
48: 6(float) Load 11(inF0) 60: 6(float) Load 11(inF0)
50: 49(bool) All 48 62: 61(bool) All 60
54: 8(int) Load 53(gs_ub) 66: 8(int) Load 65(gs_ub)
57: 2 AtomicIAdd 52(gs_ua) 55 56 54 69: 2 AtomicIAdd 64(gs_ua) 67 68 66
59: 8(int) Load 53(gs_ub) 71: 8(int) Load 65(gs_ub)
60: 8(int) AtomicIAdd 52(gs_ua) 55 56 59 72: 8(int) AtomicIAdd 64(gs_ua) 67 68 71
Store 58(out_u1) 60 Store 70(out_u1) 72
61: 8(int) Load 53(gs_ub) 73: 8(int) Load 65(gs_ub)
62: 2 AtomicAnd 52(gs_ua) 55 56 61 74: 2 AtomicAnd 64(gs_ua) 67 68 73
63: 8(int) Load 53(gs_ub) 75: 8(int) Load 65(gs_ub)
64: 8(int) AtomicAnd 52(gs_ua) 55 56 63 76: 8(int) AtomicAnd 64(gs_ua) 67 68 75
Store 58(out_u1) 64 Store 70(out_u1) 76
65: 8(int) Load 53(gs_ub) 77: 8(int) Load 65(gs_ub)
67: 8(int) Load 66(gs_uc) 79: 8(int) Load 78(gs_uc)
68: 8(int) AtomicCompareExchange 52(gs_ua) 55 56 56 67 65 80: 8(int) AtomicCompareExchange 64(gs_ua) 67 68 68 79 77
Store 58(out_u1) 68 Store 70(out_u1) 80
69: 8(int) Load 53(gs_ub) 81: 8(int) Load 65(gs_ub)
70: 8(int) AtomicExchange 52(gs_ua) 55 56 69 82: 8(int) AtomicExchange 64(gs_ua) 67 68 81
Store 58(out_u1) 70 Store 70(out_u1) 82
71: 8(int) Load 53(gs_ub) 83: 8(int) Load 65(gs_ub)
72: 2 AtomicSMax 52(gs_ua) 55 56 71 84: 2 AtomicSMax 64(gs_ua) 67 68 83
73: 8(int) Load 53(gs_ub) 85: 8(int) Load 65(gs_ub)
74: 8(int) AtomicUMax 52(gs_ua) 55 56 73 86: 8(int) AtomicUMax 64(gs_ua) 67 68 85
Store 58(out_u1) 74 Store 70(out_u1) 86
75: 8(int) Load 53(gs_ub) 87: 8(int) Load 65(gs_ub)
76: 2 AtomicSMin 52(gs_ua) 55 56 75 88: 2 AtomicSMin 64(gs_ua) 67 68 87
77: 8(int) Load 53(gs_ub) 89: 8(int) Load 65(gs_ub)
78: 8(int) AtomicUMin 52(gs_ua) 55 56 77 90: 8(int) AtomicUMin 64(gs_ua) 67 68 89
Store 58(out_u1) 78 Store 70(out_u1) 90
79: 8(int) Load 53(gs_ub) 91: 8(int) Load 65(gs_ub)
80: 2 AtomicOr 52(gs_ua) 55 56 79 92: 2 AtomicOr 64(gs_ua) 67 68 91
81: 8(int) Load 53(gs_ub) 93: 8(int) Load 65(gs_ub)
82: 8(int) AtomicOr 52(gs_ua) 55 56 81 94: 8(int) AtomicOr 64(gs_ua) 67 68 93
Store 58(out_u1) 82 Store 70(out_u1) 94
83: 8(int) Load 53(gs_ub) 95: 8(int) Load 65(gs_ub)
84: 2 AtomicXor 52(gs_ua) 55 56 83 96: 2 AtomicXor 64(gs_ua) 67 68 95
85: 8(int) Load 53(gs_ub) 97: 8(int) Load 65(gs_ub)
86: 8(int) AtomicXor 52(gs_ua) 55 56 85 98: 8(int) AtomicXor 64(gs_ua) 67 68 97
Store 58(out_u1) 86 Store 70(out_u1) 98
ReturnValue 87 ReturnValue 99
FunctionEnd FunctionEnd
22(ComputeShaderFunction1(vf1;vf1;vf1;): 6(float) Function None 18 22(ComputeShaderFunction1(vf1;vf1;vf1;): 6(float) Function None 18
19(inF0): 7(ptr) FunctionParameter 19(inF0): 7(ptr) FunctionParameter
20(inF1): 7(ptr) FunctionParameter 20(inF1): 7(ptr) FunctionParameter
21(inF2): 7(ptr) FunctionParameter 21(inF2): 7(ptr) FunctionParameter
23: Label 23: Label
ReturnValue 87 ReturnValue 99
FunctionEnd FunctionEnd
34(ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;): 24(fvec2) Function None 28 34(ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;): 24(fvec2) Function None 28
29(inF0): 25(ptr) FunctionParameter 29(inF0): 25(ptr) FunctionParameter
@ -886,47 +941,47 @@ local_size = (1, 1, 1)
32(inU0): 27(ptr) FunctionParameter 32(inU0): 27(ptr) FunctionParameter
33(inU1): 27(ptr) FunctionParameter 33(inU1): 27(ptr) FunctionParameter
35: Label 35: Label
99(out_u2): 27(ptr) Variable Function 111(out_u2): 27(ptr) Variable Function
92: 24(fvec2) Load 29(inF0) 104: 24(fvec2) Load 29(inF0)
93: 49(bool) All 92 105: 61(bool) All 104
97: 26(ivec2) Load 96(gs_ub2) 109: 26(ivec2) Load 108(gs_ub2)
98: 2 AtomicIAdd 95(gs_ua2) 55 56 97 110: 2 AtomicIAdd 107(gs_ua2) 67 68 109
100: 26(ivec2) Load 96(gs_ub2) 112: 26(ivec2) Load 108(gs_ub2)
101: 26(ivec2) AtomicIAdd 95(gs_ua2) 55 56 100 113: 26(ivec2) AtomicIAdd 107(gs_ua2) 67 68 112
Store 99(out_u2) 101 Store 111(out_u2) 113
102: 26(ivec2) Load 96(gs_ub2) 114: 26(ivec2) Load 108(gs_ub2)
103: 2 AtomicAnd 95(gs_ua2) 55 56 102 115: 2 AtomicAnd 107(gs_ua2) 67 68 114
104: 26(ivec2) Load 96(gs_ub2) 116: 26(ivec2) Load 108(gs_ub2)
105: 26(ivec2) AtomicAnd 95(gs_ua2) 55 56 104 117: 26(ivec2) AtomicAnd 107(gs_ua2) 67 68 116
Store 99(out_u2) 105 Store 111(out_u2) 117
106: 26(ivec2) Load 96(gs_ub2) 118: 26(ivec2) Load 108(gs_ub2)
108: 26(ivec2) Load 107(gs_uc2) 120: 26(ivec2) Load 119(gs_uc2)
109: 26(ivec2) AtomicCompareExchange 95(gs_ua2) 55 56 56 108 106 121: 26(ivec2) AtomicCompareExchange 107(gs_ua2) 67 68 68 120 118
Store 99(out_u2) 109 Store 111(out_u2) 121
110: 26(ivec2) Load 96(gs_ub2) 122: 26(ivec2) Load 108(gs_ub2)
111: 26(ivec2) AtomicExchange 95(gs_ua2) 55 56 110 123: 26(ivec2) AtomicExchange 107(gs_ua2) 67 68 122
Store 99(out_u2) 111 Store 111(out_u2) 123
112: 26(ivec2) Load 96(gs_ub2) 124: 26(ivec2) Load 108(gs_ub2)
113: 2 AtomicSMax 95(gs_ua2) 55 56 112 125: 2 AtomicSMax 107(gs_ua2) 67 68 124
114: 26(ivec2) Load 96(gs_ub2) 126: 26(ivec2) Load 108(gs_ub2)
115: 26(ivec2) AtomicUMax 95(gs_ua2) 55 56 114 127: 26(ivec2) AtomicUMax 107(gs_ua2) 67 68 126
Store 99(out_u2) 115 Store 111(out_u2) 127
116: 26(ivec2) Load 96(gs_ub2) 128: 26(ivec2) Load 108(gs_ub2)
117: 2 AtomicSMin 95(gs_ua2) 55 56 116 129: 2 AtomicSMin 107(gs_ua2) 67 68 128
118: 26(ivec2) Load 96(gs_ub2) 130: 26(ivec2) Load 108(gs_ub2)
119: 26(ivec2) AtomicUMin 95(gs_ua2) 55 56 118 131: 26(ivec2) AtomicUMin 107(gs_ua2) 67 68 130
Store 99(out_u2) 119 Store 111(out_u2) 131
120: 26(ivec2) Load 96(gs_ub2) 132: 26(ivec2) Load 108(gs_ub2)
121: 2 AtomicOr 95(gs_ua2) 55 56 120 133: 2 AtomicOr 107(gs_ua2) 67 68 132
122: 26(ivec2) Load 96(gs_ub2) 134: 26(ivec2) Load 108(gs_ub2)
123: 26(ivec2) AtomicOr 95(gs_ua2) 55 56 122 135: 26(ivec2) AtomicOr 107(gs_ua2) 67 68 134
Store 99(out_u2) 123 Store 111(out_u2) 135
124: 26(ivec2) Load 96(gs_ub2) 136: 26(ivec2) Load 108(gs_ub2)
125: 2 AtomicXor 95(gs_ua2) 55 56 124 137: 2 AtomicXor 107(gs_ua2) 67 68 136
126: 26(ivec2) Load 96(gs_ub2) 138: 26(ivec2) Load 108(gs_ub2)
127: 26(ivec2) AtomicXor 95(gs_ua2) 55 56 126 139: 26(ivec2) AtomicXor 107(gs_ua2) 67 68 138
Store 99(out_u2) 127 Store 111(out_u2) 139
ReturnValue 130 ReturnValue 142
FunctionEnd FunctionEnd
46(ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;): 36(fvec3) Function None 40 46(ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;): 36(fvec3) Function None 40
41(inF0): 37(ptr) FunctionParameter 41(inF0): 37(ptr) FunctionParameter
@ -935,45 +990,94 @@ local_size = (1, 1, 1)
44(inU0): 39(ptr) FunctionParameter 44(inU0): 39(ptr) FunctionParameter
45(inU1): 39(ptr) FunctionParameter 45(inU1): 39(ptr) FunctionParameter
47: Label 47: Label
140(out_u3): 39(ptr) Variable Function 152(out_u3): 39(ptr) Variable Function
133: 36(fvec3) Load 41(inF0) 145: 36(fvec3) Load 41(inF0)
134: 49(bool) All 133 146: 61(bool) All 145
138: 38(ivec3) Load 137(gs_ub3) 150: 38(ivec3) Load 149(gs_ub3)
139: 2 AtomicIAdd 136(gs_ua3) 55 56 138 151: 2 AtomicIAdd 148(gs_ua3) 67 68 150
141: 38(ivec3) Load 137(gs_ub3) 153: 38(ivec3) Load 149(gs_ub3)
142: 38(ivec3) AtomicIAdd 136(gs_ua3) 55 56 141 154: 38(ivec3) AtomicIAdd 148(gs_ua3) 67 68 153
Store 140(out_u3) 142 Store 152(out_u3) 154
143: 38(ivec3) Load 137(gs_ub3) 155: 38(ivec3) Load 149(gs_ub3)
144: 2 AtomicAnd 136(gs_ua3) 55 56 143 156: 2 AtomicAnd 148(gs_ua3) 67 68 155
145: 38(ivec3) Load 137(gs_ub3) 157: 38(ivec3) Load 149(gs_ub3)
146: 38(ivec3) AtomicAnd 136(gs_ua3) 55 56 145 158: 38(ivec3) AtomicAnd 148(gs_ua3) 67 68 157
Store 140(out_u3) 146 Store 152(out_u3) 158
147: 38(ivec3) Load 137(gs_ub3) 159: 38(ivec3) Load 149(gs_ub3)
149: 38(ivec3) Load 148(gs_uc3) 161: 38(ivec3) Load 160(gs_uc3)
150: 38(ivec3) AtomicCompareExchange 136(gs_ua3) 55 56 56 149 147 162: 38(ivec3) AtomicCompareExchange 148(gs_ua3) 67 68 68 161 159
Store 140(out_u3) 150 Store 152(out_u3) 162
151: 38(ivec3) Load 137(gs_ub3) 163: 38(ivec3) Load 149(gs_ub3)
152: 38(ivec3) AtomicExchange 136(gs_ua3) 55 56 151 164: 38(ivec3) AtomicExchange 148(gs_ua3) 67 68 163
Store 140(out_u3) 152 Store 152(out_u3) 164
153: 38(ivec3) Load 137(gs_ub3) 165: 38(ivec3) Load 149(gs_ub3)
154: 2 AtomicSMax 136(gs_ua3) 55 56 153 166: 2 AtomicSMax 148(gs_ua3) 67 68 165
155: 38(ivec3) Load 137(gs_ub3) 167: 38(ivec3) Load 149(gs_ub3)
156: 38(ivec3) AtomicUMax 136(gs_ua3) 55 56 155 168: 38(ivec3) AtomicUMax 148(gs_ua3) 67 68 167
Store 140(out_u3) 156 Store 152(out_u3) 168
157: 38(ivec3) Load 137(gs_ub3) 169: 38(ivec3) Load 149(gs_ub3)
158: 2 AtomicSMin 136(gs_ua3) 55 56 157 170: 2 AtomicSMin 148(gs_ua3) 67 68 169
159: 38(ivec3) Load 137(gs_ub3) 171: 38(ivec3) Load 149(gs_ub3)
160: 38(ivec3) AtomicUMin 136(gs_ua3) 55 56 159 172: 38(ivec3) AtomicUMin 148(gs_ua3) 67 68 171
Store 140(out_u3) 160 Store 152(out_u3) 172
161: 38(ivec3) Load 137(gs_ub3) 173: 38(ivec3) Load 149(gs_ub3)
162: 2 AtomicOr 136(gs_ua3) 55 56 161 174: 2 AtomicOr 148(gs_ua3) 67 68 173
163: 38(ivec3) Load 137(gs_ub3) 175: 38(ivec3) Load 149(gs_ub3)
164: 38(ivec3) AtomicOr 136(gs_ua3) 55 56 163 176: 38(ivec3) AtomicOr 148(gs_ua3) 67 68 175
Store 140(out_u3) 164 Store 152(out_u3) 176
165: 38(ivec3) Load 137(gs_ub3) 177: 38(ivec3) Load 149(gs_ub3)
166: 2 AtomicXor 136(gs_ua3) 55 56 165 178: 2 AtomicXor 148(gs_ua3) 67 68 177
167: 38(ivec3) Load 137(gs_ub3) 179: 38(ivec3) Load 149(gs_ub3)
168: 38(ivec3) AtomicXor 136(gs_ua3) 55 56 167 180: 38(ivec3) AtomicXor 148(gs_ua3) 67 68 179
Store 140(out_u3) 168 Store 152(out_u3) 180
ReturnValue 170 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 FunctionEnd

View file

@ -2,31 +2,34 @@ hlsl.intrinsics.d3dcolortoubyte4.frag
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:5 Function Parameters:
0:? Sequence 0:? Sequence
0:6 Sequence 0:6 Branch: Return with expression
0:6 move second child to first child (temp 4-component vector of int) 0:6 Convert float to int (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) 0:6 vector-scale (temp 4-component vector of float)
0:6 Convert float to int (temp 4-component vector of int) 0:6 Constant:
0:6 vector-scale (temp 4-component vector of float) 0:6 255.001953
0:6 Constant: 0:6 vector swizzle (temp 4-component vector of float)
0:6 255.001953 0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:6 vector swizzle (temp 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 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) 0:6 Constant:
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4}) 0:6 0 (const uint)
0:6 Constant: 0:6 Sequence
0:6 0 (const uint) 0:6 Constant:
0:6 Sequence 0:6 2 (const int)
0:6 Constant: 0:6 Constant:
0:6 2 (const int) 0:6 1 (const int)
0:6 Constant: 0:6 Constant:
0:6 1 (const int) 0:6 0 (const int)
0:6 Constant: 0:6 Constant:
0:6 0 (const int) 0:6 3 (const int)
0:6 Constant: 0:5 Function Definition: main( (temp void)
0:6 3 (const int) 0:5 Function Parameters:
0:6 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:5 Function Parameters:
0:? Sequence 0:? Sequence
0:6 Sequence 0:6 Branch: Return with expression
0:6 move second child to first child (temp 4-component vector of int) 0:6 Convert float to int (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) 0:6 vector-scale (temp 4-component vector of float)
0:6 Convert float to int (temp 4-component vector of int) 0:6 Constant:
0:6 vector-scale (temp 4-component vector of float) 0:6 255.001953
0:6 Constant: 0:6 vector swizzle (temp 4-component vector of float)
0:6 255.001953 0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:6 vector swizzle (temp 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 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) 0:6 Constant:
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4}) 0:6 0 (const uint)
0:6 Constant: 0:6 Sequence
0:6 0 (const uint) 0:6 Constant:
0:6 Sequence 0:6 2 (const int)
0:6 Constant: 0:6 Constant:
0:6 2 (const int) 0:6 1 (const int)
0:6 Constant: 0:6 Constant:
0:6 1 (const int) 0:6 0 (const int)
0:6 Constant: 0:6 Constant:
0:6 0 (const int) 0:6 3 (const int)
0:6 Constant: 0:5 Function Definition: main( (temp void)
0:6 3 (const int) 0:5 Function Parameters:
0:6 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) 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}) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4})
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 24 // Id's are bound by 29
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 9 EntryPoint Fragment 4 "main" 27
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "@entryPointOutput" Name 9 "@main("
Name 13 "$Global" Name 14 "$Global"
MemberName 13($Global) 0 "col4" MemberName 14($Global) 0 "col4"
Name 15 "" Name 16 ""
Decorate 9(@entryPointOutput) Location 0 Name 27 "@entryPointOutput"
MemberDecorate 13($Global) 0 Offset 0 MemberDecorate 14($Global) 0 Offset 0
Decorate 13($Global) Block Decorate 14($Global) Block
Decorate 15 DescriptorSet 0 Decorate 16 DescriptorSet 0
Decorate 27(@entryPointOutput) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 1 6: TypeInt 32 1
7: TypeVector 6(int) 4 7: TypeVector 6(int) 4
8: TypePointer Output 7(ivec4) 8: TypeFunction 7(ivec4)
9(@entryPointOutput): 8(ptr) Variable Output 11: TypeFloat 32
10: TypeFloat 32 12: 11(float) Constant 1132396672
11: 10(float) Constant 1132396672 13: TypeVector 11(float) 4
12: TypeVector 10(float) 4 14($Global): TypeStruct 13(fvec4)
13($Global): TypeStruct 12(fvec4) 15: TypePointer Uniform 14($Global)
14: TypePointer Uniform 13($Global) 16: 15(ptr) Variable Uniform
15: 14(ptr) Variable Uniform 17: 6(int) Constant 0
16: 6(int) Constant 0 18: TypePointer Uniform 13(fvec4)
17: TypePointer Uniform 12(fvec4) 26: TypePointer Output 7(ivec4)
27(@entryPointOutput): 26(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
18: 17(ptr) AccessChain 15 16 28: 7(ivec4) FunctionCall 9(@main()
19: 12(fvec4) Load 18 Store 27(@entryPointOutput) 28
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 Function Parameters:
0:5 'inDV1a' (layout(location=0 ) in double) 0:5 'inDV1a' (in double)
0:5 'inDV1b' (layout(location=1 ) in double) 0:5 'inDV1b' (in double)
0:5 'inDV1c' (layout(location=2 ) in double) 0:5 'inDV1c' (in double)
0:5 'inDV2' (layout(location=3 ) in 2-component vector of double) 0:5 'inDV2' (in 2-component vector of double)
0:5 'inDV3' (layout(location=4 ) in 3-component vector of double) 0:5 'inDV3' (in 3-component vector of double)
0:5 'inDV4' (layout(location=6 ) in 4-component vector of double) 0:5 'inDV4' (in 4-component vector of double)
0:5 'inU1a' (layout(location=8 ) in uint) 0:5 'inU1a' (in uint)
0:5 'inU1b' (layout(location=9 ) in uint) 0:5 'inU1b' (in uint)
0:? Sequence 0:? Sequence
0:6 Sequence 0:6 Sequence
0:6 move second child to first child (temp double) 0:6 move second child to first child (temp double)
0:6 'r00' (temp double) 0:6 'r00' (temp double)
0:6 fma (temp double) 0:6 fma (temp double)
0:6 'inDV1a' (layout(location=0 ) in double) 0:6 'inDV1a' (in double)
0:6 'inDV1b' (layout(location=1 ) in double) 0:6 'inDV1b' (in double)
0:6 'inDV1c' (layout(location=2 ) in double) 0:6 'inDV1c' (in double)
0:7 Sequence 0:7 Sequence
0:7 move second child to first child (temp double) 0:7 move second child to first child (temp double)
0:7 'r01' (temp double) 0:7 'r01' (temp double)
0:7 uint64BitsToDouble (temp double) 0:7 uint64BitsToDouble (temp double)
0:7 Construct uvec2 (temp 2-component vector of uint) 0:7 Construct uvec2 (temp 2-component vector of uint)
0:7 'inU1a' (layout(location=8 ) in uint) 0:7 'inU1a' (in uint)
0:7 'inU1b' (layout(location=9 ) in uint) 0:7 'inU1b' (in uint)
0:9 Sequence 0:9 Branch: Return with expression
0:9 move second child to first child (temp float) 0:9 Constant:
0:? '@entryPointOutput' (layout(location=0 ) out float) 0:9 0.000000
0:9 Constant: 0:5 Function Definition: PixelShaderFunction( (temp void)
0:9 0.000000 0:5 Function Parameters:
0:9 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out float) 0:? '@entryPointOutput' (layout(location=0 ) out float)
0:? 'inDV1a' (layout(location=0 ) in double) 0:? 'inDV1a' (layout(location=0 ) in double)
@ -51,37 +86,72 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 Function Parameters:
0:5 'inDV1a' (layout(location=0 ) in double) 0:5 'inDV1a' (in double)
0:5 'inDV1b' (layout(location=1 ) in double) 0:5 'inDV1b' (in double)
0:5 'inDV1c' (layout(location=2 ) in double) 0:5 'inDV1c' (in double)
0:5 'inDV2' (layout(location=3 ) in 2-component vector of double) 0:5 'inDV2' (in 2-component vector of double)
0:5 'inDV3' (layout(location=4 ) in 3-component vector of double) 0:5 'inDV3' (in 3-component vector of double)
0:5 'inDV4' (layout(location=6 ) in 4-component vector of double) 0:5 'inDV4' (in 4-component vector of double)
0:5 'inU1a' (layout(location=8 ) in uint) 0:5 'inU1a' (in uint)
0:5 'inU1b' (layout(location=9 ) in uint) 0:5 'inU1b' (in uint)
0:? Sequence 0:? Sequence
0:6 Sequence 0:6 Sequence
0:6 move second child to first child (temp double) 0:6 move second child to first child (temp double)
0:6 'r00' (temp double) 0:6 'r00' (temp double)
0:6 fma (temp double) 0:6 fma (temp double)
0:6 'inDV1a' (layout(location=0 ) in double) 0:6 'inDV1a' (in double)
0:6 'inDV1b' (layout(location=1 ) in double) 0:6 'inDV1b' (in double)
0:6 'inDV1c' (layout(location=2 ) in double) 0:6 'inDV1c' (in double)
0:7 Sequence 0:7 Sequence
0:7 move second child to first child (temp double) 0:7 move second child to first child (temp double)
0:7 'r01' (temp double) 0:7 'r01' (temp double)
0:7 uint64BitsToDouble (temp double) 0:7 uint64BitsToDouble (temp double)
0:7 Construct uvec2 (temp 2-component vector of uint) 0:7 Construct uvec2 (temp 2-component vector of uint)
0:7 'inU1a' (layout(location=8 ) in uint) 0:7 'inU1a' (in uint)
0:7 'inU1b' (layout(location=9 ) in uint) 0:7 'inU1b' (in uint)
0:9 Sequence 0:9 Branch: Return with expression
0:9 move second child to first child (temp float) 0:9 Constant:
0:? '@entryPointOutput' (layout(location=0 ) out float) 0:9 0.000000
0:9 Constant: 0:5 Function Definition: PixelShaderFunction( (temp void)
0:9 0.000000 0:5 Function Parameters:
0:9 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out float) 0:? '@entryPointOutput' (layout(location=0 ) out float)
0:? 'inDV1a' (layout(location=0 ) in double) 0:? 'inDV1a' (layout(location=0 ) in double)
@ -95,75 +165,166 @@ gl_FragCoord origin is upper left
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 41 // Id's are bound by 90
Capability Shader Capability Shader
Capability Float64 Capability Float64
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 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 ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 8 "r00" Name 26 "@PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1;"
Name 10 "inDV1a" Name 18 "inDV1a"
Name 12 "inDV1b" Name 19 "inDV1b"
Name 14 "inDV1c" Name 20 "inDV1c"
Name 17 "r01" Name 21 "inDV2"
Name 20 "inU1a" Name 22 "inDV3"
Name 22 "inU1b" Name 23 "inDV4"
Name 29 "@entryPointOutput" Name 24 "inU1a"
Name 34 "inDV2" Name 25 "inU1b"
Name 37 "inDV3" Name 28 "r00"
Name 40 "inDV4" Name 33 "r01"
Decorate 10(inDV1a) Location 0 Name 42 "inDV1a"
Decorate 12(inDV1b) Location 1 Name 44 "inDV1a"
Decorate 14(inDV1c) Location 2 Name 46 "inDV1b"
Decorate 20(inU1a) Location 8 Name 47 "inDV1b"
Decorate 22(inU1b) Location 9 Name 49 "inDV1c"
Decorate 29(@entryPointOutput) Location 0 Name 50 "inDV1c"
Decorate 34(inDV2) Location 3 Name 52 "inDV2"
Decorate 37(inDV3) Location 4 Name 54 "inDV2"
Decorate 40(inDV4) Location 6 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 64 6: TypeFloat 64
7: TypePointer Function 6(float) 7: TypePointer Function 6(float)
9: TypePointer Input 6(float) 8: TypeVector 6(float) 2
10(inDV1a): 9(ptr) Variable Input 9: TypePointer Function 8(fvec2)
12(inDV1b): 9(ptr) Variable Input 10: TypeVector 6(float) 3
14(inDV1c): 9(ptr) Variable Input 11: TypePointer Function 10(fvec3)
18: TypeInt 32 0 12: TypeVector 6(float) 4
19: TypePointer Input 18(int) 13: TypePointer Function 12(fvec4)
20(inU1a): 19(ptr) Variable Input 14: TypeInt 32 0
22(inU1b): 19(ptr) Variable Input 15: TypePointer Function 14(int)
24: TypeVector 18(int) 2 16: TypeFloat 32
27: TypeFloat 32 17: TypeFunction 16(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 11(ptr) 13(ptr) 15(ptr) 15(ptr)
28: TypePointer Output 27(float) 36: TypeVector 14(int) 2
29(@entryPointOutput): 28(ptr) Variable Output 39: 16(float) Constant 0
30: 27(float) Constant 0 43: TypePointer Input 6(float)
32: TypeVector 6(float) 2 44(inDV1a): 43(ptr) Variable Input
33: TypePointer Input 32(fvec2) 47(inDV1b): 43(ptr) Variable Input
34(inDV2): 33(ptr) Variable Input 50(inDV1c): 43(ptr) Variable Input
35: TypeVector 6(float) 3 53: TypePointer Input 8(fvec2)
36: TypePointer Input 35(fvec3) 54(inDV2): 53(ptr) Variable Input
37(inDV3): 36(ptr) Variable Input 57: TypePointer Input 10(fvec3)
38: TypeVector 6(float) 4 58(inDV3): 57(ptr) Variable Input
39: TypePointer Input 38(fvec4) 61: TypePointer Input 12(fvec4)
40(inDV4): 39(ptr) Variable Input 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 4(PixelShaderFunction): 2 Function None 3
5: Label 5: Label
8(r00): 7(ptr) Variable Function 42(inDV1a): 7(ptr) Variable Function
17(r01): 7(ptr) Variable Function 46(inDV1b): 7(ptr) Variable Function
11: 6(float) Load 10(inDV1a) 49(inDV1c): 7(ptr) Variable Function
13: 6(float) Load 12(inDV1b) 52(inDV2): 9(ptr) Variable Function
15: 6(float) Load 14(inDV1c) 56(inDV3): 11(ptr) Variable Function
16: 6(float) ExtInst 1(GLSL.std.450) 50(Fma) 11 13 15 60(inDV4): 13(ptr) Variable Function
Store 8(r00) 16 64(inU1a): 15(ptr) Variable Function
21: 18(int) Load 20(inU1a) 68(inU1b): 15(ptr) Variable Function
23: 18(int) Load 22(inU1b) 73(param): 7(ptr) Variable Function
25: 24(ivec2) CompositeConstruct 21 23 75(param): 7(ptr) Variable Function
26: 6(float) Bitcast 25 77(param): 7(ptr) Variable Function
Store 17(r01) 26 79(param): 9(ptr) Variable Function
Store 29(@entryPointOutput) 30 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 Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 Function Parameters:
0:3 'inF1' (layout(location=0 ) in float) 0:3 'inF1' (in float)
0:3 'inF2' (layout(location=1 ) in 2-component vector of float) 0:3 'inF2' (in 2-component vector of float)
0:3 'inF3' (layout(location=2 ) in 3-component vector of float) 0:3 'inF3' (in 3-component vector of float)
0:3 'inF4' (layout(location=3 ) in 4-component vector of float) 0:3 'inF4' (in 4-component vector of float)
0:3 'inI2' (layout(location=4 ) in 2-component vector of int) 0:3 'inI2' (in 2-component vector of int)
0:? Sequence 0:? Sequence
0:4 interpolateAtOffset (temp float) 0:4 interpolateAtOffset (temp float)
0:4 'inF1' (layout(location=0 ) in float) 0:4 'inF1' (in float)
0:? Constant: 0:? Constant:
0:? -0.500000 0:? -0.500000
0:? -0.062500 0:? -0.062500
0:5 interpolateAtOffset (temp 2-component vector of float) 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:? Constant:
0:? 0.000000 0:? 0.000000
0:? 0.062500 0:? 0.062500
0:6 interpolateAtOffset (temp 3-component vector of float) 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:? Constant:
0:? 0.187500 0:? 0.187500
0:? -0.375000 0:? -0.375000
0:7 interpolateAtOffset (temp 4-component vector of float) 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:? Constant:
0:? 0.437500 0:? 0.437500
0:? -0.500000 0:? -0.500000
0:9 interpolateAtOffset (temp float) 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 vector-scale (temp 2-component vector of float)
0:9 Convert int to float (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 right-shift (temp 2-component vector of int)
0:9 left-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 Constant:
0:9 28 (const int) 0:9 28 (const int)
0:9 Constant: 0:9 Constant:
0:9 28 (const int) 0:9 28 (const int)
0:9 Constant: 0:9 Constant:
0:9 0.062500 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:? Linker Objects
0:? 'inF1' (layout(location=0 ) in float) 0:? 'inF1' (layout(location=0 ) in float)
0:? 'inF2' (layout(location=1 ) in 2-component vector of float) 0:? 'inF2' (layout(location=1 ) in 2-component vector of float)
@ -57,47 +81,71 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 Function Parameters:
0:3 'inF1' (layout(location=0 ) in float) 0:3 'inF1' (in float)
0:3 'inF2' (layout(location=1 ) in 2-component vector of float) 0:3 'inF2' (in 2-component vector of float)
0:3 'inF3' (layout(location=2 ) in 3-component vector of float) 0:3 'inF3' (in 3-component vector of float)
0:3 'inF4' (layout(location=3 ) in 4-component vector of float) 0:3 'inF4' (in 4-component vector of float)
0:3 'inI2' (layout(location=4 ) in 2-component vector of int) 0:3 'inI2' (in 2-component vector of int)
0:? Sequence 0:? Sequence
0:4 interpolateAtOffset (temp float) 0:4 interpolateAtOffset (temp float)
0:4 'inF1' (layout(location=0 ) in float) 0:4 'inF1' (in float)
0:? Constant: 0:? Constant:
0:? -0.500000 0:? -0.500000
0:? -0.062500 0:? -0.062500
0:5 interpolateAtOffset (temp 2-component vector of float) 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:? Constant:
0:? 0.000000 0:? 0.000000
0:? 0.062500 0:? 0.062500
0:6 interpolateAtOffset (temp 3-component vector of float) 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:? Constant:
0:? 0.187500 0:? 0.187500
0:? -0.375000 0:? -0.375000
0:7 interpolateAtOffset (temp 4-component vector of float) 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:? Constant:
0:? 0.437500 0:? 0.437500
0:? -0.500000 0:? -0.500000
0:9 interpolateAtOffset (temp float) 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 vector-scale (temp 2-component vector of float)
0:9 Convert int to float (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 right-shift (temp 2-component vector of int)
0:9 left-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 Constant:
0:9 28 (const int) 0:9 28 (const int)
0:9 Constant: 0:9 Constant:
0:9 28 (const int) 0:9 28 (const int)
0:9 Constant: 0:9 Constant:
0:9 0.062500 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:? Linker Objects
0:? 'inF1' (layout(location=0 ) in float) 0:? 'inF1' (layout(location=0 ) in float)
0:? 'inF2' (layout(location=1 ) in 2-component vector of 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 46 // Id's are bound by 80
Capability Shader Capability Shader
Capability InterpolationFunction Capability InterpolationFunction
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 8 15 22 29 36 EntryPoint Fragment 4 "main" 51 55 59 63 67
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "inF1" Name 23 "@main(f1;vf2;vf3;vf4;vi2;"
Name 15 "inF2" Name 18 "inF1"
Name 22 "inF3" Name 19 "inF2"
Name 29 "inF4" Name 20 "inF3"
Name 36 "inI2" Name 21 "inF4"
Decorate 8(inF1) Location 0 Name 22 "inI2"
Decorate 15(inF2) Location 1 Name 49 "inF1"
Decorate 22(inF3) Location 2 Name 51 "inF1"
Decorate 29(inF4) Location 3 Name 53 "inF2"
Decorate 36(inI2) Location 4 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypePointer Input 6(float) 7: TypePointer Function 6(float)
8(inF1): 7(ptr) Variable Input 8: TypeVector 6(float) 2
9: TypeVector 6(float) 2 9: TypePointer Function 8(fvec2)
10: 6(float) Constant 3204448256 10: TypeVector 6(float) 3
11: 6(float) Constant 3179282432 11: TypePointer Function 10(fvec3)
12: 9(fvec2) ConstantComposite 10 11 12: TypeVector 6(float) 4
14: TypePointer Input 9(fvec2) 13: TypePointer Function 12(fvec4)
15(inF2): 14(ptr) Variable Input 14: TypeInt 32 1
16: 6(float) Constant 0 15: TypeVector 14(int) 2
17: 6(float) Constant 1031798784 16: TypePointer Function 15(ivec2)
18: 9(fvec2) ConstantComposite 16 17 17: TypeFunction 2 7(ptr) 9(ptr) 11(ptr) 13(ptr) 16(ptr)
20: TypeVector 6(float) 3 25: 6(float) Constant 3204448256
21: TypePointer Input 20(fvec3) 26: 6(float) Constant 3179282432
22(inF3): 21(ptr) Variable Input 27: 8(fvec2) ConstantComposite 25 26
23: 6(float) Constant 1044381696 29: 6(float) Constant 0
24: 6(float) Constant 3200253952 30: 6(float) Constant 1031798784
25: 9(fvec2) ConstantComposite 23 24 31: 8(fvec2) ConstantComposite 29 30
27: TypeVector 6(float) 4 33: 6(float) Constant 1044381696
28: TypePointer Input 27(fvec4) 34: 6(float) Constant 3200253952
29(inF4): 28(ptr) Variable Input 35: 8(fvec2) ConstantComposite 33 34
30: 6(float) Constant 1054867456 37: 6(float) Constant 1054867456
31: 9(fvec2) ConstantComposite 30 10 38: 8(fvec2) ConstantComposite 37 25
33: TypeInt 32 1 41: 14(int) Constant 28
34: TypeVector 33(int) 2 50: TypePointer Input 6(float)
35: TypePointer Input 34(ivec2) 51(inF1): 50(ptr) Variable Input
36(inI2): 35(ptr) Variable Input 54: TypePointer Input 8(fvec2)
38: 33(int) Constant 28 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 4(main): 2 Function None 3
5: Label 5: Label
13: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 8(inF1) 12 49(inF1): 7(ptr) Variable Function
19: 9(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 15(inF2) 18 53(inF2): 9(ptr) Variable Function
26: 20(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 22(inF3) 25 57(inF3): 11(ptr) Variable Function
32: 27(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 29(inF4) 31 61(inF4): 13(ptr) Variable Function
37: 34(ivec2) Load 36(inI2) 65(inI2): 16(ptr) Variable Function
39: 34(ivec2) CompositeConstruct 38 38 69(param): 7(ptr) Variable Function
40: 34(ivec2) ShiftLeftLogical 37 39 71(param): 9(ptr) Variable Function
41: 34(ivec2) CompositeConstruct 38 38 73(param): 11(ptr) Variable Function
42: 34(ivec2) ShiftRightArithmetic 40 41 75(param): 13(ptr) Variable Function
43: 9(fvec2) ConvertSToF 42 77(param): 16(ptr) Variable Function
44: 9(fvec2) VectorTimesScalar 43 17 52: 6(float) Load 51(inF1)
45: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 8(inF1) 44 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 Return
FunctionEnd FunctionEnd

View file

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

View file

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

View file

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

View file

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

View file

@ -2,7 +2,7 @@ hlsl.intrinsics.promote.down.frag
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:15 Function Parameters:
0:? Sequence 0:? Sequence
0:16 Sequence 0:16 Sequence
@ -33,15 +33,18 @@ gl_FragCoord origin is upper left
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:21 Sequence 0:21 Branch: Return with expression
0:21 Sequence 0:21 'ps_output' (temp structure{temp 4-component vector of float color})
0:21 move second child to first child (temp 4-component vector of float) 0:15 Function Definition: main( (temp void)
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:15 Function Parameters:
0:21 color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:21 'ps_output' (temp structure{temp 4-component vector of float color}) 0:15 Sequence
0:21 Constant: 0:15 move second child to first child (temp 4-component vector of float)
0:21 0 (const int) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:21 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:15 Function Parameters:
0:? Sequence 0:? Sequence
0:16 Sequence 0:16 Sequence
@ -84,101 +87,111 @@ gl_FragCoord origin is upper left
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:21 Sequence 0:21 Branch: Return with expression
0:21 Sequence 0:21 'ps_output' (temp structure{temp 4-component vector of float color})
0:21 move second child to first child (temp 4-component vector of float) 0:15 Function Definition: main( (temp void)
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:15 Function Parameters:
0:21 color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:21 'ps_output' (temp structure{temp 4-component vector of float color}) 0:15 Sequence
0:21 Constant: 0:15 move second child to first child (temp 4-component vector of float)
0:21 0 (const int) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:21 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 45 // Id's are bound by 50
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 41 EntryPoint Fragment 4 "main" 47
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "r00" Name 8 "PS_OUTPUT"
Name 14 "$Global" MemberName 8(PS_OUTPUT) 0 "color"
MemberName 14($Global) 0 "i" Name 10 "@main("
MemberName 14($Global) 1 "u" Name 14 "r00"
MemberName 14($Global) 2 "f" Name 19 "$Global"
MemberName 14($Global) 3 "b" MemberName 19($Global) 0 "i"
MemberName 14($Global) 4 "i2" MemberName 19($Global) 1 "u"
MemberName 14($Global) 5 "u2" MemberName 19($Global) 2 "f"
MemberName 14($Global) 6 "f2" MemberName 19($Global) 3 "b"
MemberName 14($Global) 7 "b2" MemberName 19($Global) 4 "i2"
Name 16 "" MemberName 19($Global) 5 "u2"
Name 24 "r01" MemberName 19($Global) 6 "f2"
Name 32 "PS_OUTPUT" MemberName 19($Global) 7 "b2"
MemberName 32(PS_OUTPUT) 0 "color" Name 21 ""
Name 34 "ps_output" Name 29 "r01"
Name 41 "color" Name 37 "ps_output"
MemberDecorate 14($Global) 0 Offset 0 Name 47 "color"
MemberDecorate 14($Global) 1 Offset 4 MemberDecorate 19($Global) 0 Offset 0
MemberDecorate 14($Global) 2 Offset 8 MemberDecorate 19($Global) 1 Offset 4
MemberDecorate 14($Global) 3 Offset 12 MemberDecorate 19($Global) 2 Offset 8
MemberDecorate 14($Global) 4 Offset 16 MemberDecorate 19($Global) 3 Offset 12
MemberDecorate 14($Global) 5 Offset 24 MemberDecorate 19($Global) 4 Offset 16
MemberDecorate 14($Global) 6 Offset 32 MemberDecorate 19($Global) 5 Offset 24
MemberDecorate 14($Global) 7 Offset 40 MemberDecorate 19($Global) 6 Offset 32
Decorate 14($Global) Block MemberDecorate 19($Global) 7 Offset 40
Decorate 16 DescriptorSet 0 Decorate 19($Global) Block
Decorate 41(color) Location 0 Decorate 21 DescriptorSet 0
Decorate 47(color) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeFloat 32
7: TypePointer Function 6(int) 7: TypeVector 6(float) 4
9: TypeInt 32 1 8(PS_OUTPUT): TypeStruct 7(fvec4)
10: TypeFloat 32 9: TypeFunction 8(PS_OUTPUT)
11: TypeVector 9(int) 2 12: TypeInt 32 0
12: TypeVector 6(int) 2 13: TypePointer Function 12(int)
13: TypeVector 10(float) 2 15: TypeInt 32 1
14($Global): TypeStruct 9(int) 6(int) 10(float) 6(int) 11(ivec2) 12(ivec2) 13(fvec2) 12(ivec2) 16: TypeVector 15(int) 2
15: TypePointer Uniform 14($Global) 17: TypeVector 12(int) 2
16: 15(ptr) Variable Uniform 18: TypeVector 6(float) 2
17: 9(int) Constant 2 19($Global): TypeStruct 15(int) 12(int) 6(float) 12(int) 16(ivec2) 17(ivec2) 18(fvec2) 17(ivec2)
18: TypePointer Uniform 10(float) 20: TypePointer Uniform 19($Global)
23: TypePointer Function 12(ivec2) 21: 20(ptr) Variable Uniform
25: 9(int) Constant 6 22: 15(int) Constant 2
26: TypePointer Uniform 13(fvec2) 23: TypePointer Uniform 6(float)
31: TypeVector 10(float) 4 28: TypePointer Function 17(ivec2)
32(PS_OUTPUT): TypeStruct 31(fvec4) 30: 15(int) Constant 6
33: TypePointer Function 32(PS_OUTPUT) 31: TypePointer Uniform 18(fvec2)
35: 9(int) Constant 0 36: TypePointer Function 8(PS_OUTPUT)
36: 10(float) Constant 0 38: 15(int) Constant 0
37: 31(fvec4) ConstantComposite 36 36 36 36 39: 6(float) Constant 0
38: TypePointer Function 31(fvec4) 40: 7(fvec4) ConstantComposite 39 39 39 39
40: TypePointer Output 31(fvec4) 41: TypePointer Function 7(fvec4)
41(color): 40(ptr) Variable Output 46: TypePointer Output 7(fvec4)
47(color): 46(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
8(r00): 7(ptr) Variable Function 48:8(PS_OUTPUT) FunctionCall 10(@main()
24(r01): 23(ptr) Variable Function 49: 7(fvec4) CompositeExtract 48 0
34(ps_output): 33(ptr) Variable Function Store 47(color) 49
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:20 Function Parameters:
0:? Sequence 0:? Sequence
0:23 Sequence 0:23 Sequence
@ -421,19 +421,22 @@ gl_FragCoord origin is upper left
0:77 0 (const int) 0:77 0 (const int)
0:77 Construct vec4 (temp 4-component vector of float) 0:77 Construct vec4 (temp 4-component vector of float)
0:77 'r00' (temp float) 0:77 'r00' (temp float)
0:78 Sequence 0:78 Branch: Return with expression
0:78 Sequence 0:78 'ps_output' (temp structure{temp 4-component vector of float color})
0:78 move second child to first child (temp 4-component vector of float) 0:20 Function Definition: main( (temp void)
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:20 Function Parameters:
0:78 color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:78 'ps_output' (temp structure{temp 4-component vector of float color}) 0:20 Sequence
0:78 Constant: 0:20 move second child to first child (temp 4-component vector of float)
0:78 0 (const int) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:78 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) 0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
0:? 'g_tTex1df4' (uniform texture1D) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:20 Function Parameters:
0:? Sequence 0:? Sequence
0:23 Sequence 0:23 Sequence
@ -862,24 +865,27 @@ gl_FragCoord origin is upper left
0:77 0 (const int) 0:77 0 (const int)
0:77 Construct vec4 (temp 4-component vector of float) 0:77 Construct vec4 (temp 4-component vector of float)
0:77 'r00' (temp float) 0:77 'r00' (temp float)
0:78 Sequence 0:78 Branch: Return with expression
0:78 Sequence 0:78 'ps_output' (temp structure{temp 4-component vector of float color})
0:78 move second child to first child (temp 4-component vector of float) 0:20 Function Definition: main( (temp void)
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:20 Function Parameters:
0:78 color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:78 'ps_output' (temp structure{temp 4-component vector of float color}) 0:20 Sequence
0:78 Constant: 0:20 move second child to first child (temp 4-component vector of float)
0:78 0 (const int) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:78 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) 0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
0:? 'g_tTex1df4' (uniform texture1D) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 320 // Id's are bound by 325
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
@ -887,427 +893,434 @@ gl_FragCoord origin is upper left
Capability ImageQuery Capability ImageQuery
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 316 EntryPoint Fragment 4 "main" 322
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "r00" Name 8 "PS_OUTPUT"
Name 14 "$Global" MemberName 8(PS_OUTPUT) 0 "color"
MemberName 14($Global) 0 "i" Name 10 "@main("
MemberName 14($Global) 1 "u" Name 13 "r00"
MemberName 14($Global) 2 "f" Name 19 "$Global"
MemberName 14($Global) 3 "b" MemberName 19($Global) 0 "i"
MemberName 14($Global) 4 "i2" MemberName 19($Global) 1 "u"
MemberName 14($Global) 5 "u2" MemberName 19($Global) 2 "f"
MemberName 14($Global) 6 "f2" MemberName 19($Global) 3 "b"
MemberName 14($Global) 7 "b2" MemberName 19($Global) 4 "i2"
MemberName 14($Global) 8 "upos" MemberName 19($Global) 5 "u2"
MemberName 14($Global) 9 "fpos" MemberName 19($Global) 6 "f2"
Name 16 "" MemberName 19($Global) 7 "b2"
Name 33 "r01" MemberName 19($Global) 8 "upos"
Name 44 "r02" MemberName 19($Global) 9 "fpos"
Name 54 "r03" Name 21 ""
Name 61 "r04" Name 38 "r01"
Name 69 "r10" Name 49 "r02"
Name 86 "r11" Name 59 "r03"
Name 97 "r12" Name 66 "r04"
Name 109 "r13" Name 74 "r10"
Name 116 "r14" Name 91 "r11"
Name 123 "r20" Name 102 "r12"
Name 133 "r21" Name 114 "r13"
Name 145 "r22" Name 121 "r14"
Name 157 "r30" Name 128 "r20"
Name 166 "r31" Name 138 "r21"
Name 175 "r32" Name 150 "r22"
Name 184 "r33" Name 162 "r30"
Name 192 "r34" Name 171 "r31"
Name 200 "r40" Name 180 "r32"
Name 211 "r41" Name 189 "r33"
Name 224 "r42" Name 197 "r34"
Name 238 "r43" Name 205 "r40"
Name 250 "r50" Name 216 "r41"
Name 254 "g_tTexbfs" Name 229 "r42"
Name 264 "r51" Name 243 "r43"
Name 273 "sizeQueryTemp" Name 255 "r50"
Name 276 "g_tTex1df4" Name 259 "g_tTexbfs"
Name 279 "WidthI" Name 268 "r51"
Name 282 "sizeQueryTemp" Name 277 "sizeQueryTemp"
Name 288 "NumberOfLevelsU" Name 280 "g_tTex1df4"
Name 291 "sizeQueryTemp" Name 283 "WidthI"
Name 294 "WidthU" Name 286 "sizeQueryTemp"
Name 296 "NumberOfLevelsI" Name 292 "NumberOfLevelsU"
Name 300 "sizeQueryTemp" Name 295 "sizeQueryTemp"
Name 308 "PS_OUTPUT" Name 298 "WidthU"
MemberName 308(PS_OUTPUT) 0 "color" Name 300 "NumberOfLevelsI"
Name 310 "ps_output" Name 304 "sizeQueryTemp"
Name 316 "color" Name 313 "ps_output"
MemberDecorate 14($Global) 0 Offset 0 Name 322 "color"
MemberDecorate 14($Global) 1 Offset 4 MemberDecorate 19($Global) 0 Offset 0
MemberDecorate 14($Global) 2 Offset 8 MemberDecorate 19($Global) 1 Offset 4
MemberDecorate 14($Global) 3 Offset 12 MemberDecorate 19($Global) 2 Offset 8
MemberDecorate 14($Global) 4 Offset 16 MemberDecorate 19($Global) 3 Offset 12
MemberDecorate 14($Global) 5 Offset 24 MemberDecorate 19($Global) 4 Offset 16
MemberDecorate 14($Global) 6 Offset 32 MemberDecorate 19($Global) 5 Offset 24
MemberDecorate 14($Global) 7 Offset 40 MemberDecorate 19($Global) 6 Offset 32
MemberDecorate 14($Global) 8 Offset 48 MemberDecorate 19($Global) 7 Offset 40
MemberDecorate 14($Global) 9 Offset 52 MemberDecorate 19($Global) 8 Offset 48
Decorate 14($Global) Block MemberDecorate 19($Global) 9 Offset 52
Decorate 16 DescriptorSet 0 Decorate 19($Global) Block
Decorate 254(g_tTexbfs) DescriptorSet 0 Decorate 21 DescriptorSet 0
Decorate 276(g_tTex1df4) DescriptorSet 0 Decorate 259(g_tTexbfs) DescriptorSet 0
Decorate 316(color) Location 0 Decorate 280(g_tTex1df4) DescriptorSet 0
Decorate 322(color) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypePointer Function 6(float) 7: TypeVector 6(float) 4
9: TypeInt 32 1 8(PS_OUTPUT): TypeStruct 7(fvec4)
10: TypeInt 32 0 9: TypeFunction 8(PS_OUTPUT)
11: TypeVector 9(int) 2 12: TypePointer Function 6(float)
12: TypeVector 10(int) 2 14: TypeInt 32 1
13: TypeVector 6(float) 2 15: TypeInt 32 0
14($Global): TypeStruct 9(int) 10(int) 6(float) 10(int) 11(ivec2) 12(ivec2) 13(fvec2) 12(ivec2) 10(int) 6(float) 16: TypeVector 14(int) 2
15: TypePointer Uniform 14($Global) 17: TypeVector 15(int) 2
16: 15(ptr) Variable Uniform 18: TypeVector 6(float) 2
17: 9(int) Constant 3 19($Global): TypeStruct 14(int) 15(int) 6(float) 15(int) 16(ivec2) 17(ivec2) 18(fvec2) 17(ivec2) 15(int) 6(float)
18: TypePointer Uniform 10(int) 20: TypePointer Uniform 19($Global)
21: TypeBool 21: 20(ptr) Variable Uniform
22: 10(int) Constant 0 22: 14(int) Constant 3
24: 6(float) Constant 0 23: TypePointer Uniform 15(int)
25: 6(float) Constant 1065353216 26: TypeBool
27: 9(int) Constant 2 27: 15(int) Constant 0
28: TypePointer Uniform 6(float) 29: 6(float) Constant 0
32: TypePointer Function 10(int) 30: 6(float) Constant 1065353216
37: 10(int) Constant 1 32: 14(int) Constant 2
39: 9(int) Constant 1 33: TypePointer Uniform 6(float)
43: TypePointer Function 9(int) 37: TypePointer Function 15(int)
48: 9(int) Constant 0 42: 15(int) Constant 1
50: TypePointer Uniform 9(int) 44: 14(int) Constant 1
68: TypePointer Function 13(fvec2) 48: TypePointer Function 14(int)
70: 9(int) Constant 7 53: 14(int) Constant 0
71: TypePointer Uniform 12(ivec2) 55: TypePointer Uniform 14(int)
74: TypeVector 21(bool) 2 73: TypePointer Function 18(fvec2)
75: 12(ivec2) ConstantComposite 22 22 75: 14(int) Constant 7
77: 13(fvec2) ConstantComposite 24 24 76: TypePointer Uniform 17(ivec2)
78: 13(fvec2) ConstantComposite 25 25 79: TypeVector 26(bool) 2
80: 9(int) Constant 6 80: 17(ivec2) ConstantComposite 27 27
81: TypePointer Uniform 13(fvec2) 82: 18(fvec2) ConstantComposite 29 29
85: TypePointer Function 12(ivec2) 83: 18(fvec2) ConstantComposite 30 30
90: 12(ivec2) ConstantComposite 37 37 85: 14(int) Constant 6
92: 9(int) Constant 5 86: TypePointer Uniform 18(fvec2)
96: TypePointer Function 11(ivec2) 90: TypePointer Function 17(ivec2)
101: 11(ivec2) ConstantComposite 48 48 95: 17(ivec2) ConstantComposite 42 42
102: 11(ivec2) ConstantComposite 39 39 97: 14(int) Constant 5
104: 9(int) Constant 4 101: TypePointer Function 16(ivec2)
105: TypePointer Uniform 11(ivec2) 106: 16(ivec2) ConstantComposite 53 53
251: TypeImage 6(float) Buffer sampled format:R32f 107: 16(ivec2) ConstantComposite 44 44
252: TypeSampledImage 251 109: 14(int) Constant 4
253: TypePointer UniformConstant 252 110: TypePointer Uniform 16(ivec2)
254(g_tTexbfs): 253(ptr) Variable UniformConstant 256: TypeImage 6(float) Buffer sampled format:R32f
256: 9(int) Constant 8 257: TypeSampledImage 256
261: TypeVector 6(float) 4 258: TypePointer UniformConstant 257
266: 9(int) Constant 9 259(g_tTexbfs): 258(ptr) Variable UniformConstant
274: TypeImage 6(float) 1D sampled format:Unknown 261: 14(int) Constant 8
275: TypePointer UniformConstant 274 270: 14(int) Constant 9
276(g_tTex1df4): 275(ptr) Variable UniformConstant 278: TypeImage 6(float) 1D sampled format:Unknown
284: 10(int) Constant 6 279: TypePointer UniformConstant 278
308(PS_OUTPUT): TypeStruct 261(fvec4) 280(g_tTex1df4): 279(ptr) Variable UniformConstant
309: TypePointer Function 308(PS_OUTPUT) 288: 15(int) Constant 6
313: TypePointer Function 261(fvec4) 312: TypePointer Function 8(PS_OUTPUT)
315: TypePointer Output 261(fvec4) 316: TypePointer Function 7(fvec4)
316(color): 315(ptr) Variable Output 321: TypePointer Output 7(fvec4)
322(color): 321(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
8(r00): 7(ptr) Variable Function 323:8(PS_OUTPUT) FunctionCall 10(@main()
33(r01): 32(ptr) Variable Function 324: 7(fvec4) CompositeExtract 323 0
44(r02): 43(ptr) Variable Function Store 322(color) 324
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:20 Function Parameters:
0:? Sequence 0:? Sequence
0:37 clamp (temp float) 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:47 0.000000
0:47 0.000000 0:47 0.000000
0:48 Sequence 0:48 Branch: Return with expression
0:48 Sequence 0:48 'ps_output' (temp structure{temp 4-component vector of float color})
0:48 move second child to first child (temp 4-component vector of float) 0:20 Function Definition: main( (temp void)
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:20 Function Parameters:
0:48 color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:48 'ps_output' (temp structure{temp 4-component vector of float color}) 0:20 Sequence
0:48 Constant: 0:20 move second child to first child (temp 4-component vector of float)
0:48 0 (const int) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:48 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) 0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
0:? 'g_tTex1df4' (uniform texture1D) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:20 Function Parameters:
0:? Sequence 0:? Sequence
0:37 clamp (temp float) 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:47 0.000000
0:47 0.000000 0:47 0.000000
0:48 Sequence 0:48 Branch: Return with expression
0:48 Sequence 0:48 'ps_output' (temp structure{temp 4-component vector of float color})
0:48 move second child to first child (temp 4-component vector of float) 0:20 Function Definition: main( (temp void)
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:20 Function Parameters:
0:48 color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:48 'ps_output' (temp structure{temp 4-component vector of float color}) 0:20 Sequence
0:48 Constant: 0:20 move second child to first child (temp 4-component vector of float)
0:48 0 (const int) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:48 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) 0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
0:? 'g_tTex1df4' (uniform texture1D) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 76 // Id's are bound by 81
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
@ -203,135 +209,142 @@ gl_FragCoord origin is upper left
Capability ImageQuery Capability ImageQuery
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 68 EntryPoint Fragment 4 "main" 74
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 12 "$Global" Name 8 "PS_OUTPUT"
MemberName 12($Global) 0 "i" MemberName 8(PS_OUTPUT) 0 "color"
MemberName 12($Global) 1 "u" Name 10 "@main("
MemberName 12($Global) 2 "f" Name 17 "$Global"
MemberName 12($Global) 3 "b" MemberName 17($Global) 0 "i"
MemberName 12($Global) 4 "i2" MemberName 17($Global) 1 "u"
MemberName 12($Global) 5 "u2" MemberName 17($Global) 2 "f"
MemberName 12($Global) 6 "f2" MemberName 17($Global) 3 "b"
MemberName 12($Global) 7 "b2" MemberName 17($Global) 4 "i2"
MemberName 12($Global) 8 "upos" MemberName 17($Global) 5 "u2"
MemberName 12($Global) 9 "fpos" MemberName 17($Global) 6 "f2"
Name 14 "" MemberName 17($Global) 7 "b2"
Name 23 "sizeQueryTemp" MemberName 17($Global) 8 "upos"
Name 26 "g_tTex1df4" MemberName 17($Global) 9 "fpos"
Name 30 "WidthI" Name 19 ""
Name 33 "sizeQueryTemp" Name 28 "sizeQueryTemp"
Name 39 "NumberOfLevelsU" Name 31 "g_tTex1df4"
Name 42 "sizeQueryTemp" Name 35 "WidthI"
Name 45 "WidthU" Name 38 "sizeQueryTemp"
Name 47 "NumberOfLevelsI" Name 44 "NumberOfLevelsU"
Name 51 "sizeQueryTemp" Name 47 "sizeQueryTemp"
Name 60 "PS_OUTPUT" Name 50 "WidthU"
MemberName 60(PS_OUTPUT) 0 "color" Name 52 "NumberOfLevelsI"
Name 62 "ps_output" Name 56 "sizeQueryTemp"
Name 68 "color" Name 65 "ps_output"
Name 75 "g_tTexbfs" Name 74 "color"
MemberDecorate 12($Global) 0 Offset 0 Name 80 "g_tTexbfs"
MemberDecorate 12($Global) 1 Offset 4 MemberDecorate 17($Global) 0 Offset 0
MemberDecorate 12($Global) 2 Offset 8 MemberDecorate 17($Global) 1 Offset 4
MemberDecorate 12($Global) 3 Offset 12 MemberDecorate 17($Global) 2 Offset 8
MemberDecorate 12($Global) 4 Offset 16 MemberDecorate 17($Global) 3 Offset 12
MemberDecorate 12($Global) 5 Offset 24 MemberDecorate 17($Global) 4 Offset 16
MemberDecorate 12($Global) 6 Offset 32 MemberDecorate 17($Global) 5 Offset 24
MemberDecorate 12($Global) 7 Offset 40 MemberDecorate 17($Global) 6 Offset 32
MemberDecorate 12($Global) 8 Offset 48 MemberDecorate 17($Global) 7 Offset 40
MemberDecorate 12($Global) 9 Offset 52 MemberDecorate 17($Global) 8 Offset 48
Decorate 12($Global) Block MemberDecorate 17($Global) 9 Offset 52
Decorate 14 DescriptorSet 0 Decorate 17($Global) Block
Decorate 26(g_tTex1df4) DescriptorSet 0 Decorate 19 DescriptorSet 0
Decorate 68(color) Location 0 Decorate 31(g_tTex1df4) DescriptorSet 0
Decorate 75(g_tTexbfs) DescriptorSet 0 Decorate 74(color) Location 0
Decorate 80(g_tTexbfs) DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 1 6: TypeFloat 32
7: TypeInt 32 0 7: TypeVector 6(float) 4
8: TypeFloat 32 8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeVector 6(int) 2 9: TypeFunction 8(PS_OUTPUT)
10: TypeVector 7(int) 2 12: TypeInt 32 1
11: TypeVector 8(float) 2 13: TypeInt 32 0
12($Global): TypeStruct 6(int) 7(int) 8(float) 7(int) 9(ivec2) 10(ivec2) 11(fvec2) 10(ivec2) 7(int) 8(float) 14: TypeVector 12(int) 2
13: TypePointer Uniform 12($Global) 15: TypeVector 13(int) 2
14: 13(ptr) Variable Uniform 16: TypeVector 6(float) 2
15: 6(int) Constant 9 17($Global): TypeStruct 12(int) 13(int) 6(float) 13(int) 14(ivec2) 15(ivec2) 16(fvec2) 15(ivec2) 13(int) 6(float)
16: TypePointer Uniform 8(float) 18: TypePointer Uniform 17($Global)
19: 8(float) Constant 0 19: 18(ptr) Variable Uniform
20: 8(float) Constant 1065353216 20: 12(int) Constant 9
22: TypePointer Function 7(int) 21: TypePointer Uniform 6(float)
24: TypeImage 8(float) 1D sampled format:Unknown 24: 6(float) Constant 0
25: TypePointer UniformConstant 24 25: 6(float) Constant 1065353216
26(g_tTex1df4): 25(ptr) Variable UniformConstant 27: TypePointer Function 13(int)
29: TypePointer Function 6(int) 29: TypeImage 6(float) 1D sampled format:Unknown
35: 7(int) Constant 6 30: TypePointer UniformConstant 29
59: TypeVector 8(float) 4 31(g_tTex1df4): 30(ptr) Variable UniformConstant
60(PS_OUTPUT): TypeStruct 59(fvec4) 34: TypePointer Function 12(int)
61: TypePointer Function 60(PS_OUTPUT) 40: 13(int) Constant 6
63: 6(int) Constant 0 64: TypePointer Function 8(PS_OUTPUT)
64: 59(fvec4) ConstantComposite 19 19 19 19 66: 12(int) Constant 0
65: TypePointer Function 59(fvec4) 67: 7(fvec4) ConstantComposite 24 24 24 24
67: TypePointer Output 59(fvec4) 68: TypePointer Function 7(fvec4)
68(color): 67(ptr) Variable Output 73: TypePointer Output 7(fvec4)
72: TypeImage 8(float) Buffer sampled format:R32f 74(color): 73(ptr) Variable Output
73: TypeSampledImage 72 77: TypeImage 6(float) Buffer sampled format:R32f
74: TypePointer UniformConstant 73 78: TypeSampledImage 77
75(g_tTexbfs): 74(ptr) Variable UniformConstant 79: TypePointer UniformConstant 78
80(g_tTexbfs): 79(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
23(sizeQueryTemp): 22(ptr) Variable Function 75:8(PS_OUTPUT) FunctionCall 10(@main()
30(WidthI): 29(ptr) Variable Function 76: 7(fvec4) CompositeExtract 75 0
33(sizeQueryTemp): 22(ptr) Variable Function Store 74(color) 76
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:28 Function Parameters:
0:? Sequence 0:? Sequence
0:32 textureFetch (temp 4-component vector of float) 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 1 (const int)
0:52 Constant: 0:52 Constant:
0:52 1.000000 0:52 1.000000
0:54 Sequence 0:54 Branch: Return with expression
0:54 Sequence 0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:54 move second child to first child (temp 4-component vector of float) 0:28 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:28 Function Parameters:
0:54 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Sequence
0:54 Constant: 0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:54 0 (const int) 0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:54 move second child to first child (temp float) 0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:28 move second child to first child (temp 4-component vector of float)
0:54 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Color: direct index for structure (temp 4-component vector of float)
0:54 Constant: 0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:54 1 (const int) 0:28 Constant:
0:54 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS) 0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsi4' (uniform itexture2DMS) 0:? 'g_tTex2dmsi4' (uniform itexture2DMS)
@ -167,6 +171,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) 0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray) 0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:28 Function Parameters:
0:? Sequence 0:? Sequence
0:32 textureFetch (temp 4-component vector of float) 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 1 (const int)
0:52 Constant: 0:52 Constant:
0:52 1.000000 0:52 1.000000
0:54 Sequence 0:54 Branch: Return with expression
0:54 Sequence 0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:54 move second child to first child (temp 4-component vector of float) 0:28 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:28 Function Parameters:
0:54 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Sequence
0:54 Constant: 0:28 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:54 0 (const int) 0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:54 move second child to first child (temp float) 0:28 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:28 move second child to first child (temp 4-component vector of float)
0:54 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:28 Color: direct index for structure (temp 4-component vector of float)
0:54 Constant: 0:28 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:54 1 (const int) 0:28 Constant:
0:54 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex2dmsf4' (uniform texture2DMS) 0:? 'g_tTex2dmsf4' (uniform texture2DMS)
0:? 'g_tTex2dmsi4' (uniform itexture2DMS) 0:? 'g_tTex2dmsi4' (uniform itexture2DMS)
@ -341,186 +351,199 @@ gl_FragCoord origin is upper left
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) 0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray) 0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray)
0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 123 // Id's are bound by 130
Capability Shader Capability Shader
Capability ImageGatherExtended Capability ImageGatherExtended
Capability ImageMSArray Capability ImageMSArray
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 112 116 EntryPoint Fragment 4 "main" 120 124
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "g_tTex2dmsf4" Name 8 "PS_OUTPUT"
Name 15 "$Global" MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 15($Global) 0 "c1" MemberName 8(PS_OUTPUT) 1 "Depth"
MemberName 15($Global) 1 "c2" Name 10 "@main("
MemberName 15($Global) 2 "c3" Name 14 "g_tTex2dmsf4"
MemberName 15($Global) 3 "c4" Name 20 "$Global"
MemberName 15($Global) 4 "o1" MemberName 20($Global) 0 "c1"
MemberName 15($Global) 5 "o2" MemberName 20($Global) 1 "c2"
MemberName 15($Global) 6 "o3" MemberName 20($Global) 2 "c3"
MemberName 15($Global) 7 "o4" MemberName 20($Global) 3 "c4"
Name 17 "" MemberName 20($Global) 4 "o1"
Name 27 "g_tTex2dmsi4" MemberName 20($Global) 5 "o2"
Name 35 "g_tTex2dmsu4" MemberName 20($Global) 6 "o3"
Name 62 "g_tTex2dmsf4a" MemberName 20($Global) 7 "o4"
Name 71 "g_tTex2dmsi4a" Name 22 ""
Name 78 "g_tTex2dmsu4a" Name 31 "g_tTex2dmsi4"
Name 101 "PS_OUTPUT" Name 39 "g_tTex2dmsu4"
MemberName 101(PS_OUTPUT) 0 "Color" Name 66 "g_tTex2dmsf4a"
MemberName 101(PS_OUTPUT) 1 "Depth" Name 75 "g_tTex2dmsi4a"
Name 103 "psout" Name 82 "g_tTex2dmsu4a"
Name 112 "Color" Name 106 "psout"
Name 116 "Depth" Name 117 "flattenTemp"
Name 122 "g_sSamp" Name 120 "Color"
Decorate 9(g_tTex2dmsf4) DescriptorSet 0 Name 124 "Depth"
MemberDecorate 15($Global) 0 Offset 0 Name 129 "g_sSamp"
MemberDecorate 15($Global) 1 Offset 8 Decorate 14(g_tTex2dmsf4) DescriptorSet 0
MemberDecorate 15($Global) 2 Offset 16 MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 15($Global) 3 Offset 32 MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 15($Global) 4 Offset 48 MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 15($Global) 5 Offset 56 MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 15($Global) 6 Offset 64 MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 15($Global) 7 Offset 80 MemberDecorate 20($Global) 5 Offset 56
Decorate 15($Global) Block MemberDecorate 20($Global) 6 Offset 64
Decorate 17 DescriptorSet 0 MemberDecorate 20($Global) 7 Offset 80
Decorate 27(g_tTex2dmsi4) DescriptorSet 0 Decorate 20($Global) Block
Decorate 35(g_tTex2dmsu4) DescriptorSet 0 Decorate 22 DescriptorSet 0
Decorate 62(g_tTex2dmsf4a) DescriptorSet 0 Decorate 31(g_tTex2dmsi4) DescriptorSet 0
Decorate 71(g_tTex2dmsi4a) DescriptorSet 0 Decorate 39(g_tTex2dmsu4) DescriptorSet 0
Decorate 78(g_tTex2dmsu4a) DescriptorSet 0 Decorate 66(g_tTex2dmsf4a) DescriptorSet 0
Decorate 112(Color) Location 0 Decorate 75(g_tTex2dmsi4a) DescriptorSet 0
Decorate 116(Depth) BuiltIn FragDepth Decorate 82(g_tTex2dmsu4a) DescriptorSet 0
Decorate 122(g_sSamp) DescriptorSet 0 Decorate 120(Color) Location 0
Decorate 122(g_sSamp) Binding 0 Decorate 124(Depth) BuiltIn FragDepth
Decorate 129(g_sSamp) DescriptorSet 0
Decorate 129(g_sSamp) Binding 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeImage 6(float) 2D multi-sampled sampled format:Unknown 7: TypeVector 6(float) 4
8: TypePointer UniformConstant 7 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9(g_tTex2dmsf4): 8(ptr) Variable UniformConstant 9: TypeFunction 8(PS_OUTPUT)
11: TypeInt 32 1 12: TypeImage 6(float) 2D multi-sampled sampled format:Unknown
12: TypeVector 11(int) 2 13: TypePointer UniformConstant 12
13: TypeVector 11(int) 3 14(g_tTex2dmsf4): 13(ptr) Variable UniformConstant
14: TypeVector 11(int) 4 16: TypeInt 32 1
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 17: TypeVector 16(int) 2
16: TypePointer Uniform 15($Global) 18: TypeVector 16(int) 3
17: 16(ptr) Variable Uniform 19: TypeVector 16(int) 4
18: 11(int) Constant 1 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
19: TypePointer Uniform 12(ivec2) 21: TypePointer Uniform 20($Global)
22: 11(int) Constant 3 22: 21(ptr) Variable Uniform
23: TypeVector 6(float) 4 23: 16(int) Constant 1
25: TypeImage 11(int) 2D multi-sampled sampled format:Unknown 24: TypePointer Uniform 17(ivec2)
26: TypePointer UniformConstant 25 27: 16(int) Constant 3
27(g_tTex2dmsi4): 26(ptr) Variable UniformConstant 29: TypeImage 16(int) 2D multi-sampled sampled format:Unknown
32: TypeInt 32 0 30: TypePointer UniformConstant 29
33: TypeImage 32(int) 2D multi-sampled sampled format:Unknown 31(g_tTex2dmsi4): 30(ptr) Variable UniformConstant
34: TypePointer UniformConstant 33 36: TypeInt 32 0
35(g_tTex2dmsu4): 34(ptr) Variable UniformConstant 37: TypeImage 36(int) 2D multi-sampled sampled format:Unknown
39: TypeVector 32(int) 4 38: TypePointer UniformConstant 37
44: 11(int) Constant 5 39(g_tTex2dmsu4): 38(ptr) Variable UniformConstant
60: TypeImage 6(float) 2D array multi-sampled sampled format:Unknown 43: TypeVector 36(int) 4
61: TypePointer UniformConstant 60 48: 16(int) Constant 5
62(g_tTex2dmsf4a): 61(ptr) Variable UniformConstant 64: TypeImage 6(float) 2D array multi-sampled sampled format:Unknown
64: 11(int) Constant 2 65: TypePointer UniformConstant 64
65: TypePointer Uniform 13(ivec3) 66(g_tTex2dmsf4a): 65(ptr) Variable UniformConstant
69: TypeImage 11(int) 2D array multi-sampled sampled format:Unknown 68: 16(int) Constant 2
70: TypePointer UniformConstant 69 69: TypePointer Uniform 18(ivec3)
71(g_tTex2dmsi4a): 70(ptr) Variable UniformConstant 73: TypeImage 16(int) 2D array multi-sampled sampled format:Unknown
76: TypeImage 32(int) 2D array multi-sampled sampled format:Unknown 74: TypePointer UniformConstant 73
77: TypePointer UniformConstant 76 75(g_tTex2dmsi4a): 74(ptr) Variable UniformConstant
78(g_tTex2dmsu4a): 77(ptr) Variable UniformConstant 80: TypeImage 36(int) 2D array multi-sampled sampled format:Unknown
101(PS_OUTPUT): TypeStruct 23(fvec4) 6(float) 81: TypePointer UniformConstant 80
102: TypePointer Function 101(PS_OUTPUT) 82(g_tTex2dmsu4a): 81(ptr) Variable UniformConstant
104: 11(int) Constant 0 105: TypePointer Function 8(PS_OUTPUT)
105: 6(float) Constant 1065353216 107: 16(int) Constant 0
106: 23(fvec4) ConstantComposite 105 105 105 105 108: 6(float) Constant 1065353216
107: TypePointer Function 23(fvec4) 109: 7(fvec4) ConstantComposite 108 108 108 108
109: TypePointer Function 6(float) 110: TypePointer Function 7(fvec4)
111: TypePointer Output 23(fvec4) 112: TypePointer Function 6(float)
112(Color): 111(ptr) Variable Output 119: TypePointer Output 7(fvec4)
115: TypePointer Output 6(float) 120(Color): 119(ptr) Variable Output
116(Depth): 115(ptr) Variable Output 123: TypePointer Output 6(float)
120: TypeSampler 124(Depth): 123(ptr) Variable Output
121: TypePointer UniformConstant 120 127: TypeSampler
122(g_sSamp): 121(ptr) Variable UniformConstant 128: TypePointer UniformConstant 127
129(g_sSamp): 128(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
103(psout): 102(ptr) Variable Function 117(flattenTemp): 105(ptr) Variable Function
10: 7 Load 9(g_tTex2dmsf4) 118:8(PS_OUTPUT) FunctionCall 10(@main()
20: 19(ptr) AccessChain 17 18 Store 117(flattenTemp) 118
21: 12(ivec2) Load 20 121: 110(ptr) AccessChain 117(flattenTemp) 107
24: 23(fvec4) ImageFetch 10 21 Sample 22 122: 7(fvec4) Load 121
28: 25 Load 27(g_tTex2dmsi4) Store 120(Color) 122
29: 19(ptr) AccessChain 17 18 125: 112(ptr) AccessChain 117(flattenTemp) 23
30: 12(ivec2) Load 29 126: 6(float) Load 125
31: 14(ivec4) ImageFetch 28 30 Sample 22 Store 124(Depth) 126
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:48 Function Parameters:
0:? Sequence 0:? Sequence
0:52 textureFetch (temp 4-component vector of float) 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 1 (const int)
0:68 Constant: 0:68 Constant:
0:68 1.000000 0:68 1.000000
0:70 Sequence 0:70 Branch: Return with expression
0:70 Sequence 0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 move second child to first child (temp 4-component vector of float) 0:48 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:48 Function Parameters:
0:70 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Sequence
0:70 Constant: 0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 0 (const int) 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 move second child to first child (temp float) 0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:48 move second child to first child (temp 4-component vector of float)
0:70 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Color: direct index for structure (temp 4-component vector of float)
0:70 Constant: 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 1 (const int) 0:48 Constant:
0:70 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D) 0:? 'g_tTex1di4' (uniform itexture1D)
@ -182,6 +186,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:48 Function Parameters:
0:? Sequence 0:? Sequence
0:52 textureFetch (temp 4-component vector of float) 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 1 (const int)
0:68 Constant: 0:68 Constant:
0:68 1.000000 0:68 1.000000
0:70 Sequence 0:70 Branch: Return with expression
0:70 Sequence 0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 move second child to first child (temp 4-component vector of float) 0:48 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:48 Function Parameters:
0:70 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Sequence
0:70 Constant: 0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 0 (const int) 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 move second child to first child (temp float) 0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:48 move second child to first child (temp 4-component vector of float)
0:70 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Color: direct index for structure (temp 4-component vector of float)
0:70 Constant: 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70 1 (const int) 0:48 Constant:
0:70 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D) 0:? 'g_tTex1di4' (uniform itexture1D)
@ -371,246 +381,259 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 152 // Id's are bound by 159
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
Capability SampledCubeArray Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 96 100 EntryPoint Fragment 4 "main" 104 108
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "g_tTex1df4a" Name 8 "PS_OUTPUT"
Name 15 "$Global" MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 15($Global) 0 "c1" MemberName 8(PS_OUTPUT) 1 "Depth"
MemberName 15($Global) 1 "c2" Name 10 "@main("
MemberName 15($Global) 2 "c3" Name 14 "g_tTex1df4a"
MemberName 15($Global) 3 "c4" Name 20 "$Global"
MemberName 15($Global) 4 "o1" MemberName 20($Global) 0 "c1"
MemberName 15($Global) 5 "o2" MemberName 20($Global) 1 "c2"
MemberName 15($Global) 6 "o3" MemberName 20($Global) 2 "c3"
MemberName 15($Global) 7 "o4" MemberName 20($Global) 3 "c4"
Name 17 "" MemberName 20($Global) 4 "o1"
Name 32 "g_tTex1di4a" MemberName 20($Global) 5 "o2"
Name 42 "g_tTex1du4a" MemberName 20($Global) 6 "o3"
Name 53 "g_tTex2df4a" MemberName 20($Global) 7 "o4"
Name 66 "g_tTex2di4a" Name 22 ""
Name 76 "g_tTex2du4a" Name 36 "g_tTex1di4a"
Name 84 "PS_OUTPUT" Name 46 "g_tTex1du4a"
MemberName 84(PS_OUTPUT) 0 "Color" Name 57 "g_tTex2df4a"
MemberName 84(PS_OUTPUT) 1 "Depth" Name 70 "g_tTex2di4a"
Name 86 "psout" Name 80 "g_tTex2du4a"
Name 96 "Color" Name 89 "psout"
Name 100 "Depth" Name 101 "flattenTemp"
Name 106 "g_sSamp" Name 104 "Color"
Name 109 "g_tTex1df4" Name 108 "Depth"
Name 112 "g_tTex1di4" Name 113 "g_sSamp"
Name 115 "g_tTex1du4" Name 116 "g_tTex1df4"
Name 118 "g_tTex2df4" Name 119 "g_tTex1di4"
Name 121 "g_tTex2di4" Name 122 "g_tTex1du4"
Name 124 "g_tTex2du4" Name 125 "g_tTex2df4"
Name 127 "g_tTex3df4" Name 128 "g_tTex2di4"
Name 130 "g_tTex3di4" Name 131 "g_tTex2du4"
Name 133 "g_tTex3du4" Name 134 "g_tTex3df4"
Name 136 "g_tTexcdf4" Name 137 "g_tTex3di4"
Name 139 "g_tTexcdi4" Name 140 "g_tTex3du4"
Name 142 "g_tTexcdu4" Name 143 "g_tTexcdf4"
Name 145 "g_tTexcdf4a" Name 146 "g_tTexcdi4"
Name 148 "g_tTexcdi4a" Name 149 "g_tTexcdu4"
Name 151 "g_tTexcdu4a" Name 152 "g_tTexcdf4a"
Decorate 9(g_tTex1df4a) DescriptorSet 0 Name 155 "g_tTexcdi4a"
MemberDecorate 15($Global) 0 Offset 0 Name 158 "g_tTexcdu4a"
MemberDecorate 15($Global) 1 Offset 8 Decorate 14(g_tTex1df4a) DescriptorSet 0
MemberDecorate 15($Global) 2 Offset 16 MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 15($Global) 3 Offset 32 MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 15($Global) 4 Offset 48 MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 15($Global) 5 Offset 56 MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 15($Global) 6 Offset 64 MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 15($Global) 7 Offset 80 MemberDecorate 20($Global) 5 Offset 56
Decorate 15($Global) Block MemberDecorate 20($Global) 6 Offset 64
Decorate 17 DescriptorSet 0 MemberDecorate 20($Global) 7 Offset 80
Decorate 32(g_tTex1di4a) DescriptorSet 0 Decorate 20($Global) Block
Decorate 42(g_tTex1du4a) DescriptorSet 0 Decorate 22 DescriptorSet 0
Decorate 53(g_tTex2df4a) DescriptorSet 0 Decorate 36(g_tTex1di4a) DescriptorSet 0
Decorate 66(g_tTex2di4a) DescriptorSet 0 Decorate 46(g_tTex1du4a) DescriptorSet 0
Decorate 76(g_tTex2du4a) DescriptorSet 0 Decorate 57(g_tTex2df4a) DescriptorSet 0
Decorate 96(Color) Location 0 Decorate 70(g_tTex2di4a) DescriptorSet 0
Decorate 100(Depth) BuiltIn FragDepth Decorate 80(g_tTex2du4a) DescriptorSet 0
Decorate 106(g_sSamp) DescriptorSet 0 Decorate 104(Color) Location 0
Decorate 106(g_sSamp) Binding 0 Decorate 108(Depth) BuiltIn FragDepth
Decorate 109(g_tTex1df4) DescriptorSet 0 Decorate 113(g_sSamp) DescriptorSet 0
Decorate 109(g_tTex1df4) Binding 0 Decorate 113(g_sSamp) Binding 0
Decorate 112(g_tTex1di4) DescriptorSet 0 Decorate 116(g_tTex1df4) DescriptorSet 0
Decorate 115(g_tTex1du4) DescriptorSet 0 Decorate 116(g_tTex1df4) Binding 0
Decorate 118(g_tTex2df4) DescriptorSet 0 Decorate 119(g_tTex1di4) DescriptorSet 0
Decorate 121(g_tTex2di4) DescriptorSet 0 Decorate 122(g_tTex1du4) DescriptorSet 0
Decorate 124(g_tTex2du4) DescriptorSet 0 Decorate 125(g_tTex2df4) DescriptorSet 0
Decorate 127(g_tTex3df4) DescriptorSet 0 Decorate 128(g_tTex2di4) DescriptorSet 0
Decorate 130(g_tTex3di4) DescriptorSet 0 Decorate 131(g_tTex2du4) DescriptorSet 0
Decorate 133(g_tTex3du4) DescriptorSet 0 Decorate 134(g_tTex3df4) DescriptorSet 0
Decorate 136(g_tTexcdf4) DescriptorSet 0 Decorate 137(g_tTex3di4) DescriptorSet 0
Decorate 139(g_tTexcdi4) DescriptorSet 0 Decorate 140(g_tTex3du4) DescriptorSet 0
Decorate 142(g_tTexcdu4) DescriptorSet 0 Decorate 143(g_tTexcdf4) DescriptorSet 0
Decorate 145(g_tTexcdf4a) DescriptorSet 0 Decorate 146(g_tTexcdi4) DescriptorSet 0
Decorate 148(g_tTexcdi4a) DescriptorSet 0 Decorate 149(g_tTexcdu4) DescriptorSet 0
Decorate 151(g_tTexcdu4a) DescriptorSet 0 Decorate 152(g_tTexcdf4a) DescriptorSet 0
Decorate 155(g_tTexcdi4a) DescriptorSet 0
Decorate 158(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeImage 6(float) 1D array sampled format:Unknown 7: TypeVector 6(float) 4
8: TypePointer UniformConstant 7 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9(g_tTex1df4a): 8(ptr) Variable UniformConstant 9: TypeFunction 8(PS_OUTPUT)
11: TypeInt 32 1 12: TypeImage 6(float) 1D array sampled format:Unknown
12: TypeVector 11(int) 2 13: TypePointer UniformConstant 12
13: TypeVector 11(int) 3 14(g_tTex1df4a): 13(ptr) Variable UniformConstant
14: TypeVector 11(int) 4 16: TypeInt 32 1
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 17: TypeVector 16(int) 2
16: TypePointer Uniform 15($Global) 18: TypeVector 16(int) 3
17: 16(ptr) Variable Uniform 19: TypeVector 16(int) 4
18: 11(int) Constant 2 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
19: TypePointer Uniform 13(ivec3) 21: TypePointer Uniform 20($Global)
23: TypeInt 32 0 22: 21(ptr) Variable Uniform
24: 23(int) Constant 2 23: 16(int) Constant 2
25: TypePointer Uniform 11(int) 24: TypePointer Uniform 18(ivec3)
28: TypeVector 6(float) 4 28: TypeInt 32 0
30: TypeImage 11(int) 1D array sampled format:Unknown 29: 28(int) Constant 2
31: TypePointer UniformConstant 30 30: TypePointer Uniform 16(int)
32(g_tTex1di4a): 31(ptr) Variable UniformConstant 34: TypeImage 16(int) 1D array sampled format:Unknown
40: TypeImage 23(int) 1D array sampled format:Unknown 35: TypePointer UniformConstant 34
41: TypePointer UniformConstant 40 36(g_tTex1di4a): 35(ptr) Variable UniformConstant
42(g_tTex1du4a): 41(ptr) Variable UniformConstant 44: TypeImage 28(int) 1D array sampled format:Unknown
49: TypeVector 23(int) 4 45: TypePointer UniformConstant 44
51: TypeImage 6(float) 2D array sampled format:Unknown 46(g_tTex1du4a): 45(ptr) Variable UniformConstant
52: TypePointer UniformConstant 51 53: TypeVector 28(int) 4
53(g_tTex2df4a): 52(ptr) Variable UniformConstant 55: TypeImage 6(float) 2D array sampled format:Unknown
55: 11(int) Constant 3 56: TypePointer UniformConstant 55
56: TypePointer Uniform 14(ivec4) 57(g_tTex2df4a): 56(ptr) Variable UniformConstant
60: 23(int) Constant 3 59: 16(int) Constant 3
64: TypeImage 11(int) 2D array sampled format:Unknown 60: TypePointer Uniform 19(ivec4)
65: TypePointer UniformConstant 64 64: 28(int) Constant 3
66(g_tTex2di4a): 65(ptr) Variable UniformConstant 68: TypeImage 16(int) 2D array sampled format:Unknown
74: TypeImage 23(int) 2D array sampled format:Unknown 69: TypePointer UniformConstant 68
75: TypePointer UniformConstant 74 70(g_tTex2di4a): 69(ptr) Variable UniformConstant
76(g_tTex2du4a): 75(ptr) Variable UniformConstant 78: TypeImage 28(int) 2D array sampled format:Unknown
84(PS_OUTPUT): TypeStruct 28(fvec4) 6(float) 79: TypePointer UniformConstant 78
85: TypePointer Function 84(PS_OUTPUT) 80(g_tTex2du4a): 79(ptr) Variable UniformConstant
87: 11(int) Constant 0 88: TypePointer Function 8(PS_OUTPUT)
88: 6(float) Constant 1065353216 90: 16(int) Constant 0
89: 28(fvec4) ConstantComposite 88 88 88 88 91: 6(float) Constant 1065353216
90: TypePointer Function 28(fvec4) 92: 7(fvec4) ConstantComposite 91 91 91 91
92: 11(int) Constant 1 93: TypePointer Function 7(fvec4)
93: TypePointer Function 6(float) 95: 16(int) Constant 1
95: TypePointer Output 28(fvec4) 96: TypePointer Function 6(float)
96(Color): 95(ptr) Variable Output 103: TypePointer Output 7(fvec4)
99: TypePointer Output 6(float) 104(Color): 103(ptr) Variable Output
100(Depth): 99(ptr) Variable Output 107: TypePointer Output 6(float)
104: TypeSampler 108(Depth): 107(ptr) Variable Output
105: TypePointer UniformConstant 104 111: TypeSampler
106(g_sSamp): 105(ptr) Variable UniformConstant 112: TypePointer UniformConstant 111
107: TypeImage 6(float) 1D sampled format:Unknown 113(g_sSamp): 112(ptr) Variable UniformConstant
108: TypePointer UniformConstant 107 114: TypeImage 6(float) 1D sampled format:Unknown
109(g_tTex1df4): 108(ptr) Variable UniformConstant 115: TypePointer UniformConstant 114
110: TypeImage 11(int) 1D sampled format:Unknown 116(g_tTex1df4): 115(ptr) Variable UniformConstant
111: TypePointer UniformConstant 110 117: TypeImage 16(int) 1D sampled format:Unknown
112(g_tTex1di4): 111(ptr) Variable UniformConstant 118: TypePointer UniformConstant 117
113: TypeImage 23(int) 1D sampled format:Unknown 119(g_tTex1di4): 118(ptr) Variable UniformConstant
114: TypePointer UniformConstant 113 120: TypeImage 28(int) 1D sampled format:Unknown
115(g_tTex1du4): 114(ptr) Variable UniformConstant 121: TypePointer UniformConstant 120
116: TypeImage 6(float) 2D sampled format:Unknown 122(g_tTex1du4): 121(ptr) Variable UniformConstant
117: TypePointer UniformConstant 116 123: TypeImage 6(float) 2D sampled format:Unknown
118(g_tTex2df4): 117(ptr) Variable UniformConstant 124: TypePointer UniformConstant 123
119: TypeImage 11(int) 2D sampled format:Unknown 125(g_tTex2df4): 124(ptr) Variable UniformConstant
120: TypePointer UniformConstant 119 126: TypeImage 16(int) 2D sampled format:Unknown
121(g_tTex2di4): 120(ptr) Variable UniformConstant 127: TypePointer UniformConstant 126
122: TypeImage 23(int) 2D sampled format:Unknown 128(g_tTex2di4): 127(ptr) Variable UniformConstant
123: TypePointer UniformConstant 122 129: TypeImage 28(int) 2D sampled format:Unknown
124(g_tTex2du4): 123(ptr) Variable UniformConstant 130: TypePointer UniformConstant 129
125: TypeImage 6(float) 3D sampled format:Unknown 131(g_tTex2du4): 130(ptr) Variable UniformConstant
126: TypePointer UniformConstant 125 132: TypeImage 6(float) 3D sampled format:Unknown
127(g_tTex3df4): 126(ptr) Variable UniformConstant 133: TypePointer UniformConstant 132
128: TypeImage 11(int) 3D sampled format:Unknown 134(g_tTex3df4): 133(ptr) Variable UniformConstant
129: TypePointer UniformConstant 128 135: TypeImage 16(int) 3D sampled format:Unknown
130(g_tTex3di4): 129(ptr) Variable UniformConstant 136: TypePointer UniformConstant 135
131: TypeImage 23(int) 3D sampled format:Unknown 137(g_tTex3di4): 136(ptr) Variable UniformConstant
132: TypePointer UniformConstant 131 138: TypeImage 28(int) 3D sampled format:Unknown
133(g_tTex3du4): 132(ptr) Variable UniformConstant 139: TypePointer UniformConstant 138
134: TypeImage 6(float) Cube sampled format:Unknown 140(g_tTex3du4): 139(ptr) Variable UniformConstant
135: TypePointer UniformConstant 134 141: TypeImage 6(float) Cube sampled format:Unknown
136(g_tTexcdf4): 135(ptr) Variable UniformConstant 142: TypePointer UniformConstant 141
137: TypeImage 11(int) Cube sampled format:Unknown 143(g_tTexcdf4): 142(ptr) Variable UniformConstant
138: TypePointer UniformConstant 137 144: TypeImage 16(int) Cube sampled format:Unknown
139(g_tTexcdi4): 138(ptr) Variable UniformConstant 145: TypePointer UniformConstant 144
140: TypeImage 23(int) Cube sampled format:Unknown 146(g_tTexcdi4): 145(ptr) Variable UniformConstant
141: TypePointer UniformConstant 140 147: TypeImage 28(int) Cube sampled format:Unknown
142(g_tTexcdu4): 141(ptr) Variable UniformConstant 148: TypePointer UniformConstant 147
143: TypeImage 6(float) Cube array sampled format:Unknown 149(g_tTexcdu4): 148(ptr) Variable UniformConstant
144: TypePointer UniformConstant 143 150: TypeImage 6(float) Cube array sampled format:Unknown
145(g_tTexcdf4a): 144(ptr) Variable UniformConstant 151: TypePointer UniformConstant 150
146: TypeImage 11(int) Cube array sampled format:Unknown 152(g_tTexcdf4a): 151(ptr) Variable UniformConstant
147: TypePointer UniformConstant 146 153: TypeImage 16(int) Cube array sampled format:Unknown
148(g_tTexcdi4a): 147(ptr) Variable UniformConstant 154: TypePointer UniformConstant 153
149: TypeImage 23(int) Cube array sampled format:Unknown 155(g_tTexcdi4a): 154(ptr) Variable UniformConstant
150: TypePointer UniformConstant 149 156: TypeImage 28(int) Cube array sampled format:Unknown
151(g_tTexcdu4a): 150(ptr) Variable UniformConstant 157: TypePointer UniformConstant 156
158(g_tTexcdu4a): 157(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
86(psout): 85(ptr) Variable Function 101(flattenTemp): 88(ptr) Variable Function
10: 7 Load 9(g_tTex1df4a) 102:8(PS_OUTPUT) FunctionCall 10(@main()
20: 19(ptr) AccessChain 17 18 Store 101(flattenTemp) 102
21: 13(ivec3) Load 20 105: 93(ptr) AccessChain 101(flattenTemp) 90
22: 12(ivec2) VectorShuffle 21 21 0 1 106: 7(fvec4) Load 105
26: 25(ptr) AccessChain 17 18 24 Store 104(Color) 106
27: 11(int) Load 26 109: 96(ptr) AccessChain 101(flattenTemp) 95
29: 28(fvec4) ImageFetch 10 22 Lod 27 110: 6(float) Load 109
33: 30 Load 32(g_tTex1di4a) Store 108(Depth) 110
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:48 Function Parameters:
0:? Sequence 0:? Sequence
0:52 textureFetch (temp 4-component vector of float) 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 1 (const int)
0:73 Constant: 0:73 Constant:
0:73 1.000000 0:73 1.000000
0:75 Sequence 0:75 Branch: Return with expression
0:75 Sequence 0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 move second child to first child (temp 4-component vector of float) 0:48 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:48 Function Parameters:
0:75 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Sequence
0:75 Constant: 0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 0 (const int) 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 move second child to first child (temp float) 0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:48 move second child to first child (temp 4-component vector of float)
0:75 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Color: direct index for structure (temp 4-component vector of float)
0:75 Constant: 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 1 (const int) 0:48 Constant:
0:75 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D) 0:? 'g_tTex1di4' (uniform itexture1D)
@ -233,6 +237,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:48 Function Parameters:
0:? Sequence 0:? Sequence
0:52 textureFetch (temp 4-component vector of float) 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 1 (const int)
0:73 Constant: 0:73 Constant:
0:73 1.000000 0:73 1.000000
0:75 Sequence 0:75 Branch: Return with expression
0:75 Sequence 0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 move second child to first child (temp 4-component vector of float) 0:48 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:48 Function Parameters:
0:75 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Sequence
0:75 Constant: 0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 0 (const int) 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 move second child to first child (temp float) 0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:48 move second child to first child (temp 4-component vector of float)
0:75 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Color: direct index for structure (temp 4-component vector of float)
0:75 Constant: 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 1 (const int) 0:48 Constant:
0:75 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D) 0:? 'g_tTex1di4' (uniform itexture1D)
@ -473,266 +483,279 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 172 // Id's are bound by 179
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
Capability SampledCubeArray Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 125 129 EntryPoint Fragment 4 "main" 133 137
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "g_tTex1df4" Name 8 "PS_OUTPUT"
Name 15 "$Global" MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 15($Global) 0 "c1" MemberName 8(PS_OUTPUT) 1 "Depth"
MemberName 15($Global) 1 "c2" Name 10 "@main("
MemberName 15($Global) 2 "c3" Name 14 "g_tTex1df4"
MemberName 15($Global) 3 "c4" Name 20 "$Global"
MemberName 15($Global) 4 "o1" MemberName 20($Global) 0 "c1"
MemberName 15($Global) 5 "o2" MemberName 20($Global) 1 "c2"
MemberName 15($Global) 6 "o3" MemberName 20($Global) 2 "c3"
MemberName 15($Global) 7 "o4" MemberName 20($Global) 3 "c4"
Name 17 "" MemberName 20($Global) 4 "o1"
Name 31 "g_tTex1di4" MemberName 20($Global) 5 "o2"
Name 40 "g_tTex1du4" MemberName 20($Global) 6 "o3"
Name 50 "g_tTex2df4" MemberName 20($Global) 7 "o4"
Name 63 "g_tTex2di4" Name 22 ""
Name 73 "g_tTex2du4" Name 35 "g_tTex1di4"
Name 83 "g_tTex3df4" Name 44 "g_tTex1du4"
Name 96 "g_tTex3di4" Name 54 "g_tTex2df4"
Name 106 "g_tTex3du4" Name 67 "g_tTex2di4"
Name 114 "PS_OUTPUT" Name 77 "g_tTex2du4"
MemberName 114(PS_OUTPUT) 0 "Color" Name 87 "g_tTex3df4"
MemberName 114(PS_OUTPUT) 1 "Depth" Name 100 "g_tTex3di4"
Name 116 "psout" Name 110 "g_tTex3du4"
Name 125 "Color" Name 119 "psout"
Name 129 "Depth" Name 130 "flattenTemp"
Name 135 "g_sSamp" Name 133 "Color"
Name 138 "g_tTexcdf4" Name 137 "Depth"
Name 141 "g_tTexcdi4" Name 142 "g_sSamp"
Name 144 "g_tTexcdu4" Name 145 "g_tTexcdf4"
Name 147 "g_tTex1df4a" Name 148 "g_tTexcdi4"
Name 150 "g_tTex1di4a" Name 151 "g_tTexcdu4"
Name 153 "g_tTex1du4a" Name 154 "g_tTex1df4a"
Name 156 "g_tTex2df4a" Name 157 "g_tTex1di4a"
Name 159 "g_tTex2di4a" Name 160 "g_tTex1du4a"
Name 162 "g_tTex2du4a" Name 163 "g_tTex2df4a"
Name 165 "g_tTexcdf4a" Name 166 "g_tTex2di4a"
Name 168 "g_tTexcdi4a" Name 169 "g_tTex2du4a"
Name 171 "g_tTexcdu4a" Name 172 "g_tTexcdf4a"
Decorate 9(g_tTex1df4) DescriptorSet 0 Name 175 "g_tTexcdi4a"
Decorate 9(g_tTex1df4) Binding 0 Name 178 "g_tTexcdu4a"
MemberDecorate 15($Global) 0 Offset 0 Decorate 14(g_tTex1df4) DescriptorSet 0
MemberDecorate 15($Global) 1 Offset 8 Decorate 14(g_tTex1df4) Binding 0
MemberDecorate 15($Global) 2 Offset 16 MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 15($Global) 3 Offset 32 MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 15($Global) 4 Offset 48 MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 15($Global) 5 Offset 56 MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 15($Global) 6 Offset 64 MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 15($Global) 7 Offset 80 MemberDecorate 20($Global) 5 Offset 56
Decorate 15($Global) Block MemberDecorate 20($Global) 6 Offset 64
Decorate 17 DescriptorSet 0 MemberDecorate 20($Global) 7 Offset 80
Decorate 31(g_tTex1di4) DescriptorSet 0 Decorate 20($Global) Block
Decorate 40(g_tTex1du4) DescriptorSet 0 Decorate 22 DescriptorSet 0
Decorate 50(g_tTex2df4) DescriptorSet 0 Decorate 35(g_tTex1di4) DescriptorSet 0
Decorate 63(g_tTex2di4) DescriptorSet 0 Decorate 44(g_tTex1du4) DescriptorSet 0
Decorate 73(g_tTex2du4) DescriptorSet 0 Decorate 54(g_tTex2df4) DescriptorSet 0
Decorate 83(g_tTex3df4) DescriptorSet 0 Decorate 67(g_tTex2di4) DescriptorSet 0
Decorate 96(g_tTex3di4) DescriptorSet 0 Decorate 77(g_tTex2du4) DescriptorSet 0
Decorate 106(g_tTex3du4) DescriptorSet 0 Decorate 87(g_tTex3df4) DescriptorSet 0
Decorate 125(Color) Location 0 Decorate 100(g_tTex3di4) DescriptorSet 0
Decorate 129(Depth) BuiltIn FragDepth Decorate 110(g_tTex3du4) DescriptorSet 0
Decorate 135(g_sSamp) DescriptorSet 0 Decorate 133(Color) Location 0
Decorate 135(g_sSamp) Binding 0 Decorate 137(Depth) BuiltIn FragDepth
Decorate 138(g_tTexcdf4) DescriptorSet 0 Decorate 142(g_sSamp) DescriptorSet 0
Decorate 141(g_tTexcdi4) DescriptorSet 0 Decorate 142(g_sSamp) Binding 0
Decorate 144(g_tTexcdu4) DescriptorSet 0 Decorate 145(g_tTexcdf4) DescriptorSet 0
Decorate 147(g_tTex1df4a) DescriptorSet 0 Decorate 148(g_tTexcdi4) DescriptorSet 0
Decorate 150(g_tTex1di4a) DescriptorSet 0 Decorate 151(g_tTexcdu4) DescriptorSet 0
Decorate 153(g_tTex1du4a) DescriptorSet 0 Decorate 154(g_tTex1df4a) DescriptorSet 0
Decorate 156(g_tTex2df4a) DescriptorSet 0 Decorate 157(g_tTex1di4a) DescriptorSet 0
Decorate 159(g_tTex2di4a) DescriptorSet 0 Decorate 160(g_tTex1du4a) DescriptorSet 0
Decorate 162(g_tTex2du4a) DescriptorSet 0 Decorate 163(g_tTex2df4a) DescriptorSet 0
Decorate 165(g_tTexcdf4a) DescriptorSet 0 Decorate 166(g_tTex2di4a) DescriptorSet 0
Decorate 168(g_tTexcdi4a) DescriptorSet 0 Decorate 169(g_tTex2du4a) DescriptorSet 0
Decorate 171(g_tTexcdu4a) DescriptorSet 0 Decorate 172(g_tTexcdf4a) DescriptorSet 0
Decorate 175(g_tTexcdi4a) DescriptorSet 0
Decorate 178(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeImage 6(float) 1D sampled format:Unknown 7: TypeVector 6(float) 4
8: TypePointer UniformConstant 7 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9(g_tTex1df4): 8(ptr) Variable UniformConstant 9: TypeFunction 8(PS_OUTPUT)
11: TypeInt 32 1 12: TypeImage 6(float) 1D sampled format:Unknown
12: TypeVector 11(int) 2 13: TypePointer UniformConstant 12
13: TypeVector 11(int) 3 14(g_tTex1df4): 13(ptr) Variable UniformConstant
14: TypeVector 11(int) 4 16: TypeInt 32 1
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 17: TypeVector 16(int) 2
16: TypePointer Uniform 15($Global) 18: TypeVector 16(int) 3
17: 16(ptr) Variable Uniform 19: TypeVector 16(int) 4
18: 11(int) Constant 1 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
19: TypeInt 32 0 21: TypePointer Uniform 20($Global)
20: 19(int) Constant 0 22: 21(ptr) Variable Uniform
21: TypePointer Uniform 11(int) 23: 16(int) Constant 1
24: 19(int) Constant 1 24: TypeInt 32 0
27: TypeVector 6(float) 4 25: 24(int) Constant 0
29: TypeImage 11(int) 1D sampled format:Unknown 26: TypePointer Uniform 16(int)
30: TypePointer UniformConstant 29 29: 24(int) Constant 1
31(g_tTex1di4): 30(ptr) Variable UniformConstant 33: TypeImage 16(int) 1D sampled format:Unknown
38: TypeImage 19(int) 1D sampled format:Unknown 34: TypePointer UniformConstant 33
39: TypePointer UniformConstant 38 35(g_tTex1di4): 34(ptr) Variable UniformConstant
40(g_tTex1du4): 39(ptr) Variable UniformConstant 42: TypeImage 24(int) 1D sampled format:Unknown
46: TypeVector 19(int) 4 43: TypePointer UniformConstant 42
48: TypeImage 6(float) 2D sampled format:Unknown 44(g_tTex1du4): 43(ptr) Variable UniformConstant
49: TypePointer UniformConstant 48 50: TypeVector 24(int) 4
50(g_tTex2df4): 49(ptr) Variable UniformConstant 52: TypeImage 6(float) 2D sampled format:Unknown
52: 11(int) Constant 2 53: TypePointer UniformConstant 52
53: TypePointer Uniform 13(ivec3) 54(g_tTex2df4): 53(ptr) Variable UniformConstant
57: 19(int) Constant 2 56: 16(int) Constant 2
61: TypeImage 11(int) 2D sampled format:Unknown 57: TypePointer Uniform 18(ivec3)
62: TypePointer UniformConstant 61 61: 24(int) Constant 2
63(g_tTex2di4): 62(ptr) Variable UniformConstant 65: TypeImage 16(int) 2D sampled format:Unknown
71: TypeImage 19(int) 2D sampled format:Unknown 66: TypePointer UniformConstant 65
72: TypePointer UniformConstant 71 67(g_tTex2di4): 66(ptr) Variable UniformConstant
73(g_tTex2du4): 72(ptr) Variable UniformConstant 75: TypeImage 24(int) 2D sampled format:Unknown
81: TypeImage 6(float) 3D sampled format:Unknown 76: TypePointer UniformConstant 75
82: TypePointer UniformConstant 81 77(g_tTex2du4): 76(ptr) Variable UniformConstant
83(g_tTex3df4): 82(ptr) Variable UniformConstant 85: TypeImage 6(float) 3D sampled format:Unknown
85: 11(int) Constant 3 86: TypePointer UniformConstant 85
86: TypePointer Uniform 14(ivec4) 87(g_tTex3df4): 86(ptr) Variable UniformConstant
90: 19(int) Constant 3 89: 16(int) Constant 3
94: TypeImage 11(int) 3D sampled format:Unknown 90: TypePointer Uniform 19(ivec4)
95: TypePointer UniformConstant 94 94: 24(int) Constant 3
96(g_tTex3di4): 95(ptr) Variable UniformConstant 98: TypeImage 16(int) 3D sampled format:Unknown
104: TypeImage 19(int) 3D sampled format:Unknown 99: TypePointer UniformConstant 98
105: TypePointer UniformConstant 104 100(g_tTex3di4): 99(ptr) Variable UniformConstant
106(g_tTex3du4): 105(ptr) Variable UniformConstant 108: TypeImage 24(int) 3D sampled format:Unknown
114(PS_OUTPUT): TypeStruct 27(fvec4) 6(float) 109: TypePointer UniformConstant 108
115: TypePointer Function 114(PS_OUTPUT) 110(g_tTex3du4): 109(ptr) Variable UniformConstant
117: 11(int) Constant 0 118: TypePointer Function 8(PS_OUTPUT)
118: 6(float) Constant 1065353216 120: 16(int) Constant 0
119: 27(fvec4) ConstantComposite 118 118 118 118 121: 6(float) Constant 1065353216
120: TypePointer Function 27(fvec4) 122: 7(fvec4) ConstantComposite 121 121 121 121
122: TypePointer Function 6(float) 123: TypePointer Function 7(fvec4)
124: TypePointer Output 27(fvec4) 125: TypePointer Function 6(float)
125(Color): 124(ptr) Variable Output 132: TypePointer Output 7(fvec4)
128: TypePointer Output 6(float) 133(Color): 132(ptr) Variable Output
129(Depth): 128(ptr) Variable Output 136: TypePointer Output 6(float)
133: TypeSampler 137(Depth): 136(ptr) Variable Output
134: TypePointer UniformConstant 133 140: TypeSampler
135(g_sSamp): 134(ptr) Variable UniformConstant 141: TypePointer UniformConstant 140
136: TypeImage 6(float) Cube sampled format:Unknown 142(g_sSamp): 141(ptr) Variable UniformConstant
137: TypePointer UniformConstant 136 143: TypeImage 6(float) Cube sampled format:Unknown
138(g_tTexcdf4): 137(ptr) Variable UniformConstant 144: TypePointer UniformConstant 143
139: TypeImage 11(int) Cube sampled format:Unknown 145(g_tTexcdf4): 144(ptr) Variable UniformConstant
140: TypePointer UniformConstant 139 146: TypeImage 16(int) Cube sampled format:Unknown
141(g_tTexcdi4): 140(ptr) Variable UniformConstant 147: TypePointer UniformConstant 146
142: TypeImage 19(int) Cube sampled format:Unknown 148(g_tTexcdi4): 147(ptr) Variable UniformConstant
143: TypePointer UniformConstant 142 149: TypeImage 24(int) Cube sampled format:Unknown
144(g_tTexcdu4): 143(ptr) Variable UniformConstant 150: TypePointer UniformConstant 149
145: TypeImage 6(float) 1D array sampled format:Unknown 151(g_tTexcdu4): 150(ptr) Variable UniformConstant
146: TypePointer UniformConstant 145 152: TypeImage 6(float) 1D array sampled format:Unknown
147(g_tTex1df4a): 146(ptr) Variable UniformConstant 153: TypePointer UniformConstant 152
148: TypeImage 11(int) 1D array sampled format:Unknown 154(g_tTex1df4a): 153(ptr) Variable UniformConstant
149: TypePointer UniformConstant 148 155: TypeImage 16(int) 1D array sampled format:Unknown
150(g_tTex1di4a): 149(ptr) Variable UniformConstant 156: TypePointer UniformConstant 155
151: TypeImage 19(int) 1D array sampled format:Unknown 157(g_tTex1di4a): 156(ptr) Variable UniformConstant
152: TypePointer UniformConstant 151 158: TypeImage 24(int) 1D array sampled format:Unknown
153(g_tTex1du4a): 152(ptr) Variable UniformConstant 159: TypePointer UniformConstant 158
154: TypeImage 6(float) 2D array sampled format:Unknown 160(g_tTex1du4a): 159(ptr) Variable UniformConstant
155: TypePointer UniformConstant 154 161: TypeImage 6(float) 2D array sampled format:Unknown
156(g_tTex2df4a): 155(ptr) Variable UniformConstant 162: TypePointer UniformConstant 161
157: TypeImage 11(int) 2D array sampled format:Unknown 163(g_tTex2df4a): 162(ptr) Variable UniformConstant
158: TypePointer UniformConstant 157 164: TypeImage 16(int) 2D array sampled format:Unknown
159(g_tTex2di4a): 158(ptr) Variable UniformConstant 165: TypePointer UniformConstant 164
160: TypeImage 19(int) 2D array sampled format:Unknown 166(g_tTex2di4a): 165(ptr) Variable UniformConstant
161: TypePointer UniformConstant 160 167: TypeImage 24(int) 2D array sampled format:Unknown
162(g_tTex2du4a): 161(ptr) Variable UniformConstant 168: TypePointer UniformConstant 167
163: TypeImage 6(float) Cube array sampled format:Unknown 169(g_tTex2du4a): 168(ptr) Variable UniformConstant
164: TypePointer UniformConstant 163 170: TypeImage 6(float) Cube array sampled format:Unknown
165(g_tTexcdf4a): 164(ptr) Variable UniformConstant 171: TypePointer UniformConstant 170
166: TypeImage 11(int) Cube array sampled format:Unknown 172(g_tTexcdf4a): 171(ptr) Variable UniformConstant
167: TypePointer UniformConstant 166 173: TypeImage 16(int) Cube array sampled format:Unknown
168(g_tTexcdi4a): 167(ptr) Variable UniformConstant 174: TypePointer UniformConstant 173
169: TypeImage 19(int) Cube array sampled format:Unknown 175(g_tTexcdi4a): 174(ptr) Variable UniformConstant
170: TypePointer UniformConstant 169 176: TypeImage 24(int) Cube array sampled format:Unknown
171(g_tTexcdu4a): 170(ptr) Variable UniformConstant 177: TypePointer UniformConstant 176
178(g_tTexcdu4a): 177(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
116(psout): 115(ptr) Variable Function 130(flattenTemp): 118(ptr) Variable Function
10: 7 Load 9(g_tTex1df4) 131:8(PS_OUTPUT) FunctionCall 10(@main()
22: 21(ptr) AccessChain 17 18 20 Store 130(flattenTemp) 131
23: 11(int) Load 22 134: 123(ptr) AccessChain 130(flattenTemp) 120
25: 21(ptr) AccessChain 17 18 24 135: 7(fvec4) Load 134
26: 11(int) Load 25 Store 133(Color) 135
28: 27(fvec4) ImageFetch 10 23 Lod 26 138: 125(ptr) AccessChain 130(flattenTemp) 23
32: 29 Load 31(g_tTex1di4) 139: 6(float) Load 138
33: 21(ptr) AccessChain 17 18 20 Store 137(Depth) 139
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
Return Return
FunctionEnd 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 hlsl.load.basic.dx10.vert
Shader version: 450 Shader version: 450
0:? Sequence 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:47 Function Parameters:
0:? Sequence 0:? Sequence
0:51 textureFetch (temp 4-component vector of float) 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:? 0.000000
0:? 0.000000 0:? 0.000000
0:69 Sequence 0:69 Branch: Return with expression
0:69 Sequence 0:69 'vsout' (temp structure{temp 4-component vector of float Pos})
0:69 move second child to first child (temp 4-component vector of float) 0:47 Function Definition: main( (temp void)
0:? 'Pos' (out 4-component vector of float Position) 0:47 Function Parameters:
0:69 Pos: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:69 'vsout' (temp structure{temp 4-component vector of float Pos}) 0:47 Sequence
0:69 Constant: 0:47 move second child to first child (temp 4-component vector of float)
0:69 0 (const int) 0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:69 Branch: Return 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:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@ -218,7 +221,7 @@ Shader version: 450
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 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:? '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: Linked vertex stage:
@ -226,7 +229,7 @@ Linked vertex stage:
Shader version: 450 Shader version: 450
0:? Sequence 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:47 Function Parameters:
0:? Sequence 0:? Sequence
0:51 textureFetch (temp 4-component vector of float) 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:? 0.000000
0:? 0.000000 0:? 0.000000
0:69 Sequence 0:69 Branch: Return with expression
0:69 Sequence 0:69 'vsout' (temp structure{temp 4-component vector of float Pos})
0:69 move second child to first child (temp 4-component vector of float) 0:47 Function Definition: main( (temp void)
0:? 'Pos' (out 4-component vector of float Position) 0:47 Function Parameters:
0:69 Pos: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:69 'vsout' (temp structure{temp 4-component vector of float Pos}) 0:47 Sequence
0:69 Constant: 0:47 move second child to first child (temp 4-component vector of float)
0:69 0 (const int) 0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:69 Branch: Return 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:? Linker Objects
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@ -443,262 +449,279 @@ Shader version: 450
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 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:? '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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 169 // Id's are bound by 180
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
Capability SampledCubeArray Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 123 168 EntryPoint Vertex 4 "main" 135 179
Name 4 "main" Name 4 "main"
Name 9 "g_tTex1df4" Name 8 "VS_OUTPUT"
Name 15 "$Global" MemberName 8(VS_OUTPUT) 0 "Pos"
MemberName 15($Global) 0 "c1" Name 10 "@main("
MemberName 15($Global) 1 "c2" Name 14 "g_tTex1df4"
MemberName 15($Global) 2 "c3" Name 20 "$Global"
MemberName 15($Global) 3 "c4" MemberName 20($Global) 0 "c1"
MemberName 15($Global) 4 "o1" MemberName 20($Global) 1 "c2"
MemberName 15($Global) 5 "o2" MemberName 20($Global) 2 "c3"
MemberName 15($Global) 6 "o3" MemberName 20($Global) 3 "c4"
MemberName 15($Global) 7 "o4" MemberName 20($Global) 4 "o1"
Name 17 "" MemberName 20($Global) 5 "o2"
Name 31 "g_tTex1di4" MemberName 20($Global) 6 "o3"
Name 40 "g_tTex1du4" MemberName 20($Global) 7 "o4"
Name 50 "g_tTex2df4" Name 22 ""
Name 63 "g_tTex2di4" Name 35 "g_tTex1di4"
Name 73 "g_tTex2du4" Name 44 "g_tTex1du4"
Name 83 "g_tTex3df4" Name 54 "g_tTex2df4"
Name 96 "g_tTex3di4" Name 67 "g_tTex2di4"
Name 106 "g_tTex3du4" Name 77 "g_tTex2du4"
Name 114 "VS_OUTPUT" Name 87 "g_tTex3df4"
MemberName 114(VS_OUTPUT) 0 "Pos" Name 100 "g_tTex3di4"
Name 116 "vsout" Name 110 "g_tTex3du4"
Name 123 "Pos" Name 118 "VS_OUTPUT"
Name 129 "g_sSamp" MemberName 118(VS_OUTPUT) 0 "Pos"
Name 132 "g_tTexcdf4" Name 120 "vsout"
Name 135 "g_tTexcdi4" Name 135 "@entryPointOutput_Pos"
Name 138 "g_tTexcdu4" Name 140 "g_sSamp"
Name 141 "g_tTex1df4a" Name 143 "g_tTexcdf4"
Name 144 "g_tTex1di4a" Name 146 "g_tTexcdi4"
Name 147 "g_tTex1du4a" Name 149 "g_tTexcdu4"
Name 150 "g_tTex2df4a" Name 152 "g_tTex1df4a"
Name 153 "g_tTex2di4a" Name 155 "g_tTex1di4a"
Name 156 "g_tTex2du4a" Name 158 "g_tTex1du4a"
Name 159 "g_tTexcdf4a" Name 161 "g_tTex2df4a"
Name 162 "g_tTexcdi4a" Name 164 "g_tTex2di4a"
Name 165 "g_tTexcdu4a" Name 167 "g_tTex2du4a"
Name 166 "PerVertex_out" Name 170 "g_tTexcdf4a"
MemberName 166(PerVertex_out) 0 "Pos" Name 173 "g_tTexcdi4a"
Name 168 "PerVertex_out" Name 176 "g_tTexcdu4a"
Decorate 9(g_tTex1df4) DescriptorSet 0 Name 177 "PerVertex_out"
Decorate 9(g_tTex1df4) Binding 0 MemberName 177(PerVertex_out) 0 "@entryPointOutput_Pos"
MemberDecorate 15($Global) 0 Offset 0 Name 179 "PerVertex_out"
MemberDecorate 15($Global) 1 Offset 8 MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position
MemberDecorate 15($Global) 2 Offset 16 Decorate 14(g_tTex1df4) DescriptorSet 0
MemberDecorate 15($Global) 3 Offset 32 Decorate 14(g_tTex1df4) Binding 0
MemberDecorate 15($Global) 4 Offset 48 MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 15($Global) 5 Offset 56 MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 15($Global) 6 Offset 64 MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 15($Global) 7 Offset 80 MemberDecorate 20($Global) 3 Offset 32
Decorate 15($Global) Block MemberDecorate 20($Global) 4 Offset 48
Decorate 17 DescriptorSet 0 MemberDecorate 20($Global) 5 Offset 56
Decorate 31(g_tTex1di4) DescriptorSet 0 MemberDecorate 20($Global) 6 Offset 64
Decorate 40(g_tTex1du4) DescriptorSet 0 MemberDecorate 20($Global) 7 Offset 80
Decorate 50(g_tTex2df4) DescriptorSet 0 Decorate 20($Global) Block
Decorate 63(g_tTex2di4) DescriptorSet 0 Decorate 22 DescriptorSet 0
Decorate 73(g_tTex2du4) DescriptorSet 0 Decorate 35(g_tTex1di4) DescriptorSet 0
Decorate 83(g_tTex3df4) DescriptorSet 0 Decorate 44(g_tTex1du4) DescriptorSet 0
Decorate 96(g_tTex3di4) DescriptorSet 0 Decorate 54(g_tTex2df4) DescriptorSet 0
Decorate 106(g_tTex3du4) DescriptorSet 0 Decorate 67(g_tTex2di4) DescriptorSet 0
Decorate 123(Pos) BuiltIn Position Decorate 77(g_tTex2du4) DescriptorSet 0
Decorate 129(g_sSamp) DescriptorSet 0 Decorate 87(g_tTex3df4) DescriptorSet 0
Decorate 129(g_sSamp) Binding 0 Decorate 100(g_tTex3di4) DescriptorSet 0
Decorate 132(g_tTexcdf4) DescriptorSet 0 Decorate 110(g_tTex3du4) DescriptorSet 0
Decorate 135(g_tTexcdi4) DescriptorSet 0 Decorate 135(@entryPointOutput_Pos) BuiltIn Position
Decorate 138(g_tTexcdu4) DescriptorSet 0 Decorate 140(g_sSamp) DescriptorSet 0
Decorate 141(g_tTex1df4a) DescriptorSet 0 Decorate 140(g_sSamp) Binding 0
Decorate 144(g_tTex1di4a) DescriptorSet 0 Decorate 143(g_tTexcdf4) DescriptorSet 0
Decorate 147(g_tTex1du4a) DescriptorSet 0 Decorate 146(g_tTexcdi4) DescriptorSet 0
Decorate 150(g_tTex2df4a) DescriptorSet 0 Decorate 149(g_tTexcdu4) DescriptorSet 0
Decorate 153(g_tTex2di4a) DescriptorSet 0 Decorate 152(g_tTex1df4a) DescriptorSet 0
Decorate 156(g_tTex2du4a) DescriptorSet 0 Decorate 155(g_tTex1di4a) DescriptorSet 0
Decorate 159(g_tTexcdf4a) DescriptorSet 0 Decorate 158(g_tTex1du4a) DescriptorSet 0
Decorate 162(g_tTexcdi4a) DescriptorSet 0 Decorate 161(g_tTex2df4a) DescriptorSet 0
Decorate 165(g_tTexcdu4a) DescriptorSet 0 Decorate 164(g_tTex2di4a) DescriptorSet 0
MemberDecorate 166(PerVertex_out) 0 BuiltIn Position Decorate 167(g_tTex2du4a) DescriptorSet 0
Decorate 166(PerVertex_out) Block 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeImage 6(float) 1D sampled format:Unknown 7: TypeVector 6(float) 4
8: TypePointer UniformConstant 7 8(VS_OUTPUT): TypeStruct 7(fvec4)
9(g_tTex1df4): 8(ptr) Variable UniformConstant 9: TypeFunction 8(VS_OUTPUT)
11: TypeInt 32 1 12: TypeImage 6(float) 1D sampled format:Unknown
12: TypeVector 11(int) 2 13: TypePointer UniformConstant 12
13: TypeVector 11(int) 3 14(g_tTex1df4): 13(ptr) Variable UniformConstant
14: TypeVector 11(int) 4 16: TypeInt 32 1
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 17: TypeVector 16(int) 2
16: TypePointer Uniform 15($Global) 18: TypeVector 16(int) 3
17: 16(ptr) Variable Uniform 19: TypeVector 16(int) 4
18: 11(int) Constant 1 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
19: TypeInt 32 0 21: TypePointer Uniform 20($Global)
20: 19(int) Constant 0 22: 21(ptr) Variable Uniform
21: TypePointer Uniform 11(int) 23: 16(int) Constant 1
24: 19(int) Constant 1 24: TypeInt 32 0
27: TypeVector 6(float) 4 25: 24(int) Constant 0
29: TypeImage 11(int) 1D sampled format:Unknown 26: TypePointer Uniform 16(int)
30: TypePointer UniformConstant 29 29: 24(int) Constant 1
31(g_tTex1di4): 30(ptr) Variable UniformConstant 33: TypeImage 16(int) 1D sampled format:Unknown
38: TypeImage 19(int) 1D sampled format:Unknown 34: TypePointer UniformConstant 33
39: TypePointer UniformConstant 38 35(g_tTex1di4): 34(ptr) Variable UniformConstant
40(g_tTex1du4): 39(ptr) Variable UniformConstant 42: TypeImage 24(int) 1D sampled format:Unknown
46: TypeVector 19(int) 4 43: TypePointer UniformConstant 42
48: TypeImage 6(float) 2D sampled format:Unknown 44(g_tTex1du4): 43(ptr) Variable UniformConstant
49: TypePointer UniformConstant 48 50: TypeVector 24(int) 4
50(g_tTex2df4): 49(ptr) Variable UniformConstant 52: TypeImage 6(float) 2D sampled format:Unknown
52: 11(int) Constant 2 53: TypePointer UniformConstant 52
53: TypePointer Uniform 13(ivec3) 54(g_tTex2df4): 53(ptr) Variable UniformConstant
57: 19(int) Constant 2 56: 16(int) Constant 2
61: TypeImage 11(int) 2D sampled format:Unknown 57: TypePointer Uniform 18(ivec3)
62: TypePointer UniformConstant 61 61: 24(int) Constant 2
63(g_tTex2di4): 62(ptr) Variable UniformConstant 65: TypeImage 16(int) 2D sampled format:Unknown
71: TypeImage 19(int) 2D sampled format:Unknown 66: TypePointer UniformConstant 65
72: TypePointer UniformConstant 71 67(g_tTex2di4): 66(ptr) Variable UniformConstant
73(g_tTex2du4): 72(ptr) Variable UniformConstant 75: TypeImage 24(int) 2D sampled format:Unknown
81: TypeImage 6(float) 3D sampled format:Unknown 76: TypePointer UniformConstant 75
82: TypePointer UniformConstant 81 77(g_tTex2du4): 76(ptr) Variable UniformConstant
83(g_tTex3df4): 82(ptr) Variable UniformConstant 85: TypeImage 6(float) 3D sampled format:Unknown
85: 11(int) Constant 3 86: TypePointer UniformConstant 85
86: TypePointer Uniform 14(ivec4) 87(g_tTex3df4): 86(ptr) Variable UniformConstant
90: 19(int) Constant 3 89: 16(int) Constant 3
94: TypeImage 11(int) 3D sampled format:Unknown 90: TypePointer Uniform 19(ivec4)
95: TypePointer UniformConstant 94 94: 24(int) Constant 3
96(g_tTex3di4): 95(ptr) Variable UniformConstant 98: TypeImage 16(int) 3D sampled format:Unknown
104: TypeImage 19(int) 3D sampled format:Unknown 99: TypePointer UniformConstant 98
105: TypePointer UniformConstant 104 100(g_tTex3di4): 99(ptr) Variable UniformConstant
106(g_tTex3du4): 105(ptr) Variable UniformConstant 108: TypeImage 24(int) 3D sampled format:Unknown
114(VS_OUTPUT): TypeStruct 27(fvec4) 109: TypePointer UniformConstant 108
115: TypePointer Function 114(VS_OUTPUT) 110(g_tTex3du4): 109(ptr) Variable UniformConstant
117: 11(int) Constant 0 118(VS_OUTPUT): TypeStruct 7(fvec4)
118: 6(float) Constant 0 119: TypePointer Function 118(VS_OUTPUT)
119: 27(fvec4) ConstantComposite 118 118 118 118 121: 16(int) Constant 0
120: TypePointer Function 27(fvec4) 122: 6(float) Constant 0
122: TypePointer Output 27(fvec4) 123: 7(fvec4) ConstantComposite 122 122 122 122
123(Pos): 122(ptr) Variable Output 124: TypePointer Function 7(fvec4)
127: TypeSampler 127: TypePointer Function 8(VS_OUTPUT)
128: TypePointer UniformConstant 127 134: TypePointer Output 7(fvec4)
129(g_sSamp): 128(ptr) Variable UniformConstant 135(@entryPointOutput_Pos): 134(ptr) Variable Output
130: TypeImage 6(float) Cube sampled format:Unknown 138: TypeSampler
131: TypePointer UniformConstant 130 139: TypePointer UniformConstant 138
132(g_tTexcdf4): 131(ptr) Variable UniformConstant 140(g_sSamp): 139(ptr) Variable UniformConstant
133: TypeImage 11(int) Cube sampled format:Unknown 141: TypeImage 6(float) Cube sampled format:Unknown
134: TypePointer UniformConstant 133 142: TypePointer UniformConstant 141
135(g_tTexcdi4): 134(ptr) Variable UniformConstant 143(g_tTexcdf4): 142(ptr) Variable UniformConstant
136: TypeImage 19(int) Cube sampled format:Unknown 144: TypeImage 16(int) Cube sampled format:Unknown
137: TypePointer UniformConstant 136 145: TypePointer UniformConstant 144
138(g_tTexcdu4): 137(ptr) Variable UniformConstant 146(g_tTexcdi4): 145(ptr) Variable UniformConstant
139: TypeImage 6(float) 1D array sampled format:Unknown 147: TypeImage 24(int) Cube sampled format:Unknown
140: TypePointer UniformConstant 139 148: TypePointer UniformConstant 147
141(g_tTex1df4a): 140(ptr) Variable UniformConstant 149(g_tTexcdu4): 148(ptr) Variable UniformConstant
142: TypeImage 11(int) 1D array sampled format:Unknown 150: TypeImage 6(float) 1D array sampled format:Unknown
143: TypePointer UniformConstant 142 151: TypePointer UniformConstant 150
144(g_tTex1di4a): 143(ptr) Variable UniformConstant 152(g_tTex1df4a): 151(ptr) Variable UniformConstant
145: TypeImage 19(int) 1D array sampled format:Unknown 153: TypeImage 16(int) 1D array sampled format:Unknown
146: TypePointer UniformConstant 145 154: TypePointer UniformConstant 153
147(g_tTex1du4a): 146(ptr) Variable UniformConstant 155(g_tTex1di4a): 154(ptr) Variable UniformConstant
148: TypeImage 6(float) 2D array sampled format:Unknown 156: TypeImage 24(int) 1D array sampled format:Unknown
149: TypePointer UniformConstant 148 157: TypePointer UniformConstant 156
150(g_tTex2df4a): 149(ptr) Variable UniformConstant 158(g_tTex1du4a): 157(ptr) Variable UniformConstant
151: TypeImage 11(int) 2D array sampled format:Unknown 159: TypeImage 6(float) 2D array sampled format:Unknown
152: TypePointer UniformConstant 151 160: TypePointer UniformConstant 159
153(g_tTex2di4a): 152(ptr) Variable UniformConstant 161(g_tTex2df4a): 160(ptr) Variable UniformConstant
154: TypeImage 19(int) 2D array sampled format:Unknown 162: TypeImage 16(int) 2D array sampled format:Unknown
155: TypePointer UniformConstant 154 163: TypePointer UniformConstant 162
156(g_tTex2du4a): 155(ptr) Variable UniformConstant 164(g_tTex2di4a): 163(ptr) Variable UniformConstant
157: TypeImage 6(float) Cube array sampled format:Unknown 165: TypeImage 24(int) 2D array sampled format:Unknown
158: TypePointer UniformConstant 157 166: TypePointer UniformConstant 165
159(g_tTexcdf4a): 158(ptr) Variable UniformConstant 167(g_tTex2du4a): 166(ptr) Variable UniformConstant
160: TypeImage 11(int) Cube array sampled format:Unknown 168: TypeImage 6(float) Cube array sampled format:Unknown
161: TypePointer UniformConstant 160 169: TypePointer UniformConstant 168
162(g_tTexcdi4a): 161(ptr) Variable UniformConstant 170(g_tTexcdf4a): 169(ptr) Variable UniformConstant
163: TypeImage 19(int) Cube array sampled format:Unknown 171: TypeImage 16(int) Cube array sampled format:Unknown
164: TypePointer UniformConstant 163 172: TypePointer UniformConstant 171
165(g_tTexcdu4a): 164(ptr) Variable UniformConstant 173(g_tTexcdi4a): 172(ptr) Variable UniformConstant
166(PerVertex_out): TypeStruct 27(fvec4) 174: TypeImage 24(int) Cube array sampled format:Unknown
167: TypePointer Output 166(PerVertex_out) 175: TypePointer UniformConstant 174
168(PerVertex_out): 167(ptr) Variable Output 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 4(main): 2 Function None 3
5: Label 5: Label
116(vsout): 115(ptr) Variable Function 136:8(VS_OUTPUT) FunctionCall 10(@main()
10: 7 Load 9(g_tTex1df4) 137: 7(fvec4) CompositeExtract 136 0
22: 21(ptr) AccessChain 17 18 20 Store 135(@entryPointOutput_Pos) 137
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:24 Function Parameters:
0:? Sequence 0:? Sequence
0:28 Sequence 0:28 Sequence
@ -49,28 +49,34 @@ gl_FragCoord origin is upper left
0:35 1 (const int) 0:35 1 (const int)
0:35 Constant: 0:35 Constant:
0:35 1.000000 0:35 1.000000
0:37 Sequence 0:37 Branch: Return with expression
0:37 Sequence 0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 move second child to first child (temp 4-component vector of float) 0:24 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:24 Function Parameters:
0:37 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Sequence
0:37 Constant: 0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 0 (const int) 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 move second child to first child (temp float) 0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:24 move second child to first child (temp 4-component vector of float)
0:37 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Color: direct index for structure (temp 4-component vector of float)
0:37 Constant: 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 1 (const int) 0:24 Constant:
0:37 Branch: Return 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:? 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_test' (layout(binding=0 rgba32f ) uniform samplerBuffer)
0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer) 0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer) 0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
0:? 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:24 Function Parameters:
0:? Sequence 0:? Sequence
0:28 Sequence 0:28 Sequence
@ -127,155 +133,172 @@ gl_FragCoord origin is upper left
0:35 1 (const int) 0:35 1 (const int)
0:35 Constant: 0:35 Constant:
0:35 1.000000 0:35 1.000000
0:37 Sequence 0:37 Branch: Return with expression
0:37 Sequence 0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 move second child to first child (temp 4-component vector of float) 0:24 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:24 Function Parameters:
0:37 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Sequence
0:37 Constant: 0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 0 (const int) 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 move second child to first child (temp float) 0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:24 move second child to first child (temp 4-component vector of float)
0:37 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Color: direct index for structure (temp 4-component vector of float)
0:37 Constant: 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 1 (const int) 0:24 Constant:
0:37 Branch: Return 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:? 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_test' (layout(binding=0 rgba32f ) uniform samplerBuffer)
0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer) 0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer) 0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
0:? 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 71 // Id's are bound by 78
Capability Shader Capability Shader
Capability SampledBuffer Capability SampledBuffer
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 62 66 EntryPoint Fragment 4 "main" 70 74
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "r00" Name 8 "PS_OUTPUT"
Name 13 "g_tTexbf4" MemberName 8(PS_OUTPUT) 0 "Color"
Name 19 "$Global" MemberName 8(PS_OUTPUT) 1 "Depth"
MemberName 19($Global) 0 "c1" Name 10 "@main("
MemberName 19($Global) 1 "c2" Name 13 "r00"
MemberName 19($Global) 2 "c3" Name 17 "g_tTexbf4"
MemberName 19($Global) 3 "c4" Name 23 "$Global"
MemberName 19($Global) 4 "o1" MemberName 23($Global) 0 "c1"
MemberName 19($Global) 5 "o2" MemberName 23($Global) 1 "c2"
MemberName 19($Global) 6 "o3" MemberName 23($Global) 2 "c3"
MemberName 19($Global) 7 "o4" MemberName 23($Global) 3 "c4"
Name 21 "" MemberName 23($Global) 4 "o1"
Name 29 "r01" MemberName 23($Global) 5 "o2"
Name 33 "g_tTexbi4" MemberName 23($Global) 6 "o3"
Name 42 "r02" MemberName 23($Global) 7 "o4"
Name 46 "g_tTexbu4" Name 25 ""
Name 52 "PS_OUTPUT" Name 33 "r01"
MemberName 52(PS_OUTPUT) 0 "Color" Name 37 "g_tTexbi4"
MemberName 52(PS_OUTPUT) 1 "Depth" Name 46 "r02"
Name 54 "psout" Name 50 "g_tTexbu4"
Name 62 "Color" Name 57 "psout"
Name 66 "Depth" Name 67 "flattenTemp"
Name 70 "g_tTexbf4_test" Name 70 "Color"
Decorate 13(g_tTexbf4) DescriptorSet 0 Name 74 "Depth"
MemberDecorate 19($Global) 0 Offset 0 Name 77 "g_tTexbf4_test"
MemberDecorate 19($Global) 1 Offset 8 Decorate 17(g_tTexbf4) DescriptorSet 0
MemberDecorate 19($Global) 2 Offset 16 MemberDecorate 23($Global) 0 Offset 0
MemberDecorate 19($Global) 3 Offset 32 MemberDecorate 23($Global) 1 Offset 8
MemberDecorate 19($Global) 4 Offset 48 MemberDecorate 23($Global) 2 Offset 16
MemberDecorate 19($Global) 5 Offset 56 MemberDecorate 23($Global) 3 Offset 32
MemberDecorate 19($Global) 6 Offset 64 MemberDecorate 23($Global) 4 Offset 48
MemberDecorate 19($Global) 7 Offset 80 MemberDecorate 23($Global) 5 Offset 56
Decorate 19($Global) Block MemberDecorate 23($Global) 6 Offset 64
Decorate 21 DescriptorSet 0 MemberDecorate 23($Global) 7 Offset 80
Decorate 33(g_tTexbi4) DescriptorSet 0 Decorate 23($Global) Block
Decorate 46(g_tTexbu4) DescriptorSet 0 Decorate 25 DescriptorSet 0
Decorate 62(Color) Location 0 Decorate 37(g_tTexbi4) DescriptorSet 0
Decorate 66(Depth) BuiltIn FragDepth Decorate 50(g_tTexbu4) DescriptorSet 0
Decorate 70(g_tTexbf4_test) DescriptorSet 0 Decorate 70(Color) Location 0
Decorate 70(g_tTexbf4_test) Binding 0 Decorate 74(Depth) BuiltIn FragDepth
Decorate 77(g_tTexbf4_test) DescriptorSet 0
Decorate 77(g_tTexbf4_test) Binding 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4) 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
10: TypeImage 6(float) Buffer sampled format:Rgba32f 9: TypeFunction 8(PS_OUTPUT)
11: TypeSampledImage 10 12: TypePointer Function 7(fvec4)
12: TypePointer UniformConstant 11 14: TypeImage 6(float) Buffer sampled format:Rgba32f
13(g_tTexbf4): 12(ptr) Variable UniformConstant 15: TypeSampledImage 14
15: TypeInt 32 1 16: TypePointer UniformConstant 15
16: TypeVector 15(int) 2 17(g_tTexbf4): 16(ptr) Variable UniformConstant
17: TypeVector 15(int) 3 19: TypeInt 32 1
18: TypeVector 15(int) 4 20: TypeVector 19(int) 2
19($Global): TypeStruct 15(int) 16(ivec2) 17(ivec3) 18(ivec4) 15(int) 16(ivec2) 17(ivec3) 18(ivec4) 21: TypeVector 19(int) 3
20: TypePointer Uniform 19($Global) 22: TypeVector 19(int) 4
21: 20(ptr) Variable Uniform 23($Global): TypeStruct 19(int) 20(ivec2) 21(ivec3) 22(ivec4) 19(int) 20(ivec2) 21(ivec3) 22(ivec4)
22: 15(int) Constant 0 24: TypePointer Uniform 23($Global)
23: TypePointer Uniform 15(int) 25: 24(ptr) Variable Uniform
28: TypePointer Function 18(ivec4) 26: 19(int) Constant 0
30: TypeImage 15(int) Buffer sampled format:Rgba32i 27: TypePointer Uniform 19(int)
31: TypeSampledImage 30 32: TypePointer Function 22(ivec4)
32: TypePointer UniformConstant 31 34: TypeImage 19(int) Buffer sampled format:Rgba32i
33(g_tTexbi4): 32(ptr) Variable UniformConstant 35: TypeSampledImage 34
39: TypeInt 32 0 36: TypePointer UniformConstant 35
40: TypeVector 39(int) 4 37(g_tTexbi4): 36(ptr) Variable UniformConstant
41: TypePointer Function 40(ivec4) 43: TypeInt 32 0
43: TypeImage 39(int) Buffer sampled format:Rgba32ui 44: TypeVector 43(int) 4
44: TypeSampledImage 43 45: TypePointer Function 44(ivec4)
45: TypePointer UniformConstant 44 47: TypeImage 43(int) Buffer sampled format:Rgba32ui
46(g_tTexbu4): 45(ptr) Variable UniformConstant 48: TypeSampledImage 47
52(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 49: TypePointer UniformConstant 48
53: TypePointer Function 52(PS_OUTPUT) 50(g_tTexbu4): 49(ptr) Variable UniformConstant
55: 6(float) Constant 1065353216 56: TypePointer Function 8(PS_OUTPUT)
56: 7(fvec4) ConstantComposite 55 55 55 55 58: 6(float) Constant 1065353216
58: 15(int) Constant 1 59: 7(fvec4) ConstantComposite 58 58 58 58
59: TypePointer Function 6(float) 61: 19(int) Constant 1
61: TypePointer Output 7(fvec4) 62: TypePointer Function 6(float)
62(Color): 61(ptr) Variable Output 69: TypePointer Output 7(fvec4)
65: TypePointer Output 6(float) 70(Color): 69(ptr) Variable Output
66(Depth): 65(ptr) Variable Output 73: TypePointer Output 6(float)
70(g_tTexbf4_test): 12(ptr) Variable UniformConstant 74(Depth): 73(ptr) Variable Output
77(g_tTexbf4_test): 16(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(r00): 8(ptr) Variable Function 67(flattenTemp): 56(ptr) Variable Function
29(r01): 28(ptr) Variable Function 68:8(PS_OUTPUT) FunctionCall 10(@main()
42(r02): 41(ptr) Variable Function Store 67(flattenTemp) 68
54(psout): 53(ptr) Variable Function 71: 12(ptr) AccessChain 67(flattenTemp) 26
14: 11 Load 13(g_tTexbf4) 72: 7(fvec4) Load 71
24: 23(ptr) AccessChain 21 22 Store 70(Color) 72
25: 15(int) Load 24 75: 62(ptr) AccessChain 67(flattenTemp) 61
26: 10 Image 14 76: 6(float) Load 75
27: 7(fvec4) ImageFetch 26 25 Store 74(Depth) 76
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:24 Function Parameters:
0:? Sequence 0:? Sequence
0:28 Sequence 0:28 Sequence
@ -52,28 +52,34 @@ gl_FragCoord origin is upper left
0:35 1 (const int) 0:35 1 (const int)
0:35 Constant: 0:35 Constant:
0:35 1.000000 0:35 1.000000
0:37 Sequence 0:37 Branch: Return with expression
0:37 Sequence 0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 move second child to first child (temp 4-component vector of float) 0:24 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:24 Function Parameters:
0:37 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Sequence
0:37 Constant: 0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 0 (const int) 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 move second child to first child (temp float) 0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:24 move second child to first child (temp 4-component vector of float)
0:37 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Color: direct index for structure (temp 4-component vector of float)
0:37 Constant: 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 1 (const int) 0:24 Constant:
0:37 Branch: Return 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:? 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_test' (layout(binding=0 r32f ) uniform samplerBuffer)
0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) 0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer) 0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
0:? 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:24 Function Parameters:
0:? Sequence 0:? Sequence
0:28 Sequence 0:28 Sequence
@ -133,158 +139,175 @@ gl_FragCoord origin is upper left
0:35 1 (const int) 0:35 1 (const int)
0:35 Constant: 0:35 Constant:
0:35 1.000000 0:35 1.000000
0:37 Sequence 0:37 Branch: Return with expression
0:37 Sequence 0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 move second child to first child (temp 4-component vector of float) 0:24 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:24 Function Parameters:
0:37 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Sequence
0:37 Constant: 0:24 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 0 (const int) 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 move second child to first child (temp float) 0:24 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:24 move second child to first child (temp 4-component vector of float)
0:37 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:24 Color: direct index for structure (temp 4-component vector of float)
0:37 Constant: 0:24 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:37 1 (const int) 0:24 Constant:
0:37 Branch: Return 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:? 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_test' (layout(binding=0 r32f ) uniform samplerBuffer)
0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) 0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer) 0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
0:? 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 74 // Id's are bound by 81
Capability Shader Capability Shader
Capability SampledBuffer Capability SampledBuffer
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 65 69 EntryPoint Fragment 4 "main" 73 77
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "r00" Name 8 "PS_OUTPUT"
Name 12 "g_tTexbfs" MemberName 8(PS_OUTPUT) 0 "Color"
Name 18 "$Global" MemberName 8(PS_OUTPUT) 1 "Depth"
MemberName 18($Global) 0 "c1" Name 10 "@main("
MemberName 18($Global) 1 "c2" Name 13 "r00"
MemberName 18($Global) 2 "c3" Name 17 "g_tTexbfs"
MemberName 18($Global) 3 "c4" Name 23 "$Global"
MemberName 18($Global) 4 "o1" MemberName 23($Global) 0 "c1"
MemberName 18($Global) 5 "o2" MemberName 23($Global) 1 "c2"
MemberName 18($Global) 6 "o3" MemberName 23($Global) 2 "c3"
MemberName 18($Global) 7 "o4" MemberName 23($Global) 3 "c4"
Name 20 "" MemberName 23($Global) 4 "o1"
Name 30 "r01" MemberName 23($Global) 5 "o2"
Name 34 "g_tTexbis" MemberName 23($Global) 6 "o3"
Name 43 "r02" MemberName 23($Global) 7 "o4"
Name 47 "g_tTexbus" Name 25 ""
Name 55 "PS_OUTPUT" Name 34 "r01"
MemberName 55(PS_OUTPUT) 0 "Color" Name 38 "g_tTexbis"
MemberName 55(PS_OUTPUT) 1 "Depth" Name 47 "r02"
Name 57 "psout" Name 51 "g_tTexbus"
Name 65 "Color" Name 60 "psout"
Name 69 "Depth" Name 70 "flattenTemp"
Name 73 "g_tTexbfs_test" Name 73 "Color"
Decorate 12(g_tTexbfs) DescriptorSet 0 Name 77 "Depth"
MemberDecorate 18($Global) 0 Offset 0 Name 80 "g_tTexbfs_test"
MemberDecorate 18($Global) 1 Offset 8 Decorate 17(g_tTexbfs) DescriptorSet 0
MemberDecorate 18($Global) 2 Offset 16 MemberDecorate 23($Global) 0 Offset 0
MemberDecorate 18($Global) 3 Offset 32 MemberDecorate 23($Global) 1 Offset 8
MemberDecorate 18($Global) 4 Offset 48 MemberDecorate 23($Global) 2 Offset 16
MemberDecorate 18($Global) 5 Offset 56 MemberDecorate 23($Global) 3 Offset 32
MemberDecorate 18($Global) 6 Offset 64 MemberDecorate 23($Global) 4 Offset 48
MemberDecorate 18($Global) 7 Offset 80 MemberDecorate 23($Global) 5 Offset 56
Decorate 18($Global) Block MemberDecorate 23($Global) 6 Offset 64
Decorate 20 DescriptorSet 0 MemberDecorate 23($Global) 7 Offset 80
Decorate 34(g_tTexbis) DescriptorSet 0 Decorate 23($Global) Block
Decorate 47(g_tTexbus) DescriptorSet 0 Decorate 25 DescriptorSet 0
Decorate 65(Color) Location 0 Decorate 38(g_tTexbis) DescriptorSet 0
Decorate 69(Depth) BuiltIn FragDepth Decorate 51(g_tTexbus) DescriptorSet 0
Decorate 73(g_tTexbfs_test) DescriptorSet 0 Decorate 73(Color) Location 0
Decorate 73(g_tTexbfs_test) Binding 0 Decorate 77(Depth) BuiltIn FragDepth
Decorate 80(g_tTexbfs_test) DescriptorSet 0
Decorate 80(g_tTexbfs_test) Binding 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypePointer Function 6(float) 7: TypeVector 6(float) 4
9: TypeImage 6(float) Buffer sampled format:R32f 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
10: TypeSampledImage 9 9: TypeFunction 8(PS_OUTPUT)
11: TypePointer UniformConstant 10 12: TypePointer Function 6(float)
12(g_tTexbfs): 11(ptr) Variable UniformConstant 14: TypeImage 6(float) Buffer sampled format:R32f
14: TypeInt 32 1 15: TypeSampledImage 14
15: TypeVector 14(int) 2 16: TypePointer UniformConstant 15
16: TypeVector 14(int) 3 17(g_tTexbfs): 16(ptr) Variable UniformConstant
17: TypeVector 14(int) 4 19: TypeInt 32 1
18($Global): TypeStruct 14(int) 15(ivec2) 16(ivec3) 17(ivec4) 14(int) 15(ivec2) 16(ivec3) 17(ivec4) 20: TypeVector 19(int) 2
19: TypePointer Uniform 18($Global) 21: TypeVector 19(int) 3
20: 19(ptr) Variable Uniform 22: TypeVector 19(int) 4
21: 14(int) Constant 0 23($Global): TypeStruct 19(int) 20(ivec2) 21(ivec3) 22(ivec4) 19(int) 20(ivec2) 21(ivec3) 22(ivec4)
22: TypePointer Uniform 14(int) 24: TypePointer Uniform 23($Global)
26: TypeVector 6(float) 4 25: 24(ptr) Variable Uniform
29: TypePointer Function 14(int) 26: 19(int) Constant 0
31: TypeImage 14(int) Buffer sampled format:R32i 27: TypePointer Uniform 19(int)
32: TypeSampledImage 31 33: TypePointer Function 19(int)
33: TypePointer UniformConstant 32 35: TypeImage 19(int) Buffer sampled format:R32i
34(g_tTexbis): 33(ptr) Variable UniformConstant 36: TypeSampledImage 35
41: TypeInt 32 0 37: TypePointer UniformConstant 36
42: TypePointer Function 41(int) 38(g_tTexbis): 37(ptr) Variable UniformConstant
44: TypeImage 41(int) Buffer sampled format:R32ui 45: TypeInt 32 0
45: TypeSampledImage 44 46: TypePointer Function 45(int)
46: TypePointer UniformConstant 45 48: TypeImage 45(int) Buffer sampled format:R32ui
47(g_tTexbus): 46(ptr) Variable UniformConstant 49: TypeSampledImage 48
52: TypeVector 41(int) 4 50: TypePointer UniformConstant 49
55(PS_OUTPUT): TypeStruct 26(fvec4) 6(float) 51(g_tTexbus): 50(ptr) Variable UniformConstant
56: TypePointer Function 55(PS_OUTPUT) 56: TypeVector 45(int) 4
58: 6(float) Constant 1065353216 59: TypePointer Function 8(PS_OUTPUT)
59: 26(fvec4) ConstantComposite 58 58 58 58 61: 6(float) Constant 1065353216
60: TypePointer Function 26(fvec4) 62: 7(fvec4) ConstantComposite 61 61 61 61
62: 14(int) Constant 1 63: TypePointer Function 7(fvec4)
64: TypePointer Output 26(fvec4) 65: 19(int) Constant 1
65(Color): 64(ptr) Variable Output 72: TypePointer Output 7(fvec4)
68: TypePointer Output 6(float) 73(Color): 72(ptr) Variable Output
69(Depth): 68(ptr) Variable Output 76: TypePointer Output 6(float)
73(g_tTexbfs_test): 11(ptr) Variable UniformConstant 77(Depth): 76(ptr) Variable Output
80(g_tTexbfs_test): 16(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
8(r00): 7(ptr) Variable Function 70(flattenTemp): 59(ptr) Variable Function
30(r01): 29(ptr) Variable Function 71:8(PS_OUTPUT) FunctionCall 10(@main()
43(r02): 42(ptr) Variable Function Store 70(flattenTemp) 71
57(psout): 56(ptr) Variable Function 74: 63(ptr) AccessChain 70(flattenTemp) 26
13: 10 Load 12(g_tTexbfs) 75: 7(fvec4) Load 74
23: 22(ptr) AccessChain 20 21 Store 73(Color) 75
24: 14(int) Load 23 78: 12(ptr) AccessChain 70(flattenTemp) 65
25: 9 Image 13 79: 6(float) Load 78
27: 26(fvec4) ImageFetch 25 24 Store 77(Depth) 79
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:48 Function Parameters:
0:? Sequence 0:? Sequence
0:52 textureFetchOffset (temp 4-component vector of float) 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 1 (const int)
0:73 Constant: 0:73 Constant:
0:73 1.000000 0:73 1.000000
0:75 Sequence 0:75 Branch: Return with expression
0:75 Sequence 0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 move second child to first child (temp 4-component vector of float) 0:48 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:48 Function Parameters:
0:75 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Sequence
0:75 Constant: 0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 0 (const int) 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 move second child to first child (temp float) 0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:48 move second child to first child (temp 4-component vector of float)
0:75 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Color: direct index for structure (temp 4-component vector of float)
0:75 Constant: 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 1 (const int) 0:48 Constant:
0:75 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D) 0:? 'g_tTex1di4' (uniform itexture1D)
@ -269,6 +273,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:48 Function Parameters:
0:? Sequence 0:? Sequence
0:52 textureFetchOffset (temp 4-component vector of float) 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 1 (const int)
0:73 Constant: 0:73 Constant:
0:73 1.000000 0:73 1.000000
0:75 Sequence 0:75 Branch: Return with expression
0:75 Sequence 0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 move second child to first child (temp 4-component vector of float) 0:48 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:48 Function Parameters:
0:75 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Sequence
0:75 Constant: 0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 0 (const int) 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 move second child to first child (temp float) 0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:48 move second child to first child (temp 4-component vector of float)
0:75 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Color: direct index for structure (temp 4-component vector of float)
0:75 Constant: 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:75 1 (const int) 0:48 Constant:
0:75 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D) 0:? 'g_tTex1di4' (uniform itexture1D)
@ -545,11 +555,13 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 194 // Id's are bound by 201
Capability Shader Capability Shader
Capability ImageGatherExtended Capability ImageGatherExtended
@ -557,277 +569,288 @@ gl_FragCoord origin is upper left
Capability SampledCubeArray Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 147 151 EntryPoint Fragment 4 "main" 155 159
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "g_tTex1df4" Name 8 "PS_OUTPUT"
Name 15 "$Global" MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 15($Global) 0 "c1" MemberName 8(PS_OUTPUT) 1 "Depth"
MemberName 15($Global) 1 "c2" Name 10 "@main("
MemberName 15($Global) 2 "c3" Name 14 "g_tTex1df4"
MemberName 15($Global) 3 "c4" Name 20 "$Global"
MemberName 15($Global) 4 "o1" MemberName 20($Global) 0 "c1"
MemberName 15($Global) 5 "o2" MemberName 20($Global) 1 "c2"
MemberName 15($Global) 6 "o3" MemberName 20($Global) 2 "c3"
MemberName 15($Global) 7 "o4" MemberName 20($Global) 3 "c4"
Name 17 "" MemberName 20($Global) 4 "o1"
Name 34 "g_tTex1di4" MemberName 20($Global) 5 "o2"
Name 45 "g_tTex1du4" MemberName 20($Global) 6 "o3"
Name 57 "g_tTex2df4" MemberName 20($Global) 7 "o4"
Name 74 "g_tTex2di4" Name 22 ""
Name 86 "g_tTex2du4" Name 38 "g_tTex1di4"
Name 98 "g_tTex3df4" Name 49 "g_tTex1du4"
Name 114 "g_tTex3di4" Name 61 "g_tTex2df4"
Name 126 "g_tTex3du4" Name 78 "g_tTex2di4"
Name 136 "PS_OUTPUT" Name 90 "g_tTex2du4"
MemberName 136(PS_OUTPUT) 0 "Color" Name 102 "g_tTex3df4"
MemberName 136(PS_OUTPUT) 1 "Depth" Name 118 "g_tTex3di4"
Name 138 "psout" Name 130 "g_tTex3du4"
Name 147 "Color" Name 141 "psout"
Name 151 "Depth" Name 152 "flattenTemp"
Name 157 "g_sSamp" Name 155 "Color"
Name 160 "g_tTexcdf4" Name 159 "Depth"
Name 163 "g_tTexcdi4" Name 164 "g_sSamp"
Name 166 "g_tTexcdu4" Name 167 "g_tTexcdf4"
Name 169 "g_tTex1df4a" Name 170 "g_tTexcdi4"
Name 172 "g_tTex1di4a" Name 173 "g_tTexcdu4"
Name 175 "g_tTex1du4a" Name 176 "g_tTex1df4a"
Name 178 "g_tTex2df4a" Name 179 "g_tTex1di4a"
Name 181 "g_tTex2di4a" Name 182 "g_tTex1du4a"
Name 184 "g_tTex2du4a" Name 185 "g_tTex2df4a"
Name 187 "g_tTexcdf4a" Name 188 "g_tTex2di4a"
Name 190 "g_tTexcdi4a" Name 191 "g_tTex2du4a"
Name 193 "g_tTexcdu4a" Name 194 "g_tTexcdf4a"
Decorate 9(g_tTex1df4) DescriptorSet 0 Name 197 "g_tTexcdi4a"
Decorate 9(g_tTex1df4) Binding 0 Name 200 "g_tTexcdu4a"
MemberDecorate 15($Global) 0 Offset 0 Decorate 14(g_tTex1df4) DescriptorSet 0
MemberDecorate 15($Global) 1 Offset 8 Decorate 14(g_tTex1df4) Binding 0
MemberDecorate 15($Global) 2 Offset 16 MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 15($Global) 3 Offset 32 MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 15($Global) 4 Offset 48 MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 15($Global) 5 Offset 56 MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 15($Global) 6 Offset 64 MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 15($Global) 7 Offset 80 MemberDecorate 20($Global) 5 Offset 56
Decorate 15($Global) Block MemberDecorate 20($Global) 6 Offset 64
Decorate 17 DescriptorSet 0 MemberDecorate 20($Global) 7 Offset 80
Decorate 34(g_tTex1di4) DescriptorSet 0 Decorate 20($Global) Block
Decorate 45(g_tTex1du4) DescriptorSet 0 Decorate 22 DescriptorSet 0
Decorate 57(g_tTex2df4) DescriptorSet 0 Decorate 38(g_tTex1di4) DescriptorSet 0
Decorate 74(g_tTex2di4) DescriptorSet 0 Decorate 49(g_tTex1du4) DescriptorSet 0
Decorate 86(g_tTex2du4) DescriptorSet 0 Decorate 61(g_tTex2df4) DescriptorSet 0
Decorate 98(g_tTex3df4) DescriptorSet 0 Decorate 78(g_tTex2di4) DescriptorSet 0
Decorate 114(g_tTex3di4) DescriptorSet 0 Decorate 90(g_tTex2du4) DescriptorSet 0
Decorate 126(g_tTex3du4) DescriptorSet 0 Decorate 102(g_tTex3df4) DescriptorSet 0
Decorate 147(Color) Location 0 Decorate 118(g_tTex3di4) DescriptorSet 0
Decorate 151(Depth) BuiltIn FragDepth Decorate 130(g_tTex3du4) DescriptorSet 0
Decorate 157(g_sSamp) DescriptorSet 0 Decorate 155(Color) Location 0
Decorate 157(g_sSamp) Binding 0 Decorate 159(Depth) BuiltIn FragDepth
Decorate 160(g_tTexcdf4) DescriptorSet 0 Decorate 164(g_sSamp) DescriptorSet 0
Decorate 163(g_tTexcdi4) DescriptorSet 0 Decorate 164(g_sSamp) Binding 0
Decorate 166(g_tTexcdu4) DescriptorSet 0 Decorate 167(g_tTexcdf4) DescriptorSet 0
Decorate 169(g_tTex1df4a) DescriptorSet 0 Decorate 170(g_tTexcdi4) DescriptorSet 0
Decorate 172(g_tTex1di4a) DescriptorSet 0 Decorate 173(g_tTexcdu4) DescriptorSet 0
Decorate 175(g_tTex1du4a) DescriptorSet 0 Decorate 176(g_tTex1df4a) DescriptorSet 0
Decorate 178(g_tTex2df4a) DescriptorSet 0 Decorate 179(g_tTex1di4a) DescriptorSet 0
Decorate 181(g_tTex2di4a) DescriptorSet 0 Decorate 182(g_tTex1du4a) DescriptorSet 0
Decorate 184(g_tTex2du4a) DescriptorSet 0 Decorate 185(g_tTex2df4a) DescriptorSet 0
Decorate 187(g_tTexcdf4a) DescriptorSet 0 Decorate 188(g_tTex2di4a) DescriptorSet 0
Decorate 190(g_tTexcdi4a) DescriptorSet 0 Decorate 191(g_tTex2du4a) DescriptorSet 0
Decorate 193(g_tTexcdu4a) DescriptorSet 0 Decorate 194(g_tTexcdf4a) DescriptorSet 0
Decorate 197(g_tTexcdi4a) DescriptorSet 0
Decorate 200(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeImage 6(float) 1D sampled format:Unknown 7: TypeVector 6(float) 4
8: TypePointer UniformConstant 7 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9(g_tTex1df4): 8(ptr) Variable UniformConstant 9: TypeFunction 8(PS_OUTPUT)
11: TypeInt 32 1 12: TypeImage 6(float) 1D sampled format:Unknown
12: TypeVector 11(int) 2 13: TypePointer UniformConstant 12
13: TypeVector 11(int) 3 14(g_tTex1df4): 13(ptr) Variable UniformConstant
14: TypeVector 11(int) 4 16: TypeInt 32 1
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 17: TypeVector 16(int) 2
16: TypePointer Uniform 15($Global) 18: TypeVector 16(int) 3
17: 16(ptr) Variable Uniform 19: TypeVector 16(int) 4
18: 11(int) Constant 1 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
19: TypeInt 32 0 21: TypePointer Uniform 20($Global)
20: 19(int) Constant 0 22: 21(ptr) Variable Uniform
21: TypePointer Uniform 11(int) 23: 16(int) Constant 1
24: 19(int) Constant 1 24: TypeInt 32 0
27: 11(int) Constant 4 25: 24(int) Constant 0
30: TypeVector 6(float) 4 26: TypePointer Uniform 16(int)
32: TypeImage 11(int) 1D sampled format:Unknown 29: 24(int) Constant 1
33: TypePointer UniformConstant 32 32: 16(int) Constant 4
34(g_tTex1di4): 33(ptr) Variable UniformConstant 36: TypeImage 16(int) 1D sampled format:Unknown
43: TypeImage 19(int) 1D sampled format:Unknown 37: TypePointer UniformConstant 36
44: TypePointer UniformConstant 43 38(g_tTex1di4): 37(ptr) Variable UniformConstant
45(g_tTex1du4): 44(ptr) Variable UniformConstant 47: TypeImage 24(int) 1D sampled format:Unknown
53: TypeVector 19(int) 4 48: TypePointer UniformConstant 47
55: TypeImage 6(float) 2D sampled format:Unknown 49(g_tTex1du4): 48(ptr) Variable UniformConstant
56: TypePointer UniformConstant 55 57: TypeVector 24(int) 4
57(g_tTex2df4): 56(ptr) Variable UniformConstant 59: TypeImage 6(float) 2D sampled format:Unknown
59: 11(int) Constant 2 60: TypePointer UniformConstant 59
60: TypePointer Uniform 13(ivec3) 61(g_tTex2df4): 60(ptr) Variable UniformConstant
64: 19(int) Constant 2 63: 16(int) Constant 2
67: 11(int) Constant 5 64: TypePointer Uniform 18(ivec3)
68: TypePointer Uniform 12(ivec2) 68: 24(int) Constant 2
72: TypeImage 11(int) 2D sampled format:Unknown 71: 16(int) Constant 5
73: TypePointer UniformConstant 72 72: TypePointer Uniform 17(ivec2)
74(g_tTex2di4): 73(ptr) Variable UniformConstant 76: TypeImage 16(int) 2D sampled format:Unknown
84: TypeImage 19(int) 2D sampled format:Unknown 77: TypePointer UniformConstant 76
85: TypePointer UniformConstant 84 78(g_tTex2di4): 77(ptr) Variable UniformConstant
86(g_tTex2du4): 85(ptr) Variable UniformConstant 88: TypeImage 24(int) 2D sampled format:Unknown
96: TypeImage 6(float) 3D sampled format:Unknown 89: TypePointer UniformConstant 88
97: TypePointer UniformConstant 96 90(g_tTex2du4): 89(ptr) Variable UniformConstant
98(g_tTex3df4): 97(ptr) Variable UniformConstant 100: TypeImage 6(float) 3D sampled format:Unknown
100: 11(int) Constant 3 101: TypePointer UniformConstant 100
101: TypePointer Uniform 14(ivec4) 102(g_tTex3df4): 101(ptr) Variable UniformConstant
105: 19(int) Constant 3 104: 16(int) Constant 3
108: 11(int) Constant 6 105: TypePointer Uniform 19(ivec4)
112: TypeImage 11(int) 3D sampled format:Unknown 109: 24(int) Constant 3
113: TypePointer UniformConstant 112 112: 16(int) Constant 6
114(g_tTex3di4): 113(ptr) Variable UniformConstant 116: TypeImage 16(int) 3D sampled format:Unknown
124: TypeImage 19(int) 3D sampled format:Unknown 117: TypePointer UniformConstant 116
125: TypePointer UniformConstant 124 118(g_tTex3di4): 117(ptr) Variable UniformConstant
126(g_tTex3du4): 125(ptr) Variable UniformConstant 128: TypeImage 24(int) 3D sampled format:Unknown
136(PS_OUTPUT): TypeStruct 30(fvec4) 6(float) 129: TypePointer UniformConstant 128
137: TypePointer Function 136(PS_OUTPUT) 130(g_tTex3du4): 129(ptr) Variable UniformConstant
139: 11(int) Constant 0 140: TypePointer Function 8(PS_OUTPUT)
140: 6(float) Constant 1065353216 142: 16(int) Constant 0
141: 30(fvec4) ConstantComposite 140 140 140 140 143: 6(float) Constant 1065353216
142: TypePointer Function 30(fvec4) 144: 7(fvec4) ConstantComposite 143 143 143 143
144: TypePointer Function 6(float) 145: TypePointer Function 7(fvec4)
146: TypePointer Output 30(fvec4) 147: TypePointer Function 6(float)
147(Color): 146(ptr) Variable Output 154: TypePointer Output 7(fvec4)
150: TypePointer Output 6(float) 155(Color): 154(ptr) Variable Output
151(Depth): 150(ptr) Variable Output 158: TypePointer Output 6(float)
155: TypeSampler 159(Depth): 158(ptr) Variable Output
156: TypePointer UniformConstant 155 162: TypeSampler
157(g_sSamp): 156(ptr) Variable UniformConstant 163: TypePointer UniformConstant 162
158: TypeImage 6(float) Cube sampled format:Unknown 164(g_sSamp): 163(ptr) Variable UniformConstant
159: TypePointer UniformConstant 158 165: TypeImage 6(float) Cube sampled format:Unknown
160(g_tTexcdf4): 159(ptr) Variable UniformConstant 166: TypePointer UniformConstant 165
161: TypeImage 11(int) Cube sampled format:Unknown 167(g_tTexcdf4): 166(ptr) Variable UniformConstant
162: TypePointer UniformConstant 161 168: TypeImage 16(int) Cube sampled format:Unknown
163(g_tTexcdi4): 162(ptr) Variable UniformConstant 169: TypePointer UniformConstant 168
164: TypeImage 19(int) Cube sampled format:Unknown 170(g_tTexcdi4): 169(ptr) Variable UniformConstant
165: TypePointer UniformConstant 164 171: TypeImage 24(int) Cube sampled format:Unknown
166(g_tTexcdu4): 165(ptr) Variable UniformConstant 172: TypePointer UniformConstant 171
167: TypeImage 6(float) 1D array sampled format:Unknown 173(g_tTexcdu4): 172(ptr) Variable UniformConstant
168: TypePointer UniformConstant 167 174: TypeImage 6(float) 1D array sampled format:Unknown
169(g_tTex1df4a): 168(ptr) Variable UniformConstant 175: TypePointer UniformConstant 174
170: TypeImage 11(int) 1D array sampled format:Unknown 176(g_tTex1df4a): 175(ptr) Variable UniformConstant
171: TypePointer UniformConstant 170 177: TypeImage 16(int) 1D array sampled format:Unknown
172(g_tTex1di4a): 171(ptr) Variable UniformConstant 178: TypePointer UniformConstant 177
173: TypeImage 19(int) 1D array sampled format:Unknown 179(g_tTex1di4a): 178(ptr) Variable UniformConstant
174: TypePointer UniformConstant 173 180: TypeImage 24(int) 1D array sampled format:Unknown
175(g_tTex1du4a): 174(ptr) Variable UniformConstant 181: TypePointer UniformConstant 180
176: TypeImage 6(float) 2D array sampled format:Unknown 182(g_tTex1du4a): 181(ptr) Variable UniformConstant
177: TypePointer UniformConstant 176 183: TypeImage 6(float) 2D array sampled format:Unknown
178(g_tTex2df4a): 177(ptr) Variable UniformConstant 184: TypePointer UniformConstant 183
179: TypeImage 11(int) 2D array sampled format:Unknown 185(g_tTex2df4a): 184(ptr) Variable UniformConstant
180: TypePointer UniformConstant 179 186: TypeImage 16(int) 2D array sampled format:Unknown
181(g_tTex2di4a): 180(ptr) Variable UniformConstant 187: TypePointer UniformConstant 186
182: TypeImage 19(int) 2D array sampled format:Unknown 188(g_tTex2di4a): 187(ptr) Variable UniformConstant
183: TypePointer UniformConstant 182 189: TypeImage 24(int) 2D array sampled format:Unknown
184(g_tTex2du4a): 183(ptr) Variable UniformConstant 190: TypePointer UniformConstant 189
185: TypeImage 6(float) Cube array sampled format:Unknown 191(g_tTex2du4a): 190(ptr) Variable UniformConstant
186: TypePointer UniformConstant 185 192: TypeImage 6(float) Cube array sampled format:Unknown
187(g_tTexcdf4a): 186(ptr) Variable UniformConstant 193: TypePointer UniformConstant 192
188: TypeImage 11(int) Cube array sampled format:Unknown 194(g_tTexcdf4a): 193(ptr) Variable UniformConstant
189: TypePointer UniformConstant 188 195: TypeImage 16(int) Cube array sampled format:Unknown
190(g_tTexcdi4a): 189(ptr) Variable UniformConstant 196: TypePointer UniformConstant 195
191: TypeImage 19(int) Cube array sampled format:Unknown 197(g_tTexcdi4a): 196(ptr) Variable UniformConstant
192: TypePointer UniformConstant 191 198: TypeImage 24(int) Cube array sampled format:Unknown
193(g_tTexcdu4a): 192(ptr) Variable UniformConstant 199: TypePointer UniformConstant 198
200(g_tTexcdu4a): 199(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
138(psout): 137(ptr) Variable Function 152(flattenTemp): 140(ptr) Variable Function
10: 7 Load 9(g_tTex1df4) 153:8(PS_OUTPUT) FunctionCall 10(@main()
22: 21(ptr) AccessChain 17 18 20 Store 152(flattenTemp) 153
23: 11(int) Load 22 156: 145(ptr) AccessChain 152(flattenTemp) 142
25: 21(ptr) AccessChain 17 18 24 157: 7(fvec4) Load 156
26: 11(int) Load 25 Store 155(Color) 157
28: 21(ptr) AccessChain 17 27 160: 147(ptr) AccessChain 152(flattenTemp) 23
29: 11(int) Load 28 161: 6(float) Load 160
31: 30(fvec4) ImageFetch 10 23 Lod Offset 26 29 Store 159(Depth) 161
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:48 Function Parameters:
0:? Sequence 0:? Sequence
0:52 textureFetchOffset (temp 4-component vector of float) 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 1 (const int)
0:66 Constant: 0:66 Constant:
0:66 1.000000 0:66 1.000000
0:68 Sequence 0:68 Branch: Return with expression
0:68 Sequence 0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:68 move second child to first child (temp 4-component vector of float) 0:48 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:48 Function Parameters:
0:68 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Sequence
0:68 Constant: 0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:68 0 (const int) 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:68 move second child to first child (temp float) 0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:48 move second child to first child (temp 4-component vector of float)
0:68 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Color: direct index for structure (temp 4-component vector of float)
0:68 Constant: 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:68 1 (const int) 0:48 Constant:
0:68 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D) 0:? 'g_tTex1di4' (uniform itexture1D)
@ -206,6 +210,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:48 Function Parameters:
0:? Sequence 0:? Sequence
0:52 textureFetchOffset (temp 4-component vector of float) 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 1 (const int)
0:66 Constant: 0:66 Constant:
0:66 1.000000 0:66 1.000000
0:68 Sequence 0:68 Branch: Return with expression
0:68 Sequence 0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:68 move second child to first child (temp 4-component vector of float) 0:48 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:48 Function Parameters:
0:68 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Sequence
0:68 Constant: 0:48 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:68 0 (const int) 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:68 move second child to first child (temp float) 0:48 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:48 move second child to first child (temp 4-component vector of float)
0:68 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:48 Color: direct index for structure (temp 4-component vector of float)
0:68 Constant: 0:48 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:68 1 (const int) 0:48 Constant:
0:68 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D) 0:? 'g_tTex1di4' (uniform itexture1D)
@ -419,11 +429,13 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 167 // Id's are bound by 174
Capability Shader Capability Shader
Capability ImageGatherExtended Capability ImageGatherExtended
@ -431,250 +443,261 @@ gl_FragCoord origin is upper left
Capability SampledCubeArray Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 111 115 EntryPoint Fragment 4 "main" 119 123
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "g_tTex1df4a" Name 8 "PS_OUTPUT"
Name 15 "$Global" MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 15($Global) 0 "c1" MemberName 8(PS_OUTPUT) 1 "Depth"
MemberName 15($Global) 1 "c2" Name 10 "@main("
MemberName 15($Global) 2 "c3" Name 14 "g_tTex1df4a"
MemberName 15($Global) 3 "c4" Name 20 "$Global"
MemberName 15($Global) 4 "o1" MemberName 20($Global) 0 "c1"
MemberName 15($Global) 5 "o2" MemberName 20($Global) 1 "c2"
MemberName 15($Global) 6 "o3" MemberName 20($Global) 2 "c3"
MemberName 15($Global) 7 "o4" MemberName 20($Global) 3 "c4"
Name 17 "" MemberName 20($Global) 4 "o1"
Name 35 "g_tTex1di4a" MemberName 20($Global) 5 "o2"
Name 47 "g_tTex1du4a" MemberName 20($Global) 6 "o3"
Name 60 "g_tTex2df4a" MemberName 20($Global) 7 "o4"
Name 77 "g_tTex2di4a" Name 22 ""
Name 89 "g_tTex2du4a" Name 39 "g_tTex1di4a"
Name 99 "PS_OUTPUT" Name 51 "g_tTex1du4a"
MemberName 99(PS_OUTPUT) 0 "Color" Name 64 "g_tTex2df4a"
MemberName 99(PS_OUTPUT) 1 "Depth" Name 81 "g_tTex2di4a"
Name 101 "psout" Name 93 "g_tTex2du4a"
Name 111 "Color" Name 104 "psout"
Name 115 "Depth" Name 116 "flattenTemp"
Name 121 "g_sSamp" Name 119 "Color"
Name 124 "g_tTex1df4" Name 123 "Depth"
Name 127 "g_tTex1di4" Name 128 "g_sSamp"
Name 130 "g_tTex1du4" Name 131 "g_tTex1df4"
Name 133 "g_tTex2df4" Name 134 "g_tTex1di4"
Name 136 "g_tTex2di4" Name 137 "g_tTex1du4"
Name 139 "g_tTex2du4" Name 140 "g_tTex2df4"
Name 142 "g_tTex3df4" Name 143 "g_tTex2di4"
Name 145 "g_tTex3di4" Name 146 "g_tTex2du4"
Name 148 "g_tTex3du4" Name 149 "g_tTex3df4"
Name 151 "g_tTexcdf4" Name 152 "g_tTex3di4"
Name 154 "g_tTexcdi4" Name 155 "g_tTex3du4"
Name 157 "g_tTexcdu4" Name 158 "g_tTexcdf4"
Name 160 "g_tTexcdf4a" Name 161 "g_tTexcdi4"
Name 163 "g_tTexcdi4a" Name 164 "g_tTexcdu4"
Name 166 "g_tTexcdu4a" Name 167 "g_tTexcdf4a"
Decorate 9(g_tTex1df4a) DescriptorSet 0 Name 170 "g_tTexcdi4a"
MemberDecorate 15($Global) 0 Offset 0 Name 173 "g_tTexcdu4a"
MemberDecorate 15($Global) 1 Offset 8 Decorate 14(g_tTex1df4a) DescriptorSet 0
MemberDecorate 15($Global) 2 Offset 16 MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 15($Global) 3 Offset 32 MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 15($Global) 4 Offset 48 MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 15($Global) 5 Offset 56 MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 15($Global) 6 Offset 64 MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 15($Global) 7 Offset 80 MemberDecorate 20($Global) 5 Offset 56
Decorate 15($Global) Block MemberDecorate 20($Global) 6 Offset 64
Decorate 17 DescriptorSet 0 MemberDecorate 20($Global) 7 Offset 80
Decorate 35(g_tTex1di4a) DescriptorSet 0 Decorate 20($Global) Block
Decorate 47(g_tTex1du4a) DescriptorSet 0 Decorate 22 DescriptorSet 0
Decorate 60(g_tTex2df4a) DescriptorSet 0 Decorate 39(g_tTex1di4a) DescriptorSet 0
Decorate 77(g_tTex2di4a) DescriptorSet 0 Decorate 51(g_tTex1du4a) DescriptorSet 0
Decorate 89(g_tTex2du4a) DescriptorSet 0 Decorate 64(g_tTex2df4a) DescriptorSet 0
Decorate 111(Color) Location 0 Decorate 81(g_tTex2di4a) DescriptorSet 0
Decorate 115(Depth) BuiltIn FragDepth Decorate 93(g_tTex2du4a) DescriptorSet 0
Decorate 121(g_sSamp) DescriptorSet 0 Decorate 119(Color) Location 0
Decorate 121(g_sSamp) Binding 0 Decorate 123(Depth) BuiltIn FragDepth
Decorate 124(g_tTex1df4) DescriptorSet 0 Decorate 128(g_sSamp) DescriptorSet 0
Decorate 124(g_tTex1df4) Binding 0 Decorate 128(g_sSamp) Binding 0
Decorate 127(g_tTex1di4) DescriptorSet 0 Decorate 131(g_tTex1df4) DescriptorSet 0
Decorate 130(g_tTex1du4) DescriptorSet 0 Decorate 131(g_tTex1df4) Binding 0
Decorate 133(g_tTex2df4) DescriptorSet 0 Decorate 134(g_tTex1di4) DescriptorSet 0
Decorate 136(g_tTex2di4) DescriptorSet 0 Decorate 137(g_tTex1du4) DescriptorSet 0
Decorate 139(g_tTex2du4) DescriptorSet 0 Decorate 140(g_tTex2df4) DescriptorSet 0
Decorate 142(g_tTex3df4) DescriptorSet 0 Decorate 143(g_tTex2di4) DescriptorSet 0
Decorate 145(g_tTex3di4) DescriptorSet 0 Decorate 146(g_tTex2du4) DescriptorSet 0
Decorate 148(g_tTex3du4) DescriptorSet 0 Decorate 149(g_tTex3df4) DescriptorSet 0
Decorate 151(g_tTexcdf4) DescriptorSet 0 Decorate 152(g_tTex3di4) DescriptorSet 0
Decorate 154(g_tTexcdi4) DescriptorSet 0 Decorate 155(g_tTex3du4) DescriptorSet 0
Decorate 157(g_tTexcdu4) DescriptorSet 0 Decorate 158(g_tTexcdf4) DescriptorSet 0
Decorate 160(g_tTexcdf4a) DescriptorSet 0 Decorate 161(g_tTexcdi4) DescriptorSet 0
Decorate 163(g_tTexcdi4a) DescriptorSet 0 Decorate 164(g_tTexcdu4) DescriptorSet 0
Decorate 166(g_tTexcdu4a) DescriptorSet 0 Decorate 167(g_tTexcdf4a) DescriptorSet 0
Decorate 170(g_tTexcdi4a) DescriptorSet 0
Decorate 173(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeImage 6(float) 1D array sampled format:Unknown 7: TypeVector 6(float) 4
8: TypePointer UniformConstant 7 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9(g_tTex1df4a): 8(ptr) Variable UniformConstant 9: TypeFunction 8(PS_OUTPUT)
11: TypeInt 32 1 12: TypeImage 6(float) 1D array sampled format:Unknown
12: TypeVector 11(int) 2 13: TypePointer UniformConstant 12
13: TypeVector 11(int) 3 14(g_tTex1df4a): 13(ptr) Variable UniformConstant
14: TypeVector 11(int) 4 16: TypeInt 32 1
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 17: TypeVector 16(int) 2
16: TypePointer Uniform 15($Global) 18: TypeVector 16(int) 3
17: 16(ptr) Variable Uniform 19: TypeVector 16(int) 4
18: 11(int) Constant 2 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
19: TypePointer Uniform 13(ivec3) 21: TypePointer Uniform 20($Global)
23: TypeInt 32 0 22: 21(ptr) Variable Uniform
24: 23(int) Constant 2 23: 16(int) Constant 2
25: TypePointer Uniform 11(int) 24: TypePointer Uniform 18(ivec3)
28: 11(int) Constant 4 28: TypeInt 32 0
31: TypeVector 6(float) 4 29: 28(int) Constant 2
33: TypeImage 11(int) 1D array sampled format:Unknown 30: TypePointer Uniform 16(int)
34: TypePointer UniformConstant 33 33: 16(int) Constant 4
35(g_tTex1di4a): 34(ptr) Variable UniformConstant 37: TypeImage 16(int) 1D array sampled format:Unknown
45: TypeImage 23(int) 1D array sampled format:Unknown 38: TypePointer UniformConstant 37
46: TypePointer UniformConstant 45 39(g_tTex1di4a): 38(ptr) Variable UniformConstant
47(g_tTex1du4a): 46(ptr) Variable UniformConstant 49: TypeImage 28(int) 1D array sampled format:Unknown
56: TypeVector 23(int) 4 50: TypePointer UniformConstant 49
58: TypeImage 6(float) 2D array sampled format:Unknown 51(g_tTex1du4a): 50(ptr) Variable UniformConstant
59: TypePointer UniformConstant 58 60: TypeVector 28(int) 4
60(g_tTex2df4a): 59(ptr) Variable UniformConstant 62: TypeImage 6(float) 2D array sampled format:Unknown
62: 11(int) Constant 3 63: TypePointer UniformConstant 62
63: TypePointer Uniform 14(ivec4) 64(g_tTex2df4a): 63(ptr) Variable UniformConstant
67: 23(int) Constant 3 66: 16(int) Constant 3
70: 11(int) Constant 5 67: TypePointer Uniform 19(ivec4)
71: TypePointer Uniform 12(ivec2) 71: 28(int) Constant 3
75: TypeImage 11(int) 2D array sampled format:Unknown 74: 16(int) Constant 5
76: TypePointer UniformConstant 75 75: TypePointer Uniform 17(ivec2)
77(g_tTex2di4a): 76(ptr) Variable UniformConstant 79: TypeImage 16(int) 2D array sampled format:Unknown
87: TypeImage 23(int) 2D array sampled format:Unknown 80: TypePointer UniformConstant 79
88: TypePointer UniformConstant 87 81(g_tTex2di4a): 80(ptr) Variable UniformConstant
89(g_tTex2du4a): 88(ptr) Variable UniformConstant 91: TypeImage 28(int) 2D array sampled format:Unknown
99(PS_OUTPUT): TypeStruct 31(fvec4) 6(float) 92: TypePointer UniformConstant 91
100: TypePointer Function 99(PS_OUTPUT) 93(g_tTex2du4a): 92(ptr) Variable UniformConstant
102: 11(int) Constant 0 103: TypePointer Function 8(PS_OUTPUT)
103: 6(float) Constant 1065353216 105: 16(int) Constant 0
104: 31(fvec4) ConstantComposite 103 103 103 103 106: 6(float) Constant 1065353216
105: TypePointer Function 31(fvec4) 107: 7(fvec4) ConstantComposite 106 106 106 106
107: 11(int) Constant 1 108: TypePointer Function 7(fvec4)
108: TypePointer Function 6(float) 110: 16(int) Constant 1
110: TypePointer Output 31(fvec4) 111: TypePointer Function 6(float)
111(Color): 110(ptr) Variable Output 118: TypePointer Output 7(fvec4)
114: TypePointer Output 6(float) 119(Color): 118(ptr) Variable Output
115(Depth): 114(ptr) Variable Output 122: TypePointer Output 6(float)
119: TypeSampler 123(Depth): 122(ptr) Variable Output
120: TypePointer UniformConstant 119 126: TypeSampler
121(g_sSamp): 120(ptr) Variable UniformConstant 127: TypePointer UniformConstant 126
122: TypeImage 6(float) 1D sampled format:Unknown 128(g_sSamp): 127(ptr) Variable UniformConstant
123: TypePointer UniformConstant 122 129: TypeImage 6(float) 1D sampled format:Unknown
124(g_tTex1df4): 123(ptr) Variable UniformConstant 130: TypePointer UniformConstant 129
125: TypeImage 11(int) 1D sampled format:Unknown 131(g_tTex1df4): 130(ptr) Variable UniformConstant
126: TypePointer UniformConstant 125 132: TypeImage 16(int) 1D sampled format:Unknown
127(g_tTex1di4): 126(ptr) Variable UniformConstant 133: TypePointer UniformConstant 132
128: TypeImage 23(int) 1D sampled format:Unknown 134(g_tTex1di4): 133(ptr) Variable UniformConstant
129: TypePointer UniformConstant 128 135: TypeImage 28(int) 1D sampled format:Unknown
130(g_tTex1du4): 129(ptr) Variable UniformConstant 136: TypePointer UniformConstant 135
131: TypeImage 6(float) 2D sampled format:Unknown 137(g_tTex1du4): 136(ptr) Variable UniformConstant
132: TypePointer UniformConstant 131 138: TypeImage 6(float) 2D sampled format:Unknown
133(g_tTex2df4): 132(ptr) Variable UniformConstant 139: TypePointer UniformConstant 138
134: TypeImage 11(int) 2D sampled format:Unknown 140(g_tTex2df4): 139(ptr) Variable UniformConstant
135: TypePointer UniformConstant 134 141: TypeImage 16(int) 2D sampled format:Unknown
136(g_tTex2di4): 135(ptr) Variable UniformConstant 142: TypePointer UniformConstant 141
137: TypeImage 23(int) 2D sampled format:Unknown 143(g_tTex2di4): 142(ptr) Variable UniformConstant
138: TypePointer UniformConstant 137 144: TypeImage 28(int) 2D sampled format:Unknown
139(g_tTex2du4): 138(ptr) Variable UniformConstant 145: TypePointer UniformConstant 144
140: TypeImage 6(float) 3D sampled format:Unknown 146(g_tTex2du4): 145(ptr) Variable UniformConstant
141: TypePointer UniformConstant 140 147: TypeImage 6(float) 3D sampled format:Unknown
142(g_tTex3df4): 141(ptr) Variable UniformConstant 148: TypePointer UniformConstant 147
143: TypeImage 11(int) 3D sampled format:Unknown 149(g_tTex3df4): 148(ptr) Variable UniformConstant
144: TypePointer UniformConstant 143 150: TypeImage 16(int) 3D sampled format:Unknown
145(g_tTex3di4): 144(ptr) Variable UniformConstant 151: TypePointer UniformConstant 150
146: TypeImage 23(int) 3D sampled format:Unknown 152(g_tTex3di4): 151(ptr) Variable UniformConstant
147: TypePointer UniformConstant 146 153: TypeImage 28(int) 3D sampled format:Unknown
148(g_tTex3du4): 147(ptr) Variable UniformConstant 154: TypePointer UniformConstant 153
149: TypeImage 6(float) Cube sampled format:Unknown 155(g_tTex3du4): 154(ptr) Variable UniformConstant
150: TypePointer UniformConstant 149 156: TypeImage 6(float) Cube sampled format:Unknown
151(g_tTexcdf4): 150(ptr) Variable UniformConstant 157: TypePointer UniformConstant 156
152: TypeImage 11(int) Cube sampled format:Unknown 158(g_tTexcdf4): 157(ptr) Variable UniformConstant
153: TypePointer UniformConstant 152 159: TypeImage 16(int) Cube sampled format:Unknown
154(g_tTexcdi4): 153(ptr) Variable UniformConstant 160: TypePointer UniformConstant 159
155: TypeImage 23(int) Cube sampled format:Unknown 161(g_tTexcdi4): 160(ptr) Variable UniformConstant
156: TypePointer UniformConstant 155 162: TypeImage 28(int) Cube sampled format:Unknown
157(g_tTexcdu4): 156(ptr) Variable UniformConstant 163: TypePointer UniformConstant 162
158: TypeImage 6(float) Cube array sampled format:Unknown 164(g_tTexcdu4): 163(ptr) Variable UniformConstant
159: TypePointer UniformConstant 158 165: TypeImage 6(float) Cube array sampled format:Unknown
160(g_tTexcdf4a): 159(ptr) Variable UniformConstant 166: TypePointer UniformConstant 165
161: TypeImage 11(int) Cube array sampled format:Unknown 167(g_tTexcdf4a): 166(ptr) Variable UniformConstant
162: TypePointer UniformConstant 161 168: TypeImage 16(int) Cube array sampled format:Unknown
163(g_tTexcdi4a): 162(ptr) Variable UniformConstant 169: TypePointer UniformConstant 168
164: TypeImage 23(int) Cube array sampled format:Unknown 170(g_tTexcdi4a): 169(ptr) Variable UniformConstant
165: TypePointer UniformConstant 164 171: TypeImage 28(int) Cube array sampled format:Unknown
166(g_tTexcdu4a): 165(ptr) Variable UniformConstant 172: TypePointer UniformConstant 171
173(g_tTexcdu4a): 172(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
101(psout): 100(ptr) Variable Function 116(flattenTemp): 103(ptr) Variable Function
10: 7 Load 9(g_tTex1df4a) 117:8(PS_OUTPUT) FunctionCall 10(@main()
20: 19(ptr) AccessChain 17 18 Store 116(flattenTemp) 117
21: 13(ivec3) Load 20 120: 108(ptr) AccessChain 116(flattenTemp) 105
22: 12(ivec2) VectorShuffle 21 21 0 1 121: 7(fvec4) Load 120
26: 25(ptr) AccessChain 17 18 24 Store 119(Color) 121
27: 11(int) Load 26 124: 111(ptr) AccessChain 116(flattenTemp) 110
29: 25(ptr) AccessChain 17 28 125: 6(float) Load 124
30: 11(int) Load 29 Store 123(Depth) 125
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:22 Function Parameters:
0:? Sequence 0:? Sequence
0:25 imageLoad (temp 4-component vector of float) 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:29 1.000000
0:29 1.000000 0:29 1.000000
0:31 Sequence 0:31 Branch: Return with expression
0:31 Sequence 0:31 'psout' (temp structure{temp 4-component vector of float Color})
0:31 move second child to first child (temp 4-component vector of float) 0:22 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:22 Function Parameters:
0:31 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:31 'psout' (temp structure{temp 4-component vector of float Color}) 0:22 Sequence
0:31 Constant: 0:22 move second child to first child (temp 4-component vector of float)
0:31 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:31 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) 0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) 0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:22 Function Parameters:
0:? Sequence 0:? Sequence
0:25 imageLoad (temp 4-component vector of float) 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:29 1.000000
0:29 1.000000 0:29 1.000000
0:31 Sequence 0:31 Branch: Return with expression
0:31 Sequence 0:31 'psout' (temp structure{temp 4-component vector of float Color})
0:31 move second child to first child (temp 4-component vector of float) 0:22 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:22 Function Parameters:
0:31 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:31 'psout' (temp structure{temp 4-component vector of float Color}) 0:22 Sequence
0:31 Constant: 0:22 move second child to first child (temp 4-component vector of float)
0:31 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:31 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) 0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) 0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 52 // Id's are bound by 57
Capability Shader Capability Shader
Capability SampledBuffer Capability SampledBuffer
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 48 EntryPoint Fragment 4 "main" 54
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "g_tBuffF" Name 8 "PS_OUTPUT"
Name 15 "$Global" MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 15($Global) 0 "c1" Name 10 "@main("
MemberName 15($Global) 1 "c2" Name 14 "g_tBuffF"
MemberName 15($Global) 2 "c3" Name 20 "$Global"
MemberName 15($Global) 3 "c4" MemberName 20($Global) 0 "c1"
MemberName 15($Global) 4 "o1" MemberName 20($Global) 1 "c2"
MemberName 15($Global) 5 "o2" MemberName 20($Global) 2 "c3"
MemberName 15($Global) 6 "o3" MemberName 20($Global) 3 "c4"
MemberName 15($Global) 7 "o4" MemberName 20($Global) 4 "o1"
Name 17 "" MemberName 20($Global) 5 "o2"
Name 27 "g_tBuffU" MemberName 20($Global) 6 "o3"
Name 35 "g_tBuffI" MemberName 20($Global) 7 "o4"
Name 40 "PS_OUTPUT" Name 22 ""
MemberName 40(PS_OUTPUT) 0 "Color" Name 31 "g_tBuffU"
Name 42 "psout" Name 39 "g_tBuffI"
Name 48 "Color" Name 45 "psout"
Decorate 9(g_tBuffF) DescriptorSet 0 Name 54 "Color"
MemberDecorate 15($Global) 0 Offset 0 Decorate 14(g_tBuffF) DescriptorSet 0
MemberDecorate 15($Global) 1 Offset 8 MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 15($Global) 2 Offset 16 MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 15($Global) 3 Offset 32 MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 15($Global) 4 Offset 48 MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 15($Global) 5 Offset 56 MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 15($Global) 6 Offset 64 MemberDecorate 20($Global) 5 Offset 56
MemberDecorate 15($Global) 7 Offset 80 MemberDecorate 20($Global) 6 Offset 64
Decorate 15($Global) Block MemberDecorate 20($Global) 7 Offset 80
Decorate 17 DescriptorSet 0 Decorate 20($Global) Block
Decorate 27(g_tBuffU) DescriptorSet 0 Decorate 22 DescriptorSet 0
Decorate 35(g_tBuffI) DescriptorSet 0 Decorate 31(g_tBuffU) DescriptorSet 0
Decorate 48(Color) Location 0 Decorate 39(g_tBuffI) DescriptorSet 0
Decorate 54(Color) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeImage 6(float) Buffer nonsampled format:Rgba32f 7: TypeVector 6(float) 4
8: TypePointer UniformConstant 7 8(PS_OUTPUT): TypeStruct 7(fvec4)
9(g_tBuffF): 8(ptr) Variable UniformConstant 9: TypeFunction 8(PS_OUTPUT)
11: TypeInt 32 1 12: TypeImage 6(float) Buffer nonsampled format:Rgba32f
12: TypeVector 11(int) 2 13: TypePointer UniformConstant 12
13: TypeVector 11(int) 3 14(g_tBuffF): 13(ptr) Variable UniformConstant
14: TypeVector 11(int) 4 16: TypeInt 32 1
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 17: TypeVector 16(int) 2
16: TypePointer Uniform 15($Global) 18: TypeVector 16(int) 3
17: 16(ptr) Variable Uniform 19: TypeVector 16(int) 4
18: 11(int) Constant 0 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
19: TypePointer Uniform 11(int) 21: TypePointer Uniform 20($Global)
22: TypeVector 6(float) 4 22: 21(ptr) Variable Uniform
24: TypeInt 32 0 23: 16(int) Constant 0
25: TypeImage 24(int) Buffer nonsampled format:Rgba32ui 24: TypePointer Uniform 16(int)
26: TypePointer UniformConstant 25 28: TypeInt 32 0
27(g_tBuffU): 26(ptr) Variable UniformConstant 29: TypeImage 28(int) Buffer nonsampled format:Rgba32ui
31: TypeVector 24(int) 4 30: TypePointer UniformConstant 29
33: TypeImage 11(int) Buffer nonsampled format:Rgba32i 31(g_tBuffU): 30(ptr) Variable UniformConstant
34: TypePointer UniformConstant 33 35: TypeVector 28(int) 4
35(g_tBuffI): 34(ptr) Variable UniformConstant 37: TypeImage 16(int) Buffer nonsampled format:Rgba32i
40(PS_OUTPUT): TypeStruct 22(fvec4) 38: TypePointer UniformConstant 37
41: TypePointer Function 40(PS_OUTPUT) 39(g_tBuffI): 38(ptr) Variable UniformConstant
43: 6(float) Constant 1065353216 44: TypePointer Function 8(PS_OUTPUT)
44: 22(fvec4) ConstantComposite 43 43 43 43 46: 6(float) Constant 1065353216
45: TypePointer Function 22(fvec4) 47: 7(fvec4) ConstantComposite 46 46 46 46
47: TypePointer Output 22(fvec4) 48: TypePointer Function 7(fvec4)
48(Color): 47(ptr) Variable Output 53: TypePointer Output 7(fvec4)
54(Color): 53(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
42(psout): 41(ptr) Variable Function 55:8(PS_OUTPUT) FunctionCall 10(@main()
10: 7 Load 9(g_tBuffF) 56: 7(fvec4) CompositeExtract 55 0
20: 19(ptr) AccessChain 17 18 Store 54(Color) 56
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:40 Function Parameters:
0:? Sequence 0:? Sequence
0:44 imageLoad (temp 4-component vector of float) 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 1 (const int)
0:54 Constant: 0:54 Constant:
0:54 1.000000 0:54 1.000000
0:56 Sequence 0:56 Branch: Return with expression
0:56 Sequence 0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56 move second child to first child (temp 4-component vector of float) 0:40 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:40 Function Parameters:
0:56 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:40 Sequence
0:56 Constant: 0:40 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56 0 (const int) 0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56 move second child to first child (temp float) 0:40 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:40 move second child to first child (temp 4-component vector of float)
0:56 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:40 Color: direct index for structure (temp 4-component vector of float)
0:56 Constant: 0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56 1 (const int) 0:40 Constant:
0:56 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) 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_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:40 Function Parameters:
0:? Sequence 0:? Sequence
0:44 imageLoad (temp 4-component vector of float) 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 1 (const int)
0:54 Constant: 0:54 Constant:
0:54 1.000000 0:54 1.000000
0:56 Sequence 0:56 Branch: Return with expression
0:56 Sequence 0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56 move second child to first child (temp 4-component vector of float) 0:40 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:40 Function Parameters:
0:56 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:40 Sequence
0:56 Constant: 0:40 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56 0 (const int) 0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56 move second child to first child (temp float) 0:40 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:40 move second child to first child (temp 4-component vector of float)
0:56 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:40 Color: direct index for structure (temp 4-component vector of float)
0:56 Constant: 0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56 1 (const int) 0:40 Constant:
0:56 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) 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_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 112 // Id's are bound by 119
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 74 78 EntryPoint Fragment 4 "main" 82 86
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "g_tTex1df4a" Name 8 "PS_OUTPUT"
Name 15 "$Global" MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 15($Global) 0 "c1" MemberName 8(PS_OUTPUT) 1 "Depth"
MemberName 15($Global) 1 "c2" Name 10 "@main("
MemberName 15($Global) 2 "c3" Name 14 "g_tTex1df4a"
MemberName 15($Global) 3 "c4" Name 20 "$Global"
MemberName 15($Global) 4 "o1" MemberName 20($Global) 0 "c1"
MemberName 15($Global) 5 "o2" MemberName 20($Global) 1 "c2"
MemberName 15($Global) 6 "o3" MemberName 20($Global) 2 "c3"
MemberName 15($Global) 7 "o4" MemberName 20($Global) 3 "c4"
Name 17 "" MemberName 20($Global) 4 "o1"
Name 26 "g_tTex1di4a" MemberName 20($Global) 5 "o2"
Name 34 "g_tTex1du4a" MemberName 20($Global) 6 "o3"
Name 42 "g_tTex2df4a" MemberName 20($Global) 7 "o4"
Name 51 "g_tTex2di4a" Name 22 ""
Name 58 "g_tTex2du4a" Name 30 "g_tTex1di4a"
Name 63 "PS_OUTPUT" Name 38 "g_tTex1du4a"
MemberName 63(PS_OUTPUT) 0 "Color" Name 46 "g_tTex2df4a"
MemberName 63(PS_OUTPUT) 1 "Depth" Name 55 "g_tTex2di4a"
Name 65 "psout" Name 62 "g_tTex2du4a"
Name 74 "Color" Name 68 "psout"
Name 78 "Depth" Name 79 "flattenTemp"
Name 84 "g_sSamp" Name 82 "Color"
Name 87 "g_tTex1df4" Name 86 "Depth"
Name 90 "g_tTex1di4" Name 91 "g_sSamp"
Name 93 "g_tTex1du4" Name 94 "g_tTex1df4"
Name 96 "g_tTex2df4" Name 97 "g_tTex1di4"
Name 99 "g_tTex2di4" Name 100 "g_tTex1du4"
Name 102 "g_tTex2du4" Name 103 "g_tTex2df4"
Name 105 "g_tTex3df4" Name 106 "g_tTex2di4"
Name 108 "g_tTex3di4" Name 109 "g_tTex2du4"
Name 111 "g_tTex3du4" Name 112 "g_tTex3df4"
Decorate 9(g_tTex1df4a) DescriptorSet 0 Name 115 "g_tTex3di4"
MemberDecorate 15($Global) 0 Offset 0 Name 118 "g_tTex3du4"
MemberDecorate 15($Global) 1 Offset 8 Decorate 14(g_tTex1df4a) DescriptorSet 0
MemberDecorate 15($Global) 2 Offset 16 MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 15($Global) 3 Offset 32 MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 15($Global) 4 Offset 48 MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 15($Global) 5 Offset 56 MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 15($Global) 6 Offset 64 MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 15($Global) 7 Offset 80 MemberDecorate 20($Global) 5 Offset 56
Decorate 15($Global) Block MemberDecorate 20($Global) 6 Offset 64
Decorate 17 DescriptorSet 0 MemberDecorate 20($Global) 7 Offset 80
Decorate 26(g_tTex1di4a) DescriptorSet 0 Decorate 20($Global) Block
Decorate 34(g_tTex1du4a) DescriptorSet 0 Decorate 22 DescriptorSet 0
Decorate 42(g_tTex2df4a) DescriptorSet 0 Decorate 30(g_tTex1di4a) DescriptorSet 0
Decorate 51(g_tTex2di4a) DescriptorSet 0 Decorate 38(g_tTex1du4a) DescriptorSet 0
Decorate 58(g_tTex2du4a) DescriptorSet 0 Decorate 46(g_tTex2df4a) DescriptorSet 0
Decorate 74(Color) Location 0 Decorate 55(g_tTex2di4a) DescriptorSet 0
Decorate 78(Depth) BuiltIn FragDepth Decorate 62(g_tTex2du4a) DescriptorSet 0
Decorate 84(g_sSamp) DescriptorSet 0 Decorate 82(Color) Location 0
Decorate 84(g_sSamp) Binding 0 Decorate 86(Depth) BuiltIn FragDepth
Decorate 87(g_tTex1df4) DescriptorSet 0 Decorate 91(g_sSamp) DescriptorSet 0
Decorate 87(g_tTex1df4) Binding 0 Decorate 91(g_sSamp) Binding 0
Decorate 90(g_tTex1di4) DescriptorSet 0 Decorate 94(g_tTex1df4) DescriptorSet 0
Decorate 93(g_tTex1du4) DescriptorSet 0 Decorate 94(g_tTex1df4) Binding 0
Decorate 96(g_tTex2df4) DescriptorSet 0 Decorate 97(g_tTex1di4) DescriptorSet 0
Decorate 99(g_tTex2di4) DescriptorSet 0 Decorate 100(g_tTex1du4) DescriptorSet 0
Decorate 102(g_tTex2du4) DescriptorSet 0 Decorate 103(g_tTex2df4) DescriptorSet 0
Decorate 105(g_tTex3df4) DescriptorSet 0 Decorate 106(g_tTex2di4) DescriptorSet 0
Decorate 108(g_tTex3di4) DescriptorSet 0 Decorate 109(g_tTex2du4) DescriptorSet 0
Decorate 111(g_tTex3du4) DescriptorSet 0 Decorate 112(g_tTex3df4) DescriptorSet 0
Decorate 115(g_tTex3di4) DescriptorSet 0
Decorate 118(g_tTex3du4) DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeImage 6(float) 1D array nonsampled format:Rgba32f 7: TypeVector 6(float) 4
8: TypePointer UniformConstant 7 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9(g_tTex1df4a): 8(ptr) Variable UniformConstant 9: TypeFunction 8(PS_OUTPUT)
11: TypeInt 32 1 12: TypeImage 6(float) 1D array nonsampled format:Rgba32f
12: TypeVector 11(int) 2 13: TypePointer UniformConstant 12
13: TypeVector 11(int) 3 14(g_tTex1df4a): 13(ptr) Variable UniformConstant
14: TypeVector 11(int) 4 16: TypeInt 32 1
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 17: TypeVector 16(int) 2
16: TypePointer Uniform 15($Global) 18: TypeVector 16(int) 3
17: 16(ptr) Variable Uniform 19: TypeVector 16(int) 4
18: 11(int) Constant 1 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
19: TypePointer Uniform 12(ivec2) 21: TypePointer Uniform 20($Global)
22: TypeVector 6(float) 4 22: 21(ptr) Variable Uniform
24: TypeImage 11(int) 1D array nonsampled format:Rgba32i 23: 16(int) Constant 1
25: TypePointer UniformConstant 24 24: TypePointer Uniform 17(ivec2)
26(g_tTex1di4a): 25(ptr) Variable UniformConstant 28: TypeImage 16(int) 1D array nonsampled format:Rgba32i
31: TypeInt 32 0 29: TypePointer UniformConstant 28
32: TypeImage 31(int) 1D array nonsampled format:Rgba32ui 30(g_tTex1di4a): 29(ptr) Variable UniformConstant
33: TypePointer UniformConstant 32 35: TypeInt 32 0
34(g_tTex1du4a): 33(ptr) Variable UniformConstant 36: TypeImage 35(int) 1D array nonsampled format:Rgba32ui
38: TypeVector 31(int) 4 37: TypePointer UniformConstant 36
40: TypeImage 6(float) 2D array nonsampled format:Rgba32f 38(g_tTex1du4a): 37(ptr) Variable UniformConstant
41: TypePointer UniformConstant 40 42: TypeVector 35(int) 4
42(g_tTex2df4a): 41(ptr) Variable UniformConstant 44: TypeImage 6(float) 2D array nonsampled format:Rgba32f
44: 11(int) Constant 2 45: TypePointer UniformConstant 44
45: TypePointer Uniform 13(ivec3) 46(g_tTex2df4a): 45(ptr) Variable UniformConstant
49: TypeImage 11(int) 2D array nonsampled format:Rgba32i 48: 16(int) Constant 2
50: TypePointer UniformConstant 49 49: TypePointer Uniform 18(ivec3)
51(g_tTex2di4a): 50(ptr) Variable UniformConstant 53: TypeImage 16(int) 2D array nonsampled format:Rgba32i
56: TypeImage 31(int) 2D array nonsampled format:Rgba32ui 54: TypePointer UniformConstant 53
57: TypePointer UniformConstant 56 55(g_tTex2di4a): 54(ptr) Variable UniformConstant
58(g_tTex2du4a): 57(ptr) Variable UniformConstant 60: TypeImage 35(int) 2D array nonsampled format:Rgba32ui
63(PS_OUTPUT): TypeStruct 22(fvec4) 6(float) 61: TypePointer UniformConstant 60
64: TypePointer Function 63(PS_OUTPUT) 62(g_tTex2du4a): 61(ptr) Variable UniformConstant
66: 11(int) Constant 0 67: TypePointer Function 8(PS_OUTPUT)
67: 6(float) Constant 1065353216 69: 16(int) Constant 0
68: 22(fvec4) ConstantComposite 67 67 67 67 70: 6(float) Constant 1065353216
69: TypePointer Function 22(fvec4) 71: 7(fvec4) ConstantComposite 70 70 70 70
71: TypePointer Function 6(float) 72: TypePointer Function 7(fvec4)
73: TypePointer Output 22(fvec4) 74: TypePointer Function 6(float)
74(Color): 73(ptr) Variable Output 81: TypePointer Output 7(fvec4)
77: TypePointer Output 6(float) 82(Color): 81(ptr) Variable Output
78(Depth): 77(ptr) Variable Output 85: TypePointer Output 6(float)
82: TypeSampler 86(Depth): 85(ptr) Variable Output
83: TypePointer UniformConstant 82 89: TypeSampler
84(g_sSamp): 83(ptr) Variable UniformConstant 90: TypePointer UniformConstant 89
85: TypeImage 6(float) 1D nonsampled format:Rgba32f 91(g_sSamp): 90(ptr) Variable UniformConstant
86: TypePointer UniformConstant 85 92: TypeImage 6(float) 1D nonsampled format:Rgba32f
87(g_tTex1df4): 86(ptr) Variable UniformConstant 93: TypePointer UniformConstant 92
88: TypeImage 11(int) 1D nonsampled format:Rgba32i 94(g_tTex1df4): 93(ptr) Variable UniformConstant
89: TypePointer UniformConstant 88 95: TypeImage 16(int) 1D nonsampled format:Rgba32i
90(g_tTex1di4): 89(ptr) Variable UniformConstant 96: TypePointer UniformConstant 95
91: TypeImage 31(int) 1D nonsampled format:Rgba32ui 97(g_tTex1di4): 96(ptr) Variable UniformConstant
92: TypePointer UniformConstant 91 98: TypeImage 35(int) 1D nonsampled format:Rgba32ui
93(g_tTex1du4): 92(ptr) Variable UniformConstant 99: TypePointer UniformConstant 98
94: TypeImage 6(float) 2D nonsampled format:Rgba32f 100(g_tTex1du4): 99(ptr) Variable UniformConstant
95: TypePointer UniformConstant 94 101: TypeImage 6(float) 2D nonsampled format:Rgba32f
96(g_tTex2df4): 95(ptr) Variable UniformConstant 102: TypePointer UniformConstant 101
97: TypeImage 11(int) 2D nonsampled format:Rgba32i 103(g_tTex2df4): 102(ptr) Variable UniformConstant
98: TypePointer UniformConstant 97 104: TypeImage 16(int) 2D nonsampled format:Rgba32i
99(g_tTex2di4): 98(ptr) Variable UniformConstant 105: TypePointer UniformConstant 104
100: TypeImage 31(int) 2D nonsampled format:Rgba32ui 106(g_tTex2di4): 105(ptr) Variable UniformConstant
101: TypePointer UniformConstant 100 107: TypeImage 35(int) 2D nonsampled format:Rgba32ui
102(g_tTex2du4): 101(ptr) Variable UniformConstant 108: TypePointer UniformConstant 107
103: TypeImage 6(float) 3D nonsampled format:Rgba32f 109(g_tTex2du4): 108(ptr) Variable UniformConstant
104: TypePointer UniformConstant 103 110: TypeImage 6(float) 3D nonsampled format:Rgba32f
105(g_tTex3df4): 104(ptr) Variable UniformConstant 111: TypePointer UniformConstant 110
106: TypeImage 11(int) 3D nonsampled format:Rgba32i 112(g_tTex3df4): 111(ptr) Variable UniformConstant
107: TypePointer UniformConstant 106 113: TypeImage 16(int) 3D nonsampled format:Rgba32i
108(g_tTex3di4): 107(ptr) Variable UniformConstant 114: TypePointer UniformConstant 113
109: TypeImage 31(int) 3D nonsampled format:Rgba32ui 115(g_tTex3di4): 114(ptr) Variable UniformConstant
110: TypePointer UniformConstant 109 116: TypeImage 35(int) 3D nonsampled format:Rgba32ui
111(g_tTex3du4): 110(ptr) Variable UniformConstant 117: TypePointer UniformConstant 116
118(g_tTex3du4): 117(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
65(psout): 64(ptr) Variable Function 79(flattenTemp): 67(ptr) Variable Function
10: 7 Load 9(g_tTex1df4a) 80:8(PS_OUTPUT) FunctionCall 10(@main()
20: 19(ptr) AccessChain 17 18 Store 79(flattenTemp) 80
21: 12(ivec2) Load 20 83: 72(ptr) AccessChain 79(flattenTemp) 69
23: 22(fvec4) ImageRead 10 21 84: 7(fvec4) Load 83
27: 24 Load 26(g_tTex1di4a) Store 82(Color) 84
28: 19(ptr) AccessChain 17 18 87: 74(ptr) AccessChain 79(flattenTemp) 23
29: 12(ivec2) Load 28 88: 6(float) Load 87
30: 14(ivec4) ImageRead 27 29 Store 86(Depth) 88
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:40 Function Parameters:
0:? Sequence 0:? Sequence
0:44 imageLoad (temp 4-component vector of float) 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 1 (const int)
0:59 Constant: 0:59 Constant:
0:59 1.000000 0:59 1.000000
0:61 Sequence 0:61 Branch: Return with expression
0:61 Sequence 0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:61 move second child to first child (temp 4-component vector of float) 0:40 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:40 Function Parameters:
0:61 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:40 Sequence
0:61 Constant: 0:40 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:61 0 (const int) 0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:61 move second child to first child (temp float) 0:40 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:40 move second child to first child (temp 4-component vector of float)
0:61 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:40 Color: direct index for structure (temp 4-component vector of float)
0:61 Constant: 0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:61 1 (const int) 0:40 Constant:
0:61 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) 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_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:40 Function Parameters:
0:? Sequence 0:? Sequence
0:44 imageLoad (temp 4-component vector of float) 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 1 (const int)
0:59 Constant: 0:59 Constant:
0:59 1.000000 0:59 1.000000
0:61 Sequence 0:61 Branch: Return with expression
0:61 Sequence 0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:61 move second child to first child (temp 4-component vector of float) 0:40 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:40 Function Parameters:
0:61 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:40 Sequence
0:61 Constant: 0:40 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:61 0 (const int) 0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:61 move second child to first child (temp float) 0:40 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:40 move second child to first child (temp 4-component vector of float)
0:61 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:40 Color: direct index for structure (temp 4-component vector of float)
0:61 Constant: 0:40 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:61 1 (const int) 0:40 Constant:
0:61 Branch: Return 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:? 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_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) 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_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 125 // Id's are bound by 132
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 96 100 EntryPoint Fragment 4 "main" 104 108
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "g_tTex1df4" Name 8 "PS_OUTPUT"
Name 15 "$Global" MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 15($Global) 0 "c1" MemberName 8(PS_OUTPUT) 1 "Depth"
MemberName 15($Global) 1 "c2" Name 10 "@main("
MemberName 15($Global) 2 "c3" Name 14 "g_tTex1df4"
MemberName 15($Global) 3 "c4" Name 20 "$Global"
MemberName 15($Global) 4 "o1" MemberName 20($Global) 0 "c1"
MemberName 15($Global) 5 "o2" MemberName 20($Global) 1 "c2"
MemberName 15($Global) 6 "o3" MemberName 20($Global) 2 "c3"
MemberName 15($Global) 7 "o4" MemberName 20($Global) 3 "c4"
Name 17 "" MemberName 20($Global) 4 "o1"
Name 26 "g_tTex1di4" MemberName 20($Global) 5 "o2"
Name 34 "g_tTex1du4" MemberName 20($Global) 6 "o3"
Name 42 "g_tTex2df4" MemberName 20($Global) 7 "o4"
Name 51 "g_tTex2di4" Name 22 ""
Name 58 "g_tTex2du4" Name 30 "g_tTex1di4"
Name 65 "g_tTex3df4" Name 38 "g_tTex1du4"
Name 74 "g_tTex3di4" Name 46 "g_tTex2df4"
Name 81 "g_tTex3du4" Name 55 "g_tTex2di4"
Name 86 "PS_OUTPUT" Name 62 "g_tTex2du4"
MemberName 86(PS_OUTPUT) 0 "Color" Name 69 "g_tTex3df4"
MemberName 86(PS_OUTPUT) 1 "Depth" Name 78 "g_tTex3di4"
Name 88 "psout" Name 85 "g_tTex3du4"
Name 96 "Color" Name 91 "psout"
Name 100 "Depth" Name 101 "flattenTemp"
Name 106 "g_sSamp" Name 104 "Color"
Name 109 "g_tTex1df4a" Name 108 "Depth"
Name 112 "g_tTex1di4a" Name 113 "g_sSamp"
Name 115 "g_tTex1du4a" Name 116 "g_tTex1df4a"
Name 118 "g_tTex2df4a" Name 119 "g_tTex1di4a"
Name 121 "g_tTex2di4a" Name 122 "g_tTex1du4a"
Name 124 "g_tTex2du4a" Name 125 "g_tTex2df4a"
Decorate 9(g_tTex1df4) DescriptorSet 0 Name 128 "g_tTex2di4a"
Decorate 9(g_tTex1df4) Binding 0 Name 131 "g_tTex2du4a"
MemberDecorate 15($Global) 0 Offset 0 Decorate 14(g_tTex1df4) DescriptorSet 0
MemberDecorate 15($Global) 1 Offset 8 Decorate 14(g_tTex1df4) Binding 0
MemberDecorate 15($Global) 2 Offset 16 MemberDecorate 20($Global) 0 Offset 0
MemberDecorate 15($Global) 3 Offset 32 MemberDecorate 20($Global) 1 Offset 8
MemberDecorate 15($Global) 4 Offset 48 MemberDecorate 20($Global) 2 Offset 16
MemberDecorate 15($Global) 5 Offset 56 MemberDecorate 20($Global) 3 Offset 32
MemberDecorate 15($Global) 6 Offset 64 MemberDecorate 20($Global) 4 Offset 48
MemberDecorate 15($Global) 7 Offset 80 MemberDecorate 20($Global) 5 Offset 56
Decorate 15($Global) Block MemberDecorate 20($Global) 6 Offset 64
Decorate 17 DescriptorSet 0 MemberDecorate 20($Global) 7 Offset 80
Decorate 26(g_tTex1di4) DescriptorSet 0 Decorate 20($Global) Block
Decorate 34(g_tTex1du4) DescriptorSet 0 Decorate 22 DescriptorSet 0
Decorate 42(g_tTex2df4) DescriptorSet 0 Decorate 30(g_tTex1di4) DescriptorSet 0
Decorate 51(g_tTex2di4) DescriptorSet 0 Decorate 38(g_tTex1du4) DescriptorSet 0
Decorate 58(g_tTex2du4) DescriptorSet 0 Decorate 46(g_tTex2df4) DescriptorSet 0
Decorate 65(g_tTex3df4) DescriptorSet 0 Decorate 55(g_tTex2di4) DescriptorSet 0
Decorate 74(g_tTex3di4) DescriptorSet 0 Decorate 62(g_tTex2du4) DescriptorSet 0
Decorate 81(g_tTex3du4) DescriptorSet 0 Decorate 69(g_tTex3df4) DescriptorSet 0
Decorate 96(Color) Location 0 Decorate 78(g_tTex3di4) DescriptorSet 0
Decorate 100(Depth) BuiltIn FragDepth Decorate 85(g_tTex3du4) DescriptorSet 0
Decorate 106(g_sSamp) DescriptorSet 0 Decorate 104(Color) Location 0
Decorate 106(g_sSamp) Binding 0 Decorate 108(Depth) BuiltIn FragDepth
Decorate 109(g_tTex1df4a) DescriptorSet 0 Decorate 113(g_sSamp) DescriptorSet 0
Decorate 112(g_tTex1di4a) DescriptorSet 0 Decorate 113(g_sSamp) Binding 0
Decorate 115(g_tTex1du4a) DescriptorSet 0 Decorate 116(g_tTex1df4a) DescriptorSet 0
Decorate 118(g_tTex2df4a) DescriptorSet 0 Decorate 119(g_tTex1di4a) DescriptorSet 0
Decorate 121(g_tTex2di4a) DescriptorSet 0 Decorate 122(g_tTex1du4a) DescriptorSet 0
Decorate 124(g_tTex2du4a) DescriptorSet 0 Decorate 125(g_tTex2df4a) DescriptorSet 0
Decorate 128(g_tTex2di4a) DescriptorSet 0
Decorate 131(g_tTex2du4a) DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeImage 6(float) 1D nonsampled format:Rgba32f 7: TypeVector 6(float) 4
8: TypePointer UniformConstant 7 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9(g_tTex1df4): 8(ptr) Variable UniformConstant 9: TypeFunction 8(PS_OUTPUT)
11: TypeInt 32 1 12: TypeImage 6(float) 1D nonsampled format:Rgba32f
12: TypeVector 11(int) 2 13: TypePointer UniformConstant 12
13: TypeVector 11(int) 3 14(g_tTex1df4): 13(ptr) Variable UniformConstant
14: TypeVector 11(int) 4 16: TypeInt 32 1
15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 17: TypeVector 16(int) 2
16: TypePointer Uniform 15($Global) 18: TypeVector 16(int) 3
17: 16(ptr) Variable Uniform 19: TypeVector 16(int) 4
18: 11(int) Constant 0 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4)
19: TypePointer Uniform 11(int) 21: TypePointer Uniform 20($Global)
22: TypeVector 6(float) 4 22: 21(ptr) Variable Uniform
24: TypeImage 11(int) 1D nonsampled format:Rgba32i 23: 16(int) Constant 0
25: TypePointer UniformConstant 24 24: TypePointer Uniform 16(int)
26(g_tTex1di4): 25(ptr) Variable UniformConstant 28: TypeImage 16(int) 1D nonsampled format:Rgba32i
31: TypeInt 32 0 29: TypePointer UniformConstant 28
32: TypeImage 31(int) 1D nonsampled format:Rgba32ui 30(g_tTex1di4): 29(ptr) Variable UniformConstant
33: TypePointer UniformConstant 32 35: TypeInt 32 0
34(g_tTex1du4): 33(ptr) Variable UniformConstant 36: TypeImage 35(int) 1D nonsampled format:Rgba32ui
38: TypeVector 31(int) 4 37: TypePointer UniformConstant 36
40: TypeImage 6(float) 2D nonsampled format:Rgba32f 38(g_tTex1du4): 37(ptr) Variable UniformConstant
41: TypePointer UniformConstant 40 42: TypeVector 35(int) 4
42(g_tTex2df4): 41(ptr) Variable UniformConstant 44: TypeImage 6(float) 2D nonsampled format:Rgba32f
44: 11(int) Constant 1 45: TypePointer UniformConstant 44
45: TypePointer Uniform 12(ivec2) 46(g_tTex2df4): 45(ptr) Variable UniformConstant
49: TypeImage 11(int) 2D nonsampled format:Rgba32i 48: 16(int) Constant 1
50: TypePointer UniformConstant 49 49: TypePointer Uniform 17(ivec2)
51(g_tTex2di4): 50(ptr) Variable UniformConstant 53: TypeImage 16(int) 2D nonsampled format:Rgba32i
56: TypeImage 31(int) 2D nonsampled format:Rgba32ui 54: TypePointer UniformConstant 53
57: TypePointer UniformConstant 56 55(g_tTex2di4): 54(ptr) Variable UniformConstant
58(g_tTex2du4): 57(ptr) Variable UniformConstant 60: TypeImage 35(int) 2D nonsampled format:Rgba32ui
63: TypeImage 6(float) 3D nonsampled format:Rgba32f 61: TypePointer UniformConstant 60
64: TypePointer UniformConstant 63 62(g_tTex2du4): 61(ptr) Variable UniformConstant
65(g_tTex3df4): 64(ptr) Variable UniformConstant 67: TypeImage 6(float) 3D nonsampled format:Rgba32f
67: 11(int) Constant 2 68: TypePointer UniformConstant 67
68: TypePointer Uniform 13(ivec3) 69(g_tTex3df4): 68(ptr) Variable UniformConstant
72: TypeImage 11(int) 3D nonsampled format:Rgba32i 71: 16(int) Constant 2
73: TypePointer UniformConstant 72 72: TypePointer Uniform 18(ivec3)
74(g_tTex3di4): 73(ptr) Variable UniformConstant 76: TypeImage 16(int) 3D nonsampled format:Rgba32i
79: TypeImage 31(int) 3D nonsampled format:Rgba32ui 77: TypePointer UniformConstant 76
80: TypePointer UniformConstant 79 78(g_tTex3di4): 77(ptr) Variable UniformConstant
81(g_tTex3du4): 80(ptr) Variable UniformConstant 83: TypeImage 35(int) 3D nonsampled format:Rgba32ui
86(PS_OUTPUT): TypeStruct 22(fvec4) 6(float) 84: TypePointer UniformConstant 83
87: TypePointer Function 86(PS_OUTPUT) 85(g_tTex3du4): 84(ptr) Variable UniformConstant
89: 6(float) Constant 1065353216 90: TypePointer Function 8(PS_OUTPUT)
90: 22(fvec4) ConstantComposite 89 89 89 89 92: 6(float) Constant 1065353216
91: TypePointer Function 22(fvec4) 93: 7(fvec4) ConstantComposite 92 92 92 92
93: TypePointer Function 6(float) 94: TypePointer Function 7(fvec4)
95: TypePointer Output 22(fvec4) 96: TypePointer Function 6(float)
96(Color): 95(ptr) Variable Output 103: TypePointer Output 7(fvec4)
99: TypePointer Output 6(float) 104(Color): 103(ptr) Variable Output
100(Depth): 99(ptr) Variable Output 107: TypePointer Output 6(float)
104: TypeSampler 108(Depth): 107(ptr) Variable Output
105: TypePointer UniformConstant 104 111: TypeSampler
106(g_sSamp): 105(ptr) Variable UniformConstant 112: TypePointer UniformConstant 111
107: TypeImage 6(float) 1D array nonsampled format:Rgba32f 113(g_sSamp): 112(ptr) Variable UniformConstant
108: TypePointer UniformConstant 107 114: TypeImage 6(float) 1D array nonsampled format:Rgba32f
109(g_tTex1df4a): 108(ptr) Variable UniformConstant 115: TypePointer UniformConstant 114
110: TypeImage 11(int) 1D array nonsampled format:Rgba32i 116(g_tTex1df4a): 115(ptr) Variable UniformConstant
111: TypePointer UniformConstant 110 117: TypeImage 16(int) 1D array nonsampled format:Rgba32i
112(g_tTex1di4a): 111(ptr) Variable UniformConstant 118: TypePointer UniformConstant 117
113: TypeImage 31(int) 1D array nonsampled format:Rgba32ui 119(g_tTex1di4a): 118(ptr) Variable UniformConstant
114: TypePointer UniformConstant 113 120: TypeImage 35(int) 1D array nonsampled format:Rgba32ui
115(g_tTex1du4a): 114(ptr) Variable UniformConstant 121: TypePointer UniformConstant 120
116: TypeImage 6(float) 2D array nonsampled format:Rgba32f 122(g_tTex1du4a): 121(ptr) Variable UniformConstant
117: TypePointer UniformConstant 116 123: TypeImage 6(float) 2D array nonsampled format:Rgba32f
118(g_tTex2df4a): 117(ptr) Variable UniformConstant 124: TypePointer UniformConstant 123
119: TypeImage 11(int) 2D array nonsampled format:Rgba32i 125(g_tTex2df4a): 124(ptr) Variable UniformConstant
120: TypePointer UniformConstant 119 126: TypeImage 16(int) 2D array nonsampled format:Rgba32i
121(g_tTex2di4a): 120(ptr) Variable UniformConstant 127: TypePointer UniformConstant 126
122: TypeImage 31(int) 2D array nonsampled format:Rgba32ui 128(g_tTex2di4a): 127(ptr) Variable UniformConstant
123: TypePointer UniformConstant 122 129: TypeImage 35(int) 2D array nonsampled format:Rgba32ui
124(g_tTex2du4a): 123(ptr) Variable UniformConstant 130: TypePointer UniformConstant 129
131(g_tTex2du4a): 130(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
88(psout): 87(ptr) Variable Function 101(flattenTemp): 90(ptr) Variable Function
10: 7 Load 9(g_tTex1df4) 102:8(PS_OUTPUT) FunctionCall 10(@main()
20: 19(ptr) AccessChain 17 18 Store 101(flattenTemp) 102
21: 11(int) Load 20 105: 94(ptr) AccessChain 101(flattenTemp) 23
23: 22(fvec4) ImageRead 10 21 106: 7(fvec4) Load 105
27: 24 Load 26(g_tTex1di4) Store 104(Color) 106
28: 19(ptr) AccessChain 17 18 109: 96(ptr) AccessChain 101(flattenTemp) 48
29: 11(int) Load 28 110: 6(float) Load 109
30: 14(ivec4) ImageRead 27 29 Store 108(Depth) 110
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:12 Function Parameters:
0:? Sequence 0:? Sequence
0:13 Test condition and select (temp void) 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:17 1.000000
0:17 1.000000 0:17 1.000000
0:18 Sequence 0:18 Branch: Return with expression
0:18 Sequence 0:18 'psout' (temp structure{temp 4-component vector of float Color})
0:18 move second child to first child (temp 4-component vector of float) 0:12 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:12 Function Parameters:
0:18 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:18 'psout' (temp structure{temp 4-component vector of float Color}) 0:12 Sequence
0:18 Constant: 0:12 move second child to first child (temp 4-component vector of float)
0:18 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:18 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:12 Function Parameters:
0:? Sequence 0:? Sequence
0:13 Test condition and select (temp void) 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:17 1.000000
0:17 1.000000 0:17 1.000000
0:18 Sequence 0:18 Branch: Return with expression
0:18 Sequence 0:18 'psout' (temp structure{temp 4-component vector of float Color})
0:18 move second child to first child (temp 4-component vector of float) 0:12 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:12 Function Parameters:
0:18 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:18 'psout' (temp structure{temp 4-component vector of float Color}) 0:12 Sequence
0:18 Constant: 0:12 move second child to first child (temp 4-component vector of float)
0:18 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:18 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 57 // Id's are bound by 62
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 53 EntryPoint Fragment 4 "main" 59
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 11 "$Global" Name 8 "PS_OUTPUT"
MemberName 11($Global) 0 "ival" MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 11($Global) 1 "ival4" Name 10 "@main("
MemberName 11($Global) 2 "fval" Name 15 "$Global"
MemberName 11($Global) 3 "fval4" MemberName 15($Global) 0 "ival"
Name 13 "" MemberName 15($Global) 1 "ival4"
Name 45 "PS_OUTPUT" MemberName 15($Global) 2 "fval"
MemberName 45(PS_OUTPUT) 0 "Color" MemberName 15($Global) 3 "fval4"
Name 47 "psout" Name 17 ""
Name 53 "Color" Name 50 "psout"
MemberDecorate 11($Global) 0 Offset 0 Name 59 "Color"
MemberDecorate 11($Global) 1 Offset 16 MemberDecorate 15($Global) 0 Offset 0
MemberDecorate 11($Global) 2 Offset 32 MemberDecorate 15($Global) 1 Offset 16
MemberDecorate 11($Global) 3 Offset 48 MemberDecorate 15($Global) 2 Offset 32
Decorate 11($Global) Block MemberDecorate 15($Global) 3 Offset 48
Decorate 13 DescriptorSet 0 Decorate 15($Global) Block
Decorate 53(Color) Location 0 Decorate 17 DescriptorSet 0
Decorate 59(Color) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeBool 6: TypeFloat 32
7: TypeInt 32 1 7: TypeVector 6(float) 4
8: TypeVector 7(int) 4 8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFloat 32 9: TypeFunction 8(PS_OUTPUT)
10: TypeVector 9(float) 4 12: TypeBool
11($Global): TypeStruct 7(int) 8(ivec4) 9(float) 10(fvec4) 13: TypeInt 32 1
12: TypePointer Uniform 11($Global) 14: TypeVector 13(int) 4
13: 12(ptr) Variable Uniform 15($Global): TypeStruct 13(int) 14(ivec4) 6(float) 7(fvec4)
14: 7(int) Constant 0 16: TypePointer Uniform 15($Global)
15: TypePointer Uniform 7(int) 17: 16(ptr) Variable Uniform
18: TypeInt 32 0 18: 13(int) Constant 0
19: 18(int) Constant 0 19: TypePointer Uniform 13(int)
23: 7(int) Constant 2 22: TypeInt 32 0
24: TypePointer Uniform 9(float) 23: 22(int) Constant 0
45(PS_OUTPUT): TypeStruct 10(fvec4) 27: 13(int) Constant 2
46: TypePointer Function 45(PS_OUTPUT) 28: TypePointer Uniform 6(float)
48: 9(float) Constant 1065353216 49: TypePointer Function 8(PS_OUTPUT)
49: 10(fvec4) ConstantComposite 48 48 48 48 51: 6(float) Constant 1065353216
50: TypePointer Function 10(fvec4) 52: 7(fvec4) ConstantComposite 51 51 51 51
52: TypePointer Output 10(fvec4) 53: TypePointer Function 7(fvec4)
53(Color): 52(ptr) Variable Output 58: TypePointer Output 7(fvec4)
59(Color): 58(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
47(psout): 46(ptr) Variable Function 60:8(PS_OUTPUT) FunctionCall 10(@main()
16: 15(ptr) AccessChain 13 14 61: 7(fvec4) CompositeExtract 60 0
17: 7(int) Load 16 Store 59(Color) 61
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:10 Function Parameters:
0:? Sequence 0:? Sequence
0:11 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 'r11' (temp 4-component vector of bool)
0:22 'r20' (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:22 'r21' (temp 4-component vector of bool)
0:23 Sequence 0:23 Branch: Return with expression
0:23 Sequence 0:23 'psout' (temp structure{temp 4-component vector of float Color})
0:23 move second child to first child (temp 4-component vector of float) 0:10 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:10 Function Parameters:
0:23 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:23 'psout' (temp structure{temp 4-component vector of float Color}) 0:10 Sequence
0:23 Constant: 0:10 move second child to first child (temp 4-component vector of float)
0:23 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:23 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:10 Function Parameters:
0:? Sequence 0:? Sequence
0:11 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 'r11' (temp 4-component vector of bool)
0:22 'r20' (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:22 'r21' (temp 4-component vector of bool)
0:23 Sequence 0:23 Branch: Return with expression
0:23 Sequence 0:23 'psout' (temp structure{temp 4-component vector of float Color})
0:23 move second child to first child (temp 4-component vector of float) 0:10 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:10 Function Parameters:
0:23 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:23 'psout' (temp structure{temp 4-component vector of float Color}) 0:10 Sequence
0:23 Constant: 0:10 move second child to first child (temp 4-component vector of float)
0:23 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:23 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 115 // Id's are bound by 120
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 111 EntryPoint Fragment 4 "main" 117
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "r00" Name 8 "PS_OUTPUT"
Name 12 "$Global" MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 12($Global) 0 "b4a" Name 10 "@main("
MemberName 12($Global) 1 "b4b" Name 15 "r00"
MemberName 12($Global) 2 "b1a" Name 18 "$Global"
MemberName 12($Global) 3 "b1b" MemberName 18($Global) 0 "b4a"
Name 14 "" MemberName 18($Global) 1 "b4b"
Name 24 "r01" MemberName 18($Global) 2 "b1a"
Name 33 "r02" MemberName 18($Global) 3 "b1b"
Name 41 "r10" Name 20 ""
Name 52 "r11" Name 30 "r01"
Name 61 "r20" Name 39 "r02"
Name 73 "r21" Name 47 "r10"
Name 87 "PS_OUTPUT" Name 58 "r11"
MemberName 87(PS_OUTPUT) 0 "Color" Name 67 "r20"
Name 89 "psout" Name 79 "r21"
Name 111 "Color" Name 92 "psout"
MemberDecorate 12($Global) 0 Offset 0 Name 117 "Color"
MemberDecorate 12($Global) 1 Offset 16 MemberDecorate 18($Global) 0 Offset 0
MemberDecorate 12($Global) 2 Offset 32 MemberDecorate 18($Global) 1 Offset 16
MemberDecorate 12($Global) 3 Offset 36 MemberDecorate 18($Global) 2 Offset 32
Decorate 12($Global) Block MemberDecorate 18($Global) 3 Offset 36
Decorate 14 DescriptorSet 0 Decorate 18($Global) Block
Decorate 111(Color) Location 0 Decorate 20 DescriptorSet 0
Decorate 117(Color) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeBool 6: TypeFloat 32
7: TypeVector 6(bool) 4 7: TypeVector 6(float) 4
8: TypePointer Function 7(bvec4) 8(PS_OUTPUT): TypeStruct 7(fvec4)
10: TypeInt 32 0 9: TypeFunction 8(PS_OUTPUT)
11: TypeVector 10(int) 4 12: TypeBool
12($Global): TypeStruct 11(ivec4) 11(ivec4) 10(int) 10(int) 13: TypeVector 12(bool) 4
13: TypePointer Uniform 12($Global) 14: TypePointer Function 13(bvec4)
14: 13(ptr) Variable Uniform 16: TypeInt 32 0
15: TypeInt 32 1 17: TypeVector 16(int) 4
16: 15(int) Constant 0 18($Global): TypeStruct 17(ivec4) 17(ivec4) 16(int) 16(int)
17: TypePointer Uniform 11(ivec4) 19: TypePointer Uniform 18($Global)
20: 10(int) Constant 0 20: 19(ptr) Variable Uniform
21: 11(ivec4) ConstantComposite 20 20 20 20 21: TypeInt 32 1
28: 15(int) Constant 1 22: 21(int) Constant 0
42: 15(int) Constant 2 23: TypePointer Uniform 17(ivec4)
43: TypePointer Uniform 10(int) 26: 16(int) Constant 0
67: 15(int) Constant 3 27: 17(ivec4) ConstantComposite 26 26 26 26
85: TypeFloat 32 34: 21(int) Constant 1
86: TypeVector 85(float) 4 48: 21(int) Constant 2
87(PS_OUTPUT): TypeStruct 86(fvec4) 49: TypePointer Uniform 16(int)
88: TypePointer Function 87(PS_OUTPUT) 73: 21(int) Constant 3
103: 85(float) Constant 0 91: TypePointer Function 8(PS_OUTPUT)
104: 85(float) Constant 1065353216 106: 6(float) Constant 0
105: 86(fvec4) ConstantComposite 103 103 103 103 107: 6(float) Constant 1065353216
106: 86(fvec4) ConstantComposite 104 104 104 104 108: 7(fvec4) ConstantComposite 106 106 106 106
108: TypePointer Function 86(fvec4) 109: 7(fvec4) ConstantComposite 107 107 107 107
110: TypePointer Output 86(fvec4) 111: TypePointer Function 7(fvec4)
111(Color): 110(ptr) Variable Output 116: TypePointer Output 7(fvec4)
117(Color): 116(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(r00): 8(ptr) Variable Function 118:8(PS_OUTPUT) FunctionCall 10(@main()
24(r01): 8(ptr) Variable Function 119: 7(fvec4) CompositeExtract 118 0
33(r02): 8(ptr) Variable Function Store 117(Color) 119
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:12 Function Parameters:
0:? Sequence 0:? Sequence
0:13 Negate conditional (temp bool) 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:25 1.000000
0:25 1.000000 0:25 1.000000
0:26 Sequence 0:26 Branch: Return with expression
0:26 Sequence 0:26 'psout' (temp structure{temp 4-component vector of float Color})
0:26 move second child to first child (temp 4-component vector of float) 0:12 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:12 Function Parameters:
0:26 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:26 'psout' (temp structure{temp 4-component vector of float Color}) 0:12 Sequence
0:26 Constant: 0:12 move second child to first child (temp 4-component vector of float)
0:26 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:26 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:12 Function Parameters:
0:? Sequence 0:? Sequence
0:13 Negate conditional (temp bool) 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:25 1.000000
0:25 1.000000 0:25 1.000000
0:26 Sequence 0:26 Branch: Return with expression
0:26 Sequence 0:26 'psout' (temp structure{temp 4-component vector of float Color})
0:26 move second child to first child (temp 4-component vector of float) 0:12 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:12 Function Parameters:
0:26 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:26 'psout' (temp structure{temp 4-component vector of float Color}) 0:12 Sequence
0:26 Constant: 0:12 move second child to first child (temp 4-component vector of float)
0:26 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:26 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 77 // Id's are bound by 82
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 73 EntryPoint Fragment 4 "main" 79
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 10 "$Global" Name 8 "PS_OUTPUT"
MemberName 10($Global) 0 "ival" MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 10($Global) 1 "ival4" Name 10 "@main("
MemberName 10($Global) 2 "fval" Name 14 "$Global"
MemberName 10($Global) 3 "fval4" MemberName 14($Global) 0 "ival"
Name 12 "" MemberName 14($Global) 1 "ival4"
Name 65 "PS_OUTPUT" MemberName 14($Global) 2 "fval"
MemberName 65(PS_OUTPUT) 0 "Color" MemberName 14($Global) 3 "fval4"
Name 67 "psout" Name 16 ""
Name 73 "Color" Name 70 "psout"
MemberDecorate 10($Global) 0 Offset 0 Name 79 "Color"
MemberDecorate 10($Global) 1 Offset 16 MemberDecorate 14($Global) 0 Offset 0
MemberDecorate 10($Global) 2 Offset 32 MemberDecorate 14($Global) 1 Offset 16
MemberDecorate 10($Global) 3 Offset 48 MemberDecorate 14($Global) 2 Offset 32
Decorate 10($Global) Block MemberDecorate 14($Global) 3 Offset 48
Decorate 12 DescriptorSet 0 Decorate 14($Global) Block
Decorate 73(Color) Location 0 Decorate 16 DescriptorSet 0
Decorate 79(Color) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 1 6: TypeFloat 32
7: TypeVector 6(int) 4 7: TypeVector 6(float) 4
8: TypeFloat 32 8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeVector 8(float) 4 9: TypeFunction 8(PS_OUTPUT)
10($Global): TypeStruct 6(int) 7(ivec4) 8(float) 9(fvec4) 12: TypeInt 32 1
11: TypePointer Uniform 10($Global) 13: TypeVector 12(int) 4
12: 11(ptr) Variable Uniform 14($Global): TypeStruct 12(int) 13(ivec4) 6(float) 7(fvec4)
13: 6(int) Constant 0 15: TypePointer Uniform 14($Global)
14: TypePointer Uniform 6(int) 16: 15(ptr) Variable Uniform
17: TypeBool 17: 12(int) Constant 0
18: TypeInt 32 0 18: TypePointer Uniform 12(int)
19: 18(int) Constant 0 21: TypeBool
22: 6(int) Constant 1 22: TypeInt 32 0
23: TypePointer Uniform 7(ivec4) 23: 22(int) Constant 0
26: TypeVector 17(bool) 4 26: 12(int) Constant 1
27: TypeVector 18(int) 4 27: TypePointer Uniform 13(ivec4)
28: 27(ivec4) ConstantComposite 19 19 19 19 30: TypeVector 21(bool) 4
31: 6(int) Constant 2 31: TypeVector 22(int) 4
32: TypePointer Uniform 8(float) 32: 31(ivec4) ConstantComposite 23 23 23 23
35: 8(float) Constant 0 35: 12(int) Constant 2
38: 6(int) Constant 3 36: TypePointer Uniform 6(float)
39: TypePointer Uniform 9(fvec4) 39: 6(float) Constant 0
42: 9(fvec4) ConstantComposite 35 35 35 35 42: 12(int) Constant 3
65(PS_OUTPUT): TypeStruct 9(fvec4) 43: TypePointer Uniform 7(fvec4)
66: TypePointer Function 65(PS_OUTPUT) 46: 7(fvec4) ConstantComposite 39 39 39 39
68: 8(float) Constant 1065353216 69: TypePointer Function 8(PS_OUTPUT)
69: 9(fvec4) ConstantComposite 68 68 68 68 71: 6(float) Constant 1065353216
70: TypePointer Function 9(fvec4) 72: 7(fvec4) ConstantComposite 71 71 71 71
72: TypePointer Output 9(fvec4) 73: TypePointer Function 7(fvec4)
73(Color): 72(ptr) Variable Output 78: TypePointer Output 7(fvec4)
79(Color): 78(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
67(psout): 66(ptr) Variable Function 80:8(PS_OUTPUT) FunctionCall 10(@main()
15: 14(ptr) AccessChain 12 13 81: 7(fvec4) CompositeExtract 80 0
16: 6(int) Load 15 Store 79(Color) 81
20: 17(bool) INotEqual 16 19 Return
21: 17(bool) LogicalNot 20 FunctionEnd
24: 23(ptr) AccessChain 12 22 10(@main():8(PS_OUTPUT) Function None 9
25: 7(ivec4) Load 24 11: Label
29: 26(bvec4) INotEqual 25 28 70(psout): 69(ptr) Variable Function
30: 26(bvec4) LogicalNot 29 19: 18(ptr) AccessChain 16 17
33: 32(ptr) AccessChain 12 31 20: 12(int) Load 19
34: 8(float) Load 33 24: 21(bool) INotEqual 20 23
36: 17(bool) FOrdNotEqual 34 35 25: 21(bool) LogicalNot 24
37: 17(bool) LogicalNot 36 28: 27(ptr) AccessChain 16 26
40: 39(ptr) AccessChain 12 38 29: 13(ivec4) Load 28
41: 9(fvec4) Load 40 33: 30(bvec4) INotEqual 29 32
43: 26(bvec4) FOrdNotEqual 41 42 34: 30(bvec4) LogicalNot 33
44: 26(bvec4) LogicalNot 43 37: 36(ptr) AccessChain 16 35
45: 14(ptr) AccessChain 12 13 38: 6(float) Load 37
46: 6(int) Load 45 40: 21(bool) FOrdNotEqual 38 39
SelectionMerge 48 None 41: 21(bool) LogicalNot 40
BranchConditional 46 47 48 44: 43(ptr) AccessChain 16 42
47: Label 45: 7(fvec4) Load 44
Branch 48 47: 30(bvec4) FOrdNotEqual 45 46
48: Label 48: 30(bvec4) LogicalNot 47
49: 32(ptr) AccessChain 12 31 49: 18(ptr) AccessChain 16 17
50: 8(float) Load 49 50: 12(int) Load 49
SelectionMerge 52 None SelectionMerge 52 None
BranchConditional 50 51 52 BranchConditional 50 51 52
51: Label 51: Label
Branch 52 Branch 52
52: Label 52: Label
53: 14(ptr) AccessChain 12 13 53: 36(ptr) AccessChain 16 35
54: 6(int) Load 53 54: 6(float) Load 53
55: 17(bool) INotEqual 54 19 SelectionMerge 56 None
56: 17(bool) LogicalNot 55 BranchConditional 54 55 56
SelectionMerge 58 None 55: Label
BranchConditional 56 57 58 Branch 56
57: Label 56: Label
Branch 58 57: 18(ptr) AccessChain 16 17
58: Label 58: 12(int) Load 57
59: 32(ptr) AccessChain 12 31 59: 21(bool) INotEqual 58 23
60: 8(float) Load 59 60: 21(bool) LogicalNot 59
61: 17(bool) FOrdNotEqual 60 35 SelectionMerge 62 None
62: 17(bool) LogicalNot 61 BranchConditional 60 61 62
SelectionMerge 64 None 61: Label
BranchConditional 62 63 64 Branch 62
63: Label 62: Label
Branch 64 63: 36(ptr) AccessChain 16 35
64: Label 64: 6(float) Load 63
71: 70(ptr) AccessChain 67(psout) 13 65: 21(bool) FOrdNotEqual 64 39
Store 71 69 66: 21(bool) LogicalNot 65
74: 70(ptr) AccessChain 67(psout) 13 SelectionMerge 68 None
75: 9(fvec4) Load 74 BranchConditional 66 67 68
Store 73(Color) 75 67: Label
Return Branch 68
68: Label
74: 73(ptr) AccessChain 70(psout) 17
Store 74 72
75:8(PS_OUTPUT) Load 70(psout)
ReturnValue 75
FunctionEnd FunctionEnd

View file

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

View file

@ -2,7 +2,7 @@ hlsl.matrixindex.frag
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:10 Function Parameters:
0:? Sequence 0:? Sequence
0:22 Sequence 0:22 Sequence
@ -117,15 +117,18 @@ gl_FragCoord origin is upper left
0:47 0 (const int) 0:47 0 (const int)
0:47 Construct vec4 (temp 4-component vector of float) 0:47 Construct vec4 (temp 4-component vector of float)
0:47 'e2_11' (temp float) 0:47 'e2_11' (temp float)
0:48 Sequence 0:48 Branch: Return with expression
0:48 Sequence 0:48 'psout' (temp structure{temp 4-component vector of float Color})
0:48 move second child to first child (temp 4-component vector of float) 0:10 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:10 Function Parameters:
0:48 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:48 'psout' (temp structure{temp 4-component vector of float Color}) 0:10 Sequence
0:48 Constant: 0:10 move second child to first child (temp 4-component vector of float)
0:48 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:10 Function Parameters:
0:? Sequence 0:? Sequence
0:22 Sequence 0:22 Sequence
@ -252,156 +255,166 @@ gl_FragCoord origin is upper left
0:47 0 (const int) 0:47 0 (const int)
0:47 Construct vec4 (temp 4-component vector of float) 0:47 Construct vec4 (temp 4-component vector of float)
0:47 'e2_11' (temp float) 0:47 'e2_11' (temp float)
0:48 Sequence 0:48 Branch: Return with expression
0:48 Sequence 0:48 'psout' (temp structure{temp 4-component vector of float Color})
0:48 move second child to first child (temp 4-component vector of float) 0:10 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:10 Function Parameters:
0:48 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:48 'psout' (temp structure{temp 4-component vector of float Color}) 0:10 Sequence
0:48 Constant: 0:10 move second child to first child (temp 4-component vector of float)
0:48 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 78 // Id's are bound by 83
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 74 EntryPoint Fragment 4 "main" 80
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "e1_00" Name 8 "PS_OUTPUT"
Name 10 "e1_01" MemberName 8(PS_OUTPUT) 0 "Color"
Name 12 "e1_10" Name 10 "@main("
Name 14 "e1_11" Name 13 "e1_00"
Name 16 "e1_20" Name 15 "e1_01"
Name 18 "e1_21" Name 17 "e1_10"
Name 20 "e2_00" Name 19 "e1_11"
Name 22 "e2_01" Name 21 "e1_20"
Name 24 "e2_10" Name 23 "e1_21"
Name 26 "e2_11" Name 25 "e2_00"
Name 28 "e2_20" Name 27 "e2_01"
Name 30 "e2_21" Name 29 "e2_10"
Name 34 "r0a" Name 31 "e2_11"
Name 36 "r1a" Name 33 "e2_20"
Name 38 "r2a" Name 35 "e2_21"
Name 40 "r0b" Name 39 "r0a"
Name 47 "$Global" Name 41 "r1a"
MemberName 47($Global) 0 "idx" Name 43 "r2a"
MemberName 47($Global) 1 "um" Name 45 "r0b"
Name 49 "" Name 52 "$Global"
Name 55 "indexable" MemberName 52($Global) 0 "idx"
Name 58 "r0c" MemberName 52($Global) 1 "um"
Name 66 "PS_OUTPUT" Name 54 ""
MemberName 66(PS_OUTPUT) 0 "Color" Name 60 "indexable"
Name 68 "psout" Name 63 "r0c"
Name 74 "Color" Name 71 "psout"
MemberDecorate 47($Global) 0 Offset 0 Name 80 "Color"
MemberDecorate 47($Global) 1 RowMajor MemberDecorate 52($Global) 0 Offset 0
MemberDecorate 47($Global) 1 Offset 16 MemberDecorate 52($Global) 1 RowMajor
MemberDecorate 47($Global) 1 MatrixStride 16 MemberDecorate 52($Global) 1 Offset 16
Decorate 47($Global) Block MemberDecorate 52($Global) 1 MatrixStride 16
Decorate 49 DescriptorSet 0 Decorate 52($Global) Block
Decorate 74(Color) Location 0 Decorate 54 DescriptorSet 0
Decorate 80(Color) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypePointer Function 6(float) 7: TypeVector 6(float) 4
9: 6(float) Constant 1092616192 8(PS_OUTPUT): TypeStruct 7(fvec4)
11: 6(float) Constant 1093664768 9: TypeFunction 8(PS_OUTPUT)
13: 6(float) Constant 1094713344 12: TypePointer Function 6(float)
15: 6(float) Constant 1095761920 14: 6(float) Constant 1092616192
17: 6(float) Constant 1096810496 16: 6(float) Constant 1093664768
19: 6(float) Constant 1097859072 18: 6(float) Constant 1094713344
21: 6(float) Constant 1101004800 20: 6(float) Constant 1095761920
23: 6(float) Constant 1101529088 22: 6(float) Constant 1096810496
25: 6(float) Constant 1102053376 24: 6(float) Constant 1097859072
27: 6(float) Constant 1102577664 26: 6(float) Constant 1101004800
29: 6(float) Constant 1103101952 28: 6(float) Constant 1101529088
31: 6(float) Constant 1103626240 30: 6(float) Constant 1102053376
32: TypeVector 6(float) 2 32: 6(float) Constant 1102577664
33: TypePointer Function 32(fvec2) 34: 6(float) Constant 1103101952
35: 32(fvec2) ConstantComposite 9 11 36: 6(float) Constant 1103626240
37: 32(fvec2) ConstantComposite 13 15 37: TypeVector 6(float) 2
39: 32(fvec2) ConstantComposite 17 19 38: TypePointer Function 37(fvec2)
41: TypeMatrix 32(fvec2) 3 40: 37(fvec2) ConstantComposite 14 16
42: 32(fvec2) ConstantComposite 21 23 42: 37(fvec2) ConstantComposite 18 20
43: 32(fvec2) ConstantComposite 25 27 44: 37(fvec2) ConstantComposite 22 24
44: 32(fvec2) ConstantComposite 29 31 46: TypeMatrix 37(fvec2) 3
45: 41 ConstantComposite 42 43 44 47: 37(fvec2) ConstantComposite 26 28
46: TypeInt 32 1 48: 37(fvec2) ConstantComposite 30 32
47($Global): TypeStruct 46(int) 41 49: 37(fvec2) ConstantComposite 34 36
48: TypePointer Uniform 47($Global) 50: 46 ConstantComposite 47 48 49
49: 48(ptr) Variable Uniform 51: TypeInt 32 1
50: 46(int) Constant 0 52($Global): TypeStruct 51(int) 46
51: TypePointer Uniform 46(int) 53: TypePointer Uniform 52($Global)
54: TypePointer Function 41 54: 53(ptr) Variable Uniform
59: 46(int) Constant 1 55: 51(int) Constant 0
62: TypePointer Uniform 32(fvec2) 56: TypePointer Uniform 51(int)
65: TypeVector 6(float) 4 59: TypePointer Function 46
66(PS_OUTPUT): TypeStruct 65(fvec4) 64: 51(int) Constant 1
67: TypePointer Function 66(PS_OUTPUT) 67: TypePointer Uniform 37(fvec2)
71: TypePointer Function 65(fvec4) 70: TypePointer Function 8(PS_OUTPUT)
73: TypePointer Output 65(fvec4) 74: TypePointer Function 7(fvec4)
74(Color): 73(ptr) Variable Output 79: TypePointer Output 7(fvec4)
80(Color): 79(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
8(e1_00): 7(ptr) Variable Function 81:8(PS_OUTPUT) FunctionCall 10(@main()
10(e1_01): 7(ptr) Variable Function 82: 7(fvec4) CompositeExtract 81 0
12(e1_10): 7(ptr) Variable Function Store 80(Color) 82
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 Function Parameters:
0:2 'input1' (layout(location=0 ) in 4-component vector of float) 0:2 'input1' (in 4-component vector of float)
0:2 'input2' (layout(location=1 ) in 4-component vector of float) 0:2 'input2' (in 4-component vector of float)
0:? Sequence 0:? Sequence
0:3 Sequence 0:3 Branch: Return with expression
0:3 move second child to first child (temp 4-component vector of float) 0:3 max (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:3 'input1' (in 4-component vector of float)
0:3 max (temp 4-component vector of float) 0:3 'input2' (in 4-component vector of float)
0:3 'input1' (layout(location=0 ) in 4-component vector of float) 0:2 Function Definition: PixelShaderFunction( (temp void)
0:3 'input2' (layout(location=1 ) in 4-component vector of float) 0:2 Function Parameters:
0:3 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input1' (layout(location=0 ) in 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 Function Parameters:
0:2 'input1' (layout(location=0 ) in 4-component vector of float) 0:2 'input1' (in 4-component vector of float)
0:2 'input2' (layout(location=1 ) in 4-component vector of float) 0:2 'input2' (in 4-component vector of float)
0:? Sequence 0:? Sequence
0:3 Sequence 0:3 Branch: Return with expression
0:3 move second child to first child (temp 4-component vector of float) 0:3 max (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:3 'input1' (in 4-component vector of float)
0:3 max (temp 4-component vector of float) 0:3 'input2' (in 4-component vector of float)
0:3 'input1' (layout(location=0 ) in 4-component vector of float) 0:2 Function Definition: PixelShaderFunction( (temp void)
0:3 'input2' (layout(location=1 ) in 4-component vector of float) 0:2 Function Parameters:
0:3 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input1' (layout(location=0 ) in 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 17 // Id's are bound by 33
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 11 13 EntryPoint Fragment 4 "PixelShaderFunction" 21 24 27
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 9 "@entryPointOutput" Name 12 "@PixelShaderFunction(vf4;vf4;"
Name 11 "input1" Name 10 "input1"
Name 13 "input2" Name 11 "input2"
Decorate 9(@entryPointOutput) Location 0 Name 19 "input1"
Decorate 11(input1) Location 0 Name 21 "input1"
Decorate 13(input2) Location 1 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4) 8: TypePointer Function 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output 9: TypeFunction 7(fvec4) 8(ptr) 8(ptr)
10: TypePointer Input 7(fvec4) 20: TypePointer Input 7(fvec4)
11(input1): 10(ptr) Variable Input 21(input1): 20(ptr) Variable Input
13(input2): 10(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 4(PixelShaderFunction): 2 Function None 3
5: Label 5: Label
12: 7(fvec4) Load 11(input1) 19(input1): 8(ptr) Variable Function
14: 7(fvec4) Load 13(input2) 23(input2): 8(ptr) Variable Function
15: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 12 14 28(param): 8(ptr) Variable Function
Store 9(@entryPointOutput) 15 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 Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:9 Function Parameters:
0:? Sequence 0:? Sequence
0:40 add (temp mediump 2-component vector of float) 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:47 0.000000
0:47 0.000000 0:47 0.000000
0:48 Sequence 0:48 Branch: Return with expression
0:48 Sequence 0:48 'psout' (temp structure{temp 4-component vector of float Color})
0:48 move second child to first child (temp 4-component vector of float) 0:9 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:9 Function Parameters:
0:48 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:48 'psout' (temp structure{temp 4-component vector of float Color}) 0:9 Sequence
0:48 Constant: 0:9 move second child to first child (temp 4-component vector of float)
0:48 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:9 Function Parameters:
0:? Sequence 0:? Sequence
0:40 add (temp mediump 2-component vector of float) 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:47 0.000000
0:47 0.000000 0:47 0.000000
0:48 Sequence 0:48 Branch: Return with expression
0:48 Sequence 0:48 'psout' (temp structure{temp 4-component vector of float Color})
0:48 move second child to first child (temp 4-component vector of float) 0:9 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:9 Function Parameters:
0:48 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:48 'psout' (temp structure{temp 4-component vector of float Color}) 0:9 Sequence
0:48 Constant: 0:9 move second child to first child (temp 4-component vector of float)
0:48 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:48 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 65 // Id's are bound by 70
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 58 EntryPoint Fragment 4 "main" 64
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "mf16_2" Name 8 "PS_OUTPUT"
Name 12 "mf16" MemberName 8(PS_OUTPUT) 0 "Color"
Name 16 "mf10_2" Name 10 "@main("
Name 18 "mf10" Name 14 "mf16_2"
Name 25 "mi16_2" Name 17 "mf16"
Name 28 "mi16" Name 21 "mf10_2"
Name 32 "mi12_2" Name 23 "mf10"
Name 34 "mi12" Name 30 "mi16_2"
Name 41 "mu16_2" Name 33 "mi16"
Name 44 "mu16" Name 37 "mi12_2"
Name 49 "PS_OUTPUT" Name 39 "mi12"
MemberName 49(PS_OUTPUT) 0 "Color" Name 46 "mu16_2"
Name 51 "psout" Name 49 "mu16"
Name 58 "Color" Name 54 "psout"
Name 62 "$Global" Name 64 "Color"
MemberName 62($Global) 0 "b1a" Name 67 "$Global"
MemberName 62($Global) 1 "b1b" MemberName 67($Global) 0 "b1a"
Name 64 "" MemberName 67($Global) 1 "b1b"
Decorate 9(mf16_2) RelaxedPrecision Name 69 ""
Decorate 10 RelaxedPrecision Decorate 14(mf16_2) RelaxedPrecision
Decorate 12(mf16) RelaxedPrecision
Decorate 13 RelaxedPrecision
Decorate 14 RelaxedPrecision
Decorate 15 RelaxedPrecision Decorate 15 RelaxedPrecision
Decorate 16(mf10_2) RelaxedPrecision Decorate 17(mf16) RelaxedPrecision
Decorate 17 RelaxedPrecision Decorate 18 RelaxedPrecision
Decorate 18(mf10) RelaxedPrecision
Decorate 19 RelaxedPrecision Decorate 19 RelaxedPrecision
Decorate 20 RelaxedPrecision Decorate 20 RelaxedPrecision
Decorate 21 RelaxedPrecision Decorate 21(mf10_2) RelaxedPrecision
Decorate 25(mi16_2) RelaxedPrecision Decorate 22 RelaxedPrecision
Decorate 23(mf10) RelaxedPrecision
Decorate 24 RelaxedPrecision
Decorate 25 RelaxedPrecision
Decorate 26 RelaxedPrecision Decorate 26 RelaxedPrecision
Decorate 28(mi16) RelaxedPrecision Decorate 30(mi16_2) RelaxedPrecision
Decorate 29 RelaxedPrecision
Decorate 30 RelaxedPrecision
Decorate 31 RelaxedPrecision Decorate 31 RelaxedPrecision
Decorate 32(mi12_2) RelaxedPrecision Decorate 33(mi16) RelaxedPrecision
Decorate 33 RelaxedPrecision Decorate 34 RelaxedPrecision
Decorate 34(mi12) RelaxedPrecision
Decorate 35 RelaxedPrecision Decorate 35 RelaxedPrecision
Decorate 36 RelaxedPrecision Decorate 36 RelaxedPrecision
Decorate 37 RelaxedPrecision Decorate 37(mi12_2) RelaxedPrecision
Decorate 41(mu16_2) RelaxedPrecision Decorate 38 RelaxedPrecision
Decorate 39(mi12) RelaxedPrecision
Decorate 40 RelaxedPrecision
Decorate 41 RelaxedPrecision
Decorate 42 RelaxedPrecision Decorate 42 RelaxedPrecision
Decorate 44(mu16) RelaxedPrecision Decorate 46(mu16_2) RelaxedPrecision
Decorate 45 RelaxedPrecision
Decorate 46 RelaxedPrecision
Decorate 47 RelaxedPrecision Decorate 47 RelaxedPrecision
Decorate 58(Color) Location 0 Decorate 49(mu16) RelaxedPrecision
MemberDecorate 62($Global) 0 RelaxedPrecision Decorate 50 RelaxedPrecision
MemberDecorate 62($Global) 0 Offset 0 Decorate 51 RelaxedPrecision
MemberDecorate 62($Global) 1 RelaxedPrecision Decorate 52 RelaxedPrecision
MemberDecorate 62($Global) 1 Offset 4 Decorate 64(Color) Location 0
Decorate 62($Global) Block MemberDecorate 67($Global) 0 RelaxedPrecision
Decorate 64 DescriptorSet 0 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 2 7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec2) 8(PS_OUTPUT): TypeStruct 7(fvec4)
11: TypePointer Function 6(float) 9: TypeFunction 8(PS_OUTPUT)
22: TypeInt 32 1 12: TypeVector 6(float) 2
23: TypeVector 22(int) 2 13: TypePointer Function 12(fvec2)
24: TypePointer Function 23(ivec2) 16: TypePointer Function 6(float)
27: TypePointer Function 22(int) 27: TypeInt 32 1
38: TypeInt 32 0 28: TypeVector 27(int) 2
39: TypeVector 38(int) 2 29: TypePointer Function 28(ivec2)
40: TypePointer Function 39(ivec2) 32: TypePointer Function 27(int)
43: TypePointer Function 38(int) 43: TypeInt 32 0
48: TypeVector 6(float) 4 44: TypeVector 43(int) 2
49(PS_OUTPUT): TypeStruct 48(fvec4) 45: TypePointer Function 44(ivec2)
50: TypePointer Function 49(PS_OUTPUT) 48: TypePointer Function 43(int)
52: 22(int) Constant 0 53: TypePointer Function 8(PS_OUTPUT)
53: 6(float) Constant 0 55: 27(int) Constant 0
54: 48(fvec4) ConstantComposite 53 53 53 53 56: 6(float) Constant 0
55: TypePointer Function 48(fvec4) 57: 7(fvec4) ConstantComposite 56 56 56 56
57: TypePointer Output 48(fvec4) 58: TypePointer Function 7(fvec4)
58(Color): 57(ptr) Variable Output 63: TypePointer Output 7(fvec4)
62($Global): TypeStruct 6(float) 6(float) 64(Color): 63(ptr) Variable Output
63: TypePointer Uniform 62($Global) 67($Global): TypeStruct 6(float) 6(float)
64: 63(ptr) Variable Uniform 68: TypePointer Uniform 67($Global)
69: 68(ptr) Variable Uniform
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(mf16_2): 8(ptr) Variable Function 65:8(PS_OUTPUT) FunctionCall 10(@main()
12(mf16): 11(ptr) Variable Function 66: 7(fvec4) CompositeExtract 65 0
16(mf10_2): 8(ptr) Variable Function Store 64(Color) 66
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
Return Return
FunctionEnd 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 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:5 Convert uint to int (temp int) 0:5 Convert uint to int (temp int)
0:5 'Index' (in uint) 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 Function Parameters:
0:9 'Index' (in uint VertexIndex) 0:9 'Index' (in uint VertexIndex)
0:? Sequence 0:? Sequence
0:10 Sequence 0:10 Branch: Return with expression
0:10 move second child to first child (temp 4-component vector of float) 0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float)
0:? '@entryPointOutput' (out 4-component vector of float Position) 0:10 'Index' (in uint VertexIndex)
0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float) 0:9 Function Definition: RealEntrypoint( (temp void)
0:10 'Index' (in uint VertexIndex) 0:9 Function Parameters:
0:10 Branch: Return 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:? Linker Objects
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:? '@entryPointOutput' (out 4-component vector of float Position) 0:? '@entryPointOutput' (out 4-component vector of float Position)
0:? 'Index' (in uint VertexIndex) 0:? 'Index' (in uint VertexIndex)
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
Linked vertex stage: Linked vertex stage:
@ -40,40 +47,51 @@ Shader version: 450
0:5 'Position' (layout(rgba32f ) uniform samplerBuffer) 0:5 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:5 Convert uint to int (temp int) 0:5 Convert uint to int (temp int)
0:5 'Index' (in uint) 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 Function Parameters:
0:9 'Index' (in uint VertexIndex) 0:9 'Index' (in uint VertexIndex)
0:? Sequence 0:? Sequence
0:10 Sequence 0:10 Branch: Return with expression
0:10 move second child to first child (temp 4-component vector of float) 0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float)
0:? '@entryPointOutput' (out 4-component vector of float Position) 0:10 'Index' (in uint VertexIndex)
0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float) 0:9 Function Definition: RealEntrypoint( (temp void)
0:10 'Index' (in uint VertexIndex) 0:9 Function Parameters:
0:10 Branch: Return 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:? Linker Objects
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
0:? '@entryPointOutput' (out 4-component vector of float Position) 0:? '@entryPointOutput' (out 4-component vector of float Position)
0:? 'Index' (in uint VertexIndex) 0:? 'Index' (in uint VertexIndex)
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 34 // Id's are bound by 43
Capability Shader Capability Shader
Capability SampledBuffer Capability SampledBuffer
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 "RealEntrypoint" 27 29 EntryPoint Vertex 4 "RealEntrypoint" 36 39
Name 4 "RealEntrypoint" Name 4 "RealEntrypoint"
Name 12 "FakeEntrypoint(u1;" Name 12 "FakeEntrypoint(u1;"
Name 11 "Index" Name 11 "Index"
Name 17 "Position" Name 15 "@RealEntrypoint(u1;"
Name 27 "@entryPointOutput" Name 14 "Index"
Name 29 "Index" Name 20 "Position"
Name 30 "param" Name 29 "param"
Decorate 17(Position) DescriptorSet 0 Name 34 "Index"
Decorate 27(@entryPointOutput) BuiltIn Position Name 36 "Index"
Decorate 29(Index) BuiltIn VertexIndex Name 39 "@entryPointOutput"
Name 40 "param"
Decorate 20(Position) DescriptorSet 0
Decorate 36(Index) BuiltIn VertexIndex
Decorate 39(@entryPointOutput) BuiltIn Position
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeInt 32 0
@ -81,31 +99,43 @@ Shader version: 450
8: TypeFloat 32 8: TypeFloat 32
9: TypeVector 8(float) 4 9: TypeVector 8(float) 4
10: TypeFunction 9(fvec4) 7(ptr) 10: TypeFunction 9(fvec4) 7(ptr)
14: TypeImage 8(float) Buffer sampled format:Rgba32f 17: TypeImage 8(float) Buffer sampled format:Rgba32f
15: TypeSampledImage 14 18: TypeSampledImage 17
16: TypePointer UniformConstant 15 19: TypePointer UniformConstant 18
17(Position): 16(ptr) Variable UniformConstant 20(Position): 19(ptr) Variable UniformConstant
20: TypeInt 32 1 23: TypeInt 32 1
26: TypePointer Output 9(fvec4) 35: TypePointer Input 6(int)
27(@entryPointOutput): 26(ptr) Variable Output 36(Index): 35(ptr) Variable Input
28: TypePointer Input 6(int) 38: TypePointer Output 9(fvec4)
29(Index): 28(ptr) Variable Input 39(@entryPointOutput): 38(ptr) Variable Output
4(RealEntrypoint): 2 Function None 3 4(RealEntrypoint): 2 Function None 3
5: Label 5: Label
30(param): 7(ptr) Variable Function 34(Index): 7(ptr) Variable Function
31: 6(int) Load 29(Index) 40(param): 7(ptr) Variable Function
Store 30(param) 31 37: 6(int) Load 36(Index)
32: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 30(param) Store 34(Index) 37
Store 27(@entryPointOutput) 32 41: 6(int) Load 34(Index)
Store 40(param) 41
42: 9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 40(param)
Store 39(@entryPointOutput) 42
Return Return
FunctionEnd FunctionEnd
12(FakeEntrypoint(u1;): 9(fvec4) Function None 10 12(FakeEntrypoint(u1;): 9(fvec4) Function None 10
11(Index): 7(ptr) FunctionParameter 11(Index): 7(ptr) FunctionParameter
13: Label 13: Label
18: 15 Load 17(Position) 21: 18 Load 20(Position)
19: 6(int) Load 11(Index) 22: 6(int) Load 11(Index)
21: 20(int) Bitcast 19 24: 23(int) Bitcast 22
22: 14 Image 18 25: 17 Image 21
23: 9(fvec4) ImageFetch 22 21 26: 9(fvec4) ImageFetch 25 24
ReturnValue 23 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 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 '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 Constant:
0:13 0 (const uint) 0:13 0 (const uint)
0:17 Function Definition: main( (temp void) 0:17 Function Definition: @main( (temp void)
0:17 Function Parameters: 0:17 Function Parameters:
0:? Sequence 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: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:? 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}) 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 '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 Constant:
0:13 0 (const uint) 0:13 0 (const uint)
0:17 Function Definition: main( (temp void) 0:17 Function Definition: @main( (temp void)
0:17 Function Parameters: 0:17 Function Parameters:
0:? Sequence 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: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:? 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 39 // Id's are bound by 42
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
@ -54,21 +62,22 @@ gl_FragCoord origin is upper left
MemberName 9(S) 1 "v" MemberName 9(S) 1 "v"
MemberName 9(S) 2 "m" MemberName 9(S) 2 "m"
Name 11 "foo(" Name 11 "foo("
Name 13 "S" Name 13 "@main("
MemberName 13(S) 0 "f" Name 15 "S"
MemberName 13(S) 1 "v" MemberName 15(S) 0 "f"
MemberName 13(S) 2 "m" MemberName 15(S) 1 "v"
Name 14 "bufName" MemberName 15(S) 2 "m"
MemberName 14(bufName) 0 "s" Name 16 "bufName"
Name 16 "" MemberName 16(bufName) 0 "s"
MemberDecorate 13(S) 0 Offset 0 Name 18 ""
MemberDecorate 13(S) 1 Offset 16 MemberDecorate 15(S) 0 Offset 0
MemberDecorate 13(S) 2 RowMajor MemberDecorate 15(S) 1 Offset 16
MemberDecorate 13(S) 2 Offset 32 MemberDecorate 15(S) 2 RowMajor
MemberDecorate 13(S) 2 MatrixStride 16 MemberDecorate 15(S) 2 Offset 32
MemberDecorate 14(bufName) 0 Offset 0 MemberDecorate 15(S) 2 MatrixStride 16
Decorate 14(bufName) Block MemberDecorate 16(bufName) 0 Offset 0
Decorate 16 DescriptorSet 0 Decorate 16(bufName) Block
Decorate 18 DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
@ -76,38 +85,43 @@ gl_FragCoord origin is upper left
8: TypeMatrix 7(fvec3) 3 8: TypeMatrix 7(fvec3) 3
9(S): TypeStruct 6(float) 7(fvec3) 8 9(S): TypeStruct 6(float) 7(fvec3) 8
10: TypeFunction 9(S) 10: TypeFunction 9(S)
13(S): TypeStruct 6(float) 7(fvec3) 8 15(S): TypeStruct 6(float) 7(fvec3) 8
14(bufName): TypeStruct 13(S) 16(bufName): TypeStruct 15(S)
15: TypePointer Uniform 14(bufName) 17: TypePointer Uniform 16(bufName)
16: 15(ptr) Variable Uniform 18: 17(ptr) Variable Uniform
17: TypeInt 32 1 19: TypeInt 32 1
18: 17(int) Constant 0 20: 19(int) Constant 0
19: TypePointer Uniform 13(S) 21: TypePointer Uniform 15(S)
22: TypePointer Function 9(S) 24: TypePointer Function 9(S)
25: TypePointer Function 6(float) 27: TypePointer Function 6(float)
28: 17(int) Constant 1 30: 19(int) Constant 1
29: TypePointer Function 7(fvec3) 31: TypePointer Function 7(fvec3)
32: 17(int) Constant 2 34: 19(int) Constant 2
33: TypePointer Function 8 35: TypePointer Function 8
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
38: 9(S) FunctionCall 11(foo() 41: 2 FunctionCall 13(@main()
Return Return
FunctionEnd FunctionEnd
11(foo(): 9(S) Function None 10 11(foo(): 9(S) Function None 10
12: Label 12: Label
23: 22(ptr) Variable Function 25: 24(ptr) Variable Function
20: 19(ptr) AccessChain 16 18 22: 21(ptr) AccessChain 18 20
21: 13(S) Load 20 23: 15(S) Load 22
24: 6(float) CompositeExtract 21 0 26: 6(float) CompositeExtract 23 0
26: 25(ptr) AccessChain 23 18 28: 27(ptr) AccessChain 25 20
Store 26 24 Store 28 26
27: 7(fvec3) CompositeExtract 21 1 29: 7(fvec3) CompositeExtract 23 1
30: 29(ptr) AccessChain 23 28 32: 31(ptr) AccessChain 25 30
Store 30 27 Store 32 29
31: 8 CompositeExtract 21 2 33: 8 CompositeExtract 23 2
34: 33(ptr) AccessChain 23 32 36: 35(ptr) AccessChain 25 34
Store 34 31 Store 36 33
35: 9(S) Load 23 37: 9(S) Load 25
ReturnValue 35 ReturnValue 37
FunctionEnd
13(@main(): 2 Function None 3
14: Label
40: 9(S) FunctionCall 11(foo()
Return
FunctionEnd FunctionEnd

View file

@ -2,7 +2,7 @@ hlsl.numericsuffixes.frag
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:5 Function Parameters:
0:? Sequence 0:? Sequence
0:7 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 Construct vec4 (temp 4-component vector of float)
0:18 Convert int to float (temp float) 0:18 Convert int to float (temp float)
0:18 'r07' (temp int) 0:18 'r07' (temp int)
0:19 Sequence 0:19 Branch: Return with expression
0:19 Sequence 0:19 'ps_output' (temp structure{temp 4-component vector of float color})
0:19 move second child to first child (temp 4-component vector of float) 0:5 Function Definition: main( (temp void)
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:5 Function Parameters:
0:19 color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:19 'ps_output' (temp structure{temp 4-component vector of float color}) 0:5 Sequence
0:19 Constant: 0:5 move second child to first child (temp 4-component vector of float)
0:19 0 (const int) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:19 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
@ -77,7 +80,7 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:5 Function Parameters:
0:? Sequence 0:? Sequence
0:7 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 Construct vec4 (temp 4-component vector of float)
0:18 Convert int to float (temp float) 0:18 Convert int to float (temp float)
0:18 'r07' (temp int) 0:18 'r07' (temp int)
0:19 Sequence 0:19 Branch: Return with expression
0:19 Sequence 0:19 'ps_output' (temp structure{temp 4-component vector of float color})
0:19 move second child to first child (temp 4-component vector of float) 0:5 Function Definition: main( (temp void)
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:5 Function Parameters:
0:19 color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:19 'ps_output' (temp structure{temp 4-component vector of float color}) 0:5 Sequence
0:19 Constant: 0:5 move second child to first child (temp 4-component vector of float)
0:19 0 (const int) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:19 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 44 // Id's are bound by 49
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 40 EntryPoint Fragment 4 "main" 46
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "r00" Name 8 "PS_OUTPUT"
Name 12 "r01" MemberName 8(PS_OUTPUT) 0 "color"
Name 14 "r02" Name 10 "@main("
Name 16 "r03" Name 13 "r00"
Name 18 "r04" Name 17 "r01"
Name 21 "r05" Name 19 "r02"
Name 23 "r06" Name 21 "r03"
Name 25 "r07" Name 23 "r04"
Name 27 "r08" Name 26 "r05"
Name 30 "PS_OUTPUT" Name 28 "r06"
MemberName 30(PS_OUTPUT) 0 "color" Name 30 "r07"
Name 32 "ps_output" Name 32 "r08"
Name 40 "color" Name 35 "ps_output"
Decorate 40(color) Location 0 Name 46 "color"
Decorate 46(color) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypePointer Function 6(float) 7: TypeVector 6(float) 4
9: 6(float) Constant 1065353216 8(PS_OUTPUT): TypeStruct 7(fvec4)
10: TypeInt 32 0 9: TypeFunction 8(PS_OUTPUT)
11: TypePointer Function 10(int) 12: TypePointer Function 6(float)
13: 10(int) Constant 1 14: 6(float) Constant 1065353216
15: 10(int) Constant 2 15: TypeInt 32 0
17: 10(int) Constant 2748 16: TypePointer Function 15(int)
19: TypeInt 32 1 18: 15(int) Constant 1
20: TypePointer Function 19(int) 20: 15(int) Constant 2
22: 19(int) Constant 5 22: 15(int) Constant 2748
24: 19(int) Constant 6 24: TypeInt 32 1
26: 19(int) Constant 57 25: TypePointer Function 24(int)
28: 10(int) Constant 58 27: 24(int) Constant 5
29: TypeVector 6(float) 4 29: 24(int) Constant 6
30(PS_OUTPUT): TypeStruct 29(fvec4) 31: 24(int) Constant 57
31: TypePointer Function 30(PS_OUTPUT) 33: 15(int) Constant 58
33: 19(int) Constant 0 34: TypePointer Function 8(PS_OUTPUT)
37: TypePointer Function 29(fvec4) 36: 24(int) Constant 0
39: TypePointer Output 29(fvec4) 40: TypePointer Function 7(fvec4)
40(color): 39(ptr) Variable Output 45: TypePointer Output 7(fvec4)
46(color): 45(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
8(r00): 7(ptr) Variable Function 47:8(PS_OUTPUT) FunctionCall 10(@main()
12(r01): 11(ptr) Variable Function 48: 7(fvec4) CompositeExtract 47 0
14(r02): 11(ptr) Variable Function Store 46(color) 48
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
Return Return
FunctionEnd 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 Definition: main(vu3; (temp void)
0:4 Function Parameters: 0:4 Function Parameters:
0:4 'tid' (in 3-component vector of uint) 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 Function Parameters:
0:9 'tid' (in 3-component vector of uint GlobalInvocationID) 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:? Linker Objects
0:? 'tid' (in 3-component vector of uint GlobalInvocationID) 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 Definition: main(vu3; (temp void)
0:4 Function Parameters: 0:4 Function Parameters:
0:4 'tid' (in 3-component vector of uint) 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 Function Parameters:
0:9 'tid' (in 3-component vector of uint GlobalInvocationID) 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:? Linker Objects
0:? 'tid' (in 3-component vector of uint GlobalInvocationID) 0:? 'tid' (in 3-component vector of uint GlobalInvocationID)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 15 // Id's are bound by 23
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main_aux1" 14 EntryPoint GLCompute 4 "main_aux1" 18
ExecutionMode 4 LocalSize 4 4 2 ExecutionMode 4 LocalSize 4 4 2
Name 4 "main_aux1" Name 4 "main_aux1"
Name 11 "main(vu3;" Name 11 "main(vu3;"
Name 10 "tid" Name 10 "tid"
Name 14 "tid" Name 14 "@main_aux1(vu3;"
Decorate 14(tid) BuiltIn GlobalInvocationId Name 13 "tid"
Name 16 "tid"
Name 18 "tid"
Name 20 "param"
Decorate 18(tid) BuiltIn GlobalInvocationId
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeInt 32 0
7: TypeVector 6(int) 3 7: TypeVector 6(int) 3
8: TypePointer Function 7(ivec3) 8: TypePointer Function 7(ivec3)
9: TypeFunction 2 8(ptr) 9: TypeFunction 2 8(ptr)
13: TypePointer Input 7(ivec3) 17: TypePointer Input 7(ivec3)
14(tid): 13(ptr) Variable Input 18(tid): 17(ptr) Variable Input
4(main_aux1): 2 Function None 3 4(main_aux1): 2 Function None 3
5: Label 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 Return
FunctionEnd FunctionEnd
11(main(vu3;): 2 Function None 9 11(main(vu3;): 2 Function None 9
@ -58,3 +85,8 @@ local_size = (4, 4, 2)
12: Label 12: Label
Return Return
FunctionEnd 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 Definition: fn3(i1; (temp void)
0:32 Function Parameters: 0:32 Function Parameters:
0:32 'p0' (in int) 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:36 Function Parameters:
0:? Sequence 0:? Sequence
0:37 Sequence 0:37 Sequence
@ -70,117 +70,120 @@ gl_FragCoord origin is upper left
0:40 Function Call: fn3(i1; (temp void) 0:40 Function Call: fn3(i1; (temp void)
0:40 Constant: 0:40 Constant:
0:40 5 (const int) 0:40 5 (const int)
0:50 Sequence 0:50 Branch: Return with expression
0:50 move second child to first child (temp 4-component vector of int) 0:49 add (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) 0:47 add (temp 4-component vector of int)
0:49 add (temp 4-component vector of int) 0:46 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:46 add (temp 4-component vector of int) 0:44 add (temp 4-component vector of int)
0:45 add (temp 4-component vector of int) 0:43 add (temp 4-component vector of int)
0:44 add (temp 4-component vector of int) 0:42 add (temp 4-component vector of int)
0:43 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 add (temp 4-component vector of int) 0:42 Constant:
0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) 0:42 100 (const 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:42 100 (const int)
0:42 100 (const int) 0:? Constant:
0:42 100 (const int) 0:? -1 (const int)
0:? Constant: 0:? -2 (const int)
0:? -1 (const int) 0:? -3 (const int)
0:? -2 (const int) 0:? -4 (const int)
0:? -3 (const int) 0:15 Constant:
0:? -4 (const int) 0:15 1 (const int)
0:15 Constant: 0:15 2 (const int)
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:16 Constant: 0:16 Constant:
0:16 42 (const int) 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 Constant:
0:45 103 (const int) 0:45 0 (const uint)
0:45 103 (const int) 0:45 'myarray' (temp 2-element array of int)
0:45 103 (const int) 0:45 Constant:
0:45 103 (const int) 0:45 99 (const int)
0:45 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) 0:46 Function Call: fn1(vi4;b1;b1; (temp 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:46 Constant:
0:45 Constant: 0:46 104 (const int)
0:45 0 (const uint) 0:46 104 (const int)
0:45 'myarray' (temp 2-element array of int) 0:46 104 (const int)
0:45 Constant: 0:46 104 (const int)
0:45 99 (const int) 0:46 Constant:
0:46 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) 0:46 false (const bool)
0:46 Constant: 0:9 Constant:
0:46 104 (const int) 0:9 false (const bool)
0:46 104 (const int) 0:47 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:46 104 (const int) 0:47 Constant:
0:46 104 (const int) 0:47 105 (const int)
0:46 Constant: 0:47 105 (const int)
0:46 false (const bool) 0:47 105 (const int)
0:9 Constant: 0:47 105 (const int)
0:9 false (const bool) 0:47 Constant:
0:47 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) 0:47 false (const bool)
0:47 Constant: 0:47 Constant:
0:47 105 (const int) 0:47 true (const bool)
0:47 105 (const int) 0:49 Function Call: fn2(vi4;f1; (temp 4-component vector of int)
0:47 105 (const int) 0:49 Constant:
0:47 105 (const int) 0:49 110 (const int)
0:47 Constant: 0:49 110 (const int)
0:47 false (const bool) 0:49 110 (const int)
0:47 Constant: 0:49 110 (const int)
0:47 true (const bool) 0:49 Constant:
0:49 Function Call: fn2(vi4;f1; (temp 4-component vector of int) 0:49 11.110000
0:49 Constant: 0:50 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:49 110 (const int) 0:50 Constant:
0:49 110 (const int) 0:50 111 (const int)
0:49 110 (const int) 0:50 111 (const int)
0:49 110 (const int) 0:50 111 (const int)
0:49 Constant: 0:50 111 (const int)
0:49 11.110000 0:50 Constant:
0:50 Function Call: fn2(vi4;i1; (temp 4-component vector of int) 0:50 12 (const int)
0:50 Constant: 0:36 Function Definition: main( (temp void)
0:50 111 (const int) 0:36 Function Parameters:
0:50 111 (const int) 0:? Sequence
0:50 111 (const int) 0:36 move second child to first child (temp 4-component vector of int)
0:50 111 (const int) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:50 Constant: 0:36 Function Call: @main( (temp 4-component vector of int)
0:50 12 (const int)
0:50 Branch: Return
0:? Linker Objects 0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:? 'cia' (const int) 0:? 'cia' (const int)
0:? -4 (const int) 0:? -4 (const int)
0:? 'cib' (const int) 0:? 'cib' (const int)
0:? -42 (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:? '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: Linked fragment stage:
@ -242,7 +245,7 @@ gl_FragCoord origin is upper left
0:32 Function Definition: fn3(i1; (temp void) 0:32 Function Definition: fn3(i1; (temp void)
0:32 Function Parameters: 0:32 Function Parameters:
0:32 'p0' (in int) 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:36 Function Parameters:
0:? Sequence 0:? Sequence
0:37 Sequence 0:37 Sequence
@ -257,126 +260,129 @@ gl_FragCoord origin is upper left
0:40 Function Call: fn3(i1; (temp void) 0:40 Function Call: fn3(i1; (temp void)
0:40 Constant: 0:40 Constant:
0:40 5 (const int) 0:40 5 (const int)
0:50 Sequence 0:50 Branch: Return with expression
0:50 move second child to first child (temp 4-component vector of int) 0:49 add (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) 0:47 add (temp 4-component vector of int)
0:49 add (temp 4-component vector of int) 0:46 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:46 add (temp 4-component vector of int) 0:44 add (temp 4-component vector of int)
0:45 add (temp 4-component vector of int) 0:43 add (temp 4-component vector of int)
0:44 add (temp 4-component vector of int) 0:42 add (temp 4-component vector of int)
0:43 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 add (temp 4-component vector of int) 0:42 Constant:
0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) 0:42 100 (const 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:42 100 (const int)
0:42 100 (const int) 0:? Constant:
0:42 100 (const int) 0:? -1 (const int)
0:? Constant: 0:? -2 (const int)
0:? -1 (const int) 0:? -3 (const int)
0:? -2 (const int) 0:? -4 (const int)
0:? -3 (const int) 0:15 Constant:
0:? -4 (const int) 0:15 1 (const int)
0:15 Constant: 0:15 2 (const int)
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:16 Constant: 0:16 Constant:
0:16 42 (const int) 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 Constant:
0:45 103 (const int) 0:45 0 (const uint)
0:45 103 (const int) 0:45 'myarray' (temp 2-element array of int)
0:45 103 (const int) 0:45 Constant:
0:45 103 (const int) 0:45 99 (const int)
0:45 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) 0:46 Function Call: fn1(vi4;b1;b1; (temp 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:46 Constant:
0:45 Constant: 0:46 104 (const int)
0:45 0 (const uint) 0:46 104 (const int)
0:45 'myarray' (temp 2-element array of int) 0:46 104 (const int)
0:45 Constant: 0:46 104 (const int)
0:45 99 (const int) 0:46 Constant:
0:46 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) 0:46 false (const bool)
0:46 Constant: 0:9 Constant:
0:46 104 (const int) 0:9 false (const bool)
0:46 104 (const int) 0:47 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:46 104 (const int) 0:47 Constant:
0:46 104 (const int) 0:47 105 (const int)
0:46 Constant: 0:47 105 (const int)
0:46 false (const bool) 0:47 105 (const int)
0:9 Constant: 0:47 105 (const int)
0:9 false (const bool) 0:47 Constant:
0:47 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) 0:47 false (const bool)
0:47 Constant: 0:47 Constant:
0:47 105 (const int) 0:47 true (const bool)
0:47 105 (const int) 0:49 Function Call: fn2(vi4;f1; (temp 4-component vector of int)
0:47 105 (const int) 0:49 Constant:
0:47 105 (const int) 0:49 110 (const int)
0:47 Constant: 0:49 110 (const int)
0:47 false (const bool) 0:49 110 (const int)
0:47 Constant: 0:49 110 (const int)
0:47 true (const bool) 0:49 Constant:
0:49 Function Call: fn2(vi4;f1; (temp 4-component vector of int) 0:49 11.110000
0:49 Constant: 0:50 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:49 110 (const int) 0:50 Constant:
0:49 110 (const int) 0:50 111 (const int)
0:49 110 (const int) 0:50 111 (const int)
0:49 110 (const int) 0:50 111 (const int)
0:49 Constant: 0:50 111 (const int)
0:49 11.110000 0:50 Constant:
0:50 Function Call: fn2(vi4;i1; (temp 4-component vector of int) 0:50 12 (const int)
0:50 Constant: 0:36 Function Definition: main( (temp void)
0:50 111 (const int) 0:36 Function Parameters:
0:50 111 (const int) 0:? Sequence
0:50 111 (const int) 0:36 move second child to first child (temp 4-component vector of int)
0:50 111 (const int) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:50 Constant: 0:36 Function Call: @main( (temp 4-component vector of int)
0:50 12 (const int)
0:50 Branch: Return
0:? Linker Objects 0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:? 'cia' (const int) 0:? 'cia' (const int)
0:? -4 (const int) 0:? -4 (const int)
0:? 'cib' (const int) 0:? 'cib' (const int)
0:? -42 (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:? '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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 173 // Id's are bound by 178
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 88 EntryPoint Fragment 4 "main" 175
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 15 "fn1(vi4;b1;b1;" Name 15 "fn1(vi4;b1;b1;"
@ -396,43 +402,44 @@ gl_FragCoord origin is upper left
Name 38 "x" Name 38 "x"
Name 43 "fn3(i1;" Name 43 "fn3(i1;"
Name 42 "p0" Name 42 "p0"
Name 77 "myarray" Name 46 "@main("
Name 82 "param" Name 80 "myarray"
Name 85 "param" Name 85 "param"
Name 88 "@entryPointOutput" Name 88 "param"
Name 100 "param"
Name 101 "param" Name 101 "param"
Name 102 "param" Name 102 "param"
Name 103 "param" Name 103 "param"
Name 107 "$Global" Name 104 "param"
MemberName 107($Global) 0 "ui4" Name 108 "$Global"
Name 109 "" MemberName 108($Global) 0 "ui4"
Name 110 "param" Name 110 ""
Name 111 "param" Name 111 "param"
Name 115 "param" Name 112 "param"
Name 116 "param" Name 116 "param"
Name 121 "param" Name 117 "param"
Name 122 "param" Name 122 "param"
Name 125 "param" Name 123 "param"
Name 127 "param" Name 126 "param"
Name 133 "param" Name 128 "param"
Name 134 "param" Name 134 "param"
Name 137 "param" Name 135 "param"
Name 139 "param" Name 138 "param"
Name 145 "param" Name 140 "param"
Name 146 "param" Name 146 "param"
Name 147 "param" Name 147 "param"
Name 153 "param" Name 148 "param"
Name 154 "param" Name 154 "param"
Name 155 "param" Name 155 "param"
Name 161 "param" Name 156 "param"
Name 162 "param" Name 162 "param"
Name 167 "param" Name 163 "param"
Name 168 "param" Name 168 "param"
Decorate 88(@entryPointOutput) Location 0 Name 169 "param"
MemberDecorate 107($Global) 0 Offset 0 Name 175 "@entryPointOutput"
Decorate 107($Global) Block MemberDecorate 108($Global) 0 Offset 0
Decorate 109 DescriptorSet 0 Decorate 108($Global) Block
Decorate 110 DescriptorSet 0
Decorate 175(@entryPointOutput) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 1 6: TypeInt 32 1
@ -452,144 +459,63 @@ gl_FragCoord origin is upper left
35: TypePointer Function 34(float) 35: TypePointer Function 34(float)
36: TypeFunction 7(ivec4) 8(ptr) 35(ptr) 36: TypeFunction 7(ivec4) 8(ptr) 35(ptr)
41: TypeFunction 2 21(ptr) 41: TypeFunction 2 21(ptr)
51: 6(int) Constant 0 45: TypeFunction 7(ivec4)
61: 6(int) Constant 10 54: 6(int) Constant 0
62: 6(int) Constant 11 64: 6(int) Constant 10
63: 6(int) Constant 12 65: 6(int) Constant 11
64: 6(int) Constant 13 66: 6(int) Constant 12
65: 7(ivec4) ConstantComposite 61 62 63 64 67: 6(int) Constant 13
69: 6(int) Constant 20 68: 7(ivec4) ConstantComposite 64 65 66 67
70: 6(int) Constant 21 72: 6(int) Constant 20
71: 6(int) Constant 22 73: 6(int) Constant 21
72: 6(int) Constant 23 74: 6(int) Constant 22
73: 7(ivec4) ConstantComposite 69 70 71 72 75: 6(int) Constant 23
78: 6(int) Constant 30 76: 7(ivec4) ConstantComposite 72 73 74 75
79: 6(int) Constant 31 81: 6(int) Constant 30
80: 19 ConstantComposite 78 79 82: 6(int) Constant 31
81: 6(int) Constant 3 83: 19 ConstantComposite 81 82
84: 6(int) Constant 5 84: 6(int) Constant 3
87: TypePointer Output 7(ivec4) 87: 6(int) Constant 5
88(@entryPointOutput): 87(ptr) Variable Output 90: 6(int) Constant 100
89: 6(int) Constant 100 91: 7(ivec4) ConstantComposite 90 90 90 90
90: 7(ivec4) ConstantComposite 89 89 89 89 92: 6(int) Constant 4294967295
91: 6(int) Constant 4294967295 93: 6(int) Constant 4294967294
92: 6(int) Constant 4294967294 94: 6(int) Constant 4294967293
93: 6(int) Constant 4294967293 95: 6(int) Constant 4294967292
94: 6(int) Constant 4294967292 96: 7(ivec4) ConstantComposite 92 93 94 95
95: 7(ivec4) ConstantComposite 91 92 93 94 97: 6(int) Constant 1
96: 6(int) Constant 1 98: 6(int) Constant 2
97: 6(int) Constant 2 99: 19 ConstantComposite 97 98
98: 19 ConstantComposite 96 97 100: 6(int) Constant 42
99: 6(int) Constant 42 106: 6(int) Constant 101
105: 6(int) Constant 101 107: 7(ivec4) ConstantComposite 106 106 106 106
106: 7(ivec4) ConstantComposite 105 105 105 105 108($Global): TypeStruct 7(ivec4)
107($Global): TypeStruct 7(ivec4) 109: TypePointer Uniform 108($Global)
108: TypePointer Uniform 107($Global) 110: 109(ptr) Variable Uniform
109: 108(ptr) Variable Uniform 113: TypePointer Uniform 7(ivec4)
112: TypePointer Uniform 7(ivec4) 120: 6(int) Constant 102
119: 6(int) Constant 102 121: 7(ivec4) ConstantComposite 120 120 120 120
120: 7(ivec4) ConstantComposite 119 119 119 119 131: 6(int) Constant 103
130: 6(int) Constant 103 132: 7(ivec4) ConstantComposite 131 131 131 131
131: 7(ivec4) ConstantComposite 130 130 130 130 133: 6(int) Constant 99
132: 6(int) Constant 99 143: 6(int) Constant 104
142: 6(int) Constant 104 144: 7(ivec4) ConstantComposite 143 143 143 143
143: 7(ivec4) ConstantComposite 142 142 142 142 145: 9(bool) ConstantFalse
144: 9(bool) ConstantFalse 151: 6(int) Constant 105
150: 6(int) Constant 105 152: 7(ivec4) ConstantComposite 151 151 151 151
151: 7(ivec4) ConstantComposite 150 150 150 150 153: 9(bool) ConstantTrue
152: 9(bool) ConstantTrue 159: 6(int) Constant 110
158: 6(int) Constant 110 160: 7(ivec4) ConstantComposite 159 159 159 159
159: 7(ivec4) ConstantComposite 158 158 158 158 161: 34(float) Constant 1093780111
160: 34(float) Constant 1093780111 166: 6(int) Constant 111
165: 6(int) Constant 111 167: 7(ivec4) ConstantComposite 166 166 166 166
166: 7(ivec4) ConstantComposite 165 165 165 165 174: TypePointer Output 7(ivec4)
172: 6(int) Constant 4294967254 175(@entryPointOutput): 174(ptr) Variable Output
177: 6(int) Constant 4294967254
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
77(myarray): 20(ptr) Variable Function 176: 7(ivec4) FunctionCall 46(@main()
82(param): 21(ptr) Variable Function Store 175(@entryPointOutput) 176
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
Return Return
FunctionEnd FunctionEnd
15(fn1(vi4;b1;b1;): 7(ivec4) Function None 11 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 13(b1): 10(ptr) FunctionParameter
14(b2): 10(ptr) FunctionParameter 14(b2): 10(ptr) FunctionParameter
16: Label 16: Label
45: 7(ivec4) Load 12(p0) 48: 7(ivec4) Load 12(p0)
ReturnValue 45 ReturnValue 48
FunctionEnd FunctionEnd
27(fn1(vi4;vi4;i1[2];i1;): 7(ivec4) Function None 22 27(fn1(vi4;vi4;i1[2];i1;): 7(ivec4) Function None 22
23(p0): 8(ptr) FunctionParameter 23(p0): 8(ptr) FunctionParameter
@ -606,34 +532,121 @@ gl_FragCoord origin is upper left
25(p2): 20(ptr) FunctionParameter 25(p2): 20(ptr) FunctionParameter
26(p3): 21(ptr) FunctionParameter 26(p3): 21(ptr) FunctionParameter
28: Label 28: Label
48: 7(ivec4) Load 23(p0) 51: 7(ivec4) Load 23(p0)
49: 7(ivec4) Load 24(p1) 52: 7(ivec4) Load 24(p1)
50: 7(ivec4) IAdd 48 49 53: 7(ivec4) IAdd 51 52
52: 21(ptr) AccessChain 25(p2) 51 55: 21(ptr) AccessChain 25(p2) 54
53: 6(int) Load 52 56: 6(int) Load 55
54: 7(ivec4) CompositeConstruct 53 53 53 53
55: 7(ivec4) IAdd 50 54
56: 6(int) Load 26(p3)
57: 7(ivec4) CompositeConstruct 56 56 56 56 57: 7(ivec4) CompositeConstruct 56 56 56 56
58: 7(ivec4) IAdd 55 57 58: 7(ivec4) IAdd 53 57
ReturnValue 58 59: 6(int) Load 26(p3)
60: 7(ivec4) CompositeConstruct 59 59 59 59
61: 7(ivec4) IAdd 58 60
ReturnValue 61
FunctionEnd FunctionEnd
32(fn2(vi4;i1;): 7(ivec4) Function None 29 32(fn2(vi4;i1;): 7(ivec4) Function None 29
30(p0): 8(ptr) FunctionParameter 30(p0): 8(ptr) FunctionParameter
31(x): 21(ptr) FunctionParameter 31(x): 21(ptr) FunctionParameter
33: Label 33: Label
ReturnValue 65 ReturnValue 68
FunctionEnd FunctionEnd
39(fn2(vi4;f1;): 7(ivec4) Function None 36 39(fn2(vi4;f1;): 7(ivec4) Function None 36
37(p0): 8(ptr) FunctionParameter 37(p0): 8(ptr) FunctionParameter
38(x): 35(ptr) FunctionParameter 38(x): 35(ptr) FunctionParameter
40: Label 40: Label
68: 7(ivec4) Load 37(p0) 71: 7(ivec4) Load 37(p0)
74: 7(ivec4) IAdd 68 73 77: 7(ivec4) IAdd 71 76
ReturnValue 74 ReturnValue 77
FunctionEnd FunctionEnd
43(fn3(i1;): 2 Function None 41 43(fn3(i1;): 2 Function None 41
42(p0): 21(ptr) FunctionParameter 42(p0): 21(ptr) FunctionParameter
44: Label 44: Label
Return Return
FunctionEnd 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 Definition: fn3(i1; (temp void)
0:33 Function Parameters: 0:33 Function Parameters:
0:33 'p0' (in int) 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:37 Function Parameters:
0:? Sequence 0:? Sequence
0:38 Sequence 0:38 Sequence
@ -80,114 +80,117 @@ ERROR: node is still EOpNull!
0:38 Constant: 0:38 Constant:
0:38 30 (const int) 0:38 30 (const int)
0:38 31 (const int) 0:38 31 (const int)
0:49 Sequence 0:49 Branch: Return with expression
0:49 move second child to first child (temp 4-component vector of int) 0:48 add (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) 0:47 add (temp 4-component vector of int)
0:48 add (temp 4-component vector of int) 0:45 add (temp 4-component vector of int)
0:47 add (temp 4-component vector of int) 0:44 add (temp 4-component vector of int)
0:45 add (temp 4-component vector of int) 0:43 add (temp 4-component vector of int)
0:44 add (temp 4-component vector of int) 0:42 add (temp 4-component vector of int)
0:43 add (temp 4-component vector of int) 0:41 add (temp 4-component vector of int)
0:42 add (temp 4-component vector of int) 0:40 add (temp 4-component vector of int)
0:41 add (temp 4-component vector of int) 0:40 Function Call: fn1(vi4; (temp 4-component vector of int)
0:40 add (temp 4-component vector of int) 0:40 Constant:
0:40 Function Call: fn1(vi4; (temp 4-component vector of int) 0:40 100 (const 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: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:40 100 (const int) 0:41 Constant:
0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) 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 Constant:
0:41 101 (const int) 0:41 0 (const uint)
0:41 101 (const int) 0:15 Constant:
0:41 101 (const int) 0:15 1 (const int)
0:41 101 (const int) 0:15 2 (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:16 Constant: 0:16 Constant:
0:16 42 (const int) 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 Constant:
0:43 103 (const int) 0:43 0 (const uint)
0:43 103 (const int) 0:43 'myarray' (temp 2-element array of int)
0:43 103 (const int) 0:43 Constant:
0:43 103 (const int) 0:43 99 (const int)
0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) 0:44 Function Call: fn1(vi4;b1;b1; (temp 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:44 Constant:
0:43 Constant: 0:44 104 (const int)
0:43 0 (const uint) 0:44 104 (const int)
0:43 'myarray' (temp 2-element array of int) 0:44 104 (const int)
0:43 Constant: 0:44 104 (const int)
0:43 99 (const int) 0:44 Constant:
0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) 0:44 false (const bool)
0:44 Constant: 0:9 Constant:
0:44 104 (const int) 0:9 false (const bool)
0:44 104 (const int) 0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:44 104 (const int) 0:45 Constant:
0:44 104 (const int) 0:45 105 (const int)
0:44 Constant: 0:45 105 (const int)
0:44 false (const bool) 0:45 105 (const int)
0:9 Constant: 0:45 105 (const int)
0:9 false (const bool) 0:45 Constant:
0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) 0:45 false (const bool)
0:45 Constant: 0:45 Constant:
0:45 105 (const int) 0:45 true (const bool)
0:45 105 (const int) 0:47 Function Call: fn2(vi4; (temp 4-component vector of int)
0:45 105 (const int) 0:47 Constant:
0:45 105 (const int) 0:47 112 (const int)
0:45 Constant: 0:47 112 (const int)
0:45 false (const bool) 0:47 112 (const int)
0:45 Constant: 0:47 112 (const int)
0:45 true (const bool) 0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:47 Function Call: fn2(vi4; (temp 4-component vector of int) 0:48 Constant:
0:47 Constant: 0:48 110 (const int)
0:47 112 (const int) 0:48 110 (const int)
0:47 112 (const int) 0:48 110 (const int)
0:47 112 (const int) 0:48 110 (const int)
0:47 112 (const int) 0:48 Constant:
0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int) 0:48 11 (const int)
0:48 Constant: 0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:48 110 (const int) 0:49 Constant:
0:48 110 (const int) 0:49 111 (const int)
0:48 110 (const int) 0:49 111 (const int)
0:48 110 (const int) 0:49 111 (const int)
0:48 Constant: 0:49 111 (const int)
0:48 11 (const int) 0:49 Constant:
0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int) 0:49 12 (const int)
0:49 Constant: 0:37 Function Definition: main( (temp void)
0:49 111 (const int) 0:37 Function Parameters:
0:49 111 (const int) 0:? Sequence
0:49 111 (const int) 0:37 move second child to first child (temp 4-component vector of int)
0:49 111 (const int) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:49 Constant: 0:37 Function Call: @main( (temp 4-component vector of int)
0:49 12 (const int)
0:49 Branch: Return
0:? Linker Objects 0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:? 'cia' (const int) 0:? 'cia' (const int)
0:? -4 (const int) 0:? -4 (const int)
0:? 'cib' (const int) 0:? 'cib' (const int)
0:? -42 (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:? '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: Linked fragment stage:
@ -258,7 +261,7 @@ ERROR: node is still EOpNull!
0:33 Function Definition: fn3(i1; (temp void) 0:33 Function Definition: fn3(i1; (temp void)
0:33 Function Parameters: 0:33 Function Parameters:
0:33 'p0' (in int) 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:37 Function Parameters:
0:? Sequence 0:? Sequence
0:38 Sequence 0:38 Sequence
@ -267,113 +270,116 @@ ERROR: node is still EOpNull!
0:38 Constant: 0:38 Constant:
0:38 30 (const int) 0:38 30 (const int)
0:38 31 (const int) 0:38 31 (const int)
0:49 Sequence 0:49 Branch: Return with expression
0:49 move second child to first child (temp 4-component vector of int) 0:48 add (temp 4-component vector of int)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) 0:47 add (temp 4-component vector of int)
0:48 add (temp 4-component vector of int) 0:45 add (temp 4-component vector of int)
0:47 add (temp 4-component vector of int) 0:44 add (temp 4-component vector of int)
0:45 add (temp 4-component vector of int) 0:43 add (temp 4-component vector of int)
0:44 add (temp 4-component vector of int) 0:42 add (temp 4-component vector of int)
0:43 add (temp 4-component vector of int) 0:41 add (temp 4-component vector of int)
0:42 add (temp 4-component vector of int) 0:40 add (temp 4-component vector of int)
0:41 add (temp 4-component vector of int) 0:40 Function Call: fn1(vi4; (temp 4-component vector of int)
0:40 add (temp 4-component vector of int) 0:40 Constant:
0:40 Function Call: fn1(vi4; (temp 4-component vector of int) 0:40 100 (const 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: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:40 100 (const int) 0:41 Constant:
0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) 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 Constant:
0:41 101 (const int) 0:41 0 (const uint)
0:41 101 (const int) 0:15 Constant:
0:41 101 (const int) 0:15 1 (const int)
0:41 101 (const int) 0:15 2 (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:16 Constant: 0:16 Constant:
0:16 42 (const int) 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 Constant:
0:43 103 (const int) 0:43 0 (const uint)
0:43 103 (const int) 0:43 'myarray' (temp 2-element array of int)
0:43 103 (const int) 0:43 Constant:
0:43 103 (const int) 0:43 99 (const int)
0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) 0:44 Function Call: fn1(vi4;b1;b1; (temp 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:44 Constant:
0:43 Constant: 0:44 104 (const int)
0:43 0 (const uint) 0:44 104 (const int)
0:43 'myarray' (temp 2-element array of int) 0:44 104 (const int)
0:43 Constant: 0:44 104 (const int)
0:43 99 (const int) 0:44 Constant:
0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) 0:44 false (const bool)
0:44 Constant: 0:9 Constant:
0:44 104 (const int) 0:9 false (const bool)
0:44 104 (const int) 0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
0:44 104 (const int) 0:45 Constant:
0:44 104 (const int) 0:45 105 (const int)
0:44 Constant: 0:45 105 (const int)
0:44 false (const bool) 0:45 105 (const int)
0:9 Constant: 0:45 105 (const int)
0:9 false (const bool) 0:45 Constant:
0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) 0:45 false (const bool)
0:45 Constant: 0:45 Constant:
0:45 105 (const int) 0:45 true (const bool)
0:45 105 (const int) 0:47 Function Call: fn2(vi4; (temp 4-component vector of int)
0:45 105 (const int) 0:47 Constant:
0:45 105 (const int) 0:47 112 (const int)
0:45 Constant: 0:47 112 (const int)
0:45 false (const bool) 0:47 112 (const int)
0:45 Constant: 0:47 112 (const int)
0:45 true (const bool) 0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:47 Function Call: fn2(vi4; (temp 4-component vector of int) 0:48 Constant:
0:47 Constant: 0:48 110 (const int)
0:47 112 (const int) 0:48 110 (const int)
0:47 112 (const int) 0:48 110 (const int)
0:47 112 (const int) 0:48 110 (const int)
0:47 112 (const int) 0:48 Constant:
0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int) 0:48 11 (const int)
0:48 Constant: 0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
0:48 110 (const int) 0:49 Constant:
0:48 110 (const int) 0:49 111 (const int)
0:48 110 (const int) 0:49 111 (const int)
0:48 110 (const int) 0:49 111 (const int)
0:48 Constant: 0:49 111 (const int)
0:48 11 (const int) 0:49 Constant:
0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int) 0:49 12 (const int)
0:49 Constant: 0:37 Function Definition: main( (temp void)
0:49 111 (const int) 0:37 Function Parameters:
0:49 111 (const int) 0:? Sequence
0:49 111 (const int) 0:37 move second child to first child (temp 4-component vector of int)
0:49 111 (const int) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:49 Constant: 0:37 Function Call: @main( (temp 4-component vector of int)
0:49 12 (const int)
0:49 Branch: Return
0:? Linker Objects 0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
0:? 'cia' (const int) 0:? 'cia' (const int)
0:? -4 (const int) 0:? -4 (const int)
0:? 'cib' (const int) 0:? 'cib' (const int)
0:? -42 (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:? '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 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: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 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:? Sequence
0:19 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}) 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 1 (const int)
0:30 Convert int to float (temp float) 0:30 Convert int to float (temp float)
0:30 'cgi' (temp int) 0:30 'cgi' (temp int)
0:32 Sequence 0:32 Branch: Return with expression
0:32 Sequence 0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:32 move second child to first child (temp int) 0:18 Function Definition: PixelShaderFunction( (temp void)
0:? 'a' (layout(location=0 ) out int) 0:18 Function Parameters:
0:32 a: direct index for structure (temp int) 0:? Sequence
0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:18 move second child to first child (temp 4-component vector of float)
0:32 Constant: 0:? 'input' (temp 4-component vector of float)
0:32 0 (const int) 0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:32 move second child to first child (temp float) 0:18 Sequence
0:? 'b' (layout(location=1 ) out float) 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:32 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:32 'o4' (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:32 Constant: 0:? 'input' (temp 4-component vector of float)
0:32 1 (const int) 0:18 move second child to first child (temp int)
0:32 move second child to first child (temp bool) 0:? 'a' (layout(location=0 ) out int)
0:? 'c' (layout(location=2 ) out bool) 0:18 a: direct index for structure (temp int)
0:32 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:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:18 Constant:
0:32 Constant: 0:18 0 (const int)
0:32 2 (const int) 0:18 move second child to first child (temp float)
0:32 move second child to first child (temp 4-component vector of float) 0:? 'b' (layout(location=1 ) out float)
0:? 'v' (layout(location=3 ) out 4-component vector of float) 0:18 b: direct index for structure (temp float)
0:32 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:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:18 Constant:
0:32 Constant: 0:18 1 (const int)
0:32 3 (const int) 0:18 move second child to first child (temp bool)
0:32 Branch: Return 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:? 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:? 'a' (layout(location=0 ) out int)
0:? 'b' (layout(location=1 ) out float) 0:? 'b' (layout(location=1 ) out float)
0:? 'c' (layout(location=2 ) out bool) 0:? 'c' (layout(location=2 ) out bool)
0:? 'v' (layout(location=3 ) out 4-component vector of float) 0:? 'v' (layout(location=3 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 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:? 'cgf2a' (const 3-element array of 2-component vector of float)
0:? 0.000000 0:? 0.000000
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: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 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:? Sequence
0:19 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}) 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 1 (const int)
0:30 Convert int to float (temp float) 0:30 Convert int to float (temp float)
0:30 'cgi' (temp int) 0:30 'cgi' (temp int)
0:32 Sequence 0:32 Branch: Return with expression
0:32 Sequence 0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
0:32 move second child to first child (temp int) 0:18 Function Definition: PixelShaderFunction( (temp void)
0:? 'a' (layout(location=0 ) out int) 0:18 Function Parameters:
0:32 a: direct index for structure (temp int) 0:? Sequence
0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:18 move second child to first child (temp 4-component vector of float)
0:32 Constant: 0:? 'input' (temp 4-component vector of float)
0:32 0 (const int) 0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:32 move second child to first child (temp float) 0:18 Sequence
0:? 'b' (layout(location=1 ) out float) 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:32 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:32 'o4' (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:32 Constant: 0:? 'input' (temp 4-component vector of float)
0:32 1 (const int) 0:18 move second child to first child (temp int)
0:32 move second child to first child (temp bool) 0:? 'a' (layout(location=0 ) out int)
0:? 'c' (layout(location=2 ) out bool) 0:18 a: direct index for structure (temp int)
0:32 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:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:18 Constant:
0:32 Constant: 0:18 0 (const int)
0:32 2 (const int) 0:18 move second child to first child (temp float)
0:32 move second child to first child (temp 4-component vector of float) 0:? 'b' (layout(location=1 ) out float)
0:? 'v' (layout(location=3 ) out 4-component vector of float) 0:18 b: direct index for structure (temp float)
0:32 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:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:18 Constant:
0:32 Constant: 0:18 1 (const int)
0:32 3 (const int) 0:18 move second child to first child (temp bool)
0:32 Branch: Return 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:? 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:? 'a' (layout(location=0 ) out int)
0:? 'b' (layout(location=1 ) out float) 0:? 'b' (layout(location=1 ) out float)
0:? 'c' (layout(location=2 ) out bool) 0:? 'c' (layout(location=2 ) out bool)
0:? 'v' (layout(location=3 ) out 4-component vector of float) 0:? 'v' (layout(location=3 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 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:? 'cgf2a' (const 3-element array of 2-component vector of float)
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
@ -380,146 +400,167 @@ gl_FragCoord origin is upper left
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 92 // Id's are bound by 104
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 72 76 80 84 89 EntryPoint Fragment 4 "PixelShaderFunction" 80 87 91 95 99
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 9 "gv" Name 11 "outs"
Name 17 "gfa" MemberName 11(outs) 0 "a"
Name 21 "outs" MemberName 11(outs) 1 "b"
MemberName 21(outs) 0 "a" MemberName 11(outs) 2 "c"
MemberName 21(outs) 1 "b" MemberName 11(outs) 3 "v"
MemberName 21(outs) 2 "c" Name 14 "@PixelShaderFunction(vf4;"
MemberName 21(outs) 3 "v" Name 13 "input"
Name 23 "o2" Name 17 "gv"
Name 28 "o4" Name 25 "gfa"
Name 37 "o1" Name 28 "o2"
Name 40 "o3" Name 33 "o4"
Name 47 "Nest" Name 41 "o1"
MemberName 47(Nest) 0 "m" Name 44 "o3"
MemberName 47(Nest) 1 "os" Name 51 "Nest"
MemberName 47(Nest) 2 "b" MemberName 51(Nest) 0 "m"
Name 49 "nest" MemberName 51(Nest) 1 "os"
Name 57 "gf2a" MemberName 51(Nest) 2 "b"
Name 61 "cgi" Name 53 "nest"
Name 72 "a" Name 61 "gf2a"
Name 76 "b" Name 65 "cgi"
Name 80 "c" Name 78 "input"
Name 84 "v" Name 80 "input"
Name 89 "input" Name 82 "flattenTemp"
Decorate 72(a) Location 0 Name 83 "param"
Decorate 76(b) Location 1 Name 87 "a"
Decorate 80(c) Location 2 Name 91 "b"
Decorate 84(v) Location 3 Name 95 "c"
Decorate 89(input) Location 0 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Private 7(fvec4) 8: TypePointer Function 7(fvec4)
9(gv): 8(ptr) Variable Private 9: TypeInt 32 1
10: 6(float) Constant 0 10: TypeBool
11: 6(float) Constant 1065353216 11(outs): TypeStruct 9(int) 6(float) 10(bool) 7(fvec4)
12: 7(fvec4) ConstantComposite 10 10 11 10 12: TypeFunction 11(outs) 8(ptr)
13: TypeInt 32 0 16: TypePointer Private 7(fvec4)
14: 13(int) Constant 3 17(gv): 16(ptr) Variable Private
15: TypeArray 6(float) 14 18: 6(float) Constant 0
16: TypePointer Private 15 19: 6(float) Constant 1065353216
17(gfa): 16(ptr) Variable Private 20: 7(fvec4) ConstantComposite 18 18 19 18
18: 15 ConstantComposite 10 10 10 21: TypeInt 32 0
19: TypeInt 32 1 22: 21(int) Constant 3
20: TypeBool 23: TypeArray 6(float) 22
21(outs): TypeStruct 19(int) 6(float) 20(bool) 7(fvec4) 24: TypePointer Private 23
22: TypePointer Function 21(outs) 25(gfa): 24(ptr) Variable Private
24: 19(int) Constant 3 26: 23 ConstantComposite 18 18 18
25: 20(bool) ConstantFalse 27: TypePointer Function 11(outs)
26: 7(fvec4) ConstantComposite 10 10 10 10 29: 9(int) Constant 3
27: 21(outs) ConstantComposite 24 10 25 26 30: 10(bool) ConstantFalse
30: 19(int) Constant 2 31: 7(fvec4) ConstantComposite 18 18 18 18
31: TypePointer Private 6(float) 32: 11(outs) ConstantComposite 29 18 30 31
35: TypePointer Function 7(fvec4) 35: 9(int) Constant 2
38: 19(int) Constant 0 36: TypePointer Private 6(float)
39: 21(outs) ConstantComposite 38 10 25 26 42: 9(int) Constant 0
41: TypePointer Function 20(bool) 43: 11(outs) ConstantComposite 42 18 30 31
45: TypeVector 6(float) 3 45: TypePointer Function 10(bool)
46: TypeMatrix 45(fvec3) 4 49: TypeVector 6(float) 3
47(Nest): TypeStruct 46 21(outs) 20(bool) 50: TypeMatrix 49(fvec3) 4
48: TypePointer Function 47(Nest) 51(Nest): TypeStruct 50 11(outs) 10(bool)
50: 45(fvec3) ConstantComposite 10 10 10 52: TypePointer Function 51(Nest)
51: 46 ConstantComposite 50 50 50 50 54: 49(fvec3) ConstantComposite 18 18 18
52: 47(Nest) ConstantComposite 51 39 25 55: 50 ConstantComposite 54 54 54 54
53: TypeVector 6(float) 2 56: 51(Nest) ConstantComposite 55 43 30
54: 13(int) Constant 4 57: TypeVector 6(float) 2
55: TypeArray 53(fvec2) 54 58: 21(int) Constant 4
56: TypePointer Function 55 59: TypeArray 57(fvec2) 58
58: 53(fvec2) ConstantComposite 10 10 60: TypePointer Function 59
59: 55 ConstantComposite 58 58 58 58 62: 57(fvec2) ConstantComposite 18 18
60: TypePointer Function 19(int) 63: 59 ConstantComposite 62 62 62 62
62: 19(int) Constant 1 64: TypePointer Function 9(int)
63: 13(int) Constant 1 66: 9(int) Constant 1
64: TypePointer Function 6(float) 67: 21(int) Constant 1
71: TypePointer Output 19(int) 68: TypePointer Function 6(float)
72(a): 71(ptr) Variable Output 79: TypePointer Input 7(fvec4)
75: TypePointer Output 6(float) 80(input): 79(ptr) Variable Input
76(b): 75(ptr) Variable Output 86: TypePointer Output 9(int)
79: TypePointer Output 20(bool) 87(a): 86(ptr) Variable Output
80(c): 79(ptr) Variable Output 90: TypePointer Output 6(float)
83: TypePointer Output 7(fvec4) 91(b): 90(ptr) Variable Output
84(v): 83(ptr) Variable Output 94: TypePointer Output 10(bool)
88: TypePointer Input 7(fvec4) 95(c): 94(ptr) Variable Output
89(input): 88(ptr) Variable Input 98: TypePointer Output 7(fvec4)
90: TypeArray 53(fvec2) 14 99(v): 98(ptr) Variable Output
91: 90 ConstantComposite 58 58 58 102: TypeArray 57(fvec2) 22
103: 102 ConstantComposite 62 62 62
4(PixelShaderFunction): 2 Function None 3 4(PixelShaderFunction): 2 Function None 3
5: Label 5: Label
23(o2): 22(ptr) Variable Function 78(input): 8(ptr) Variable Function
28(o4): 22(ptr) Variable Function 82(flattenTemp): 27(ptr) Variable Function
37(o1): 22(ptr) Variable Function 83(param): 8(ptr) Variable Function
40(o3): 22(ptr) Variable Function Store 17(gv) 20
49(nest): 48(ptr) Variable Function Store 25(gfa) 26
57(gf2a): 56(ptr) Variable Function 81: 7(fvec4) Load 80(input)
61(cgi): 60(ptr) Variable Function Store 78(input) 81
Store 9(gv) 12 84: 7(fvec4) Load 78(input)
Store 17(gfa) 18 Store 83(param) 84
Store 23(o2) 27 85: 11(outs) FunctionCall 14(@PixelShaderFunction(vf4;) 83(param)
29: 7(fvec4) Load 9(gv) Store 82(flattenTemp) 85
32: 31(ptr) AccessChain 17(gfa) 30 88: 64(ptr) AccessChain 82(flattenTemp) 42
33: 6(float) Load 32 89: 9(int) Load 88
34: 7(fvec4) VectorTimesScalar 29 33 Store 87(a) 89
36: 35(ptr) AccessChain 28(o4) 24 92: 68(ptr) AccessChain 82(flattenTemp) 66
Store 36 34 93: 6(float) Load 92
Store 37(o1) 39 Store 91(b) 93
Store 40(o3) 39 96: 45(ptr) AccessChain 82(flattenTemp) 35
Store 28(o4) 39 97: 10(bool) Load 96
42: 41(ptr) AccessChain 37(o1) 30 Store 95(c) 97
43: 20(bool) Load 42 100: 8(ptr) AccessChain 82(flattenTemp) 29
44: 41(ptr) AccessChain 28(o4) 30 101: 7(fvec4) Load 100
Store 44 43 Store 99(v) 101
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:4 Function Parameters:
0:? Sequence 0:? Sequence
0:124 Sequence 0:124 Sequence
@ -31,21 +31,27 @@ gl_FragCoord origin is upper left
0:127 1 (const int) 0:127 1 (const int)
0:127 Constant: 0:127 Constant:
0:127 1.000000 0:127 1.000000
0:129 Sequence 0:129 Branch: Return with expression
0:129 Sequence 0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:129 move second child to first child (temp 4-component vector of float) 0:4 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:4 Function Parameters:
0:129 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:4 Sequence
0:129 Constant: 0:4 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:129 0 (const int) 0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:129 move second child to first child (temp float) 0:4 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:4 move second child to first child (temp 4-component vector of float)
0:129 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:4 Color: direct index for structure (temp 4-component vector of float)
0:129 Constant: 0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:129 1 (const int) 0:4 Constant:
0:129 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth) 0:? 'Depth' (out float FragDepth)
@ -57,7 +63,7 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:4 Function Parameters:
0:? Sequence 0:? Sequence
0:124 Sequence 0:124 Sequence
@ -86,80 +92,97 @@ gl_FragCoord origin is upper left
0:127 1 (const int) 0:127 1 (const int)
0:127 Constant: 0:127 Constant:
0:127 1.000000 0:127 1.000000
0:129 Sequence 0:129 Branch: Return with expression
0:129 Sequence 0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:129 move second child to first child (temp 4-component vector of float) 0:4 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:4 Function Parameters:
0:129 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:4 Sequence
0:129 Constant: 0:4 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:129 0 (const int) 0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:129 move second child to first child (temp float) 0:4 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:? 'Depth' (out float FragDepth) 0:4 move second child to first child (temp 4-component vector of float)
0:129 Depth: direct index for structure (temp float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) 0:4 Color: direct index for structure (temp 4-component vector of float)
0:129 Constant: 0:4 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:129 1 (const int) 0:4 Constant:
0:129 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth) 0:? 'Depth' (out float FragDepth)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 35 // Id's are bound by 42
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 27 31 EntryPoint Fragment 4 "main" 35 39
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "thisLineIs" Name 8 "PS_OUTPUT"
Name 12 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 12(PS_OUTPUT) 0 "Color" MemberName 8(PS_OUTPUT) 1 "Depth"
MemberName 12(PS_OUTPUT) 1 "Depth" Name 10 "@main("
Name 14 "psout" Name 14 "thisLineIs"
Name 27 "Color" Name 17 "psout"
Name 31 "Depth" Name 32 "flattenTemp"
Decorate 27(Color) Location 0 Name 35 "Color"
Decorate 31(Depth) BuiltIn FragDepth Name 39 "Depth"
Decorate 35(Color) Location 0
Decorate 39(Depth) BuiltIn FragDepth
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 1 6: TypeFloat 32
7: TypePointer Function 6(int) 7: TypeVector 6(float) 4
9: 6(int) Constant 124 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
10: TypeFloat 32 9: TypeFunction 8(PS_OUTPUT)
11: TypeVector 10(float) 4 12: TypeInt 32 1
12(PS_OUTPUT): TypeStruct 11(fvec4) 10(float) 13: TypePointer Function 12(int)
13: TypePointer Function 12(PS_OUTPUT) 15: 12(int) Constant 124
15: 6(int) Constant 0 16: TypePointer Function 8(PS_OUTPUT)
18: 10(float) Constant 0 18: 12(int) Constant 0
19: 10(float) Constant 1065353216 21: 6(float) Constant 0
21: TypePointer Function 11(fvec4) 22: 6(float) Constant 1065353216
23: 6(int) Constant 1 24: TypePointer Function 7(fvec4)
24: TypePointer Function 10(float) 26: 12(int) Constant 1
26: TypePointer Output 11(fvec4) 27: TypePointer Function 6(float)
27(Color): 26(ptr) Variable Output 34: TypePointer Output 7(fvec4)
30: TypePointer Output 10(float) 35(Color): 34(ptr) Variable Output
31(Depth): 30(ptr) Variable Output 38: TypePointer Output 6(float)
39(Depth): 38(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
8(thisLineIs): 7(ptr) Variable Function 32(flattenTemp): 16(ptr) Variable Function
14(psout): 13(ptr) Variable Function 33:8(PS_OUTPUT) FunctionCall 10(@main()
Store 8(thisLineIs) 9 Store 32(flattenTemp) 33
16: 6(int) Load 8(thisLineIs) 36: 24(ptr) AccessChain 32(flattenTemp) 18
17: 10(float) ConvertSToF 16 37: 7(fvec4) Load 36
20: 11(fvec4) CompositeConstruct 17 18 18 19 Store 35(Color) 37
22: 21(ptr) AccessChain 14(psout) 15 40: 27(ptr) AccessChain 32(flattenTemp) 26
Store 22 20 41: 6(float) Load 40
25: 24(ptr) AccessChain 14(psout) 23 Store 39(Depth) 41
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 Function Parameters:
0:7 'a1' (layout(location=0 ) in 4-component vector of float) 0:7 'a1' (in 4-component vector of float)
0:7 'a2' (layout(location=1 ) in 4-component vector of float) 0:7 'a2' (in 4-component vector of float)
0:7 'a3' (layout(location=2 ) in 4-component vector of float) 0:7 'a3' (in 4-component vector of float)
0:7 'a4' (layout(location=3 ) in 4-component vector of float) 0:7 'a4' (in 4-component vector of float)
0:? Sequence 0:? Sequence
0:8 Sequence 0:8 Branch: Return with expression
0:8 move second child to first child (temp 4-component vector of float) 0:8 add (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 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 add (temp 4-component vector of float)
0:8 add (temp 4-component vector of float) 0:8 'a1' (in 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 component-wise multiply (temp 4-component vector of float) 0:8 'a2' (in 4-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float) 0:8 'a3' (in 4-component vector of float)
0:8 'a3' (layout(location=2 ) in 4-component vector of float) 0:8 'a4' (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:? Construct vec4 (temp 4-component vector of float) 0:8 component-wise multiply (temp 3-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 vector swizzle (temp 3-component vector of float) 0:8 'a1' (in 4-component vector of float)
0:8 'a1' (layout(location=0 ) in 4-component vector of float) 0:8 Sequence
0:8 Sequence 0:8 Constant:
0:8 Constant: 0:8 0 (const int)
0:8 0 (const int) 0:8 Constant:
0:8 Constant: 0:8 1 (const int)
0:8 1 (const int) 0:8 Constant:
0:8 Constant: 0:8 2 (const int)
0:8 2 (const int) 0:8 vector swizzle (temp 3-component vector of float)
0:8 vector swizzle (temp 3-component vector of float) 0:8 'a2' (in 4-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float) 0:8 Sequence
0:8 Sequence 0:8 Constant:
0:8 Constant: 0:8 0 (const int)
0:8 0 (const int) 0:8 Constant:
0:8 Constant: 0:8 1 (const int)
0:8 1 (const int) 0:8 Constant:
0:8 Constant: 0:8 2 (const int)
0:8 2 (const int) 0:8 direct index (temp float)
0:8 direct index (temp float) 0:8 'a3' (in 4-component vector of float)
0:8 'a3' (layout(location=2 ) in 4-component vector of float) 0:8 Constant:
0:8 Constant: 0:8 3 (const int)
0:8 3 (const int) 0:7 Function Definition: PixelShaderFunction( (temp void)
0:8 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'a1' (layout(location=0 ) in 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 Function Parameters:
0:7 'a1' (layout(location=0 ) in 4-component vector of float) 0:7 'a1' (in 4-component vector of float)
0:7 'a2' (layout(location=1 ) in 4-component vector of float) 0:7 'a2' (in 4-component vector of float)
0:7 'a3' (layout(location=2 ) in 4-component vector of float) 0:7 'a3' (in 4-component vector of float)
0:7 'a4' (layout(location=3 ) in 4-component vector of float) 0:7 'a4' (in 4-component vector of float)
0:? Sequence 0:? Sequence
0:8 Sequence 0:8 Branch: Return with expression
0:8 move second child to first child (temp 4-component vector of float) 0:8 add (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 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 add (temp 4-component vector of float)
0:8 add (temp 4-component vector of float) 0:8 'a1' (in 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 component-wise multiply (temp 4-component vector of float) 0:8 'a2' (in 4-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float) 0:8 'a3' (in 4-component vector of float)
0:8 'a3' (layout(location=2 ) in 4-component vector of float) 0:8 'a4' (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:? Construct vec4 (temp 4-component vector of float) 0:8 component-wise multiply (temp 3-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 vector swizzle (temp 3-component vector of float) 0:8 'a1' (in 4-component vector of float)
0:8 'a1' (layout(location=0 ) in 4-component vector of float) 0:8 Sequence
0:8 Sequence 0:8 Constant:
0:8 Constant: 0:8 0 (const int)
0:8 0 (const int) 0:8 Constant:
0:8 Constant: 0:8 1 (const int)
0:8 1 (const int) 0:8 Constant:
0:8 Constant: 0:8 2 (const int)
0:8 2 (const int) 0:8 vector swizzle (temp 3-component vector of float)
0:8 vector swizzle (temp 3-component vector of float) 0:8 'a2' (in 4-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float) 0:8 Sequence
0:8 Sequence 0:8 Constant:
0:8 Constant: 0:8 0 (const int)
0:8 0 (const int) 0:8 Constant:
0:8 Constant: 0:8 1 (const int)
0:8 1 (const int) 0:8 Constant:
0:8 Constant: 0:8 2 (const int)
0:8 2 (const int) 0:8 direct index (temp float)
0:8 direct index (temp float) 0:8 'a3' (in 4-component vector of float)
0:8 'a3' (layout(location=2 ) in 4-component vector of float) 0:8 Constant:
0:8 Constant: 0:8 3 (const int)
0:8 3 (const int) 0:7 Function Definition: PixelShaderFunction( (temp void)
0:8 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'a1' (layout(location=0 ) in 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 39 // Id's are bound by 65
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 11 13 15 19 EntryPoint Fragment 4 "PixelShaderFunction" 43 46 49 52 55
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 9 "@entryPointOutput" Name 14 "@PixelShaderFunction(vf4;vf4;vf4;vf4;"
Name 11 "a1" Name 10 "a1"
Name 13 "a2" Name 11 "a2"
Name 15 "a3" Name 12 "a3"
Name 19 "a4" Name 13 "a4"
Decorate 9(@entryPointOutput) Location 0 Name 41 "a1"
Decorate 11(a1) Location 0 Name 43 "a1"
Decorate 13(a2) Location 1 Name 45 "a2"
Decorate 15(a3) Location 2 Name 46 "a2"
Decorate 19(a4) Location 3 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 4 7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4) 8: TypePointer Function 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output 9: TypeFunction 7(fvec4) 8(ptr) 8(ptr) 8(ptr) 8(ptr)
10: TypePointer Input 7(fvec4) 23: TypeVector 6(float) 3
11(a1): 10(ptr) Variable Input 29: TypeInt 32 0
13(a2): 10(ptr) Variable Input 30: 29(int) Constant 3
15(a3): 10(ptr) Variable Input 31: TypePointer Function 6(float)
19(a4): 10(ptr) Variable Input 42: TypePointer Input 7(fvec4)
22: TypeVector 6(float) 3 43(a1): 42(ptr) Variable Input
28: TypeInt 32 0 46(a2): 42(ptr) Variable Input
29: 28(int) Constant 3 49(a3): 42(ptr) Variable Input
30: TypePointer Input 6(float) 52(a4): 42(ptr) Variable Input
54: TypePointer Output 7(fvec4)
55(@entryPointOutput): 54(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3 4(PixelShaderFunction): 2 Function None 3
5: Label 5: Label
12: 7(fvec4) Load 11(a1) 41(a1): 8(ptr) Variable Function
14: 7(fvec4) Load 13(a2) 45(a2): 8(ptr) Variable Function
16: 7(fvec4) Load 15(a3) 48(a3): 8(ptr) Variable Function
17: 7(fvec4) FMul 14 16 51(a4): 8(ptr) Variable Function
18: 7(fvec4) FAdd 12 17 56(param): 8(ptr) Variable Function
20: 7(fvec4) Load 19(a4) 58(param): 8(ptr) Variable Function
21: 7(fvec4) FAdd 18 20 60(param): 8(ptr) Variable Function
23: 7(fvec4) Load 11(a1) 62(param): 8(ptr) Variable Function
24: 22(fvec3) VectorShuffle 23 23 0 1 2 44: 7(fvec4) Load 43(a1)
25: 7(fvec4) Load 13(a2) Store 41(a1) 44
26: 22(fvec3) VectorShuffle 25 25 0 1 2 47: 7(fvec4) Load 46(a2)
27: 22(fvec3) FMul 24 26 Store 45(a2) 47
31: 30(ptr) AccessChain 15(a3) 29 50: 7(fvec4) Load 49(a3)
32: 6(float) Load 31 Store 48(a3) 50
33: 6(float) CompositeExtract 27 0 53: 7(fvec4) Load 52(a4)
34: 6(float) CompositeExtract 27 1 Store 51(a4) 53
35: 6(float) CompositeExtract 27 2 57: 7(fvec4) Load 41(a1)
36: 7(fvec4) CompositeConstruct 33 34 35 32 Store 56(param) 57
37: 7(fvec4) FAdd 21 36 59: 7(fvec4) Load 45(a2)
Store 9(@entryPointOutput) 37 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 Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 Function Parameters:
0:7 'a1' (layout(location=0 ) in int) 0:7 'a1' (in int)
0:7 'a2' (layout(location=1 ) in int) 0:7 'a2' (in int)
0:7 'a3' (layout(location=2 ) in int) 0:7 'a3' (in int)
0:7 'a4' (layout(location=3 ) in int) 0:7 'a4' (in int)
0:? Sequence 0:? Sequence
0:8 Sequence 0:8 Branch: Return with expression
0:8 move second child to first child (temp int) 0:8 add (temp int)
0:? '@entryPointOutput' (layout(location=0 ) out int) 0:8 left-shift (temp int)
0:8 add (temp int) 0:8 add (temp int)
0:8 left-shift (temp int) 0:8 component-wise multiply (temp int)
0:8 add (temp int) 0:8 'a1' (in int)
0:8 component-wise multiply (temp int) 0:8 'a2' (in int)
0:8 'a1' (layout(location=0 ) in int) 0:8 'a3' (in int)
0:8 'a2' (layout(location=1 ) in int) 0:8 'a4' (in int)
0:8 'a3' (layout(location=2 ) in int) 0:8 left-shift (temp int)
0:8 'a4' (layout(location=3 ) in int) 0:8 'a1' (in int)
0:8 left-shift (temp int) 0:8 add (temp int)
0:8 'a1' (layout(location=0 ) in int) 0:8 'a2' (in int)
0:8 add (temp int) 0:8 component-wise multiply (temp int)
0:8 'a2' (layout(location=1 ) in int) 0:8 'a3' (in int)
0:8 component-wise multiply (temp int) 0:8 'a4' (in int)
0:8 'a3' (layout(location=2 ) in int) 0:7 Function Definition: PixelShaderFunction( (temp void)
0:8 'a4' (layout(location=3 ) in int) 0:7 Function Parameters:
0:8 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out int) 0:? '@entryPointOutput' (layout(location=0 ) out int)
0:? 'a1' (layout(location=0 ) in int) 0:? 'a1' (layout(location=0 ) in int)
@ -42,32 +61,51 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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 Function Parameters:
0:7 'a1' (layout(location=0 ) in int) 0:7 'a1' (in int)
0:7 'a2' (layout(location=1 ) in int) 0:7 'a2' (in int)
0:7 'a3' (layout(location=2 ) in int) 0:7 'a3' (in int)
0:7 'a4' (layout(location=3 ) in int) 0:7 'a4' (in int)
0:? Sequence 0:? Sequence
0:8 Sequence 0:8 Branch: Return with expression
0:8 move second child to first child (temp int) 0:8 add (temp int)
0:? '@entryPointOutput' (layout(location=0 ) out int) 0:8 left-shift (temp int)
0:8 add (temp int) 0:8 add (temp int)
0:8 left-shift (temp int) 0:8 component-wise multiply (temp int)
0:8 add (temp int) 0:8 'a1' (in int)
0:8 component-wise multiply (temp int) 0:8 'a2' (in int)
0:8 'a1' (layout(location=0 ) in int) 0:8 'a3' (in int)
0:8 'a2' (layout(location=1 ) in int) 0:8 'a4' (in int)
0:8 'a3' (layout(location=2 ) in int) 0:8 left-shift (temp int)
0:8 'a4' (layout(location=3 ) in int) 0:8 'a1' (in int)
0:8 left-shift (temp int) 0:8 add (temp int)
0:8 'a1' (layout(location=0 ) in int) 0:8 'a2' (in int)
0:8 add (temp int) 0:8 component-wise multiply (temp int)
0:8 'a2' (layout(location=1 ) in int) 0:8 'a3' (in int)
0:8 component-wise multiply (temp int) 0:8 'a4' (in int)
0:8 'a3' (layout(location=2 ) in int) 0:7 Function Definition: PixelShaderFunction( (temp void)
0:8 'a4' (layout(location=3 ) in int) 0:7 Function Parameters:
0:8 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out int) 0:? '@entryPointOutput' (layout(location=0 ) out int)
0:? 'a1' (layout(location=0 ) in int) 0:? 'a1' (layout(location=0 ) in int)
@ -77,51 +115,99 @@ gl_FragCoord origin is upper left
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 30 // Id's are bound by 56
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 8 10 12 15 18 EntryPoint Fragment 4 "PixelShaderFunction" 34 37 40 43 46
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 8 "@entryPointOutput" Name 13 "@PixelShaderFunction(i1;i1;i1;i1;"
Name 10 "a1" Name 9 "a1"
Name 12 "a2" Name 10 "a2"
Name 15 "a3" Name 11 "a3"
Name 18 "a4" Name 12 "a4"
Decorate 8(@entryPointOutput) Location 0 Name 32 "a1"
Decorate 10(a1) Location 0 Name 34 "a1"
Decorate 12(a2) Location 1 Name 36 "a2"
Decorate 15(a3) Location 2 Name 37 "a2"
Decorate 18(a4) Location 3 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 1 6: TypeInt 32 1
7: TypePointer Output 6(int) 7: TypePointer Function 6(int)
8(@entryPointOutput): 7(ptr) Variable Output 8: TypeFunction 6(int) 7(ptr) 7(ptr) 7(ptr) 7(ptr)
9: TypePointer Input 6(int) 33: TypePointer Input 6(int)
10(a1): 9(ptr) Variable Input 34(a1): 33(ptr) Variable Input
12(a2): 9(ptr) Variable Input 37(a2): 33(ptr) Variable Input
15(a3): 9(ptr) Variable Input 40(a3): 33(ptr) Variable Input
18(a4): 9(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 4(PixelShaderFunction): 2 Function None 3
5: Label 5: Label
11: 6(int) Load 10(a1) 32(a1): 7(ptr) Variable Function
13: 6(int) Load 12(a2) 36(a2): 7(ptr) Variable Function
14: 6(int) IMul 11 13 39(a3): 7(ptr) Variable Function
16: 6(int) Load 15(a3) 42(a4): 7(ptr) Variable Function
17: 6(int) IAdd 14 16 47(param): 7(ptr) Variable Function
19: 6(int) Load 18(a4) 49(param): 7(ptr) Variable Function
20: 6(int) ShiftLeftLogical 17 19 51(param): 7(ptr) Variable Function
21: 6(int) Load 10(a1) 53(param): 7(ptr) Variable Function
22: 6(int) Load 12(a2) 35: 6(int) Load 34(a1)
23: 6(int) Load 15(a3) Store 32(a1) 35
24: 6(int) Load 18(a4) 38: 6(int) Load 37(a2)
25: 6(int) IMul 23 24 Store 36(a2) 38
26: 6(int) IAdd 22 25 41: 6(int) Load 40(a3)
27: 6(int) ShiftLeftLogical 21 26 Store 39(a3) 41
28: 6(int) IAdd 20 27 44: 6(int) Load 43(a4)
Store 8(@entryPointOutput) 28 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 Return
FunctionEnd 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 Function Parameters:
0:6 'myfloat' (noContraction in float) 0:6 'myfloat' (noContraction in float)
0:6 'myfloat3' (noContraction out 3-component vector of 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:9 Function Parameters:
0:? Sequence 0:? Sequence
0:11 move second child to first child (noContraction temp 4-component vector of float) 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:11 1.000000
0:11 1.000000 0:11 1.000000
0:12 Sequence 0:12 Branch: Return with expression
0:12 Sequence 0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color})
0:12 move second child to first child (noContraction temp 4-component vector of float) 0:9 Function Definition: main( (temp void)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) 0:9 Function Parameters:
0:12 color: direct index for structure (noContraction temp 4-component vector of float) 0:? Sequence
0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) 0:9 Sequence
0:12 Constant: 0:9 move second child to first child (noContraction temp 4-component vector of float)
0:12 0 (const int) 0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:12 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:? 'precisefloat' (noContraction global float) 0:? 'precisefloat' (noContraction global float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
Linked fragment stage: Linked fragment stage:
@ -43,7 +46,7 @@ gl_FragCoord origin is upper left
0:6 Function Parameters: 0:6 Function Parameters:
0:6 'myfloat' (noContraction in float) 0:6 'myfloat' (noContraction in float)
0:6 'myfloat3' (noContraction out 3-component vector of 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:9 Function Parameters:
0:? Sequence 0:? Sequence
0:11 move second child to first child (noContraction temp 4-component vector of float) 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:11 1.000000
0:11 1.000000 0:11 1.000000
0:12 Sequence 0:12 Branch: Return with expression
0:12 Sequence 0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color})
0:12 move second child to first child (noContraction temp 4-component vector of float) 0:9 Function Definition: main( (temp void)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) 0:9 Function Parameters:
0:12 color: direct index for structure (noContraction temp 4-component vector of float) 0:? Sequence
0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) 0:9 Sequence
0:12 Constant: 0:9 move second child to first child (noContraction temp 4-component vector of float)
0:12 0 (const int) 0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:12 Branch: Return 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:? Linker Objects
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
0:? 'precisefloat' (noContraction global float) 0:? 'precisefloat' (noContraction global float)
0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 32 // Id's are bound by 37
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 26 EntryPoint Fragment 4 "main" 32
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 13 "MyFunction(f1;vf3;" Name 13 "MyFunction(f1;vf3;"
@ -84,10 +90,11 @@ gl_FragCoord origin is upper left
Name 12 "myfloat3" Name 12 "myfloat3"
Name 16 "PS_OUTPUT" Name 16 "PS_OUTPUT"
MemberName 16(PS_OUTPUT) 0 "color" MemberName 16(PS_OUTPUT) 0 "color"
Name 18 "ps_output" Name 18 "@main("
Name 26 "color" Name 21 "ps_output"
Name 31 "precisefloat" Name 32 "color"
Decorate 26(color) Location 0 Name 36 "precisefloat"
Decorate 32(color) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
@ -97,24 +104,22 @@ gl_FragCoord origin is upper left
10: TypeFunction 2 7(ptr) 9(ptr) 10: TypeFunction 2 7(ptr) 9(ptr)
15: TypeVector 6(float) 4 15: TypeVector 6(float) 4
16(PS_OUTPUT): TypeStruct 15(fvec4) 16(PS_OUTPUT): TypeStruct 15(fvec4)
17: TypePointer Function 16(PS_OUTPUT) 17: TypeFunction 16(PS_OUTPUT)
19: TypeInt 32 1 20: TypePointer Function 16(PS_OUTPUT)
20: 19(int) Constant 0 22: TypeInt 32 1
21: 6(float) Constant 1065353216 23: 22(int) Constant 0
22: 15(fvec4) ConstantComposite 21 21 21 21 24: 6(float) Constant 1065353216
23: TypePointer Function 15(fvec4) 25: 15(fvec4) ConstantComposite 24 24 24 24
25: TypePointer Output 15(fvec4) 26: TypePointer Function 15(fvec4)
26(color): 25(ptr) Variable Output 31: TypePointer Output 15(fvec4)
30: TypePointer Private 6(float) 32(color): 31(ptr) Variable Output
31(precisefloat): 30(ptr) Variable Private 35: TypePointer Private 6(float)
36(precisefloat): 35(ptr) Variable Private
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
18(ps_output): 17(ptr) Variable Function 33:16(PS_OUTPUT) FunctionCall 18(@main()
24: 23(ptr) AccessChain 18(ps_output) 20 34: 15(fvec4) CompositeExtract 33 0
Store 24 22 Store 32(color) 34
27: 23(ptr) AccessChain 18(ps_output) 20
28: 15(fvec4) Load 27
Store 26(color) 28
Return Return
FunctionEnd FunctionEnd
13(MyFunction(f1;vf3;): 2 Function None 10 13(MyFunction(f1;vf3;): 2 Function None 10
@ -123,3 +128,11 @@ gl_FragCoord origin is upper left
14: Label 14: Label
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:5 Function Parameters:
0:? Sequence 0:? Sequence
0:13 move second child to first child (temp int) 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 'Loc' (temp int)
0:13 Convert int to uint (temp uint) 0:13 Convert int to uint (temp uint)
0:13 'Inc' (temp int) 0:13 'Inc' (temp int)
0:15 Sequence 0:15 Branch: Return with expression
0:15 move second child to first child (temp 4-component vector of float) 0:? Constant:
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 0.000000
0:? Constant: 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:5 Function Definition: main( (temp void)
0:? 0.000000 0:5 Function Parameters:
0:15 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 's_uintbuff' (layout(r32ui ) uniform uimageBuffer) 0:? 's_uintbuff' (layout(r32ui ) uniform uimageBuffer)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
Linked fragment stage: Linked fragment stage:
@ -33,7 +36,7 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:5 Function Parameters:
0:? Sequence 0:? Sequence
0:13 move second child to first child (temp int) 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 'Loc' (temp int)
0:13 Convert int to uint (temp uint) 0:13 Convert int to uint (temp uint)
0:13 'Inc' (temp int) 0:13 'Inc' (temp int)
0:15 Sequence 0:15 Branch: Return with expression
0:15 move second child to first child (temp 4-component vector of float) 0:? Constant:
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 0.000000
0:? Constant: 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:5 Function Definition: main( (temp void)
0:? 0.000000 0:5 Function Parameters:
0:15 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 's_uintbuff' (layout(r32ui ) uniform uimageBuffer) 0:? 's_uintbuff' (layout(r32ui ) uniform uimageBuffer)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 31 // Id's are bound by 36
Capability Shader Capability Shader
Capability SampledBuffer Capability SampledBuffer
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 27 EntryPoint Fragment 4 "main" 34
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "Orig" Name 9 "@main("
Name 12 "s_uintbuff" Name 13 "Orig"
Name 13 "Loc" Name 17 "s_uintbuff"
Name 15 "Inc" Name 18 "Loc"
Name 27 "@entryPointOutput" Name 20 "Inc"
Decorate 12(s_uintbuff) DescriptorSet 0 Name 34 "@entryPointOutput"
Decorate 27(@entryPointOutput) Location 0 Decorate 17(s_uintbuff) DescriptorSet 0
Decorate 34(@entryPointOutput) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 1 6: TypeFloat 32
7: TypePointer Function 6(int) 7: TypeVector 6(float) 4
9: TypeInt 32 0 8: TypeFunction 7(fvec4)
10: TypeImage 9(int) Buffer nonsampled format:R32ui 11: TypeInt 32 1
11: TypePointer UniformConstant 10 12: TypePointer Function 11(int)
12(s_uintbuff): 11(ptr) Variable UniformConstant 14: TypeInt 32 0
18: 9(int) Constant 0 15: TypeImage 14(int) Buffer nonsampled format:R32ui
19: TypePointer Image 9(int) 16: TypePointer UniformConstant 15
21: 9(int) Constant 1 17(s_uintbuff): 16(ptr) Variable UniformConstant
24: TypeFloat 32 23: 14(int) Constant 0
25: TypeVector 24(float) 4 24: TypePointer Image 14(int)
26: TypePointer Output 25(fvec4) 26: 14(int) Constant 1
27(@entryPointOutput): 26(ptr) Variable Output 29: 6(float) Constant 0
28: 24(float) Constant 0 30: 7(fvec4) ConstantComposite 29 29 29 29
29: 25(fvec4) ConstantComposite 28 28 28 28 33: TypePointer Output 7(fvec4)
34(@entryPointOutput): 33(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
8(Orig): 7(ptr) Variable Function 35: 7(fvec4) FunctionCall 9(@main()
13(Loc): 7(ptr) Variable Function Store 34(@entryPointOutput) 35
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:14 Function Parameters:
0:? Sequence 0:? Sequence
0:15 mod (temp float) 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:25 0.000000
0:25 0.000000 0:25 0.000000
0:26 Sequence 0:26 Branch: Return with expression
0:26 Sequence 0:26 'psout' (temp structure{temp 4-component vector of float Color})
0:26 move second child to first child (temp 4-component vector of float) 0:14 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:14 Function Parameters:
0:26 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:26 'psout' (temp structure{temp 4-component vector of float Color}) 0:14 Sequence
0:26 Constant: 0:14 move second child to first child (temp 4-component vector of float)
0:26 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:26 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 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}) 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:14 Function Parameters:
0:? Sequence 0:? Sequence
0:15 mod (temp float) 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:25 0.000000
0:25 0.000000 0:25 0.000000
0:26 Sequence 0:26 Branch: Return with expression
0:26 Sequence 0:26 'psout' (temp structure{temp 4-component vector of float Color})
0:26 move second child to first child (temp 4-component vector of float) 0:14 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:14 Function Parameters:
0:26 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:26 'psout' (temp structure{temp 4-component vector of float Color}) 0:14 Sequence
0:26 Constant: 0:14 move second child to first child (temp 4-component vector of float)
0:26 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:26 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 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}) 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 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 78 // Id's are bound by 83
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 74 EntryPoint Fragment 4 "main" 80
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 12 "$Global" Name 8 "PS_OUTPUT"
MemberName 12($Global) 0 "bval" MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 12($Global) 1 "bval4" Name 10 "@main("
MemberName 12($Global) 2 "ival" Name 16 "$Global"
MemberName 12($Global) 3 "ival4" MemberName 16($Global) 0 "bval"
MemberName 12($Global) 4 "fval" MemberName 16($Global) 1 "bval4"
MemberName 12($Global) 5 "fval4" MemberName 16($Global) 2 "ival"
Name 14 "" MemberName 16($Global) 3 "ival4"
Name 62 "l_int" MemberName 16($Global) 4 "fval"
Name 68 "PS_OUTPUT" MemberName 16($Global) 5 "fval4"
MemberName 68(PS_OUTPUT) 0 "Color" Name 18 ""
Name 70 "psout" Name 66 "l_int"
Name 74 "Color" Name 73 "psout"
MemberDecorate 12($Global) 0 Offset 0 Name 80 "Color"
MemberDecorate 12($Global) 1 Offset 16 MemberDecorate 16($Global) 0 Offset 0
MemberDecorate 12($Global) 2 Offset 32 MemberDecorate 16($Global) 1 Offset 16
MemberDecorate 12($Global) 3 Offset 48 MemberDecorate 16($Global) 2 Offset 32
MemberDecorate 12($Global) 4 Offset 64 MemberDecorate 16($Global) 3 Offset 48
MemberDecorate 12($Global) 5 Offset 80 MemberDecorate 16($Global) 4 Offset 64
Decorate 12($Global) Block MemberDecorate 16($Global) 5 Offset 80
Decorate 14 DescriptorSet 0 Decorate 16($Global) Block
Decorate 74(Color) Location 0 Decorate 18 DescriptorSet 0
Decorate 80(Color) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeFloat 32
7: TypeVector 6(int) 4 7: TypeVector 6(float) 4
8: TypeInt 32 1 8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeVector 8(int) 4 9: TypeFunction 8(PS_OUTPUT)
10: TypeFloat 32 12: TypeInt 32 0
11: TypeVector 10(float) 4 13: TypeVector 12(int) 4
12($Global): TypeStruct 6(int) 7(ivec4) 8(int) 9(ivec4) 10(float) 11(fvec4) 14: TypeInt 32 1
13: TypePointer Uniform 12($Global) 15: TypeVector 14(int) 4
14: 13(ptr) Variable Uniform 16($Global): TypeStruct 12(int) 13(ivec4) 14(int) 15(ivec4) 6(float) 7(fvec4)
15: 8(int) Constant 2 17: TypePointer Uniform 16($Global)
16: TypePointer Uniform 8(int) 18: 17(ptr) Variable Uniform
20: 8(int) Constant 4 19: 14(int) Constant 2
21: TypePointer Uniform 10(float) 20: TypePointer Uniform 14(int)
25: 8(int) Constant 3 24: 14(int) Constant 4
26: TypePointer Uniform 9(ivec4) 25: TypePointer Uniform 6(float)
30: 8(int) Constant 5 29: 14(int) Constant 3
31: TypePointer Uniform 11(fvec4) 30: TypePointer Uniform 15(ivec4)
35: 8(int) Constant 0 34: 14(int) Constant 5
36: TypePointer Uniform 6(int) 35: TypePointer Uniform 7(fvec4)
39: TypeBool 39: 14(int) Constant 0
40: 6(int) Constant 0 40: TypePointer Uniform 12(int)
42: 10(float) Constant 0 43: TypeBool
43: 10(float) Constant 1065353216 44: 12(int) Constant 0
48: 8(int) Constant 1 46: 6(float) Constant 0
49: TypePointer Uniform 7(ivec4) 47: 6(float) Constant 1065353216
52: TypeVector 39(bool) 4 52: 14(int) Constant 1
53: 7(ivec4) ConstantComposite 40 40 40 40 53: TypePointer Uniform 13(ivec4)
55: 11(fvec4) ConstantComposite 42 42 42 42 56: TypeVector 43(bool) 4
56: 11(fvec4) ConstantComposite 43 43 43 43 57: 13(ivec4) ConstantComposite 44 44 44 44
61: TypePointer Function 8(int) 59: 7(fvec4) ConstantComposite 46 46 46 46
68(PS_OUTPUT): TypeStruct 11(fvec4) 60: 7(fvec4) ConstantComposite 47 47 47 47
69: TypePointer Function 68(PS_OUTPUT) 65: TypePointer Function 14(int)
71: TypePointer Function 11(fvec4) 72: TypePointer Function 8(PS_OUTPUT)
73: TypePointer Output 11(fvec4) 74: TypePointer Function 7(fvec4)
74(Color): 73(ptr) Variable Output 79: TypePointer Output 7(fvec4)
80(Color): 79(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
62(l_int): 61(ptr) Variable Function 81:8(PS_OUTPUT) FunctionCall 10(@main()
70(psout): 69(ptr) Variable Function 82: 7(fvec4) CompositeExtract 81 0
17: 16(ptr) AccessChain 14 15 Store 80(Color) 82
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:3 Function Parameters:
0:? Sequence 0:? Sequence
0:7 move second child to first child (temp float) 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 sine (temp float)
0:13 Construct float (in float) 0:13 Construct float (in float)
0:13 'f1b' (temp 1-component vector of float) 0:13 'f1b' (temp 1-component vector of float)
0:15 Sequence 0:15 Branch: Return with expression
0:15 move second child to first child (temp 4-component vector of float) 0:? Constant:
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 0.000000
0:? Constant: 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:3 Function Definition: main( (temp void)
0:? 0.000000 0:3 Function Parameters:
0:15 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
@ -41,7 +44,7 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:3 Function Parameters:
0:? Sequence 0:? Sequence
0:7 move second child to first child (temp float) 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 sine (temp float)
0:13 Construct float (in float) 0:13 Construct float (in float)
0:13 'f1b' (temp 1-component vector of float) 0:13 'f1b' (temp 1-component vector of float)
0:15 Sequence 0:15 Branch: Return with expression
0:15 move second child to first child (temp 4-component vector of float) 0:? Constant:
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? 0.000000
0:? Constant: 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:? 0.000000
0:? 0.000000 0:3 Function Definition: main( (temp void)
0:? 0.000000 0:3 Function Parameters:
0:15 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 26 // Id's are bound by 31
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 23 EntryPoint Fragment 4 "main" 29
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "f1a" Name 9 "@main("
Name 9 "f1b" Name 12 "f1a"
Name 16 "f3" Name 13 "f1b"
Name 23 "@entryPointOutput" Name 20 "f3"
Decorate 23(@entryPointOutput) Location 0 Name 29 "@entryPointOutput"
Decorate 29(@entryPointOutput) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypePointer Function 6(float) 7: TypeVector 6(float) 4
12: TypeVector 6(float) 3 8: TypeFunction 7(fvec4)
13: 6(float) Constant 0 11: TypePointer Function 6(float)
14: 12(fvec3) ConstantComposite 13 13 13 16: TypeVector 6(float) 3
15: TypePointer Function 12(fvec3) 17: 6(float) Constant 0
21: TypeVector 6(float) 4 18: 16(fvec3) ConstantComposite 17 17 17
22: TypePointer Output 21(fvec4) 19: TypePointer Function 16(fvec3)
23(@entryPointOutput): 22(ptr) Variable Output 25: 7(fvec4) ConstantComposite 17 17 17 17
24: 21(fvec4) ConstantComposite 13 13 13 13 28: TypePointer Output 7(fvec4)
29(@entryPointOutput): 28(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
8(f1a): 7(ptr) Variable Function 30: 7(fvec4) FunctionCall 9(@main()
9(f1b): 7(ptr) Variable Function Store 29(@entryPointOutput) 30
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
Return Return
FunctionEnd 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 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:11 Function Parameters:
0:? Sequence 0:? Sequence
0:12 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:16 1.000000
0:16 1.000000 0:16 1.000000
0:17 Sequence 0:17 Branch: Return with expression
0:17 Sequence 0:17 'psout' (temp structure{temp 4-component vector of float Color})
0:17 move second child to first child (temp 4-component vector of float) 0:11 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:11 Function Parameters:
0:17 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:17 'psout' (temp structure{temp 4-component vector of float Color}) 0:11 Sequence
0:17 Constant: 0:11 move second child to first child (temp 4-component vector of float)
0:17 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:17 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D) 0:? 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D)
0:? 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer) 0:? 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
Linked fragment stage: Linked fragment stage:
@ -50,7 +53,7 @@ Linked fragment stage:
Shader version: 450 Shader version: 450
gl_FragCoord origin is upper left gl_FragCoord origin is upper left
0:? Sequence 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:11 Function Parameters:
0:? Sequence 0:? Sequence
0:12 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:16 1.000000
0:16 1.000000 0:16 1.000000
0:17 Sequence 0:17 Branch: Return with expression
0:17 Sequence 0:17 'psout' (temp structure{temp 4-component vector of float Color})
0:17 move second child to first child (temp 4-component vector of float) 0:11 Function Definition: main( (temp void)
0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:11 Function Parameters:
0:17 Color: direct index for structure (temp 4-component vector of float) 0:? Sequence
0:17 'psout' (temp structure{temp 4-component vector of float Color}) 0:11 Sequence
0:17 Constant: 0:11 move second child to first child (temp 4-component vector of float)
0:17 0 (const int) 0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:17 Branch: Return 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:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D) 0:? 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D)
0:? 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer) 0:? 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 37 // Id's are bound by 42
Capability Shader Capability Shader
Capability Sampled1D Capability Sampled1D
Capability SampledBuffer Capability SampledBuffer
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 33 EntryPoint Fragment 4 "main" 39
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 8 "r00" Name 8 "PS_OUTPUT"
Name 11 "g_tTex1df1" MemberName 8(PS_OUTPUT) 0 "Color"
Name 18 "r01" Name 10 "@main("
Name 21 "g_tBuf1du1" Name 13 "r00"
Name 25 "PS_OUTPUT" Name 16 "g_tTex1df1"
MemberName 25(PS_OUTPUT) 0 "Color" Name 23 "r01"
Name 27 "psout" Name 26 "g_tBuf1du1"
Name 33 "Color" Name 30 "psout"
Decorate 11(g_tTex1df1) DescriptorSet 0 Name 39 "Color"
Decorate 11(g_tTex1df1) Binding 2 Decorate 16(g_tTex1df1) DescriptorSet 0
Decorate 21(g_tBuf1du1) DescriptorSet 0 Decorate 16(g_tTex1df1) Binding 2
Decorate 21(g_tBuf1du1) Binding 3 Decorate 26(g_tBuf1du1) DescriptorSet 0
Decorate 33(Color) Location 0 Decorate 26(g_tBuf1du1) Binding 3
Decorate 39(Color) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypePointer Function 6(float) 7: TypeVector 6(float) 4
9: TypeImage 6(float) 1D nonsampled format:R32f 8(PS_OUTPUT): TypeStruct 7(fvec4)
10: TypePointer UniformConstant 9 9: TypeFunction 8(PS_OUTPUT)
11(g_tTex1df1): 10(ptr) Variable UniformConstant 12: TypePointer Function 6(float)
13: TypeInt 32 1 14: TypeImage 6(float) 1D nonsampled format:R32f
14: 13(int) Constant 0 15: TypePointer UniformConstant 14
16: TypeInt 32 0 16(g_tTex1df1): 15(ptr) Variable UniformConstant
17: TypePointer Function 16(int) 18: TypeInt 32 1
19: TypeImage 16(int) Buffer nonsampled format:R32ui 19: 18(int) Constant 0
20: TypePointer UniformConstant 19 21: TypeInt 32 0
21(g_tBuf1du1): 20(ptr) Variable UniformConstant 22: TypePointer Function 21(int)
24: TypeVector 6(float) 4 24: TypeImage 21(int) Buffer nonsampled format:R32ui
25(PS_OUTPUT): TypeStruct 24(fvec4) 25: TypePointer UniformConstant 24
26: TypePointer Function 25(PS_OUTPUT) 26(g_tBuf1du1): 25(ptr) Variable UniformConstant
28: 6(float) Constant 1065353216 29: TypePointer Function 8(PS_OUTPUT)
29: 24(fvec4) ConstantComposite 28 28 28 28 31: 6(float) Constant 1065353216
30: TypePointer Function 24(fvec4) 32: 7(fvec4) ConstantComposite 31 31 31 31
32: TypePointer Output 24(fvec4) 33: TypePointer Function 7(fvec4)
33(Color): 32(ptr) Variable Output 38: TypePointer Output 7(fvec4)
39(Color): 38(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
8(r00): 7(ptr) Variable Function 40:8(PS_OUTPUT) FunctionCall 10(@main()
18(r01): 17(ptr) Variable Function 41: 7(fvec4) CompositeExtract 40 0
27(psout): 26(ptr) Variable Function Store 39(Color) 41
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
Return Return
FunctionEnd 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:? 1.000000
0:? 2.000000 0:? 2.000000
0:? 3.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:7 Function Parameters:
0:? Sequence 0:? Sequence
0:8 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 '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:14 'storeTemp' (temp 3-component vector of float) 0:14 'storeTemp' (temp 3-component vector of float)
0:27 Sequence 0:27 Branch: Return with expression
0:27 move second child to first child (temp 4-component vector of float) 0:27 Constant:
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:27 0.000000
0:27 Constant: 0:27 0.000000
0:27 0.000000 0:27 0.000000
0:27 0.000000 0:27 0.000000
0:27 0.000000 0:7 Function Definition: main( (temp void)
0:27 0.000000 0:7 Function Parameters:
0:27 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'rwtx' (layout(rgba32f ) uniform image2D) 0:? 'rwtx' (layout(rgba32f ) uniform image2D)
0:? 'buf' (layout(rgba32f ) uniform imageBuffer) 0:? 'buf' (layout(rgba32f ) uniform imageBuffer)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
Linked fragment stage: Linked fragment stage:
@ -110,7 +113,7 @@ gl_FragCoord origin is upper left
0:? 1.000000 0:? 1.000000
0:? 2.000000 0:? 2.000000
0:? 3.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:7 Function Parameters:
0:? Sequence 0:? Sequence
0:8 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 '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:14 'storeTemp' (temp 3-component vector of float) 0:14 'storeTemp' (temp 3-component vector of float)
0:27 Sequence 0:27 Branch: Return with expression
0:27 move second child to first child (temp 4-component vector of float) 0:27 Constant:
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) 0:27 0.000000
0:27 Constant: 0:27 0.000000
0:27 0.000000 0:27 0.000000
0:27 0.000000 0:27 0.000000
0:27 0.000000 0:7 Function Definition: main( (temp void)
0:27 0.000000 0:7 Function Parameters:
0:27 Branch: Return 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:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'rwtx' (layout(rgba32f ) uniform image2D) 0:? 'rwtx' (layout(rgba32f ) uniform image2D)
0:? 'buf' (layout(rgba32f ) uniform imageBuffer) 0:? 'buf' (layout(rgba32f ) uniform imageBuffer)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 58 // Id's are bound by 63
Capability Shader Capability Shader
Capability SampledBuffer Capability SampledBuffer
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 51 EntryPoint Fragment 4 "main" 58
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Name 4 "main" Name 4 "main"
Name 9 "SomeValue(" Name 9 "SomeValue("
Name 20 "tc2" Name 13 "@main("
Name 24 "tc" Name 24 "tc2"
Name 26 "storeTemp" Name 28 "tc"
Name 31 "rwtx" Name 30 "storeTemp"
Name 35 "storeTemp" Name 35 "rwtx"
Name 42 "storeTemp" Name 39 "storeTemp"
Name 51 "@entryPointOutput" Name 46 "storeTemp"
Name 57 "buf" Name 58 "@entryPointOutput"
Decorate 31(rwtx) DescriptorSet 0 Name 62 "buf"
Decorate 51(@entryPointOutput) Location 0 Decorate 35(rwtx) DescriptorSet 0
Decorate 57(buf) DescriptorSet 0 Decorate 58(@entryPointOutput) Location 0
Decorate 62(buf) DescriptorSet 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
7: TypeVector 6(float) 3 7: TypeVector 6(float) 3
8: TypeFunction 7(fvec3) 8: TypeFunction 7(fvec3)
11: 6(float) Constant 1065353216 11: TypeVector 6(float) 4
12: 6(float) Constant 1073741824 12: TypeFunction 11(fvec4)
13: 6(float) Constant 1077936128 15: 6(float) Constant 1065353216
14: 7(fvec3) ConstantComposite 11 12 13 16: 6(float) Constant 1073741824
17: TypeInt 32 1 17: 6(float) Constant 1077936128
18: TypeVector 17(int) 2 18: 7(fvec3) ConstantComposite 15 16 17
19: TypePointer Function 18(ivec2) 21: TypeInt 32 1
21: 17(int) Constant 0 22: TypeVector 21(int) 2
22: 18(ivec2) ConstantComposite 21 21 23: TypePointer Function 22(ivec2)
23: TypePointer Function 17(int) 25: 21(int) Constant 0
25: TypePointer Function 7(fvec3) 26: 22(ivec2) ConstantComposite 25 25
29: TypeImage 6(float) 2D nonsampled format:Rgba32f 27: TypePointer Function 21(int)
30: TypePointer UniformConstant 29 29: TypePointer Function 7(fvec3)
31(rwtx): 30(ptr) Variable UniformConstant 33: TypeImage 6(float) 2D nonsampled format:Rgba32f
43: 7(fvec3) ConstantComposite 12 12 12 34: TypePointer UniformConstant 33
49: TypeVector 6(float) 4 35(rwtx): 34(ptr) Variable UniformConstant
50: TypePointer Output 49(fvec4) 47: 7(fvec3) ConstantComposite 16 16 16
51(@entryPointOutput): 50(ptr) Variable Output 53: 6(float) Constant 0
52: 6(float) Constant 0 54: 11(fvec4) ConstantComposite 53 53 53 53
53: 49(fvec4) ConstantComposite 52 52 52 52 57: TypePointer Output 11(fvec4)
55: TypeImage 6(float) Buffer nonsampled format:Rgba32f 58(@entryPointOutput): 57(ptr) Variable Output
56: TypePointer UniformConstant 55 60: TypeImage 6(float) Buffer nonsampled format:Rgba32f
57(buf): 56(ptr) Variable UniformConstant 61: TypePointer UniformConstant 60
62(buf): 61(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
20(tc2): 19(ptr) Variable Function 59: 11(fvec4) FunctionCall 13(@main()
24(tc): 23(ptr) Variable Function Store 58(@entryPointOutput) 59
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
Return Return
FunctionEnd FunctionEnd
9(SomeValue(): 7(fvec3) Function None 8 9(SomeValue(): 7(fvec3) Function None 8
10: Label 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 FunctionEnd

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