zink: add ZINK_DEBUG=noreorder

this will be useful for debugging

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667>
This commit is contained in:
Mike Blumenkrantz 2022-07-15 11:09:04 -04:00 committed by Marge Bot
parent 49688e6b8c
commit a41ea582c4
4 changed files with 5 additions and 1 deletions

View File

@ -282,6 +282,8 @@ variable:
Emit full synchronization barriers before every draw and dispatch.
``compact``
Use a maximum of 4 descriptor sets
``noreorder``
Do not reorder or optimize GL command streams
Vulkan Validation Layers
^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -3112,7 +3112,7 @@ resource_check_defer_buffer_barrier(struct zink_context *ctx, struct zink_resour
static inline VkCommandBuffer
get_cmdbuf(struct zink_context *ctx, struct zink_resource *res)
{
if ((res->obj->access && !res->obj->unordered_barrier) || !ctx->batch.in_rp) {
if ((res->obj->access && !res->obj->unordered_barrier) || !ctx->batch.in_rp || (zink_debug & ZINK_DEBUG_NOREORDER) > 0) {
zink_batch_no_rp(ctx);
res->obj->unordered_barrier = false;
return ctx->batch.state->cmdbuf;

View File

@ -78,6 +78,7 @@ zink_debug_options[] = {
{ "validation", ZINK_DEBUG_VALIDATION, "Dump Validation layer output" },
{ "sync", ZINK_DEBUG_SYNC, "Force synchronization before draws/dispatches" },
{ "compact", ZINK_DEBUG_COMPACT, "Use only 4 descriptor sets" },
{ "noreorder", ZINK_DEBUG_NOREORDER, "Do not reorder command streams" },
DEBUG_NAMED_VALUE_END
};

View File

@ -69,6 +69,7 @@ enum zink_debug {
ZINK_DEBUG_VALIDATION = (1<<3),
ZINK_DEBUG_SYNC = (1<<4),
ZINK_DEBUG_COMPACT = (1<<5),
ZINK_DEBUG_NOREORDER = (1<<6),
};
#define NUM_SLAB_ALLOCATORS 3