diff options
author | zhengruoqin <zhengrq.fnst@cn.fujitsu.com> | 2021-03-19 18:35:49 +0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2021-03-19 01:19:14 -0700 |
commit | f89473d972f25783357fb94e939e2321240daaa5 (patch) | |
tree | 3ff7b9f58d0c3f2db19dc26c4bc858c68b0c6754 /meta-oe/recipes-benchmark | |
parent | a8d0838fa7f10efea4b6f900bfd61cc259098ea4 (diff) | |
download | meta-openembedded-f89473d972f25783357fb94e939e2321240daaa5.tar.gz |
glmark2: upgrade 20201114 -> 2021.02
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-benchmark')
-rw-r--r-- | meta-oe/recipes-benchmark/glmark2/files/0003-fix-precision-handling-bugs.patch | 138 | ||||
-rw-r--r-- | meta-oe/recipes-benchmark/glmark2/glmark2_git.bb | 5 |
2 files changed, 2 insertions, 141 deletions
diff --git a/meta-oe/recipes-benchmark/glmark2/files/0003-fix-precision-handling-bugs.patch b/meta-oe/recipes-benchmark/glmark2/files/0003-fix-precision-handling-bugs.patch deleted file mode 100644 index af88f6cd23..0000000000 --- a/meta-oe/recipes-benchmark/glmark2/files/0003-fix-precision-handling-bugs.patch +++ /dev/null @@ -1,138 +0,0 @@ -From 90e837ffd1ff5c9add1074d69de23e58a3a4810e Mon Sep 17 00:00:00 2001 -From: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> -Date: Wed, 11 Nov 2020 09:26:03 -0500 -Subject: [PATCH 1/3] terrain: Fix precision bug in light rendering - -Resulting in overly bright rendering when mediump is implemented as -fp16. - -Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> ---- - data/shaders/terrain.frag | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/data/shaders/terrain.frag b/data/shaders/terrain.frag -index 84d085c..58f17ea 100644 ---- a/data/shaders/terrain.frag -+++ b/data/shaders/terrain.frag -@@ -67,7 +67,12 @@ void main() { - vec3 pointSpecular = vec3( 0.0 ); - for ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) { - vec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 ); -+#ifdef GL_FRAGMENT_PRECISION_HIGH -+ // should be highp for correct behaviour if mediump is implemented as fp16 -+ highp vec3 lVector = lPosition.xyz + vViewPosition.xyz; -+#else - vec3 lVector = lPosition.xyz + vViewPosition.xyz; -+#endif - float lDistance = 1.0; - if ( pointLightDistance[ i ] > 0.0 ) - lDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 ); - -From 1edd76fda77edabd49d713912aee49b8360c86c3 Mon Sep 17 00:00:00 2001 -From: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> -Date: Wed, 11 Nov 2020 09:49:52 -0500 -Subject: [PATCH 2/3] terrain: Fix precision handling in noise shader - -Another overflow resulting in infinity in mediump. Note this bug is -masked if the driver clamps infinity to MAX_FLOAT, but it's still our -bug. - -Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> ---- - data/shaders/terrain-noise.frag | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/data/shaders/terrain-noise.frag b/data/shaders/terrain-noise.frag -index 7fea5c0..9535e58 100644 ---- a/data/shaders/terrain-noise.frag -+++ b/data/shaders/terrain-noise.frag -@@ -17,7 +17,13 @@ uniform float time; - uniform MEDIUMP vec2 uvScale; - varying vec2 vUv; - -+#ifdef GL_FRAGMENT_PRECISION_HIGH -+// x should be passed as highp since the intermediate multiplications can -+// overflow with mediump -+vec4 permute(highp vec4 x) -+#else - vec4 permute(vec4 x) -+#endif - { - return mod(((x * 34.0) + 1.0) * x, 289.0); - } - -From e866cc633ffc450e5358b2742f32ca360e4f3f12 Mon Sep 17 00:00:00 2001 -From: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> -Date: Wed, 11 Nov 2020 09:35:21 -0500 -Subject: [PATCH 3/3] loop,function,conditionals: Fix mediump overflow - -The multiplication can produce infinity. - -Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> ---- - data/shaders/conditionals.frag | 9 ++++++++- - data/shaders/function.frag | 9 ++++++++- - data/shaders/loop.frag | 9 ++++++++- - 3 files changed, 24 insertions(+), 3 deletions(-) - -diff --git a/data/shaders/conditionals.frag b/data/shaders/conditionals.frag -index 3bd2507..e902263 100644 ---- a/data/shaders/conditionals.frag -+++ b/data/shaders/conditionals.frag -@@ -2,7 +2,14 @@ varying vec4 dummy; - - void main(void) - { -- float d = fract(gl_FragCoord.x * gl_FragCoord.y * 0.0001); -+#ifdef GL_FRAGMENT_PRECISION_HIGH -+ // should be declared highp since the multiplication can overflow in -+ // mediump, particularly if mediump is implemented as fp16 -+ highp vec2 FragCoord = gl_FragCoord.xy; -+#else -+ vec2 FragCoord = gl_FragCoord.xy; -+#endif -+ float d = fract(FragCoord.x * FragCoord.y * 0.0001); - - $MAIN$ - -diff --git a/data/shaders/function.frag b/data/shaders/function.frag -index 3e3c74f..9d0230e 100644 ---- a/data/shaders/function.frag -+++ b/data/shaders/function.frag -@@ -8,7 +8,14 @@ $PROCESS$ - - void main(void) - { -- float d = fract(gl_FragCoord.x * gl_FragCoord.y * 0.0001); -+#ifdef GL_FRAGMENT_PRECISION_HIGH -+ // should be declared highp since the multiplication can overflow in -+ // mediump, particularly if mediump is implemented as fp16 -+ highp vec2 FragCoord = gl_FragCoord.xy; -+#else -+ vec2 FragCoord = gl_FragCoord.xy; -+#endif -+ float d = fract(FragCoord.x * FragCoord.y * 0.0001); - - $MAIN$ - -diff --git a/data/shaders/loop.frag b/data/shaders/loop.frag -index 31ae23e..9a6afd2 100644 ---- a/data/shaders/loop.frag -+++ b/data/shaders/loop.frag -@@ -3,7 +3,14 @@ uniform int FragmentLoops; - - void main(void) - { -- float d = fract(gl_FragCoord.x * gl_FragCoord.y * 0.0001); -+#ifdef GL_FRAGMENT_PRECISION_HIGH -+ // should be declared highp since the multiplication can overflow in -+ // mediump, particularly if mediump is implemented as fp16 -+ highp vec2 FragCoord = gl_FragCoord.xy; -+#else -+ vec2 FragCoord = gl_FragCoord.xy; -+#endif -+ float d = fract(FragCoord.x * FragCoord.y * 0.0001); - - $MAIN$ - diff --git a/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb b/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb index a5872f4354..509c5cc403 100644 --- a/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb +++ b/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb @@ -11,15 +11,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ DEPENDS = "libpng jpeg udev" DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland-native', '', d)}" -PV = "20201114+${SRCPV}" +PV = "2021.02+${SRCPV}" SRC_URI = " \ git://github.com/glmark2/glmark2.git;protocol=https \ file://0001-fix-dispmanx-build.patch \ file://0002-run-dispmanx-fullscreen.patch \ - file://0003-fix-precision-handling-bugs.patch \ " -SRCREV = "784aca755a469b144acf3cae180b6e613b7b057a" +SRCREV = "4b2bbe803576d48f08367aa5441740f9319c21e7" S = "${WORKDIR}/git" |