From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KiRy7-0004Be-8m for qemu-devel@nongnu.org; Wed, 24 Sep 2008 06:51:39 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KiRy4-0004Ar-F3 for qemu-devel@nongnu.org; Wed, 24 Sep 2008 06:51:37 -0400 Received: from [199.232.76.173] (port=36637 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KiRy3-0004A6-J8 for qemu-devel@nongnu.org; Wed, 24 Sep 2008 06:51:35 -0400 Received: from smtp.eu.citrix.com ([62.200.22.115]:10028) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KiRy3-0005WH-1k for qemu-devel@nongnu.org; Wed, 24 Sep 2008 06:51:35 -0400 Message-ID: <48DA1C2B.9030303@eu.citrix.com> Date: Wed, 24 Sep 2008 11:53:31 +0100 From: Stefano Stabellini MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 3 of 6] vga shared buffer References: <48CA51E6.1010305@eu.citrix.com> <48CE8819.8070204@codemonkey.ws> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org andrzej zaborowski wrote: > 2008/9/15 Anthony Liguori : >> Stefano Stabellini wrote: >>> Signed-off-by: Stefano Stabellini >>> >> I need to carve out some time to test this series and think about whether it >> can be done without adding a new DisplayState hook. I should be able to >> respond or apply within a few days. > > Any news? I think this change makes sense and it can help remove the > DIRECT_VRAM hack from vmware_vga.c. Thanks for keeping this thread alive. I was fearing it was slowing slipping into oblivion. >> I'm concerned about the complexity this adds to back-ends. It's not clear >> to me whether the performance justifies the added complexity. > > One way to simplify this and everything else is use Stefano's code to > stop the backends (SDL, VNC) from managing the framebuffer altogether > and only support what these patches call shared buffer. Then if the > given backed doesn't support given colorspace conversion in hardware, > it's its call to implement this, it could unify the color conversion > in qemu more generally. The drawback is it's hard to support weird > colorspaces like those supported by OMAP2 display susbsystem, and even > harder to do features like overlaid framebuffers with different > colorspaces (but it's not currently implemented anyway). > I wouldn't be so concerned about complexity: backends can always drop completely any shared buffer related code and still work fine. The vga code instead is not changed much (sadly I had to move some code around but the real changes are really few, about 20 lines of code, I would say). I am not sure to understand correctly what you are suggesting, are you proposing to always share the buffer and leave completely any color conversion to the backends? If so, that would simplify the code changes in vga.c, but not by much (keep in mind that we would still need to move the code I am moving right now, so we would only affect the remaing ~20 lines added). It would leave sdl mostly unaffected, because with my patches it already does all the color conversions itself. Finally it would add complexity to vnc.c, that at the moment is only able to handle 16 bpp.