-
Marcin Ślusarz authored
Enabling this fast path, while making CPU side simpler (and thus reducing driver's CPU overhead), forces us to generate multiple VERTEX_BUFFER_STATE packets pointing to the same buffer, but with slightly shifted BufferStartingAddress. This is fine on GFX version >= 11 and < 8, but on version 8 and 9, thanks to internal details of the VF cache, vertex data from each VERTEX_BUFFER_STATE is cached separately and this results in a lot of cache misses. Disabling this fast path restores previous performance levels. On my SKL GT2 machine this improves performance in: - GLB27 Egypt offscreen by 37% - GLB27 TRex offscreen by 22% - gfxbench5 Manhattan offscreen by 1.75% - gfxbench5 Manhattan31 offscreen by 1.9% - gfxbench5 Aztec Ruins high by 2.3% In Intel performance CI on GFX version 9 it improves performance in: - gfxbench5 Manhattan offscreen by 1.65% - gfxbench5 Aztec Ruins normal offscreen by 1.33% Closes: mesa/mesa#3277 Fixes: 42842306 ("mesa,st/mesa: add a fast path for non-static VAOs") Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!9857>
1df3a00d