From 6c01b9dca27ff2c16f375a79471e305bc9296eee Mon Sep 17 00:00:00 2001 From: Fabian Bumberger Date: Fri, 9 Nov 2012 14:10:27 +0100 Subject: Blackberry: Workaround for GLSL compiler bug. Change-Id: If3ce968c0a0a2af4244671fe028a560843c9016a Reviewed-by: Sean Harmer --- src/particles/qquickcustomparticle.cpp | 5 +++++ src/particles/qquickimageparticle.cpp | 5 +++++ 2 files changed, 10 insertions(+) (limited to 'src') diff --git a/src/particles/qquickcustomparticle.cpp b/src/particles/qquickcustomparticle.cpp index 83eb8c0853..80e2118bde 100644 --- a/src/particles/qquickcustomparticle.cpp +++ b/src/particles/qquickcustomparticle.cpp @@ -60,7 +60,12 @@ static const char qt_particles_template_vertex_code[] = " highp float size = qt_ParticleData.z;\n" " highp float endSize = qt_ParticleData.w;\n" " highp float t = (qt_Timestamp - qt_ParticleData.x) / qt_ParticleData.y;\n" +#if !defined(Q_OS_BLACKBERRY) " highp float currentSize = mix(size, endSize, t * t);\n" +#else + " highp float mixWorkaround = (endSize - size) * t * t;\n" + " highp float currentSize = mixWorkaround + size;\n" +#endif " if (t < 0. || t > 1.)\n" " currentSize = 0.;\n" " highp vec2 pos = qt_ParticlePos\n" diff --git a/src/particles/qquickimageparticle.cpp b/src/particles/qquickimageparticle.cpp index 4f8c5a091c..1ba9192273 100644 --- a/src/particles/qquickimageparticle.cpp +++ b/src/particles/qquickimageparticle.cpp @@ -127,7 +127,12 @@ static const char vertexShaderCode[] = "#elif defined(DEFORM)\n" " fTex = vPosTex.zw;\n" "#endif\n" +#if !defined(Q_OS_BLACKBERRY) " highp float currentSize = mix(vData.z, vData.w, t * t);\n" +#else + " highp float mixWorkaround = (vData.w - vData.z) * t * t;\n" + " highp float currentSize = mixWorkaround + vData.z;\n" +#endif " lowp float fade = 1.;\n" " highp float fadeIn = min(t * 10., 1.);\n" " highp float fadeOut = 1. - clamp((t - 0.75) * 4.,0., 1.);\n" -- cgit v1.2.3