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'
|
# Template file for 'mesa'
|
||||||
pkgname=mesa
|
pkgname=mesa
|
||||||
version=22.3.5
|
version=23.1.1
|
||||||
revision=2
|
revision=1
|
||||||
build_style=meson
|
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
|
configure_args="-Dglvnd=true -Dshared-glapi=enabled -Dgbm=enabled -Degl=enabled
|
||||||
-Dosmesa=true -Dgles1=enabled -Dgles2=enabled -Dglx=dri -Ddri3=enabled
|
-Dosmesa=true -Dgles1=enabled -Dgles2=enabled -Dglx=dri -Ddri3=enabled
|
||||||
-Dlmsensors=enabled -Dplatforms=x11$(vopt_if wayland ,wayland)
|
-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
|
hostmakedepends="gettext flex llvm pkg-config python3-Mako glslang
|
||||||
$(vopt_if wayland 'wayland-protocols wayland-devel')"
|
$(vopt_if wayland 'wayland-protocols wayland-devel')"
|
||||||
makedepends="elfutils-devel expat-devel libXdamage-devel
|
makedepends="elfutils-devel expat-devel libXdamage-devel
|
||||||
@ -22,7 +23,7 @@ license="MIT, LGPL-2.1-or-later"
|
|||||||
homepage="https://www.mesa3d.org/"
|
homepage="https://www.mesa3d.org/"
|
||||||
changelog="https://docs.mesa3d.org/relnotes.html"
|
changelog="https://docs.mesa3d.org/relnotes.html"
|
||||||
distfiles="https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
|
distfiles="https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
|
||||||
checksum=3eed2ecae2bc674494566faab9fcc9beb21cd804c7ba2b59a1694f3d7236e6a9
|
checksum=a2679031ed5b73b29c4f042ac64d96f83b0cfe4858617de32e2efc196c653a40
|
||||||
|
|
||||||
build_options="wayland"
|
build_options="wayland"
|
||||||
build_options_default="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
|
# swrast always present
|
||||||
_gallium_drivers=" -Dgallium-drivers=swrast"
|
_gallium_drivers=" -Dgallium-drivers=swrast"
|
||||||
_vulkan_drivers=" -Dvulkan-drivers="
|
_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 and nvidia drivers on all platforms except where it makes no sense
|
||||||
# amd implicitly enables clover opencl, also enable hwdec and virgl too
|
# 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
|
# empty values introduced by leading comma are not allowed; the whole enumeration can be empty
|
||||||
# _gallium_drivers is not affected by this problem
|
# _gallium_drivers is not affected by this problem
|
||||||
_vulkan_drivers=${_vulkan_drivers/=,/=}
|
_vulkan_drivers=${_vulkan_drivers/=,/=}
|
||||||
_dri_drivers=${_dri_drivers/=,/=}
|
|
||||||
|
|
||||||
configure_args+=" ${_vulkan_drivers} ${_dri_drivers}"
|
configure_args+=" ${_vulkan_drivers}"
|
||||||
|
|
||||||
if [ "$_have_vulkan" ]; then
|
if [ "$_have_vulkan" ]; then
|
||||||
_have_zink=yes
|
_have_zink=yes
|
||||||
|
Loading…
x
Reference in New Issue
Block a user