Commit 1ee63d69 authored by Ryan C. Gordon's avatar Ryan C. Gordon

Merge r3005:3006 from branches/SDL-1.2: Alpha blending MMX/3DNow register bug.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402297
parent 88bc3dc4
......@@ -387,7 +387,9 @@ BlitRGBtoRGBPixelAlphaMMX(SDL_BlitInfo * info)
packsswb_r2r(mm6, mm3); /* 0000FFFF -> mm3 */
pxor_r2r(mm0, mm3); /* 0000F000 -> mm3 (~channel mask) */
/* get alpha channel shift */
movd_m2r(sf->Ashift, mm5); /* Ashift -> mm5 */
__asm__ __volatile__ (
"movd %0, %%mm5"
: : "rm" ((Uint32) sf->Ashift) ); /* Ashift -> mm5 */
while (height--) {
/* *INDENT-OFF* */
......@@ -1632,7 +1634,6 @@ BlitRGBtoRGBPixelAlphaMMX3DNOW(SDL_BlitInfo * info)
int dstskip = info->d_skip >> 2;
SDL_PixelFormat *sf = info->src;
Uint32 amask = sf->Amask;
Uint32 ashift = sf->Ashift;
__asm__(
/* make mm6 all zeros. */
......@@ -1650,7 +1651,7 @@ BlitRGBtoRGBPixelAlphaMMX3DNOW(SDL_BlitInfo * info)
"pxor %%mm4, %%mm3\n\t" /* 0000F000 -> mm3 (~channel mask) */
/* get alpha channel shift */
"movd %1, %%mm5\n\t" /* Ashift -> mm5 */
: /* nothing */ : "m"(amask), "m"(ashift));
: /* nothing */ : "rm"(amask), "rm"((Uint32) sf->Ashift));
while (height--) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment