mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-02 20:58:04 +02:00
zink: implement async nir creation
this just punts to the compile threads directly Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18198>
This commit is contained in:
parent
b8c82b50f7
commit
dcc5261895
3 changed files with 18 additions and 1 deletions
|
|
@ -1359,3 +1359,14 @@ zink_set_rasterizer_discard(struct zink_context *ctx, bool disable)
|
|||
ctx->rasterizer_discard_changed = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
zink_driver_thread_add_job(struct pipe_screen *pscreen, void *data,
|
||||
struct util_queue_fence *fence,
|
||||
pipe_driver_thread_func execute,
|
||||
pipe_driver_thread_func cleanup,
|
||||
const size_t job_size)
|
||||
{
|
||||
struct zink_screen *screen = zink_screen(pscreen);
|
||||
util_queue_add_job(&screen->cache_get_thread, data, fence, execute, cleanup, job_size);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -294,7 +294,12 @@ zink_set_fs_point_coord_key(struct zink_context *ctx)
|
|||
|
||||
bool
|
||||
zink_set_rasterizer_discard(struct zink_context *ctx, bool disable);
|
||||
|
||||
void
|
||||
zink_driver_thread_add_job(struct pipe_screen *pscreen, void *data,
|
||||
struct util_queue_fence *fence,
|
||||
pipe_driver_thread_func execute,
|
||||
pipe_driver_thread_func cleanup,
|
||||
const size_t job_size);
|
||||
equals_gfx_pipeline_state_func
|
||||
zink_get_gfx_pipeline_eq_func(struct zink_screen *screen, struct zink_gfx_program *prog);
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
|
|
@ -2337,6 +2337,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config)
|
|||
screen->base.get_sample_pixel_grid = zink_get_sample_pixel_grid;
|
||||
screen->base.is_compute_copy_faster = zink_is_compute_copy_faster;
|
||||
screen->base.is_format_supported = zink_is_format_supported;
|
||||
screen->base.driver_thread_add_job = zink_driver_thread_add_job;
|
||||
if (screen->info.have_EXT_image_drm_format_modifier && screen->info.have_EXT_external_memory_dma_buf) {
|
||||
screen->base.query_dmabuf_modifiers = zink_query_dmabuf_modifiers;
|
||||
screen->base.is_dmabuf_modifier_supported = zink_is_dmabuf_modifier_supported;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue