mesa: upgrade 21.1.5 -> 21.1.7

Joshua's vc4/v3d/dma-patch was applied in 21.1.7

Release notes 21.1.7:

Bug fixes
    Miscompilation of a switch case
    [radeonsi][regression] CPU is being used ~10 times more than usual after c5478f9067f.
    dEQP-VK.wsi.android.swapchain.create#image_swapchain_create_info crash on Android R
    The image is distorted while use iGPU(Intel GPU) rendering and output via dGPU (AMD GPU)
    lima: regression in plbu scissors cmd
    Incorrect rendering
Changes
    pan/bi: Restrict swizzles on same cycle temporaries
    nir/lower_mediump_io: Don’t remap base unless needed
    nir/lower_mediump: Fix metadata in all passes
    util/fossilize_db: Update parsed_offset correctly.
    util/fossilize_db: Reset file position to parsed_offset on cache_offset read failure.
    util/fossilize_db: Flush files after header write.
    util/fossilize_db: Be conservative about header length check for locking.
    util/fossilize_db: Only allocate entries after full read.
    util/fossilize_db: Use uint64_t for file size.
    util/fossilize_db: Unlock the cache file if the entry already exists.
    util/fossilize_db: Add extra flock mutex.
    radv: Allocate space for inline push constants.
    vulkan/wsi/x11: do not inherit last_present_mode
    ir3: Preserve gl_ViewportIndex in the binning shader
    teximage: return correct desktop GL error for compressedteximage
    intel/fs: restrict max push length on older GPUs to a smaller amount
    virgl: disable anisotropic filtering.
    freedreno/ir3: Add build id to the disassembler test
    .pick_status.json: Update to 7055282231cdad23e7b23fb49a2f953a99797f8a
    .pick_status.json: Update to 2f06642b06c94f07f4bfe3df32b25659428c9144
    .pick_status.json: Mark 6ccf11ac2b951963407601b5b1109b45a972e48e as denominated
    .pick_status.json: Update to 2f06642b06c94f07f4bfe3df32b25659428c9144
    .pick_status.json: Update to 353e6323936b812884fa677c25bdba91554881b7
    .pick_status.json: Update to 4128acdee32eadfef1fb8c3c3ce2e512a267cdf4
    pick-ui: drop assert that optional argument is passed
    pick-ui: show nomination type in the UI
    pick-ui: show commit date
    lima: avoid crash with negative viewport values
    zink: make codegen compatible with python 3.5
    mesa/main: Check for fbo attachments when importing EGL images to textures
    v3d, vc4: Fix dmabuf import for non-scanout buffers
    gallium/hud: initialize query
    nv30: fix emulated vertex index buffers
    gallium: Reset {d,r}Priv in dri_unbind_context
    loader/dri3: create linear buffer with scanout support
    anv: fix submission batching with perf queries
    anv: don’t try to access Android swapchains
    renderonly: don’t complain when GPU import fails
    etnaviv: always try to create KMS side handles for imported resources
    glsl: evaluate switch expression once
    zink: use array size in spirv bo length calculations
    etnaviv: fix gbm_bo_get_handle_for_plane for multiplanar images
    clover/spirv: Properly size 3-component vector args
    clover/nir: Set constant buffer pointer size to host
    gallium/va: don’t use key=NULL in hash tables
    amd/registers: fix fields conflict detection
    radeonsi: don’t create an infinite number of variants
    nir/algebraic: fix imod by negative power-of-two
    radv: fix selecting the first active CU when profiling with SQTT
    etnaviv: fix renderonly check in etna_resource_alloc
    etnaviv: fail in get_handle(TYPE_KMS) without a scanout resource
    freedreno: fail in get_handle(TYPE_KMS) without a scanout resource
    panfrost: fail in get_handle(TYPE_KMS) without a scanout resource
    lima: fail in get_handle(TYPE_KMS) without a scanout resource
    nine: Fix assert in tx_src_param
    intel/compiler: make sure swizzle is applied to if condition
    glsl: Add operator for .length() method on implicitly-sized arrays
    glsl: Properly handle .length() of an unsized array
    gallium/vl: don’t leak fd in vl_dri3_screen_create

Release notes 21.1.6:

Bug fixes
    [RADV] FSR in Resident Evil: Village looks very pixelated on Polaris
    Crash in update_buffers after closing KDE “splash screen” downloader
    Crash in update_buffers after closing KDE “splash screen” downloader
    radeonsi: persistent, read-only buffer maps are slow to read
    substance painter flickering with jagged texture and masks shown black
    radv: FP16 mode in FidelityFX FSR doesn’t look right
    [RADV] Blocky corruption in Scarlet Nexus and vkd3d-proton 2.4
    Radeon RX580 and 5700 XT: Reloading ARB assembly shaders causes very glitchy rendering

