diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2024-04-02 12:26:36 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2024-04-02 18:08:59 +0200 |
commit | 1d1ee7e0a1b7041804e8c5f8c2453fdc2df0407e (patch) | |
tree | adbe2bff80169abec443a542c7a2b846138e0e84 | |
parent | 3b6d2b1962b23295c463f010ff88eb5a594f2ef9 (diff) |
vga: do not treat horiz pel panning value of 8 as "enabled"
Horizontal pel panning bit 3 is only used in text mode. In graphics
mode, it can be treated as if it was zero, thus not extending the
dirty memory region.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | hw/display/vga.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/display/vga.c b/hw/display/vga.c index 40acd19e72..77f59e8c11 100644 --- a/hw/display/vga.c +++ b/hw/display/vga.c @@ -1571,7 +1571,9 @@ static void vga_draw_graphic(VGACommonState *s, int full_update) break; } } - hpel = bits <= 8 ? s->params.hpel : 0; + + /* Horizontal pel panning bit 3 is only used in text mode. */ + hpel = bits <= 8 ? s->params.hpel & 7 : 0; region_start = (s->params.start_addr * 4); region_end = region_start + (ram_addr_t)s->params.line_offset * height; |