anv: Always enable the data cache
authorJason Ekstrand <jason@jlekstrand.net>
Fri, 21 Feb 2020 19:39:16 +0000 (13:39 -0600)
committerMarge Bot <eric+marge@anholt.net>
Tue, 25 Feb 2020 20:12:10 +0000 (20:12 +0000)
commit5dfd83d7a1ce52a42485c54ca170311449379eb9
treec32a8db60c3570a1dbc9106025026033269a7837
parentd4e7a11bc3e33baa311595602719bb449ce51d31
anv: Always enable the data cache

Because we set the needs_data_cache bit from the NIR during compilation,
any time a shader was pulled out of the pipeline cache, we wouldn't set
the bit and the data cache was disabled.  Fortunately, on Gen8+, this
bit is ignored because we always use the ALL section in the L3$ config
instead of separate DC and RO sections.  On Gen7, however, this meant
that we were basically never running with the data cache enabled and our
compute performance was suffering massively because of it.  This commit
improves Geekbench 5 scores on my Haswell GT3 by roughly 330% (no,
that's not a typo).

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3912>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3912>
src/intel/vulkan/anv_pipeline.c
src/intel/vulkan/anv_private.h
src/intel/vulkan/genX_pipeline.c