Timo Aaltonen pushed to branch debian-unstable at X Strike Force / lib / mesa
Commits:
-
e17a7a62
by Timo Aaltonen at 2020-04-15T09:29:17+03:00
-
e528e363
by Timo Aaltonen at 2020-04-15T09:53:42+03:00
-
1b239de5
by Timo Aaltonen at 2020-04-15T10:16:22+03:00
-
80cea669
by Timo Aaltonen at 2020-04-15T10:17:47+03:00
6 changed files:
- debian/changelog
- debian/control
- + debian/patches/fix-build-with-llvm-10.diff
- + debian/patches/gallium-fix-bob-compute-shaders.diff
- + debian/patches/iris-drop-cache-coherent-cpu-mapping.diff
- debian/patches/series
Changes:
1 |
+mesa (20.0.4-2) unstable; urgency=medium
|
|
2 |
+ |
|
3 |
+ * fix-build-with-llvm-10.diff: Add a patch to fix build with Polly,
|
|
4 |
+ and build with llvm-10 again. (Closes: #956004)
|
|
5 |
+ * iris-drop-cache-coherent-cpu-mapping.diff: Fix corruption with iris
|
|
6 |
+ (Closes: #954311) (LP: #1864274)
|
|
7 |
+ * gallium-fix-bob-compute-shaders.diff: Fix vaapi with bob
|
|
8 |
+ deinterlacing. (LP: #1867188)
|
|
9 |
+ |
|
10 |
+ -- Timo Aaltonen <tjaalton@debian.org> Wed, 15 Apr 2020 10:16:24 +0300
|
|
11 |
+ |
|
1 | 12 |
mesa (20.0.4-1) unstable; urgency=medium
|
2 | 13 |
|
3 | 14 |
* New upstream release.
|
... | ... | @@ -39,12 +39,12 @@ Build-Depends: |
39 | 39 |
python3-setuptools,
|
40 | 40 |
flex,
|
41 | 41 |
bison,
|
42 |
- llvm-9-dev (>= 1:9~+rc3-1~exp3) [amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mips64el mipsel powerpc ppc64 ppc64el s390x sparc64],
|
|
43 | 42 |
libelf-dev [amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mips64el mipsel powerpc ppc64 ppc64el s390x sparc64],
|
44 | 43 |
libwayland-dev (>= 1.15.0) [linux-any],
|
45 | 44 |
libwayland-egl-backend-dev (>= 1.15.0) [linux-any],
|
46 |
- libclang-9-dev (>= 1:9~+rc3-1~exp3) [amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mips64el mipsel powerpc ppc64 ppc64el s390x sparc64],
|
|
47 |
- libclc-dev (>= 0.2.0+git20190827-1~) [amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mips64el mipsel powerpc ppc64 ppc64el s390x sparc64],
|
|
45 |
+ llvm-10-dev (>= 1:10.0.0-4~) [amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mips64el mipsel powerpc ppc64 ppc64el s390x sparc64],
|
|
46 |
+ libclang-10-dev (>= 1:10.0.0-4~) [amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mips64el mipsel powerpc ppc64 ppc64el s390x sparc64],
|
|
47 |
+ libclc-dev (>= 0.2.0+git20190827-5~) [amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mips64el mipsel powerpc ppc64 ppc64el s390x sparc64],
|
|
48 | 48 |
wayland-protocols (>= 1.9),
|
49 | 49 |
zlib1g-dev,
|
50 | 50 |
libglvnd-dev (>= 1.3.0),
|
1 |
+--- a/src/gallium/targets/opencl/meson.build
|
|
2 |
++++ b/src/gallium/targets/opencl/meson.build
|
|
3 |
+@@ -33,6 +33,13 @@ llvm_libdir = dep_llvm.get_configtool_va
|
|
4 |
+
|
|
5 |
+ opencl_libname = with_opencl_icd ? 'MesaOpenCL' : 'OpenCL'
|
|
6 |
+
|
|
7 |
++polly_dep = null_dep
|
|
8 |
++polly_isl_dep = null_dep
|
|
9 |
++if dep_llvm.version().version_compare('>=10.0.0')
|
|
10 |
++ polly_dep = cpp.find_library('Polly', dirs : llvm_libdir, required : false)
|
|
11 |
++ polly_isl_dep = cpp.find_library('PollyISL', dirs : llvm_libdir, required : false)
|
|
12 |
++endif
|
|
13 |
++
|
|
14 |
+ libopencl = shared_library(
|
|
15 |
+ opencl_libname,
|
|
16 |
+ [],
|
|
17 |
+@@ -56,6 +63,7 @@ libopencl = shared_library(
|
|
18 |
+ cpp.find_library('clangEdit', dirs : llvm_libdir),
|
|
19 |
+ cpp.find_library('clangLex', dirs : llvm_libdir),
|
|
20 |
+ cpp.find_library('clangBasic', dirs : llvm_libdir),
|
|
21 |
++ polly_dep, polly_isl_dep,
|
|
22 |
+ ],
|
|
23 |
+ version : '@0@.0.0'.format(opencl_version),
|
|
24 |
+ install : true,
|
1 |
+commit ce2921a9c3bf0c41c795bb605bc88afc152ead55
|
|
2 |
+Author: Thong Thai <thong.thai@amd.com>
|
|
3 |
+Date: Tue Feb 18 12:11:39 2020 -0500
|
|
4 |
+ |
|
5 |
+ gallium/auxiliary/vl: fix bob compute shaders for deint yuv
|
|
6 |
+
|
|
7 |
+ Scales the Y-axis by 2 when using the Bob deinterlace filter.
|
|
8 |
+
|
|
9 |
+ Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2523
|
|
10 |
+ Signed-off-by: Thong Thai <thong.thai@amd.com>
|
|
11 |
+ Reviewed-by: Marek Olšák <marek.olsak@amd.com>
|
|
12 |
+ Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3857>
|
|
13 |
+ Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3857>
|
|
14 |
+ (cherry picked from commit c81aa15d646215eac38c8e0b6dc1a10b35bc13c3)
|
|
15 |
+ |
|
16 |
+diff --git a/.pick_status.json b/.pick_status.json
|
|
17 |
+index 1d19040a311..cc1f57008cc 100644
|
|
18 |
+--- a/.pick_status.json
|
|
19 |
++++ b/.pick_status.json
|
|
20 |
+@@ -13738,7 +13738,7 @@
|
|
21 |
+ "description": "gallium/auxiliary/vl: fix bob compute shaders for deint yuv",
|
|
22 |
+ "nominated": false,
|
|
23 |
+ "nomination_type": null,
|
|
24 |
+- "resolution": 4,
|
|
25 |
++ "resolution": 1,
|
|
26 |
+ "master_sha": null,
|
|
27 |
+ "because_sha": null
|
|
28 |
+ },
|
|
29 |
+diff --git a/src/gallium/auxiliary/vl/vl_compositor_cs.c b/src/gallium/auxiliary/vl/vl_compositor_cs.c
|
|
30 |
+index e2bd06a870c..73576f066ee 100644
|
|
31 |
+--- a/src/gallium/auxiliary/vl/vl_compositor_cs.c
|
|
32 |
++++ b/src/gallium/auxiliary/vl/vl_compositor_cs.c
|
|
33 |
+@@ -514,7 +514,9 @@ static const char *compute_shader_yuv_bob_y =
|
|
34 |
+
|
|
35 |
+ /* Scale */
|
|
36 |
+ "DIV TEMP[2], TEMP[2], CONST[3].zwzw\n"
|
|
37 |
++ "DIV TEMP[2], TEMP[2], IMM[1].xyxy\n"
|
|
38 |
+ "DIV TEMP[3], TEMP[3], CONST[3].zwzw\n"
|
|
39 |
++ "DIV TEMP[3], TEMP[3], IMM[1].xyxy\n"
|
|
40 |
+
|
|
41 |
+ /* Fetch texels */
|
|
42 |
+ "TEX_LZ TEMP[4].x, TEMP[2], SAMP[0], RECT\n"
|
|
43 |
+@@ -564,7 +566,9 @@ static const char *compute_shader_yuv_bob_uv =
|
|
44 |
+
|
|
45 |
+ /* Scale */
|
|
46 |
+ "DIV TEMP[2], TEMP[2], CONST[3].zwzw\n"
|
|
47 |
++ "DIV TEMP[2], TEMP[2], IMM[1].xyxy\n"
|
|
48 |
+ "DIV TEMP[3], TEMP[3], CONST[3].zwzw\n"
|
|
49 |
++ "DIV TEMP[3], TEMP[3], IMM[1].xyxy\n"
|
|
50 |
+
|
|
51 |
+ /* Fetch texels */
|
|
52 |
+ "TEX_LZ TEMP[4].x, TEMP[2], SAMP[0], RECT\n"
|
1 |
+From fbd09ac5ae8a52e198e6f58c51243c06941e7ffb Mon Sep 17 00:00:00 2001
|
|
2 |
+From: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
|
|
3 |
+Date: Mon, 13 Apr 2020 18:14:24 +0300
|
|
4 |
+Subject: [PATCH] iris: drop cache coherent cpu mapping for external BO
|
|
5 |
+MIME-Version: 1.0
|
|
6 |
+Content-Type: text/plain; charset=UTF-8
|
|
7 |
+Content-Transfer-Encoding: 8bit
|
|
8 |
+ |
|
9 |
+We have to assume any external buffer could be used by the display HW.
|
|
10 |
+In the case that buffer is also CPU mapped, we want to assume no cache
|
|
11 |
+coherency as it is only available between GT & CPU, not display.
|
|
12 |
+ |
|
13 |
+Many thanks to Michel Dänzer for the hint!
|
|
14 |
+ |
|
15 |
+v2: Move cache coherent drop to bufmgr (Chris)
|
|
16 |
+ |
|
17 |
+v3: Also make BO external if created with PIPE_BIND_SHARED (Eric)
|
|
18 |
+ |
|
19 |
+Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
|
|
20 |
+Cc: <mesa-stable@lists.freedesktop.org>
|
|
21 |
+Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2552
|
|
22 |
+---
|
|
23 |
+ src/gallium/drivers/iris/iris_bufmgr.c | 7 ++++++-
|
|
24 |
+ src/gallium/drivers/iris/iris_bufmgr.h | 7 +++++++
|
|
25 |
+ src/gallium/drivers/iris/iris_resource.c | 6 ++++++
|
|
26 |
+ 3 files changed, 19 insertions(+), 1 deletion(-)
|
|
27 |
+ |
|
28 |
+diff --git a/src/gallium/drivers/iris/iris_bufmgr.c b/src/gallium/drivers/iris/iris_bufmgr.c
|
|
29 |
+index ca8db31aed3..c333f7bdaee 100644
|
|
30 |
+--- a/src/gallium/drivers/iris/iris_bufmgr.c
|
|
31 |
++++ b/src/gallium/drivers/iris/iris_bufmgr.c
|
|
32 |
+@@ -1376,12 +1376,17 @@ iris_bo_make_external_locked(struct iris_bo *bo)
|
|
33 |
+ {
|
|
34 |
+ if (!bo->external) {
|
|
35 |
+ _mesa_hash_table_insert(bo->bufmgr->handle_table, &bo->gem_handle, bo);
|
|
36 |
++ /* If a BO is going to be used externally, it could be sent to the
|
|
37 |
++ * display HW. So make sure our CPU mappings don't assume cache
|
|
38 |
++ * coherency since display is outside that cache.
|
|
39 |
++ */
|
|
40 |
++ bo->cache_coherent = false;
|
|
41 |
+ bo->external = true;
|
|
42 |
+ bo->reusable = false;
|
|
43 |
+ }
|
|
44 |
+ }
|
|
45 |
+
|
|
46 |
+-static void
|
|
47 |
++void
|
|
48 |
+ iris_bo_make_external(struct iris_bo *bo)
|
|
49 |
+ {
|
|
50 |
+ struct iris_bufmgr *bufmgr = bo->bufmgr;
|
|
51 |
+diff --git a/src/gallium/drivers/iris/iris_bufmgr.h b/src/gallium/drivers/iris/iris_bufmgr.h
|
|
52 |
+index caeba61a650..6f4bcbf5e56 100644
|
|
53 |
+--- a/src/gallium/drivers/iris/iris_bufmgr.h
|
|
54 |
++++ b/src/gallium/drivers/iris/iris_bufmgr.h
|
|
55 |
+@@ -309,6 +309,13 @@ int iris_bo_get_tiling(struct iris_bo *bo, uint32_t *tiling_mode,
|
|
56 |
+ */
|
|
57 |
+ int iris_bo_flink(struct iris_bo *bo, uint32_t *name);
|
|
58 |
+
|
|
59 |
++/**
|
|
60 |
++ * Make a BO externally accessible.
|
|
61 |
++ *
|
|
62 |
++ * \param bo Buffer to make external
|
|
63 |
++ */
|
|
64 |
++void iris_bo_make_external(struct iris_bo *bo);
|
|
65 |
++
|
|
66 |
+ /**
|
|
67 |
+ * Returns 1 if mapping the buffer for write could cause the process
|
|
68 |
+ * to block, due to the object being active in the GPU.
|
|
69 |
+diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c
|
|
70 |
+index 40655bb4032..3476809529d 100644
|
|
71 |
+--- a/src/gallium/drivers/iris/iris_resource.c
|
|
72 |
++++ b/src/gallium/drivers/iris/iris_resource.c
|
|
73 |
+@@ -801,6 +801,9 @@ iris_resource_create_for_buffer(struct pipe_screen *pscreen,
|
|
74 |
+ return NULL;
|
|
75 |
+ }
|
|
76 |
+
|
|
77 |
++ if (templ->bind & PIPE_BIND_SHARED)
|
|
78 |
++ iris_bo_make_external(res->bo);
|
|
79 |
++
|
|
80 |
+ return &res->base;
|
|
81 |
+ }
|
|
82 |
+
|
|
83 |
+@@ -924,6 +927,9 @@ iris_resource_create_with_modifiers(struct pipe_screen *pscreen,
|
|
84 |
+ map_aux_addresses(screen, res);
|
|
85 |
+ }
|
|
86 |
+
|
|
87 |
++ if (templ->bind & PIPE_BIND_SHARED)
|
|
88 |
++ iris_bo_make_external(res->bo);
|
|
89 |
++
|
|
90 |
+ return &res->base;
|
|
91 |
+
|
|
92 |
+ fail:
|
|
93 |
+--
|
|
94 |
+2.24.1
|
|
95 |
+ |
1 | 1 |
07_gallium-fix-build-failure-on-powerpcspe.diff
|
2 | 2 |
fix-python-shebang.diff
|
3 | 3 |
path_max.diff
|
4 |
+fix-build-with-llvm-10.diff
|
|
5 |
+iris-drop-cache-coherent-cpu-mapping.diff
|
|
6 |
+gallium-fix-bob-compute-shaders.diff
|