view README.CVS @ 1544:ab1e4c41ab71

Fixed bug #33 Mike Frysinger wrote: > with libsdl-1.2.9, some games (like bomberclone) started > segfaulting in Gentoo [...snip...] > the last change in the last hunk: [...snip...] > if i change the statement to read: > (table[which].blit_features & GetBlitFeatures()) == GetBlitFeatures() > bomberclone no longer segfaults on my box Alex Volkov wrote: > The test "(table[which].blit_features & GetBlitFeatures()) == > table[which].blit_features)" is correct, and the previous > "(table[which].cpu_mmx == SDL_HasMMX())" was actually broken. I think there is potentially a slightly different cause of the above problem. During the introduction of the Altivec code, the blit_table struct field 'alpha' got changed from a straightforward enum to a bitmask, which makes perfect sense by itself. However, now the table driven blitter selection code in SDL_CalculateBlitN() can choose the wrong blitters when searching for a NO_ALPHA blitter because of the following code: int a_need = 0; ... (a_need & table[which].alpha) == a_need && When searching through the normal_blit_2[] table, a SET_ALPHA blitter (like Blit_RGB565_ARGB8888) can now be selected instead of a NO_ALPHA one, causing alpha channel bits to appear in a non-alpha destination surface. I suppose this could theoretically be an indirect cause of the segfault mentioned above. I *think* this can be fixed by changing to int a_need = NO_ALPHA;
author Sam Lantinga <slouken@libsdl.org>
date Wed, 15 Mar 2006 15:47:49 +0000
parents ec659230eaac
children dc219ba4cf45
line wrap: on
line source


The latest development version of SDL is available via CVS:

cvs -d :pserver:guest@libsdl.org:/home/sdlweb/libsdl.org/cvs login
# No password, so just hit enter when prompted for a password
cvs -d :pserver:guest@libsdl.org:/home/sdlweb/libsdl.org/cvs checkout SDL

When you check a fresh copy of SDL out of CVS, you need to generate
the files used by make by running the "autogen.sh" script, which will
run aclocal, automake, autoconf and then run configure.

There is a web interface to cvs at http://www.libsdl.org/cgi/cvsweb.cgi