mirror of
https://github.com/Ryujinx/SDL.git
synced 2025-06-02 09:10:27 +00:00
triangle: don't read destination pixel when you're going to discard it anyways
This commit is contained in:
parent
2d5c05a69c
commit
43c57e3239
|
@ -789,15 +789,20 @@ static void SDL_BlitTriangle_Slow(SDL_BlitInfo *info,
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (FORMAT_HAS_ALPHA(dstfmt_val)) {
|
if ((flags & (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD | SDL_COPY_MUL))) {
|
||||||
DISEMBLE_RGBA(dst, dstbpp, dst_fmt, dstpixel, dstR, dstG, dstB, dstA);
|
if (FORMAT_HAS_ALPHA(dstfmt_val)) {
|
||||||
} else if (FORMAT_HAS_NO_ALPHA(dstfmt_val)) {
|
DISEMBLE_RGBA(dst, dstbpp, dst_fmt, dstpixel, dstR, dstG, dstB, dstA);
|
||||||
DISEMBLE_RGB(dst, dstbpp, dst_fmt, dstpixel, dstR, dstG, dstB);
|
} else if (FORMAT_HAS_NO_ALPHA(dstfmt_val)) {
|
||||||
dstA = 0xFF;
|
DISEMBLE_RGB(dst, dstbpp, dst_fmt, dstpixel, dstR, dstG, dstB);
|
||||||
|
dstA = 0xFF;
|
||||||
|
} else {
|
||||||
|
/* SDL_PIXELFORMAT_ARGB2101010 */
|
||||||
|
dstpixel = *((Uint32 *) (dst));
|
||||||
|
RGBA_FROM_ARGB2101010(dstpixel, dstR, dstG, dstB, dstA);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
/* SDL_PIXELFORMAT_ARGB2101010 */
|
/* don't care */
|
||||||
dstpixel = *((Uint32 *)(dst));
|
dstR = dstG = dstB = dstA = 0;
|
||||||
RGBA_FROM_ARGB2101010(dstpixel, dstR, dstG, dstB, dstA);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_uniform) {
|
if (!is_uniform) {
|
||||||
|
|
Loading…
Reference in a new issue