- Update to release 24.2.7

--> https://docs.mesa3d.org/relnotes/24.2.7
- supersedes 0001-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=1343
This commit is contained in:
Stefan Dirsch 2024-11-19 13:16:00 +00:00 committed by Git OBS Bridge
commit 72e0c5efd0
45 changed files with 16514 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,82 @@
From 917e7e7df07b4523f1160e2a32d5e3ece3d74287 Mon Sep 17 00:00:00 2001
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: Mon, 4 Nov 2024 17:45:45 +1100
Subject: [PATCH] dril: Fixup order of pixel formats in drilConfigs
Having the RGB* formats before the BGR* formats in the table causes
problems where under some circumstances, some applications end up
with the wrong colors.
The repro case for me is: Xvnc + mutter + chromium
There was an existing comment in dri_fill_in_modes() which explained
the problem. This was lost when dril_target.c was created.
Fixes: ec7afd2c24c ("dril: rework config creation")
Fixes: 3de62b2f9a6 ("gallium/dril: Compatibility stub for the legacy DRI loader interface")
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
src/gallium/targets/dril/dril_target.c | 36 +++++++++++++++++++-------
1 file changed, 27 insertions(+), 9 deletions(-)
diff --git a/src/gallium/targets/dril/dril_target.c b/src/gallium/targets/dril/dril_target.c
index 672d50a4182..583728e4093 100644
--- a/src/gallium/targets/dril/dril_target.c
+++ b/src/gallium/targets/dril/dril_target.c
@@ -47,25 +47,43 @@
CONFIG_ZS(color, PIPE_FORMAT_Z16_UNORM), \
CONFIG_ZS(color, PIPE_FORMAT_NONE) \
+/*
+ * (copy of a comment in dri_screen.c:dri_fill_in_modes())
+ *
+ * The 32-bit RGBA format must not precede the 32-bit BGRA format.
+ * Likewise for RGBX and BGRX. Otherwise, the GLX client and the GLX
+ * server may disagree on which format the GLXFBConfig represents,
+ * resulting in swapped color channels.
+ *
+ * The problem, as of 2017-05-30:
+ * When matching a GLXFBConfig to a __DRIconfig, GLX ignores the channel
+ * order and chooses the first __DRIconfig with the expected channel
+ * sizes. Specifically, GLX compares the GLXFBConfig's and __DRIconfig's
+ * __DRI_ATTRIB_{CHANNEL}_SIZE but ignores __DRI_ATTRIB_{CHANNEL}_MASK.
+ *
+ * EGL does not suffer from this problem. It correctly compares the
+ * channel masks when matching EGLConfig to __DRIconfig.
+ */
+
static const struct gl_config drilConfigs[] = {
- CONFIG(PIPE_FORMAT_R8G8B8A8_UNORM),
- CONFIG(PIPE_FORMAT_R8G8B8X8_UNORM),
CONFIG(PIPE_FORMAT_B8G8R8A8_UNORM),
CONFIG(PIPE_FORMAT_B8G8R8X8_UNORM),
- CONFIG(PIPE_FORMAT_R10G10B10A2_UNORM),
- CONFIG(PIPE_FORMAT_R10G10B10X2_UNORM),
+ CONFIG(PIPE_FORMAT_R8G8B8A8_UNORM),
+ CONFIG(PIPE_FORMAT_R8G8B8X8_UNORM),
CONFIG(PIPE_FORMAT_B10G10R10A2_UNORM),
CONFIG(PIPE_FORMAT_B10G10R10X2_UNORM),
- CONFIG(PIPE_FORMAT_R5G6B5_UNORM),
- CONFIG(PIPE_FORMAT_R5G5B5A1_UNORM),
- CONFIG(PIPE_FORMAT_R5G5B5X1_UNORM),
- CONFIG(PIPE_FORMAT_R4G4B4A4_UNORM),
- CONFIG(PIPE_FORMAT_R4G4B4X4_UNORM),
+ CONFIG(PIPE_FORMAT_R10G10B10A2_UNORM),
+ CONFIG(PIPE_FORMAT_R10G10B10X2_UNORM),
CONFIG(PIPE_FORMAT_B5G6R5_UNORM),
CONFIG(PIPE_FORMAT_B5G5R5A1_UNORM),
CONFIG(PIPE_FORMAT_B5G5R5X1_UNORM),
CONFIG(PIPE_FORMAT_B4G4R4A4_UNORM),
CONFIG(PIPE_FORMAT_B4G4R4X4_UNORM),
+ CONFIG(PIPE_FORMAT_R5G6B5_UNORM),
+ CONFIG(PIPE_FORMAT_R5G5B5A1_UNORM),
+ CONFIG(PIPE_FORMAT_R5G5B5X1_UNORM),
+ CONFIG(PIPE_FORMAT_R4G4B4A4_UNORM),
+ CONFIG(PIPE_FORMAT_R4G4B4X4_UNORM),
};
#define RGB UTIL_FORMAT_COLORSPACE_RGB
--
2.43.0

