10 #ifndef BLITTER_32BPP_SSE4_ANIM_HPP
11 #define BLITTER_32BPP_SSE4_ANIM_HPP
20 #define SSE_TARGET "sse4.1"
23 #ifndef FULL_ANIMATION
24 #define FULL_ANIMATION 1
28 #include "32bpp_anim_sse2.hpp"
31 #undef MARGIN_NORMAL_THRESHOLD
32 #define MARGIN_NORMAL_THRESHOLD 4
35 class Blitter_32bppSSE4_Anim final :
public Blitter_32bppSSE2_Anim,
public Blitter_32bppSSE4 {
39 template <BlitterMode mode, Blitter_32bppSSE_Base::ReadMode read_mode, Blitter_32bppSSE_Base::BlockType bt_last,
bool translucent,
bool animated>
43 return Blitter_32bppSSE_Base::Encode(sprite, allocator);
45 std::string_view GetName()
override {
return "32bpp-sse4-anim"; }
46 using Blitter_32bppSSE2_Anim::LookupColourInPalette;
52 FBlitter_32bppSSE4_Anim() :
BlitterFactory(
"32bpp-sse4-anim",
"32bpp SSE4 Blitter (palette animation)",
HasCPUIDFlag(1, 2, 19)) {}
53 Blitter *
CreateInstance()
override {
return static_cast<Blitter_32bppSSE2_Anim *
>(
new Blitter_32bppSSE4_Anim()); }