|
|
|
@ -19,10 +19,6 @@
|
|
|
|
|
/** Instantiation of the SSE4 32bpp blitter factory. */
|
|
|
|
|
static FBlitter_32bppSSE4 iFBlitter_32bppSSE4;
|
|
|
|
|
|
|
|
|
|
#if defined(__GNUC__)
|
|
|
|
|
#pragma GCC diagnostic push
|
|
|
|
|
#pragma GCC diagnostic ignored "-Wunused-variable"
|
|
|
|
|
#endif
|
|
|
|
|
/**
|
|
|
|
|
* Draws a sprite to a (screen) buffer. It is templated to allow faster operation.
|
|
|
|
|
*
|
|
|
|
@ -30,6 +26,7 @@ static FBlitter_32bppSSE4 iFBlitter_32bppSSE4;
|
|
|
|
|
* @param bp further blitting parameters
|
|
|
|
|
* @param zoom zoom level at which we are drawing
|
|
|
|
|
*/
|
|
|
|
|
IGNORE_UNINITIALIZED_WARNING_START
|
|
|
|
|
template <BlitterMode mode, Blitter_32bppSSE2::ReadMode read_mode, Blitter_32bppSSE2::BlockType bt_last>
|
|
|
|
|
inline void Blitter_32bppSSE4::Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom)
|
|
|
|
|
{
|
|
|
|
@ -241,9 +238,7 @@ inline void Blitter_32bppSSE4::Draw(const Blitter::BlitterParams *bp, ZoomLevel
|
|
|
|
|
dst_line += bp->pitch;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#if defined(__GNUC__)
|
|
|
|
|
#pragma GCC diagnostic pop
|
|
|
|
|
#endif
|
|
|
|
|
IGNORE_UNINITIALIZED_WARNING_STOP
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Draws a sprite to a (screen) buffer. Calls adequate templated function.
|
|
|
|
@ -292,6 +287,7 @@ inline Colour Blitter_32bppSSE4::AdjustBrightness(Colour colour, uint8 brightnes
|
|
|
|
|
return Blitter_32bppSSE4::ReallyAdjustBrightness(colour, brightness);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
IGNORE_UNINITIALIZED_WARNING_START
|
|
|
|
|
/* static */ Colour Blitter_32bppSSE4::ReallyAdjustBrightness(Colour colour, uint8 brightness)
|
|
|
|
|
{
|
|
|
|
|
ALIGN(16) uint64 c16 = colour.b | (uint64) colour.g << 16 | (uint64) colour.r << 32;
|
|
|
|
@ -323,5 +319,6 @@ inline Colour Blitter_32bppSSE4::AdjustBrightness(Colour colour, uint8 brightnes
|
|
|
|
|
ret = _mm_packus_epi16(ret, ret); /* PACKUSWB, saturate and pack. */
|
|
|
|
|
return alpha32 | EXTR32(ret, 0);
|
|
|
|
|
}
|
|
|
|
|
IGNORE_UNINITIALIZED_WARNING_STOP
|
|
|
|
|
|
|
|
|
|
#endif /* WITH_SSE */
|
|
|
|
|