Skip to content

Commit

Permalink
Fixed bug 3159 - SDL_blit_slow with BLENDING does not work
Browse files Browse the repository at this point in the history
Fritzor

Source Suface is ABGR and Destination Surface is ABGR. We use software blending. In the Switch-Case statement for SDL_COPY_BLEND (Line 126) the alpha-channel is not calculated like in every SDL_blit_auto - function. So if the destination Surface has alpha - channel of zero the resulting surface has zero as well.
Add:  ?dstA = srcA + ((255 - srcA) * dstA) / 255;? to code and everything is okay.
  • Loading branch information
slouken committed Oct 1, 2016
1 parent 13dd2cc commit 473051f
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions src/video/SDL_blit_slow.c
Expand Up @@ -129,6 +129,7 @@ SDL_Blit_Slow(SDL_BlitInfo * info)
dstR = srcR + ((255 - srcA) * dstR) / 255;
dstG = srcG + ((255 - srcA) * dstG) / 255;
dstB = srcB + ((255 - srcA) * dstB) / 255;
dstA = srcA + ((255 - srcA) * dstA) / 255;
break;
case SDL_COPY_ADD:
dstR = srcR + dstR;
Expand Down

0 comments on commit 473051f

Please sign in to comment.