On Sat, Jan 17, 2015 at 11:21 PM, Kenneth Graunke <kenn...@whitecape.org> wrote: > Gen4 hardware appears to GPU hang frequently when using Chromium, and > also when running 'glmark2 -b ideas'. Most of the error states contain > 3DPRIMITIVE commands in quick succession, with very few state packets > between them - usually VERTEX_BUFFERS/ELEMENTS and CONSTANT_BUFFER. > > I trimmed an apitrace of the glmark2 hang down to two draw calls with a > glUniformMatrix4fv call between the two. Either draw by itself works > fine, but together, they hang the GPU. Removing the glUniform call > makes the hangs disappear. In the hardware state, this translates to > removing the CONSTANT_BUFFER packet between the two 3DPRIMITIVE packets. > > Flushing before emitting CONSTANT_BUFFER packets also appears to make > the hangs disappear. I observed a slowdown in glxgears by doing it all > the time, so I've chosen to only do it when BRW_NEW_BATCH and > BRW_NEW_PSP are unset (i.e. we haven't done a CS_URB_STATE change or > already flushed the whole pipeline). > > I'd much rather understand the problem, but at this point, I don't see > how we'd ever be able to track it down further. We have no real tools, > and the hardware people moved on years ago. I've analyzed 20+ error > states and read every scrap of documentation I could find.
I don't think a Reviewed-by makes sense in this context, so please have an Acked-by: Matt Turner <matts...@gmail.com> and go make all those Gen4 users happy. :) _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev