Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Merge r3005:3006 from branches/SDL-1.2: Alpha blending MMX/3DNow regi…
Browse files Browse the repository at this point in the history
…ster bug.
  • Loading branch information
icculus committed Apr 4, 2007
1 parent 48c49ee commit d335b14
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions src/video/SDL_blit_A.c
Expand Up @@ -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* */
Expand Down Expand Up @@ -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. */
Expand All @@ -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--) {

Expand Down

0 comments on commit d335b14

Please sign in to comment.