11
Mesa-rpmlintrc Normal file
View File

@ -0,0 +1,11 @@
# This line is mandatory to access the configuration functions
from Config import *
# Want to allow for multiple vendors
addFilter("shlib-policy-name-error")
addFilter("Mesa-libOpenCL.*library-without-ldconfig-postin")
addFilter("Mesa-libOpenCL.*library-without-ldconfig-postun")
addFilter("libXvMC_nouveau.*library-without-ldconfig-postin")
addFilter("libXvMC_nouveau.*library-without-ldconfig-postun")
addFilter("libXvMC_r600.*library-without-ldconfig-postin")
addFilter("libXvMC_r600.*library-without-ldconfig-postun")

8211
Mesa.changes Normal file

File diff suppressed because it is too large Load Diff

6161
Mesa.keyring Normal file

File diff suppressed because it is too large Load Diff

1367
Mesa.spec Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
Since Rust crates are not installed or discouraged to be installed
as system dependencies because of the maintenance burden of being the
next crates.io, we will have to download the following crates as vendored
dependencies. Hence, do not be scared if the dependencies are done like
this.
To check new crates or update the versions, just go to the subprojects
folder and run `grep -r crates .` then set versions appropriately.

10
README.updates Normal file
View File

@ -0,0 +1,10 @@
DRI Driver update mechanism
---------------------------
If any corresponding DRI driver is found in "/usr/lib/dri/updates/"
it will be favored over the one in "/usr/lib/dri/" and will be used
for 32/64 bit applications.
On 32/64 bit biarch platforms additionally a corresponding DRI driver
in "/usr/lib64/dri/updates/" will be favored over the one in
"/usr/lib64/dri/" and will be used for 64bit applications.

View File

