qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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,

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).