mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-16 15:50:19 +01:00
lavapipe: use the passed offset for CmdCopyQueryPoolResults
this avoids overwriting buffer[0] on every copy Fixes:b38879f8c5("vallium: initial import of the vulkan frontend") Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9813> (cherry picked from commite20aebb83c)
This commit is contained in:
parent
8d32c55d93
commit
f0b620307e
2 changed files with 5 additions and 4 deletions
|
|
@ -319,7 +319,7 @@
|
|||
"description": "lavapipe: use the passed offset for CmdCopyQueryPoolResults",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": "b38879f8c5f57b7f1802e433e33181bdf5e72aef"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -2096,7 +2096,7 @@ static void handle_copy_query_pool_results(struct lvp_cmd_buffer_entry *cmd,
|
|||
struct lvp_query_pool *pool = copycmd->pool;
|
||||
|
||||
for (unsigned i = copycmd->first_query; i < copycmd->first_query + copycmd->query_count; i++) {
|
||||
unsigned offset = copycmd->dst->offset + (copycmd->stride * (i - copycmd->first_query));
|
||||
unsigned offset = copycmd->dst_offset + copycmd->dst->offset + (copycmd->stride * (i - copycmd->first_query));
|
||||
if (pool->queries[i]) {
|
||||
if (copycmd->flags & VK_QUERY_RESULT_WITH_AVAILABILITY_BIT)
|
||||
state->pctx->get_query_result_resource(state->pctx,
|
||||
|
|
@ -2119,8 +2119,9 @@ static void handle_copy_query_pool_results(struct lvp_cmd_buffer_entry *cmd,
|
|||
struct pipe_transfer *src_t;
|
||||
uint32_t *map;
|
||||
|
||||
struct pipe_box box = {};
|
||||
box.width = copycmd->stride * copycmd->query_count;
|
||||
struct pipe_box box = {0};
|
||||
box.x = offset;
|
||||
box.width = copycmd->stride;
|
||||
box.height = 1;
|
||||
box.depth = 1;
|
||||
map = state->pctx->transfer_map(state->pctx,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue