On Fri, 29 Nov 2002 07:55:52 -0700
Brian Paul <[EMAIL PROTECTED]> wrote:

[snip]
> Implementing a true threaded pipeline could be very compilicated.  State
> changes are the big issue.  If you stall/flush the pipeline for every
> state change you wouldn't gain anything.  The alternative is to associate
> the GL state with each chunk of vertex data as it passes through the
> pipeline AND reconfigure the pipeline in the midst of state changes.
> Again, I think this would be very complicated.

I see the problem. On many state changes, a corresponding driver
function is called. In a parallel pipeline implementation, if there is
still vertex data (with associated state) pending in the pipeline, it
will be rendered by the driver with the wrong state. A proper solution
would be to call the state-changing driver functions (or only
UpdateState?) from within the pipeline, just before a driver stage is
run. The required amount of modifications to mesas driver state
management seems not too big. A quick recursive grep in
xc/xc/extras/Mesa for "ctx->Driver\.[[:alnum:]]*[[:space:]]*(" finds 63
lines in 23 files.

I found many state changing callbacks in dd.h which don't seem to be
used. Are they left-overs from earlier Mesa versions or did my grep miss
something?

Regards,
Felix

               __\|/__    ___     ___     ___
__Tschüß_______\_6 6_/___/__ \___/__ \___/___\___You can do anything,___
_____Felix_______\Ä/\ \_____\ \_____\ \______U___just not everything____
  [EMAIL PROTECTED]    >o<__/   \___/   \___/        at the same time!


-------------------------------------------------------
This SF.net email is sponsored by: Get the new Palm Tungsten T 
handheld. Power & Color in a compact size! 
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0002en
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to