i965: limit VF caching workaround to gen8/9/10
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Thu, 3 Jan 2019 16:13:14 +0000 (16:13 +0000)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Fri, 4 Jan 2019 11:18:48 +0000 (11:18 +0000)
Documentation of the 3DSTATE_VERTEX_BUFFERS packet says this is only
needed before ICL.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/genX_blorp_exec.c
src/mesa/drivers/dri/i965/genX_state_upload.c

index a62b88e166c0c6533f2887b1832661fe894db6b7..bb84317e1a0b35ae028691f6d71c48cfb55739dc 100644 (file)
@@ -197,7 +197,7 @@ blorp_vf_invalidate_for_vb_48b_transitions(struct blorp_batch *batch,
                                            const struct blorp_address *addrs,
                                            unsigned num_vbs)
 {
-#if GEN_GEN >= 8
+#if GEN_GEN >= 8 && GEN_GEN < 11
    struct brw_context *brw = batch->driver_batch;
    bool need_invalidate = false;
 
index 8c38d5f4e821c4be54664973b465142aa7c02779..7f7406a68dee63c97426fb3c009b879c99f10981 100644 (file)
@@ -530,11 +530,13 @@ pinned_bo_high_bits(struct brw_bo *bo)
  * In the relocation world, we have no idea what the addresses will be, so
  * we can't apply this workaround.  Instead, we tell the kernel to move it
  * to the low 4GB regardless.
+ *
+ * This HW issue is gone on Gen11+.
  */
 static void
 vf_invalidate_for_vb_48bit_transitions(struct brw_context *brw)
 {
-#if GEN_GEN >= 8
+#if GEN_GEN >= 8 && GEN_GEN < 11
    bool need_invalidate = false;
    unsigned i;