[Mesa-dev] [PATCH v2] glsl: Correct several built-in functions availability
Vadym Shovkoplias
vadim.shovkoplias at gmail.com
Wed Oct 31 18:37:01 UTC 2018
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.shovkoplias at 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)
--
2.19.1
More information about the mesa-dev
mailing list