Front-end: Implement 2nd task of issue #400; precision of result and operation.
From the ES spec + Bugzilla 15931 and GL_KHR_vulkan_glsl: - Update precision qualifiers for all built-in function prototypes. - Implement the new algorithm used to distinguish built-in function operation precisions from result precisions. Also add tracking of separate result and operation precisions, and use that in generating SPIR-V. (SPIR-V cares about precision of operation, while the front-end cares about precision of result, for propagation.)
This commit is contained in:
@@ -72,20 +72,20 @@ ERROR: node is still EOpNull!
|
||||
0:59 1.200000
|
||||
0:60 move second child to first child (temp lowp float)
|
||||
0:60 'f' (temp lowp float)
|
||||
0:60 textureOffset (global lowp float)
|
||||
0:60 textureOffset (global lowp float, operation at mediump)
|
||||
0:60 's2DShadow' (uniform lowp sampler2DShadow)
|
||||
0:60 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:60 'ic2D' (flat in mediump 2-component vector of int)
|
||||
0:60 'c1D' (smooth in lowp float)
|
||||
0:61 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:61 'v' (temp lowp 4-component vector of float)
|
||||
0:61 textureFetch (global lowp 4-component vector of float)
|
||||
0:61 textureFetch (global lowp 4-component vector of float, operation at mediump)
|
||||
0:61 's3D' (uniform lowp sampler3D)
|
||||
0:61 'ic3D' (flat in mediump 3-component vector of int)
|
||||
0:61 'ic1D' (flat in mediump int)
|
||||
0:62 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:62 'v' (temp lowp 4-component vector of float)
|
||||
0:62 textureFetchOffset (global lowp 4-component vector of float)
|
||||
0:62 textureFetchOffset (global lowp 4-component vector of float, operation at mediump)
|
||||
0:62 direct index (temp lowp sampler2D)
|
||||
0:62 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
|
||||
0:62 Constant:
|
||||
@@ -96,14 +96,14 @@ ERROR: node is still EOpNull!
|
||||
0:62 'ic2D' (flat in mediump 2-component vector of int)
|
||||
0:63 move second child to first child (temp lowp float)
|
||||
0:63 'f' (temp lowp float)
|
||||
0:63 textureLodOffset (global lowp float)
|
||||
0:63 textureLodOffset (global lowp float, operation at mediump)
|
||||
0:63 's2DShadow' (uniform lowp sampler2DShadow)
|
||||
0:63 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:63 'c1D' (smooth in lowp float)
|
||||
0:63 'ic2D' (flat in mediump 2-component vector of int)
|
||||
0:64 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:64 'v' (temp lowp 4-component vector of float)
|
||||
0:64 textureProjLodOffset (global lowp 4-component vector of float)
|
||||
0:64 textureProjLodOffset (global lowp 4-component vector of float, operation at mediump)
|
||||
0:64 's2D' (uniform lowp sampler2D)
|
||||
0:64 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:64 'c1D' (smooth in lowp float)
|
||||
@@ -117,7 +117,7 @@ ERROR: node is still EOpNull!
|
||||
0:65 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:66 move second child to first child (temp lowp float)
|
||||
0:66 'f' (temp lowp float)
|
||||
0:66 textureGradOffset (global lowp float)
|
||||
0:66 textureGradOffset (global lowp float, operation at mediump)
|
||||
0:66 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
|
||||
0:66 'c4D' (smooth temp lowp 4-component vector of float)
|
||||
0:66 'c2D' (smooth in lowp 2-component vector of float)
|
||||
@@ -132,7 +132,7 @@ ERROR: node is still EOpNull!
|
||||
0:67 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:68 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:68 'v' (temp lowp 4-component vector of float)
|
||||
0:68 textureProjGradOffset (global lowp 4-component vector of float)
|
||||
0:68 textureProjGradOffset (global lowp 4-component vector of float, operation at mediump)
|
||||
0:68 's2D' (uniform lowp sampler2D)
|
||||
0:68 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:68 'c2D' (smooth in lowp 2-component vector of float)
|
||||
@@ -152,7 +152,7 @@ ERROR: node is still EOpNull!
|
||||
0:72 'c2D' (smooth in lowp 2-component vector of float)
|
||||
0:73 move second child to first child (temp mediump 4-component vector of int)
|
||||
0:73 'iv' (temp mediump 4-component vector of int)
|
||||
0:73 textureProjOffset (global lowp 4-component vector of int)
|
||||
0:73 textureProjOffset (global lowp 4-component vector of int, operation at mediump)
|
||||
0:73 'is2D' (uniform lowp isampler2D)
|
||||
0:73 'c4D' (smooth temp lowp 4-component vector of float)
|
||||
0:73 'ic2D' (flat in mediump 2-component vector of int)
|
||||
@@ -184,7 +184,7 @@ ERROR: node is still EOpNull!
|
||||
0:77 'c1D' (smooth in lowp float)
|
||||
0:78 move second child to first child (temp mediump 4-component vector of int)
|
||||
0:78 'iv' (temp mediump 4-component vector of int)
|
||||
0:78 textureFetch (global lowp 4-component vector of int)
|
||||
0:78 textureFetch (global lowp 4-component vector of int, operation at mediump)
|
||||
0:78 'is2DArray' (uniform lowp isampler2DArray)
|
||||
0:78 'ic3D' (flat in mediump 3-component vector of int)
|
||||
0:78 'ic1D' (flat in mediump int)
|
||||
@@ -196,7 +196,7 @@ ERROR: node is still EOpNull!
|
||||
0:80 0 (const int)
|
||||
0:80 Constant:
|
||||
0:80 1 (const int)
|
||||
0:80 textureSize (global highp 2-component vector of int)
|
||||
0:80 textureSize (global highp 2-component vector of int, operation at lowp)
|
||||
0:80 'sCubeShadow' (uniform lowp samplerCubeShadow)
|
||||
0:80 Constant:
|
||||
0:80 2 (const int)
|
||||
@@ -428,20 +428,20 @@ ERROR: node is still EOpNull!
|
||||
0:59 1.200000
|
||||
0:60 move second child to first child (temp lowp float)
|
||||
0:60 'f' (temp lowp float)
|
||||
0:60 textureOffset (global lowp float)
|
||||
0:60 textureOffset (global lowp float, operation at mediump)
|
||||
0:60 's2DShadow' (uniform lowp sampler2DShadow)
|
||||
0:60 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:60 'ic2D' (flat in mediump 2-component vector of int)
|
||||
0:60 'c1D' (smooth in lowp float)
|
||||
0:61 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:61 'v' (temp lowp 4-component vector of float)
|
||||
0:61 textureFetch (global lowp 4-component vector of float)
|
||||
0:61 textureFetch (global lowp 4-component vector of float, operation at mediump)
|
||||
0:61 's3D' (uniform lowp sampler3D)
|
||||
0:61 'ic3D' (flat in mediump 3-component vector of int)
|
||||
0:61 'ic1D' (flat in mediump int)
|
||||
0:62 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:62 'v' (temp lowp 4-component vector of float)
|
||||
0:62 textureFetchOffset (global lowp 4-component vector of float)
|
||||
0:62 textureFetchOffset (global lowp 4-component vector of float, operation at mediump)
|
||||
0:62 direct index (temp lowp sampler2D)
|
||||
0:62 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
|
||||
0:62 Constant:
|
||||
@@ -452,14 +452,14 @@ ERROR: node is still EOpNull!
|
||||
0:62 'ic2D' (flat in mediump 2-component vector of int)
|
||||
0:63 move second child to first child (temp lowp float)
|
||||
0:63 'f' (temp lowp float)
|
||||
0:63 textureLodOffset (global lowp float)
|
||||
0:63 textureLodOffset (global lowp float, operation at mediump)
|
||||
0:63 's2DShadow' (uniform lowp sampler2DShadow)
|
||||
0:63 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:63 'c1D' (smooth in lowp float)
|
||||
0:63 'ic2D' (flat in mediump 2-component vector of int)
|
||||
0:64 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:64 'v' (temp lowp 4-component vector of float)
|
||||
0:64 textureProjLodOffset (global lowp 4-component vector of float)
|
||||
0:64 textureProjLodOffset (global lowp 4-component vector of float, operation at mediump)
|
||||
0:64 's2D' (uniform lowp sampler2D)
|
||||
0:64 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:64 'c1D' (smooth in lowp float)
|
||||
@@ -473,7 +473,7 @@ ERROR: node is still EOpNull!
|
||||
0:65 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:66 move second child to first child (temp lowp float)
|
||||
0:66 'f' (temp lowp float)
|
||||
0:66 textureGradOffset (global lowp float)
|
||||
0:66 textureGradOffset (global lowp float, operation at mediump)
|
||||
0:66 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
|
||||
0:66 'c4D' (smooth temp lowp 4-component vector of float)
|
||||
0:66 'c2D' (smooth in lowp 2-component vector of float)
|
||||
@@ -488,7 +488,7 @@ ERROR: node is still EOpNull!
|
||||
0:67 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:68 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:68 'v' (temp lowp 4-component vector of float)
|
||||
0:68 textureProjGradOffset (global lowp 4-component vector of float)
|
||||
0:68 textureProjGradOffset (global lowp 4-component vector of float, operation at mediump)
|
||||
0:68 's2D' (uniform lowp sampler2D)
|
||||
0:68 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:68 'c2D' (smooth in lowp 2-component vector of float)
|
||||
@@ -508,7 +508,7 @@ ERROR: node is still EOpNull!
|
||||
0:72 'c2D' (smooth in lowp 2-component vector of float)
|
||||
0:73 move second child to first child (temp mediump 4-component vector of int)
|
||||
0:73 'iv' (temp mediump 4-component vector of int)
|
||||
0:73 textureProjOffset (global lowp 4-component vector of int)
|
||||
0:73 textureProjOffset (global lowp 4-component vector of int, operation at mediump)
|
||||
0:73 'is2D' (uniform lowp isampler2D)
|
||||
0:73 'c4D' (smooth temp lowp 4-component vector of float)
|
||||
0:73 'ic2D' (flat in mediump 2-component vector of int)
|
||||
@@ -540,7 +540,7 @@ ERROR: node is still EOpNull!
|
||||
0:77 'c1D' (smooth in lowp float)
|
||||
0:78 move second child to first child (temp mediump 4-component vector of int)
|
||||
0:78 'iv' (temp mediump 4-component vector of int)
|
||||
0:78 textureFetch (global lowp 4-component vector of int)
|
||||
0:78 textureFetch (global lowp 4-component vector of int, operation at mediump)
|
||||
0:78 'is2DArray' (uniform lowp isampler2DArray)
|
||||
0:78 'ic3D' (flat in mediump 3-component vector of int)
|
||||
0:78 'ic1D' (flat in mediump int)
|
||||
@@ -552,7 +552,7 @@ ERROR: node is still EOpNull!
|
||||
0:80 0 (const int)
|
||||
0:80 Constant:
|
||||
0:80 1 (const int)
|
||||
0:80 textureSize (global highp 2-component vector of int)
|
||||
0:80 textureSize (global highp 2-component vector of int, operation at lowp)
|
||||
0:80 'sCubeShadow' (uniform lowp samplerCubeShadow)
|
||||
0:80 Constant:
|
||||
0:80 2 (const int)
|
||||
|
||||
Reference in New Issue
Block a user