mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 02:20:11 +01:00
radv: query cmds should mark a cmd buffer as having draws.
This fixes a regression with the remove non-draw cmd buffers in
queries.
Fixes: 8b47b97215 radv: detect command buffers that do no work and drop them (v2)
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
a3e4fa5495
commit
d1640e7932
1 changed files with 4 additions and 0 deletions
|
|
@ -211,6 +211,7 @@ void radv_CmdCopyQueryPoolResults(
|
||||||
|
|
||||||
cmd_buffer->device->ws->cs_add_buffer(cmd_buffer->cs, pool->bo, 8);
|
cmd_buffer->device->ws->cs_add_buffer(cmd_buffer->cs, pool->bo, 8);
|
||||||
cmd_buffer->device->ws->cs_add_buffer(cmd_buffer->cs, dst_buffer->bo, 8);
|
cmd_buffer->device->ws->cs_add_buffer(cmd_buffer->cs, dst_buffer->bo, 8);
|
||||||
|
cmd_buffer->no_draws = false;
|
||||||
|
|
||||||
for(unsigned i = 0; i < queryCount; ++i, dest_va += stride) {
|
for(unsigned i = 0; i < queryCount; ++i, dest_va += stride) {
|
||||||
unsigned query = firstQuery + i;
|
unsigned query = firstQuery + i;
|
||||||
|
|
@ -310,6 +311,7 @@ void radv_CmdBeginQuery(
|
||||||
va += pool->stride * query;
|
va += pool->stride * query;
|
||||||
|
|
||||||
cmd_buffer->device->ws->cs_add_buffer(cs, pool->bo, 8);
|
cmd_buffer->device->ws->cs_add_buffer(cs, pool->bo, 8);
|
||||||
|
cmd_buffer->no_draws = false;
|
||||||
|
|
||||||
switch (pool->type) {
|
switch (pool->type) {
|
||||||
case VK_QUERY_TYPE_OCCLUSION:
|
case VK_QUERY_TYPE_OCCLUSION:
|
||||||
|
|
@ -343,6 +345,7 @@ void radv_CmdEndQuery(
|
||||||
va += pool->stride * query;
|
va += pool->stride * query;
|
||||||
|
|
||||||
cmd_buffer->device->ws->cs_add_buffer(cs, pool->bo, 8);
|
cmd_buffer->device->ws->cs_add_buffer(cs, pool->bo, 8);
|
||||||
|
cmd_buffer->no_draws = false;
|
||||||
|
|
||||||
switch (pool->type) {
|
switch (pool->type) {
|
||||||
case VK_QUERY_TYPE_OCCLUSION:
|
case VK_QUERY_TYPE_OCCLUSION:
|
||||||
|
|
@ -394,6 +397,7 @@ void radv_CmdWriteTimestamp(
|
||||||
uint64_t query_va = va + pool->stride * query;
|
uint64_t query_va = va + pool->stride * query;
|
||||||
|
|
||||||
cmd_buffer->device->ws->cs_add_buffer(cs, pool->bo, 5);
|
cmd_buffer->device->ws->cs_add_buffer(cs, pool->bo, 5);
|
||||||
|
cmd_buffer->no_draws = false;
|
||||||
|
|
||||||
MAYBE_UNUSED unsigned cdw_max = radeon_check_space(cmd_buffer->device->ws, cs, 12);
|
MAYBE_UNUSED unsigned cdw_max = radeon_check_space(cmd_buffer->device->ws, cs, 12);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue