From 9f18259223ea17e710a0bcca214b85cd929e7f20 Mon Sep 17 00:00:00 2001
From: David Heidelberg <david@ixit.cz>
Date: Thu, 7 Dec 2023 13:19:03 +0100
Subject: [PATCH] main/mesa: revert rusticl for freedreno

The MR is still in draft and could have potentially impact other
parts of Mesa (GL/VK), so let's rather wait for the exciting news when
fully verified.

Signed-off-by: David Heidelberg <david@ixit.cz>
---
 main/mesa/25840.patch | 430 ------------------------------------------
 main/mesa/26554.patch |  30 ---
 main/mesa/APKBUILD    |   6 +-
 3 files changed, 1 insertion(+), 465 deletions(-)
 delete mode 100644 main/mesa/25840.patch
 delete mode 100644 main/mesa/26554.patch

diff --git a/main/mesa/25840.patch b/main/mesa/25840.patch
deleted file mode 100644
index d1253a8c5a28..000000000000
--- a/main/mesa/25840.patch
+++ /dev/null
@@ -1,430 +0,0 @@
-From 11af8ccacff8987af8e62a3618e238f16b0fe369 Mon Sep 17 00:00:00 2001
-From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Date: Sat, 21 Oct 2023 14:36:00 +0000
-Subject: [PATCH 01/10] freedreno/a6xx: provide clear_buffer implementation
-
-Provide default unoptimized clear_buffer implementation, required for
-rusticl.
-
-Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
----
- src/gallium/drivers/freedreno/a6xx/fd6_blitter.cc | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_blitter.cc b/src/gallium/drivers/freedreno/a6xx/fd6_blitter.cc
-index 65264cbdda1db..bb3e04fc3bf6c 100644
---- a/src/gallium/drivers/freedreno/a6xx/fd6_blitter.cc
-+++ b/src/gallium/drivers/freedreno/a6xx/fd6_blitter.cc
-@@ -32,6 +32,7 @@
- #include "util/u_dump.h"
- #include "util/u_log.h"
- #include "util/u_surface.h"
-+#include "util/u_transfer.h"
- 
- #include "freedreno_blitter.h"
- #include "freedreno_fence.h"
-@@ -1404,6 +1405,7 @@ fd6_blitter_init(struct pipe_context *pctx)
-       return;
- 
-    pctx->clear_texture = fd6_clear_texture<CHIP>;
-+   pctx->clear_buffer = u_default_clear_buffer;
-    ctx->blit = fd6_blit<CHIP>;
- }
- 
--- 
-GitLab
-
-
-From fd1f25c0b7c16ede11df46118c4f88e7eecb87d3 Mon Sep 17 00:00:00 2001
-From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Date: Sat, 21 Oct 2023 14:39:49 +0000
-Subject: [PATCH 02/10] freedreno/a6xx: implement get_compute_state_info
-
-Provide get_compute_state_info() implementation for rusticl.
-
-Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
----
- .../drivers/freedreno/a6xx/fd6_compute.cc     | 21 +++++++++++++++++++
- 1 file changed, 21 insertions(+)
-
-diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_compute.cc b/src/gallium/drivers/freedreno/a6xx/fd6_compute.cc
-index 5b94f4567ae71..c325891424c58 100644
---- a/src/gallium/drivers/freedreno/a6xx/fd6_compute.cc
-+++ b/src/gallium/drivers/freedreno/a6xx/fd6_compute.cc
-@@ -259,6 +259,26 @@ fd6_compute_state_delete(struct pipe_context *pctx, void *_hwcso)
-    free(hwcso);
- }
- 
-+static void
-+fd6_get_compute_state_info(struct pipe_context *pctx, void *cso, struct pipe_compute_state_object_info *info)
-+{
-+   static struct ir3_shader_key key; /* static is implicitly zeroed */
-+   struct fd6_compute_state *cs = (struct fd6_compute_state *)cso;
-+   struct ir3_shader_state *hwcso = (struct ir3_shader_state *)cs->hwcso;
-+   struct ir3_shader_variant *v = ir3_shader_variant(ir3_get_shader(hwcso), key, false, &pctx->debug);
-+   struct fd_context *ctx = fd_context(pctx);
-+
-+   if (ctx->screen->info->a6xx.supports_double_threadsize) {
-+      info->max_threads = 2048;
-+      info->preferred_simd_size = 128;
-+   } else {
-+      info->max_threads = 1024;
-+      info->preferred_simd_size = 64;
-+   }
-+   info->private_memory = v->pvtmem_size;
-+   info->simd_sizes = info->preferred_simd_size;
-+}
-+
- template <chip CHIP>
- void
- fd6_compute_init(struct pipe_context *pctx)
-@@ -269,6 +289,7 @@ fd6_compute_init(struct pipe_context *pctx)
-    ctx->launch_grid = fd6_launch_grid<CHIP>;
-    pctx->create_compute_state = fd6_compute_state_create;
-    pctx->delete_compute_state = fd6_compute_state_delete;
-+   pctx->get_compute_state_info = fd6_get_compute_state_info;
- }
- 
- /* Teach the compiler about needed variants: */
--- 
-GitLab
-
-
-From 61fabb6030da2974f85547413f9305b09735fd75 Mon Sep 17 00:00:00 2001
-From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Date: Sat, 21 Oct 2023 14:40:57 +0000
-Subject: [PATCH 03/10] freedreno/a6xx: handle MESA_SHADER_KERNEL in
- fd6_emit_shader
-
-The fd6_emit_shader() contains the `if (type == MESA_SHADER_COMPUTE)
-type = MESA_SHADER_COMPUTE` construction, which is obviously useless.
-Change that to treat MESA_SHADER_KERNEL as MESA_SHADER_COMPUTE shaders.
-
-Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
----
- src/gallium/drivers/freedreno/a6xx/fd6_program.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_program.cc b/src/gallium/drivers/freedreno/a6xx/fd6_program.cc
-index 4ee1852b75756..183bba9b1af84 100644
---- a/src/gallium/drivers/freedreno/a6xx/fd6_program.cc
-+++ b/src/gallium/drivers/freedreno/a6xx/fd6_program.cc
-@@ -119,7 +119,7 @@ fd6_emit_shader(struct fd_context *ctx, struct fd_ringbuffer *ring,
- #endif
- 
-    gl_shader_stage type = so->type;
--   if (type == MESA_SHADER_COMPUTE)
-+   if (type == MESA_SHADER_KERNEL)
-       type = MESA_SHADER_COMPUTE;
- 
-    enum a6xx_threadsize thrsz =
--- 
-GitLab
-
-
-From 7f406db42a0c4552d10d46f40569104a540dd4bb Mon Sep 17 00:00:00 2001
-From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Date: Sat, 21 Oct 2023 14:44:04 +0000
-Subject: [PATCH 04/10] freedreno/ir3: treat MESA_SHADER_KERNEL in the same way
- as compute
-
-In ir3_shader_descriptor_set() tread MESA_SHADER_KERNEL shaders in the
-same way, as PIPE_SHADER_COMPUTE shaders, return 0.
-
-Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
----
- src/gallium/drivers/freedreno/ir3/ir3_descriptor.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/gallium/drivers/freedreno/ir3/ir3_descriptor.h b/src/gallium/drivers/freedreno/ir3/ir3_descriptor.h
-index fa14f855134ff..8f72961d8e0de 100644
---- a/src/gallium/drivers/freedreno/ir3/ir3_descriptor.h
-+++ b/src/gallium/drivers/freedreno/ir3/ir3_descriptor.h
-@@ -59,6 +59,7 @@ ir3_shader_descriptor_set(enum pipe_shader_type shader)
-    case PIPE_SHADER_GEOMETRY:  return 3;
-    case PIPE_SHADER_FRAGMENT:  return 4;
-    case PIPE_SHADER_COMPUTE:   return 0;
-+   case MESA_SHADER_KERNEL:   return 0;
-    default:
-       unreachable("bad shader stage");
-       return ~0;
--- 
-GitLab
-
-
-From ad264249c20ce03094f85b5698f46474767dccd1 Mon Sep 17 00:00:00 2001
-From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Date: Sat, 30 Sep 2023 10:36:19 +0000
-Subject: [PATCH 05/10] rusticl: enable freedreno
-
-To really use the driver, specify the environment variable:
-
-  export RUSTICL_ENABLE=msm
-
-Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
----
- src/gallium/targets/rusticl/meson.build | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/gallium/targets/rusticl/meson.build b/src/gallium/targets/rusticl/meson.build
-index b2963fe6dfa76..234eba9fb2fb7 100644
---- a/src/gallium/targets/rusticl/meson.build
-+++ b/src/gallium/targets/rusticl/meson.build
-@@ -50,6 +50,7 @@ librusticl = shared_library(
-   ],
-   dependencies : [
-     driver_asahi,
-+    driver_freedreno,
-     driver_iris,
-     driver_nouveau,
-     driver_r600,
--- 
-GitLab
-
-
-From 1904d5d6ea9c22bc979a26d972ee8ad7315ed4ee Mon Sep 17 00:00:00 2001
-From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Date: Sun, 22 Oct 2023 01:59:12 +0000
-Subject: [PATCH 06/10] ir3: lower the hadd operations
-
-There do not seem to be instructions for the ihadd/uhadd NIR operations.
-Lower them to simpler ops.
-
-Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
----
- src/freedreno/ir3/ir3_compiler.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/freedreno/ir3/ir3_compiler.c b/src/freedreno/ir3/ir3_compiler.c
-index 34b08b2fe0bbc..03973c691c761 100644
---- a/src/freedreno/ir3/ir3_compiler.c
-+++ b/src/freedreno/ir3/ir3_compiler.c
-@@ -121,6 +121,9 @@ static const nir_shader_compiler_options ir3_base_options = {
-    .lower_cs_local_index_to_id = true,
-    .lower_wpos_pntc = true,
- 
-+   .lower_hadd = true,
-+   .lower_hadd64 = true,
-+
-    .lower_int64_options = (nir_lower_int64_options)~0,
-    .lower_doubles_options = (nir_lower_doubles_options)~0,
- };
--- 
-GitLab
-
-
-From c4c2b81d17de57a7e77d5e2cce8b3266406e71ff Mon Sep 17 00:00:00 2001
-From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Date: Sun, 22 Oct 2023 04:01:23 +0000
-Subject: [PATCH 07/10] ir3: handle nir_intrinsic_load_ubo in
- lower_wide_load_store()
-
-Unlike other load intrinsics, which use simple address as the only source, the
-load_ubo intrinsic uses index and offset sources. Modify lower_wide_load_store
-accordingly, to handle the load_ubo intrinsic.
-
-Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
----
- .../ir3/ir3_nir_lower_wide_load_store.c       | 34 +++++++++++++++++++
- 1 file changed, 34 insertions(+)
-
-diff --git a/src/freedreno/ir3/ir3_nir_lower_wide_load_store.c b/src/freedreno/ir3/ir3_nir_lower_wide_load_store.c
-index a3fb2eec7d97b..8b36ef5e9e2f7 100644
---- a/src/freedreno/ir3/ir3_nir_lower_wide_load_store.c
-+++ b/src/freedreno/ir3/ir3_nir_lower_wide_load_store.c
-@@ -79,6 +79,40 @@ lower_wide_load_store(nir_builder *b, nir_instr *instr, void *unused)
-       }
- 
-       return NIR_LOWER_INSTR_PROGRESS_REPLACE;
-+   } else if (intr->intrinsic == nir_intrinsic_load_ubo) {
-+      unsigned num_comp = nir_intrinsic_dest_components(intr);
-+      unsigned bit_size = intr->def.bit_size;
-+      nir_def *offset = intr->src[1].ssa;
-+      nir_def *components[num_comp];
-+
-+      for (unsigned off = 0; off < num_comp;) {
-+         unsigned c = MIN2(num_comp - off, 4);
-+
-+         nir_intrinsic_instr *load =
-+            nir_intrinsic_instr_create(b->shader, intr->intrinsic);
-+         load->num_components = c;
-+         load->src[0] = intr->src[0];
-+         load->src[1] = nir_src_for_ssa(offset);
-+         nir_intrinsic_set_align(load, nir_intrinsic_align(intr), 0);
-+         nir_def_init(&load->instr, &load->def, c, bit_size);
-+         if (nir_intrinsic_has_range(intr))
-+            nir_intrinsic_set_range(load, nir_intrinsic_range(intr));
-+         if (nir_intrinsic_has_range_base(intr))
-+            nir_intrinsic_set_range_base(load, nir_intrinsic_range_base(intr));
-+         if (nir_intrinsic_has_base(intr))
-+            nir_intrinsic_set_base(load, nir_intrinsic_base(intr));
-+         nir_builder_instr_insert(b, &load->instr);
-+
-+         offset = nir_iadd(b,
-+               nir_imm_intN_t(b, (c * bit_size) / 8, offset->bit_size),
-+               offset);
-+
-+         for (unsigned i = 0; i < c; i++) {
-+            components[off++] = nir_channel(b, &load->def, i);
-+         }
-+      }
-+
-+      return nir_build_alu_src_arr(b, nir_op_vec(num_comp), components);
-    } else {
-       unsigned num_comp = nir_intrinsic_dest_components(intr);
-       unsigned bit_size = intr->def.bit_size;
--- 
-GitLab
-
-
-From af0ae59947b35710974eaa336661d167738abd8e Mon Sep 17 00:00:00 2001
-From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Date: Sun, 22 Oct 2023 09:47:41 +0000
-Subject: [PATCH 08/10] ir3: fix shift amount for 8-bit shifts
-
-Follow the 16-bit approach and convert shift amount to 8b for 8b shift
-instructions.
-
-Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
----
- src/freedreno/ir3/ir3_compiler_nir.c | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/src/freedreno/ir3/ir3_compiler_nir.c b/src/freedreno/ir3/ir3_compiler_nir.c
-index d1f36c7f493ef..0da15340814b1 100644
---- a/src/freedreno/ir3/ir3_compiler_nir.c
-+++ b/src/freedreno/ir3/ir3_compiler_nir.c
-@@ -294,10 +294,12 @@ static struct ir3_instruction *
- resize_shift_amount(struct ir3_context *ctx, struct ir3_instruction *src,
-                     unsigned bs)
- {
--   if (bs != 16)
-+   if (bs == 16)
-+      return ir3_COV(ctx->block, src, TYPE_U32, TYPE_U16);
-+   else if (bs == 8)
-+      return ir3_COV(ctx->block, src, TYPE_U32, TYPE_U8);
-+   else
-       return src;
--
--   return ir3_COV(ctx->block, src, TYPE_U32, TYPE_U16);
- }
- 
- static void
--- 
-GitLab
-
-
-From 67a5854ff5110e86d7c3a2c498c3eef71a58ee77 Mon Sep 17 00:00:00 2001
-From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Date: Sun, 22 Oct 2023 18:05:23 +0000
-Subject: [PATCH 09/10] ir3/a6xx: fix ldg/stg of ulong2 and ulong4 data
-
-Partially revert the commit f4c9e9329cf ("ir3/a6xx: Fix immediate
-offset stg/ldg path").
-
-There is no need to multiply the immediate offsets by 4. Doing so
-results in loading and/or storing the data at wrong locations.
-
-Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
----
- src/freedreno/ir3/ir3_a6xx.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/freedreno/ir3/ir3_a6xx.c b/src/freedreno/ir3/ir3_a6xx.c
-index 1592a56a397c0..33b70323678c6 100644
---- a/src/freedreno/ir3/ir3_a6xx.c
-+++ b/src/freedreno/ir3/ir3_a6xx.c
-@@ -343,7 +343,7 @@ emit_intrinsic_load_global_ir3(struct ir3_context *ctx,
-                                  nir_src_as_int(intr->src[1]) > -(1 << 10);
- 
-    if (const_offset_in_bounds) {
--      load = ir3_LDG(b, addr, 0, create_immed(b, nir_src_as_int(intr->src[1]) * 4),
-+      load = ir3_LDG(b, addr, 0, create_immed(b, nir_src_as_int(intr->src[1])),
-                      0, create_immed(b, dest_components), 0);
-    } else {
-       offset = ir3_get_src(ctx, &intr->src[1])[0];
-@@ -386,7 +386,7 @@ emit_intrinsic_store_global_ir3(struct ir3_context *ctx,
- 
-    if (const_offset_in_bounds) {
-       stg = ir3_STG(b, addr, 0,
--                    create_immed(b, nir_src_as_int(intr->src[2]) * 4), 0,
-+                    create_immed(b, nir_src_as_int(intr->src[2])), 0,
-                     value, 0,
-                     create_immed(b, ncomp), 0);
-    } else {
--- 
-GitLab
-
-
-From 4fc3f74ef614cdd465b183db077f647e5c9e7aa9 Mon Sep 17 00:00:00 2001
-From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Date: Mon, 13 Nov 2023 21:24:16 +0200
-Subject: [PATCH 10/10] freedreno/drm: fallback to default BO allocation if
- heap alloc fails
-
-Allow fd_bo_heap_alloc() to return NULL if the heap is exausted (or
-fragmented) instead of segfaulting. Then handle the error properly in
-bo_new().
-
-Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
----
- src/freedreno/drm/freedreno_bo.c      |  8 +++++---
- src/freedreno/drm/freedreno_bo_heap.c | 16 +++++++++++-----
- 2 files changed, 16 insertions(+), 8 deletions(-)
-
-diff --git a/src/freedreno/drm/freedreno_bo.c b/src/freedreno/drm/freedreno_bo.c
-index efde63ec73fca..1415cb66ed9a5 100644
---- a/src/freedreno/drm/freedreno_bo.c
-+++ b/src/freedreno/drm/freedreno_bo.c
-@@ -132,9 +132,11 @@ bo_new(struct fd_device *dev, uint32_t size, uint32_t flags,
- 
-    if (size < FD_BO_HEAP_BLOCK_SIZE) {
-       if ((flags == 0) && dev->default_heap)
--         return fd_bo_heap_alloc(dev->default_heap, size);
--      if ((flags == RING_FLAGS) && dev->ring_heap)
--         return fd_bo_heap_alloc(dev->ring_heap, size);
-+         bo = fd_bo_heap_alloc(dev->default_heap, size);
-+      else if ((flags == RING_FLAGS) && dev->ring_heap)
-+         bo = fd_bo_heap_alloc(dev->ring_heap, size);
-+      if (bo)
-+         return bo;
-    }
- 
-    /* demote cached-coherent to WC if not supported: */
-diff --git a/src/freedreno/drm/freedreno_bo_heap.c b/src/freedreno/drm/freedreno_bo_heap.c
-index dc1af739d23d4..64c498255e669 100644
---- a/src/freedreno/drm/freedreno_bo_heap.c
-+++ b/src/freedreno/drm/freedreno_bo_heap.c
-@@ -211,10 +211,6 @@ fd_bo_heap_alloc(struct fd_bo_heap *heap, uint32_t size)
- {
-    heap_clean(heap, true);
- 
--   struct sa_bo *s = calloc(1, sizeof(*s));
--
--   s->heap = heap;
--
-    /* util_vma does not like zero byte allocations, which we get, for
-     * ex, with the initial query buffer allocation on pre-a5xx:
-     */
-@@ -229,7 +225,17 @@ fd_bo_heap_alloc(struct fd_bo_heap *heap, uint32_t size)
-     * (The 8k threshold is just a random guess, but seems to work ok)
-     */
-    heap->heap.alloc_high = (size <= 8 * 1024);
--   s->offset = util_vma_heap_alloc(&heap->heap, size, SUBALLOC_ALIGNMENT);
-+   uint64_t offset = util_vma_heap_alloc(&heap->heap, size, SUBALLOC_ALIGNMENT);
-+   if (!offset) {
-+      simple_mtx_unlock(&heap->lock);
-+      return NULL;
-+   }
-+
-+   struct sa_bo *s = calloc(1, sizeof(*s));
-+
-+   s->heap = heap;
-+   s->offset = offset;
-+
-    assert((s->offset / FD_BO_HEAP_BLOCK_SIZE) == (s->offset + size - 1) / FD_BO_HEAP_BLOCK_SIZE);
-    unsigned idx = block_idx(s);
-    if (HEAP_DEBUG)
--- 
-GitLab
-
diff --git a/main/mesa/26554.patch b/main/mesa/26554.patch
deleted file mode 100644
index d074082d3570..000000000000
--- a/main/mesa/26554.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 8cb7b0ed9074493faca6c1b57b95ec1bf5e12bd3 Mon Sep 17 00:00:00 2001
-From: David Heidelberg <david.heidelberg@collabora.com>
-Date: Wed, 6 Dec 2023 21:49:06 +0100
-Subject: [PATCH] freedreno: implement PIPE_CAP_TIMER_RESOLUTION
-
-Allows rusticl to create queues with profiling enabled.
-
-Fixes: 660f2eabe11 ("gallium: add PIPE_CAP_TIMER_RESOLUTION")
-
-Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
----
- src/gallium/drivers/freedreno/freedreno_screen.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c
-index 6cadea8c2eb61..e75d21eadee38 100644
---- a/src/gallium/drivers/freedreno/freedreno_screen.c
-+++ b/src/gallium/drivers/freedreno/freedreno_screen.c
-@@ -590,6 +590,8 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
-       /* only a4xx, requires new enough kernel so we know max_freq: */
-       return (screen->max_freq > 0) &&
-              (is_a4xx(screen) || is_a5xx(screen) || is_a6xx(screen));
-+   case PIPE_CAP_TIMER_RESOLUTION:
-+      return DIV_ROUND_UP(1000000000ull, 19200000); /* RBBM timer */
-    case PIPE_CAP_QUERY_BUFFER_OBJECT:
-    case PIPE_CAP_QUERY_SO_OVERFLOW:
-    case PIPE_CAP_QUERY_PIPELINE_STATISTICS_SINGLE:
--- 
-GitLab
-
diff --git a/main/mesa/APKBUILD b/main/mesa/APKBUILD
index 8f3e3d16a74e..d0d1b4836c95 100644
--- a/main/mesa/APKBUILD
+++ b/main/mesa/APKBUILD
@@ -1,7 +1,7 @@
 # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
 pkgname=mesa
 pkgver=23.3.0
-pkgrel=0
+pkgrel=1
 pkgdesc="Mesa DRI OpenGL library"
 url="https://www.mesa3d.org"
 arch="all"
@@ -63,8 +63,6 @@ makedepends="
 	"
 source="
 	https://mesa.freedesktop.org/archive/mesa-${pkgver/_/-}.tar.xz
-	25840.patch
-	26554.patch
 	no-unlink-megadrivers.patch
 	"
 replaces="mesa-dricore"
@@ -368,7 +366,5 @@ _vulkan_layers() {
 
 sha512sums="
 3568b571974a2c6c0c3a4cc614c851729962e39926f0af906ba91604f9d43c0618db7df004cbec5d9e5dbade2d6bde818608c9aa1686183994d68ad3e6ac4521  mesa-23.3.0.tar.xz
-6aa65cc4b9ae9b6c84b73116dedf6ac34434b23be27351488e6d85e988aa90052e0299c6c7e102e76107871581de056a1c0abccb042dad8d1e3954365adb76a7  25840.patch
-1de2771e86372758126b7815a35b892e46c5e73ee6d893384d98bfa504778a3c06fbac3ea93023c039e68c91e60689211d4c0d9304e441824895522b0214cfb8  26554.patch
 e3d39d61b14188cd5a22e19e8c065650995f85943e6c42ec5775db5b76a9ebe8913253a8b9ac32056ac13a2c357cd951f867ecb39976c52f7d014dcc1a2d87dc  no-unlink-megadrivers.patch
 "
-- 
GitLab