Revert "zink: when performing an implicit reset, sync qbos"

this appeared to fix some sort of bug related to preserving qbo data,
but really there shouldn't have been any sort of bug anyway since the qbos
all get read back, and thus the data is already preserved

instead, it just preserved the query id, which overloaded the pools and crashed

This reverts commit 79790e276f.

fixes #5669

Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14397>
This commit is contained in:
Mike Blumenkrantz 2022-01-04 13:06:38 -05:00 committed by Marge Bot
parent b7a4faea9b
commit 2fa1bf60d6

View file

@ -183,22 +183,6 @@ is_bool_query(struct zink_query *query)
query->type == PIPE_QUERY_GPU_FINISHED;
}
static void
qbo_sync_from_prev(struct zink_context *ctx, struct zink_query *query, unsigned id_offset, unsigned last_start)
{
assert(id_offset);
struct zink_query_buffer *prev = list_last_entry(&query->buffers, struct zink_query_buffer, list);
unsigned result_size = get_num_results(query->type) * sizeof(uint64_t);
/* this is get_buffer_offset() but without the zink_query object */
unsigned qbo_offset = last_start * get_num_results(query->type) * sizeof(uint64_t);
query->curr_query = id_offset;
query->curr_qbo->num_results = id_offset;
zink_copy_buffer(ctx, zink_resource(query->curr_qbo->buffer), zink_resource(prev->buffer), 0,
qbo_offset,
id_offset * result_size);
}
static bool
qbo_append(struct pipe_screen *screen, struct zink_query *query)
{
@ -577,8 +561,6 @@ copy_results_to_buffer(struct zink_context *ctx, struct zink_query *query, struc
static void
reset_pool(struct zink_context *ctx, struct zink_batch *batch, struct zink_query *q)
{
unsigned last_start = q->last_start;
unsigned id_offset = q->curr_query - q->last_start;
/* This command must only be called outside of a render pass instance
*
* - vkCmdResetQueryPool spec
@ -607,8 +589,6 @@ reset_pool(struct zink_context *ctx, struct zink_batch *batch, struct zink_query
reset_qbo(q);
else
debug_printf("zink: qbo alloc failed on reset!");
if (id_offset)
qbo_sync_from_prev(ctx, q, id_offset, last_start);
}
static inline unsigned