}
if (write) {
if (stencil)
- zink_batch_usage_set(&stencil->obj->writes, batch->state->fence.batch_id);
- zink_batch_usage_set(&res->obj->writes, batch->state->fence.batch_id);
+ zink_batch_usage_set(&stencil->obj->writes, batch->state);
+ zink_batch_usage_set(&res->obj->writes, batch->state);
res->scanout_dirty = !!res->scanout_obj;
} else {
if (stencil)
- zink_batch_usage_set(&stencil->obj->reads, batch->state->fence.batch_id);
- zink_batch_usage_set(&res->obj->reads, batch->state->fence.batch_id);
+ zink_batch_usage_set(&stencil->obj->reads, batch->state);
+ zink_batch_usage_set(&res->obj->reads, batch->state);
}
/* multiple array entries are fine */
if (res->obj->persistent_maps)
return false;
_mesa_set_search_and_add(s, ptr, &found);
assert(!found);
- zink_batch_usage_set(u, batch->state->fence.batch_id);
+ zink_batch_usage_set(u, batch->state);
return true;
}
}
static inline void
-zink_batch_usage_set(struct zink_batch_usage *u, uint32_t batch_id)
+zink_batch_usage_set(struct zink_batch_usage *u, struct zink_batch_state *bs)
{
- u->usage = batch_id;
+ u->usage = bs->fence.batch_id;
}
static inline bool
ctx->sampler_states[shader][start_slot + i] = state;
ctx->di.textures[shader][start_slot + i].sampler = state ? state->sampler : VK_NULL_HANDLE;
if (state)
- zink_batch_usage_set(&state->batch_uses, ctx->curr_batch);
+ zink_batch_usage_set(&state->batch_uses, ctx->batch.state);
}
ctx->di.num_samplers[shader] = start_slot + num_samplers;
}
struct zink_sampler_state *sampler_state = ctx->sampler_states[stage][j];
struct zink_image_view *iv = &ctx->image_views[stage][j];
if (sampler_state && i == ZINK_DESCRIPTOR_TYPE_SAMPLER_VIEW && j <= ctx->di.num_samplers[stage])
- zink_batch_usage_set(&sampler_state->batch_uses, ctx->curr_batch);
+ zink_batch_usage_set(&sampler_state->batch_uses, ctx->batch.state);
if (sv && i == ZINK_DESCRIPTOR_TYPE_SAMPLER_VIEW && j <= ctx->di.num_sampler_views[stage])
zink_batch_reference_sampler_view(batch, sv);
else if (i == ZINK_DESCRIPTOR_TYPE_IMAGE && j <= ctx->di.num_images[stage])
if (needs_stats_list(q))
list_addtail(&q->stats_list, &ctx->primitives_generated_queries);
p_atomic_inc(&q->fences);
- zink_batch_usage_set(&q->batch_id, batch->state->fence.batch_id);
+ zink_batch_usage_set(&q->batch_id, batch->state);
_mesa_set_add(batch->state->active_queries, q);
}
reset_pool(ctx, batch, q);
vkCmdWriteTimestamp(batch->state->cmdbuf, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
q->query_pool, q->curr_query);
- zink_batch_usage_set(&q->batch_id, batch->state->fence.batch_id);
+ zink_batch_usage_set(&q->batch_id, batch->state);
} else if (q->type == PIPE_QUERY_PRIMITIVES_EMITTED ||
q->type == PIPE_QUERY_PRIMITIVES_GENERATED ||
q->type == PIPE_QUERY_SO_OVERFLOW_PREDICATE) {