i965: Only emit VF cache invalidations when the high bits changes
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 29 May 2018 16:28:07 +0000 (17:28 +0100)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 29 May 2018 19:16:26 +0000 (12:16 -0700)
Commit 92f01fc5f914 ("i965: Emit VF cache invalidates for 48-bit
addressing bugs with softpin.") tried to only emit the VF invalidate if
the high bits changed, but it accidentally always set need_invalidate to
true; causing it to emit unconditionally emit the pipe control before
every primitive.

Fixes: 92f01fc5f914 ("i965: Emit VF cache invalidates for 48-bit addressing bugs with softpin.")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106708
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/genX_state_upload.c

index b485e2cf8111d9d388da9f03de972c6bb076b5be..88fde9d12fd6fd3d536aa4a7d9a03ace1e8b7de7 100644 (file)
@@ -504,7 +504,7 @@ static void
 vf_invalidate_for_vb_48bit_transitions(struct brw_context *brw)
 {
 #if GEN_GEN >= 8
-   bool need_invalidate = true;
+   bool need_invalidate = false;
    unsigned i;
 
    for (i = 0; i < brw->vb.nr_buffers; i++) {