If we are going to start tightening up this stuff I would really really like to see CTS tests (not piglit tests) to go along with this stuff.

We are already way stricter with these type of things than the closed source drivers and this leads to some apps not working. Before we go ahead and tighten things up more we should get this stuff covered by the CTS so that we are not the only ones enforcing the rules (i.e. fighting an unwinnable battle).

On 1/11/18 5:37 am, Vadym Shovkoplias wrote:
In GLSL versions 1.00 ES, 1.10 and 1.20, Mesa includes
some built-in functions which shouldn't be present in
that version, namely:

    genIType abs(genIType x)
    genIType sign(genIType x)
    genIType min(genIType x, genIType y)
    genIType min(genIType x, int y)
    genIType max(genIType x, genIType y)
    genIType max(genIType x, int y)
    genIType clamp(genIType x, genIType minVal, genIType maxVal)
    genIType clamp(genIType x, int minVal, int maxVal)
    genType trunc(genType x)
    genType round(genType x)
    genType roundEven(genType x)
    genType modf(genType x, out genType i)

v2: genIType sign(genIType x) was added in 1.30 GLSL spec, not in
1.50 spec

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108160
Signed-off-by: Vadym Shovkoplias <vadym.shovkopl...@globallogic.com>
---
  src/compiler/glsl/builtin_functions.cpp | 30 ++++++++++++-------------
  1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/src/compiler/glsl/builtin_functions.cpp 
b/src/compiler/glsl/builtin_functions.cpp
index 5650365d1d..52e0599ad2 100644
--- a/src/compiler/glsl/builtin_functions.cpp
+++ b/src/compiler/glsl/builtin_functions.cpp
@@ -1439,10 +1439,10 @@ builtin_builder::create_builtins()
                  _##NAME(always_available, glsl_type::vec2_type),  \
                  _##NAME(always_available, glsl_type::vec3_type),  \
                  _##NAME(always_available, glsl_type::vec4_type),  \
-                _##NAME(always_available, glsl_type::int_type),   \
-                _##NAME(always_available, glsl_type::ivec2_type), \
-                _##NAME(always_available, glsl_type::ivec3_type), \
-                _##NAME(always_available, glsl_type::ivec4_type), \
+                _##NAME(v130, glsl_type::int_type),   \
+                _##NAME(v130, glsl_type::ivec2_type), \
+                _##NAME(v130, glsl_type::ivec3_type), \
+                _##NAME(v130, glsl_type::ivec4_type), \
                  _##NAME(fp64, glsl_type::double_type), \
                  _##NAME(fp64, glsl_type::dvec2_type),  \
                  _##NAME(fp64, glsl_type::dvec3_type),  \
@@ -1534,14 +1534,14 @@ builtin_builder::create_builtins()
                  _##NAME(always_available, glsl_type::vec3_type,  
glsl_type::vec3_type),  \
                  _##NAME(always_available, glsl_type::vec4_type,  
glsl_type::vec4_type),  \
                                                                                
           \
-                _##NAME(always_available, glsl_type::int_type,   
glsl_type::int_type),   \
-                _##NAME(always_available, glsl_type::ivec2_type, 
glsl_type::int_type),   \
-                _##NAME(always_available, glsl_type::ivec3_type, 
glsl_type::int_type),   \
-                _##NAME(always_available, glsl_type::ivec4_type, 
glsl_type::int_type),   \
+                _##NAME(v130, glsl_type::int_type,   glsl_type::int_type),   \
+                _##NAME(v130, glsl_type::ivec2_type, glsl_type::int_type),   \
+                _##NAME(v130, glsl_type::ivec3_type, glsl_type::int_type),   \
+                _##NAME(v130, glsl_type::ivec4_type, glsl_type::int_type),   \
                                                                                
           \
-                _##NAME(always_available, glsl_type::ivec2_type, 
glsl_type::ivec2_type), \
-                _##NAME(always_available, glsl_type::ivec3_type, 
glsl_type::ivec3_type), \
-                _##NAME(always_available, glsl_type::ivec4_type, 
glsl_type::ivec4_type), \
+                _##NAME(v130, glsl_type::ivec2_type, glsl_type::ivec2_type), \
+                _##NAME(v130, glsl_type::ivec3_type, glsl_type::ivec3_type), \
+                _##NAME(v130, glsl_type::ivec4_type, glsl_type::ivec4_type), \
                                                                                
           \
                  _##NAME(v130, glsl_type::uint_type,  glsl_type::uint_type),   
           \
                  _##NAME(v130, glsl_type::uvec2_type, glsl_type::uint_type),   
           \
@@ -1611,9 +1611,9 @@ builtin_builder::create_builtins()
     FI64(abs)
     FI64(sign)
     FD(floor)
-   FD(trunc)
-   FD(round)
-   FD(roundEven)
+   FD130(trunc)
+   FD130(round)
+   FD130(roundEven)
     FD(ceil)
     FD(fract)
@@ -1637,7 +1637,7 @@ builtin_builder::create_builtins()
                  _mod(fp64, glsl_type::dvec4_type,  glsl_type::dvec4_type),
                  NULL);
- FD(modf)
+   FD130(modf)
FIUD2_MIXED(min)
     FIUD2_MIXED(max)

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to