src/video/SDL_blit_A.c
branchSDL-1.2
changeset 13213 db77604e083d
parent 6137 4720145f848b
child 13214 78d5c2b67346
     1.1 --- a/src/video/SDL_blit_A.c	Thu Oct 31 14:00:28 2019 +0300
     1.2 +++ b/src/video/SDL_blit_A.c	Thu Oct 31 14:00:28 2019 +0300
     1.3 @@ -1433,6 +1433,22 @@
     1.4  #endif
     1.5  #endif /* SDL_ALTIVEC_BLITTERS */
     1.6  
     1.7 +#if SDL_ARM_SIMD_BLITTERS
     1.8 +void BlitRGBtoRGBPixelAlphaARMSIMDAsm(int32_t w, int32_t h, uint32_t *dst, int32_t dst_stride, uint32_t *src, int32_t src_stride);
     1.9 +
    1.10 +static void BlitRGBtoRGBPixelAlphaARMSIMD(SDL_BlitInfo *info)
    1.11 +{
    1.12 +	int32_t width = info->d_width;
    1.13 +	int32_t height = info->d_height;
    1.14 +	uint32_t *dstp = (uint32_t *)info->d_pixels;
    1.15 +	int32_t dststride = width + (info->d_skip >> 2);
    1.16 +	uint32_t *srcp = (uint32_t *)info->s_pixels;
    1.17 +	int32_t srcstride = width + (info->s_skip >> 2);
    1.18 +
    1.19 +	BlitRGBtoRGBPixelAlphaARMSIMDAsm(width, height, dstp, dststride, srcp, srcstride);
    1.20 +}
    1.21 +#endif
    1.22 +
    1.23  /* fast RGB888->(A)RGB888 blending with surface alpha=128 special case */
    1.24  static void BlitRGBtoRGBSurfaceAlpha128(SDL_BlitInfo *info)
    1.25  {
    1.26 @@ -2853,6 +2869,10 @@
    1.27  				&& SDL_HasAltiVec())
    1.28  				return BlitRGBtoRGBPixelAlphaAltivec;
    1.29  #endif
    1.30 +#if SDL_ARM_SIMD_BLITTERS
    1.31 +			if (SDL_HasARMSIMD())
    1.32 +				return BlitRGBtoRGBPixelAlphaARMSIMD;
    1.33 +#endif
    1.34  			return BlitRGBtoRGBPixelAlpha;
    1.35  		}
    1.36  	    }