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
dad64085
Commit
dad64085
authored
Nov 22, 2015
by
John Kessenich
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #98 from amdrexu/myfix
SPV: Fix an issue related with using CubeArrayShadow for texture()
parents
2c034784
71519fe7
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
298 additions
and
311 deletions
+298
-311
GlslangToSpv.cpp
SPIRV/GlslangToSpv.cpp
+3
-1
spv.130.frag.out
Test/baseResults/spv.130.frag.out
+1
-1
spv.140.vert.out
Test/baseResults/spv.140.vert.out
+0
-31
spv.newTexture.frag.out
Test/baseResults/spv.newTexture.frag.out
+292
-278
spv.newTexture.frag
Test/spv.newTexture.frag
+2
-0
No files found.
SPIRV/GlslangToSpv.cpp
View file @
dad64085
...
@@ -1901,9 +1901,11 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
...
@@ -1901,9 +1901,11 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
// Check for texture functions other than queries
// Check for texture functions other than queries
bool
cubeCompare
=
sampler
.
dim
==
glslang
::
EsdCube
&&
sampler
.
arrayed
&&
sampler
.
shadow
;
// check for bias argument
// check for bias argument
bool
bias
=
false
;
bool
bias
=
false
;
if
(
!
cracked
.
lod
&&
!
cracked
.
gather
&&
!
cracked
.
grad
&&
!
cracked
.
fetch
)
{
if
(
!
cracked
.
lod
&&
!
cracked
.
gather
&&
!
cracked
.
grad
&&
!
cracked
.
fetch
&&
!
cubeCompare
)
{
int
nonBiasArgCount
=
2
;
int
nonBiasArgCount
=
2
;
if
(
cracked
.
offset
)
if
(
cracked
.
offset
)
++
nonBiasArgCount
;
++
nonBiasArgCount
;
...
...
Test/baseResults/spv.130.frag.out
View file @
dad64085
...
@@ -268,7 +268,7 @@ Linked fragment stage:
...
@@ -268,7 +268,7 @@ Linked fragment stage:
124: 15(fvec4) Load 78(i)
124: 15(fvec4) Load 78(i)
127: 126(ptr) AccessChain 78(i) 125
127: 126(ptr) AccessChain 78(i) 125
128: 14(float) Load 127
128: 14(float) Load 127
129: 14(float) ImageSampleDrefImplicitLod 123 124 128
Bias 128
129: 14(float) ImageSampleDrefImplicitLod 123 124 128
Store 122(f) 129
Store 122(f) 129
132: 84 Load 86(Isca)
132: 84 Load 86(Isca)
133: 15(fvec4) Load 78(i)
133: 15(fvec4) Load 78(i)
...
...
Test/baseResults/spv.140.vert.out
deleted
100644 → 0
View file @
2c034784
Error: unable to open input file: spv.140.vert
Usage: glslangValidator [option]... [file]...
Where: each 'file' ends in .<stage>, where <stage> is one of
.conf to provide an optional config file that replaces the default configuration
(see -c option below for generating a template)
.vert for a vertex shader
.tesc for a tessellation control shader
.tese for a tessellation evaluation shader
.geom for a geometry shader
.frag for a fragment shader
.comp for a compute shader
Compilation warnings and errors will be printed to stdout.
To get other information, use one of the following options:
(Each option must be specified separately, but can go anywhere in the command line.)
-V create SPIR-V in file <stage>.spv
-H print human readable form of SPIR-V; turns on -V
-E print pre-processed glsl. Cannot be used with -V, -H or -l.
-c configuration dump; use to create default configuration file (redirect to a .conf file)
-d default to desktop (#version 110) when there is no version in the shader (default is ES version 100)
-i intermediate tree (glslang AST) is printed out
-l link validation of all input files
-m memory leak mode
-q dump reflection query database
-r relaxed semantic error-checking mode
-s silent mode
-t multi-threaded mode
-v print version strings
-w suppress warnings (except as required by #extension : warn)
Test/baseResults/spv.newTexture.frag.out
View file @
dad64085
...
@@ -7,48 +7,49 @@ Linked fragment stage:
...
@@ -7,48 +7,49 @@ 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
65
// Id's are bound by 2
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"
55 17 38 26 72 79 69 264 234
EntryPoint Fragment 4 "main"
29 17 55 26 84 91 81 276 246
ExecutionMode 4 OriginLowerLeft
ExecutionMode 4 OriginLowerLeft
Source GLSL 430
Source GLSL 430
Name 4 "main"
Name 4 "main"
Name 9 "v"
Name 9 "v"
Name 13 "s2D"
Name 13 "s2D"
Name 17 "c2D"
Name 17 "c2D"
Name 23 "s
3D
"
Name 23 "s
CubeArrayShadow
"
Name 26 "c4D"
Name 26 "c4D"
Name 34 "s2DArray"
Name 29 "c1D"
Name 38 "c3D"
Name 42 "s3D"
Name 47 "s2DShadow"
Name 51 "s2DArray"
Name 55 "c1D"
Name 55 "c3D"
Name 69 "ic3D"
Name 64 "s2DShadow"
Name 72 "ic1D"
Name 81 "ic3D"
Name 79 "ic2D"
Name 84 "ic1D"
Name 88 "sr"
Name 91 "ic2D"
Name 113 "sCube"
Name 100 "sr"
Name 124 "s2DArrayShadow"
Name 125 "sCube"
Name 152 "iv"
Name 136 "s2DArrayShadow"
Name 156 "is2D"
Name 164 "iv"
Name 191 "is3D"
Name 168 "is2D"
Name 203 "isCube"
Name 203 "is3D"
Name 215 "is2DArray"
Name 215 "isCube"
Name 225 "iv2"
Name 227 "is2DArray"
Name 229 "sCubeShadow"
Name 237 "iv2"
Name 234 "FragData"
Name 241 "sCubeShadow"
Name 246 "is2Dms"
Name 246 "FragData"
Name 250 "us2D"
Name 258 "is2Dms"
Name 254 "us3D"
Name 262 "us2D"
Name 258 "usCube"
Name 266 "us3D"
Name 262 "us2DArray"
Name 270 "usCube"
Name 264 "ic4D"
Name 274 "us2DArray"
Decorate 69(ic3D) Flat
Name 276 "ic4D"
Decorate 72(ic1D) Flat
Decorate 81(ic3D) Flat
Decorate 79(ic2D) Flat
Decorate 84(ic1D) Flat
Decorate 264(ic4D) Flat
Decorate 91(ic2D) Flat
Decorate 276(ic4D) Flat
2: TypeVoid
2: TypeVoid
3: TypeFunction 2
3: TypeFunction 2
6: TypeFloat 32
6: TypeFloat 32
...
@@ -61,285 +62,298 @@ Linked fragment stage:
...
@@ -61,285 +62,298 @@ Linked fragment stage:
15: TypeVector 6(float) 2
15: TypeVector 6(float) 2
16: TypePointer Input 15(fvec2)
16: TypePointer Input 15(fvec2)
17(c2D): 16(ptr) Variable Input
17(c2D): 16(ptr) Variable Input
20: TypeImage 6(float)
3D
sampled format:Unknown
20: TypeImage 6(float)
Cube depth array
sampled format:Unknown
21: TypeSampledImage 20
21: TypeSampledImage 20
22: TypePointer UniformConstant 21
22: TypePointer UniformConstant 21
23(s3D
): 22(ptr) Variable UniformConstant
23(sCubeArrayShadow
): 22(ptr) Variable UniformConstant
25: TypePointer Input 7(fvec4)
25: TypePointer Input 7(fvec4)
26(c4D): 25(ptr) Variable Input
26(c4D): 25(ptr) Variable Input
31: TypeImage 6(float) 2D array sampled format:Unknown
28: TypePointer Input 6(float)
32: TypeSampledImage 31
29(c1D): 28(ptr) Variable Input
33: TypePointer UniformConstant 32
32: TypeInt 32 0
34(s2DArray): 33(ptr) Variable UniformConstant
33: 32(int) Constant 1
36: TypeVector 6(float) 3
34: TypePointer Function 6(float)
37: TypePointer Input 36(fvec3)
39: TypeImage 6(float) 3D sampled format:Unknown
38(c3D): 37(ptr) Variable Input
40: TypeSampledImage 39
40: 6(float) Constant 1067030938
41: TypePointer UniformConstant 40
44: TypeImage 6(float) 2D depth sampled format:Unknown
42(s3D): 41(ptr) Variable UniformConstant
45: TypeSampledImage 44
48: TypeImage 6(float) 2D array sampled format:Unknown
46: TypePointer UniformConstant 45
49: TypeSampledImage 48
47(s2DShadow): 46(ptr) Variable UniformConstant
50: TypePointer UniformConstant 49
50: TypeInt 32 1
51(s2DArray): 50(ptr) Variable UniformConstant
51: TypeVector 50(int) 2
53: TypeVector 6(float) 3
52: 50(int) Constant 3
54: TypePointer Input 53(fvec3)
53: 51(ivec2) ConstantComposite 52 52
55(c3D): 54(ptr) Variable Input
54: TypePointer Input 6(float)
57: 6(float) Constant 1067030938
55(c1D): 54(ptr) Variable Input
61: TypeImage 6(float) 2D depth sampled format:Unknown
59: TypeInt 32 0
62: TypeSampledImage 61
60: 59(int) Constant 1
63: TypePointer UniformConstant 62
61: TypePointer Function 6(float)
64(s2DShadow): 63(ptr) Variable UniformConstant
67: TypeVector 50(int) 3
67: TypeInt 32 1
68: TypePointer Input 67(ivec3)
68: TypeVector 67(int) 2
69(ic3D): 68(ptr) Variable Input
69: 67(int) Constant 3
71: TypePointer Input 50(int)
70: 68(ivec2) ConstantComposite 69 69
72(ic1D): 71(ptr) Variable Input
79: TypeVector 67(int) 3
78: TypePointer Input 51(ivec2)
80: TypePointer Input 79(ivec3)
79(ic2D): 78(ptr) Variable Input
81(ic3D): 80(ptr) Variable Input
81: 50(int) Constant 4
83: TypePointer Input 67(int)
85: TypeImage 6(float) Rect sampled format:Unknown
84(ic1D): 83(ptr) Variable Input
86: TypeSampledImage 85
90: TypePointer Input 68(ivec2)
87: TypePointer UniformConstant 86
91(ic2D): 90(ptr) Variable Input
88(sr): 87(ptr) Variable UniformConstant
93: 67(int) Constant 4
91: 51(ivec2) ConstantComposite 81 81
97: TypeImage 6(float) Rect sampled format:Unknown
110: TypeImage 6(float) Cube sampled format:Unknown
98: TypeSampledImage 97
111: TypeSampledImage 110
99: TypePointer UniformConstant 98
112: TypePointer UniformConstant 111
100(sr): 99(ptr) Variable UniformConstant
113(sCube): 112(ptr) Variable UniformConstant
103: 68(ivec2) ConstantComposite 93 93
121: TypeImage 6(float) 2D depth array sampled format:Unknown
122: TypeImage 6(float) Cube sampled format:Unknown
122: TypeSampledImage 121
123: TypeSampledImage 122
123: TypePointer UniformConstant 122
124: TypePointer UniformConstant 123
124(s2DArrayShadow): 123(ptr) Variable UniformConstant
125(sCube): 124(ptr) Variable UniformConstant
131: 59(int) Constant 0
133: TypeImage 6(float) 2D depth array sampled format:Unknown
150: TypeVector 50(int) 4
134: TypeSampledImage 133
151: TypePointer Function 150(ivec4)
135: TypePointer UniformConstant 134
153: TypeImage 50(int) 2D sampled format:Unknown
136(s2DArrayShadow): 135(ptr) Variable UniformConstant
154: TypeSampledImage 153
143: 32(int) Constant 0
155: TypePointer UniformConstant 154
162: TypeVector 67(int) 4
156(is2D): 155(ptr) Variable UniformConstant
163: TypePointer Function 162(ivec4)
188: TypeImage 50(int) 3D sampled format:Unknown
165: TypeImage 67(int) 2D sampled format:Unknown
189: TypeSampledImage 188
166: TypeSampledImage 165
190: TypePointer UniformConstant 189
167: TypePointer UniformConstant 166
191(is3D): 190(ptr) Variable UniformConstant
168(is2D): 167(ptr) Variable UniformConstant
194: 6(float) Constant 1082549862
200: TypeImage 67(int) 3D sampled format:Unknown
200: TypeImage 50(int) Cube sampled format:Unknown
201: TypeSampledImage 200
201: TypeSampledImage 200
202: TypePointer UniformConstant 201
202: TypePointer UniformConstant 201
203(isCube): 202(ptr) Variable UniformConstant
203(is3D): 202(ptr) Variable UniformConstant
212: TypeImage 50(int) 2D array sampled format:Unknown
206: 6(float) Constant 1082549862
212: TypeImage 67(int) Cube sampled format:Unknown
213: TypeSampledImage 212
213: TypeSampledImage 212
214: TypePointer UniformConstant 213
214: TypePointer UniformConstant 213
215(is2DArray): 214(ptr) Variable UniformConstant
215(isCube): 214(ptr) Variable UniformConstant
224: TypePointer Function 51(ivec2)
224: TypeImage 67(int) 2D array sampled format:Unknown
226: TypeImage 6(float) Cube depth sampled format:Unknown
225: TypeSampledImage 224
227: TypeSampledImage 226
226: TypePointer UniformConstant 225
228: TypePointer UniformConstant 227
227(is2DArray): 226(ptr) Variable UniformConstant
229(sCubeShadow): 228(ptr) Variable UniformConstant
236: TypePointer Function 68(ivec2)
231: 50(int) Constant 2
238: TypeImage 6(float) Cube depth sampled format:Unknown
233: TypePointer Output 7(fvec4)
239: TypeSampledImage 238
234(FragData): 233(ptr) Variable Output
240: TypePointer UniformConstant 239
238: 6(float) Constant 0
241(sCubeShadow): 240(ptr) Variable UniformConstant
243: TypeImage 50(int) 2D multi-sampled sampled format:Unknown
243: 67(int) Constant 2
244: TypeSampledImage 243
245: TypePointer Output 7(fvec4)
245: TypePointer UniformConstant 244
246(FragData): 245(ptr) Variable Output
246(is2Dms): 245(ptr) Variable UniformConstant
250: 6(float) Constant 0
247: TypeImage 59(int) 2D sampled format:Unknown
255: TypeImage 67(int) 2D multi-sampled sampled format:Unknown
248: TypeSampledImage 247
249: TypePointer UniformConstant 248
250(us2D): 249(ptr) Variable UniformConstant
251: TypeImage 59(int) 3D sampled format:Unknown
252: TypeSampledImage 251
253: TypePointer UniformConstant 252
254(us3D): 253(ptr) Variable UniformConstant
255: TypeImage 59(int) Cube sampled format:Unknown
256: TypeSampledImage 255
256: TypeSampledImage 255
257: TypePointer UniformConstant 256
257: TypePointer UniformConstant 256
258(
usCube
): 257(ptr) Variable UniformConstant
258(
is2Dms
): 257(ptr) Variable UniformConstant
259: TypeImage
59(int) 2D array
sampled format:Unknown
259: TypeImage
32(int) 2D
sampled format:Unknown
260: TypeSampledImage 259
260: TypeSampledImage 259
261: TypePointer UniformConstant 260
261: TypePointer UniformConstant 260
262(us2DArray): 261(ptr) Variable UniformConstant
262(us2D): 261(ptr) Variable UniformConstant
263: TypePointer Input 150(ivec4)
263: TypeImage 32(int) 3D sampled format:Unknown
264(ic4D): 263(ptr) Variable Input
264: TypeSampledImage 263
265: TypePointer UniformConstant 264
266(us3D): 265(ptr) Variable UniformConstant
267: TypeImage 32(int) Cube sampled format:Unknown
268: TypeSampledImage 267
269: TypePointer UniformConstant 268
270(usCube): 269(ptr) Variable UniformConstant
271: TypeImage 32(int) 2D array sampled format:Unknown
272: TypeSampledImage 271
273: TypePointer UniformConstant 272
274(us2DArray): 273(ptr) Variable UniformConstant
275: TypePointer Input 162(ivec4)
276(ic4D): 275(ptr) Variable Input
4(main): 2 Function None 3
4(main): 2 Function None 3
5: Label
5: Label
9(v): 8(ptr) Variable Function
9(v): 8(ptr) Variable Function
1
52(iv): 151
(ptr) Variable Function
1
64(iv): 163
(ptr) Variable Function
2
25(iv2): 224
(ptr) Variable Function
2
37(iv2): 236
(ptr) Variable Function
14: 11 Load 13(s2D)
14: 11 Load 13(s2D)
18: 15(fvec2) Load 17(c2D)
18: 15(fvec2) Load 17(c2D)
19: 7(fvec4) ImageSampleImplicitLod 14 18
19: 7(fvec4) ImageSampleImplicitLod 14 18
Store 9(v) 19
Store 9(v) 19
24: 21 Load 23(s
3D
)
24: 21 Load 23(s
CubeArrayShadow
)
27: 7(fvec4) Load 26(c4D)
27: 7(fvec4) Load 26(c4D)
28: 7(fvec4) ImageSampleProjImplicitLod 24 27
30: 6(float) Load 29(c1D)
29: 7(fvec4) Load 9(v)
31: 6(float) ImageSampleDrefImplicitLod 24 27 30
30: 7(fvec4) FAdd 29 28
35: 34(ptr) AccessChain 9(v) 33
Store 9(v) 30
36: 6(float) Load 35
35: 32 Load 34(s2DArray)
37: 6(float) FAdd 36 31
39: 36(fvec3) Load 38(c3D)
38: 34(ptr) AccessChain 9(v) 33
41: 7(fvec4) ImageSampleExplicitLod 35 39 Lod 40
Store 38 37
42: 7(fvec4) Load 9(v)
43: 40 Load 42(s3D)
43: 7(fvec4) FAdd 42 41
44: 7(fvec4) Load 26(c4D)
Store 9(v) 43
45: 7(fvec4) ImageSampleProjImplicitLod 43 44
48: 45 Load 47(s2DShadow)
46: 7(fvec4) Load 9(v)
49: 36(fvec3) Load 38(c3D)
47: 7(fvec4) FAdd 46 45
56: 6(float) Load 55(c1D)
Store 9(v) 47
57: 6(float) CompositeExtract 49 2
52: 49 Load 51(s2DArray)
58: 6(float) ImageSampleDrefImplicitLod 48 49 57 Bias ConstOffset 56 53
56: 53(fvec3) Load 55(c3D)
62: 61(ptr) AccessChain 9(v) 60
58: 7(fvec4) ImageSampleExplicitLod 52 56 Lod 57
63: 6(float) Load 62
59: 7(fvec4) Load 9(v)
64: 6(float) FAdd 63 58
60: 7(fvec4) FAdd 59 58
65: 61(ptr) AccessChain 9(v) 60
Store 9(v) 60
Store 65 64
65: 62 Load 64(s2DShadow)
66: 21 Load 23(s3D)
66: 53(fvec3) Load 55(c3D)
70: 67(ivec3) Load 69(ic3D)
71: 6(float) Load 29(c1D)
73: 50(int) Load 72(ic1D)
72: 6(float) CompositeExtract 66 2
74: 7(fvec4) ImageFetch 66 70 Lod 73
73: 6(float) ImageSampleDrefImplicitLod 65 66 72 Bias ConstOffset 71 70
75: 7(fvec4) Load 9(v)
74: 34(ptr) AccessChain 9(v) 33
76: 7(fvec4) FAdd 75 74
75: 6(float) Load 74
Store 9(v) 76
76: 6(float) FAdd 75 73
77: 11 Load 13(s2D)
77: 34(ptr) AccessChain 9(v) 33
80: 51(ivec2) Load 79(ic2D)
Store 77 76
82: 7(fvec4) ImageFetch 77 80 Lod ConstOffset 81 53
78: 40 Load 42(s3D)
83: 7(fvec4) Load 9(v)
82: 79(ivec3) Load 81(ic3D)
84: 7(fvec4) FAdd 83 82
85: 67(int) Load 84(ic1D)
Store 9(v) 84
86: 7(fvec4) ImageFetch 78 82 Lod 85
89: 86 Load 88(sr)
87: 7(fvec4) Load 9(v)
90: 51(ivec2) Load 79(ic2D)
88: 7(fvec4) FAdd 87 86
92: 7(fvec4) ImageFetch 89 90 ConstOffset 91
Store 9(v) 88
93: 7(fvec4) Load 9(v)
89: 11 Load 13(s2D)
94: 7(fvec4) FAdd 93 92
92: 68(ivec2) Load 91(ic2D)
Store 9(v) 94
94: 7(fvec4) ImageFetch 89 92 Lod ConstOffset 93 70
95: 45 Load 47(s2DShadow)
95: 7(fvec4) Load 9(v)
96: 36(fvec3) Load 38(c3D)
96: 7(fvec4) FAdd 95 94
97: 6(float) Load 55(c1D)
Store 9(v) 96
98: 6(float) CompositeExtract 96 2
101: 98 Load 100(sr)
99: 6(float) ImageSampleDrefExplicitLod 95 96 98 Lod ConstOffset 97 53
102: 68(ivec2) Load 91(ic2D)
100: 61(ptr) AccessChain 9(v) 60
104: 7(fvec4) ImageFetch 101 102 ConstOffset 103
101: 6(float) Load 100
105: 7(fvec4) Load 9(v)
102: 6(float) FAdd 101 99
106: 7(fvec4) FAdd 105 104
103: 61(ptr) AccessChain 9(v) 60
Store 9(v) 106
Store 103 102
107: 62 Load 64(s2DShadow)
104: 11 Load 13(s2D)
108: 53(fvec3) Load 55(c3D)
105: 36(fvec3) Load 38(c3D)
109: 6(float) Load 29(c1D)
106: 6(float) Load 55(c1D)
110: 6(float) CompositeExtract 108 2
107: 7(fvec4) ImageSampleProjExplicitLod 104 105 Lod ConstOffset 106 53
111: 6(float) ImageSampleDrefExplicitLod 107 108 110 Lod ConstOffset 109 70
108: 7(fvec4) Load 9(v)
112: 34(ptr) AccessChain 9(v) 33
109: 7(fvec4) FAdd 108 107
113: 6(float) Load 112
Store 9(v) 109
114: 6(float) FAdd 113 111
114: 111 Load 113(sCube)
115: 34(ptr) AccessChain 9(v) 33
115: 36(fvec3) Load 38(c3D)
Store 115 114
116: 36(fvec3) Load 38(c3D)
116: 11 Load 13(s2D)
117: 36(fvec3) Load 38(c3D)
117: 53(fvec3) Load 55(c3D)
118: 7(fvec4) ImageSampleExplicitLod 114 115 Grad 116 117
118: 6(float) Load 29(c1D)
119: 7(fvec4) Load 9(v)
119: 7(fvec4) ImageSampleProjExplicitLod 116 117 Lod ConstOffset 118 70
120: 7(fvec4) FAdd 119 118
120: 7(fvec4) Load 9(v)
Store 9(v) 120
121: 7(fvec4) FAdd 120 119
125: 122 Load 124(s2DArrayShadow)
Store 9(v) 121
126: 7(fvec4) Load 26(c4D)
126: 123 Load 125(sCube)
127: 15(fvec2) Load 17(c2D)
127: 53(fvec3) Load 55(c3D)
128: 15(fvec2) Load 17(c2D)
128: 53(fvec3) Load 55(c3D)
129: 6(float) CompositeExtract 126 3
129: 53(fvec3) Load 55(c3D)
130: 6(float) ImageSampleDrefExplicitLod 125 126 129 Grad ConstOffset 127 128 53
130: 7(fvec4) ImageSampleExplicitLod 126 127 Grad 128 129
132: 61(ptr) AccessChain 9(v) 131
131: 7(fvec4) Load 9(v)
133: 6(float) Load 132
132: 7(fvec4) FAdd 131 130
134: 6(float) FAdd 133 130
Store 9(v) 132
135: 61(ptr) AccessChain 9(v) 131
137: 134 Load 136(s2DArrayShadow)
Store 135 134
138: 7(fvec4) Load 26(c4D)
136: 21 Load 23(s3D)
139: 15(fvec2) Load 17(c2D)
137: 7(fvec4) Load 26(c4D)
140: 15(fvec2) Load 17(c2D)
138: 36(fvec3) Load 38(c3D)
141: 6(float) CompositeExtract 138 3
139: 36(fvec3) Load 38(c3D)
142: 6(float) ImageSampleDrefExplicitLod 137 138 141 Grad ConstOffset 139 140 70
140: 7(fvec4) ImageSampleProjExplicitLod 136 137 Grad 138 139
144: 34(ptr) AccessChain 9(v) 143
141: 7(fvec4) Load 9(v)
145: 6(float) Load 144
142: 7(fvec4) FAdd 141 140
146: 6(float) FAdd 145 142
Store 9(v) 142
147: 34(ptr) AccessChain 9(v) 143
143: 11 Load 13(s2D)
Store 147 146
144: 36(fvec3) Load 38(c3D)
148: 40 Load 42(s3D)
145: 15(fvec2) Load 17(c2D)
149: 7(fvec4) Load 26(c4D)
146: 15(fvec2) Load 17(c2D)
150: 53(fvec3) Load 55(c3D)
147: 7(fvec4) ImageSampleProjExplicitLod 143 144 Grad ConstOffset 145 146 53
151: 53(fvec3) Load 55(c3D)
148: 7(fvec4) Load 9(v)
152: 7(fvec4) ImageSampleProjExplicitLod 148 149 Grad 150 151
149: 7(fvec4) FAdd 148 147
153: 7(fvec4) Load 9(v)
Store 9(v) 149
154: 7(fvec4) FAdd 153 152
157: 154 Load 156(is2D)
Store 9(v) 154
155: 11 Load 13(s2D)
156: 53(fvec3) Load 55(c3D)
157: 15(fvec2) Load 17(c2D)
158: 15(fvec2) Load 17(c2D)
158: 15(fvec2) Load 17(c2D)
159: 150(ivec4) ImageSampleImplicitLod 157 158
159: 7(fvec4) ImageSampleProjExplicitLod 155 156 Grad ConstOffset 157 158 70
Store 152(iv) 159
160: 7(fvec4) Load 9(v)
160: 150(ivec4) Load 152(iv)
161: 7(fvec4) FAdd 160 159
161: 7(fvec4) ConvertSToF 160
Store 9(v) 161
162: 7(fvec4) Load 9(v)
169: 166 Load 168(is2D)
163: 7(fvec4) FAdd 162 161
170: 15(fvec2) Load 17(c2D)
Store 9(v) 163
171: 162(ivec4) ImageSampleImplicitLod 169 170
164: 154 Load 156(is2D)
Store 164(iv) 171
165: 7(fvec4) Load 26(c4D)
172: 162(ivec4) Load 164(iv)
166: 150(ivec4) ImageSampleProjImplicitLod 164 165 ConstOffset 53
173: 7(fvec4) ConvertSToF 172
Store 152(iv) 166
174: 7(fvec4) Load 9(v)
167: 150(ivec4) Load 152(iv)
175: 7(fvec4) FAdd 174 173
168: 7(fvec4) ConvertSToF 167
Store 9(v) 175
169: 7(fvec4) Load 9(v)
176: 166 Load 168(is2D)
170: 7(fvec4) FAdd 169 168
177: 7(fvec4) Load 26(c4D)
Store 9(v) 170
178: 162(ivec4) ImageSampleProjImplicitLod 176 177 ConstOffset 70
171: 154 Load 156(is2D)
Store 164(iv) 178
172: 36(fvec3) Load 38(c3D)
179: 162(ivec4) Load 164(iv)
173: 6(float) Load 55(c1D)
180: 7(fvec4) ConvertSToF 179
174: 150(ivec4) ImageSampleProjExplicitLod 171 172 Lod 173
181: 7(fvec4) Load 9(v)
Store 152(iv) 174
182: 7(fvec4) FAdd 181 180
175: 150(ivec4) Load 152(iv)
Store 9(v) 182
176: 7(fvec4) ConvertSToF 175
183: 166 Load 168(is2D)
177: 7(fvec4) Load 9(v)
184: 53(fvec3) Load 55(c3D)
178: 7(fvec4) FAdd 177 176
185: 6(float) Load 29(c1D)
Store 9(v) 178
186: 162(ivec4) ImageSampleProjExplicitLod 183 184 Lod 185
179: 154 Load 156(is2D)
Store 164(iv) 186
180: 36(fvec3) Load 38(c3D)
187: 162(ivec4) Load 164(iv)
181: 15(fvec2) Load 17(c2D)
188: 7(fvec4) ConvertSToF 187
182: 15(fvec2) Load 17(c2D)
189: 7(fvec4) Load 9(v)
183: 150(ivec4) ImageSampleProjExplicitLod 179 180 Grad 181 182
190: 7(fvec4) FAdd 189 188
Store 152(iv) 183
Store 9(v) 190
184: 150(ivec4) Load 152(iv)
191: 166 Load 168(is2D)
185: 7(fvec4) ConvertSToF 184
192: 53(fvec3) Load 55(c3D)
186: 7(fvec4) Load 9(v)
193: 15(fvec2) Load 17(c2D)
187: 7(fvec4) FAdd 186 185
194: 15(fvec2) Load 17(c2D)
Store 9(v) 187
195: 162(ivec4) ImageSampleProjExplicitLod 191 192 Grad 193 194
192: 189 Load 191(is3D)
Store 164(iv) 195
193: 36(fvec3) Load 38(c3D)
196: 162(ivec4) Load 164(iv)
195: 150(ivec4) ImageSampleImplicitLod 192 193 Bias 194
Store 152(iv) 195
196: 150(ivec4) Load 152(iv)
197: 7(fvec4) ConvertSToF 196
197: 7(fvec4) ConvertSToF 196
198: 7(fvec4) Load 9(v)
198: 7(fvec4) Load 9(v)
199: 7(fvec4) FAdd 198 197
199: 7(fvec4) FAdd 198 197
Store 9(v) 199
Store 9(v) 199
204: 201 Load 203(isCube)
204: 201 Load 203(is3D)
205: 36(fvec3) Load 38(c3D)
205: 53(fvec3) Load 55(c3D)
206: 6(float) Load 55(c1D)
207: 162(ivec4) ImageSampleImplicitLod 204 205 Bias 206
207: 150(ivec4) ImageSampleExplicitLod 204 205 Lod 206
Store 164(iv) 207
Store 152(iv) 207
208: 162(ivec4) Load 164(iv)
208: 150(ivec4) Load 152(iv)
209: 7(fvec4) ConvertSToF 208
209: 7(fvec4) ConvertSToF 208
210: 7(fvec4) Load 9(v)
210: 7(fvec4) Load 9(v)
211: 7(fvec4) FAdd 210 209
211: 7(fvec4) FAdd 210 209
Store 9(v) 211
Store 9(v) 211
216: 213 Load 215(is
2DArray
)
216: 213 Load 215(is
Cube
)
217:
67(ivec3) Load 69(i
c3D)
217:
53(fvec3) Load 55(
c3D)
218:
50(int) Load 72(i
c1D)
218:
6(float) Load 29(
c1D)
219: 1
50(ivec4) ImageFetch
216 217 Lod 218
219: 1
62(ivec4) ImageSampleExplicitLod
216 217 Lod 218
Store 1
52
(iv) 219
Store 1
64
(iv) 219
220: 1
50(ivec4) Load 152
(iv)
220: 1
62(ivec4) Load 164
(iv)
221: 7(fvec4) ConvertSToF 220
221: 7(fvec4) ConvertSToF 220
222: 7(fvec4) Load 9(v)
222: 7(fvec4) Load 9(v)
223: 7(fvec4) FAdd 222 221
223: 7(fvec4) FAdd 222 221
Store 9(v) 223
Store 9(v) 223
230: 227 Load 229(sCubeShadow)
228: 225 Load 227(is2DArray)
232: 51(ivec2) ImageQuerySizeLod 230 231
229: 79(ivec3) Load 81(ic3D)
Store 225(iv2) 232
230: 67(int) Load 84(ic1D)
235: 7(fvec4) Load 9(v)
231: 162(ivec4) ImageFetch 228 229 Lod 230
236: 51(ivec2) Load 225(iv2)
Store 164(iv) 231
237: 15(fvec2) ConvertSToF 236
232: 162(ivec4) Load 164(iv)
239: 6(float) CompositeExtract 237 0
233: 7(fvec4) ConvertSToF 232
240: 6(float) CompositeExtract 237 1
234: 7(fvec4) Load 9(v)
241: 7(fvec4) CompositeConstruct 239 240 238 238
235: 7(fvec4) FAdd 234 233
242: 7(fvec4) FAdd 235 241
Store 9(v) 235
Store 234(FragData) 242
242: 239 Load 241(sCubeShadow)
244: 68(ivec2) ImageQuerySizeLod 242 243
Store 237(iv2) 244
247: 7(fvec4) Load 9(v)
248: 68(ivec2) Load 237(iv2)
249: 15(fvec2) ConvertSToF 248
251: 6(float) CompositeExtract 249 0
252: 6(float) CompositeExtract 249 1
253: 7(fvec4) CompositeConstruct 251 252 250 250
254: 7(fvec4) FAdd 247 253
Store 246(FragData) 254
Return
Return
FunctionEnd
FunctionEnd
Test/spv.newTexture.frag
View file @
dad64085
...
@@ -5,6 +5,7 @@ uniform sampler2DRect sr;
...
@@ -5,6 +5,7 @@ uniform sampler2DRect sr;
uniform
sampler3D
s3D
;
uniform
sampler3D
s3D
;
uniform
samplerCube
sCube
;
uniform
samplerCube
sCube
;
uniform
samplerCubeShadow
sCubeShadow
;
uniform
samplerCubeShadow
sCubeShadow
;
uniform
samplerCubeArrayShadow
sCubeArrayShadow
;
uniform
sampler2DShadow
s2DShadow
;
uniform
sampler2DShadow
s2DShadow
;
uniform
sampler2DArray
s2DArray
;
uniform
sampler2DArray
s2DArray
;
uniform
sampler2DArrayShadow
s2DArrayShadow
;
uniform
sampler2DArrayShadow
s2DArrayShadow
;
...
@@ -35,6 +36,7 @@ out vec4 FragData;
...
@@ -35,6 +36,7 @@ out vec4 FragData;
void
main
()
void
main
()
{
{
vec4
v
=
texture
(
s2D
,
c2D
);
vec4
v
=
texture
(
s2D
,
c2D
);
v
.
y
+=
texture
(
sCubeArrayShadow
,
c4D
,
c1D
);
v
+=
textureProj
(
s3D
,
c4D
);
v
+=
textureProj
(
s3D
,
c4D
);
v
+=
textureLod
(
s2DArray
,
c3D
,
1
.
2
);
v
+=
textureLod
(
s2DArray
,
c3D
,
1
.
2
);
v
.
y
+=
textureOffset
(
s2DShadow
,
c3D
,
ivec2
(
3
),
c1D
);
v
.
y
+=
textureOffset
(
s2DShadow
,
c3D
,
ivec2
(
3
),
c1D
);
...
...
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