SHA256
1
0
forked from pool/Mesa

fix typo in changelog

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=1311
This commit is contained in:
Stefan Dirsch 2024-06-28 13:07:29 +00:00 committed by Git OBS Bridge
commit e2527467fe
32 changed files with 16187 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")

8010
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

1351
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,19 @@
@@ -, +, @@
---
src/gallium/drivers/r600/evergreen_state.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: mesa-23.3.0/src/gallium/drivers/r600/evergreen_state.c
===================================================================
--- mesa-23.3.0.orig/src/gallium/drivers/r600/evergreen_state.c
+++ mesa-23.3.0/src/gallium/drivers/r600/evergreen_state.c
@@ -598,7 +598,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) {

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

View File

@ -0,0 +1,37 @@
diff --git a/src/gallium/frontends/dri/dri_screen.c b/src/gallium/frontends/dri/dri_screen.c
index 2e9ce01147a..15dde5152b8 100644
--- a/src/gallium/frontends/dri/dri_screen.c
+++ b/src/gallium/frontends/dri/dri_screen.c
@@ -386,21 +386,16 @@ dri_fill_in_modes(struct dri_screen *screen)
uint8_t msaa_modes[MSAA_VISUAL_MAX_SAMPLES];
/* Expose only BGRA ordering if the loader doesn't support RGBA ordering. */
- if (!allow_rgba_ordering) {
- unsigned sh_ax = util_format_get_component_shift(pipe_formats[f], UTIL_FORMAT_COLORSPACE_RGB, 3);
- unsigned sh_b = util_format_get_component_shift(pipe_formats[f], UTIL_FORMAT_COLORSPACE_RGB, 2);
-#if UTIL_ARCH_BIG_ENDIAN
- unsigned sz_b = util_format_get_component_bits(pipe_formats[f], UTIL_FORMAT_COLORSPACE_RGB, 2);
-
- if (sz_b + sh_b == sh_ax)
- continue;
-#else
- unsigned sz_ax = util_format_get_component_bits(pipe_formats[f], UTIL_FORMAT_COLORSPACE_RGB, 3);
-
- if (sz_ax + sh_ax == sh_b)
- continue;
-#endif
- }
+ if (!allow_rgba_ordering &&
+ (pipe_formats[f] == PIPE_FORMAT_RGBA8888_UNORM ||
+ pipe_formats[f] == PIPE_FORMAT_RGBX8888_UNORM ||
+ pipe_formats[f] == PIPE_FORMAT_RGBA8888_SRGB ||
+ pipe_formats[f] == PIPE_FORMAT_RGBX8888_SRGB ||
+ pipe_formats[f] == PIPE_FORMAT_R5G5B5A1_UNORM ||
+ pipe_formats[f] == PIPE_FORMAT_R5G5B5X1_UNORM ||
+ pipe_formats[f] == PIPE_FORMAT_R4G4B4A4_UNORM ||
+ pipe_formats[f] == PIPE_FORMAT_R4G4B4X4_UNORM))
+ continue;
if (!allow_rgb10 &&
util_format_get_component_bits(pipe_formats[f],

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

Binary file not shown.

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

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

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

Binary file not shown.

View File

@ -0,0 +1,20 @@
Index: mesa-24.0.3/include/meson.build
===================================================================
--- mesa-24.0.3.orig/include/meson.build
+++ mesa-24.0.3/include/meson.build
@@ -28,7 +28,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
@@ -84,7 +83,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.1.0/src/gallium/drivers/iris/i915/iris_kmd_backend.c
===================================================================
--- mesa-24.1.0.orig/src/gallium/drivers/iris/i915/iris_kmd_backend.c
+++ mesa-24.1.0/src/gallium/drivers/iris/i915/iris_kmd_backend.c
@@ -317,7 +317,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

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

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.0.3/meson.build
===================================================================
--- mesa-24.0.3.orig/meson.build
+++ mesa-24.0.3/meson.build
@@ -2069,9 +2069,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,53 @@
From 79ca6e3a329dbfc3bc68df37b8f3ea7156e41aae Mon Sep 17 00:00:00 2001
From: Daniel Stone <daniels@collabora.com>
Date: Fri, 21 Jun 2024 11:24:31 +0100
Subject: [PATCH] dri: Fix BGR format exclusion
The check we had for BGR vs. RGB formats was testing completely the
wrong thing. Fix it so we can restore the previous set of configs we
expose to the frontend, which also fixes surfaceless platform on s390x.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Fixes: ad0edea53a73 ("st/dri: Check format properties from format helpers")
Closes: mesa/mesa#11360
---
src/gallium/frontends/dri/dri_screen.c | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/src/gallium/frontends/dri/dri_screen.c b/src/gallium/frontends/dri/dri_screen.c
index 6bc61dbd641..debff54c090 100644
--- a/src/gallium/frontends/dri/dri_screen.c
+++ b/src/gallium/frontends/dri/dri_screen.c
@@ -386,17 +386,21 @@ dri_fill_in_modes(struct dri_screen *screen)
uint8_t msaa_modes[MSAA_VISUAL_MAX_SAMPLES];
/* Expose only BGRA ordering if the loader doesn't support RGBA ordering. */
- if (!allow_rgba_ordering &&
- util_format_get_component_shift(pipe_formats[f],
- UTIL_FORMAT_COLORSPACE_RGB, 0)
+ if (!allow_rgba_ordering) {
+ unsigned sh_ax = util_format_get_component_shift(pipe_formats[f], UTIL_FORMAT_COLORSPACE_RGB, 3);
+ unsigned sh_b = util_format_get_component_shift(pipe_formats[f], UTIL_FORMAT_COLORSPACE_RGB, 2);
#if UTIL_ARCH_BIG_ENDIAN
- >
+ unsigned sz_b = util_format_get_component_bits(pipe_formats[f], UTIL_FORMAT_COLORSPACE_RGB, 2);
+
+ if (sz_b + sh_b == sh_ax)
+ continue;
#else
- <
+ unsigned sz_ax = util_format_get_component_bits(pipe_formats[f], UTIL_FORMAT_COLORSPACE_RGB, 3);
+
+ if (sz_ax + sh_ax == sh_b)
+ continue;
#endif
- util_format_get_component_shift(pipe_formats[f],
- UTIL_FORMAT_COLORSPACE_RGB, 2))
- continue;
+ }
if (!allow_rgb10 &&
util_format_get_component_bits(pipe_formats[f],
--
2.35.3

View File

@ -0,0 +1,29 @@
From b3904d23ccc76b76d352a160164f293cf65305e0 Mon Sep 17 00:00:00 2001
From: Daniel Stone <daniels@collabora.com>
Date: Fri, 21 Jun 2024 14:19:06 +0100
Subject: [PATCH] egl/gbm: Enable RGBA configs
Doing this is harmless since we operate on an allowlist of pipe_configs
anyway.
Signed-off-by: Daniel Stone <daniels@collabora.com>
---
src/gbm/backends/dri/gbm_dri.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c
index 0526f4f8dc1..6cc2d5d8197 100644
--- a/src/gbm/backends/dri/gbm_dri.c
+++ b/src/gbm/backends/dri/gbm_dri.c
@@ -108,6 +108,8 @@ dri_get_capability(void *loaderPrivate, enum dri_loader_cap cap)
switch (cap) {
case DRI_LOADER_CAP_FP16:
return 1;
+ case DRI_LOADER_CAP_RGBA_ORDERING:
+ return 1;
default:
return 0;
}
--
2.35.3

View File

@ -0,0 +1,29 @@
From 1eb67fcae01d9f4fbe584e718d71cdfa745ce75f Mon Sep 17 00:00:00 2001
From: Daniel Stone <daniels@collabora.com>
Date: Fri, 21 Jun 2024 14:19:06 +0100
Subject: [PATCH] egl/surfaceless: Enable RGBA configs
Doing this is harmless since we operate on an allowlist of pipe_configs
anyway.
Signed-off-by: Daniel Stone <daniels@collabora.com>
---
src/egl/drivers/dri2/platform_surfaceless.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/egl/drivers/dri2/platform_surfaceless.c b/src/egl/drivers/dri2/platform_surfaceless.c
index 0668ec9285f..4b69874d3f6 100644
--- a/src/egl/drivers/dri2/platform_surfaceless.c
+++ b/src/egl/drivers/dri2/platform_surfaceless.c
@@ -190,6 +190,8 @@ surfaceless_get_capability(void *loaderPrivate, enum dri_loader_cap cap)
switch (cap) {
case DRI_LOADER_CAP_FP16:
return 1;
+ case DRI_LOADER_CAP_RGBA_ORDERING:
+ return 1;
default:
return 0;
}
--
2.35.3

View File

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