Discussion:
[SDL] Trying to understand the unsignedness in ALPHA_BLEND_RGBA
capehill
2017-01-03 20:44:32 UTC
Permalink
After debugging testautomation_surface, I have concluded that SW blending doesn't work at least for me (big endian AmigaOS platform).

For example, if sR is 0 and dR is 255, we will get -255*sA casted to an unsigned value. Basically results are quite large numbers instead of the expected 0-255 range. Am I missing something here?

Reference: https://hg.libsdl.org/SDL/file/d11daa346140/src/video/SDL_blit.h#l455
capehill
2017-01-04 19:39:23 UTC
Permalink
Yes, replacing unsigned with int makes "testBlit" case work on my platform.
I think that was just trying to promote Uint8 to a larger type. Does it work if you replace (unsigned) with (int)?
capehill
2017-01-06 19:26:21 UTC
Permalink
Unfortunately it doesn't work for me. You probably have to cast sA to int, at least that helps here. Perhaps compiler promotes result to unsigned because sA's type is unsigned? (SDL_blit_A.c)
Okay, can you try this?https://hg.libsdl.org/SDL/rev/6285a56f6729 (https://hg.libsdl.org/SDL/rev/6285a56f6729)
capehill
2017-01-07 15:16:09 UTC
Permalink
Following patch worked for me: https://sourceforge.net/p/sdl2-amigaos4/code/157/
Can you provide a patch on the bug?
Post by capehill
Unfortunately it doesn't work for me. You probably have to cast sA to int, at least that helps here. Perhaps compiler promotes result to unsigned because sA's type is unsigned? (SDL_blit_A.c)
Okay, can you try this?https://hg.libsdl.org/SDL/rev/6285a56f6729 (https://hg.libsdl.org/SDL/rev/6285a56f6729)
_______________________________________________
SDL mailing list
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org (http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org)
Loading...