pixman: Branch 'master'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Nov 7 01:08:23 UTC 2024


 meson.build |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit da6350001fdba00f77ca8b590171c943cb425ec4
Author: Sergei Trofimovich <slyich at gmail.com>
Date:   Wed Nov 6 22:37:58 2024 +0000

    RISC-V: fix rvv auto-detection on `gcc-13`
    
    Without the change auto-detection of `rvv` support is incomplete as it
    assumes `vfloat32m1x4_t` is always present if `vfloat32m1_t` is probed
    successfully.
    
    It looks like at least on `gcc-13.3.0` `vfloat32m1_t` is present while
    `vfloat32m1x4_t` is not. This causes build failure as:
    
        ../pixman/pixman-rvv.c:464:5: error: unknown type name 'vfloat32m1x4_t'; did you mean 'vfloat32m4_t'?
          464 |     vfloat32m1x4_t sa_sr_sg_sb, da_dr_dg_db, ma_mr_mg_mb;
              |     ^~~~~~~~~~~~~~
              |     vfloat32m4_t
    
    The change probes for both types as both are used in `pixman-rvv.c`.
    
    Tested on `gcc-13`, `gcc-14`, `gcc-15`.
    
    Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/115

diff --git a/meson.build b/meson.build
index 964ce27..c04cf73 100644
--- a/meson.build
+++ b/meson.build
@@ -372,7 +372,11 @@ if not use_rvv.disabled()
   if host_machine.cpu_family() == 'riscv64'
     if cc.compiles('''
         #include <riscv_vector.h>
-        int main() { vfloat32m1_t tmp; return 0; }
+        int main() {
+            vfloat32m1_t tmp1; /* added in gcc-13 */
+            vfloat32m1x4_t tmp2; /* added in gcc-14 */
+            return 0;
+        }
       ''',
       args : rvv_flags,
       name : 'RISC-V Vector Intrinsic Support')


More information about the xorg-commit mailing list