zink: remove driver-based max_fences throttling

there are no more fence objects, so there's no need to do driver-specific
clamping on them

the mechanism remains intact to handle ETOOMANYSUBMITS

Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15904>
This commit is contained in:
Mike Blumenkrantz
2022-04-12 15:07:29 -04:00
committed by Marge Bot
parent 21fb0a3473
commit b0cbe3d419
3 changed files with 2 additions and 12 deletions

View File

@@ -332,8 +332,8 @@ post_submit(void *data, void *gdata, int thread_index)
if (bs->ctx->reset.reset)
bs->ctx->reset.reset(bs->ctx->reset.data, PIPE_GUILTY_CONTEXT_RESET);
screen->device_lost = true;
} else if (bs->ctx->batch_states_count > screen->max_fences) {
zink_screen_timeline_wait(screen, bs->fence.batch_id - (screen->max_fences / 2), PIPE_TIMEOUT_INFINITE);
} else if (bs->ctx->batch_states_count > 5000) {
zink_screen_timeline_wait(screen, bs->fence.batch_id - 2500, PIPE_TIMEOUT_INFINITE);
}
}

View File

@@ -2202,15 +2202,6 @@ zink_internal_create_screen(const struct pipe_screen_config *config)
if (!os_get_total_physical_memory(&screen->total_mem))
goto fail;
switch (screen->info.driver_props.driverID) {
case VK_DRIVER_ID_NVIDIA_PROPRIETARY:
screen->max_fences = 500;
break;
default:
screen->max_fences = 5000;
break;
}
if (!zink_screen_init_semaphore(screen)) {
mesa_loge("zink: failed to create timeline semaphore");
goto fail;

View File

@@ -144,7 +144,6 @@ struct zink_screen {
uint32_t gfx_queue;
uint32_t max_queues;
uint32_t timestamp_valid_bits;
unsigned max_fences;
VkDevice dev;
VkQueue queue; //gfx+compute
VkQueue thread_queue; //gfx+compute