Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 09 Jan 2026 22:44:53 +0000
From:      Piotr Kubaj <pkubaj@FreeBSD.org>
Subject:   git: 16c13c141546 - main - emulators/mame: fix build on powerpc*
Message-ID:  <696184e5.26b9e.3f6cd9c0@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=16c13c141546d985aa9be6aefa76f05efef20c83

commit 16c13c141546d985aa9be6aefa76f05efef20c83
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2026-01-08 23:01:41 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2026-01-09 22:44:42 +0000

    emulators/mame: fix build on powerpc*
    
    ../../../../../src/emu/video/rgbutil.cpp:365:16: error: out-of-line definition of 'bilinear_filter' does not match any declaration in 'rgbaint_t'
      365 | u32 rgbaint_t::bilinear_filter(const u32 &rgb00, const u32 &rgb01, const u32 &rgb10, const u32 &rgb11, u8 u, u8 v)
          |                ^~~~~~~~~~~~~~~
    In file included from ../../../../../src/emu/video/rgbutil.cpp:13:
    ../../../../../src/emu/video/rgbutil.h:429:29: note: type of 1st parameter of member declaration does not match definition ('u32' (aka 'unsigned int') vs 'const u32 &' (aka 'const unsigned int &'))
      429 |         static u32 bilinear_filter(u32 rgb00, u32 rgb01, u32 rgb10, u32 rgb11, u8 u, u8 v) noexcept;
          |                                    ^
    Archiving libpce.a...
    rm -f  ../../../../freebsd/bin/x64/Release/mame_mame/libpce.a
    ../../../../../src/emu/video/rgbutil.cpp:408:17: error: out-of-line definition of 'bilinear_filter_rgbaint' does not match any declaration in 'rgbaint_t'
      408 | void rgbaint_t::bilinear_filter_rgbaint(const u32 &rgb00, const u32 &rgb01, const u32 &rgb10, const u32 &rgb11, u8 u, u8 v)
          |                 ^~~~~~~~~~~~~~~~~~~~~~~
    In file included from ../../../../../src/emu/video/rgbutil.cpp:13:
    ../../../../../src/emu/video/rgbutil.h:430:31: note: type of 1st parameter of member declaration does not match definition ('u32' (aka 'unsigned int') vs 'const u32 &' (aka 'const unsigned int &'))
      430 |         void bilinear_filter_rgbaint(u32 rgb00, u32 rgb01, u32 rgb10, u32 rgb11, u8 u, u8 v) noexcept;
          |                                      ^
---
 .../mame/files/patch-src_emu_video_rgbutil.cpp     | 28 ++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/emulators/mame/files/patch-src_emu_video_rgbutil.cpp b/emulators/mame/files/patch-src_emu_video_rgbutil.cpp
new file mode 100644
index 000000000000..46b30a1fba5d
--- /dev/null
+++ b/emulators/mame/files/patch-src_emu_video_rgbutil.cpp
@@ -0,0 +1,28 @@
+--- src/emu/video/rgbutil.cpp.orig	2026-01-08 15:01:14 UTC
++++ src/emu/video/rgbutil.cpp
+@@ -362,7 +362,7 @@ const VECS16 scale_table[256] =
+ 
+ } // anonymous namespace
+ 
+-u32 rgbaint_t::bilinear_filter(const u32 &rgb00, const u32 &rgb01, const u32 &rgb10, const u32 &rgb11, u8 u, u8 v)
++u32 rgbaint_t::bilinear_filter(u32 rgb00, u32 rgb01, u32 rgb10, u32 rgb11, u8 u, u8 v) noexcept
+ {
+ 	const VECS32 zero = vec_splat_s32(0);
+ 
+@@ -405,7 +405,7 @@ u32 rgbaint_t::bilinear_filter(const u32 &rgb00, const
+ 	return result;
+ }
+ 
+-void rgbaint_t::bilinear_filter_rgbaint(const u32 &rgb00, const u32 &rgb01, const u32 &rgb10, const u32 &rgb11, u8 u, u8 v)
++void rgbaint_t::bilinear_filter_rgbaint(u32 rgb00, u32 rgb01, u32 rgb10, u32 rgb11, u8 u, u8 v) noexcept
+ {
+ 	const VECS32 zero = vec_splat_s32(0);
+ 
+@@ -439,6 +439,7 @@ void rgbaint_t::bilinear_filter_rgbaint(const u32 &rgb
+ 	color11 = vec_sr(color11, vec_splat_u32(1));
+ 	color01 = VECS32(vec_max(VECS16(color01), VECS16(color11)));
+ 	color01 = vec_msum(VECS16(color01), scale_table[v], zero);
++	color01 = vec_sr(color01, vec_splat_u32(15));
+ 
+ #ifdef __LITTLE_ENDIAN__
+ 	vec_ste(vec_splat(color01, 3), 0, &m_a);


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?696184e5.26b9e.3f6cd9c0>