mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-05 06:50:10 +01:00
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:
parent
b7a4faea9b
commit
2fa1bf60d6
1 changed files with 0 additions and 20 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue