]> code.ossystems Code Review - meta-freescale.git/commitdiff
qtwebkit: Fix shader generation to be compliant to the specification
authorPrabhu Sundararaj <prabhu.sundararaj@freescale.com>
Mon, 12 May 2014 16:23:55 +0000 (11:23 -0500)
committerOtavio Salvador <otavio@ossystems.com.br>
Mon, 12 May 2014 16:40:32 +0000 (13:40 -0300)
QTWebkit generates shader which is not complaint to specification
causing error with Vivante shader compiler.

https://bugs.webkit.org/show_bug.cgi?id=124653#c9

Apply this patch till it get fixed in mainline.

Change-Id: I85cf1a2fcb7457807f43a763b011e0b5ad11e8e9
Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtwebkit/0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch [new file with mode: 0644]
meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend [new file with mode: 0644]

diff --git a/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtwebkit/0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch b/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtwebkit/0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch
new file mode 100644 (file)
index 0000000..80e55c7
--- /dev/null
@@ -0,0 +1,42 @@
+From 66dab98c3f42eb70a4c6761a8694e374b8578e99 Mon Sep 17 00:00:00 2001
+From: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
+Date: Thu, 8 May 2014 09:27:04 -0700
+Subject: [PATCH] Fix to match the uniform precision qualifiers in vertex and
+ fragment shaders
+
+When the vertex and fragment shaders are linked together, then they will
+share a single global uniform name space. Hence, types and precisions of
+uniforms with the same name must match across all shaders that are linked
+into a single executable.
+
+As per GLSL_ES_Specification_3.00.3.pdf
+Page 124 12.3 Numeric Precision
+The fragment language has no default precision qualifier for floating point types.
+Hence for float, floating point vector and matrix variable declarations, either
+the declaration must include a precision qualifier or the default float
+precision must have been previously declared.
+
+Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=124653#c9]
+
+Change-Id: I4eb3363b3bca8bc3c839212ec7c966201a3e65e2
+Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
+---
+ Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp b/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp
+index f4b9a7e..7e991bf 100644
+--- a/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp
++++ b/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp
+@@ -208,7 +208,7 @@ static const char* fragmentTemplate =
+     ANTIALIASING_TEX_COORD_DIRECTIVE
+     BLUR_CONSTANTS
+     STRINGIFY(
+-        precision mediump float;
++        precision highp float;
+         uniform SamplerType s_sampler;
+         uniform sampler2D s_contentTexture;
+         uniform float u_opacity;
+-- 
+1.9.1
+
diff --git a/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend b/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend
new file mode 100644 (file)
index 0000000..5d961e6
--- /dev/null
@@ -0,0 +1,4 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch"
+