@samitouri / QOSamiQemu / commits / 4df53270ae

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: