- drop U_egl-x11-sw-fix-partial-image-uploads.patch:

the code in the function saw further fixes later on in the 24.2
  branch.

- integrated changes by Andreas Schwab <schwab@suse.de>
  * enable glamor also for driver build
  * update rust crates
    + syn 2.0.39
    + proc_macro2 1.0.86
  * enable valgrind also on riscv64
  * added libvdpau_gallium package for generic VDPAU state tracker
  * switch from "swrast" to "softpipe,llvmpipe" drivers
  * use "-Dllvm-orcjit=true" for riscv64 build
  * added libgallium to Mesa-dri package

- re-disable llvm for non-driver build by switching from "swrast"
  to "softpipe" for gallium drivers in that case
- make previous changelog a bit nicer

- Update to release 24.2.2
  --> https://docs.mesa3d.org/relnotes/24.2.2
  --> https://docs.mesa3d.org/relnotes/24.2.1
  --> https://docs.mesa3d.org/relnotes/24.2.0
- refreshed the following patches with quilt:
  * U_fix-mpeg1_2-decode-mesa-20.2.patch
  * n_add-Mesa-headers-again.patch
  * n_stop-iris-flicker.patch
  * u_dep_xcb.patch
  * u_fix_rust_bindgen.patch
- dropped U_radeonsi-vcn-Add-decode-DPB-buffers-as-CS-dependency.patch

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=1328
This commit is contained in:
Stefan Dirsch 2024-09-16 09:17:49 +00:00 committed by Git OBS Bridge
commit 3480334669
39 changed files with 16286 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

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")

8104
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

1366
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>

109
baselibs.conf Normal file
View File

@ -0,0 +1,109 @@
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>"

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.2.tar.xz Normal file
View File

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

BIN
mesa-24.2.2.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

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:

40
u_fix_rust_bindgen.patch Normal file
View File

@ -0,0 +1,40 @@
From 93e96da9458c9d0348f2390dc0bea67cf140b1a0 Mon Sep 17 00:00:00 2001
From: Karol Herbst <kherbst@redhat.com>
Date: Sun, 18 Aug 2024 00:08:50 +0200
Subject: [PATCH] rusticl: do not use CL vector types in bindings and code
Bindgen seems to miscompile them and I kinda thought I've done this
already in the past, but apparently not.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11722
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30710>
---
src/gallium/frontends/rusticl/api/device.rs | 2 +-
src/gallium/frontends/rusticl/meson.build | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
Index: mesa-24.2.2/src/gallium/frontends/rusticl/api/device.rs
===================================================================
--- mesa-24.2.2.orig/src/gallium/frontends/rusticl/api/device.rs
+++ mesa-24.2.2/src/gallium/frontends/rusticl/api/device.rs
@@ -196,7 +196,7 @@ impl CLInfo<cl_device_info> for cl_devic
// TODO proper retrival from devices
CL_DEVICE_MEM_BASE_ADDR_ALIGN => cl_prop::<cl_uint>(0x1000),
CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE => {
- cl_prop::<cl_uint>(size_of::<cl_ulong16>() as cl_uint)
+ cl_prop::<cl_uint>(16 * size_of::<cl_ulong>() as cl_uint)
}
CL_DEVICE_NAME => cl_prop::<&str>(&dev.screen().name()),
CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR => cl_prop::<cl_uint>(1),
Index: mesa-24.2.2/src/gallium/frontends/rusticl/meson.build
===================================================================
--- mesa-24.2.2.orig/src/gallium/frontends/rusticl/meson.build
+++ mesa-24.2.2/src/gallium/frontends/rusticl/meson.build
@@ -158,6 +158,7 @@ rusticl_opencl_bindings_rs = rust.bindge
'--raw-line', 'unsafe impl std::marker::Sync for _cl_image_desc {}',
'--allowlist-type', 'cl_.*',
'--allowlist-type', 'cl.*_fn',
+ '--blocklist-type', '(__)?cl_.*[2348(16)]',
'--allowlist-var', 'CL_.*',
# needed for gl_sharing extension
'--allowlist-var', 'GL_.*',

View File

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