From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Le6Vu-0000dG-6W for qemu-devel@nongnu.org; Mon, 02 Mar 2009 06:40:50 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Le6Vt-0000d4-HJ for qemu-devel@nongnu.org; Mon, 02 Mar 2009 06:40:49 -0500 Received: from [199.232.76.173] (port=56399 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Le6Vt-0000d1-Ep for qemu-devel@nongnu.org; Mon, 02 Mar 2009 06:40:49 -0500 Received: from smtp.citrix.com ([66.165.176.89]:62648) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Le6Vt-0008Bh-3x for qemu-devel@nongnu.org; Mon, 02 Mar 2009 06:40:49 -0500 Message-ID: <49ABC407.1060309@eu.citrix.com> Date: Mon, 2 Mar 2009 11:33:27 +0000 From: Stefano Stabellini MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] [v2] Update cocoa.m to match new DisplayState code References: <3097312F-7315-42BA-AF5D-4C026CD874FD@digitalescape.info> <697AA905-E4AA-4B1D-9F35-80887DE5C99F@web.de> In-Reply-To: <697AA905-E4AA-4B1D-9F35-80887DE5C99F@web.de> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= Cc: "C.W. Betts" , "qemu-devel@nongnu.org" Andreas Färber wrote: > Acked-by: Andreas Faerber > > The patch fixes compilation, and I have tested the following guests on > ppc host: > Debian/sparc32 (OpenBIOS and penguin feet are yellow) > Haiku/x86 @ 16bit, 15bit, 8bit (blue background, everything looks > normal) > > This patch implicitly adds a new feature, it centers the window on > size change ("[normalWindow center];"). Previously the window would > extend below the desktop bounds after the BIOS/OpenBIOS screen. Maybe > that should be split out from the DisplayState changes? > > This patch probably needs a Signed-off-by from Stefano since it is > likely based upon his draft patch from Dec 19. > > There was an additional patch from Stefano in this thread that I have > not yet tested. It was supposed to fix some Windows guests as a last > resort (disabling 16-bit optimizations due to lacking support in > Cocoa), but nobody replied to it yet apparently. > > I haven't checked in-depth in which way C. W. Bett's diff is related > to these two. It does seem to contain an additional output typo fix > not in here. Could you post that as a separate patch? > The problem with this patch is that it won't handle correctly the following case: host and guest x86, host is a MacOS host, guest is a Windows guest with 16bpp resolution. The cause of the problem is that Windows uses 565 RGB for 16bpp while MacOS seems to be unable not only to render but even to convert this resolution into another. Due to the lack of alternatives I suggest to introduce the following hack to workaround the problem: --- diff --git a/hw/vga.c b/hw/vga.c index 2084ff4..b742c78 100644 --- a/hw/vga.c +++ b/hw/vga.c @@ -1621,7 +1621,7 @@ static void vga_draw_graphic(VGAState *s, int full_update) disp_width != s->last_width || height != s->last_height || s->last_depth != depth) { -#if defined(WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN) +#if defined(WORDS_BIGENDIAN) == defined(TARGET_WORDS_BIGENDIAN) && !defined(CONFIG_COCOA) if (depth == 16 || depth == 32) { #else if (depth == 32) { --- Apart from this issue the cocoa patch is fine, you can add my signed off line to it.