[Mesa-dev] [PATCH 03/17] anv/cmd_buffer: Get rid of the meta query workaround

Jason Ekstrand jason at jlekstrand.net
Sat Dec 16 01:09:01 UTC 2017


Meta has been gone for a long time.
---
 src/intel/vulkan/anv_cmd_buffer.c |  1 -
 src/intel/vulkan/anv_private.h    |  1 -
 src/intel/vulkan/genX_query.c     | 14 --------------
 3 files changed, 16 deletions(-)

diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_buffer.c
index 69acafa..c0270e1 100644
--- a/src/intel/vulkan/anv_cmd_buffer.c
+++ b/src/intel/vulkan/anv_cmd_buffer.c
@@ -146,7 +146,6 @@ anv_cmd_state_reset(struct anv_cmd_buffer *cmd_buffer)
    state->push_constant_stages = 0;
    state->restart_index = UINT32_MAX;
    state->dynamic = default_dynamic_state;
-   state->need_query_wa = true;
    state->pma_fix_enabled = false;
    state->hiz_enabled = false;
 
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index 2d35aaa..d6436d5 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -1704,7 +1704,6 @@ struct anv_cmd_state {
    struct anv_state                             binding_tables[MESA_SHADER_STAGES];
    struct anv_state                             samplers[MESA_SHADER_STAGES];
    struct anv_dynamic_state                     dynamic;
-   bool                                         need_query_wa;
 
    struct anv_push_descriptor_set *             push_descriptors[MAX_SETS];
 
diff --git a/src/intel/vulkan/genX_query.c b/src/intel/vulkan/genX_query.c
index 7683d0d..726e565 100644
--- a/src/intel/vulkan/genX_query.c
+++ b/src/intel/vulkan/genX_query.c
@@ -385,20 +385,6 @@ void genX(CmdBeginQuery)(
    ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer);
    ANV_FROM_HANDLE(anv_query_pool, pool, queryPool);
 
-   /* Workaround: When meta uses the pipeline with the VS disabled, it seems
-    * that the pipelining of the depth write breaks. What we see is that
-    * samples from the render pass clear leaks into the first query
-    * immediately after the clear. Doing a pipecontrol with a post-sync
-    * operation and DepthStallEnable seems to work around the issue.
-    */
-   if (cmd_buffer->state.need_query_wa) {
-      cmd_buffer->state.need_query_wa = false;
-      anv_batch_emit(&cmd_buffer->batch, GENX(PIPE_CONTROL), pc) {
-         pc.DepthCacheFlushEnable   = true;
-         pc.DepthStallEnable        = true;
-      }
-   }
-
    switch (pool->type) {
    case VK_QUERY_TYPE_OCCLUSION:
       emit_ps_depth_count(cmd_buffer, &pool->bo, query * pool->stride + 8);
-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list