diff --git a/src/video/SDL_blit_A.c b/src/video/SDL_blit_A.c index e149ed79fb160e6fa31a1d0c9b11545d05329d86..cff011e81e353422dde1590da563b7c18c6ba4f6 100644 --- a/src/video/SDL_blit_A.c +++ b/src/video/SDL_blit_A.c @@ -2756,8 +2756,9 @@ SDL_loblit SDL_CalculateAlphaBlit(SDL_Surface *surface, int blit_index) #endif if((sf->Rmask | sf->Gmask | sf->Bmask) == 0xffffff) { -#if USE_ALTIVEC_BLITTERS - if(SDL_HasAltiVec()) +#if SDL_ALTIVEC_BLITTERS + if(!(surface->map->dst->flags & SDL_HWSURFACE) + && SDL_HasAltiVec()) return BlitRGBtoRGBSurfaceAlphaAltivec; #endif return BlitRGBtoRGBSurfaceAlpha; @@ -2822,8 +2823,9 @@ SDL_loblit SDL_CalculateAlphaBlit(SDL_Surface *surface, int blit_index) #endif if(sf->Amask == 0xff000000) { -#if USE_ALTIVEC_BLITTERS - if(SDL_HasAltiVec()) +#if SDL_ALTIVEC_BLITTERS + if(!(surface->map->dst->flags & SDL_HWSURFACE) + && SDL_HasAltiVec()) return BlitRGBtoRGBPixelAlphaAltivec; #endif return BlitRGBtoRGBPixelAlpha;