Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
glslang
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
glslang
Commits
e3aa654c
Commit
e3aa654c
authored
Oct 12, 2016
by
John Kessenich
Committed by
GitHub
Oct 12, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #546 from yavn/OpImageQueryLod-with-SampledImage
SPV: Use SampledImage with OpImageQueryLod
parents
631f223b
7208a974
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
442 additions
and
463 deletions
+442
-463
GlslangToSpv.cpp
SPIRV/GlslangToSpv.cpp
+3
-2
hlsl.calculatelod.dx10.frag.out
Test/baseResults/hlsl.calculatelod.dx10.frag.out
+170
-179
spv.queryL.frag.out
Test/baseResults/spv.queryL.frag.out
+269
-282
No files found.
SPIRV/GlslangToSpv.cpp
View file @
e3aa654c
...
@@ -2745,9 +2745,10 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
...
@@ -2745,9 +2745,10 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
// Check for queries
// Check for queries
if
(
cracked
.
query
)
{
if
(
cracked
.
query
)
{
//
a sampled image needs to have the imag
e extracted first
//
OpImageQueryLod works on a sampled image, for other queries the image has to b
e extracted first
if
(
builder
.
isSampledImage
(
params
.
sampler
))
if
(
node
->
getOp
()
!=
glslang
::
EOpTextureQueryLod
&&
builder
.
isSampledImage
(
params
.
sampler
))
params
.
sampler
=
builder
.
createUnaryOp
(
spv
::
OpImage
,
builder
.
getImageType
(
params
.
sampler
),
params
.
sampler
);
params
.
sampler
=
builder
.
createUnaryOp
(
spv
::
OpImage
,
builder
.
getImageType
(
params
.
sampler
),
params
.
sampler
);
switch
(
node
->
getOp
())
{
switch
(
node
->
getOp
())
{
case
glslang
:
:
EOpImageQuerySize
:
case
glslang
:
:
EOpImageQuerySize
:
case
glslang
:
:
EOpTextureQuerySize
:
case
glslang
:
:
EOpTextureQuerySize
:
...
...
Test/baseResults/hlsl.calculatelod.dx10.frag.out
View file @
e3aa654c
...
@@ -345,7 +345,7 @@ gl_FragCoord origin is upper left
...
@@ -345,7 +345,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 1
50
// Id's are bound by 1
41
Capability Shader
Capability Shader
Capability Sampled1D
Capability Sampled1D
...
@@ -353,51 +353,51 @@ gl_FragCoord origin is upper left
...
@@ -353,51 +353,51 @@ 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" 1
41 145
EntryPoint Fragment 4 "main" 1
32 136
ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 4 "main"
Name 8 "txval10"
Name 8 "txval10"
Name 11 "g_tTex1df4a"
Name 11 "g_tTex1df4a"
Name 15 "g_sSamp"
Name 15 "g_sSamp"
Name 2
6
"txval11"
Name 2
5
"txval11"
Name 2
9
"g_tTex1di4a"
Name 2
8
"g_tTex1di4a"
Name 3
8
"txval12"
Name 3
6
"txval12"
Name 4
2
"g_tTex1du4a"
Name 4
0
"g_tTex1du4a"
Name
51
"txval20"
Name
48
"txval20"
Name 5
4
"g_tTex2df4a"
Name 5
1
"g_tTex2df4a"
Name
63
"txval21"
Name
59
"txval21"
Name 6
6
"g_tTex2di4a"
Name 6
2
"g_tTex2di4a"
Name 7
6
"txval22"
Name 7
1
"txval22"
Name 7
9
"g_tTex2du4a"
Name 7
4
"g_tTex2du4a"
Name
90
"txval40"
Name
84
"txval40"
Name
93
"g_tTexcdf4a"
Name
87
"g_tTexcdf4a"
Name
103
"txval41"
Name
96
"txval41"
Name
106
"g_tTexcdi4a"
Name
99
"g_tTexcdi4a"
Name 1
15
"txval42"
Name 1
07
"txval42"
Name 11
8
"g_tTexcdu4a"
Name 11
0
"g_tTexcdu4a"
Name 1
31
"PS_OUTPUT"
Name 1
22
"PS_OUTPUT"
MemberName 1
31
(PS_OUTPUT) 0 "Color"
MemberName 1
22
(PS_OUTPUT) 0 "Color"
MemberName 1
31
(PS_OUTPUT) 1 "Depth"
MemberName 1
22
(PS_OUTPUT) 1 "Depth"
Name 1
33
"psout"
Name 1
24
"psout"
Name 1
41
"Color"
Name 1
32
"Color"
Name 1
45
"Depth"
Name 1
36
"Depth"
Name 14
9
"g_tTex1df4"
Name 14
0
"g_tTex1df4"
Decorate 11(g_tTex1df4a) DescriptorSet 0
Decorate 11(g_tTex1df4a) DescriptorSet 0
Decorate 11(g_tTex1df4a) Binding 1
Decorate 11(g_tTex1df4a) Binding 1
Decorate 15(g_sSamp) DescriptorSet 0
Decorate 15(g_sSamp) DescriptorSet 0
Decorate 15(g_sSamp) Binding 0
Decorate 15(g_sSamp) Binding 0
Decorate 2
9
(g_tTex1di4a) DescriptorSet 0
Decorate 2
8
(g_tTex1di4a) DescriptorSet 0
Decorate 4
2
(g_tTex1du4a) DescriptorSet 0
Decorate 4
0
(g_tTex1du4a) DescriptorSet 0
Decorate 5
4
(g_tTex2df4a) DescriptorSet 0
Decorate 5
1
(g_tTex2df4a) DescriptorSet 0
Decorate 6
6
(g_tTex2di4a) DescriptorSet 0
Decorate 6
2
(g_tTex2di4a) DescriptorSet 0
Decorate 7
9
(g_tTex2du4a) DescriptorSet 0
Decorate 7
4
(g_tTex2du4a) DescriptorSet 0
Decorate
93
(g_tTexcdf4a) DescriptorSet 0
Decorate
87
(g_tTexcdf4a) DescriptorSet 0
Decorate
106
(g_tTexcdi4a) DescriptorSet 0
Decorate
99
(g_tTexcdi4a) DescriptorSet 0
Decorate 11
8
(g_tTexcdu4a) DescriptorSet 0
Decorate 11
0
(g_tTexcdu4a) DescriptorSet 0
Decorate 1
41
(Color) Location 0
Decorate 1
32
(Color) Location 0
Decorate 1
45
(Depth) BuiltIn FragDepth
Decorate 1
36
(Depth) BuiltIn FragDepth
Decorate 14
9
(g_tTex1df4) DescriptorSet 0
Decorate 14
0
(g_tTex1df4) DescriptorSet 0
Decorate 14
9
(g_tTex1df4) Binding 0
Decorate 14
0
(g_tTex1df4) Binding 0
2: TypeVoid
2: TypeVoid
3: TypeFunction 2
3: TypeFunction 2
6: TypeFloat 32
6: TypeFloat 32
...
@@ -410,153 +410,144 @@ gl_FragCoord origin is upper left
...
@@ -410,153 +410,144 @@ gl_FragCoord origin is upper left
15(g_sSamp): 14(ptr) Variable UniformConstant
15(g_sSamp): 14(ptr) Variable UniformConstant
17: TypeSampledImage 9
17: TypeSampledImage 9
19: 6(float) Constant 1036831949
19: 6(float) Constant 1036831949
2
1
: TypeVector 6(float) 2
2
0
: TypeVector 6(float) 2
2
3
: TypeInt 32 1
2
2
: TypeInt 32 1
2
4: 23
(int) Constant 0
2
3: 22
(int) Constant 0
2
7: TypeImage 23
(int) 1D array sampled format:Unknown
2
6: TypeImage 22
(int) 1D array sampled format:Unknown
2
8: TypePointer UniformConstant 27
2
7: TypePointer UniformConstant 26
2
9(g_tTex1di4a): 28
(ptr) Variable UniformConstant
2
8(g_tTex1di4a): 27
(ptr) Variable UniformConstant
3
2: TypeSampledImage 27
3
1: TypeSampledImage 26
3
4
: 6(float) Constant 1045220557
3
3
: 6(float) Constant 1045220557
3
9
: TypeInt 32 0
3
7
: TypeInt 32 0
40: TypeImage 39
(int) 1D array sampled format:Unknown
38: TypeImage 37
(int) 1D array sampled format:Unknown
41: TypePointer UniformConstant 40
39: TypePointer UniformConstant 38
4
2(g_tTex1du4a): 41
(ptr) Variable UniformConstant
4
0(g_tTex1du4a): 39
(ptr) Variable UniformConstant
4
5: TypeSampledImage 40
4
3: TypeSampledImage 38
4
7
: 6(float) Constant 1050253722
4
5
: 6(float) Constant 1050253722
52
: TypeImage 6(float) 2D array sampled format:Unknown
49
: TypeImage 6(float) 2D array sampled format:Unknown
5
3: TypePointer UniformConstant 52
5
0: TypePointer UniformConstant 49
5
4(g_tTex2df4a): 53
(ptr) Variable UniformConstant
5
1(g_tTex2df4a): 50
(ptr) Variable UniformConstant
5
7: TypeSampledImage 52
5
4: TypeSampledImage 49
5
9: 21(fvec2) ConstantComposite 19 34
5
6: 20(fvec2) ConstantComposite 19 33
6
4: TypeImage 23
(int) 2D array sampled format:Unknown
6
0: TypeImage 22
(int) 2D array sampled format:Unknown
6
5: TypePointer UniformConstant 64
6
1: TypePointer UniformConstant 60
6
6(g_tTex2di4a): 65
(ptr) Variable UniformConstant
6
2(g_tTex2di4a): 61
(ptr) Variable UniformConstant
6
9: TypeSampledImage 64
6
5: TypeSampledImage 60
71
: 6(float) Constant 1053609165
67
: 6(float) Constant 1053609165
72: 21(fvec2) ConstantComposite 47 71
68: 20(fvec2) ConstantComposite 45 67
7
7: TypeImage 39
(int) 2D array sampled format:Unknown
7
2: TypeImage 37
(int) 2D array sampled format:Unknown
7
8: TypePointer UniformConstant 77
7
3: TypePointer UniformConstant 72
7
9(g_tTex2du4a): 78
(ptr) Variable UniformConstant
7
4(g_tTex2du4a): 73
(ptr) Variable UniformConstant
82: TypeSampledImage 77
77: TypeSampledImage 72
84
: 6(float) Constant 1056964608
79
: 6(float) Constant 1056964608
8
5
: 6(float) Constant 1058642330
8
0
: 6(float) Constant 1058642330
8
6: 21(fvec2) ConstantComposite 84 85
8
1: 20(fvec2) ConstantComposite 79 80
91
: TypeImage 6(float) Cube array sampled format:Unknown
85
: TypeImage 6(float) Cube array sampled format:Unknown
92: TypePointer UniformConstant 91
86: TypePointer UniformConstant 85
93(g_tTexcdf4a): 92
(ptr) Variable UniformConstant
87(g_tTexcdf4a): 86
(ptr) Variable UniformConstant
9
6: TypeSampledImage 91
9
0: TypeSampledImage 85
9
8
: TypeVector 6(float) 3
9
2
: TypeVector 6(float) 3
9
9: 98(fvec3) ConstantComposite 19 34 47
9
3: 92(fvec3) ConstantComposite 19 33 45
104: TypeImage 23
(int) Cube array sampled format:Unknown
97: TypeImage 22
(int) Cube array sampled format:Unknown
105: TypePointer UniformConstant 104
98: TypePointer UniformConstant 97
106(g_tTexcdi4a): 105
(ptr) Variable UniformConstant
99(g_tTexcdi4a): 98
(ptr) Variable UniformConstant
10
9: TypeSampledImage 104
10
2: TypeSampledImage 97
1
11: 98(fvec3) ConstantComposite 71 84 85
1
04: 92(fvec3) ConstantComposite 67 79 80
1
16: TypeImage 39
(int) Cube array sampled format:Unknown
1
08: TypeImage 37
(int) Cube array sampled format:Unknown
1
17: TypePointer UniformConstant 116
1
09: TypePointer UniformConstant 108
11
8(g_tTexcdu4a): 117
(ptr) Variable UniformConstant
11
0(g_tTexcdu4a): 109
(ptr) Variable UniformConstant
1
21: TypeSampledImage 116
1
13: TypeSampledImage 108
1
23
: 6(float) Constant 1060320051
1
15
: 6(float) Constant 1060320051
1
24
: 6(float) Constant 1061997773
1
16
: 6(float) Constant 1061997773
1
25
: 6(float) Constant 1063675494
1
17
: 6(float) Constant 1063675494
1
26: 98(fvec3) ConstantComposite 123 124 125
1
18: 92(fvec3) ConstantComposite 115 116 117
1
30
: TypeVector 6(float) 4
1
21
: TypeVector 6(float) 4
1
31(PS_OUTPUT): TypeStruct 130
(fvec4) 6(float)
1
22(PS_OUTPUT): TypeStruct 121
(fvec4) 6(float)
1
32: TypePointer Function 131
(PS_OUTPUT)
1
23: TypePointer Function 122
(PS_OUTPUT)
1
34
: 6(float) Constant 1065353216
1
25
: 6(float) Constant 1065353216
1
35: 130(fvec4) ConstantComposite 134 134 134 134
1
26: 121(fvec4) ConstantComposite 125 125 125 125
1
36: TypePointer Function 130
(fvec4)
1
27: TypePointer Function 121
(fvec4)
1
38: 23
(int) Constant 1
1
29: 22
(int) Constant 1
1
40: TypePointer Output 130
(fvec4)
1
31: TypePointer Output 121
(fvec4)
1
41(Color): 140
(ptr) Variable Output
1
32(Color): 131
(ptr) Variable Output
1
44
: TypePointer Output 6(float)
1
35
: TypePointer Output 6(float)
1
45(Depth): 144
(ptr) Variable Output
1
36(Depth): 135
(ptr) Variable Output
14
9
(g_tTex1df4): 10(ptr) Variable UniformConstant
14
0
(g_tTex1df4): 10(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
8(txval10): 7(ptr) Variable Function
2
6
(txval11): 7(ptr) Variable Function
2
5
(txval11): 7(ptr) Variable Function
3
8
(txval12): 7(ptr) Variable Function
3
6
(txval12): 7(ptr) Variable Function
51
(txval20): 7(ptr) Variable Function
48
(txval20): 7(ptr) Variable Function
63
(txval21): 7(ptr) Variable Function
59
(txval21): 7(ptr) Variable Function
7
6
(txval22): 7(ptr) Variable Function
7
1
(txval22): 7(ptr) Variable Function
90
(txval40): 7(ptr) Variable Function
84
(txval40): 7(ptr) Variable Function
103
(txval41): 7(ptr) Variable Function
96
(txval41): 7(ptr) Variable Function
1
15
(txval42): 7(ptr) Variable Function
1
07
(txval42): 7(ptr) Variable Function
1
33(psout): 132
(ptr) Variable Function
1
24(psout): 123
(ptr) Variable Function
12: 9 Load 11(g_tTex1df4a)
12: 9 Load 11(g_tTex1df4a)
16: 13 Load 15(g_sSamp)
16: 13 Load 15(g_sSamp)
18: 17 SampledImage 12 16
18: 17 SampledImage 12 16
20: 9 Image 18
21: 20(fvec2) ImageQueryLod 18 19
22: 21(fvec2) ImageQueryLod 20 19
24: 6(float) CompositeExtract 21 0
25: 6(float) CompositeExtract 22 0
Store 8(txval10) 24
Store 8(txval10) 25
29: 26 Load 28(g_tTex1di4a)
30: 27 Load 29(g_tTex1di4a)
30: 13 Load 15(g_sSamp)
31: 13 Load 15(g_sSamp)
32: 31 SampledImage 29 30
33: 32 SampledImage 30 31
34: 20(fvec2) ImageQueryLod 32 33
35: 27 Image 33
35: 6(float) CompositeExtract 34 0
36: 21(fvec2) ImageQueryLod 35 34
Store 25(txval11) 35
37: 6(float) CompositeExtract 36 0
41: 38 Load 40(g_tTex1du4a)
Store 26(txval11) 37
42: 13 Load 15(g_sSamp)
43: 40 Load 42(g_tTex1du4a)
44: 43 SampledImage 41 42
44: 13 Load 15(g_sSamp)
46: 20(fvec2) ImageQueryLod 44 45
46: 45 SampledImage 43 44
47: 6(float) CompositeExtract 46 0
48: 40 Image 46
Store 36(txval12) 47
49: 21(fvec2) ImageQueryLod 48 47
52: 49 Load 51(g_tTex2df4a)
50: 6(float) CompositeExtract 49 0
53: 13 Load 15(g_sSamp)
Store 38(txval12) 50
55: 54 SampledImage 52 53
55: 52 Load 54(g_tTex2df4a)
57: 20(fvec2) ImageQueryLod 55 56
56: 13 Load 15(g_sSamp)
58: 6(float) CompositeExtract 57 0
58: 57 SampledImage 55 56
Store 48(txval20) 58
60: 52 Image 58
63: 60 Load 62(g_tTex2di4a)
61: 21(fvec2) ImageQueryLod 60 59
64: 13 Load 15(g_sSamp)
62: 6(float) CompositeExtract 61 0
66: 65 SampledImage 63 64
Store 51(txval20) 62
69: 20(fvec2) ImageQueryLod 66 68
67: 64 Load 66(g_tTex2di4a)
70: 6(float) CompositeExtract 69 0
68: 13 Load 15(g_sSamp)
Store 59(txval21) 70
70: 69 SampledImage 67 68
75: 72 Load 74(g_tTex2du4a)
73: 64 Image 70
76: 13 Load 15(g_sSamp)
74: 21(fvec2) ImageQueryLod 73 72
78: 77 SampledImage 75 76
75: 6(float) CompositeExtract 74 0
82: 20(fvec2) ImageQueryLod 78 81
Store 63(txval21) 75
83: 6(float) CompositeExtract 82 0
80: 77 Load 79(g_tTex2du4a)
Store 71(txval22) 83
81: 13 Load 15(g_sSamp)
88: 85 Load 87(g_tTexcdf4a)
83: 82 SampledImage 80 81
89: 13 Load 15(g_sSamp)
87: 77 Image 83
91: 90 SampledImage 88 89
88: 21(fvec2) ImageQueryLod 87 86
94: 20(fvec2) ImageQueryLod 91 93
89: 6(float) CompositeExtract 88 0
95: 6(float) CompositeExtract 94 0
Store 76(txval22) 89
Store 84(txval40) 95
94: 91 Load 93(g_tTexcdf4a)
100: 97 Load 99(g_tTexcdi4a)
95: 13 Load 15(g_sSamp)
101: 13 Load 15(g_sSamp)
97: 96 SampledImage 94 95
103: 102 SampledImage 100 101
100: 91 Image 97
105: 20(fvec2) ImageQueryLod 103 104
101: 21(fvec2) ImageQueryLod 100 99
106: 6(float) CompositeExtract 105 0
102: 6(float) CompositeExtract 101 0
Store 96(txval41) 106
Store 90(txval40) 102
111: 108 Load 110(g_tTexcdu4a)
107: 104 Load 106(g_tTexcdi4a)
112: 13 Load 15(g_sSamp)
108: 13 Load 15(g_sSamp)
114: 113 SampledImage 111 112
110: 109 SampledImage 107 108
119: 20(fvec2) ImageQueryLod 114 118
112: 104 Image 110
120: 6(float) CompositeExtract 119 0
113: 21(fvec2) ImageQueryLod 112 111
Store 107(txval42) 120
114: 6(float) CompositeExtract 113 0
128: 127(ptr) AccessChain 124(psout) 23
Store 103(txval41) 114
Store 128 126
119: 116 Load 118(g_tTexcdu4a)
130: 7(ptr) AccessChain 124(psout) 129
120: 13 Load 15(g_sSamp)
Store 130 125
122: 121 SampledImage 119 120
133: 127(ptr) AccessChain 124(psout) 23
127: 116 Image 122
134: 121(fvec4) Load 133
128: 21(fvec2) ImageQueryLod 127 126
Store 132(Color) 134
129: 6(float) CompositeExtract 128 0
137: 7(ptr) AccessChain 124(psout) 129
Store 115(txval42) 129
138: 6(float) Load 137
137: 136(ptr) AccessChain 133(psout) 24
Store 136(Depth) 138
Store 137 135
139: 7(ptr) AccessChain 133(psout) 138
Store 139 134
142: 136(ptr) AccessChain 133(psout) 24
143: 130(fvec4) Load 142
Store 141(Color) 143
146: 7(ptr) AccessChain 133(psout) 138
147: 6(float) Load 146
Store 145(Depth) 147
Return
Return
FunctionEnd
FunctionEnd
Test/baseResults/spv.queryL.frag.out
View file @
e3aa654c
...
@@ -7,7 +7,7 @@ Linked fragment stage:
...
@@ -7,7 +7,7 @@ Linked fragment stage:
// Module Version 10000
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
// Id's are bound by 2
37
// Id's are bound by 2
24
Capability Shader
Capability Shader
Capability SampledRect
Capability SampledRect
...
@@ -24,48 +24,48 @@ Linked fragment stage:
...
@@ -24,48 +24,48 @@ Linked fragment stage:
Name 9 "lod"
Name 9 "lod"
Name 13 "samp1D"
Name 13 "samp1D"
Name 16 "pf"
Name 16 "pf"
Name 2
4
"isamp2D"
Name 2
3
"isamp2D"
Name 2
6
"pf2"
Name 2
5
"pf2"
Name 3
6
"usamp3D"
Name 3
4
"usamp3D"
Name
40
"pf3"
Name
38
"pf3"
Name 4
9
"sampCube"
Name 4
6
"sampCube"
Name 5
9
"isamp1DA"
Name 5
5
"isamp1DA"
Name 6
9
"usamp2DA"
Name 6
4
"usamp2DA"
Name 7
9
"isampCubeA"
Name 7
3
"isampCubeA"
Name 8
9
"samp1Ds"
Name 8
2
"samp1Ds"
Name 9
9
"samp2Ds"
Name 9
1
"samp2Ds"
Name 10
9
"sampCubes"
Name 10
0
"sampCubes"
Name 1
1
9 "samp1DAs"
Name 1
0
9 "samp1DAs"
Name 1
29
"samp2DAs"
Name 1
18
"samp2DAs"
Name 1
39
"sampCubeAs"
Name 1
27
"sampCubeAs"
Name 1
47
"levels"
Name 1
34
"levels"
Name 1
54
"usamp2D"
Name 1
41
"usamp2D"
Name 1
63
"isamp3D"
Name 1
50
"isamp3D"
Name 1
72
"isampCube"
Name 1
59
"isampCube"
Name 1
86
"samp2DA"
Name 1
73
"samp2DA"
Name 1
95
"usampCubeA"
Name 1
82
"usampCubeA"
Name 2
32
"sampBuf"
Name 2
19
"sampBuf"
Name 2
36
"sampRect"
Name 2
23
"sampRect"
Decorate 13(samp1D) DescriptorSet 0
Decorate 13(samp1D) DescriptorSet 0
Decorate 2
4
(isamp2D) DescriptorSet 0
Decorate 2
3
(isamp2D) DescriptorSet 0
Decorate 3
6
(usamp3D) DescriptorSet 0
Decorate 3
4
(usamp3D) DescriptorSet 0
Decorate 4
9
(sampCube) DescriptorSet 0
Decorate 4
6
(sampCube) DescriptorSet 0
Decorate 5
9
(isamp1DA) DescriptorSet 0
Decorate 5
5
(isamp1DA) DescriptorSet 0
Decorate 6
9
(usamp2DA) DescriptorSet 0
Decorate 6
4
(usamp2DA) DescriptorSet 0
Decorate 7
9
(isampCubeA) DescriptorSet 0
Decorate 7
3
(isampCubeA) DescriptorSet 0
Decorate 8
9
(samp1Ds) DescriptorSet 0
Decorate 8
2
(samp1Ds) DescriptorSet 0
Decorate 9
9
(samp2Ds) DescriptorSet 0
Decorate 9
1
(samp2Ds) DescriptorSet 0
Decorate 10
9
(sampCubes) DescriptorSet 0
Decorate 10
0
(sampCubes) DescriptorSet 0
Decorate 1
1
9(samp1DAs) DescriptorSet 0
Decorate 1
0
9(samp1DAs) DescriptorSet 0
Decorate 1
29
(samp2DAs) DescriptorSet 0
Decorate 1
18
(samp2DAs) DescriptorSet 0
Decorate 1
39
(sampCubeAs) DescriptorSet 0
Decorate 1
27
(sampCubeAs) DescriptorSet 0
Decorate 1
54
(usamp2D) DescriptorSet 0
Decorate 1
41
(usamp2D) DescriptorSet 0
Decorate 1
63
(isamp3D) DescriptorSet 0
Decorate 1
50
(isamp3D) DescriptorSet 0
Decorate 1
72
(isampCube) DescriptorSet 0
Decorate 1
59
(isampCube) DescriptorSet 0
Decorate 1
86
(samp2DA) DescriptorSet 0
Decorate 1
73
(samp2DA) DescriptorSet 0
Decorate 1
95
(usampCubeA) DescriptorSet 0
Decorate 1
82
(usampCubeA) DescriptorSet 0
Decorate 2
32
(sampBuf) DescriptorSet 0
Decorate 2
19
(sampBuf) DescriptorSet 0
Decorate 2
36
(sampRect) DescriptorSet 0
Decorate 2
23
(sampRect) DescriptorSet 0
2: TypeVoid
2: TypeVoid
3: TypeFunction 2
3: TypeFunction 2
6: TypeFloat 32
6: TypeFloat 32
...
@@ -76,256 +76,243 @@ Linked fragment stage:
...
@@ -76,256 +76,243 @@ Linked fragment stage:
12: TypePointer UniformConstant 11
12: TypePointer UniformConstant 11
13(samp1D): 12(ptr) Variable UniformConstant
13(samp1D): 12(ptr) Variable UniformConstant
15: TypePointer Function 6(float)
15: TypePointer Function 6(float)
20: TypeInt 32 1
19: TypeInt 32 1
21: TypeImage 20(int) 2D sampled format:Unknown
20: TypeImage 19(int) 2D sampled format:Unknown
22: TypeSampledImage 21
21: TypeSampledImage 20
23: TypePointer UniformConstant 22
22: TypePointer UniformConstant 21
24(isamp2D): 23(ptr) Variable UniformConstant
23(isamp2D): 22(ptr) Variable UniformConstant
32: TypeInt 32 0
30: TypeInt 32 0
33: TypeImage 32(int) 3D sampled format:Unknown
31: TypeImage 30(int) 3D sampled format:Unknown
34: TypeSampledImage 33
32: TypeSampledImage 31
35: TypePointer UniformConstant 34
33: TypePointer UniformConstant 32
36(usamp3D): 35(ptr) Variable UniformConstant
34(usamp3D): 33(ptr) Variable UniformConstant
38: TypeVector 6(float) 3
36: TypeVector 6(float) 3
39: TypePointer Function 38(fvec3)
37: TypePointer Function 36(fvec3)
46: TypeImage 6(float) Cube sampled format:Unknown
43: TypeImage 6(float) Cube sampled format:Unknown
47: TypeSampledImage 46
44: TypeSampledImage 43
48: TypePointer UniformConstant 47
45: TypePointer UniformConstant 44
49(sampCube): 48(ptr) Variable UniformConstant
46(sampCube): 45(ptr) Variable UniformConstant
56: TypeImage 20(int) 1D array sampled format:Unknown
52: TypeImage 19(int) 1D array sampled format:Unknown
57: TypeSampledImage 56
53: TypeSampledImage 52
58: TypePointer UniformConstant 57
54: TypePointer UniformConstant 53
59(isamp1DA): 58(ptr) Variable UniformConstant
55(isamp1DA): 54(ptr) Variable UniformConstant
66: TypeImage 32(int) 2D array sampled format:Unknown
61: TypeImage 30(int) 2D array sampled format:Unknown
67: TypeSampledImage 66
62: TypeSampledImage 61
68: TypePointer UniformConstant 67
63: TypePointer UniformConstant 62
69(usamp2DA): 68(ptr) Variable UniformConstant
64(usamp2DA): 63(ptr) Variable UniformConstant
76: TypeImage 20(int) Cube array sampled format:Unknown
70: TypeImage 19(int) Cube array sampled format:Unknown
77: TypeSampledImage 76
71: TypeSampledImage 70
78: TypePointer UniformConstant 77
72: TypePointer UniformConstant 71
79(isampCubeA): 78(ptr) Variable UniformConstant
73(isampCubeA): 72(ptr) Variable UniformConstant
86: TypeImage 6(float) 1D depth sampled format:Unknown
79: TypeImage 6(float) 1D depth sampled format:Unknown
87: TypeSampledImage 86
80: TypeSampledImage 79
88: TypePointer UniformConstant 87
81: TypePointer UniformConstant 80
89(samp1Ds): 88(ptr) Variable UniformConstant
82(samp1Ds): 81(ptr) Variable UniformConstant
96: TypeImage 6(float) 2D depth sampled format:Unknown
88: TypeImage 6(float) 2D depth sampled format:Unknown
97: TypeSampledImage 96
89: TypeSampledImage 88
98: TypePointer UniformConstant 97
90: TypePointer UniformConstant 89
99(samp2Ds): 98(ptr) Variable UniformConstant
91(samp2Ds): 90(ptr) Variable UniformConstant
106: TypeImage 6(float) Cube depth sampled format:Unknown
97: TypeImage 6(float) Cube depth sampled format:Unknown
98: TypeSampledImage 97
99: TypePointer UniformConstant 98
100(sampCubes): 99(ptr) Variable UniformConstant
106: TypeImage 6(float) 1D depth array sampled format:Unknown
107: TypeSampledImage 106
107: TypeSampledImage 106
108: TypePointer UniformConstant 107
108: TypePointer UniformConstant 107
109(sampCubes): 108(ptr) Variable UniformConstant
109(samp1DAs): 108(ptr) Variable UniformConstant
116: TypeImage 6(float) 1D depth array sampled format:Unknown
115: TypeImage 6(float) 2D depth array sampled format:Unknown
117: TypeSampledImage 116
116: TypeSampledImage 115
118: TypePointer UniformConstant 117
117: TypePointer UniformConstant 116
119(samp1DAs): 118(ptr) Variable UniformConstant
118(samp2DAs): 117(ptr) Variable UniformConstant
126: TypeImage 6(float) 2D depth array sampled format:Unknown
124: TypeImage 6(float) Cube depth array sampled format:Unknown
127: TypeSampledImage 126
125: TypeSampledImage 124
128: TypePointer UniformConstant 127
126: TypePointer UniformConstant 125
129(samp2DAs): 128(ptr) Variable UniformConstant
127(sampCubeAs): 126(ptr) Variable UniformConstant
136: TypeImage 6(float) Cube depth array sampled format:Unknown
133: TypePointer Function 19(int)
137: TypeSampledImage 136
138: TypeImage 30(int) 2D sampled format:Unknown
138: TypePointer UniformConstant 137
139: TypeSampledImage 138
139(sampCubeAs): 138(ptr) Variable UniformConstant
140: TypePointer UniformConstant 139
146: TypePointer Function 20(int)
141(usamp2D): 140(ptr) Variable UniformConstant
151: TypeImage 32(int) 2D sampled format:Unknown
147: TypeImage 19(int) 3D sampled format:Unknown
152: TypeSampledImage 151
148: TypeSampledImage 147
153: TypePointer UniformConstant 152
149: TypePointer UniformConstant 148
154(usamp2D): 153(ptr) Variable UniformConstant
150(isamp3D): 149(ptr) Variable UniformConstant
160: TypeImage 20(int) 3D sampled format:Unknown
156: TypeImage 19(int) Cube sampled format:Unknown
161: TypeSampledImage 160
157: TypeSampledImage 156
162: TypePointer UniformConstant 161
158: TypePointer UniformConstant 157
163(isamp3D): 162(ptr) Variable UniformConstant
159(isampCube): 158(ptr) Variable UniformConstant
169: TypeImage 20(int) Cube sampled format:Unknown
170: TypeImage 6(float) 2D array sampled format:Unknown
170: TypeSampledImage 169
171: TypeSampledImage 170
171: TypePointer UniformConstant 170
172: TypePointer UniformConstant 171
172(isampCube): 171(ptr) Variable UniformConstant
173(samp2DA): 172(ptr) Variable UniformConstant
183: TypeImage 6(float) 2D array sampled format:Unknown
179: TypeImage 30(int) Cube array sampled format:Unknown
184: TypeSampledImage 183
180: TypeSampledImage 179
185: TypePointer UniformConstant 184
181: TypePointer UniformConstant 180
186(samp2DA): 185(ptr) Variable UniformConstant
182(usampCubeA): 181(ptr) Variable UniformConstant
192: TypeImage 32(int) Cube array sampled format:Unknown
216: TypeImage 6(float) Buffer sampled format:Unknown
193: TypeSampledImage 192
217: TypeSampledImage 216
194: TypePointer UniformConstant 193
218: TypePointer UniformConstant 217
195(usampCubeA): 194(ptr) Variable UniformConstant
219(sampBuf): 218(ptr) Variable UniformConstant
229: TypeImage 6(float) Buffer sampled format:Unknown
220: TypeImage 6(float) Rect sampled format:Unknown
230: TypeSampledImage 229
221: TypeSampledImage 220
231: TypePointer UniformConstant 230
222: TypePointer UniformConstant 221
232(sampBuf): 231(ptr) Variable UniformConstant
223(sampRect): 222(ptr) Variable UniformConstant
233: TypeImage 6(float) Rect sampled format:Unknown
234: TypeSampledImage 233
235: TypePointer UniformConstant 234
236(sampRect): 235(ptr) Variable UniformConstant
4(main): 2 Function None 3
4(main): 2 Function None 3
5: Label
5: Label
9(lod): 8(ptr) Variable Function
9(lod): 8(ptr) Variable Function
16(pf): 15(ptr) Variable Function
16(pf): 15(ptr) Variable Function
2
6
(pf2): 8(ptr) Variable Function
2
5
(pf2): 8(ptr) Variable Function
40(pf3): 39
(ptr) Variable Function
38(pf3): 37
(ptr) Variable Function
1
47(levels): 146
(ptr) Variable Function
1
34(levels): 133
(ptr) Variable Function
14: 11 Load 13(samp1D)
14: 11 Load 13(samp1D)
17: 6(float) Load 16(pf)
17: 6(float) Load 16(pf)
18: 10 Image 14
18: 7(fvec2) ImageQueryLod 14 17
19: 7(fvec2) ImageQueryLod 18 17
Store 9(lod) 18
Store 9(lod) 19
24: 21 Load 23(isamp2D)
25: 22 Load 24(isamp2D)
26: 7(fvec2) Load 25(pf2)
27: 7(fvec2) Load 26(pf2)
27: 7(fvec2) ImageQueryLod 24 26
28: 21 Image 25
28: 7(fvec2) Load 9(lod)
29: 7(fvec2) ImageQueryLod 28 27
29: 7(fvec2) FAdd 28 27
30: 7(fvec2) Load 9(lod)
Store 9(lod) 29
31: 7(fvec2) FAdd 30 29
35: 32 Load 34(usamp3D)
Store 9(lod) 31
39: 36(fvec3) Load 38(pf3)
37: 34 Load 36(usamp3D)
40: 7(fvec2) ImageQueryLod 35 39
41: 38(fvec3) Load 40(pf3)
41: 7(fvec2) Load 9(lod)
42: 33 Image 37
42: 7(fvec2) FAdd 41 40
43: 7(fvec2) ImageQueryLod 42 41
Store 9(lod) 42
44: 7(fvec2) Load 9(lod)
47: 44 Load 46(sampCube)
45: 7(fvec2) FAdd 44 43
48: 36(fvec3) Load 38(pf3)
Store 9(lod) 45
49: 7(fvec2) ImageQueryLod 47 48
50: 47 Load 49(sampCube)
50: 7(fvec2) Load 9(lod)
51: 38(fvec3) Load 40(pf3)
51: 7(fvec2) FAdd 50 49
52: 46 Image 50
Store 9(lod) 51
53: 7(fvec2) ImageQueryLod 52 51
56: 53 Load 55(isamp1DA)
54: 7(fvec2) Load 9(lod)
57: 6(float) Load 16(pf)
55: 7(fvec2) FAdd 54 53
58: 7(fvec2) ImageQueryLod 56 57
Store 9(lod) 55
59: 7(fvec2) Load 9(lod)
60: 57 Load 59(isamp1DA)
60: 7(fvec2) FAdd 59 58
61: 6(float) Load 16(pf)
Store 9(lod) 60
62: 56 Image 60
65: 62 Load 64(usamp2DA)
63: 7(fvec2) ImageQueryLod 62 61
66: 7(fvec2) Load 25(pf2)
64: 7(fvec2) Load 9(lod)
67: 7(fvec2) ImageQueryLod 65 66
65: 7(fvec2) FAdd 64 63
68: 7(fvec2) Load 9(lod)
Store 9(lod) 65
69: 7(fvec2) FAdd 68 67
70: 67 Load 69(usamp2DA)
Store 9(lod) 69
71: 7(fvec2) Load 26(pf2)
74: 71 Load 73(isampCubeA)
72: 66 Image 70
75: 36(fvec3) Load 38(pf3)
73: 7(fvec2) ImageQueryLod 72 71
76: 7(fvec2) ImageQueryLod 74 75
74: 7(fvec2) Load 9(lod)
77: 7(fvec2) Load 9(lod)
75: 7(fvec2) FAdd 74 73
78: 7(fvec2) FAdd 77 76
Store 9(lod) 75
Store 9(lod) 78
80: 77 Load 79(isampCubeA)
83: 80 Load 82(samp1Ds)
81: 38(fvec3) Load 40(pf3)
84: 6(float) Load 16(pf)
82: 76 Image 80
85: 7(fvec2) ImageQueryLod 83 84
83: 7(fvec2) ImageQueryLod 82 81
86: 7(fvec2) Load 9(lod)
84: 7(fvec2) Load 9(lod)
87: 7(fvec2) FAdd 86 85
85: 7(fvec2) FAdd 84 83
Store 9(lod) 87
Store 9(lod) 85
92: 89 Load 91(samp2Ds)
90: 87 Load 89(samp1Ds)
93: 7(fvec2) Load 25(pf2)
91: 6(float) Load 16(pf)
94: 7(fvec2) ImageQueryLod 92 93
92: 86 Image 90
95: 7(fvec2) Load 9(lod)
93: 7(fvec2) ImageQueryLod 92 91
96: 7(fvec2) FAdd 95 94
94: 7(fvec2) Load 9(lod)
Store 9(lod) 96
95: 7(fvec2) FAdd 94 93
101: 98 Load 100(sampCubes)
Store 9(lod) 95
102: 36(fvec3) Load 38(pf3)
100: 97 Load 99(samp2Ds)
103: 7(fvec2) ImageQueryLod 101 102
101: 7(fvec2) Load 26(pf2)
102: 96 Image 100
103: 7(fvec2) ImageQueryLod 102 101
104: 7(fvec2) Load 9(lod)
104: 7(fvec2) Load 9(lod)
105: 7(fvec2) FAdd 104 103
105: 7(fvec2) FAdd 104 103
Store 9(lod) 105
Store 9(lod) 105
110: 107 Load 109(sampCubes)
110: 107 Load 109(samp1DAs)
111: 38(fvec3) Load 40(pf3)
111: 6(float) Load 16(pf)
112: 106 Image 110
112: 7(fvec2) ImageQueryLod 110 111
113: 7(fvec2) ImageQueryLod 112 111
113: 7(fvec2) Load 9(lod)
114: 7(fvec2) Load 9(lod)
114: 7(fvec2) FAdd 113 112
115: 7(fvec2) FAdd 114 113
Store 9(lod) 114
Store 9(lod) 115
119: 116 Load 118(samp2DAs)
120: 117 Load 119(samp1DAs)
120: 7(fvec2) Load 25(pf2)
121: 6(float) Load 16(pf)
121: 7(fvec2) ImageQueryLod 119 120
122: 116 Image 120
122: 7(fvec2) Load 9(lod)
123: 7(fvec2) ImageQueryLod 122 121
123: 7(fvec2) FAdd 122 121
124: 7(fvec2) Load 9(lod)
Store 9(lod) 123
125: 7(fvec2) FAdd 124 123
128: 125 Load 127(sampCubeAs)
Store 9(lod) 125
129: 36(fvec3) Load 38(pf3)
130: 127 Load 129(samp2DAs)
130: 7(fvec2) ImageQueryLod 128 129
131: 7(fvec2) Load 26(pf2)
131: 7(fvec2) Load 9(lod)
132: 126 Image 130
132: 7(fvec2) FAdd 131 130
133: 7(fvec2) ImageQueryLod 132 131
Store 9(lod) 132
134: 7(fvec2) Load 9(lod)
135: 11 Load 13(samp1D)
135: 7(fvec2) FAdd 134 133
136: 10 Image 135
Store 9(lod) 135
137: 19(int) ImageQueryLevels 136
140: 137 Load 139(sampCubeAs)
Store 134(levels) 137
141: 38(fvec3) Load 40(pf3)
142: 139 Load 141(usamp2D)
142: 136 Image 140
143: 138 Image 142
143: 7(fvec2) ImageQueryLod 142 141
144: 19(int) ImageQueryLevels 143
144: 7(fvec2) Load 9(lod)
145: 19(int) Load 134(levels)
145: 7(fvec2) FAdd 144 143
146: 19(int) IAdd 145 144
Store 9(lod) 145
Store 134(levels) 146
148: 11 Load 13(samp1D)
151: 148 Load 150(isamp3D)
149: 10 Image 148
152: 147 Image 151
150: 20(int) ImageQueryLevels 149
153: 19(int) ImageQueryLevels 152
Store 147(levels) 150
154: 19(int) Load 134(levels)
155: 152 Load 154(usamp2D)
155: 19(int) IAdd 154 153
156: 151 Image 155
Store 134(levels) 155
157: 20(int) ImageQueryLevels 156
160: 157 Load 159(isampCube)
158: 20(int) Load 147(levels)
161: 156 Image 160
159: 20(int) IAdd 158 157
162: 19(int) ImageQueryLevels 161
Store 147(levels) 159
163: 19(int) Load 134(levels)
164: 161 Load 163(isamp3D)
164: 19(int) IAdd 163 162
165: 160 Image 164
Store 134(levels) 164
166: 20(int) ImageQueryLevels 165
165: 53 Load 55(isamp1DA)
167: 20(int) Load 147(levels)
166: 52 Image 165
168: 20(int) IAdd 167 166
167: 19(int) ImageQueryLevels 166
Store 147(levels) 168
168: 19(int) Load 134(levels)
173: 170 Load 172(isampCube)
169: 19(int) IAdd 168 167
174: 169 Image 173
Store 134(levels) 169
175: 20(int) ImageQueryLevels 174
174: 171 Load 173(samp2DA)
176: 20(int) Load 147(levels)
175: 170 Image 174
177: 20(int) IAdd 176 175
176: 19(int) ImageQueryLevels 175
Store 147(levels) 177
177: 19(int) Load 134(levels)
178: 57 Load 59(isamp1DA)
178: 19(int) IAdd 177 176
179: 56 Image 178
Store 134(levels) 178
180: 20(int) ImageQueryLevels 179
183: 180 Load 182(usampCubeA)
181: 20(int) Load 147(levels)
184: 179 Image 183
182: 20(int) IAdd 181 180
185: 19(int) ImageQueryLevels 184
Store 147(levels) 182
186: 19(int) Load 134(levels)
187: 184 Load 186(samp2DA)
187: 19(int) IAdd 186 185
188: 183 Image 187
Store 134(levels) 187
189: 20(int) ImageQueryLevels 188
188: 80 Load 82(samp1Ds)
190: 20(int) Load 147(levels)
189: 79 Image 188
191: 20(int) IAdd 190 189
190: 19(int) ImageQueryLevels 189
Store 147(levels) 191
Store 134(levels) 190
196: 193 Load 195(usampCubeA)
191: 89 Load 91(samp2Ds)
197: 192 Image 196
192: 88 Image 191
198: 20(int) ImageQueryLevels 197
193: 19(int) ImageQueryLevels 192
199: 20(int) Load 147(levels)
194: 19(int) Load 134(levels)
200: 20(int) IAdd 199 198
195: 19(int) IAdd 194 193
Store 147(levels) 200
Store 134(levels) 195
201: 87 Load 89(samp1Ds)
196: 98 Load 100(sampCubes)
202: 86 Image 201
197: 97 Image 196
203: 20(int) ImageQueryLevels 202
198: 19(int) ImageQueryLevels 197
Store 147(levels) 203
199: 19(int) Load 134(levels)
204: 97 Load 99(samp2Ds)
200: 19(int) IAdd 199 198
205: 96 Image 204
Store 134(levels) 200
206: 20(int) ImageQueryLevels 205
201: 107 Load 109(samp1DAs)
207: 20(int) Load 147(levels)
202: 106 Image 201
208: 20(int) IAdd 207 206
203: 19(int) ImageQueryLevels 202
Store 147(levels) 208
204: 19(int) Load 134(levels)
209: 107 Load 109(sampCubes)
205: 19(int) IAdd 204 203
210: 106 Image 209
Store 134(levels) 205
211: 20(int) ImageQueryLevels 210
206: 116 Load 118(samp2DAs)
212: 20(int) Load 147(levels)
207: 115 Image 206
213: 20(int) IAdd 212 211
208: 19(int) ImageQueryLevels 207
Store 147(levels) 213
209: 19(int) Load 134(levels)
214: 117 Load 119(samp1DAs)
210: 19(int) IAdd 209 208
215: 116 Image 214
Store 134(levels) 210
216: 20(int) ImageQueryLevels 215
211: 125 Load 127(sampCubeAs)
217: 20(int) Load 147(levels)
212: 124 Image 211
218: 20(int) IAdd 217 216
213: 19(int) ImageQueryLevels 212
Store 147(levels) 218
214: 19(int) Load 134(levels)
219: 127 Load 129(samp2DAs)
215: 19(int) IAdd 214 213
220: 126 Image 219
Store 134(levels) 215
221: 20(int) ImageQueryLevels 220
222: 20(int) Load 147(levels)
223: 20(int) IAdd 222 221
Store 147(levels) 223
224: 137 Load 139(sampCubeAs)
225: 136 Image 224
226: 20(int) ImageQueryLevels 225
227: 20(int) Load 147(levels)
228: 20(int) IAdd 227 226
Store 147(levels) 228
Return
Return
FunctionEnd
FunctionEnd
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment