iris: Disable VF cache partial address workaround on Gen11+
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 25 Nov 2019 18:04:38 +0000 (10:04 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 26 Nov 2019 20:13:34 +0000 (12:13 -0800)
commit3fdf2bb313b7e91f223fc45ad68adea9d5e76407
treebd500d402f4a979de642a68d05ea9ea143542d6d
parent8d9f5a28e3879523fbdd018a2b87223313333379
iris: Disable VF cache partial address workaround on Gen11+

The vertex cache uses the full 48-bit address on Gen11+.  See the
documentation for 3DSTATE_VERTEX_BUFFERS, which describes the
workaround and lists it as pre-Icelake.

Interestingly, the docs don't mention index buffers as needing a
workaround at all.  So either we've been overzealous, or the docs
never got updated to record that.  Which begs the question of whether
the issue there was fixed, if there was one...

Cuts 40% of the PIPE_CONTROLs from Civilization VI's benchmark; appears
that it improves performance by about 1-2% on Icelake 8x8 (not frequency
locked).
src/gallium/drivers/iris/iris_blorp.c
src/gallium/drivers/iris/iris_state.c