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
f5dcdf01
Commit
f5dcdf01
authored
Jun 30, 2016
by
John Kessenich
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Front-end: Don't lower precision of bit operations taking highp inputs.
See issue #350 for detail. This may be an ESSL specification issue.
parent
ae3e7730
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
63 deletions
+55
-63
300BuiltIns.frag.out
Test/baseResults/300BuiltIns.frag.out
+4
-4
310.vert.out
Test/baseResults/310.vert.out
+20
-20
spv.intOps.vert.out
Test/baseResults/spv.intOps.vert.out
+0
-8
Initialize.cpp
glslang/MachineIndependent/Initialize.cpp
+31
-31
No files found.
Test/baseResults/300BuiltIns.frag.out
View file @
f5dcdf01
...
@@ -161,9 +161,9 @@ ERROR: node is still EOpNull!
...
@@ -161,9 +161,9 @@ ERROR: node is still EOpNull!
0:62 packSnorm2x16 (global highp uint)
0:62 packSnorm2x16 (global highp uint)
0:62 'v2a' (global mediump 2-component vector of float)
0:62 'v2a' (global mediump 2-component vector of float)
0:63 Sequence
0:63 Sequence
0:63 move second child to first child (temp
high
p 2-component vector of float)
0:63 move second child to first child (temp
medium
p 2-component vector of float)
0:63 'v20' (temp mediump 2-component vector of float)
0:63 'v20' (temp mediump 2-component vector of float)
0:63 unpackSnorm2x16 (global
high
p 2-component vector of float)
0:63 unpackSnorm2x16 (global
medium
p 2-component vector of float)
0:63 'uy' (global mediump uint)
0:63 'uy' (global mediump uint)
0:64 Sequence
0:64 Sequence
0:64 move second child to first child (temp highp uint)
0:64 move second child to first child (temp highp uint)
...
@@ -368,9 +368,9 @@ ERROR: node is still EOpNull!
...
@@ -368,9 +368,9 @@ ERROR: node is still EOpNull!
0:62 packSnorm2x16 (global highp uint)
0:62 packSnorm2x16 (global highp uint)
0:62 'v2a' (global mediump 2-component vector of float)
0:62 'v2a' (global mediump 2-component vector of float)
0:63 Sequence
0:63 Sequence
0:63 move second child to first child (temp
high
p 2-component vector of float)
0:63 move second child to first child (temp
medium
p 2-component vector of float)
0:63 'v20' (temp mediump 2-component vector of float)
0:63 'v20' (temp mediump 2-component vector of float)
0:63 unpackSnorm2x16 (global
high
p 2-component vector of float)
0:63 unpackSnorm2x16 (global
medium
p 2-component vector of float)
0:63 'uy' (global mediump uint)
0:63 'uy' (global mediump uint)
0:64 Sequence
0:64 Sequence
0:64 move second child to first child (temp highp uint)
0:64 move second child to first child (temp highp uint)
...
...
Test/baseResults/310.vert.out
View file @
f5dcdf01
...
@@ -179,27 +179,27 @@ ERROR: node is still EOpNull!
...
@@ -179,27 +179,27 @@ ERROR: node is still EOpNull!
0:31 'u4' (temp highp 4-component vector of uint)
0:31 'u4' (temp highp 4-component vector of uint)
0:32 move second child to first child (temp highp int)
0:32 move second child to first child (temp highp int)
0:32 'i1' (temp highp int)
0:32 'i1' (temp highp int)
0:32 bitCount (global
low
p int)
0:32 bitCount (global
high
p int)
0:32 'i1' (temp highp int)
0:32 'i1' (temp highp int)
0:33 move second child to first child (temp highp 3-component vector of int)
0:33 move second child to first child (temp highp 3-component vector of int)
0:33 'i3' (temp highp 3-component vector of int)
0:33 'i3' (temp highp 3-component vector of int)
0:33 bitCount (global
low
p 3-component vector of int)
0:33 bitCount (global
high
p 3-component vector of int)
0:33 'u3' (temp highp 3-component vector of uint)
0:33 'u3' (temp highp 3-component vector of uint)
0:34 move second child to first child (temp highp 2-component vector of int)
0:34 move second child to first child (temp highp 2-component vector of int)
0:34 'i2' (temp highp 2-component vector of int)
0:34 'i2' (temp highp 2-component vector of int)
0:34 findLSB (global
low
p 2-component vector of int)
0:34 findLSB (global
high
p 2-component vector of int)
0:34 'i2' (temp highp 2-component vector of int)
0:34 'i2' (temp highp 2-component vector of int)
0:35 move second child to first child (temp highp 4-component vector of int)
0:35 move second child to first child (temp highp 4-component vector of int)
0:35 'i4' (temp highp 4-component vector of int)
0:35 'i4' (temp highp 4-component vector of int)
0:35 findLSB (global
low
p 4-component vector of int)
0:35 findLSB (global
high
p 4-component vector of int)
0:35 'u4' (temp highp 4-component vector of uint)
0:35 'u4' (temp highp 4-component vector of uint)
0:36 move second child to first child (temp highp int)
0:36 move second child to first child (temp highp int)
0:36 'i1' (temp highp int)
0:36 'i1' (temp highp int)
0:36 findMSB (global
low
p int)
0:36 findMSB (global
high
p int)
0:36 'i1' (temp highp int)
0:36 'i1' (temp highp int)
0:37 move second child to first child (temp highp 2-component vector of int)
0:37 move second child to first child (temp highp 2-component vector of int)
0:37 'i2' (temp highp 2-component vector of int)
0:37 'i2' (temp highp 2-component vector of int)
0:37 findMSB (global
low
p 2-component vector of int)
0:37 findMSB (global
high
p 2-component vector of int)
0:37 'u2' (temp highp 2-component vector of uint)
0:37 'u2' (temp highp 2-component vector of uint)
0:40 move second child to first child (temp highp 3-component vector of float)
0:40 move second child to first child (temp highp 3-component vector of float)
0:40 'v3' (temp highp 3-component vector of float)
0:40 'v3' (temp highp 3-component vector of float)
...
@@ -219,13 +219,13 @@ ERROR: node is still EOpNull!
...
@@ -219,13 +219,13 @@ ERROR: node is still EOpNull!
0:46 'u1' (temp highp uint)
0:46 'u1' (temp highp uint)
0:46 PackSnorm4x8 (global highp uint)
0:46 PackSnorm4x8 (global highp uint)
0:46 'v4' (temp mediump 4-component vector of float)
0:46 'v4' (temp mediump 4-component vector of float)
0:47 move second child to first child (temp
medium
p 4-component vector of float)
0:47 move second child to first child (temp
high
p 4-component vector of float)
0:47 'v4' (temp mediump 4-component vector of float)
0:47 'v4' (temp mediump 4-component vector of float)
0:47 UnpackUnorm4x8 (global
medium
p 4-component vector of float)
0:47 UnpackUnorm4x8 (global
high
p 4-component vector of float)
0:47 'u1' (temp highp uint)
0:47 'u1' (temp highp uint)
0:48 move second child to first child (temp
medium
p 4-component vector of float)
0:48 move second child to first child (temp
high
p 4-component vector of float)
0:48 'v4' (temp mediump 4-component vector of float)
0:48 'v4' (temp mediump 4-component vector of float)
0:48 UnpackSnorm4x8 (global
medium
p 4-component vector of float)
0:48 UnpackSnorm4x8 (global
high
p 4-component vector of float)
0:48 'u1' (temp highp uint)
0:48 'u1' (temp highp uint)
0:60 Function Definition: foo( (global void)
0:60 Function Definition: foo( (global void)
0:60 Function Parameters:
0:60 Function Parameters:
...
@@ -1110,27 +1110,27 @@ ERROR: node is still EOpNull!
...
@@ -1110,27 +1110,27 @@ ERROR: node is still EOpNull!
0:31 'u4' (temp highp 4-component vector of uint)
0:31 'u4' (temp highp 4-component vector of uint)
0:32 move second child to first child (temp highp int)
0:32 move second child to first child (temp highp int)
0:32 'i1' (temp highp int)
0:32 'i1' (temp highp int)
0:32 bitCount (global
low
p int)
0:32 bitCount (global
high
p int)
0:32 'i1' (temp highp int)
0:32 'i1' (temp highp int)
0:33 move second child to first child (temp highp 3-component vector of int)
0:33 move second child to first child (temp highp 3-component vector of int)
0:33 'i3' (temp highp 3-component vector of int)
0:33 'i3' (temp highp 3-component vector of int)
0:33 bitCount (global
low
p 3-component vector of int)
0:33 bitCount (global
high
p 3-component vector of int)
0:33 'u3' (temp highp 3-component vector of uint)
0:33 'u3' (temp highp 3-component vector of uint)
0:34 move second child to first child (temp highp 2-component vector of int)
0:34 move second child to first child (temp highp 2-component vector of int)
0:34 'i2' (temp highp 2-component vector of int)
0:34 'i2' (temp highp 2-component vector of int)
0:34 findLSB (global
low
p 2-component vector of int)
0:34 findLSB (global
high
p 2-component vector of int)
0:34 'i2' (temp highp 2-component vector of int)
0:34 'i2' (temp highp 2-component vector of int)
0:35 move second child to first child (temp highp 4-component vector of int)
0:35 move second child to first child (temp highp 4-component vector of int)
0:35 'i4' (temp highp 4-component vector of int)
0:35 'i4' (temp highp 4-component vector of int)
0:35 findLSB (global
low
p 4-component vector of int)
0:35 findLSB (global
high
p 4-component vector of int)
0:35 'u4' (temp highp 4-component vector of uint)
0:35 'u4' (temp highp 4-component vector of uint)
0:36 move second child to first child (temp highp int)
0:36 move second child to first child (temp highp int)
0:36 'i1' (temp highp int)
0:36 'i1' (temp highp int)
0:36 findMSB (global
low
p int)
0:36 findMSB (global
high
p int)
0:36 'i1' (temp highp int)
0:36 'i1' (temp highp int)
0:37 move second child to first child (temp highp 2-component vector of int)
0:37 move second child to first child (temp highp 2-component vector of int)
0:37 'i2' (temp highp 2-component vector of int)
0:37 'i2' (temp highp 2-component vector of int)
0:37 findMSB (global
low
p 2-component vector of int)
0:37 findMSB (global
high
p 2-component vector of int)
0:37 'u2' (temp highp 2-component vector of uint)
0:37 'u2' (temp highp 2-component vector of uint)
0:40 move second child to first child (temp highp 3-component vector of float)
0:40 move second child to first child (temp highp 3-component vector of float)
0:40 'v3' (temp highp 3-component vector of float)
0:40 'v3' (temp highp 3-component vector of float)
...
@@ -1150,13 +1150,13 @@ ERROR: node is still EOpNull!
...
@@ -1150,13 +1150,13 @@ ERROR: node is still EOpNull!
0:46 'u1' (temp highp uint)
0:46 'u1' (temp highp uint)
0:46 PackSnorm4x8 (global highp uint)
0:46 PackSnorm4x8 (global highp uint)
0:46 'v4' (temp mediump 4-component vector of float)
0:46 'v4' (temp mediump 4-component vector of float)
0:47 move second child to first child (temp
medium
p 4-component vector of float)
0:47 move second child to first child (temp
high
p 4-component vector of float)
0:47 'v4' (temp mediump 4-component vector of float)
0:47 'v4' (temp mediump 4-component vector of float)
0:47 UnpackUnorm4x8 (global
medium
p 4-component vector of float)
0:47 UnpackUnorm4x8 (global
high
p 4-component vector of float)
0:47 'u1' (temp highp uint)
0:47 'u1' (temp highp uint)
0:48 move second child to first child (temp
medium
p 4-component vector of float)
0:48 move second child to first child (temp
high
p 4-component vector of float)
0:48 'v4' (temp mediump 4-component vector of float)
0:48 'v4' (temp mediump 4-component vector of float)
0:48 UnpackSnorm4x8 (global
medium
p 4-component vector of float)
0:48 UnpackSnorm4x8 (global
high
p 4-component vector of float)
0:48 'u1' (temp highp uint)
0:48 'u1' (temp highp uint)
0:60 Function Definition: foo( (global void)
0:60 Function Definition: foo( (global void)
0:60 Function Parameters:
0:60 Function Parameters:
...
...
Test/baseResults/spv.intOps.vert.out
View file @
f5dcdf01
...
@@ -44,14 +44,6 @@ Linked vertex stage:
...
@@ -44,14 +44,6 @@ Linked vertex stage:
Name 173 "u3"
Name 173 "u3"
Name 182 "i3"
Name 182 "i3"
Name 247 "v4"
Name 247 "v4"
Decorate 210 RelaxedPrecision
Decorate 216 RelaxedPrecision
Decorate 223 RelaxedPrecision
Decorate 230 RelaxedPrecision
Decorate 234 RelaxedPrecision
Decorate 240 RelaxedPrecision
Decorate 261 RelaxedPrecision
Decorate 265 RelaxedPrecision
2: TypeVoid
2: TypeVoid
3: TypeFunction 2
3: TypeFunction 2
6: TypeInt 32 1
6: TypeInt 32 1
...
...
glslang/MachineIndependent/Initialize.cpp
View file @
f5dcdf01
...
@@ -948,9 +948,9 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
...
@@ -948,9 +948,9 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
(
profile
!=
EEsProfile
&&
version
>=
420
))
{
(
profile
!=
EEsProfile
&&
version
>=
420
))
{
commonBuiltins
.
append
(
commonBuiltins
.
append
(
"highp uint packSnorm2x16(vec2);"
"highp uint packSnorm2x16(vec2);"
"
highp
vec2 unpackSnorm2x16(highp uint);"
"
vec2 unpackSnorm2x16(highp uint);"
"highp uint packHalf2x16(mediump vec2);"
"highp uint packHalf2x16(mediump vec2);"
"
mediump
vec2 unpackHalf2x16(highp uint);"
"
vec2 unpackHalf2x16(highp uint);"
"
\n
"
);
"
\n
"
);
}
}
...
@@ -958,9 +958,9 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
...
@@ -958,9 +958,9 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
(
profile
!=
EEsProfile
&&
version
>=
400
))
{
(
profile
!=
EEsProfile
&&
version
>=
400
))
{
commonBuiltins
.
append
(
commonBuiltins
.
append
(
"highp uint packSnorm4x8 (mediump vec4);"
"highp uint packSnorm4x8 (mediump vec4);"
"
mediump
vec4 unpackSnorm4x8(highp uint);"
"
vec4 unpackSnorm4x8(highp uint);"
"highp uint packUnorm4x8 (mediump vec4);"
"highp uint packUnorm4x8 (mediump vec4);"
"
mediump
vec4 unpackUnorm4x8(highp uint);"
"
vec4 unpackUnorm4x8(highp uint);"
"
\n
"
);
"
\n
"
);
}
}
...
@@ -1298,15 +1298,15 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
...
@@ -1298,15 +1298,15 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"uvec3 bitfieldInsert(uvec3 base, uvec3, int, int);"
"uvec3 bitfieldInsert(uvec3 base, uvec3, int, int);"
"uvec4 bitfieldInsert(uvec4 base, uvec4, int, int);"
"uvec4 bitfieldInsert(uvec4 base, uvec4, int, int);"
"
lowp
int findLSB( int);"
" int findLSB( int);"
"
lowp
ivec2 findLSB(ivec2);"
"ivec2 findLSB(ivec2);"
"
lowp
ivec3 findLSB(ivec3);"
"ivec3 findLSB(ivec3);"
"
lowp
ivec4 findLSB(ivec4);"
"ivec4 findLSB(ivec4);"
"
lowp
int findLSB( uint);"
" int findLSB( uint);"
"
lowp
ivec2 findLSB(uvec2);"
"ivec2 findLSB(uvec2);"
"
lowp
ivec3 findLSB(uvec3);"
"ivec3 findLSB(uvec3);"
"
lowp
ivec4 findLSB(uvec4);"
"ivec4 findLSB(uvec4);"
"
\n
"
);
"
\n
"
);
}
}
...
@@ -1398,25 +1398,25 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
...
@@ -1398,25 +1398,25 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"highp uvec3 bitfieldReverse(highp uvec3);"
"highp uvec3 bitfieldReverse(highp uvec3);"
"highp uvec4 bitfieldReverse(highp uvec4);"
"highp uvec4 bitfieldReverse(highp uvec4);"
"
lowp
int bitCount( int);"
" int bitCount( int);"
"
lowp
ivec2 bitCount(ivec2);"
"ivec2 bitCount(ivec2);"
"
lowp
ivec3 bitCount(ivec3);"
"ivec3 bitCount(ivec3);"
"
lowp
ivec4 bitCount(ivec4);"
"ivec4 bitCount(ivec4);"
"
lowp
int bitCount( uint);"
" int bitCount( uint);"
"
lowp
ivec2 bitCount(uvec2);"
"ivec2 bitCount(uvec2);"
"
lowp
ivec3 bitCount(uvec3);"
"ivec3 bitCount(uvec3);"
"
lowp
ivec4 bitCount(uvec4);"
"ivec4 bitCount(uvec4);"
"
lowp
int findMSB(highp int);"
" int findMSB(highp int);"
"
lowp
ivec2 findMSB(highp ivec2);"
"ivec2 findMSB(highp ivec2);"
"
lowp
ivec3 findMSB(highp ivec3);"
"ivec3 findMSB(highp ivec3);"
"
lowp
ivec4 findMSB(highp ivec4);"
"ivec4 findMSB(highp ivec4);"
"
lowp
int findMSB(highp uint);"
" int findMSB(highp uint);"
"
lowp
ivec2 findMSB(highp uvec2);"
"ivec2 findMSB(highp uvec2);"
"
lowp
ivec3 findMSB(highp uvec3);"
"ivec3 findMSB(highp uvec3);"
"
lowp
ivec4 findMSB(highp uvec4);"
"ivec4 findMSB(highp uvec4);"
"
\n
"
);
"
\n
"
);
}
}
...
...
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