[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Git][xorg-team/lib/mesa][debian-unstable] 4 commits: fix-build-with-llvm-10.diff: Add a patch to fix build with Polly, and build with llvm-10 again.



Title: GitLab

Timo Aaltonen pushed to branch debian-unstable at X Strike Force / lib / mesa

Commits:

6 changed files:

Changes:

  • debian/changelog
    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.
    

  • debian/control
    ... ... @@ -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),
    

  • debian/patches/fix-build-with-llvm-10.diff
    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,

  • debian/patches/gallium-fix-bob-compute-shaders.diff
    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"

  • debian/patches/iris-drop-cache-coherent-cpu-mapping.diff
    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
    +

  • debian/patches/series
    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


  • Reply to: