[Intel-gfx] [PATCH 2/2] drm/i915: disable indirect state pointers in render flush

Daniel Vetter daniel.vetter at ffwll.ch
Thu Jul 26 19:47:07 CEST 2012

On Thu, Jul 26, 2012 at 7:33 PM, Eric Anholt <eric at anholt.net> wrote:
> Daniel Vetter <daniel.vetter at ffwll.ch> writes:
>> Since we don't guarantee that objects stay at the same gtt offset,
>> userspace needs to reload all indirect state anyway, even with hw
>> contexts. The hw provides a little pipe_control flag to disable at
>> least some these indirect state pointers and hence avoid to
>> save/restore them at context switch time.
>> Seems to improve hw context switch throughput as measured by running
>> glxgears by about 0.5%, barely above the noise on my ivb gt2 here.
> I'd like to see some better testing than picking an fps number out of
> glxgears.  I'm dubious of there being any measurable effect here.  But
> then, I haven't even been able to figure out from the specs what exactly
> is considered to be "indirect state".

I admit that the the glxgears number is rather pointless - it's meant
more as a quick sanity test that things don't go slower. The
motivation why I've done this is more that this could help in catching
mesa bugs, where for some odd reason some indirect state doesn't get
re-emitted (now with hw contexts that's harder to detect than just
running 2 drm clients in parallel). If the hw gives us a bit to clean
(at least parts) of that state out, I think we should use it to
improve testing coverage.
Daniel Vetter
daniel.vetter at ffwll.ch - +41 (0) 79 365 57 48 - http://blog.ffwll.ch

More information about the Intel-gfx mailing list