From a143a8b1f68024a665167e923fd1948ba9108e33 Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Tue, 15 Jul 2014 15:25:53 -0500 Subject: [PATCH] Let non-x86_32 use the reference yuv2rgb conversion function. The yuv2rgb_sse2 implementation is x86_32 only, so x86_64 can't take advantage of this optimized code path. This requires the architecture defines to be working fully, so this can't be merged until it is fixed on the Windows side of things. --- pcsx2/IPU/yuv2rgb.cpp | 2 ++ pcsx2/IPU/yuv2rgb.h | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pcsx2/IPU/yuv2rgb.cpp b/pcsx2/IPU/yuv2rgb.cpp index ea6d14b7ef..d7ae7baafa 100644 --- a/pcsx2/IPU/yuv2rgb.cpp +++ b/pcsx2/IPU/yuv2rgb.cpp @@ -58,6 +58,7 @@ void yuv2rgb_reference(void) } } +#ifdef _M_X86_32 // Everything below is bit accurate to the IPU specification (except maybe rounding). // Know the specification before you touch it. #define SSE_BYTES(x) {x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x} @@ -403,3 +404,4 @@ ihatemsvc: # error Unsupported compiler #endif } +#endif diff --git a/pcsx2/IPU/yuv2rgb.h b/pcsx2/IPU/yuv2rgb.h index 8d1efb2e14..73ca28df88 100644 --- a/pcsx2/IPU/yuv2rgb.h +++ b/pcsx2/IPU/yuv2rgb.h @@ -15,7 +15,10 @@ #pragma once -#define yuv2rgb yuv2rgb_sse2 - extern void yuv2rgb_reference(); +#ifdef _M_X86_32 +#define yuv2rgb yuv2rgb_sse2 extern void yuv2rgb_sse2(); +#else +#define yuv2rgb yuv2rgb_reference +#endif