@ -0,0 +1,52 @@
From 5903c215ab5b4c5d3bb1c952c0c784b78a0412fc Mon Sep 17 00:00:00 2001
From: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Date: Tue, 13 Feb 2024 13:10:30 -0500
Subject: [PATCH] egl/x11/sw: fix partial image uploads
* swrast allocates images aligned to 64x64 tiles, which results in images
that are larger than the window. PutImage requests must be clamped on
the y-axis to avoid uploading/damaging out-of-bounds regions
* winsys coords are y-inverted
cc: mesa-stable
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29910>
(cherry picked from commit 6088a0bf51dd6bdfe39d9160a748bdde016f2c96)
---
.pick_status.json | 2 +-
src/egl/drivers/dri2/platform_x11.c | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/.pick_status.json b/.pick_status.json
index cc044e5e788..802f9799d23 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -164,7 +164,7 @@
"description": "egl/x11/sw: fix partial image uploads",
"nominated": true,
"nomination_type": 0,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null
diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c
index 97436a0254b..e0d9ddb343e 100644
--- a/src/egl/drivers/dri2/platform_x11.c
+++ b/src/egl/drivers/dri2/platform_x11.c
@@ -174,6 +174,11 @@ swrastPutImage(__DRIdrawable *draw, int op, int x, int y, int w, int h,
return;
}
+ /* clamp to drawable size */
+ if (y + h > dri2_surf->base.Height)
+ h = dri2_surf->base.Height - y;
+ /* y-invert */
+ y = dri2_surf->base.Height - y - h;
if (size < max_req_len) {
cookie = xcb_put_image(
dri2_dpy->conn, XCB_IMAGE_FORMAT_Z_PIXMAP, dri2_surf->drawable, gc, w,
--
2.43.0

View File

@ -0,0 +1,19 @@
@@ -, +, @@
---
src/gallium/drivers/r600/evergreen_state.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: mesa-24.2.2/src/gallium/drivers/r600/evergreen_state.c
===================================================================
--- mesa-24.2.2.orig/src/gallium/drivers/r600/evergreen_state.c
+++ mesa-24.2.2/src/gallium/drivers/r600/evergreen_state.c
@@ -584,7 +584,8 @@ static void *evergreen_create_sampler_st
: state->max_anisotropy;
unsigned max_aniso_ratio = r600_tex_aniso_filter(max_aniso);
bool trunc_coord = state->min_img_filter == PIPE_TEX_FILTER_NEAREST &&
- state->mag_img_filter == PIPE_TEX_FILTER_NEAREST;
+ state->mag_img_filter == PIPE_TEX_FILTER_NEAREST &&
+ state->unnormalized_coords;
float max_lod = state->max_lod;
if (!ss) {

View File

@ -0,0 +1,31 @@
From 8b35da91b23afc65256b78a59d116fd09544cd28 Mon Sep 17 00:00:00 2001
From: David Rosca <david.rosca@amd.com>
Date: Mon, 5 Aug 2024 09:14:37 +0200
Subject: [PATCH] radeonsi/vcn: Add decode DPB buffers as CS dependency
This is needed to ensure correct synchronization in kernel eg. when it
moves the buffers between VRAM and GTT.
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
(cherry picked from commit 0c024bbe641b092bbbc751baae54a37642794de0)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30537>
---
src/gallium/drivers/radeonsi/radeon_vcn_dec.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c
index ede5f9d7c1a5..9e3d0b88493b 100644
--- a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c
+++ b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c
@@ -1838,6 +1838,7 @@ static unsigned rvcn_dec_dynamic_dpb_t2_message(struct radeon_decoder *dec, rvcn
RVID_ERR("Ref list from application is incorrect, using dummy buffer instead.\n");
addr = dec->ws->buffer_get_virtual_address(dummy->dpb.res->buf);
}
+ dec->ws->cs_add_buffer(&dec->cs, d->dpb.res->buf, RADEON_USAGE_READWRITE | RADEON_USAGE_SYNCHRONIZED, RADEON_DOMAIN_VRAM);
dynamic_dpb_t2->dpbAddrLo[i] = addr;
dynamic_dpb_t2->dpbAddrHi[i] = addr >> 32;
++dynamic_dpb_t2->dpbArraySize;
--
2.43.0

29
_constraints Normal file
View File

@ -0,0 +1,29 @@
<constraints>
<overwrite>
<conditions>
<arch>aarch64</arch>
<arch>ppc</arch>
<arch>x86_64</arch>
<arch>i586</arch>
</conditions>
<hardware>
<disk>
<size unit="G">9</size>
</disk>
</hardware>
</overwrite>
<overwrite>
<conditions>
<arch>ppc64</arch>
<arch>ppc64le</arch>
</conditions>
<hardware>
<disk>
<size unit="G">9</size>
</disk>
<physicalmemory>
<size unit="G">20</size>
</physicalmemory>
</hardware>
</overwrite>
</constraints>

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>drivers</package>
</multibuild>

110
baselibs.conf Normal file
View File

@ -0,0 +1,110 @@
Mesa
# Include this special README file so dummy Mesa-<targettype> gets
# build and other arch packages can supplement it.
+/usr/share/doc/packages/Mesa/README.package.*
# Must require the base Mesa package to get /etc/drirc configuration file.
requires "Mesa = <version>"
obsoletes "XFree86-Mesa-<targettype> xorg-x11-Mesa-<targettype>"
provides "XFree86-Mesa-<targettype> xorg-x11-Mesa-<targettype>"
provides "Mesa-libIndirectGL1-<targettype> = <version>"
obsoletes "Mesa-libIndirectGL1-<targettype> < <version>"
requires "libglvnd-<targettype> >= 0.1.0"
requires "Mesa-dri-<targettype> = <version>"
requires "Mesa-gallium-<targettype> = <version>"
Mesa-devel
#We need Mesa-<targettype>!, do not put requires -Mesa-<targettype>.
requires "Mesa-<targettype> = <version>"
requires "Mesa-libEGL-devel-<targettype> = <version>"
requires "Mesa-libGL-devel-<targettype> = <version>"
requires "Mesa-libGLESv1_CM-devel-<targettype> = <version>"
requires "Mesa-libGLESv2-devel-<targettype> = <version>"
requires "Mesa-libIndirectGL-devel-<targettype> = <version>"
requires "Mesa-libglapi-devel-<targettype> = <version>"
requires "libOSMesa-devel-<targettype> = <version>"
requires "libgbm-devel-<targettype> = <version>"
requires "libglvnd-devel-<targettype> >= 0.1.0"
obsoletes "XFree86-Mesa-devel-<targettype> xorg-x11-Mesa-devel-<targettype>"
provides "XFree86-Mesa-devel-<targettype> xorg-x11-Mesa-devel-<targettype>"
obsoletes "Mesa-libIndirectGL-devel-<targettype> < <version>"
provides "Mesa-libIndirectGL-devel-<targettype> = <version>"
Mesa-libEGL1
requires "libglvnd-<targettype> >= 0.1.0"
Mesa-libEGL-devel
requires "Mesa-libEGL1-<targettype> = <version>"
# Mesa-KHR-devel contains only header files, so no -<targettype> variant
requires "Mesa-KHR-devel = <version>"
requires "libglvnd-devel-<targettype> >= 0.1.0"
Mesa-libGL1
requires "Mesa-<targettype> = <version>"
requires "libglvnd-<targettype> >= 0.1.0"
Mesa-libGL-devel
requires "Mesa-libGL1-<targettype> = <version>"
# Mesa-KHR-devel contains only header files, so no -<targettype> variant
requires "Mesa-KHR-devel = <version>"
requires "libglvnd-devel-<targettype> >= 0.1.0"
Mesa-libGLESv1_CM-devel
requires "Mesa-libEGL-devel-<targettype> = <version>"
# Mesa-KHR-devel contains only header files, so no -<targettype> variant
requires "Mesa-KHR-devel = <version>"
requires "libglvnd-devel-<targettype> >= 0.1.0"
Mesa-libGLESv2-devel
requires "Mesa-libEGL-devel-<targettype> = <version>"
# Mesa-KHR-devel contains only header files, so no -<targettype> variant
requires "Mesa-KHR-devel = <version>"
requires "libglvnd-devel-<targettype> >= 0.1.0"
Mesa-libGLESv3-devel
requires "Mesa-libEGL-devel-<targettype> = <version>"
# Mesa-KHR-devel contains only header files, so no -<targettype> variant
requires "Mesa-KHR-devel = <version>"
libOSMesa8
obsoletes "libOSMesa9-<targettype> < <version>"
provides "libOSMesa9-<targettype> = <version>"
libOSMesa-devel
requires "libOSMesa8-<targettype> = <version>"
libgbm1
libgbm-devel
requires "libgbm1-<targettype> = <version>"
Mesa-libglapi0
Mesa-libglapi-devel
requires "Mesa-libglapi0-<targettype> = <version>"
Mesa-libd3d
provides "d3dadapter9.so.1"
Mesa-libd3d-devel
requires "Mesa-libd3d-<targettype> = <version>"
libvulkan_intel
targetarch aarch64 +/usr/share/vulkan/icd.d/intel_icd.*.json
targetarch aarch64 +/usr/share/vulkan/icd.d/intel_hasvk_icd.*.json
targetarch ppc64 +/usr/share/vulkan/icd.d/intel_icd.*.json
targetarch ppc64 +/usr/share/vulkan/icd.d/intel_hasvk_icd.*.json
targetarch ppc64le +/usr/share/vulkan/icd.d/intel_icd.*.json
targetarch ppc64le +/usr/share/vulkan/icd.d/intel_hasvk_icd.*.json
targetarch x86_64 +/usr/share/vulkan/icd.d/intel_icd.*.json
targetarch x86_64 +/usr/share/vulkan/icd.d/intel_hasvk_icd.*.json
requires "Mesa-vulkan-device-select-<targettype> = <version>"
provides "Mesa-libVulkan-devel-<targettype> = 22.0.0"
obsoletes "Mesa-libVulkan-devel-<targettype> < 22.0.0"
libvulkan_nouveau
targetarch aarch64 +/usr/share/vulkan/icd.d/nouveau_icd.*.json
targetarch x86_64 +/usr/share/vulkan/icd.d/nouveau_icd.*.json
requires "Mesa-vulkan-device-select-<targettype> = <version>"
libvulkan_radeon
targetarch aarch64 +/usr/share/vulkan/icd.d/radeon_icd.*.json
targetarch ppc64 +/usr/share/vulkan/icd.d/radeon_icd.*.json
targetarch ppc64le +/usr/share/vulkan/icd.d/radeon_icd.*.json
targetarch x86_64 +/usr/share/vulkan/icd.d/radeon_icd.*.json
requires "Mesa-vulkan-device-select-<targettype> = <version>"
libvdpau_nouveau
libvdpau_r600
libvdpau_radeonsi
libvdpau_virtio_gpu
Mesa-vulkan-device-select
Mesa-vulkan-overlay
Mesa-dri-vc4
Mesa-dri-nouveau
Mesa-dri
supplements "Mesa-<targettype> = <version>"
Mesa-gallium
supplements "Mesa-<targettype> = <version>"
Mesa-libva

BIN
manual-pages.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

3
mesa-24.1.3.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:63236426b25a745ba6aa2d6daf8cd769d5ea01887b0745ab7124d2ef33a9020d
size 29086488

BIN
mesa-24.1.3.tar.xz.sig Normal file

Binary file not shown.

3
mesa-24.1.4.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7cf7c6f665263ad0122889c1d4b076654c1eedea7a2f38c69c8c51579937ade1
size 29106920

BIN
mesa-24.1.4.tar.xz.sig Normal file

Binary file not shown.

3
mesa-24.1.7.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ecd2e7b1c73998f4103542f39c6b8c968d251637ccc8caa42641aecb86cd2566
size 29206724

BIN
mesa-24.1.7.tar.xz.sig Normal file

Binary file not shown.

3
mesa-24.2.6.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2b68c4a6f204c1999815a457299f81c41ba7bf48c4674b0b2d1d8864f41f3709
size 29568568

BIN
mesa-24.2.6.tar.xz.sig Normal file

Binary file not shown.

3
mesa-24.2.7.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a0ce37228679647268a83b3652d859dcf23d6f6430d751489d4464f6de6459fd
size 29589968

BIN
mesa-24.2.7.tar.xz.sig Normal file

Binary file not shown.

View File

@ -0,0 +1,20 @@
Index: mesa-24.2.2/include/meson.build
===================================================================
--- mesa-24.2.2.orig/include/meson.build
+++ mesa-24.2.2/include/meson.build
@@ -12,7 +12,6 @@ if with_android_stub
inc_include += [include_directories('android_stub')]
endif
-if not with_glvnd and host_machine.system() != 'windows'
if with_gles1 or with_gles2 or with_opengl or with_egl
install_headers('KHR/khrplatform.h', subdir : 'KHR')
endif
@@ -68,7 +67,6 @@ if not with_glvnd and host_machine.syste
subdir : 'EGL',
)
endif
-endif
# Non-upstream headers
if with_egl

View File

@ -0,0 +1,19 @@
Index: mesa-23.2.0-rc4/src/util/00-mesa-defaults.conf
===================================================================
--- mesa-23.2.0-rc4.orig/src/util/00-mesa-defaults.conf
+++ mesa-23.2.0-rc4/src/util/00-mesa-defaults.conf
@@ -956,6 +956,14 @@ TODO: document the other workarounds.
<application name="Rocket League" executable="RocketLeague">
<option name="radeonsi_zerovram" value="true" />
</application>
+ <!-- This is workaround to prevent distorted colors on hardware accelerated video in Chromium. https://bugzilla.opensuse.org/show_bug.cgi?id=1113211 -->
+ <application name="Chromium" executable="chromium">
+ <option name="allow_rgb10_configs" value="false" />
+ </application>
+ <!-- This is workaround to prevent distorted colors on hardware accelerated video in Totem. https://bugzilla.opensuse.org/show_bug.cgi?id=1142270 -->
+ <application name="Totem" executable="totem">
+ <option name="allow_rgb10_configs" value="false" />
+ </application>
<application name="Gfx Bench" executable="gfxbench_gl">
<!-- Helps offscreen tests -->
<option name="mesa_glthread_app_profile" value="1"/>

18
n_stop-iris-flicker.patch Normal file
View File

@ -0,0 +1,18 @@
commit 5d6f7baf3bc40a85b09e4088c8c3bccec6a7c82d
Author: Scott Bradnick <scott.bradnick@suse.com>
Date: Tue May 24 14:47:53 2022 -0400
Adjusting 'iris_batch.c' per 'https://gitlab.freedesktop.org/mesa/mesa/-/issues/5731'.
Index: mesa-24.2.2/src/gallium/drivers/iris/i915/iris_kmd_backend.c
===================================================================
--- mesa-24.2.2.orig/src/gallium/drivers/iris/i915/iris_kmd_backend.c
+++ mesa-24.2.2/src/gallium/drivers/iris/i915/iris_kmd_backend.c
@@ -318,7 +318,6 @@ i915_batch_submit(struct iris_batch *bat
uint32_t flags = EXEC_OBJECT_SUPPORTS_48B_ADDRESS | EXEC_OBJECT_PINNED;
flags |= bo->real.capture ? EXEC_OBJECT_CAPTURE : 0;
flags |= bo == batch->screen->workaround_bo ? EXEC_OBJECT_ASYNC : 0;
- flags |= iris_bo_is_external(bo) ? 0 : EXEC_OBJECT_ASYNC;
flags |= written ? EXEC_OBJECT_WRITE : 0;
index_for_handle[bo->gem_handle] = validation_count;

3
paste-1.0.14.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c
size 18157

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b
size 44343

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77
size 48958

67
python36-buildfix1.patch Normal file
View File

@ -0,0 +1,67 @@
Index: mesa-24.1.0/src/nouveau/headers/class_parser.py
===================================================================
--- mesa-24.1.0.orig/src/nouveau/headers/class_parser.py
+++ mesa-24.1.0/src/nouveau/headers/class_parser.py
@@ -9,6 +9,16 @@ import sys
from mako.template import Template
+def removeprefix(s, prefix):
+ if s.startswith(prefix):
+ return s[len(prefix):]
+ return s
+
+def removesuffix(s, suffix):
+ if s.endswith(suffix):
+ return s[:-len(suffix)]
+ return s
+
METHOD_ARRAY_SIZES = {
'BIND_GROUP_CONSTANT_BUFFER' : 16,
'CALL_MME_DATA' : 256,
@@ -293,7 +303,7 @@ def parse_header(nvcl, f):
if ":" in list[2]:
state = 1
elif teststr in list[1]:
- curmthd.field_defs[curfield][list[1].removeprefix(teststr)] = list[2]
+ curmthd.field_defs[curfield][removeprefix(list[1], teststr)] = list[2]
else:
state = 1
@@ -303,7 +313,7 @@ def parse_header(nvcl, f):
if ("0x" in list[2]):
state = 1
else:
- field = list[1].removeprefix(teststr)
+ field = removeprefix(list[1], teststr)
bitfield = list[2].split(":")
curmthd.field_name_start[field] = bitfield[1]
curmthd.field_name_end[field] = bitfield[0]
@@ -324,13 +334,13 @@ def parse_header(nvcl, f):
is_array = 0
if (':' in list[2]):
continue
- name = list[1].removeprefix(teststr)
+ name = removeprefix(list[1], teststr)
if name.endswith("(i)"):
is_array = 1
- name = name.removesuffix("(i)")
+ name = removesuffix(name, "(i)")
if name.endswith("(j)"):
is_array = 1
- name = name.removesuffix("(j)")
+ name = removesuffix(name, "(j)")
x = method()
x.name = name
x.addr = list[2]
@@ -357,8 +367,8 @@ def main():
clheader = os.path.basename(args.in_h)
nvcl = clheader
- nvcl = nvcl.removeprefix("cl")
- nvcl = nvcl.removesuffix(".h")
+ nvcl = removeprefix(nvcl, "cl")
+ nvcl = removesuffix(nvcl, ".h")
nvcl = nvcl.upper()
nvcl = "NV" + nvcl

11
python36-buildfix2.patch Normal file
View File

@ -0,0 +1,11 @@
--- mesa-23.3.3/src/freedreno/registers/gen_header.py.orig 2024-01-20 14:01:30.261999839 +0100
+++ mesa-23.3.3/src/freedreno/registers/gen_header.py 2024-01-20 14:01:57.678558692 +0100
@@ -781,7 +781,7 @@ def main():
parser.add_argument('--rnn', type=str, required=True)
parser.add_argument('--xml', type=str, required=True)
- subparsers = parser.add_subparsers(required=True)
+ subparsers = parser.add_subparsers()
parser_c_defines = subparsers.add_parser('c-defines')
parser_c_defines.set_defaults(func=dump_c_defines)

3
quote-1.0.33.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae
size 28090

3
syn-2.0.39.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a
size 244129

3
syn-2.0.68.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9
size 265035

15
tlsdesc_test.patch Normal file
View File

@ -0,0 +1,15 @@
LTO defeats the -fpic workaround and enables TLS relaxation anyway
Index: mesa-24.2.2/meson.build
===================================================================
--- mesa-24.2.2.orig/meson.build
+++ mesa-24.2.2/meson.build
@@ -507,7 +507,7 @@ if not have_mtls_dialect
foreach tlsdesc_arg : ['-mtls-dialect=gnu2', '-mtls-dialect=desc']
# -fpic to force dynamic tls, otherwise TLS relaxation defeats check
tlsdesc_test = cc.run('int __thread x; int main() { return x; }',
- args: [tlsdesc_arg, '-fpic'],
+ args: [tlsdesc_arg, '-fpic', '-fno-lto'],
name: tlsdesc_arg)
if tlsdesc_test.returncode() == 0 and (
# check for lld 13 bug: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5665

View File

@ -0,0 +1,54 @@
From a14fa9920669c8d6d911e375376f2e45052a31d6 Mon Sep 17 00:00:00 2001
From: Jordan Justen <jordan.l.justen@intel.com>
Date: Sat, 20 Jan 2024 01:07:23 -0800
Subject: [PATCH 1/2] intel/genxml: Drop "from __future__ import annotations"
This is not supported in Python 3.6, and optional in 3.7+.
Ref: f1eae2f8bbe ("python: drop python2 support")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
---
src/intel/genxml/gen_sort_tags.py | 1 -
src/intel/genxml/genxml_import.py | 1 -
src/intel/genxml/intel_genxml.py | 1 -
3 files changed, 3 deletions(-)
diff --git a/src/intel/genxml/gen_sort_tags.py b/src/intel/genxml/gen_sort_tags.py
index dcdba333fe6..44cd152cd11 100755
--- a/src/intel/genxml/gen_sort_tags.py
+++ b/src/intel/genxml/gen_sort_tags.py
@@ -2,7 +2,6 @@
# Copyright © 2019, 2022 Intel Corporation
# SPDX-License-Identifier: MIT
-from __future__ import annotations
import argparse
import copy
import intel_genxml
diff --git a/src/intel/genxml/genxml_import.py b/src/intel/genxml/genxml_import.py
index 76a7c77eb4c..442b4726d08 100755
--- a/src/intel/genxml/genxml_import.py
+++ b/src/intel/genxml/genxml_import.py
@@ -2,7 +2,6 @@
# Copyright © 2019, 2022 Intel Corporation
# SPDX-License-Identifier: MIT
-from __future__ import annotations
import argparse
import copy
import intel_genxml
diff --git a/src/intel/genxml/intel_genxml.py b/src/intel/genxml/intel_genxml.py
index 2b7b4d8391a..9388ebecfce 100755
--- a/src/intel/genxml/intel_genxml.py
+++ b/src/intel/genxml/intel_genxml.py
@@ -2,7 +2,6 @@
# Copyright © 2019, 2022 Intel Corporation
# SPDX-License-Identifier: MIT
-from __future__ import annotations
from collections import OrderedDict
import copy
import io
--
2.35.3

View File

@ -0,0 +1,78 @@
From 89ede5b851a6a15f85e83278257ee4e3783f6bd2 Mon Sep 17 00:00:00 2001
From: Jordan Justen <jordan.l.justen@intel.com>
Date: Sat, 20 Jan 2024 01:00:56 -0800
Subject: [PATCH 2/2] intel/genxml: Add a untyped OrderedDict fallback for
Python 3.6
typing.OrderedDict was introduced in Python 3.7.2.
Python 3.6 and 3.7 have been deprecated and are no longer supported,
but this seems like an easy enough fallback to include for now.
https://devguide.python.org/versions/
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
---
src/intel/genxml/intel_genxml.py | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/src/intel/genxml/intel_genxml.py b/src/intel/genxml/intel_genxml.py
index 9388ebecfce..eefd7b44992 100755
--- a/src/intel/genxml/intel_genxml.py
+++ b/src/intel/genxml/intel_genxml.py
@@ -45,10 +45,22 @@ BASE_TYPES = {
FIXED_PATTERN = re.compile(r"(s|u)(\d+)\.(\d+)")
+try:
+ # Python 3.7 and newer should be able to support strong typing for
+ # our OrderedDict usage.
+ def typed_ordered_dict(key_ty, val_ty):
+ return typing.OrderedDict[str, bool]
+ # This will raise an exception on Python 3.6
+ typed_ordered_dict(int, int)
+except Exception:
+ # For Python 3.6 we return an untyped OrderedDict
+ def typed_ordered_dict(key_ty, val_ty):
+ return OrderedDict
+
def is_base_type(name: str) -> bool:
return name in BASE_TYPES or FIXED_PATTERN.match(name) is not None
-def add_struct_refs(items: typing.OrderedDict[str, bool], node: et.Element) -> None:
+def add_struct_refs(items: typed_ordered_dict(str, bool), node: et.Element) -> None:
if node.tag == 'field':
if 'type' in node.attrib and not is_base_type(node.attrib['type']):
t = node.attrib['type']
@@ -64,16 +76,16 @@ class Struct(object):
def __init__(self, xml: et.Element):
self.xml = xml
self.name = xml.attrib['name']
- self.deps: typing.OrderedDict[str, Struct] = OrderedDict()
+ self.deps: typed_ordered_dict(str, Struct) = OrderedDict()
def find_deps(self, struct_dict, enum_dict) -> None:
- deps: typing.OrderedDict[str, bool] = OrderedDict()
+ deps: typed_ordered_dict(str, bool) = OrderedDict()
add_struct_refs(deps, self.xml)
for d in deps.keys():
if d in struct_dict:
self.deps[d] = struct_dict[d]
- def add_xml(self, items: typing.OrderedDict[str, et.Element]) -> None:
+ def add_xml(self, items: typed_ordered_dict(str, et.Element)) -> None:
for d in self.deps.values():
d.add_xml(items)
items[self.name] = self.xml
@@ -151,7 +163,7 @@ def sort_xml(xml: et.ElementTree) -> None:
for ws in wrapped_struct_dict.values():
ws.find_deps(wrapped_struct_dict, enum_dict)
- sorted_structs: typing.OrderedDict[str, et.Element] = OrderedDict()
+ sorted_structs: typed_ordered_dict(str, et.Element) = OrderedDict()
for s in structs:
_s = wrapped_struct_dict[s.attrib['name']]
_s.add_xml(sorted_structs)
--
2.35.3

16
u_dep_xcb.patch Normal file
View File

@ -0,0 +1,16 @@
Index: mesa-24.2.2/meson.build
===================================================================
--- mesa-24.2.2.orig/meson.build
+++ mesa-24.2.2/meson.build
@@ -2145,9 +2145,11 @@ if with_platform_x11
endif
endif
if with_any_vk or with_egl or (with_glx == 'dri' and with_dri_platform == 'drm')
+ dep_x11_xcb = dependency('x11-xcb')
dep_xcb_dri2 = dependency('xcb-dri2', version : '>= 1.8')
if with_dri3
+ dep_xcb = dependency('xcb')
dep_xcb_dri3 = dependency('xcb-dri3')
dep_xcb_present = dependency('xcb-present')
# until xcb-dri3 has been around long enough to make a hard-dependency:

View File

@ -0,0 +1,13 @@
src/glx/dri2_glx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/src/glx/dri2_glx.c
+++ b/src/glx/dri2_glx.c
@@ -1399,7 +1399,7 @@ dri2GetGlxDrawableFromXDrawableId(Displa
struct dri2_display *pdp = (struct dri2_display *) d->dri2Display;
__GLXDRIdrawable *pdraw;
- if (__glxHashLookup(pdp->dri2Hash, id, (void *) &pdraw) == 0)
+ if (pdp && __glxHashLookup(pdp->dri2Hash, id, (void *) &pdraw) == 0)
return pdraw;
return NULL;

View File

@ -0,0 +1,31 @@
src/glx/glx_query.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
--- a/src/glx/glx_query.c
+++ b/src/glx/glx_query.c
@@ -53,6 +53,13 @@ __glXQueryServerString(Display * dpy, in
/* The spec doesn't mention this, but the Xorg server replies with
* a string already terminated with '\0'. */
uint32_t len = xcb_glx_query_server_string_string_length(reply);
+ /* Allow a max of 64kb string length */
+ size_t reply_len = strnlen(xcb_glx_query_server_string_string(reply), 64*1024);
+ if (reply_len + 1 != len)
+ {
+ free(reply);
+ return(NULL);
+ }
char *buf = malloc(len);
memcpy(buf, xcb_glx_query_server_string_string(reply), len);
free(reply);
@@ -77,6 +84,12 @@ __glXGetString(Display * dpy, int opcode
/* The spec doesn't mention this, but the Xorg server replies with
* a string already terminated with '\0'. */
uint32_t len = xcb_glx_get_string_string_length(reply);
+ size_t reply_len = strnlen(xcb_glx_get_string_string(reply), 64*1024);
+ if (reply_len + 1 != len)
+ {
+ free(reply);
+ return(NULL);
+ }
char *buf = malloc(len);
memcpy(buf, xcb_glx_get_string_string(reply), len);
free(reply);

View File

@ -0,0 +1,15 @@
src/glx/glx_pbuffer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: mesa-24.2.3/src/glx/glx_pbuffer.c
===================================================================
--- mesa-24.2.3.orig/src/glx/glx_pbuffer.c
+++ mesa-24.2.3/src/glx/glx_pbuffer.c
@@ -329,7 +329,7 @@ __glXGetDrawableAttribute(Display * dpy,
/* Search the set of returned attributes for the attribute requested by
* the caller.
*/
- for (i = 0; i < num_attributes; i++) {
+ for (i = 0; i < num_attributes && i * 2 + 1 < length; i++) {
if (data[i * 2] == attribute) {
found = 1;
*value = data[(i * 2) + 1];

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
size 42168