* [Qemu-devel] [PATCH] vga: do not resize the screen on hw_invalidate
@ 2009-08-03 15:14 Stefano Stabellini
2009-11-18 19:53 ` Stefan Weil
0 siblings, 1 reply; 4+ messages in thread
From: Stefano Stabellini @ 2009-08-03 15:14 UTC (permalink / raw)
To: qemu-devel
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>
---
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,
--
1.5.4.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] vga: do not resize the screen on hw_invalidate
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
2009-11-19 7:57 ` [Qemu-devel] [BUG] Changing SDL full screen mode no longer works Stefan Weil
0 siblings, 1 reply; 4+ messages in thread
From: Stefan Weil @ 2009-11-18 19:53 UTC (permalink / raw)
To: Stefano Stabellini; +Cc: qemu-devel
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,
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Qemu-devel] [BUG] Changing SDL full screen mode no longer works
2009-11-18 19:53 ` Stefan Weil
@ 2009-11-19 7:57 ` Stefan Weil
2009-11-19 13:08 ` Aurelien Jarno
0 siblings, 1 reply; 4+ messages in thread
From: Stefan Weil @ 2009-11-19 7:57 UTC (permalink / raw)
To: aurel32; +Cc: qemu-devel, Stefano Stabellini
Stefan Weil schrieb:
> 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.
>
Debian qemu 0.11.0-5 is suffering from this bug, too.
So 0bd8246bfec1dfb2eb959f52db535572c0260f4c
should be reverted or fixed not only for master but
also for stable-0.11.
Regards,
Stefan
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [BUG] Changing SDL full screen mode no longer works
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
0 siblings, 0 replies; 4+ messages in thread
From: Aurelien Jarno @ 2009-11-19 13:08 UTC (permalink / raw)
To: Stefan Weil; +Cc: Stefano Stabellini, aurel32, qemu-devel
Stefan Weil a écrit :
> Stefan Weil schrieb:
>> 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.
>>
>
> Debian qemu 0.11.0-5 is suffering from this bug, too.
>
> So 0bd8246bfec1dfb2eb959f52db535572c0260f4c
> should be reverted or fixed not only for master but
> also for stable-0.11.
>
Before reverting that into stable-0.11, we should take time to
understand the problem and have a correct fix (which might be a revert).
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-11-19 13:08 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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
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).