diff options
author | Georgy Yakovlev <gyakovlev@gentoo.org> | 2022-01-12 13:23:58 -0800 |
---|---|---|
committer | Georgy Yakovlev <gyakovlev@gentoo.org> | 2022-01-12 14:03:55 -0800 |
commit | fe5c356ae6f13e7bd15361a4f3f17e891a629192 (patch) | |
tree | d21279b6f781d655c198a90f3fe759b24e5fb6dd /media-libs/graphene | |
parent | profiles: remove >=media-sound/easyeffects-6.2.0 mask (diff) | |
download | gentoo-fe5c356ae6f13e7bd15361a4f3f17e891a629192.tar.gz gentoo-fe5c356ae6f13e7bd15361a4f3f17e891a629192.tar.bz2 gentoo-fe5c356ae6f13e7bd15361a4f3f17e891a629192.zip |
media-libs/graphene: add 64-bit vector detection patch
MASSIVE prerformance increase on arm64 and ppc64le
fedora ships this patch too, so it's well tested
1/22 mutest / general OK 0.18s
2/22 mutest / hooks OK 0.17s
3/22 mutest / types OK 0.17s
4/22 graphene / box OK 0.16s 65 subtests passed
5/22 graphene / euler OK 0.16s 10 subtests passed
6/22 graphene / frustum OK 0.15s 21 subtests passed
7/22 graphene / matrix OK 0.15s 70 subtests passed
8/22 graphene / plane OK 0.14s 13 subtests passed
9/22 graphene / point OK 0.14s 24 subtests passed
10/22 graphene / point3d OK 0.13s 36 subtests passed
11/22 graphene / quad OK 0.13s 12 subtests passed
12/22 graphene / quaternion OK 0.12s 24 subtests passed
13/22 graphene / ray OK 0.12s 21 subtests passed
14/22 graphene / rect OK 0.12s 65 subtests passed
15/22 graphene / simd OK 0.11s 25 subtests passed
16/22 graphene / size OK 0.11s 17 subtests passed
17/22 graphene / sphere OK 0.10s 17 subtests passed
18/22 graphene / triangle OK 0.10s 56 subtests passed
19/22 graphene / vec2 OK 0.09s 37 subtests passed
20/22 graphene / vec3 OK 0.09s 51 subtests passed
21/22 graphene / vec4 OK 0.08s 63 subtests passed
22/22 graphene / introspection.py OK 0.13s 1 subtests passed
Ok: 22
Expected Fail: 0
Fail: 0
Unexpected Pass: 0
Skipped: 0
Timeout: 0
Acked-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Diffstat (limited to 'media-libs/graphene')
-rw-r--r-- | media-libs/graphene/files/1.10.6-fix-vector-check.patch | 23 | ||||
-rw-r--r-- | media-libs/graphene/graphene-1.10.6-r1.ebuild | 49 |
2 files changed, 72 insertions, 0 deletions
diff --git a/media-libs/graphene/files/1.10.6-fix-vector-check.patch b/media-libs/graphene/files/1.10.6-fix-vector-check.patch new file mode 100644 index 000000000000..19bee435846b --- /dev/null +++ b/media-libs/graphene/files/1.10.6-fix-vector-check.patch @@ -0,0 +1,23 @@ +From 3ce7bf419e366d88a141d1210ae96182986ea8e9 Mon Sep 17 00:00:00 2001 +From: q66 <daniel@octaforge.org> +Date: Wed, 9 Jun 2021 15:47:14 +0200 +Subject: [PATCH] meson: fix gcc vector 64-bit check + +the previous behavior only ever enabled gcc vectors no x86_64 +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 5dbfb63..fd37036 100644 +--- a/meson.build ++++ b/meson.build +@@ -328,7 +328,7 @@ if get_option('gcc_vector') + # error "GCC vector intrinsics are disabled on GCC prior to 4.9" + # elif defined(__arm__) + # error "GCC vector intrinsics are disabled on ARM" +-# elif !defined(__x86_64__) ++# elif (__SIZEOF_POINTER__ < 8) + # error "GCC vector intrinsics are disabled on 32bit" + # endif + #else diff --git a/media-libs/graphene/graphene-1.10.6-r1.ebuild b/media-libs/graphene/graphene-1.10.6-r1.ebuild new file mode 100644 index 000000000000..29dbe5384376 --- /dev/null +++ b/media-libs/graphene/graphene-1.10.6-r1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) +inherit xdg-utils meson-multilib python-any-r1 + +DESCRIPTION="A thin layer of types for graphic libraries" +HOMEPAGE="https://ebassi.github.io/graphene/" +SRC_URI="https://github.com/ebassi/graphene/releases/download/${PV}/${P}.tar.xz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="cpu_flags_arm_neon cpu_flags_x86_sse2 doc +introspection test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/glib-2.30.0:2[${MULTILIB_USEDEP}] + introspection? ( dev-libs/gobject-introspection:= ) +" +DEPEND="${RDEPEND}" +# Python is only needed with USE=introspection or FEATURES=test, but not bothering with conditional python_setup, as meson uses it too anyway +BDEPEND=" + ${PYTHON_DEPS} + doc? ( + dev-util/gtk-doc + app-text/docbook-xml-dtd:4.3 + ) + virtual/pkgconfig +" + +PATCHES=( "${FILESDIR}/${PV}-fix-vector-check.patch" ) + +multilib_src_configure() { + # TODO: Do we want G_DISABLE_ASSERT as buildtype=release would do upstream? + local emesonargs=( + $(meson_native_use_bool doc gtk_doc) + -Dgobject_types=true + $(meson_native_use_feature introspection) + -Dgcc_vector=true # if built-in support tests fail, it'll just not enable vector intrinsics; unfortunately this probably means disabled on clang too, due to it claiming to be <gcc-4.9 + $(meson_use cpu_flags_x86_sse2 sse2) + $(meson_use cpu_flags_arm_neon arm_neon) + $(meson_use test tests) + -Dinstalled_tests=false + ) + meson_src_configure +} |