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:
@@ -241,7 +241,7 @@ ERROR: node is still EOpNull!
|
||||
0:122 'sExt' (uniform lowp samplerExternalOES)
|
||||
0:122 Construct vec3 (temp lowp 3-component vector of float)
|
||||
0:122 'f13' (invariant global mediump float)
|
||||
0:123 textureProj (global lowp 4-component vector of float)
|
||||
0:123 textureProj (global lowp 4-component vector of float, operation at mediump)
|
||||
0:123 'sExt' (uniform lowp samplerExternalOES)
|
||||
0:123 direct index (smooth temp mediump 4-component vector of float)
|
||||
0:123 'v' (smooth in 3-element array of mediump 4-component vector of float)
|
||||
@@ -278,7 +278,7 @@ ERROR: node is still EOpNull!
|
||||
0:145 'a' (in mediump int)
|
||||
0:145 'b' (in mediump float)
|
||||
0:147 Sequence
|
||||
0:147 textureProjGrad (global lowp 4-component vector of float)
|
||||
0:147 textureProjGrad (global lowp 4-component vector of float, operation at mediump)
|
||||
0:147 's2Dg' (uniform lowp sampler2D)
|
||||
0:147 Construct vec3 (temp mediump 3-component vector of float)
|
||||
0:147 'f13' (invariant global mediump float)
|
||||
@@ -299,17 +299,17 @@ ERROR: node is still EOpNull!
|
||||
0:158 Function Definition: foo323433( (global void)
|
||||
0:158 Function Parameters:
|
||||
0:160 Sequence
|
||||
0:160 textureLod (global lowp 4-component vector of float)
|
||||
0:160 textureLod (global lowp 4-component vector of float, operation at mediump)
|
||||
0:160 's2Dg' (uniform lowp sampler2D)
|
||||
0:160 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:160 'f13' (invariant global mediump float)
|
||||
0:161 textureProjGrad (global lowp 4-component vector of float)
|
||||
0:161 textureProjGrad (global lowp 4-component vector of float, operation at mediump)
|
||||
0:161 's2Dg' (uniform lowp sampler2D)
|
||||
0:161 Construct vec3 (temp mediump 3-component vector of float)
|
||||
0:161 'f13' (invariant global mediump float)
|
||||
0:161 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:161 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:162 textureGrad (global lowp 4-component vector of float)
|
||||
0:162 textureGrad (global lowp 4-component vector of float, operation at mediump)
|
||||
0:162 's2Dg' (uniform lowp sampler2D)
|
||||
0:162 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:162 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
@@ -579,7 +579,7 @@ ERROR: node is still EOpNull!
|
||||
0:122 'sExt' (uniform lowp samplerExternalOES)
|
||||
0:122 Construct vec3 (temp lowp 3-component vector of float)
|
||||
0:122 'f13' (invariant global mediump float)
|
||||
0:123 textureProj (global lowp 4-component vector of float)
|
||||
0:123 textureProj (global lowp 4-component vector of float, operation at mediump)
|
||||
0:123 'sExt' (uniform lowp samplerExternalOES)
|
||||
0:123 direct index (smooth temp mediump 4-component vector of float)
|
||||
0:123 'v' (smooth in 3-element array of mediump 4-component vector of float)
|
||||
@@ -616,7 +616,7 @@ ERROR: node is still EOpNull!
|
||||
0:145 'a' (in mediump int)
|
||||
0:145 'b' (in mediump float)
|
||||
0:147 Sequence
|
||||
0:147 textureProjGrad (global lowp 4-component vector of float)
|
||||
0:147 textureProjGrad (global lowp 4-component vector of float, operation at mediump)
|
||||
0:147 's2Dg' (uniform lowp sampler2D)
|
||||
0:147 Construct vec3 (temp mediump 3-component vector of float)
|
||||
0:147 'f13' (invariant global mediump float)
|
||||
@@ -637,17 +637,17 @@ ERROR: node is still EOpNull!
|
||||
0:158 Function Definition: foo323433( (global void)
|
||||
0:158 Function Parameters:
|
||||
0:160 Sequence
|
||||
0:160 textureLod (global lowp 4-component vector of float)
|
||||
0:160 textureLod (global lowp 4-component vector of float, operation at mediump)
|
||||
0:160 's2Dg' (uniform lowp sampler2D)
|
||||
0:160 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:160 'f13' (invariant global mediump float)
|
||||
0:161 textureProjGrad (global lowp 4-component vector of float)
|
||||
0:161 textureProjGrad (global lowp 4-component vector of float, operation at mediump)
|
||||
0:161 's2Dg' (uniform lowp sampler2D)
|
||||
0:161 Construct vec3 (temp mediump 3-component vector of float)
|
||||
0:161 'f13' (invariant global mediump float)
|
||||
0:161 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:161 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:162 textureGrad (global lowp 4-component vector of float)
|
||||
0:162 textureGrad (global lowp 4-component vector of float, operation at mediump)
|
||||
0:162 's2Dg' (uniform lowp sampler2D)
|
||||
0:162 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:162 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
|
||||
Reference in New Issue
Block a user