From f27abac28a79bf96dbd96f5e706316a164bc5b68 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Fri, 21 Aug 2020 12:52:17 +1000 Subject: Clean up the preprocessor glue for selecting RGB utility implementation a little --- src/emu/validity.cpp | 2 +- src/emu/video/rgbgen.cpp | 2 +- src/emu/video/rgbsse.cpp | 4 ++-- src/emu/video/rgbutil.h | 9 ++++++++- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/emu/validity.cpp b/src/emu/validity.cpp index dd836cdccac..9557d2d7dd7 100644 --- a/src/emu/validity.cpp +++ b/src/emu/validity.cpp @@ -1393,7 +1393,7 @@ void validity_checker::validate_rgb() // test bilinear_filter and bilinear_filter_rgbaint // SSE implementation carries more internal precision between the bilinear stages -#if (!defined(MAME_DEBUG) || defined(__OPTIMIZE__)) && (defined(__SSE2__) || defined(_MSC_VER)) && defined(PTR64) +#if defined(MAME_RGB_HIGH_PRECISION) const int first_shift = 1; #else const int first_shift = 8; diff --git a/src/emu/video/rgbgen.cpp b/src/emu/video/rgbgen.cpp index 2bc57654b1a..24af32fa244 100644 --- a/src/emu/video/rgbgen.cpp +++ b/src/emu/video/rgbgen.cpp @@ -11,7 +11,7 @@ #include "emu.h" -#if !(defined(__ALTIVEC__) || ((!defined(MAME_DEBUG) || defined(__OPTIMIZE__)) && (defined(__SSE2__) || defined(_MSC_VER)) && defined(PTR64))) +#if ((defined(MAME_DEBUG) && !defined(__OPTIMIZE__)) || (!defined(__SSE2__) && (_M_IX86_FP < 2))) && !defined(__ALTIVEC__) #include "rgbgen.h" diff --git a/src/emu/video/rgbsse.cpp b/src/emu/video/rgbsse.cpp index 2a229357c09..214b8067317 100644 --- a/src/emu/video/rgbsse.cpp +++ b/src/emu/video/rgbsse.cpp @@ -12,11 +12,11 @@ #include "emu.h" -#if (!defined(MAME_DEBUG) || defined(__OPTIMIZE__)) && (defined(__SSE2__) || defined(_MSC_VER)) && defined(PTR64) +#if (!defined(MAME_DEBUG) || defined(__OPTIMIZE__)) && (defined(__SSE2__) || (_M_IX86_FP >= 2)) -#include #include "rgbsse.h" + /*************************************************************************** TABLES ***************************************************************************/ diff --git a/src/emu/video/rgbutil.h b/src/emu/video/rgbutil.h index 74f425e3417..e0b0915fb70 100644 --- a/src/emu/video/rgbutil.h +++ b/src/emu/video/rgbutil.h @@ -13,13 +13,20 @@ #define MAME_EMU_VIDEO_RGBUTIL_H // use SSE on 64-bit implementations, where it can be assumed -#if (!defined(MAME_DEBUG) || defined(__OPTIMIZE__)) && (defined(__SSE2__) || defined(_MSC_VER)) && defined(PTR64) +#if (!defined(MAME_DEBUG) || defined(__OPTIMIZE__)) && (defined(__SSE2__) || (_M_IX86_FP >= 2)) +#define MAME_RGB_HIGH_PRECISION #include "rgbsse.h" + #elif defined(__ALTIVEC__) + +#define MAME_RGB_HIGH_PRECISION #include "rgbvmx.h" + #else + #include "rgbgen.h" + #endif #endif // MAME_EMU_VIDEO_RGBUTIL_H -- cgit v1.2.3