On Thu, 18 Dec 2025, Philippe Mathieu-Daudé wrote:
ati_2d.c is part of the ATI_VGA component, being built with
the hw/display/ati.c file. Commit 339534d4025 ("ati-vga: Fix
indexed access to video memory") made access to host memory
using little-endian order. Assume the same order is used for
the 2D component.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
---
hw/display/ati_2d.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/display/ati_2d.c b/hw/display/ati_2d.c
index 309bb5ccb6c..72fde6b8008 100644
--- a/hw/display/ati_2d.c
+++ b/hw/display/ati_2d.c
@@ -221,7 +221,7 @@ void ati_2d_blt(ATIVGAState *s)
            for (y = 0; y < s->regs.dst_height; y++) {
                i = dst_x * bypp + (dst_y + y) * dst_pitch;
                for (x = 0; x < s->regs.dst_width; x++, i += bypp) {
-                    stn_he_p(&dst_bits[i], bypp, filler);
+                    stn_le_p(&dst_bits[i], bypp, filler);

I don't think this is correct as it would swap filler and thus break colors. This should just write the value as it is to dst_bits[i] location so if you want to remove stn_he_n then maybe inline it and make it a switch that casts to the right size and assigns the value. The stn_he_p is just used here as a short form instead of that switch.

Regards,
BALATON Zoltan

                }
            }
        }

Reply via email to