1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-06 14:49:50 +00:00

mesa: fix unitialized modifier for DRI2

This came up whith disabled DRI3 on Raspi/VC4 [1] but might be important for other
drivers: It fixes an improper initialization.

[1] https://lists.freedesktop.org/archives/mesa-dev/2018-March/190562.html

(From OE-Core rev: bfd5d2cefd56cb60b51b2bed57cb92dcfd5756c9)

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
2018-04-02 22:39:33 +02:00
committed by Richard Purdie
parent 4ca75e4226
commit 0879ac940b
2 changed files with 44 additions and 0 deletions
@@ -0,0 +1,43 @@
From 4cbecb61682a0ee426faaa03d824fc8fd7aef826 Mon Sep 17 00:00:00 2001
From: Daniel Stone <daniels@collabora.com>
Date: Mon, 2 Apr 2018 13:20:34 +0100
Subject: [PATCH] st/dri: Initialise modifier to INVALID for DRI2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When allocating a buffer for DRI2, set the modifier to INVALID to inform
the backend that we have no supplied modifiers and it should do its own
thing. The missed initialisation forced linear, even if the
implementation had made other decisions.
This resulted in VC4 DRI2 clients failing with:
Modifier 0x0 vs. tiling (0x700000000000001) mismatch
Signed-off-by: Daniel Stone <daniels@collabora.com>
Reported-by: Andreas Müller <schnitzeltony@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Fixes: 3f8513172ff6 ("gallium/winsys/drm: introduce modifier field to winsys_handle")
Upstream-Status: Backport [1]
[1] https://cgit.freedesktop.org/mesa/mesa/commit/?id=4cbecb61682a0ee426faaa03d824fc8fd7aef826
---
src/gallium/state_trackers/dri/dri2.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c
index 31d17d46c2..58a6757f03 100644
--- a/src/gallium/state_trackers/dri/dri2.c
+++ b/src/gallium/state_trackers/dri/dri2.c
@@ -806,6 +806,7 @@ dri2_allocate_textures(struct dri_context *ctx,
whandle.handle = buf->name;
whandle.stride = buf->pitch;
whandle.offset = 0;
+ whandle.modifier = DRM_FORMAT_MOD_INVALID;
if (screen->can_share_buffer)
whandle.type = DRM_API_HANDLE_TYPE_SHARED;
else
--
2.14.3
@@ -9,6 +9,7 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
file://llvm-config-version.patch \
file://0001-winsys-svga-drm-Include-sys-types.h.patch \
file://0001-Makefile.vulkan.am-explictly-add-lib-expat-to-intel-.patch \
file://0001-st-dri-Initialise-modifier-to-INVALID-for-DRI2.patch \
"
SRC_URI[md5sum] = "769137f2538562c300c4b76bcb097377"