Mesa (master): intel/blorp: Disable sampler state prefetching on Gen11

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jun 25 20:30:43 UTC 2019


Module: Mesa
Branch: master
Commit: 748e5dac72255583339af327af6741626e2ce0b0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=748e5dac72255583339af327af6741626e2ce0b0

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Jun 24 15:09:51 2019 -0700

intel/blorp: Disable sampler state prefetching on Gen11

Sampler state prefetching is broken on Gen11, and WA_160668216 says
to disable it.  Apparently sampler state prefetching also has basically
zero impact on performance, so we don't need to worry there.

i965, anv, and iris already handle this correctly, but we missed BLORP.
Ideally the kernel should globally disable this by writing SARCHKMD, at
which point we wouldn't have to worry about it.  But let's be defensive
and handle it ourselves too.

v2: separate out from BTP workaround in case we change that eventually

Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com> [v1]

---

 src/intel/blorp/blorp_genX_exec.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/intel/blorp/blorp_genX_exec.h b/src/intel/blorp/blorp_genX_exec.h
index f3e64c56382..7a74b1d9d50 100644
--- a/src/intel/blorp/blorp_genX_exec.h
+++ b/src/intel/blorp/blorp_genX_exec.h
@@ -778,6 +778,10 @@ blorp_emit_ps_config(struct blorp_batch *batch,
       if (GEN_GEN == 11)
          ps.BindingTableEntryCount = 0;
 
+      /* SAMPLER_STATE prefetching is broken on Gen11 - WA_1606682166 */
+      if (GEN_GEN == 11)
+         ps.SamplerCount = 0;
+
       if (prog_data) {
          ps._8PixelDispatchEnable = prog_data->dispatch_8;
          ps._16PixelDispatchEnable = prog_data->dispatch_16;




More information about the mesa-commit mailing list