Skip to content

Commit

Permalink
chore: update patches
Browse files Browse the repository at this point in the history
Log:
  • Loading branch information
xzl01 committed Nov 29, 2024
1 parent e87e2b0 commit 488d310
Show file tree
Hide file tree
Showing 4 changed files with 168 additions and 0 deletions.
6 changes: 6 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
mesa (24.3.0-1deepin1) unstable; urgency=medium

* Add deepin patches

-- xiangzelong <[email protected]> Fri, 29 Nov 2024 14:48:08 +0800

mesa (24.3.0-1) experimental; urgency=medium

* New upstream release.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
From 6963bb29083910204f53924476f54f23c6578b86 Mon Sep 17 00:00:00 2001
From: Mingcong Bai <[email protected]>
Update: xzl <[email protected]>
Date: Fri, 29 Nov 2024 13:55:39 +0800
Subject: [PATCH 1/1] add more Gallium and Vulkan drivers for all architectures

- This is a pre-upstream patch, I will split this into multiple ones to
justify each.
- Enable svga Gallium driver by default on ARM targets as VMware can run ARM
guest machines.
- Enable etnaviv Gallium driver by default on all architectures to support
older JEMO JM-series GPUs.
- The xe kernel driver is now available and possible to be utilised on all
known architectures listed in meson.build. Enable iris Gallium drivers
on all architectures by default.
- Enable more Vulkan drivers following the same spirit as above.
---
meson.build | 25 +++++++++++++++++--------
1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/meson.build b/meson.build
index 52b713c2..651a6e69 100644
--- a/meson.build
+++ b/meson.build
@@ -129,21 +129,21 @@ if gallium_drivers.contains('auto')
if ['x86', 'x86_64'].contains(host_machine.cpu_family())
gallium_drivers = [
'r300', 'r600', 'radeonsi', 'nouveau', 'virgl', 'svga', 'llvmpipe', 'softpipe',
- 'iris', 'crocus', 'i915', 'zink'
+ 'iris', 'crocus', 'i915', 'zink', 'etnaviv"'
]
elif ['arm', 'aarch64'].contains(host_machine.cpu_family())
gallium_drivers = [
'v3d', 'vc4', 'freedreno', 'etnaviv', 'nouveau', 'svga',
'tegra', 'virgl', 'lima', 'panfrost', 'llvmpipe', 'softpipe', 'iris',
- 'zink'
+ 'zink', 'r300', 'r600', 'radeonsi', 'svga', 'asiha'
]
elif ['mips', 'mips64', 'ppc', 'ppc64', 'riscv32', 'riscv64'].contains(host_machine.cpu_family())
gallium_drivers = [
- 'r300', 'r600', 'radeonsi', 'nouveau', 'virgl', 'llvmpipe', 'softpipe', 'zink'
+ 'r300', 'r600', 'radeonsi', 'nouveau', 'virgl', 'llvmpipe', 'softpipe', 'zink', 'iris', 'etnaviv'
]
elif ['loongarch64'].contains(host_machine.cpu_family())
gallium_drivers = [
- 'r300', 'r600', 'radeonsi', 'nouveau', 'virgl', 'etnaviv', 'llvmpipe', 'softpipe', 'zink'
+ 'r300', 'r600', 'radeonsi', 'nouveau', 'virgl', 'etnaviv', 'llvmpipe', 'softpipe', 'zink', 'iris'
]
else
error('Unknown architecture @0@. Please pass -Dgallium-drivers to set driver options. Patches gladly accepted to fix this.'.format(
@@ -219,13 +219,22 @@ _vulkan_drivers = get_option('vulkan-drivers')
if _vulkan_drivers.contains('auto')
if system_has_kms_drm
if host_machine.cpu_family().startswith('x86')
- _vulkan_drivers = ['amd', 'intel', 'intel_hasvk', 'nouveau', 'swrast']
+ _vulkan_drivers = [
+ 'amd', 'intel', 'intel_hasvk', 'nouveau', 'swrast', 'virtio'
+ ]
elif ['arm', 'aarch64'].contains(host_machine.cpu_family())
- _vulkan_drivers = ['swrast', 'intel']
+ _vulkan_drivers = [
+ 'amd', 'broadcom', 'freedreno', 'intel', 'nouveau', 'panfrost',
+ 'swrast', 'virtio'
+ ]
elif ['mips', 'mips64', 'ppc', 'ppc64', 'riscv32', 'riscv64'].contains(host_machine.cpu_family())
- _vulkan_drivers = ['amd', 'swrast']
+ _vulkan_drivers = [
+ 'amd', 'intel', 'nouveau', 'swrast', 'virtio'
+ ]
elif ['loongarch64'].contains(host_machine.cpu_family())
- _vulkan_drivers = ['amd', 'swrast']
+ _vulkan_drivers = [
+ 'amd', 'intel', 'nouveau', 'swrast', 'virtio'
+ ]
else
error('Unknown architecture @0@. Please pass -Dvulkan-drivers to set driver options. Patches gladly accepted to fix this.'.format(
host_machine.cpu_family()))
--
2.45.2
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
From 61f6488f031e5501cdf0027f70698517fac41c89 Mon Sep 17 00:00:00 2001
From: wolfsunyu <[email protected]>
Date: Mon, 29 Oct 2018 10:02:07 +0800
Subject: [PATCH 1/1] add zx's driver to mesa's driver map list and export a
function to print mesa's driver map list

Change-Id: I7d2e99d7ccc7263b2294b9d64ea4d954698a3b35
---
include/pci_ids/zx_pci_ids.h | 2 ++
src/loader/loader.c | 14 ++++++++++++++
src/loader/pci_id_driver_map.h | 7 +++++++
3 files changed, 23 insertions(+)
create mode 100644 include/pci_ids/zx_pci_ids.h

diff --git a/include/pci_ids/zx_pci_ids.h b/include/pci_ids/zx_pci_ids.h
new file mode 100644
index 00000000000..ca02a64ad45
--- /dev/null
+++ b/include/pci_ids/zx_pci_ids.h
@@ -0,0 +1,2 @@
+CHIPSET(0x3A03, Exc)
+CHIPSET(0x3A04, Exc)
diff --git a/src/loader/loader.c b/src/loader/loader.c
index db242b8f8f4..bf3cc4d7d67 100644
--- a/src/loader/loader.c
+++ b/src/loader/loader.c
@@ -73,6 +73,8 @@
#define PATH_MAX 4096
#endif

+__attribute__((visibility("default"))) void zx_print_driver_map_list(void);
+
static void default_logger(int level, const char *fmt, ...)
{
if (level <= _LOADER_WARNING) {
@@ -83,6 +85,18 @@ static void default_logger(int level, const char *fmt, ...)
}
}

+void zx_print_driver_map_list(void)
+{
+ int i=0;
+
+ printf("os mesa driver map list:\n");
+ while(driver_map[i].driver)
+ {
+ printf("vendor_id: %x, driver: %s\n", driver_map[i].vendor_id, driver_map[i].driver);
+ i++;
+ }
+}
+
static loader_logger *log_ = default_logger;

int
diff --git a/src/loader/pci_id_driver_map.h b/src/loader/pci_id_driver_map.h
index b6febe4f53a..3fc0457356e 100644
--- a/src/loader/pci_id_driver_map.h
+++ b/src/loader/pci_id_driver_map.h
@@ -44,6 +44,12 @@ static const int vmwgfx_chip_ids[] = {
#undef CHIPSET
};

+static const int zx_chip_ids[] = {
+#define CHIPSET(chip, family) chip,
+#include "pci_ids/zx_pci_ids.h"
+#undef CHIPSET
+};
+
bool iris_predicate(int fd, const char *driver);
bool nouveau_zink_predicate(int fd, const char *driver);

@@ -64,6 +70,7 @@ static const struct {
{ 0x10de, "zink", NULL, -1, nouveau_zink_predicate },
{ 0x1af4, "virtio_gpu", virtio_gpu_chip_ids, ARRAY_SIZE(virtio_gpu_chip_ids) },
{ 0x15ad, "vmwgfx", vmwgfx_chip_ids, ARRAY_SIZE(vmwgfx_chip_ids) },
+ { 0x1d17, "zx", zx_chip_ids, ARRAY_SIZE(zx_chip_ids), },
};

#endif /* _PCI_ID_DRIVER_MAP_H_ */
--
2.46.0
2 changes: 2 additions & 0 deletions debian/patches/series
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
path_max.diff
src_glx_dri_common.h.diff
0001-fix-meson.build-more-Gallium-Vulkan-drivers-for-on-a.patch
0002-add-zx-s-driver-to-mesa-s-driver-map-list-and-export.patch

0 comments on commit 488d310

Please sign in to comment.