Review: smarter runflags for lazy eval (issue194117)


larry...@...
 

Reviewers: ,

Description:
If you called context->execute() with a "sparse" set of runflags (such
as if you were picking the subset of a set of rays that hit objects with
the same shaders), it would use those runflags for any
unconditionally-run layers, but lazy layer evaluation was done with all
points on, which is very wasteful for sparse run sets. This change
records the top-level original runflags passed in, and uses those
runflags when running upstream layers lazily.

Please review this at http://codereview.appspot.com/194117/show

Affected files:
src/liboslexec/context.cpp
src/liboslexec/exec.cpp
src/liboslexec/oslexec_pvt.h


aco...@...
 


cku...@...
 

LGTM2

Can't wait to see the difference on those benchmark cases.

http://codereview.appspot.com/194117/show


larry...@...
 

On 2010/01/27 23:22:32, ckulla wrote:
Can't wait to see the difference on those benchmark cases.
OK, I committed it, so give it a try.
This should throw into even more stark relief the waste associated with
sparse runflags. I'll tackle that after "rebind" is done.


http://codereview.appspot.com/194117/show