"Sottek, Matthew J" wrote:
> 
> >"Sottek, Matthew J" wrote:
> >>
> >> Here is the proposal again, if there are on complaints I'll
> >> implement it this way.
> >>
> >> #define XV_HOLD         0x0
> >> #define XV_TOP_FIELD    0x1
> >> #define XV_BOTTOM_FIELD 0x2
> >> #define XV_FRAME        (XV_TOP_FIELD | XV_BOTTOM_FIELD)
> >
> >Just to clarify, the default atom value will be XV_FRAME right?
> 
> Yes, existing Xv clients do not need to change anything. It will
> works just like it always has. Clients can query for the
> XV_FRAME_TYPE atom to see if the driver supports this new
> functionality. I plan on resetting it whenever the Overlay is
> turned off.

Another question real fast.

If I blt a frame with the XV_FRAME_TYPE atom set to XV_FRAME|XV_HOLD, 
and then, sometime later, I set the atom to XV_FRAME, what kind of
latency would I be looking at before that held buffer would show up?
Is setting atoms a synchronous call? Would I be certain the frame is
on the screen when it returns? I don't really care which way as
long as....

Can it be required that all XV_HOLD --> !XV_HOLD transitions happen
in the vblank somewhere? That way I can just worry about setting the
atom as close to frame display time as I can and not worry about the
tearing. I guess I am just looking for another way to work around not 
getting vsyncs at my level.

Now that I think about it, what effect, if any, will this have on
drivers that implement their own multi-buffering? 

Another clarification question, what happens in this case:

XV_FRAME_TYPE = *|XV_HOLD
XvShmPutImage()
...
XvShmPutImage()
...
XvShmPutImage()
XV_FRAME_TYPE = *&!XV_HOLD

I take it that only the last frame put will show up?

--greg.
_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to