On Wed, Nov 21, 2001 at 11:50:57AM -0800, Mark Vojkovich wrote:
>    This is an application bug.  Apps are supposed to Grab the
> port when they want to use it so noone else can.  When an app
> tries to grab the port and finds that it is already grabbed
> it will know that it is in use and it should fall back to some
> other method to display the video.   When the apps do not grab
> the port they are using, continual preempting of each other's
> video is the expected behavior.
Hmm, does it really have to be like this? From my understanding of how
XvShmPutImage is implemented on most cards, there should be a way to implement
this reasonably:

- make sure when allocating offscreen memory for data that it doesn't overlap
- make sure when *CopyData422/420 are using DMA that only 1 DMA transfer
  happens at a time (dunno, is this really necessary?)
- make sure calling *DisplayVideo422/420 only happens once at a time (from my
  experience this takes an insignificant amount of time => chance that these 2
  will overlap is low => can be ignored

So, in theory, making sure the allocated memory segments don't overlap should
be enough. As the CopyData422/420 takes almost all the time of the PutImage
function, there shouldn't be any strage slowdown besides lineary proportional
to the amount of data transferred (i.e. image size*depth).

Or am I missing something here (as usually <g>)?

>                       Mark.
Bye,

Peter Surda (Shurdeek) <[EMAIL PROTECTED]>, ICQ 10236103, +436505122023

--
            Give a man a fish and you feed him for a day;
     teach him to use the Net and he won't bother you for weeks.

Attachment: msg01661/pgp00000.pgp
Description: PGP signature

Reply via email to