From cbb5adb90893a7c03f96f72f0665766a4007affd Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sat, 11 Jun 2016 17:28:52 +0200 Subject: gallium/u_queue: allow the execute function to differ per job MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit so that independent types of jobs can use the same queue. Reviewed-by: Nicolai Hähnle --- src/gallium/winsys/radeon/drm/radeon_drm_cs.c | 3 ++- src/gallium/winsys/radeon/drm/radeon_drm_winsys.c | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/gallium/winsys/radeon') diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_cs.c b/src/gallium/winsys/radeon/drm/radeon_drm_cs.c index 9532a6a0f0f..efefd7517e7 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_cs.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm_cs.c @@ -586,7 +586,8 @@ static void radeon_drm_cs_flush(struct radeon_winsys_cs *rcs, } if (util_queue_is_initialized(&cs->ws->cs_queue)) { - util_queue_add_job(&cs->ws->cs_queue, cs, &cs->flush_completed); + util_queue_add_job(&cs->ws->cs_queue, cs, &cs->flush_completed, + radeon_drm_cs_emit_ioctl_oneshot); if (!(flags & RADEON_FLUSH_ASYNC)) radeon_drm_cs_sync_flush(rcs); } else { diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c index ea5d212803c..f5f9d420722 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c @@ -783,8 +783,7 @@ radeon_drm_winsys_create(int fd, radeon_screen_create_t screen_create) ws->info.gart_page_size = sysconf(_SC_PAGESIZE); if (ws->num_cpus > 1 && debug_get_option_thread()) - util_queue_init(&ws->cs_queue, "radeon_cs", 8, 1, - radeon_drm_cs_emit_ioctl_oneshot); + util_queue_init(&ws->cs_queue, "radeon_cs", 8, 1); /* Create the screen at the end. The winsys must be initialized * completely. -- cgit v1.2.3