Changes
    targets/graw-xlib: Add missing dep_x11
    egl/surfaceless: try kms_swrast before swrast
    meson: allow egl_native_platform to be specified
    freedreno/computerator: Fix local_size typo
    aco/optimizer: ensure to not erase high bits when propagating packed constants
    egl/wayland: Error on invalid native window
    egl/wayland: Allow EGLSurface to outlive wl_egl_window
    softpipe/aniso: move DDQ calculation to after scaling.
    llvmpipe: add support for time elapsed queries.
    .pick_status.json: Mark a9c9a9938d6d2ead6f08ccf5256c95801fbc864f as backported
    .pick_status.json: Update to 376fb4f55f080929df8ca5a2a975fc88a00eec06
    .pick_status.json: Update to 1d6c790f9f6c373e667de955822b1048c7073ba3
    .pick_status.json: Update to 73262d4bd4a4637a332264a165c62ce3209d03fb
    zink: remove duplicate format-mapping on little-endian
    vulkan: do not map zero-sized region of memory
    vulkan: allocate host-visible memory for swapchain images
    nir/gcm: Clear out pass_flags before starting
    iris: Re-emit MEDIA_VFE_STATE for variable group size shaders
    anv: Handle errors properly in anv_i915_query
    v3d/driconf: Expose non-MSAA texture limits for mutter and gnome-shell
    lavapipe: Use common Vulkan format helpers
    broadcom/compiler: emit TMU flush before a jump
    nv50/ir/nir: fix smem size for GL
    radeonsi: don’t expose no-attachment MSAA 16x on all 1 RB chips due to issues
    st/mesa: always use PIPE_USAGE_STAGING for GL_MAP_READ_BIT usage
    egl/android: include “util/compiler.h” for FALLTHROUGH macro
    util/foz: stop crashing on destroy if prepare hasn’t been called
    radeonsi: Check aux_context on si_destroy_screen()
    mesa: clear shader_info::is_lowered in prog_to_nir
    mesa: fix bindless uniform samplers update
    aco: don’t create v_madmk_f32/v_madak_f32 from v_fma_legacy_f16
    freedreno/ir3: Don’t force RTNE if rounding mode is undefined
    radv: only init the TC-compat ZRANGE metadata for the depth aspect
    glsl: replace some C++ code with C
    util: add workaround for Full Bore
    glsl: relax rule on varying matching for shaders older than 4.20
    lima: handle fp16 vertex formats

(From OE-Core rev: ce202e5f3f0eaceec2e23ebd1697f73c9fa00aaf)

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Andreas Müller
2021-08-17 16:32:54 +02:00
committed by Richard Purdie
parent 48960ce562
commit 5f39beb7cc
4 changed files with 1 additions and 74 deletions

View File

@@ -1,72 +0,0 @@
From 303c02a31df4e2b8f6090e75982922a9cba33e4c Mon Sep 17 00:00:00 2001
From: Joshua Watt <JPEWhacker@gmail.com>
Date: Tue, 27 Jul 2021 11:41:53 -0500
Subject: [PATCH] v3d, vc4: Fix dmabuf import for non-scanout buffers
Failure to create a buffer for scanout should not be fatal when
importing a buffer. Buffers allocated from a render-only device may not
be able to scanned out directly but can still be used for other
rendering purposes (e.g. as a texture).
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12081]
---
src/gallium/drivers/v3d/v3d_resource.c | 13 +++++--------
src/gallium/drivers/vc4/vc4_resource.c | 3 ---
2 files changed, 5 insertions(+), 11 deletions(-)
diff --git a/src/gallium/drivers/v3d/v3d_resource.c b/src/gallium/drivers/v3d/v3d_resource.c
index 602ba6d8447..02dc29ae6a0 100644
--- a/src/gallium/drivers/v3d/v3d_resource.c
+++ b/src/gallium/drivers/v3d/v3d_resource.c
@@ -433,10 +433,11 @@ v3d_resource_get_handle(struct pipe_screen *pscreen,
return v3d_bo_flink(bo, &whandle->handle);
case WINSYS_HANDLE_TYPE_KMS:
if (screen->ro) {
- assert(rsc->scanout);
- bool ok = renderonly_get_handle(rsc->scanout, whandle);
- whandle->stride = rsc->slices[0].stride;
- return ok;
+ if (renderonly_get_handle(rsc->scanout, whandle)) {
+ whandle->stride = rsc->slices[0].stride;
+ return true;
+ }
+ return false;
}
whandle->handle = bo->handle;
return true;
@@ -929,10 +930,6 @@ v3d_resource_from_handle(struct pipe_screen *pscreen,
renderonly_create_gpu_import_for_resource(prsc,
screen->ro,
NULL);
- if (!rsc->scanout) {
- fprintf(stderr, "Failed to create scanout resource.\n");
- goto fail;
- }
}
if (rsc->tiled && whandle->stride != slice->stride) {
diff --git a/src/gallium/drivers/vc4/vc4_resource.c b/src/gallium/drivers/vc4/vc4_resource.c
index 61e5fd7e5a6..bf3f7656ff8 100644
--- a/src/gallium/drivers/vc4/vc4_resource.c
+++ b/src/gallium/drivers/vc4/vc4_resource.c
@@ -320,7 +320,6 @@ vc4_resource_get_handle(struct pipe_screen *pscreen,
return vc4_bo_flink(rsc->bo, &whandle->handle);
case WINSYS_HANDLE_TYPE_KMS:
if (screen->ro) {
- assert(rsc->scanout);
return renderonly_get_handle(rsc->scanout, whandle);
}
whandle->handle = rsc->bo->handle;
@@ -689,8 +688,6 @@ vc4_resource_from_handle(struct pipe_screen *pscreen,
renderonly_create_gpu_import_for_resource(prsc,
screen->ro,
NULL);
- if (!rsc->scanout)
- goto fail;
}
if (rsc->tiled && whandle->stride != slice->stride) {
--
2.32.0

View File

@@ -19,10 +19,9 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
file://0002-meson.build-make-TLS-ELF-optional.patch \
file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \
file://0001-v3d-vc4-Fix-dmabuf-import-for-non-scanout-buffers.patch \
"
SRC_URI[sha256sum] = "022c7293074aeeced2278c872db4fa693147c70f8595b076cf3f1ef81520766d"
SRC_URI[sha256sum] = "e9e67c10654f2e4bf15b944bb048007a614292aa4792b1b7512eb700b7b3a7bb"
UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"