mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
zink: delete persistent map tracking
this was never needed and never did anything: zink only uses COHERENT memory, which is always available on queue submission, so it was all just pointless code cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22907>
This commit is contained in:
parent
ebe3b91ca0
commit
8e75378a2d
4 changed files with 1 additions and 27 deletions
|
|
@ -129,7 +129,6 @@ zink_reset_batch_state(struct zink_context *ctx, struct zink_batch_state *bs)
|
|||
VKSCR(DestroySampler)(screen->dev, *samp, NULL);
|
||||
}
|
||||
util_dynarray_clear(&bs->zombie_samplers);
|
||||
util_dynarray_clear(&bs->persistent_resources);
|
||||
|
||||
zink_batch_descriptor_reset(screen, bs);
|
||||
|
||||
|
|
@ -335,7 +334,6 @@ create_batch_state(struct zink_context *ctx)
|
|||
util_dynarray_init(&bs->wait_semaphore_stages, NULL);
|
||||
util_dynarray_init(&bs->zombie_samplers, NULL);
|
||||
util_dynarray_init(&bs->dead_framebuffers, NULL);
|
||||
util_dynarray_init(&bs->persistent_resources, NULL);
|
||||
util_dynarray_init(&bs->unref_resources, NULL);
|
||||
util_dynarray_init(&bs->acquires, NULL);
|
||||
util_dynarray_init(&bs->acquire_flags, NULL);
|
||||
|
|
@ -601,16 +599,6 @@ submit_queue(void *data, void *gdata, int thread_index)
|
|||
}
|
||||
}
|
||||
|
||||
while (util_dynarray_contains(&bs->persistent_resources, struct zink_resource_object*)) {
|
||||
struct zink_resource_object *obj = util_dynarray_pop(&bs->persistent_resources, struct zink_resource_object*);
|
||||
VkMappedMemoryRange range = zink_resource_init_mem_range(screen, obj, 0, obj->size);
|
||||
|
||||
result = VKSCR(FlushMappedMemoryRanges)(screen->dev, 1, &range);
|
||||
if (result != VK_SUCCESS) {
|
||||
mesa_loge("ZINK: vkFlushMappedMemoryRanges failed (%s)", vk_Result_to_str(result));
|
||||
}
|
||||
}
|
||||
|
||||
simple_mtx_lock(&screen->queue_lock);
|
||||
result = VKSCR(QueueSubmit)(screen->queue, num_si, num_si == 2 ? si : &si[1], VK_NULL_HANDLE);
|
||||
if (result != VK_SUCCESS) {
|
||||
|
|
|
|||
|
|
@ -2025,8 +2025,6 @@ overwrite:
|
|||
trans->base.b.usage = usage;
|
||||
if (usage & PIPE_MAP_WRITE)
|
||||
util_range_add(&res->base.b, &res->valid_buffer_range, box->x, box->x + box->width);
|
||||
if ((usage & PIPE_MAP_PERSISTENT) && !(usage & PIPE_MAP_COHERENT))
|
||||
res->obj->persistent_maps++;
|
||||
|
||||
success:
|
||||
/* ensure the copy context gets unlocked */
|
||||
|
|
@ -2157,8 +2155,6 @@ zink_image_map(struct pipe_context *pctx,
|
|||
|
||||
if (sizeof(void*) == 4)
|
||||
trans->base.b.usage |= ZINK_MAP_TEMPORARY;
|
||||
if ((usage & PIPE_MAP_PERSISTENT) && !(usage & PIPE_MAP_COHERENT))
|
||||
res->obj->persistent_maps++;
|
||||
|
||||
*transfer = &trans->base.b;
|
||||
return ptr;
|
||||
|
|
@ -2437,7 +2433,6 @@ static void
|
|||
transfer_unmap(struct pipe_context *pctx, struct pipe_transfer *ptrans)
|
||||
{
|
||||
struct zink_context *ctx = zink_context(pctx);
|
||||
struct zink_resource *res = zink_resource(ptrans->resource);
|
||||
struct zink_transfer *trans = (struct zink_transfer *)ptrans;
|
||||
|
||||
if (!(trans->base.b.usage & (PIPE_MAP_FLUSH_EXPLICIT | PIPE_MAP_COHERENT))) {
|
||||
|
|
@ -2447,9 +2442,6 @@ transfer_unmap(struct pipe_context *pctx, struct pipe_transfer *ptrans)
|
|||
zink_transfer_flush_region(pctx, ptrans, &box);
|
||||
}
|
||||
|
||||
if ((trans->base.b.usage & PIPE_MAP_PERSISTENT) && !(trans->base.b.usage & PIPE_MAP_COHERENT))
|
||||
res->obj->persistent_maps--;
|
||||
|
||||
if (trans->staging_res)
|
||||
pipe_resource_reference(&trans->staging_res, NULL);
|
||||
pipe_resource_reference(&trans->base.b.resource, NULL);
|
||||
|
|
|
|||
|
|
@ -174,11 +174,7 @@ zink_resource_object_usage_unset(struct zink_resource_object *obj, struct zink_b
|
|||
static inline void
|
||||
zink_batch_resource_usage_set(struct zink_batch *batch, struct zink_resource *res, bool write, bool is_buffer)
|
||||
{
|
||||
if (is_buffer) {
|
||||
/* multiple array entries are fine */
|
||||
if (!res->obj->coherent && res->obj->persistent_maps)
|
||||
util_dynarray_append(&batch->state->persistent_resources, struct zink_resource_object*, res->obj);
|
||||
} else {
|
||||
if (!is_buffer) {
|
||||
if (res->obj->dt) {
|
||||
VkSemaphore acquire = zink_kopper_acquire_submit(zink_screen(batch->state->ctx->base.screen), res);
|
||||
if (acquire)
|
||||
|
|
|
|||
|
|
@ -593,7 +593,6 @@ struct zink_batch_state {
|
|||
struct util_dynarray unref_resources;
|
||||
struct util_dynarray bindless_releases[2];
|
||||
|
||||
struct util_dynarray persistent_resources;
|
||||
struct util_dynarray zombie_samplers;
|
||||
struct util_dynarray dead_framebuffers;
|
||||
|
||||
|
|
@ -1180,7 +1179,6 @@ struct zink_resource_object {
|
|||
bool copies_valid;
|
||||
bool copies_need_reset; //for use with batch state resets
|
||||
|
||||
unsigned persistent_maps; //if nonzero, requires vkFlushMappedMemoryRanges during batch use
|
||||
struct util_dynarray copies[16]; //regions being copied to; for barrier omission
|
||||
|
||||
VkBuffer storage_buffer;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue