anv/cmd_buffer: Get rid of the meta query workaround
Meta has been gone for a long time. Tested-by: Józef Kucia <joseph.kucia@gmail.com> Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Cc: "18.0" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
@@ -146,7 +146,6 @@ anv_cmd_state_reset(struct anv_cmd_buffer *cmd_buffer)
|
|||||||
state->push_constant_stages = 0;
|
state->push_constant_stages = 0;
|
||||||
state->restart_index = UINT32_MAX;
|
state->restart_index = UINT32_MAX;
|
||||||
state->dynamic = default_dynamic_state;
|
state->dynamic = default_dynamic_state;
|
||||||
state->need_query_wa = true;
|
|
||||||
state->pma_fix_enabled = false;
|
state->pma_fix_enabled = false;
|
||||||
state->hiz_enabled = false;
|
state->hiz_enabled = false;
|
||||||
|
|
||||||
|
@@ -1691,7 +1691,6 @@ struct anv_cmd_state {
|
|||||||
struct anv_state binding_tables[MESA_SHADER_STAGES];
|
struct anv_state binding_tables[MESA_SHADER_STAGES];
|
||||||
struct anv_state samplers[MESA_SHADER_STAGES];
|
struct anv_state samplers[MESA_SHADER_STAGES];
|
||||||
struct anv_dynamic_state dynamic;
|
struct anv_dynamic_state dynamic;
|
||||||
bool need_query_wa;
|
|
||||||
|
|
||||||
struct anv_push_descriptor_set * push_descriptors[MAX_SETS];
|
struct anv_push_descriptor_set * push_descriptors[MAX_SETS];
|
||||||
|
|
||||||
|
@@ -409,20 +409,6 @@ void genX(CmdBeginQuery)(
|
|||||||
ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer);
|
ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, commandBuffer);
|
||||||
ANV_FROM_HANDLE(anv_query_pool, pool, queryPool);
|
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) {
|
switch (pool->type) {
|
||||||
case VK_QUERY_TYPE_OCCLUSION:
|
case VK_QUERY_TYPE_OCCLUSION:
|
||||||
emit_ps_depth_count(cmd_buffer, &pool->bo, query * pool->stride + 8);
|
emit_ps_depth_count(cmd_buffer, &pool->bo, query * pool->stride + 8);
|
||||||
|
Reference in New Issue
Block a user