From: Stefan Weil <weil@mail.berlios.de>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] vga: do not resize the screen on hw_invalidate
Date: Wed, 18 Nov 2009 20:53:43 +0100 [thread overview]
Message-ID: <4B0450C7.70708@mail.berlios.de> (raw)
In-Reply-To: <alpine.DEB.2.00.0908031610480.12699@kaball-desktop>
Stefano Stabellini schrieb:
> Hi all,
> currently vga always resizes the screen when vga_hw_invalidate is called
> while this is not required and all the other graphic emulators don't.
> This patch fixes it, making vga invalidate behaviour consistent with the
> other emulated devices.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
This rather old patch breaks switching to and from full screen mode
using SDL and alt-ctrl-f key.
Please revert or fix it. The patch is also part of stable-0.11, so I
expect the same problem there (but did not test it).
Found by git bisect, tested on several linux installations.
>
> ---
> hw/vga.c | 6 +++---
> hw/vga_int.h | 1 +
> 2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/hw/vga.c b/hw/vga.c
> index 4d74ffe..53b5ff6 100644
> --- a/hw/vga.c
> +++ b/hw/vga.c
> @@ -1837,7 +1837,8 @@ static void vga_update_display(void *opaque)
> if (ds_get_bits_per_pixel(s->ds) == 0) {
> /* nothing to do */
> } else {
> - full_update = 0;
> + full_update = s->full_update;
> + s->full_update = 0;
> if (!(s->ar_index & 0x20)) {
> graphic_mode = GMODE_BLANK;
> } else {
> @@ -1867,8 +1868,7 @@ static void vga_invalidate_display(void *opaque)
> {
> VGAState *s = (VGAState *)opaque;
>
> - s->last_width = -1;
> - s->last_height = -1;
> + s->full_update = 1;
> }
>
> void vga_reset(void *opaque)
> diff --git a/hw/vga_int.h b/hw/vga_int.h
> index 631b1b0..8fdf51d 100644
> --- a/hw/vga_int.h
> +++ b/hw/vga_int.h
> @@ -158,6 +158,7 @@ typedef struct VGACommonState {
> uint32_t last_width, last_height; /* in chars or pixels */
> uint32_t last_scr_width, last_scr_height; /* in pixels */
> uint32_t last_depth; /* in bits */
> + uint8_t full_update;
> uint8_t cursor_start, cursor_end;
> uint32_t cursor_offset;
> unsigned int (*rgb_to_pixel)(unsigned int r,
next prev parent reply other threads:[~2009-11-18 19:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-03 15:14 [Qemu-devel] [PATCH] vga: do not resize the screen on hw_invalidate Stefano Stabellini
2009-11-18 19:53 ` Stefan Weil [this message]
2009-11-19 7:57 ` [Qemu-devel] [BUG] Changing SDL full screen mode no longer works Stefan Weil
2009-11-19 13:08 ` Aurelien Jarno
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B0450C7.70708@mail.berlios.de \
--to=weil@mail.berlios.de \
--cc=qemu-devel@nongnu.org \
--cc=stefano.stabellini@eu.citrix.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.