On 03/05/2012 06:40 PM, Noel Van Hook wrote:
On Sun, Mar 4, 2012 at 12:29 PM, Yonit Halperin<[email protected]> wrote:
On 03/02/2012 09:06 PM, Noel Van Hook wrote:
I was wondering if anyone had any experience or insight into a way for
a worker in the server to get access to data from the other workers?
Specifically I am looking into some optimization that would require a
worker to have access to the surfaces stored in other workers.
Is there an easy way for the worker threads to access the other
workers? I'm referring to the worker->surfaces[] array in
red_worker.c
Thanks,
Noel
Hi,
Currently the different workers share the pixmaps' cache (and also the glz
dictionary). I.e., if an image is in use in more than one device, it will be
sent to the client only once and will enter the shared cache.
The surfaces themselves are not shared, but we plan to change the driver to
use only one device for multiple monitors, and then maybe this will change.
Can you be more specific about what you are trying to achieve? This will
help to give you more details.
We are trying to me the X driver XRandR compliant in such a way that
we don't break other drivers (such as the Windows driver).
We can collect all the heads together and make them look like a single
device, but copy operations that go from one device to the other give
us problems. Currently we are trying to modify the server to be able
to access a source surface which is located on another device.
Note that making the surfaces accessible from all workers (or display
channels in the client side) is not enough, You should also be careful
with synchronizing the workers: If you have a qxl-1 command that access
surface S on qxl-2, all qxl-2 commands that preceded this qxl-1 command
(and modified the corresponding are on surface S), should be executed
before this qxl-1 command.
Yonit.
Noel
_______________________________________________
Spice-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/spice-devel