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
^^^^^^^^^^^^^^^^^^^^^^^^
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;
{ "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
};
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