aboutsummaryrefslogtreecommitdiffstats
path: root/src/particles
diff options
context:
space:
mode:
authorFabian Bumberger <fbumberger@rim.com>2012-11-09 14:10:27 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-09 17:11:07 +0100
commit6c01b9dca27ff2c16f375a79471e305bc9296eee (patch)
tree2c71d65061e49af899bfd8a77fd61c037a4e8eaa /src/particles
parentfdcde738e585ea0e9912215901e36590ebba7fdf (diff)
Blackberry: Workaround for GLSL compiler bug.
Change-Id: If3ce968c0a0a2af4244671fe028a560843c9016a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/particles')
-rw-r--r--src/particles/qquickcustomparticle.cpp5
-rw-r--r--src/particles/qquickimageparticle.cpp5
2 files changed, 10 insertions, 0 deletions
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"