Trunc shader function fixed

the 'trunc' function was comparing integers with floats using the '>' operator, which is not supported in Android. This issue is now gone.

(cherry picked from commit 9f68b4fea3)
This commit is contained in:
Lucas Ângelo 2021-12-18 17:50:58 -03:00 committed by Rémi Verschelde
parent cc7cb73b9f
commit 9fb60b3e4e
1 changed files with 4 additions and 4 deletions

View File

@ -259,19 +259,19 @@ bvec4 isnan(highp vec4 x) {
#if defined(TRUNC_USED) #if defined(TRUNC_USED)
highp float trunc(highp float x) { highp float trunc(highp float x) {
return x < 0 ? -floor(-x) : floor(x); return x < 0.0 ? -floor(-x) : floor(x);
} }
highp vec2 trunc(highp vec2 x) { highp vec2 trunc(highp vec2 x) {
return vec2(x.x < 0 ? -floor(-x.x) : floor(x.x), x.y < 0 ? -floor(-x.y) : floor(x.y)); return vec2(x.x < 0.0 ? -floor(-x.x) : floor(x.x), x.y < 0.0 ? -floor(-x.y) : floor(x.y));
} }
highp vec3 trunc(highp vec3 x) { highp vec3 trunc(highp vec3 x) {
return vec3(x.x < 0 ? -floor(-x.x) : floor(x.x), x.y < 0 ? -floor(-x.y) : floor(x.y), x.z < 0 ? -floor(-x.z) : floor(x.z)); return vec3(x.x < 0.0 ? -floor(-x.x) : floor(x.x), x.y < 0.0 ? -floor(-x.y) : floor(x.y), x.z < 0.0 ? -floor(-x.z) : floor(x.z));
} }
highp vec4 trunc(highp vec4 x) { highp vec4 trunc(highp vec4 x) {
return vec4(x.x < 0 ? -floor(-x.x) : floor(x.x), x.y < 0 ? -floor(-x.y) : floor(x.y), x.z < 0 ? -floor(-x.z) : floor(x.z), x.w < 0 ? -floor(-x.w) : floor(x.w)); return vec4(x.x < 0.0 ? -floor(-x.x) : floor(x.x), x.y < 0.0 ? -floor(-x.y) : floor(x.y), x.z < 0.0 ? -floor(-x.z) : floor(x.z), x.w < 0.0 ? -floor(-x.w) : floor(x.w));
} }
#endif #endif