On Wed, 15 Feb 2012 12:33:38 -0800 Eric Anholt <eric at anholt.net> wrote: > On Tue, 14 Feb 2012 22:09:07 +0100, Ben Widawsky <ben at bwidawsk.net> wrote: > > These patches are a heavily revised version of the patches I wrote over > > a year ago. These patches have passed basic tests on SNB, and IVB, and > > older versions worked on ILK. In theory, context support should work > > all the way back to Gen4, but I haven't tested it. Also since I suspect > > ILK may be unstable, so the code has it disabled for now. > > > > HW contexts provide a way for the GPU to save an restore certain state > > in between batchbuffer boundaries. Typically, GPU clients must re-emit > > the entire state every time they run because the client does not know > > what has been destroyed since the last time. With these patches the > > driver will emit special instructions to do this on behalf of the client > > if it has registered a context, and included that with the batchbuffer. > > These patches look pretty solid. In particular, the API > (create/destroy/context id in execbuf) looks like just what we want for > Mesa. I'll try to get around to testing it out soon (I'm poking at some > performance stuff currently where this might become relevant soon). I've just started noticing GPU hangs with Ken's test mesa branch on nexuiz with vsync, full 13x7 and max effects. It seems to work fine with variations like windowed, lower detail, etc. Although it looks weird on IVB, I cannot reproduce the hangs there. Also, I'd never seen the hangs before this morning, and I'm not sure what has changed. So FYI, you may want to start out with IVB (unless you want to help me figure out what is broken on SNB :-) I've not tried very hard, but so far it only seems to occur when doing context switches, however MI_SET_CONTEXT is nowhere in the error state. > > The couple of patches without a comment from me are: > > Reviewed-by: Eric Anholt <eric at anholt.net> >