Ported the latest Voodoo changes from the other emulator.

This commit is contained in:
TC1995
2021-06-15 17:17:56 +02:00
parent 6bd2ba28ce
commit c703fedbe8
6 changed files with 17 additions and 10 deletions

View File

@@ -724,6 +724,7 @@ static void voodoo_half_triangle(voodoo_t *voodoo, voodoo_params_t *params, vood
uint8_t (*voodoo_draw)(voodoo_state_t *state, voodoo_params_t *params, int x, int real_y);
#endif
int y_diff = SLI_ENABLED ? 2 : 1;
int y_origin = (voodoo->type >= VOODOO_BANSHEE) ? voodoo->y_origin_swap : (voodoo->v_disp-1);
if ((params->textureMode[0] & TEXTUREMODE_MASK) == TEXTUREMODE_PASSTHROUGH ||
(params->textureMode[0] & TEXTUREMODE_LOCAL_MASK) == TEXTUREMODE_LOCAL)
@@ -788,7 +789,7 @@ static void voodoo_half_triangle(voodoo_t *voodoo, voodoo_params_t *params, vood
int test_y;
if (params->fbzMode & (1 << 17))
test_y = (voodoo->v_disp-1) - state->y;
test_y = y_origin - state->y;
else
test_y = state->y;
@@ -852,7 +853,7 @@ static void voodoo_half_triangle(voodoo_t *voodoo, voodoo_params_t *params, vood
x2 = (state->vertexBx << 12) + ((state->dxBC * (real_y - state->vertexBy)) >> 4);
if (params->fbzMode & (1 << 17))
real_y = (voodoo->v_disp-1) - (real_y >> 4);
real_y = y_origin - (real_y >> 4);
else
real_y >>= 4;