Voodoo texture processing now dependent on texturing being enabled in fbzColorPath. Fixes transparency issues in Tomb Raider, might cause speedup in games that use non-textured triangles.

This commit is contained in:
TomW 2015-10-04 11:33:13 +01:00
commit 5e08d53c73

View file

@ -754,6 +754,11 @@ enum
CMD_SWAPBUF CMD_SWAPBUF
}; };
enum
{
FBZCP_TEXTURE_ENABLED = (1 << 27)
};
static void voodoo_update_ncc(voodoo_t *voodoo) static void voodoo_update_ncc(voodoo_t *voodoo)
{ {
int tbl; int tbl;
@ -1924,6 +1929,8 @@ static void voodoo_half_triangle(voodoo_t *voodoo, voodoo_params_t *params, vood
dest_b |= (dest_b >> 5); dest_b |= (dest_b >> 5);
dest_a = 0xff; dest_a = 0xff;
if (params->fbzColorPath & FBZCP_TEXTURE_ENABLED)
{
if (params->textureMode & 1) if (params->textureMode & 1)
{ {
int64_t _w = 0; int64_t _w = 0;
@ -1958,6 +1965,7 @@ static void voodoo_half_triangle(voodoo_t *voodoo, voodoo_params_t *params, vood
voodoo->fbiChromaFail++; voodoo->fbiChromaFail++;
goto skip_pixel; goto skip_pixel;
} }
}
if (voodoo->trexInit1 & (1 << 18)) if (voodoo->trexInit1 & (1 << 18))
{ {