From bf1376aba0e9967317bd5284b6bf324b5cea1b59 Mon Sep 17 00:00:00 2001 From: Connor Abbott Date: Mon, 13 Jul 2020 12:54:36 +0200 Subject: [PATCH] tu: Don't invalidate irrelevant state when changing pipeline At least in the future this could let us avoid re-emitting gfx/cs constants when the other changes. This also matches what the blob does. Part-of: --- src/freedreno/vulkan/tu_pipeline.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/freedreno/vulkan/tu_pipeline.c b/src/freedreno/vulkan/tu_pipeline.c index 84cb9c465d9..b081d575e2d 100644 --- a/src/freedreno/vulkan/tu_pipeline.c +++ b/src/freedreno/vulkan/tu_pipeline.c @@ -469,14 +469,8 @@ tu6_emit_cs_config(struct tu_cs *cs, const struct tu_shader *shader, uint32_t binary_iova) { tu_cs_emit_regs(cs, A6XX_HLSQ_INVALIDATE_CMD( - .vs_state = true, - .hs_state = true, - .ds_state = true, - .gs_state = true, - .fs_state = true, .cs_state = true, - .cs_ibo = true, - .gfx_ibo = true)); + .cs_ibo = true)); tu6_emit_xs_config(cs, MESA_SHADER_COMPUTE, v, binary_iova); @@ -1368,8 +1362,6 @@ tu6_emit_program(struct tu_cs *cs, .ds_state = true, .gs_state = true, .fs_state = true, - .cs_state = true, - .cs_ibo = true, .gfx_ibo = true)); /* Don't use the binning pass variant when GS is present because we don't