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
d4a7a8e7
Commit
d4a7a8e7
authored
Oct 13, 2015
by
John Kessenich
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #81 from amdrexu/myfix
Generate correct image operand mask for Offset and ConstOffset(#77) and correct arg # for rect. texelFetchOffset.
parents
820a22fc
19c6e591
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
456 additions
and
418 deletions
+456
-418
SpvBuilder.cpp
SPIRV/SpvBuilder.cpp
+3
-0
SpvBuilder.h
SPIRV/SpvBuilder.h
+5
-0
newTexture.frag.out
Test/baseResults/newTexture.frag.out
+220
-204
spv.newTexture.frag.out
Test/baseResults/spv.newTexture.frag.out
+224
-212
newTexture.frag
Test/newTexture.frag
+1
-1
spv.newTexture.frag
Test/spv.newTexture.frag
+2
-0
ParseHelper.cpp
glslang/MachineIndependent/ParseHelper.cpp
+1
-1
No files found.
SPIRV/SpvBuilder.cpp
View file @
d4a7a8e7
...
@@ -1188,6 +1188,9 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool fetch, b
...
@@ -1188,6 +1188,9 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool fetch, b
xplicit
=
true
;
xplicit
=
true
;
}
}
if
(
parameters
.
offset
)
{
if
(
parameters
.
offset
)
{
if
(
isConstant
(
parameters
.
offset
))
mask
=
(
ImageOperandsMask
)(
mask
|
ImageOperandsConstOffsetMask
);
else
mask
=
(
ImageOperandsMask
)(
mask
|
ImageOperandsOffsetMask
);
mask
=
(
ImageOperandsMask
)(
mask
|
ImageOperandsOffsetMask
);
texArgs
[
numArgs
++
]
=
parameters
.
offset
;
texArgs
[
numArgs
++
]
=
parameters
.
offset
;
}
}
...
...
SPIRV/SpvBuilder.h
View file @
d4a7a8e7
...
@@ -136,6 +136,11 @@ public:
...
@@ -136,6 +136,11 @@ public:
bool
isSamplerType
(
Id
typeId
)
const
{
return
getTypeClass
(
typeId
)
==
OpTypeSampler
;
}
bool
isSamplerType
(
Id
typeId
)
const
{
return
getTypeClass
(
typeId
)
==
OpTypeSampler
;
}
bool
isSampledImageType
(
Id
typeId
)
const
{
return
getTypeClass
(
typeId
)
==
OpTypeSampledImage
;
}
bool
isSampledImageType
(
Id
typeId
)
const
{
return
getTypeClass
(
typeId
)
==
OpTypeSampledImage
;
}
bool
isConstant
(
Id
resultId
)
const
{
Op
opCode
=
getOpCode
(
resultId
);
return
opCode
==
OpConstantTrue
||
opCode
==
OpConstantFalse
||
opCode
==
OpConstant
||
opCode
==
OpConstantComposite
||
opCode
==
OpConstantNull
;
}
bool
isConstantScalar
(
Id
resultId
)
const
{
return
getOpCode
(
resultId
)
==
OpConstant
;
}
bool
isConstantScalar
(
Id
resultId
)
const
{
return
getOpCode
(
resultId
)
==
OpConstant
;
}
unsigned
int
getConstantScalar
(
Id
resultId
)
const
{
return
module
.
getInstruction
(
resultId
)
->
getImmediateOperand
(
0
);
}
unsigned
int
getConstantScalar
(
Id
resultId
)
const
{
return
module
.
getInstruction
(
resultId
)
->
getImmediateOperand
(
0
);
}
...
...
Test/baseResults/newTexture.frag.out
View file @
d4a7a8e7
...
@@ -52,22 +52,21 @@ Shader version: 430
...
@@ -52,22 +52,21 @@ Shader version: 430
0:43 Constant:
0:43 Constant:
0:43 3 (const int)
0:43 3 (const int)
0:43 3 (const int)
0:43 3 (const int)
0:44 add second child into first child (temp float)
0:44 add second child into first child (temp 4-component vector of float)
0:44 direct index (temp float)
0:44 'v' (temp 4-component vector of float)
0:44 'v' (temp 4-component vector of float)
0:44 textureFetchOffset (global 4-component vector of float)
0:44 'sr' (uniform sampler2DRect)
0:44 'ic2D' (flat in 2-component vector of int)
0:44 Constant:
0:44 Constant:
0:44 1 (const int)
0:44 4 (const int)
0:44 textureLodOffset (global float)
0:44 4 (const int)
0:44 's2DShadow' (uniform sampler2DShadow)
0:45 add second child into first child (temp float)
0:44 'c3D' (smooth in 3-component vector of float)
0:45 direct index (temp float)
0:44 'c1D' (smooth in float)
0:44 Constant:
0:44 3 (const int)
0:44 3 (const int)
0:45 add second child into first child (temp 4-component vector of float)
0:45 'v' (temp 4-component vector of float)
0:45 'v' (temp 4-component vector of float)
0:45 textureProjLodOffset (global 4-component vector of float)
0:45 Constant:
0:45 's2D' (uniform sampler2D)
0:45 1 (const int)
0:45 textureLodOffset (global float)
0:45 's2DShadow' (uniform sampler2DShadow)
0:45 'c3D' (smooth in 3-component vector of float)
0:45 'c3D' (smooth in 3-component vector of float)
0:45 'c1D' (smooth in float)
0:45 'c1D' (smooth in float)
0:45 Constant:
0:45 Constant:
...
@@ -75,115 +74,124 @@ Shader version: 430
...
@@ -75,115 +74,124 @@ Shader version: 430
0:45 3 (const int)
0:45 3 (const int)
0:46 add second child into first child (temp 4-component vector of float)
0:46 add second child into first child (temp 4-component vector of float)
0:46 'v' (temp 4-component vector of float)
0:46 'v' (temp 4-component vector of float)
0:46 textureGrad (global 4-component vector of float)
0:46 textureProjLodOffset (global 4-component vector of float)
0:46 'sCube' (uniform samplerCube)
0:46 's2D' (uniform sampler2D)
0:46 'c3D' (smooth in 3-component vector of float)
0:46 'c3D' (smooth in 3-component vector of float)
0:46 'c3D' (smooth in 3-component vector of float)
0:46 'c3D' (smooth in 3-component vector of float)
0:46 'c1D' (smooth in float)
0:47 add second child into first child (temp float)
0:46 Constant:
0:47 direct index (temp float)
0:46 3 (const int)
0:46 3 (const int)
0:47 add second child into first child (temp 4-component vector of float)
0:47 'v' (temp 4-component vector of float)
0:47 'v' (temp 4-component vector of float)
0:47 Constant:
0:47 textureGrad (global 4-component vector of float)
0:47 0 (const int)
0:47 'sCube' (uniform samplerCube)
0:47 textureGradOffset (global float)
0:47 'c3D' (smooth in 3-component vector of float)
0:47 's2DArrayShadow' (uniform sampler2DArrayShadow)
0:47 'c3D' (smooth in 3-component vector of float)
0:47 'c4D' (smooth in 4-component vector of float)
0:47 'c3D' (smooth in 3-component vector of float)
0:47 'c2D' (smooth in 2-component vector of float)
0:48 add second child into first child (temp float)
0:47 'c2D' (smooth in 2-component vector of float)
0:48 direct index (temp float)
0:47 Constant:
0:47 3 (const int)
0:47 3 (const int)
0:48 add second child into first child (temp 4-component vector of float)
0:48 'v' (temp 4-component vector of float)
0:48 'v' (temp 4-component vector of float)
0:48 textureProjGrad (global 4-component vector of float)
0:48 Constant:
0:48 's3D' (uniform sampler3D)
0:48 0 (const int)
0:48 textureGradOffset (global float)
0:48 's2DArrayShadow' (uniform sampler2DArrayShadow)
0:48 'c4D' (smooth in 4-component vector of float)
0:48 'c4D' (smooth in 4-component vector of float)
0:48 'c3D' (smooth in 3-component vector of float)
0:48 'c2D' (smooth in 2-component vector of float)
0:48 'c3D' (smooth in 3-component vector of float)
0:48 'c2D' (smooth in 2-component vector of float)
0:48 Constant:
0:48 3 (const int)
0:48 3 (const int)
0:49 add second child into first child (temp 4-component vector of float)
0:49 add second child into first child (temp 4-component vector of float)
0:49 'v' (temp 4-component vector of float)
0:49 'v' (temp 4-component vector of float)
0:49 textureProjGradOffset (global 4-component vector of float)
0:49 textureProjGrad (global 4-component vector of float)
0:49 's2D' (uniform sampler2D)
0:49 's3D' (uniform sampler3D)
0:49 'c4D' (smooth in 4-component vector of float)
0:49 'c3D' (smooth in 3-component vector of float)
0:49 'c3D' (smooth in 3-component vector of float)
0:49 'c3D' (smooth in 3-component vector of float)
0:49 'c2D' (smooth in 2-component vector of float)
0:50 add second child into first child (temp 4-component vector of float)
0:49 'c2D' (smooth in 2-component vector of float)
0:50 'v' (temp 4-component vector of float)
0:49 Constant:
0:50 textureProjGradOffset (global 4-component vector of float)
0:49 3 (const int)
0:50 's2D' (uniform sampler2D)
0:49 3 (const int)
0:50 'c3D' (smooth in 3-component vector of float)
0:51 Sequence
0:50 'c2D' (smooth in 2-component vector of float)
0:51 move second child to first child (temp 4-component vector of int)
0:50 'c2D' (smooth in 2-component vector of float)
0:51 'iv' (temp 4-component vector of int)
0:50 Constant:
0:51 texture (global 4-component vector of int)
0:50 3 (const int)
0:51 'is2D' (uniform isampler2D)
0:50 3 (const int)
0:51 'c2D' (smooth in 2-component vector of float)
0:52 Sequence
0:52 add second child into first child (temp 4-component vector of float)
0:52 move second child to first child (temp 4-component vector of int)
0:52 'v' (temp 4-component vector of float)
0:52 Convert int to float (temp 4-component vector of float)
0:52 'iv' (temp 4-component vector of int)
0:52 'iv' (temp 4-component vector of int)
0:53 move second child to first child (temp 4-component vector of int)
0:52 texture (global 4-component vector of int)
0:52 'is2D' (uniform isampler2D)
0:52 'c2D' (smooth in 2-component vector of float)
0:53 add second child into first child (temp 4-component vector of float)
0:53 'v' (temp 4-component vector of float)
0:53 Convert int to float (temp 4-component vector of float)
0:53 'iv' (temp 4-component vector of int)
0:53 'iv' (temp 4-component vector of int)
0:53 textureProjOffset (global 4-component vector of int)
0:54 move second child to first child (temp 4-component vector of int)
0:53 'is2D' (uniform isampler2D)
0:53 'c4D' (smooth in 4-component vector of float)
0:53 Constant:
0:53 3 (const int)
0:53 3 (const int)
0:54 add second child into first child (temp 4-component vector of float)
0:54 'v' (temp 4-component vector of float)
0:54 Convert int to float (temp 4-component vector of float)
0:54 'iv' (temp 4-component vector of int)
0:54 'iv' (temp 4-component vector of int)
0:55 move second child to first child (temp 4-component vector of int)
0:54 textureProjOffset (global 4-component vector of int)
0:54 'is2D' (uniform isampler2D)
0:54 'c4D' (smooth in 4-component vector of float)
0:54 Constant:
0:54 3 (const int)
0:54 3 (const int)
0:55 add second child into first child (temp 4-component vector of float)
0:55 'v' (temp 4-component vector of float)
0:55 Convert int to float (temp 4-component vector of float)
0:55 'iv' (temp 4-component vector of int)
0:55 'iv' (temp 4-component vector of int)
0:55 textureProjLod (global 4-component vector of int)
0:56 move second child to first child (temp 4-component vector of int)
0:55 'is2D' (uniform isampler2D)
0:55 'c3D' (smooth in 3-component vector of float)
0:55 'c1D' (smooth in float)
0:56 add second child into first child (temp 4-component vector of float)
0:56 'v' (temp 4-component vector of float)
0:56 Convert int to float (temp 4-component vector of float)
0:56 'iv' (temp 4-component vector of int)
0:56 'iv' (temp 4-component vector of int)
0:57 move second child to first child (temp 4-component vector of int)
0:56 textureProjLod (global 4-component vector of int)
0:56 'is2D' (uniform isampler2D)
0:56 'c3D' (smooth in 3-component vector of float)
0:56 'c1D' (smooth in float)
0:57 add second child into first child (temp 4-component vector of float)
0:57 'v' (temp 4-component vector of float)
0:57 Convert int to float (temp 4-component vector of float)
0:57 'iv' (temp 4-component vector of int)
0:57 'iv' (temp 4-component vector of int)
0:57 textureProjGrad (global 4-component vector of int)
0:58 move second child to first child (temp 4-component vector of int)
0:57 'is2D' (uniform isampler2D)
0:57 'c3D' (smooth in 3-component vector of float)
0:57 'c2D' (smooth in 2-component vector of float)
0:57 'c2D' (smooth in 2-component vector of float)
0:58 add second child into first child (temp 4-component vector of float)
0:58 'v' (temp 4-component vector of float)
0:58 Convert int to float (temp 4-component vector of float)
0:58 'iv' (temp 4-component vector of int)
0:58 'iv' (temp 4-component vector of int)
0:59 move second child to first child (temp 4-component vector of int)
0:58 textureProjGrad (global 4-component vector of int)
0:58 'is2D' (uniform isampler2D)
0:58 'c3D' (smooth in 3-component vector of float)
0:58 'c2D' (smooth in 2-component vector of float)
0:58 'c2D' (smooth in 2-component vector of float)
0:59 add second child into first child (temp 4-component vector of float)
0:59 'v' (temp 4-component vector of float)
0:59 Convert int to float (temp 4-component vector of float)
0:59 'iv' (temp 4-component vector of int)
0:59 'iv' (temp 4-component vector of int)
0:59 texture (global 4-component vector of int)
0:60 move second child to first child (temp 4-component vector of int)
0:59 'is3D' (uniform isampler3D)
0:59 'c3D' (smooth in 3-component vector of float)
0:59 Constant:
0:59 4.200000
0:60 add second child into first child (temp 4-component vector of float)
0:60 'v' (temp 4-component vector of float)
0:60 Convert int to float (temp 4-component vector of float)
0:60 'iv' (temp 4-component vector of int)
0:60 'iv' (temp 4-component vector of int)
0:61 move second child to first child (temp 4-component vector of int)
0:60 texture (global 4-component vector of int)
0:60 'is3D' (uniform isampler3D)
0:60 'c3D' (smooth in 3-component vector of float)
0:60 Constant:
0:60 4.200000
0:61 add second child into first child (temp 4-component vector of float)
0:61 'v' (temp 4-component vector of float)
0:61 Convert int to float (temp 4-component vector of float)
0:61 'iv' (temp 4-component vector of int)
0:61 'iv' (temp 4-component vector of int)
0:61 textureLod (global 4-component vector of int)
0:62 move second child to first child (temp 4-component vector of int)
0:61 'isCube' (uniform isamplerCube)
0:61 'c3D' (smooth in 3-component vector of float)
0:61 'c1D' (smooth in float)
0:62 add second child into first child (temp 4-component vector of float)
0:62 'v' (temp 4-component vector of float)
0:62 Convert int to float (temp 4-component vector of float)
0:62 'iv' (temp 4-component vector of int)
0:62 'iv' (temp 4-component vector of int)
0:63 move second child to first child (temp 4-component vector of int)
0:62 textureLod (global 4-component vector of int)
0:62 'isCube' (uniform isamplerCube)
0:62 'c3D' (smooth in 3-component vector of float)
0:62 'c1D' (smooth in float)
0:63 add second child into first child (temp 4-component vector of float)
0:63 'v' (temp 4-component vector of float)
0:63 Convert int to float (temp 4-component vector of float)
0:63 'iv' (temp 4-component vector of int)
0:63 'iv' (temp 4-component vector of int)
0:63 textureFetch (global 4-component vector of int)
0:64 move second child to first child (temp 4-component vector of int)
0:63 'is2DArray' (uniform isampler2DArray)
0:63 'ic3D' (flat in 3-component vector of int)
0:63 'ic1D' (flat in int)
0:64 add second child into first child (temp 4-component vector of float)
0:64 'v' (temp 4-component vector of float)
0:64 Convert int to float (temp 4-component vector of float)
0:64 'iv' (temp 4-component vector of int)
0:64 'iv' (temp 4-component vector of int)
0:64 textureFetch (global 4-component vector of int)
0:64 'is2DArray' (uniform isampler2DArray)
0:64 'ic3D' (flat in 3-component vector of int)
0:64 'ic1D' (flat in int)
0:65 add second child into first child (temp 4-component vector of float)
0:65 'v' (temp 4-component vector of float)
0:65 Convert int to float (temp 4-component vector of float)
0:65 'iv' (temp 4-component vector of int)
0:66 add second child into first child (temp 4-component vector of int)
0:66 add second child into first child (temp 4-component vector of int)
0:66 'iv' (temp 4-component vector of int)
0:66 'iv' (temp 4-component vector of int)
0:66 textureFetch (global 4-component vector of int)
0:66 textureFetch (global 4-component vector of int)
...
@@ -306,22 +314,21 @@ Shader version: 430
...
@@ -306,22 +314,21 @@ Shader version: 430
0:43 Constant:
0:43 Constant:
0:43 3 (const int)
0:43 3 (const int)
0:43 3 (const int)
0:43 3 (const int)
0:44 add second child into first child (temp float)
0:44 add second child into first child (temp 4-component vector of float)
0:44 direct index (temp float)
0:44 'v' (temp 4-component vector of float)
0:44 'v' (temp 4-component vector of float)
0:44 textureFetchOffset (global 4-component vector of float)
0:44 'sr' (uniform sampler2DRect)
0:44 'ic2D' (flat in 2-component vector of int)
0:44 Constant:
0:44 Constant:
0:44 1 (const int)
0:44 4 (const int)
0:44 textureLodOffset (global float)
0:44 4 (const int)
0:44 's2DShadow' (uniform sampler2DShadow)
0:45 add second child into first child (temp float)
0:44 'c3D' (smooth in 3-component vector of float)
0:45 direct index (temp float)
0:44 'c1D' (smooth in float)
0:44 Constant:
0:44 3 (const int)
0:44 3 (const int)
0:45 add second child into first child (temp 4-component vector of float)
0:45 'v' (temp 4-component vector of float)
0:45 'v' (temp 4-component vector of float)
0:45 textureProjLodOffset (global 4-component vector of float)
0:45 Constant:
0:45 's2D' (uniform sampler2D)
0:45 1 (const int)
0:45 textureLodOffset (global float)
0:45 's2DShadow' (uniform sampler2DShadow)
0:45 'c3D' (smooth in 3-component vector of float)
0:45 'c3D' (smooth in 3-component vector of float)
0:45 'c1D' (smooth in float)
0:45 'c1D' (smooth in float)
0:45 Constant:
0:45 Constant:
...
@@ -329,115 +336,124 @@ Shader version: 430
...
@@ -329,115 +336,124 @@ Shader version: 430
0:45 3 (const int)
0:45 3 (const int)
0:46 add second child into first child (temp 4-component vector of float)
0:46 add second child into first child (temp 4-component vector of float)
0:46 'v' (temp 4-component vector of float)
0:46 'v' (temp 4-component vector of float)
0:46 textureGrad (global 4-component vector of float)
0:46 textureProjLodOffset (global 4-component vector of float)
0:46 'sCube' (uniform samplerCube)
0:46 's2D' (uniform sampler2D)
0:46 'c3D' (smooth in 3-component vector of float)
0:46 'c3D' (smooth in 3-component vector of float)
0:46 'c3D' (smooth in 3-component vector of float)
0:46 'c3D' (smooth in 3-component vector of float)
0:46 'c1D' (smooth in float)
0:47 add second child into first child (temp float)
0:46 Constant:
0:47 direct index (temp float)
0:46 3 (const int)
0:46 3 (const int)
0:47 add second child into first child (temp 4-component vector of float)
0:47 'v' (temp 4-component vector of float)
0:47 'v' (temp 4-component vector of float)
0:47 Constant:
0:47 textureGrad (global 4-component vector of float)
0:47 0 (const int)
0:47 'sCube' (uniform samplerCube)
0:47 textureGradOffset (global float)
0:47 'c3D' (smooth in 3-component vector of float)
0:47 's2DArrayShadow' (uniform sampler2DArrayShadow)
0:47 'c3D' (smooth in 3-component vector of float)
0:47 'c4D' (smooth in 4-component vector of float)
0:47 'c3D' (smooth in 3-component vector of float)
0:47 'c2D' (smooth in 2-component vector of float)
0:48 add second child into first child (temp float)
0:47 'c2D' (smooth in 2-component vector of float)
0:48 direct index (temp float)
0:47 Constant:
0:47 3 (const int)
0:47 3 (const int)
0:48 add second child into first child (temp 4-component vector of float)
0:48 'v' (temp 4-component vector of float)
0:48 'v' (temp 4-component vector of float)
0:48 textureProjGrad (global 4-component vector of float)
0:48 Constant:
0:48 's3D' (uniform sampler3D)
0:48 0 (const int)
0:48 textureGradOffset (global float)
0:48 's2DArrayShadow' (uniform sampler2DArrayShadow)
0:48 'c4D' (smooth in 4-component vector of float)
0:48 'c4D' (smooth in 4-component vector of float)
0:48 'c3D' (smooth in 3-component vector of float)
0:48 'c2D' (smooth in 2-component vector of float)
0:48 'c3D' (smooth in 3-component vector of float)
0:48 'c2D' (smooth in 2-component vector of float)
0:48 Constant:
0:48 3 (const int)
0:48 3 (const int)
0:49 add second child into first child (temp 4-component vector of float)
0:49 add second child into first child (temp 4-component vector of float)
0:49 'v' (temp 4-component vector of float)
0:49 'v' (temp 4-component vector of float)
0:49 textureProjGradOffset (global 4-component vector of float)
0:49 textureProjGrad (global 4-component vector of float)
0:49 's2D' (uniform sampler2D)
0:49 's3D' (uniform sampler3D)
0:49 'c4D' (smooth in 4-component vector of float)
0:49 'c3D' (smooth in 3-component vector of float)
0:49 'c3D' (smooth in 3-component vector of float)
0:49 'c3D' (smooth in 3-component vector of float)
0:49 'c2D' (smooth in 2-component vector of float)
0:50 add second child into first child (temp 4-component vector of float)
0:49 'c2D' (smooth in 2-component vector of float)
0:50 'v' (temp 4-component vector of float)
0:49 Constant:
0:50 textureProjGradOffset (global 4-component vector of float)
0:49 3 (const int)
0:50 's2D' (uniform sampler2D)
0:49 3 (const int)
0:50 'c3D' (smooth in 3-component vector of float)
0:51 Sequence
0:50 'c2D' (smooth in 2-component vector of float)
0:51 move second child to first child (temp 4-component vector of int)
0:50 'c2D' (smooth in 2-component vector of float)
0:51 'iv' (temp 4-component vector of int)
0:50 Constant:
0:51 texture (global 4-component vector of int)
0:50 3 (const int)
0:51 'is2D' (uniform isampler2D)
0:50 3 (const int)
0:51 'c2D' (smooth in 2-component vector of float)
0:52 Sequence
0:52 add second child into first child (temp 4-component vector of float)
0:52 move second child to first child (temp 4-component vector of int)
0:52 'v' (temp 4-component vector of float)
0:52 Convert int to float (temp 4-component vector of float)
0:52 'iv' (temp 4-component vector of int)
0:52 'iv' (temp 4-component vector of int)
0:53 move second child to first child (temp 4-component vector of int)
0:52 texture (global 4-component vector of int)
0:52 'is2D' (uniform isampler2D)
0:52 'c2D' (smooth in 2-component vector of float)
0:53 add second child into first child (temp 4-component vector of float)
0:53 'v' (temp 4-component vector of float)
0:53 Convert int to float (temp 4-component vector of float)
0:53 'iv' (temp 4-component vector of int)
0:53 'iv' (temp 4-component vector of int)
0:53 textureProjOffset (global 4-component vector of int)
0:54 move second child to first child (temp 4-component vector of int)
0:53 'is2D' (uniform isampler2D)
0:53 'c4D' (smooth in 4-component vector of float)
0:53 Constant:
0:53 3 (const int)
0:53 3 (const int)
0:54 add second child into first child (temp 4-component vector of float)
0:54 'v' (temp 4-component vector of float)
0:54 Convert int to float (temp 4-component vector of float)
0:54 'iv' (temp 4-component vector of int)
0:54 'iv' (temp 4-component vector of int)
0:55 move second child to first child (temp 4-component vector of int)
0:54 textureProjOffset (global 4-component vector of int)
0:54 'is2D' (uniform isampler2D)
0:54 'c4D' (smooth in 4-component vector of float)
0:54 Constant:
0:54 3 (const int)
0:54 3 (const int)
0:55 add second child into first child (temp 4-component vector of float)
0:55 'v' (temp 4-component vector of float)
0:55 Convert int to float (temp 4-component vector of float)
0:55 'iv' (temp 4-component vector of int)
0:55 'iv' (temp 4-component vector of int)
0:55 textureProjLod (global 4-component vector of int)
0:56 move second child to first child (temp 4-component vector of int)
0:55 'is2D' (uniform isampler2D)
0:55 'c3D' (smooth in 3-component vector of float)
0:55 'c1D' (smooth in float)
0:56 add second child into first child (temp 4-component vector of float)
0:56 'v' (temp 4-component vector of float)
0:56 Convert int to float (temp 4-component vector of float)
0:56 'iv' (temp 4-component vector of int)
0:56 'iv' (temp 4-component vector of int)
0:57 move second child to first child (temp 4-component vector of int)
0:56 textureProjLod (global 4-component vector of int)
0:56 'is2D' (uniform isampler2D)
0:56 'c3D' (smooth in 3-component vector of float)
0:56 'c1D' (smooth in float)
0:57 add second child into first child (temp 4-component vector of float)
0:57 'v' (temp 4-component vector of float)
0:57 Convert int to float (temp 4-component vector of float)
0:57 'iv' (temp 4-component vector of int)
0:57 'iv' (temp 4-component vector of int)
0:57 textureProjGrad (global 4-component vector of int)
0:58 move second child to first child (temp 4-component vector of int)
0:57 'is2D' (uniform isampler2D)
0:57 'c3D' (smooth in 3-component vector of float)
0:57 'c2D' (smooth in 2-component vector of float)
0:57 'c2D' (smooth in 2-component vector of float)
0:58 add second child into first child (temp 4-component vector of float)
0:58 'v' (temp 4-component vector of float)
0:58 Convert int to float (temp 4-component vector of float)
0:58 'iv' (temp 4-component vector of int)
0:58 'iv' (temp 4-component vector of int)
0:59 move second child to first child (temp 4-component vector of int)
0:58 textureProjGrad (global 4-component vector of int)
0:58 'is2D' (uniform isampler2D)
0:58 'c3D' (smooth in 3-component vector of float)
0:58 'c2D' (smooth in 2-component vector of float)
0:58 'c2D' (smooth in 2-component vector of float)
0:59 add second child into first child (temp 4-component vector of float)
0:59 'v' (temp 4-component vector of float)
0:59 Convert int to float (temp 4-component vector of float)
0:59 'iv' (temp 4-component vector of int)
0:59 'iv' (temp 4-component vector of int)
0:59 texture (global 4-component vector of int)
0:60 move second child to first child (temp 4-component vector of int)
0:59 'is3D' (uniform isampler3D)
0:59 'c3D' (smooth in 3-component vector of float)
0:59 Constant:
0:59 4.200000
0:60 add second child into first child (temp 4-component vector of float)
0:60 'v' (temp 4-component vector of float)
0:60 Convert int to float (temp 4-component vector of float)
0:60 'iv' (temp 4-component vector of int)
0:60 'iv' (temp 4-component vector of int)
0:61 move second child to first child (temp 4-component vector of int)
0:60 texture (global 4-component vector of int)
0:60 'is3D' (uniform isampler3D)
0:60 'c3D' (smooth in 3-component vector of float)
0:60 Constant:
0:60 4.200000
0:61 add second child into first child (temp 4-component vector of float)
0:61 'v' (temp 4-component vector of float)
0:61 Convert int to float (temp 4-component vector of float)
0:61 'iv' (temp 4-component vector of int)
0:61 'iv' (temp 4-component vector of int)
0:61 textureLod (global 4-component vector of int)
0:62 move second child to first child (temp 4-component vector of int)
0:61 'isCube' (uniform isamplerCube)
0:61 'c3D' (smooth in 3-component vector of float)
0:61 'c1D' (smooth in float)
0:62 add second child into first child (temp 4-component vector of float)
0:62 'v' (temp 4-component vector of float)
0:62 Convert int to float (temp 4-component vector of float)
0:62 'iv' (temp 4-component vector of int)
0:62 'iv' (temp 4-component vector of int)
0:63 move second child to first child (temp 4-component vector of int)
0:62 textureLod (global 4-component vector of int)
0:62 'isCube' (uniform isamplerCube)
0:62 'c3D' (smooth in 3-component vector of float)
0:62 'c1D' (smooth in float)
0:63 add second child into first child (temp 4-component vector of float)
0:63 'v' (temp 4-component vector of float)
0:63 Convert int to float (temp 4-component vector of float)
0:63 'iv' (temp 4-component vector of int)
0:63 'iv' (temp 4-component vector of int)
0:63 textureFetch (global 4-component vector of int)
0:64 move second child to first child (temp 4-component vector of int)
0:63 'is2DArray' (uniform isampler2DArray)
0:63 'ic3D' (flat in 3-component vector of int)
0:63 'ic1D' (flat in int)
0:64 add second child into first child (temp 4-component vector of float)
0:64 'v' (temp 4-component vector of float)
0:64 Convert int to float (temp 4-component vector of float)
0:64 'iv' (temp 4-component vector of int)
0:64 'iv' (temp 4-component vector of int)
0:64 textureFetch (global 4-component vector of int)
0:64 'is2DArray' (uniform isampler2DArray)
0:64 'ic3D' (flat in 3-component vector of int)
0:64 'ic1D' (flat in int)
0:65 add second child into first child (temp 4-component vector of float)
0:65 'v' (temp 4-component vector of float)
0:65 Convert int to float (temp 4-component vector of float)
0:65 'iv' (temp 4-component vector of int)
0:66 add second child into first child (temp 4-component vector of int)
0:66 add second child into first child (temp 4-component vector of int)
0:66 'iv' (temp 4-component vector of int)
0:66 'iv' (temp 4-component vector of int)
0:66 textureFetch (global 4-component vector of int)
0:66 textureFetch (global 4-component vector of int)
...
...
Test/baseResults/spv.newTexture.frag.out
View file @
d4a7a8e7
...
@@ -7,7 +7,7 @@ Linked fragment stage:
...
@@ -7,7 +7,7 @@ Linked fragment stage:
// Module Version 99
// Module Version 99
// Generated by (magic number): 51a00bb
// Generated by (magic number): 51a00bb
// Id's are bound by 2
5
5
// Id's are bound by 2
6
5
Source GLSL 430
Source GLSL 430
Capability Shader
Capability Shader
...
@@ -28,22 +28,23 @@ Linked fragment stage:
...
@@ -28,22 +28,23 @@ Linked fragment stage:
Name 67 "ic3D"
Name 67 "ic3D"
Name 70 "ic1D"
Name 70 "ic1D"
Name 77 "ic2D"
Name 77 "ic2D"
Name 102 "sCube"
Name 86 "sr"
Name 113 "s2DArrayShadow"
Name 112 "sCube"
Name 141 "iv"
Name 123 "s2DArrayShadow"
Name 145 "is2D"
Name 151 "iv"
Name 180 "is3D"
Name 155 "is2D"
Name 192 "isCube"
Name 190 "is3D"
Name 204 "is2DArray"
Name 202 "isCube"
Name 214 "iv2"
Name 214 "is2DArray"
Name 218 "sCubeShadow"
Name 224 "iv2"
Name 223 "FragData"
Name 228 "sCubeShadow"
Name 235 "is2Dms"
Name 233 "FragData"
Name 240 "us2D"
Name 245 "is2Dms"
Name 244 "us3D"
Name 250 "us2D"
Name 248 "usCube"
Name 254 "us3D"
Name 252 "us2DArray"
Name 258 "usCube"
Name 254 "ic4D"
Name 262 "us2DArray"
Name 264 "ic4D"
Decorate 17(c2D) Smooth
Decorate 17(c2D) Smooth
Decorate 26(c4D) Smooth
Decorate 26(c4D) Smooth
Decorate 38(c3D) Smooth
Decorate 38(c3D) Smooth
...
@@ -51,13 +52,13 @@ Linked fragment stage:
...
@@ -51,13 +52,13 @@ Linked fragment stage:
Decorate 67(ic3D) Flat
Decorate 67(ic3D) Flat
Decorate 70(ic1D) Flat
Decorate 70(ic1D) Flat
Decorate 77(ic2D) Flat
Decorate 77(ic2D) Flat
Decorate 2
3
5(is2Dms) NoStaticUse
Decorate 2
4
5(is2Dms) NoStaticUse
Decorate 2
4
0(us2D) NoStaticUse
Decorate 2
5
0(us2D) NoStaticUse
Decorate 2
4
4(us3D) NoStaticUse
Decorate 2
5
4(us3D) NoStaticUse
Decorate 2
4
8(usCube) NoStaticUse
Decorate 2
5
8(usCube) NoStaticUse
Decorate 2
5
2(us2DArray) NoStaticUse
Decorate 2
6
2(us2DArray) NoStaticUse
Decorate 2
5
4(ic4D) Flat
Decorate 2
6
4(ic4D) Flat
Decorate 2
5
4(ic4D) NoStaticUse
Decorate 2
6
4(ic4D) NoStaticUse
2: TypeVoid
2: TypeVoid
3: TypeFunction 2
3: TypeFunction 2
6: TypeFloat 32
6: TypeFloat 32
...
@@ -102,70 +103,75 @@ Linked fragment stage:
...
@@ -102,70 +103,75 @@ Linked fragment stage:
76: TypePointer Input 51(ivec2)
76: TypePointer Input 51(ivec2)
77(ic2D): 76(ptr) Variable Input
77(ic2D): 76(ptr) Variable Input
79: 50(int) Constant 4
79: 50(int) Constant 4
99: TypeImage 6(float) Cube sampled format:Unknown
83: TypeImage 6(float) Rect sampled format:Unknown
100: TypeSampledImage 99
84: TypeSampledImage 83
101: TypePointer UniformConstant 100
85: TypePointer UniformConstant 84
102(sCube): 101(ptr) Variable UniformConstant
86(sr): 85(ptr) Variable UniformConstant
110: TypeImage 6(float) 2D depth array sampled format:Unknown
89: 51(ivec2) ConstantComposite 79 79
111: TypeSampledImage 110
109: TypeImage 6(float) Cube sampled format:Unknown
112: TypePointer UniformConstant 111
110: TypeSampledImage 109
113(s2DArrayShadow): 112(ptr) Variable UniformConstant
111: TypePointer UniformConstant 110
139: TypeVector 50(int) 4
112(sCube): 111(ptr) Variable UniformConstant
140: TypePointer Function 139(ivec4)
120: TypeImage 6(float) 2D depth array sampled format:Unknown
142: TypeImage 50(int) 2D sampled format:Unknown
121: TypeSampledImage 120
143: TypeSampledImage 142
122: TypePointer UniformConstant 121
144: TypePointer UniformConstant 143
123(s2DArrayShadow): 122(ptr) Variable UniformConstant
145(is2D): 144(ptr) Variable UniformConstant
149: TypeVector 50(int) 4
177: TypeImage 50(int) 3D sampled format:Unknown
150: TypePointer Function 149(ivec4)
178: TypeSampledImage 177
152: TypeImage 50(int) 2D sampled format:Unknown
179: TypePointer UniformConstant 178
153: TypeSampledImage 152
180(is3D): 179(ptr) Variable UniformConstant
154: TypePointer UniformConstant 153
183: 6(float) Constant 1082549862
155(is2D): 154(ptr) Variable UniformConstant
189: TypeImage 50(int) Cube sampled format:Unknown
187: TypeImage 50(int) 3D sampled format:Unknown
190: TypeSampledImage 189
188: TypeSampledImage 187
191: TypePointer UniformConstant 190
189: TypePointer UniformConstant 188
192(isCube): 191(ptr) Variable UniformConstant
190(is3D): 189(ptr) Variable UniformConstant
201: TypeImage 50(int) 2D array sampled format:Unknown
193: 6(float) Constant 1082549862
202: TypeSampledImage 201
199: TypeImage 50(int) Cube sampled format:Unknown
203: TypePointer UniformConstant 202
200: TypeSampledImage 199
204(is2DArray): 203(ptr) Variable UniformConstant
201: TypePointer UniformConstant 200
213: TypePointer Function 51(ivec2)
202(isCube): 201(ptr) Variable UniformConstant
215: TypeImage 6(float) Cube depth sampled format:Unknown
211: TypeImage 50(int) 2D array sampled format:Unknown
216: TypeSampledImage 215
212: TypeSampledImage 211
217: TypePointer UniformConstant 216
213: TypePointer UniformConstant 212
218(sCubeShadow): 217(ptr) Variable UniformConstant
214(is2DArray): 213(ptr) Variable UniformConstant
220: 50(int) Constant 2
223: TypePointer Function 51(ivec2)
222: TypePointer Output 7(fvec4)
225: TypeImage 6(float) Cube depth sampled format:Unknown
223(FragData): 222(ptr) Variable Output
226: TypeSampledImage 225
227: 6(float) Constant 0
227: TypePointer UniformConstant 226
232: TypeImage 50(int) 2D multi-sampled sampled format:Unknown
228(sCubeShadow): 227(ptr) Variable UniformConstant
233: TypeSampledImage 232
230: 50(int) Constant 2
234: TypePointer UniformConstant 233
232: TypePointer Output 7(fvec4)
235(is2Dms): 234(ptr) Variable UniformConstant
233(FragData): 232(ptr) Variable Output
236: TypeInt 32 0
237: 6(float) Constant 0
237: TypeImage 236(int) 2D sampled format:Unknown
242: TypeImage 50(int) 2D multi-sampled sampled format:Unknown
238: TypeSampledImage 237
243: TypeSampledImage 242
239: TypePointer UniformConstant 238
244: TypePointer UniformConstant 243
240(us2D): 239(ptr) Variable UniformConstant
245(is2Dms): 244(ptr) Variable UniformConstant
241: TypeImage 236(int) 3D sampled format:Unknown
246: TypeInt 32 0
242: TypeSampledImage 241
247: TypeImage 246(int) 2D sampled format:Unknown
243: TypePointer UniformConstant 242
248: TypeSampledImage 247
244(us3D): 243(ptr) Variable UniformConstant
249: TypePointer UniformConstant 248
245: TypeImage 236(int) Cube sampled format:Unknown
250(us2D): 249(ptr) Variable UniformConstant
246: TypeSampledImage 245
251: TypeImage 246(int) 3D sampled format:Unknown
247: TypePointer UniformConstant 246
252: TypeSampledImage 251
248(usCube): 247(ptr) Variable UniformConstant
253: TypePointer UniformConstant 252
249: TypeImage 236(int) 2D array sampled format:Unknown
254(us3D): 253(ptr) Variable UniformConstant
250: TypeSampledImage 249
255: TypeImage 246(int) Cube sampled format:Unknown
251: TypePointer UniformConstant 250
256: TypeSampledImage 255
252(us2DArray): 251(ptr) Variable UniformConstant
257: TypePointer UniformConstant 256
253: TypePointer Input 139(ivec4)
258(usCube): 257(ptr) Variable UniformConstant
254(ic4D): 253(ptr) Variable Input
259: TypeImage 246(int) 2D array sampled format:Unknown
260: TypeSampledImage 259
261: TypePointer UniformConstant 260
262(us2DArray): 261(ptr) Variable UniformConstant
263: TypePointer Input 149(ivec4)
264(ic4D): 263(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
41(iv): 14
0(ptr) Variable Function
1
51(iv): 15
0(ptr) Variable Function
2
14(iv2): 21
3(ptr) Variable Function
2
24(iv2): 22
3(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
...
@@ -206,138 +212,144 @@ Linked fragment stage:
...
@@ -206,138 +212,144 @@ Linked fragment stage:
81: 7(fvec4) Load 9(v)
81: 7(fvec4) Load 9(v)
82: 7(fvec4) FAdd 81 80
82: 7(fvec4) FAdd 81 80
Store 9(v) 82
Store 9(v) 82
83: 45 Load 47(s2DShadow)
87: 84 Load 86(sr)
84: 36(fvec3) Load 38(c3D)
88: 51(ivec2) Load 77(ic2D)
85: 6(float) Load 55(c1D)
90: 7(fvec4) ImageFetch 87 88 89
86: 6(float) CompositeExtract 84 2
87: 6(float) ImageSampleDrefExplicitLod 83 84 86 85 53
88: 7(fvec4) Load 9(v)
89: 6(float) CompositeExtract 88 1
90: 6(float) FAdd 89 87
91: 7(fvec4) Load 9(v)
91: 7(fvec4) Load 9(v)
92: 7(fvec4)
CompositeInsert 90 91 1
92: 7(fvec4)
FAdd 91 90
Store 9(v) 92
Store 9(v) 92
93:
11 Load 13(s2D
)
93:
45 Load 47(s2DShadow
)
94: 36(fvec3) Load 38(c3D)
94: 36(fvec3) Load 38(c3D)
95: 6(float) Load 55(c1D)
95: 6(float) Load 55(c1D)
96: 7(fvec4) ImageSampleProjExplicitLod 93 94 95 53
96: 6(float) CompositeExtract 94 2
97: 7(fvec4) Load 9(v)
97: 6(float) ImageSampleDrefExplicitLod 93 94 96 95 53
98: 7(fvec4) FAdd 97 96
98: 7(fvec4) Load 9(v)
Store 9(v) 98
99: 6(float) CompositeExtract 98 1
103: 100 Load 102(sCube)
100: 6(float) FAdd 99 97
101: 7(fvec4) Load 9(v)
102: 7(fvec4) CompositeInsert 100 101 1
Store 9(v) 102
103: 11 Load 13(s2D)
104: 36(fvec3) Load 38(c3D)
104: 36(fvec3) Load 38(c3D)
105: 36(fvec3) Load 38(c3D)
105: 6(float) Load 55(c1D)
106: 36(fvec3) Load 38(c3D)
106: 7(fvec4) ImageSampleProjExplicitLod 103 104 105 53
107: 7(fvec4) ImageSampleExplicitLod 103 104 105 106
107: 7(fvec4) Load 9(v)
108: 7(fvec4) Load 9(v)
108: 7(fvec4) FAdd 107 106
109: 7(fvec4) FAdd 108 107
Store 9(v) 108
Store 9(v) 109
113: 110 Load 112(sCube)
114: 111 Load 113(s2DArrayShadow)
114: 36(fvec3) Load 38(c3D)
115: 7(fvec4) Load 26(c4D)
115: 36(fvec3) Load 38(c3D)
116: 15(fvec2) Load 17(c2D)
116: 36(fvec3) Load 38(c3D)
117: 15(fvec2) Load 17(c2D)
117: 7(fvec4) ImageSampleExplicitLod 113 114 115 116
118: 6(float) CompositeExtract 115 3
118: 7(fvec4) Load 9(v)
119: 6(float) ImageSampleDrefExplicitLod 114 115 118 116 117 53
119: 7(fvec4) FAdd 118 117
120: 7(fvec4) Load 9(v)
Store 9(v) 119
121: 6(float) CompositeExtract 120 0
124: 121 Load 123(s2DArrayShadow)
122: 6(float) FAdd 121 119
125: 7(fvec4) Load 26(c4D)
123: 7(fvec4) Load 9(v)
126: 15(fvec2) Load 17(c2D)
124: 7(fvec4) CompositeInsert 122 123 0
127: 15(fvec2) Load 17(c2D)
Store 9(v) 124
128: 6(float) CompositeExtract 125 3
125: 21 Load 23(s3D)
129: 6(float) ImageSampleDrefExplicitLod 124 125 128 126 127 53
126: 7(fvec4) Load 26(c4D)
127: 36(fvec3) Load 38(c3D)
128: 36(fvec3) Load 38(c3D)
129: 7(fvec4) ImageSampleProjExplicitLod 125 126 127 128
130: 7(fvec4) Load 9(v)
130: 7(fvec4) Load 9(v)
131: 7(fvec4) FAdd 130 129
131: 6(float) CompositeExtract 130 0
Store 9(v) 131
132: 6(float) FAdd 131 129
132: 11 Load 13(s2D)
133: 7(fvec4) Load 9(v)
133: 36(fvec3) Load 38(c3D)
134: 7(fvec4) CompositeInsert 132 133 0
134: 15(fvec2) Load 17(c2D)
Store 9(v) 134
135: 15(fvec2) Load 17(c2D)
135: 21 Load 23(s3D)
136: 7(fvec4) ImageSampleProjExplicitLod 132 133 134 135 53
136: 7(fvec4) Load 26(c4D)
137: 7(fvec4) Load 9(v)
137: 36(fvec3) Load 38(c3D)
138: 7(fvec4) FAdd 137 136
138: 36(fvec3) Load 38(c3D)
Store 9(v) 138
139: 7(fvec4) ImageSampleProjExplicitLod 135 136 137 138
146: 143 Load 145(is2D)
140: 7(fvec4) Load 9(v)
147: 15(fvec2) Load 17(c2D)
141: 7(fvec4) FAdd 140 139
148: 139(ivec4) ImageSampleImplicitLod 146 147
Store 9(v) 141
Store 141(iv) 148
142: 11 Load 13(s2D)
149: 139(ivec4) Load 141(iv)
143: 36(fvec3) Load 38(c3D)
150: 7(fvec4) ConvertSToF 149
144: 15(fvec2) Load 17(c2D)
151: 7(fvec4) Load 9(v)
145: 15(fvec2) Load 17(c2D)
152: 7(fvec4) FAdd 151 150
146: 7(fvec4) ImageSampleProjExplicitLod 142 143 144 145 53
Store 9(v) 152
147: 7(fvec4) Load 9(v)
153: 143 Load 145(is2D)
148: 7(fvec4) FAdd 147 146
154: 7(fvec4) Load 26(c4D)
Store 9(v) 148
155: 139(ivec4) ImageSampleProjImplicitLod 153 154 53
156: 153 Load 155(is2D)
Store 141(iv) 155
157: 15(fvec2) Load 17(c2D)
156: 139(ivec4) Load 141(iv)
158: 149(ivec4) ImageSampleImplicitLod 156 157
157: 7(fvec4) ConvertSToF 156
Store 151(iv) 158
158: 7(fvec4) Load 9(v)
159: 149(ivec4) Load 151(iv)
159: 7(fvec4) FAdd 158 157
160: 7(fvec4) ConvertSToF 159
Store 9(v) 159
161: 7(fvec4) Load 9(v)
160: 143 Load 145(is2D)
162: 7(fvec4) FAdd 161 160
161: 36(fvec3) Load 38(c3D)
Store 9(v) 162
162: 6(float) Load 55(c1D)
163: 153 Load 155(is2D)
163: 139(ivec4) ImageSampleProjExplicitLod 160 161 162
164: 7(fvec4) Load 26(c4D)
Store 141(iv) 163
165: 149(ivec4) ImageSampleProjImplicitLod 163 164 53
164: 139(ivec4) Load 141(iv)
Store 151(iv) 165
165: 7(fvec4) ConvertSToF 164
166: 149(ivec4) Load 151(iv)
166: 7(fvec4) Load 9(v)
167: 7(fvec4) ConvertSToF 166
167: 7(fvec4) FAdd 166 165
168: 7(fvec4) Load 9(v)
Store 9(v) 167
169: 7(fvec4) FAdd 168 167
168: 143 Load 145(is2D)
Store 9(v) 169
169: 36(fvec3) Load 38(c3D)
170: 153 Load 155(is2D)
170: 15(fvec2) Load 17(c2D)
171: 36(fvec3) Load 38(c3D)
171: 15(fvec2) Load 17(c2D)
172: 6(float) Load 55(c1D)
172: 139(ivec4) ImageSampleProjExplicitLod 168 169 170 171
173: 149(ivec4) ImageSampleProjExplicitLod 170 171 172
Store 141(iv) 172
Store 151(iv) 173
173: 139(ivec4) Load 141(iv)
174: 149(ivec4) Load 151(iv)
174: 7(fvec4) ConvertSToF 173
175: 7(fvec4) ConvertSToF 174
175: 7(fvec4) Load 9(v)
176: 7(fvec4) Load 9(v)
176: 7(fvec4) FAdd 175 174
177: 7(fvec4) FAdd 176 175
Store 9(v) 176
Store 9(v) 177
181: 178 Load 180(is3D)
178: 153 Load 155(is2D)
182: 36(fvec3) Load 38(c3D)
179: 36(fvec3) Load 38(c3D)
184: 139(ivec4) ImageSampleImplicitLod 181 182 183
180: 15(fvec2) Load 17(c2D)
Store 141(iv) 184
181: 15(fvec2) Load 17(c2D)
185: 139(ivec4) Load 141(iv)
182: 149(ivec4) ImageSampleProjExplicitLod 178 179 180 181
186: 7(fvec4) ConvertSToF 185
Store 151(iv) 182
187: 7(fvec4) Load 9(v)
183: 149(ivec4) Load 151(iv)
188: 7(fvec4) FAdd 187 186
184: 7(fvec4) ConvertSToF 183
Store 9(v) 188
185: 7(fvec4) Load 9(v)
193: 190 Load 192(isCube)
186: 7(fvec4) FAdd 185 184
194: 36(fvec3) Load 38(c3D)
Store 9(v) 186
195: 6(float) Load 55(c1D)
191: 188 Load 190(is3D)
196: 139(ivec4) ImageSampleExplicitLod 193 194 195
192: 36(fvec3) Load 38(c3D)
Store 141(iv) 196
194: 149(ivec4) ImageSampleImplicitLod 191 192 193
197: 139(ivec4) Load 141(iv)
Store 151(iv) 194
198: 7(fvec4) ConvertSToF 197
195: 149(ivec4) Load 151(iv)
199: 7(fvec4) Load 9(v)
196: 7(fvec4) ConvertSToF 195
200: 7(fvec4) FAdd 199 198
197: 7(fvec4) Load 9(v)
Store 9(v) 200
198: 7(fvec4) FAdd 197 196
205: 202 Load 204(is2DArray)
Store 9(v) 198
206: 65(ivec3) Load 67(ic3D)
203: 200 Load 202(isCube)
207: 50(int) Load 70(ic1D)
204: 36(fvec3) Load 38(c3D)
208: 139(ivec4) ImageFetch 205 206 207
205: 6(float) Load 55(c1D)
Store 141(iv) 208
206: 149(ivec4) ImageSampleExplicitLod 203 204 205
209: 139(ivec4) Load 141(iv)
Store 151(iv) 206
210: 7(fvec4) ConvertSToF 209
207: 149(ivec4) Load 151(iv)
211: 7(fvec4) Load 9(v)
208: 7(fvec4) ConvertSToF 207
212: 7(fvec4) FAdd 211 210
209: 7(fvec4) Load 9(v)
Store 9(v) 212
210: 7(fvec4) FAdd 209 208
219: 216 Load 218(sCubeShadow)
Store 9(v) 210
221: 51(ivec2) ImageQuerySizeLod 219 220
215: 212 Load 214(is2DArray)
Store 214(iv2) 221
216: 65(ivec3) Load 67(ic3D)
224: 7(fvec4) Load 9(v)
217: 50(int) Load 70(ic1D)
225: 51(ivec2) Load 214(iv2)
218: 149(ivec4) ImageFetch 215 216 217
226: 15(fvec2) ConvertSToF 225
Store 151(iv) 218
228: 6(float) CompositeExtract 226 0
219: 149(ivec4) Load 151(iv)
229: 6(float) CompositeExtract 226 1
220: 7(fvec4) ConvertSToF 219
230: 7(fvec4) CompositeConstruct 228 229 227 227
221: 7(fvec4) Load 9(v)
231: 7(fvec4) FAdd 224 230
222: 7(fvec4) FAdd 221 220
Store 223(FragData) 231
Store 9(v) 222
229: 226 Load 228(sCubeShadow)
231: 51(ivec2) ImageQuerySizeLod 229 230
Store 224(iv2) 231
234: 7(fvec4) Load 9(v)
235: 51(ivec2) Load 224(iv2)
236: 15(fvec2) ConvertSToF 235
238: 6(float) CompositeExtract 236 0
239: 6(float) CompositeExtract 236 1
240: 7(fvec4) CompositeConstruct 238 239 237 237
241: 7(fvec4) FAdd 234 240
Store 233(FragData) 241
Return
Return
FunctionEnd
FunctionEnd
Test/newTexture.frag
View file @
d4a7a8e7
...
@@ -41,6 +41,7 @@ void main()
...
@@ -41,6 +41,7 @@ void main()
v
.
y
+=
textureOffset
(
s2DShadow
,
c3D
,
ivec2
(
3
),
c1D
);
v
.
y
+=
textureOffset
(
s2DShadow
,
c3D
,
ivec2
(
3
),
c1D
);
v
+=
texelFetch
(
s3D
,
ic3D
,
ic1D
);
v
+=
texelFetch
(
s3D
,
ic3D
,
ic1D
);
v
+=
texelFetchOffset
(
s2D
,
ic2D
,
4
,
ivec2
(
3
));
v
+=
texelFetchOffset
(
s2D
,
ic2D
,
4
,
ivec2
(
3
));
v
+=
texelFetchOffset
(
sr
,
ic2D
,
ivec2
(
4
));
v
.
y
+=
textureLodOffset
(
s2DShadow
,
c3D
,
c1D
,
ivec2
(
3
));
v
.
y
+=
textureLodOffset
(
s2DShadow
,
c3D
,
c1D
,
ivec2
(
3
));
v
+=
textureProjLodOffset
(
s2D
,
c3D
,
c1D
,
ivec2
(
3
));
v
+=
textureProjLodOffset
(
s2D
,
c3D
,
c1D
,
ivec2
(
3
));
v
+=
textureGrad
(
sCube
,
c3D
,
c3D
,
c3D
);
v
+=
textureGrad
(
sCube
,
c3D
,
c3D
,
c3D
);
...
@@ -62,7 +63,6 @@ void main()
...
@@ -62,7 +63,6 @@ void main()
v
+=
vec4
(
iv
);
v
+=
vec4
(
iv
);
iv
=
texelFetch
(
is2DArray
,
ic3D
,
ic1D
);
iv
=
texelFetch
(
is2DArray
,
ic3D
,
ic1D
);
v
+=
vec4
(
iv
);
v
+=
vec4
(
iv
);
iv
+=
texelFetch
(
is2Dms
,
ic2D
,
ic1D
);
iv
+=
texelFetch
(
is2Dms
,
ic2D
,
ic1D
);
v
+=
vec4
(
iv
);
v
+=
vec4
(
iv
);
v
+=
texelFetch
(
sb
,
ic1D
);
v
+=
texelFetch
(
sb
,
ic1D
);
...
...
Test/spv.newTexture.frag
View file @
d4a7a8e7
#version 430
#version 430
uniform
sampler2D
s2D
;
uniform
sampler2D
s2D
;
uniform
sampler2DRect
sr
;
uniform
sampler3D
s3D
;
uniform
sampler3D
s3D
;
uniform
samplerCube
sCube
;
uniform
samplerCube
sCube
;
uniform
samplerCubeShadow
sCubeShadow
;
uniform
samplerCubeShadow
sCubeShadow
;
...
@@ -39,6 +40,7 @@ void main()
...
@@ -39,6 +40,7 @@ void main()
v
.
y
+=
textureOffset
(
s2DShadow
,
c3D
,
ivec2
(
3
),
c1D
);
v
.
y
+=
textureOffset
(
s2DShadow
,
c3D
,
ivec2
(
3
),
c1D
);
v
+=
texelFetch
(
s3D
,
ic3D
,
ic1D
);
v
+=
texelFetch
(
s3D
,
ic3D
,
ic1D
);
v
+=
texelFetchOffset
(
s2D
,
ic2D
,
4
,
ivec2
(
3
));
v
+=
texelFetchOffset
(
s2D
,
ic2D
,
4
,
ivec2
(
3
));
v
+=
texelFetchOffset
(
sr
,
ic2D
,
ivec2
(
4
));
v
.
y
+=
textureLodOffset
(
s2DShadow
,
c3D
,
c1D
,
ivec2
(
3
));
v
.
y
+=
textureLodOffset
(
s2DShadow
,
c3D
,
c1D
,
ivec2
(
3
));
v
+=
textureProjLodOffset
(
s2D
,
c3D
,
c1D
,
ivec2
(
3
));
v
+=
textureProjLodOffset
(
s2D
,
c3D
,
c1D
,
ivec2
(
3
));
v
+=
textureGrad
(
sCube
,
c3D
,
c3D
,
c3D
);
v
+=
textureGrad
(
sCube
,
c3D
,
c3D
,
c3D
);
...
...
glslang/MachineIndependent/ParseHelper.cpp
View file @
d4a7a8e7
...
@@ -1431,7 +1431,7 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
...
@@ -1431,7 +1431,7 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
int
arg
=
-
1
;
int
arg
=
-
1
;
switch
(
callNode
.
getOp
())
{
switch
(
callNode
.
getOp
())
{
case
EOpTextureOffset
:
arg
=
2
;
break
;
case
EOpTextureOffset
:
arg
=
2
;
break
;
case
EOpTextureFetchOffset
:
arg
=
3
;
break
;
case
EOpTextureFetchOffset
:
arg
=
(
arg0
->
getType
().
getSampler
().
dim
!=
EsdRect
)
?
3
:
2
;
break
;
case
EOpTextureProjOffset
:
arg
=
2
;
break
;
case
EOpTextureProjOffset
:
arg
=
2
;
break
;
case
EOpTextureLodOffset
:
arg
=
3
;
break
;
case
EOpTextureLodOffset
:
arg
=
3
;
break
;
case
EOpTextureProjLodOffset
:
arg
=
3
;
break
;
case
EOpTextureProjLodOffset
:
arg
=
3
;
break
;
...
...
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