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:
@@ -353,7 +353,7 @@ ERROR: node is still EOpNull!
|
||||
0:101 3 (const int)
|
||||
0:102 move second child to first child (temp highp 2-component vector of int)
|
||||
0:102 'v2' (temp highp 2-component vector of int)
|
||||
0:102 textureSize (global highp 2-component vector of int)
|
||||
0:102 textureSize (global highp 2-component vector of int, operation at mediump)
|
||||
0:102 's2dms' (uniform mediump sampler2DMS)
|
||||
0:103 move second child to first child (temp highp 2-component vector of int)
|
||||
0:103 'v2' (temp highp 2-component vector of int)
|
||||
@@ -361,19 +361,19 @@ ERROR: node is still EOpNull!
|
||||
0:103 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
|
||||
0:104 move second child to first child (temp highp 3-component vector of int)
|
||||
0:104 'v3' (temp highp 3-component vector of int)
|
||||
0:104 imageQuerySize (global highp 3-component vector of int)
|
||||
0:104 imageQuerySize (global highp 3-component vector of int, operation at mediump)
|
||||
0:104 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
|
||||
0:105 move second child to first child (temp highp 2-component vector of int)
|
||||
0:105 'v2' (temp highp 2-component vector of int)
|
||||
0:105 imageQuerySize (global highp 2-component vector of int)
|
||||
0:105 imageQuerySize (global highp 2-component vector of int, operation at mediump)
|
||||
0:105 'iCube' (layout(binding=5 ) uniform mediump imageCube)
|
||||
0:106 move second child to first child (temp highp 3-component vector of int)
|
||||
0:106 'v3' (temp highp 3-component vector of int)
|
||||
0:106 imageQuerySize (global highp 3-component vector of int)
|
||||
0:106 imageQuerySize (global highp 3-component vector of int, operation at mediump)
|
||||
0:106 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
|
||||
0:107 move second child to first child (temp highp 2-component vector of int)
|
||||
0:107 'v2' (temp highp 2-component vector of int)
|
||||
0:107 imageQuerySize (global highp 2-component vector of int)
|
||||
0:107 imageQuerySize (global highp 2-component vector of int, operation at mediump)
|
||||
0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform mediump image2D)
|
||||
0:165 Function Definition: fooIO( (global void)
|
||||
0:165 Function Parameters:
|
||||
@@ -1234,7 +1234,7 @@ ERROR: node is still EOpNull!
|
||||
0:101 3 (const int)
|
||||
0:102 move second child to first child (temp highp 2-component vector of int)
|
||||
0:102 'v2' (temp highp 2-component vector of int)
|
||||
0:102 textureSize (global highp 2-component vector of int)
|
||||
0:102 textureSize (global highp 2-component vector of int, operation at mediump)
|
||||
0:102 's2dms' (uniform mediump sampler2DMS)
|
||||
0:103 move second child to first child (temp highp 2-component vector of int)
|
||||
0:103 'v2' (temp highp 2-component vector of int)
|
||||
@@ -1242,19 +1242,19 @@ ERROR: node is still EOpNull!
|
||||
0:103 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
|
||||
0:104 move second child to first child (temp highp 3-component vector of int)
|
||||
0:104 'v3' (temp highp 3-component vector of int)
|
||||
0:104 imageQuerySize (global highp 3-component vector of int)
|
||||
0:104 imageQuerySize (global highp 3-component vector of int, operation at mediump)
|
||||
0:104 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
|
||||
0:105 move second child to first child (temp highp 2-component vector of int)
|
||||
0:105 'v2' (temp highp 2-component vector of int)
|
||||
0:105 imageQuerySize (global highp 2-component vector of int)
|
||||
0:105 imageQuerySize (global highp 2-component vector of int, operation at mediump)
|
||||
0:105 'iCube' (layout(binding=5 ) uniform mediump imageCube)
|
||||
0:106 move second child to first child (temp highp 3-component vector of int)
|
||||
0:106 'v3' (temp highp 3-component vector of int)
|
||||
0:106 imageQuerySize (global highp 3-component vector of int)
|
||||
0:106 imageQuerySize (global highp 3-component vector of int, operation at mediump)
|
||||
0:106 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
|
||||
0:107 move second child to first child (temp highp 2-component vector of int)
|
||||
0:107 'v2' (temp highp 2-component vector of int)
|
||||
0:107 imageQuerySize (global highp 2-component vector of int)
|
||||
0:107 imageQuerySize (global highp 2-component vector of int, operation at mediump)
|
||||
0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform mediump image2D)
|
||||
0:165 Function Definition: fooIO( (global void)
|
||||
0:165 Function Parameters:
|
||||
|
||||
Reference in New Issue
Block a user