diff --git a/src/amd/vulkan/radv_query.c b/src/amd/vulkan/radv_query.c index 144b4a0c5af..8c77fae5ac9 100644 --- a/src/amd/vulkan/radv_query.c +++ b/src/amd/vulkan/radv_query.c @@ -1901,8 +1901,6 @@ emit_begin_query(struct radv_cmd_buffer *cmd_buffer, struct radv_query_pool *poo cmd_buffer->state.active_prims_gen_queries++; } - emit_sample_streamout(cmd_buffer, va, index); - if (pool->uses_gds) { /* generated prim counter */ gfx10_copy_gds_query(cmd_buffer, RADV_NGG_QUERY_PRIM_GEN_OFFSET(index), va + 32); @@ -1915,6 +1913,8 @@ emit_begin_query(struct radv_cmd_buffer *cmd_buffer, struct radv_query_pool *poo cmd_buffer->state.active_prims_gen_gds_queries++; } + + emit_sample_streamout(cmd_buffer, va, index); } break; } @@ -2037,8 +2037,6 @@ emit_end_query(struct radv_cmd_buffer *cmd_buffer, struct radv_query_pool *pool, cmd_buffer->state.active_prims_gen_queries--; } - emit_sample_streamout(cmd_buffer, va + 16, index); - if (pool->uses_gds) { /* generated prim counter */ gfx10_copy_gds_query(cmd_buffer, RADV_NGG_QUERY_PRIM_GEN_OFFSET(index), va + 36); @@ -2048,6 +2046,8 @@ emit_end_query(struct radv_cmd_buffer *cmd_buffer, struct radv_query_pool *pool, if (!cmd_buffer->state.active_prims_gen_gds_queries) cmd_buffer->state.dirty |= RADV_CMD_DIRTY_NGG_QUERY; } + + emit_sample_streamout(cmd_buffer, va + 16, index); } break; }