summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/video/rgbsse.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/video/rgbsse.h')
-rw-r--r--src/emu/video/rgbsse.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/emu/video/rgbsse.h b/src/emu/video/rgbsse.h
index ce7c848ae4d..68e57bca7fd 100644
--- a/src/emu/video/rgbsse.h
+++ b/src/emu/video/rgbsse.h
@@ -38,9 +38,9 @@ public:
rgbaint_t &operator=(const rgbaint_t& other) = default;
void set(const rgbaint_t& other) { m_value = other.m_value; }
- void set(u32 rgba) { m_value = _mm_and_si128(_mm_set1_epi32(0xff), _mm_set_epi32(rgba >> 24, rgba >> 16, rgba >> 8, rgba)); }
+ void set(const u32& rgba) { m_value = _mm_unpacklo_epi16(_mm_unpacklo_epi8(_mm_cvtsi32_si128(rgba), _mm_setzero_si128()), _mm_setzero_si128()); }
void set(s32 a, s32 r, s32 g, s32 b) { m_value = _mm_set_epi32(a, r, g, b); }
- void set(const rgb_t& rgb) { m_value = _mm_unpacklo_epi16(_mm_unpacklo_epi8(_mm_cvtsi32_si128(rgb), _mm_setzero_si128()), _mm_setzero_si128()); }
+ void set(const rgb_t& rgb) { set((const u32&) rgb); }
inline rgb_t to_rgba() const
{