Fix s390x regressions
Resolves: https://issues.redhat.com/browse/RHEL-144813
This commit is contained in:
parent
d70d3a472c
commit
77fe92ce78
@ -0,0 +1,59 @@
|
||||
From 102d282d8add081f5f1aab35974218f151744ac5 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= <jose.exposito89@gmail.com>
|
||||
Date: Mon, 23 Feb 2026 08:40:07 +0100
|
||||
Subject: [PATCH] Revert "dri: fix __DRI_IMAGE_FORMAT* to PIPE_FORMAT*
|
||||
mappings"
|
||||
|
||||
This reverts commit 2ae8d0362bec12e84f787f226d2ba7a18130084f.
|
||||
---
|
||||
src/loader/loader_dri_helper.h | 18 ++++++++++--------
|
||||
1 file changed, 10 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/src/loader/loader_dri_helper.h b/src/loader/loader_dri_helper.h
|
||||
index 169e36b5d80..0d801e99648 100644
|
||||
--- a/src/loader/loader_dri_helper.h
|
||||
+++ b/src/loader/loader_dri_helper.h
|
||||
@@ -61,8 +61,10 @@ struct loader_screen_resources {
|
||||
|
||||
|
||||
/**
|
||||
- * These formats are endian independent they result in the same layout
|
||||
- * regradless of a big or little endian cpu.
|
||||
+ * These formats correspond to the similarly named MESA_FORMAT_*
|
||||
+ * tokens, except in the native endian of the CPU. For example, on
|
||||
+ * little endian __DRI_IMAGE_FORMAT_XRGB8888 corresponds to
|
||||
+ * MESA_FORMAT_XRGB8888, but MESA_FORMAT_XRGB8888_REV on big endian.
|
||||
*
|
||||
* __DRI_IMAGE_FORMAT_NONE is for images that aren't directly usable
|
||||
* by the driver (YUV planar formats) but serve as a base image for
|
||||
@@ -73,21 +75,21 @@ struct loader_screen_resources {
|
||||
* createImageFromNames (NONE, see above) and fromPlane (R8 & GR88).
|
||||
*/
|
||||
#define __DRI_IMAGE_FORMAT_RGB565 PIPE_FORMAT_B5G6R5_UNORM
|
||||
-#define __DRI_IMAGE_FORMAT_XRGB8888 PIPE_FORMAT_B8G8R8X8_UNORM
|
||||
-#define __DRI_IMAGE_FORMAT_ARGB8888 PIPE_FORMAT_B8G8R8A8_UNORM
|
||||
-#define __DRI_IMAGE_FORMAT_ABGR8888 PIPE_FORMAT_R8G8B8A8_UNORM
|
||||
-#define __DRI_IMAGE_FORMAT_XBGR8888 PIPE_FORMAT_R8G8B8X8_UNORM
|
||||
+#define __DRI_IMAGE_FORMAT_XRGB8888 PIPE_FORMAT_BGRX8888_UNORM
|
||||
+#define __DRI_IMAGE_FORMAT_ARGB8888 PIPE_FORMAT_BGRA8888_UNORM
|
||||
+#define __DRI_IMAGE_FORMAT_ABGR8888 PIPE_FORMAT_RGBA8888_UNORM
|
||||
+#define __DRI_IMAGE_FORMAT_XBGR8888 PIPE_FORMAT_RGBX8888_UNORM
|
||||
#define __DRI_IMAGE_FORMAT_RGB888 PIPE_FORMAT_B8G8R8_UNORM
|
||||
#define __DRI_IMAGE_FORMAT_BGR888 PIPE_FORMAT_R8G8B8_UNORM
|
||||
#define __DRI_IMAGE_FORMAT_R8 PIPE_FORMAT_R8_UNORM
|
||||
-#define __DRI_IMAGE_FORMAT_GR88 PIPE_FORMAT_R8G8_UNORM
|
||||
+#define __DRI_IMAGE_FORMAT_GR88 PIPE_FORMAT_RG88_UNORM
|
||||
#define __DRI_IMAGE_FORMAT_NONE PIPE_FORMAT_NONE
|
||||
#define __DRI_IMAGE_FORMAT_XRGB2101010 PIPE_FORMAT_B10G10R10X2_UNORM
|
||||
#define __DRI_IMAGE_FORMAT_ARGB2101010 PIPE_FORMAT_B10G10R10A2_UNORM
|
||||
#define __DRI_IMAGE_FORMAT_SARGB8 PIPE_FORMAT_BGRA8888_SRGB
|
||||
#define __DRI_IMAGE_FORMAT_ARGB1555 PIPE_FORMAT_B5G5R5A1_UNORM
|
||||
#define __DRI_IMAGE_FORMAT_R16 PIPE_FORMAT_R16_UNORM
|
||||
-#define __DRI_IMAGE_FORMAT_GR1616 PIPE_FORMAT_R16G16_UNORM
|
||||
+#define __DRI_IMAGE_FORMAT_GR1616 PIPE_FORMAT_RG1616_UNORM
|
||||
#define __DRI_IMAGE_FORMAT_XBGR2101010 PIPE_FORMAT_R10G10B10X2_UNORM
|
||||
#define __DRI_IMAGE_FORMAT_ABGR2101010 PIPE_FORMAT_R10G10B10A2_UNORM
|
||||
#define __DRI_IMAGE_FORMAT_SABGR8 PIPE_FORMAT_RGBA8888_SRGB
|
||||
--
|
||||
2.53.0
|
||||
|
||||
36
0001-gallivm-handle-u16-correct-on-const-loads.patch
Normal file
36
0001-gallivm-handle-u16-correct-on-const-loads.patch
Normal file
@ -0,0 +1,36 @@
|
||||
From c016346b50e9085b531f9bcbd7cfd63d3806a3e1 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@redhat.com>
|
||||
Date: Wed, 11 Feb 2026 05:47:57 +1000
|
||||
Subject: [PATCH] gallivm: handle u16 correct on const loads.
|
||||
|
||||
I somehow screwed this up on my previous attempt at fixing this bug,
|
||||
|
||||
This should fix the loop limiter bug on big endian properly.
|
||||
|
||||
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
|
||||
Cc: mesa-stable
|
||||
Fixes: e28cfb2bada2 ("gallivm: handle u8/u16 const loads properly on big-endian.")
|
||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39813>
|
||||
---
|
||||
src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c | 5 +----
|
||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c
|
||||
index 770f1cc6592..e755225dce9 100644
|
||||
--- a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c
|
||||
+++ b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c
|
||||
@@ -1269,10 +1269,7 @@ emit_load_const(struct lp_build_nir_soa_context *bld,
|
||||
|
||||
for (unsigned i = 0; i < instr->def.num_components; i++) {
|
||||
outval[i] = lp_build_const_int_vec(bld->base.gallivm, int_bld->type,
|
||||
- bits == 8 ? instr->value[i].u8 :
|
||||
- bits == 16 ? instr->value[i].u32 :
|
||||
- bits == 32 ? instr->value[i].u32 :
|
||||
- instr->value[i].u64);
|
||||
+ nir_const_value_as_uint(instr->value[i], bits));
|
||||
}
|
||||
for (unsigned i = instr->def.num_components; i < NIR_MAX_VEC_COMPONENTS; i++) {
|
||||
outval[i] = NULL;
|
||||
--
|
||||
2.53.0
|
||||
|
||||
@ -140,6 +140,11 @@ Source15: https://crates.io/api/v1/crates/rustc-hash/%{rustc_hash_ver}/dow
|
||||
Patch11: 0001-device-select-add-a-layer-setting-to-disable-device-.patch
|
||||
Patch12: 0002-zink-use-device-select-layer-settings-to-disable-dev.patch
|
||||
|
||||
# Fix s390x regressions:
|
||||
# https://issues.redhat.com/browse/RHEL-144813
|
||||
Patch13: 0001-gallivm-handle-u16-correct-on-const-loads.patch
|
||||
Patch14: 0001-Revert-dri-fix-__DRI_IMAGE_FORMAT-to-PIPE_FORMAT-map.patch
|
||||
|
||||
BuildRequires: meson
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
|
||||
Loading…
Reference in New Issue
Block a user