Ported the latest Voodoo changes from the other emulator.
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user