Front-end: Don't lower precision of bit operations taking highp inputs.

See issue #350 for detail.  This may be an ESSL specification issue.
This commit is contained in:
John Kessenich
2016-06-30 16:46:24 -06:00
parent ae3e77308c
commit f5dcdf0123
4 changed files with 52 additions and 60 deletions

View File

@@ -179,27 +179,27 @@ ERROR: node is still EOpNull!
0:31 'u4' (temp highp 4-component vector of uint)
0:32 move second child to first child (temp highp int)
0:32 'i1' (temp highp int)
0:32 bitCount (global lowp int)
0:32 bitCount (global 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 'i3' (temp highp 3-component vector of int)
0:33 bitCount (global lowp 3-component vector of int)
0:33 bitCount (global highp 3-component vector of int)
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 'i2' (temp highp 2-component vector of int)
0:34 findLSB (global lowp 2-component vector of int)
0:34 findLSB (global 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 'i4' (temp highp 4-component vector of int)
0:35 findLSB (global lowp 4-component vector of int)
0:35 findLSB (global highp 4-component vector of int)
0:35 'u4' (temp highp 4-component vector of uint)
0:36 move second child to first child (temp highp int)
0:36 'i1' (temp highp int)
0:36 findMSB (global lowp int)
0:36 findMSB (global 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 'i2' (temp highp 2-component vector of int)
0:37 findMSB (global lowp 2-component vector of int)
0:37 findMSB (global highp 2-component vector of int)
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 'v3' (temp highp 3-component vector of float)
@@ -219,13 +219,13 @@ ERROR: node is still EOpNull!
0:46 'u1' (temp highp uint)
0:46 PackSnorm4x8 (global highp uint)
0:46 'v4' (temp mediump 4-component vector of float)
0:47 move second child to first child (temp mediump 4-component vector of float)
0:47 move second child to first child (temp highp 4-component vector of float)
0:47 'v4' (temp mediump 4-component vector of float)
0:47 UnpackUnorm4x8 (global mediump 4-component vector of float)
0:47 UnpackUnorm4x8 (global highp 4-component vector of float)
0:47 'u1' (temp highp uint)
0:48 move second child to first child (temp mediump 4-component vector of float)
0:48 move second child to first child (temp highp 4-component vector of float)
0:48 'v4' (temp mediump 4-component vector of float)
0:48 UnpackSnorm4x8 (global mediump 4-component vector of float)
0:48 UnpackSnorm4x8 (global highp 4-component vector of float)
0:48 'u1' (temp highp uint)
0:60 Function Definition: foo( (global void)
0:60 Function Parameters:
@@ -1110,27 +1110,27 @@ ERROR: node is still EOpNull!
0:31 'u4' (temp highp 4-component vector of uint)
0:32 move second child to first child (temp highp int)
0:32 'i1' (temp highp int)
0:32 bitCount (global lowp int)
0:32 bitCount (global 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 'i3' (temp highp 3-component vector of int)
0:33 bitCount (global lowp 3-component vector of int)
0:33 bitCount (global highp 3-component vector of int)
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 'i2' (temp highp 2-component vector of int)
0:34 findLSB (global lowp 2-component vector of int)
0:34 findLSB (global 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 'i4' (temp highp 4-component vector of int)
0:35 findLSB (global lowp 4-component vector of int)
0:35 findLSB (global highp 4-component vector of int)
0:35 'u4' (temp highp 4-component vector of uint)
0:36 move second child to first child (temp highp int)
0:36 'i1' (temp highp int)
0:36 findMSB (global lowp int)
0:36 findMSB (global 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 'i2' (temp highp 2-component vector of int)
0:37 findMSB (global lowp 2-component vector of int)
0:37 findMSB (global highp 2-component vector of int)
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 'v3' (temp highp 3-component vector of float)
@@ -1150,13 +1150,13 @@ ERROR: node is still EOpNull!
0:46 'u1' (temp highp uint)
0:46 PackSnorm4x8 (global highp uint)
0:46 'v4' (temp mediump 4-component vector of float)
0:47 move second child to first child (temp mediump 4-component vector of float)
0:47 move second child to first child (temp highp 4-component vector of float)
0:47 'v4' (temp mediump 4-component vector of float)
0:47 UnpackUnorm4x8 (global mediump 4-component vector of float)
0:47 UnpackUnorm4x8 (global highp 4-component vector of float)
0:47 'u1' (temp highp uint)
0:48 move second child to first child (temp mediump 4-component vector of float)
0:48 move second child to first child (temp highp 4-component vector of float)
0:48 'v4' (temp mediump 4-component vector of float)
0:48 UnpackSnorm4x8 (global mediump 4-component vector of float)
0:48 UnpackSnorm4x8 (global highp 4-component vector of float)
0:48 'u1' (temp highp uint)
0:60 Function Definition: foo( (global void)
0:60 Function Parameters: