From 11bb626ab6a0f57ba8eaf4b2122b62d6a8f10e5f Mon Sep 17 00:00:00 2001 From: Magnus Norddahl Date: Sun, 15 Apr 2018 14:47:53 +0200 Subject: [PATCH] - always store 255 in alpha channel for opaque things as the alpha channel is no longer ignored by the framebuffer backend (softpoly drawer) --- src/polyrenderer/drawers/poly_drawer32.h | 1 + src/polyrenderer/drawers/poly_drawer32_sse2.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/polyrenderer/drawers/poly_drawer32.h b/src/polyrenderer/drawers/poly_drawer32.h index 579330ad1..0ec21ff91 100644 --- a/src/polyrenderer/drawers/poly_drawer32.h +++ b/src/polyrenderer/drawers/poly_drawer32.h @@ -242,6 +242,7 @@ namespace TriScreenDrawerModes { if (BlendT::Mode == (int)BlendModes::Opaque) { + fgcolor.a = 255; return fgcolor; } else if (BlendT::Mode == (int)BlendModes::Masked) diff --git a/src/polyrenderer/drawers/poly_drawer32_sse2.h b/src/polyrenderer/drawers/poly_drawer32_sse2.h index 33af938dc..11d08c59c 100644 --- a/src/polyrenderer/drawers/poly_drawer32_sse2.h +++ b/src/polyrenderer/drawers/poly_drawer32_sse2.h @@ -250,6 +250,7 @@ namespace TriScreenDrawerModes { __m128i outcolor = fgcolor; outcolor = _mm_packus_epi16(outcolor, _mm_setzero_si128()); + outcolor = _mm_or_si128(outcolor, _mm_set1_epi32(0xff000000)); return outcolor; } else if (BlendT::Mode == (int)BlendModes::Masked)