alphatest="on" rendering incorrect for 8-bit colourmap pixmaps on U4

Issue #629 resolved
prl created an issue

If a an 8-bit colourmapped pixmap is rendered with alphatest="on" (skin) or BT_ALPHATEST (equivalently in the code) on a U4, it is rendered as though alphatest="blend" (skin) or BT_ALPHABLEND had been used.

Replication steps

On a U4, in either of the two pre-loaded skins, compare the correct rendering of the pixmap background of frame/frame_400x255.png (24-bit RGBA pixmap) with alphatest="on" in the skin in MENU>Timer with the incorrect rendering of the pixmap background of frame/frame_400x200.png (8-bit colourmap pixmap) with alphatest="on" in the skin in MENU>Timer, GREEN Add, navigate to Location, OK.

Both frames render correctly on the T series.

Also, the 8-bit colourmap pixmaps with alphatest="on" in the skin displayed as the large icons in MENU>AutoTimer and Menu>Power display their pixmap backgrounds incorrectly. These pixmaps all render correctly on the T series.

Comments (1)

  1. Peter Urbanec

    Fixed with driver update, plus commits ea80e02 and bd17c42

    Only use blit hardware acceleration for cases where the hardware can do so. It is not possible to implement blitAlphaTest easily using hardware acceleration because the hardware does not have a facility to perform comparisons on pixel values as part of the blit process. Use hardware accelerated blits only in the copy and blend modes, perform alpha test in software.

  2. Log in to comment