mesa: update to 23.1.1.
This commit is contained in:
parent
473cc0d42b
commit
1630bbab6b
@ -1,77 +0,0 @@
|
||||
From c426e5677f36c3b0b8e8ea199ed4f2c7fad06d47 Mon Sep 17 00:00:00 2001
|
||||
From: Erico Nunes <nunes.erico@gmail.com>
|
||||
Date: Sun, 12 Feb 2023 22:33:30 +0100
|
||||
Subject: [PATCH] lima: don't use resource_from_handle while creating scanout
|
||||
|
||||
resource_from_handle implementations create an additional reference to
|
||||
the scanout resource, which caused lima to leak those resources after
|
||||
commit ad4d7ca8332488be8a75aff001f00306a9f6402e.
|
||||
|
||||
Do as the other drivers do and import the bo directly while creating
|
||||
the scanount resource.
|
||||
|
||||
Cc: 22.3 mesa-stable
|
||||
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8198
|
||||
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
|
||||
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
|
||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21330>
|
||||
---
|
||||
src/gallium/drivers/lima/lima_resource.c | 26 ++++++++++++++++++------
|
||||
1 file changed, 20 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/gallium/drivers/lima/lima_resource.c b/src/gallium/drivers/lima/lima_resource.c
|
||||
index 54869ec03d24..0b7691f2b46f 100644
|
||||
--- a/src/gallium/drivers/lima/lima_resource.c
|
||||
+++ b/src/gallium/drivers/lima/lima_resource.c
|
||||
@@ -59,7 +59,10 @@ lima_resource_create_scanout(struct pipe_screen *pscreen,
|
||||
struct lima_screen *screen = lima_screen(pscreen);
|
||||
struct renderonly_scanout *scanout;
|
||||
struct winsys_handle handle;
|
||||
- struct pipe_resource *pres;
|
||||
+
|
||||
+ struct lima_resource *res = CALLOC_STRUCT(lima_resource);
|
||||
+ if (!res)
|
||||
+ return NULL;
|
||||
|
||||
struct pipe_resource scanout_templat = *templat;
|
||||
scanout_templat.width0 = width;
|
||||
@@ -71,20 +74,31 @@ lima_resource_create_scanout(struct pipe_screen *pscreen,
|
||||
if (!scanout)
|
||||
return NULL;
|
||||
|
||||
+ res->base = *templat;
|
||||
+ res->base.screen = pscreen;
|
||||
+ pipe_reference_init(&res->base.reference, 1);
|
||||
+ res->levels[0].offset = handle.offset;
|
||||
+ res->levels[0].stride = handle.stride;
|
||||
+
|
||||
assert(handle.type == WINSYS_HANDLE_TYPE_FD);
|
||||
- pres = pscreen->resource_from_handle(pscreen, templat, &handle,
|
||||
- PIPE_HANDLE_USAGE_FRAMEBUFFER_WRITE);
|
||||
+ res->bo = lima_bo_import(screen, &handle);
|
||||
+ if (!res->bo) {
|
||||
+ FREE(res);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ res->modifier_constant = true;
|
||||
|
||||
close(handle.handle);
|
||||
- if (!pres) {
|
||||
+ if (!res->bo) {
|
||||
renderonly_scanout_destroy(scanout, screen->ro);
|
||||
+ FREE(res);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- struct lima_resource *res = lima_resource(pres);
|
||||
res->scanout = scanout;
|
||||
|
||||
- return pres;
|
||||
+ return &res->base;
|
||||
}
|
||||
|
||||
static uint32_t
|
||||
--
|
||||
GitLab
|
||||
|
@ -1,12 +1,13 @@
|
||||
# Template file for 'mesa'
|
||||
pkgname=mesa
|
||||
version=22.3.5
|
||||
revision=2
|
||||
version=23.1.1
|
||||
revision=1
|
||||
build_style=meson
|
||||
#Disable LTO flag should be present, see https://gitlab.freedesktop.org/mesa/mesa/-/issues/6911
|
||||
configure_args="-Dglvnd=true -Dshared-glapi=enabled -Dgbm=enabled -Degl=enabled
|
||||
-Dosmesa=true -Dgles1=enabled -Dgles2=enabled -Dglx=dri -Ddri3=enabled
|
||||
-Dlmsensors=enabled -Dplatforms=x11$(vopt_if wayland ,wayland)
|
||||
-Dllvm=enabled -Db_lto=false -Dcpp_std=gnu++14"
|
||||
-Dllvm=enabled -Db_lto=false -Dcpp_std=gnu++17"
|
||||
hostmakedepends="gettext flex llvm pkg-config python3-Mako glslang
|
||||
$(vopt_if wayland 'wayland-protocols wayland-devel')"
|
||||
makedepends="elfutils-devel expat-devel libXdamage-devel
|
||||
@ -22,7 +23,7 @@ license="MIT, LGPL-2.1-or-later"
|
||||
homepage="https://www.mesa3d.org/"
|
||||
changelog="https://docs.mesa3d.org/relnotes.html"
|
||||
distfiles="https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
|
||||
checksum=3eed2ecae2bc674494566faab9fcc9beb21cd804c7ba2b59a1694f3d7236e6a9
|
||||
checksum=a2679031ed5b73b29c4f042ac64d96f83b0cfe4858617de32e2efc196c653a40
|
||||
|
||||
build_options="wayland"
|
||||
build_options_default="wayland"
|
||||
@ -48,8 +49,6 @@ replaces="libGL>=10_1<19.2.5_2 libEGL>=10_1<19.2.5_2 libGLES>=10_1<19.2.5_2"
|
||||
# swrast always present
|
||||
_gallium_drivers=" -Dgallium-drivers=swrast"
|
||||
_vulkan_drivers=" -Dvulkan-drivers="
|
||||
# pre-gallium drivers are mostly for old ati + i915/965
|
||||
_dri_drivers=" -Ddri-drivers="
|
||||
|
||||
# amd and nvidia drivers on all platforms except where it makes no sense
|
||||
# amd implicitly enables clover opencl, also enable hwdec and virgl too
|
||||
@ -156,9 +155,8 @@ fi
|
||||
# empty values introduced by leading comma are not allowed; the whole enumeration can be empty
|
||||
# _gallium_drivers is not affected by this problem
|
||||
_vulkan_drivers=${_vulkan_drivers/=,/=}
|
||||
_dri_drivers=${_dri_drivers/=,/=}
|
||||
|
||||
configure_args+=" ${_vulkan_drivers} ${_dri_drivers}"
|
||||
configure_args+=" ${_vulkan_drivers}"
|
||||
|
||||
if [ "$_have_vulkan" ]; then
|
||||
_have_zink=yes
|
||||
|
Loading…
Reference in New Issue
Block a user