On Wed, 3 Mar 2004, Sottek, Matthew J wrote:

> 
> Your rectangle array design would only send an array
> of rectangles that come from the spans of a larger
> polygon? Maybe the driver can attempt to fix it there.

   The array only contains parts of a larger single rendering 
request.  But note that XFillRectangles is a single request.
All the rectangles passed down in that request will show up
in the array.  A single XFillRectangle may still be multiple
rectangles due to clipping, and complex primitives like filled
arcs will end up as many rectangles regardless.  The only time
XAA will break these up into multiple Subsequent requests is
when XAA's internal buffer isn't big enough to buffer all the
pieces.

   The driver can buffer these requests, even across different
surfaces, for as long as it likes as long as it sends them to
the hardware before the BlockHandler exists.  Up until that point
you can send it to the hardware based on whatever criteria you like:
after a certain amount of data has been placed in the DMA buffer,
after an approximate amount of pixels have been asked to be filled,
etc...  The "nv" driver buffers all requests until the block
handler or until after a primitive of a certain size is encountered.
The goal being to buffer as much as possible but to limit latency
by limiting the buffering to small primitives.


                        Mark.

_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to