ati-vga: Remove dst_x/y updates after blit
The Mobility M6 register reference (DST_HEIGHT_WIDTH) states that dst_y is updated after a blit but this appears to not be the case. Hardware testing revealed that both the R128 and R100 do not update dst_x or dst_y after a blit, regardless of the source. This removes the update. Signed-off-by: Chad Jablonski <chad@jablonski.xyz> Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu> Message-ID: <20260303024730.1489136-8-chad@jablonski.xyz> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Chad Jablonski committed
Mar 2, 2026 at 21:47 UTC
4df53270ae57f880758099d621be96c252fa5e83
1 file changed
-6
hw/display/ati_2d.c
-6
@@ -174,10 +174,6 @@ void ati_2d_blt(ATIVGAState *s)
174
dst_y * surface_stride(ds),
175
s->regs.dst_height * surface_stride(ds));
176
}
177
- s->regs.dst_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ?
178
- dst_x + s->regs.dst_width : dst_x);
179
- s->regs.dst_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ?
180
- dst_y + s->regs.dst_height : dst_y);
177
break;
178
}
179
case ROP3_PATCOPY:
@@ -228,8 +224,6 @@ void ati_2d_blt(ATIVGAState *s)
224
dst_y * surface_stride(ds),
225
s->regs.dst_height * surface_stride(ds));
226
}
231
- s->regs.dst_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ?
232
- dst_y + s->regs.dst_height : dst_y);
227
break;
228
}
229
default: