diff options
| author | Piotr Kubaj <pkubaj@FreeBSD.org> | 2026-01-08 23:01:41 +0000 |
|---|---|---|
| committer | Piotr Kubaj <pkubaj@FreeBSD.org> | 2026-01-09 22:44:42 +0000 |
| commit | 16c13c141546d985aa9be6aefa76f05efef20c83 (patch) | |
| tree | 6b1f41ed97233bdd8644b454b3c58a5901fda0e5 | |
| parent | db0e19b7921688ce2a59df462480447fd39e0c53 (diff) | |
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;
| ^
| -rw-r--r-- | emulators/mame/files/patch-src_emu_video_rgbutil.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
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); |
