[Spice-devel] Client Graphics Filtering

Yonit Halperin yhalperi at redhat.com
Tue Apr 24 10:43:29 PDT 2012


Hi,

On 04/24/2012 09:12 AM, Alon Levy wrote:
> On Tue, Apr 24, 2012 at 09:47:47AM +0800, 蒋媛园 wrote:
>>   Hi
>>     I want to filter the graphics to the client. For example, only the
>> graphics of a calculator(in guest OS Win7) are send to the client.
>>     I know that there is always the possibility of falling all the way back to CPU drawing to a memory bitmap which is then copied to the client.
>>     Now, I have filtered the drawing commands on device-managed surfaces which belong to some app.exe. However I don't know how to control the engine-managed surfaces, namely those pre-rendered bitmaps. I didn't find related code in QXL driver.
>>     Could you please give me some advice? I really need some help.
>>
I'm not sure I understand exactly what you mean. I guess that by 
engine-managed, you mean gdi bitmaps? When the destination of a drawing 
operation is a gdi bitmap, the client doesn't know about this operation. 
The driver renders the src* of the operation if needed (if it is a 
device managed bitmap), copies the relevant src area to a new gdi 
bitmap, and fallback to a Gdi call, with the "copied src" and original dest.
If the destination is a device managed bitmap, and the src* is a gdi 
managed bitmap, the gdi bitmap is copied to the device memory, and the 
corresponding qxl drawing command is sent to the server together with 
the reference to the copied bitmap.

* There can be multiple references to bitmaps in one qxl command 
(src/mask/brush), and each one can be a bitmap (gdi/device)

Regards,
Yonit.
>
> Great to hear someone is working on this, I don't have an answer though,
> Yonit, any idea maybe?
>
>>
>> Thanks in advance
>>   Best Regards!
>>
>>
>>
>>
>>
>> 网易Lofter,专注兴趣,分享创作!
>



More information about the Spice-devel mailing list