diff --git a/src/video/SDL_fillrect.c b/src/video/SDL_fillrect.c index d891e4e9d..51f33147a 100644 --- a/src/video/SDL_fillrect.c +++ b/src/video/SDL_fillrect.c @@ -132,105 +132,6 @@ DEFINE_SSE_FILLRECT(4, Uint32) /* *INDENT-ON* */ #endif /* __SSE__ */ -#ifdef __MMX__ -/* *INDENT-OFF* */ - -#define MMX_BEGIN \ - __m64 c64 = _mm_set_pi32(color, color) - -#define MMX_WORK \ - for (i = n / 64; i--;) { \ - _mm_stream_pi((__m64 *)(p+0), c64); \ - _mm_stream_pi((__m64 *)(p+8), c64); \ - _mm_stream_pi((__m64 *)(p+16), c64); \ - _mm_stream_pi((__m64 *)(p+24), c64); \ - _mm_stream_pi((__m64 *)(p+32), c64); \ - _mm_stream_pi((__m64 *)(p+40), c64); \ - _mm_stream_pi((__m64 *)(p+48), c64); \ - _mm_stream_pi((__m64 *)(p+56), c64); \ - p += 64; \ - } - -#define MMX_END \ - _mm_empty() - -#define DEFINE_MMX_FILLRECT(bpp, type) \ -static void \ -SDL_FillRect##bpp##MMX(Uint8 *pixels, int pitch, Uint32 color, int w, int h) \ -{ \ - int i, n; \ - Uint8 *p = NULL; \ - \ - MMX_BEGIN; \ - \ - while (h--) { \ - n = w * bpp; \ - p = pixels; \ - \ - if (n > 63) { \ - int adjust = 8 - ((uintptr_t)p & 7); \ - if (adjust < 8) { \ - n -= adjust; \ - adjust /= bpp; \ - while (adjust--) { \ - *((type *)p) = (type)color; \ - p += bpp; \ - } \ - } \ - MMX_WORK; \ - } \ - if (n & 63) { \ - int remainder = (n & 63); \ - remainder /= bpp; \ - while (remainder--) { \ - *((type *)p) = (type)color; \ - p += bpp; \ - } \ - } \ - pixels += pitch; \ - } \ - \ - MMX_END; \ -} - -static void -SDL_FillRect1MMX(Uint8 *pixels, int pitch, Uint32 color, int w, int h) -{ - int i, n; - Uint8 *p = NULL; - - MMX_BEGIN; - - while (h--) { - n = w; - p = pixels; - - if (n > 63) { - int adjust = 8 - ((uintptr_t)p & 7); - if (adjust) { - n -= adjust; - SDL_memset(p, color, adjust); - p += adjust; - } - MMX_WORK; - } - if (n & 63) { - int remainder = (n & 63); - SDL_memset(p, color, remainder); - p += remainder; - } - pixels += pitch; - } - - MMX_END; -} -/* DEFINE_MMX_FILLRECT(1, Uint8) */ -DEFINE_MMX_FILLRECT(2, Uint16) -DEFINE_MMX_FILLRECT(4, Uint32) - -/* *INDENT-ON* */ -#endif /* __MMX__ */ - static void SDL_FillRect1(Uint8 * pixels, int pitch, Uint32 color, int w, int h) { @@ -372,12 +273,6 @@ SDL_FillRect(SDL_Surface * dst, const SDL_Rect * rect, Uint32 color) SDL_FillRect1SSE(pixels, dst->pitch, color, rect->w, rect->h); break; } -#endif -#ifdef __MMX__ - if (SDL_HasMMX()) { - SDL_FillRect1MMX(pixels, dst->pitch, color, rect->w, rect->h); - break; - } #endif SDL_FillRect1(pixels, dst->pitch, color, rect->w, rect->h); break; @@ -391,12 +286,6 @@ SDL_FillRect(SDL_Surface * dst, const SDL_Rect * rect, Uint32 color) SDL_FillRect2SSE(pixels, dst->pitch, color, rect->w, rect->h); break; } -#endif -#ifdef __MMX__ - if (SDL_HasMMX()) { - SDL_FillRect2MMX(pixels, dst->pitch, color, rect->w, rect->h); - break; - } #endif SDL_FillRect2(pixels, dst->pitch, color, rect->w, rect->h); break; @@ -416,12 +305,6 @@ SDL_FillRect(SDL_Surface * dst, const SDL_Rect * rect, Uint32 color) SDL_FillRect4SSE(pixels, dst->pitch, color, rect->w, rect->h); break; } -#endif -#ifdef __MMX__ - if (SDL_HasMMX()) { - SDL_FillRect4MMX(pixels, dst->pitch, color, rect->w, rect->h); - break; - } #endif SDL_FillRect4(pixels, dst->pitch, color, rect->w, rect->h); break;