crocus/gfx6: always be dirtying gs attachments for xfb
authorDave Airlie <airlied@redhat.com>
Thu, 24 Jun 2021 06:43:16 +0000 (16:43 +1000)
committerMarge Bot <eric+marge@anholt.net>
Thu, 24 Jun 2021 06:50:49 +0000 (06:50 +0000)
This fixes hangs seen with xfb and the deqp test

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11567>

src/gallium/drivers/crocus/crocus_state.c

index b39b523..f9ad130 100644 (file)
@@ -4174,7 +4174,7 @@ crocus_set_stream_output_targets(struct pipe_context *ctx,
       }
       pipe_so_target_reference(&old_tgt[i], NULL);
    }
-
+   ice->state.stage_dirty |= CROCUS_STAGE_DIRTY_BINDINGS_GS;
 #else
    for (int i = 0; i < PIPE_MAX_SO_BUFFERS; i++) {
       if (num_targets) {
@@ -4210,7 +4210,6 @@ crocus_set_stream_output_targets(struct pipe_context *ctx,
    ice->state.dirty |= CROCUS_DIRTY_GEN7_SO_BUFFERS;
 #elif GFX_VER == 6
    ice->state.dirty |= CROCUS_DIRTY_GEN6_SVBI;
-   ice->state.stage_dirty |= CROCUS_STAGE_DIRTY_BINDINGS_GS;
 #endif
 }