[Scummvm-tracker] [ScummVM :: Bugs] #14599: cannot convert 'float32x4_t' toBuild Error 'uint32x4_t' and 'uint16x8_t' to 'uint32x4_t' on engines/ags/lib/allegro/surface_neon.cpp and surgace_neon.h

ScummVM :: Bugs trac at scummvm.org
Tue Aug 29 09:15:29 UTC 2023


#14599: cannot convert 'float32x4_t' toBuild Error 'uint32x4_t' and 'uint16x8_t' to
'uint32x4_t' on engines/ags/lib/allegro/surface_neon.cpp and surgace_neon.h
----------------------+-------------------------
Reporter:  Kelvfimer  |      Owner:  (none)
    Type:  defect     |     Status:  new
Priority:  normal     |  Component:  Engine: AGS
 Version:             |   Keywords:
    Game:             |
----------------------+-------------------------
 Hello

 ---------------
 Description
 ---------------

 Starting commit 1cf3c7832a236e93b682f5c04fe4daf0332ad2aa I'm having
 several build errors stating:

 engines/ags/lib/allegro/surface_neon.cpp: In function 'uint32x4_t
 AGS3::blendTintSpriteSIMD(uint32x4_t, uint32x4_t, uint32x4_t, bool)':

 engines/ags/lib/allegro/surface_neon.cpp:255:111: error: cannot convert
 'float32x4_t' to 'uint32x4_t'

 engines/ags/lib/allegro/surface_neon.cpp:22:
 /home/kelv/EmuELEC/build.EmuELEC-Amlogic-
 ng.aarch64-4/toolchain/lib/gcc/aarch64-libreelec-linux-
 gnu/12.2.0/include/arm_neon.h:10605:23: note:   initializing argument 1 of
 'uint32x4_t vceqq_u32(uint32x4_t, uint32x4_t)'
 10605 | vceqq_u32 (uint32x4_t __a, uint32x4_t __b)
       |            ~~~~~~~~~~~^~~

 engines/ags/lib/allegro/surface_neon.cpp:256:111: error: cannot convert
 'float32x4_t' to 'uint32x4_t'
   256 |         float32x4_t hgfactors =
 vcvtq_f32_u32(vandq_u32(vandq_u32(vceqq_f32(ssg, smaxes),
 vmvnq_u32(vceqq_u32(ssg, ssr))), vmovq_n_u32(1)));

 lib/gcc/aarch64-libreelec-linux-gnu/12.2.0/include/arm_neon.h:1134:23:
 note:   initializing argument 1 of 'uint32x4_t vandq_u32(uint32x4_t,
 uint32x4_t)'
  1134 | vandq_u32 (uint32x4_t __a, uint32x4_t __b)
       |            ~~~~~~~~~~~^~~
 /home/kelv/EmuELEC/build.EmuELEC-Amlogic-ng.aarch64-4/build/scummvmsa-
 9f4a32f88be3256aa28909deba345b8a1097727b/engines/ags/lib/allegro/surface_neon.cpp:386:88:
 error: cannot convert 'uint16x8_t' to 'uint32x4_t'
   386 |                 ch2 = vandq_u32(rgbBlendSIMD2Bpp(srcCols,
 destCols, alphas), vmvnq_u32(mask));

 surface_neon.cpp:387:34: error: cannot convert 'uint16x8_t' to
 'uint32x4_t'

 -----------
 Platform
 -----------
 Emuelec 4.6 linux 4.9 odroid n2+

 ------------
 Expected behaviour
 ------------
 To be able to build it again.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/14599>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list