|
76b7b1e9
|
2013-08-16T09:20:33
|
|
Fixed alpha composition when destination alpha is transparent.
Jianyu Guan
I found I make a big mistake that when dstA==0, I just simply let *dstp=*srcp and forgot to make dstRGB = srcRGB*srcA.
The if consition "(*dstp & amask) == 0" in BlitRGBtoRGBPixelAlphaMMX and BlitRGBtoRGBPixelAlphaMMX3dNow should be removed.
|
|
89bc80f1
|
2013-08-16T06:59:19
|
|
Fixed alpha blending for the MMX blit functions
I see the Remarks of function SDL_BlitSurface shows that "when SDL_BLENDMODE_BLEND, we have dstA = srcA + (dstA * (1-srcA))". however, I tested some pictures but the result implies "dstA=arcA" actually. I stepped into the source code, and found after I set SDL_BLENDMODE_BLEND for the source surface, the final blit function is BlitRGBtoRGBPixelAlphaMMX when I use SDL_BlitSurface on my computer. And I found these codes:
else if (alpha == amask) {
/* opaque alpha -- copy RGB, keep dst alpha */
*dstp = (*srcp & chanmask) | (*dstp & ~chanmask);
The same code is used in BlitRGBtoRGBPixelAlphaMMX3DNOW and BlitRGBtoRGBPixelAlpha. So I think they still keep dst alpha.
Best regards,
Jianyu Guan
|
|
65728477
|
2013-08-14T23:30:10
|
|
Fix bug 2034: replace printf by SDL_Log in tests; update loopwave VS solution: copy missing dependency
|
|
67367be0
|
2013-08-12T22:00:21
|
|
Don't print "unrecognized key" message for an X11 keycode of 0. This can happen with composed characters.
|
|
5d1865c2
|
2013-08-12T19:18:48
|
|
Fixed the tag name for the SDL 2.0 release
|
|
14bf230d
|
2013-08-12T11:09:13
|
|
Mac: Fix restoring of Cmd-H-hidden fullscreen desktop windows.
This should fix http://bugzilla.libsdl.org/show_bug.cgi?id=1996
|
|
a84a97fe
|
2013-08-12T08:45:37
|
|
Added Julian Winter to the credits for the SDL 2.0 website.
|
|
03477ef6
|
2013-08-12T08:40:49
|
|
Added tag release_2.0.0 for changeset d4ce48ff30d1
|
|
dad42067
|
2013-08-12T11:13:50
|
|
Fixes #2022, do not resume on Android when surfaceChanged
If the app is in landscape mode and the user presses the power button, a pause
is followed immediately by a surfaceChanged event because the lock screen
is shown in portrait mode. This triggers a "false" resume.
So, we just pause and resume following the onWindowFocusChanged events.
Also, wait for SDL_APP_WILLENTERBACKGROUND and SDL_APP_DIDENTERBACKGROUND before
blocking the event pump.
|