Felix Kühling wrote:
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?
Which ones?
Keith
-------------------------------------------------------
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