Bug 455799 - doesn't build with xsimd 8.1.0
Summary: doesn't build with xsimd 8.1.0
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: git master (please specify the git hash!)
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: amyspark
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-06-22 17:49 UTC by Antonio Rojas
Modified: 2022-06-22 22:27 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Antonio Rojas 2022-06-22 17:49:58 UTC
krita 5.1 beta 1 fails to build on x86_64 with xsimd 8.1, which is the latest release

In file included from /build/krita/src/krita-5.1.0-beta1/libs/pigment/compositeops/KoStreamedMath.h:14,
                 from /build/krita/src/krita-5.1.0-beta1/libs/pigment/KoAlphaMaskApplicator.h:55:
/build/krita/src/krita-5.1.0-beta1/libs/pigment/compositeops/KoRgbaInterleavers.h:15:40: error: ‘enable_sized_t’ in namespace ‘xsimd::kernel::detail’ does not name a template type
   15 | using enable_sized_t = kernel::detail::enable_sized_t<T, S>;
      |                                        ^~~~~~~~~~~~~~

From a quick look, enable_sized_t is only implemented for the neon architecture in 8.1
Comment 1 amyspark 2022-06-22 22:25:18 UTC
Git commit dcf4bf00bc3bcbc7910c5c6871ec621bde1c5b6a by L. E. Segovia.
Committed on 22/06/2022 at 22:25.
Pushed by lsegovia into branch 'master'.

KoRgbaInterleavers: fix compilation with xsimd 8.1.0

M  +4    -2    libs/pigment/compositeops/KoRgbaInterleavers.h

https://invent.kde.org/graphics/krita/commit/dcf4bf00bc3bcbc7910c5c6871ec621bde1c5b6a
Comment 2 amyspark 2022-06-22 22:26:03 UTC
Git commit d88e952f0473c83a21c75b439521188059a9beb6 by L. E. Segovia.
Committed on 22/06/2022 at 22:25.
Pushed by lsegovia into branch 'krita/5.1'.

KoRgbaInterleavers: fix compilation with xsimd 8.1.0
(cherry picked from commit dcf4bf00bc3bcbc7910c5c6871ec621bde1c5b6a)

M  +4    -2    libs/pigment/compositeops/KoRgbaInterleavers.h

https://invent.kde.org/graphics/krita/commit/d88e952f0473c83a21c75b439521188059a9beb6
Comment 3 amyspark 2022-06-22 22:27:02 UTC
> From a quick look, enable_sized_t is only implemented for the neon architecture in 8.1

I moved it to the general namespace in one of the upstreams, sadly that one didn't make it into 8.1. The bug was fixed by using explicit definitions instead.