From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: Paul Brook <paul@codesourcery.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 1 of 2] [UPDATE] DisplayState interface change
Date: Fri, 21 Nov 2008 11:31:17 +0000 [thread overview]
Message-ID: <49269C05.7080105@eu.citrix.com> (raw)
In-Reply-To: <200811211040.44235.paul@codesourcery.com>
Paul Brook wrote:
>> If the backend is smart enought to share the buffer it does so checking
>> that it is the current active console first (look at
>> hw/vga.c:vga_draw_graphic, vga.c is the only "smart" backend at the
>> moment).
>
> This worries me. We shouldn't have "smart" and dumb devices, they should all
> just work. This suggests you've either got the abstraction wrong, or only
> implemented half of the required changes.
>
> It feels like you're replacing one bit of host knowledge with another. IMHO We
> should be aiming for individual devices to know less about how the host
> displays the image.
>
All the backends work, but if a backend wants to reuse a preexisting
buffer it needs to check that its QEMUConsole is the active console.
This is not knowledge of the host, it is knowledge of the fact that my
QEMUConsole could not be active at the moment.
I could easily add a qemu_resizeDisplaySurfaceFrom that takes a pointer
to a buffer but I thought that it was uglier, maybe I am wrong.
> Ok. In that case we should be removing QEMUConsole and giving every
output
> source[*] its own DisplayState.
>
> [*] output source == Emulated device or virtual console.
>
Even though this model you are proposing is simpler, it has the
disadvantage that implies a display buffer per backend while at the
moment we are sharing it between multiple backends.
In any case, I can assure you that the change you want to make does
*not* go against my patches, they are orthogonal, they neither help nor
cause problems to each other, so I would suggest to examine them separately.
next prev parent reply other threads:[~2008-11-21 11:27 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-20 16:58 [Qemu-devel] [PATCH 1 of 2] [UPDATE] DisplayState interface change Stefano Stabellini
[not found] ` <200811201737.00254.paul@codesourcery.com>
2008-11-20 17:48 ` Stefano Stabellini
[not found] ` <200811201823.22742.paul@codesourcery.com>
2008-11-20 18:36 ` Stefano Stabellini
[not found] ` <200811201839.24213.paul@codesourcery.com>
2008-11-20 19:02 ` Stefano Stabellini
[not found] ` <200811211040.44235.paul@codesourcery.com>
2008-11-21 11:31 ` Stefano Stabellini [this message]
2008-11-20 18:58 ` Anthony Liguori
[not found] ` <200811202246.18906.paul@codesourcery.com>
2008-11-20 23:06 ` Anthony Liguori
2008-11-20 23:07 ` Anthony Liguori
2008-11-20 23:16 ` Anthony Liguori
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=49269C05.7080105@eu.citrix.com \
--to=stefano.stabellini@eu.citrix.com \
--cc=paul@codesourcery.com \
--cc=qemu-devel@nongnu.org \
/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).