early-access version 1667
This commit is contained in:
25
externals/SDL/src/video/SDL_blit_slow.c
vendored
25
externals/SDL/src/video/SDL_blit_slow.c
vendored
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
Simple DirectMedia Layer
|
||||
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
||||
Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
@@ -40,7 +40,7 @@ SDL_Blit_Slow(SDL_BlitInfo * info)
|
||||
Uint32 dstpixel;
|
||||
Uint32 dstR, dstG, dstB, dstA;
|
||||
int srcy, srcx;
|
||||
int posy, posx;
|
||||
Uint32 posy, posx;
|
||||
int incy, incx;
|
||||
SDL_PixelFormat *src_fmt = info->src_fmt;
|
||||
SDL_PixelFormat *dst_fmt = info->dst_fmt;
|
||||
@@ -49,30 +49,19 @@ SDL_Blit_Slow(SDL_BlitInfo * info)
|
||||
Uint32 rgbmask = ~src_fmt->Amask;
|
||||
Uint32 ckey = info->colorkey & rgbmask;
|
||||
|
||||
srcy = 0;
|
||||
posy = 0;
|
||||
incy = (info->src_h << 16) / info->dst_h;
|
||||
incx = (info->src_w << 16) / info->dst_w;
|
||||
posy = incy / 2; /* start at the middle of pixel */
|
||||
|
||||
while (info->dst_h--) {
|
||||
Uint8 *src = 0;
|
||||
Uint8 *dst = info->dst;
|
||||
int n = info->dst_w;
|
||||
srcx = -1;
|
||||
posx = 0x10000L;
|
||||
while (posy >= 0x10000L) {
|
||||
++srcy;
|
||||
posy -= 0x10000L;
|
||||
}
|
||||
posx = incx / 2; /* start at the middle of pixel */
|
||||
srcy = posy >> 16;
|
||||
while (n--) {
|
||||
if (posx >= 0x10000L) {
|
||||
while (posx >= 0x10000L) {
|
||||
++srcx;
|
||||
posx -= 0x10000L;
|
||||
}
|
||||
src =
|
||||
(info->src + (srcy * info->src_pitch) + (srcx * srcbpp));
|
||||
}
|
||||
srcx = posx >> 16;
|
||||
src = (info->src + (srcy * info->src_pitch) + (srcx * srcbpp));
|
||||
if (src_fmt->Amask) {
|
||||
DISEMBLE_RGBA(src, srcbpp, src_fmt, srcpixel, srcR, srcG,
|
||||
srcB, srcA);
|
||||
|
Reference in New Issue
Block a user