about summary refs log tree commit diff
path: root/pkgs/development/libraries/mesa
diff options
context:
space:
mode:
authorK900 <me@0upti.me>2024-03-01 11:50:40 +0300
committerK900 <me@0upti.me>2024-03-01 11:50:40 +0300
commit3ecdb722ea76a3b72d375218c93d8a98dd48f75b (patch)
tree6197ebab92bf02e59d9fe745ab16df07c7779517 /pkgs/development/libraries/mesa
parentee743c92310804de4b4505ff0ac40b4f3f4f49de (diff)
mesa: backport radeonsi crash fix for old GPUs
Diffstat (limited to 'pkgs/development/libraries/mesa')
-rw-r--r--pkgs/development/libraries/mesa/backport-radeon-crash-fix.patch13
-rw-r--r--pkgs/development/libraries/mesa/default.nix5
2 files changed, 18 insertions, 0 deletions
diff --git a/pkgs/development/libraries/mesa/backport-radeon-crash-fix.patch b/pkgs/development/libraries/mesa/backport-radeon-crash-fix.patch
new file mode 100644
index 0000000000000..62915abcf242a
--- /dev/null
+++ b/pkgs/development/libraries/mesa/backport-radeon-crash-fix.patch
@@ -0,0 +1,13 @@
+diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
+index 2e1d9c488e2..7979cad75fa 100644
+--- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
++++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
+@@ -729,7 +729,7 @@ bool radeon_bo_can_reclaim_slab(void *priv, struct pb_slab_entry *entry)
+ {
+    struct radeon_bo *bo = container_of(entry, struct radeon_bo, u.slab.entry);
+ 
+-   return radeon_bo_can_reclaim(NULL, &bo->base);
++   return radeon_bo_can_reclaim(priv, &bo->base);
+ }
+ 
+ static void radeon_bo_slab_destroy(void *winsys, struct pb_buffer_lean *_buf)
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index dff2f0021d468..53b7ccafd9e14 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -141,6 +141,11 @@ self = stdenv.mkDerivation {
 
   patches = [
     ./opencl.patch
+
+    # Backport crash fix for Radeon (legacy) kernel driver
+    # see https://gitlab.freedesktop.org/mesa/mesa/-/issues/10613
+    # FIXME: remove when merged upstream
+    ./backport-radeon-crash-fix.patch
   ];
 
   postPatch = ''