On 09/20/12 17:33, Stefano Stabellini wrote:
> On Thu, 20 Sep 2012, Stefano Stabellini wrote:
>> On Thu, 20 Sep 2012, Gerd Hoffmann wrote:
>>>   Hi,
>>>
>>>>> In any graphics mode relevant today vga emulation will use
>>>>> qemu_create_displaysurface_from().  Whenever a DisplayAllocator is
>>>>> present or not doesn't make any difference then.
>>>>
>>>> Unfortunately if my memory doesn't fail me, Windows uses 24 bpp.
>>>> So actually the DisplayAllocator interface is the one that is going to be
>>>> used all the time.
>>>
>>> Guess we want implement 24bpp support in displaylisteners then.
>>
>> vnc doesn't support 24bpp
> 
> I mean the vnc protocol doesn't support 24bpp, so it couldn't help vnc
> (I am aware that at the moment vnc is not using a DisplayAllocator, but
> I guess it could in the future).

Yes, vnc should transform 24bpp into 32bpp.  Given that vnc keeps a
shadow copy of the guest display _anyway_ (to figure which parts of the
guest display did _really_ change) we don't have to do any extra copying
work in vnc.  We can just keep the shadow at 32bpp.  The 'compare+copy'
code in vnc_refresh_server_surface must be able to cope with 24bpp guest
+ 32bpp server surface.  Done.  And we've dropped the 24->32 bpp
conversion in the vga emulation along the way.

cheers,
  Gerd


Reply via email to