radeonsi/gfx10: disable clear state
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 8 May 2019 01:06:15 +0000 (03:06 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 3 Jul 2019 19:51:13 +0000 (15:51 -0400)
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/gallium/drivers/radeonsi/si_pipe.c
src/gallium/drivers/radeonsi/si_state.c

index d1a4fb2325e14feb91a682b07b7ac5d30c371da6..2ad164a50acde47d8dd7e679a657f92ae7b27861 100644 (file)
@@ -1082,10 +1082,11 @@ radeonsi_screen_create_impl(struct radeon_winsys *ws,
        }
 
        /* The mere presense of CLEAR_STATE in the IB causes random GPU hangs
-        * on GFX6. Some CLEAR_STATE cause asic hang on radeon kernel, etc.
-        * SPI_VS_OUT_CONFIG. So only enable GFX7 CLEAR_STATE on amdgpu kernel.*/
-       sscreen->has_clear_state = sscreen->info.chip_class >= GFX7 &&
-                                  sscreen->info.is_amdgpu;
+        * on GFX6. Some CLEAR_STATE cause asic hang on radeon kernel, etc.
+        * SPI_VS_OUT_CONFIG. So only enable GFX7 CLEAR_STATE on amdgpu kernel. */
+       sscreen->has_clear_state = sscreen->info.chip_class >= GFX7 &&
+                                  sscreen->info.chip_class <= GFX9 &&
+                                  sscreen->info.is_amdgpu;
 
        sscreen->has_distributed_tess =
                sscreen->info.chip_class >= GFX8 &&
index 90d332dcebfda60cfece64ad918e7cb616811baf..b55a398740dd67e62131280cf75d5a90b6dc6b03 100644 (file)
@@ -5391,10 +5391,6 @@ static void si_init_config(struct si_context *sctx)
        bool has_clear_state = sscreen->has_clear_state;
        struct si_pm4_state *pm4 = CALLOC_STRUCT(si_pm4_state);
 
-       /* GFX6, radeon kernel disabled CLEAR_STATE. */
-       assert(has_clear_state || sscreen->info.chip_class == GFX6 ||
-              !sscreen->info.is_amdgpu);
-
        if (!pm4)
                return;