From bc7f41e11d325280db12e7b9444501357bc13922 Mon Sep 17 00:00:00 2001 From: Nicolai Hähnle Date: Wed, 28 Jun 2017 14:47:32 +0200 Subject: gallium: add pipe_screen_config to screen_create functions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This allows a more generic mechanism for passing user configurations into drivers by accessing the dri options directly. Reviewed-by: Marek Olšák --- src/gallium/winsys/amdgpu/drm/amdgpu_public.h | 5 +++-- src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c | 4 ++-- src/gallium/winsys/radeon/drm/radeon_drm_public.h | 5 +++-- src/gallium/winsys/radeon/drm/radeon_drm_winsys.c | 4 ++-- 4 files changed, 10 insertions(+), 8 deletions(-) (limited to 'src/gallium/winsys') diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_public.h b/src/gallium/winsys/amdgpu/drm/amdgpu_public.h index 3cb5a1bf429..8702e4f6e8a 100644 --- a/src/gallium/winsys/amdgpu/drm/amdgpu_public.h +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_public.h @@ -31,12 +31,13 @@ struct radeon_winsys; struct pipe_screen; +struct pipe_screen_config; typedef struct pipe_screen *(*radeon_screen_create_t)(struct radeon_winsys *, - unsigned); + const struct pipe_screen_config *config); struct radeon_winsys * -amdgpu_winsys_create(int fd, unsigned flags, +amdgpu_winsys_create(int fd, const struct pipe_screen_config *config, radeon_screen_create_t screen_create); #endif diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c index 837c1e2aae0..26c7dacb9df 100644 --- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c @@ -231,7 +231,7 @@ static const char* amdgpu_get_chip_name(struct radeon_winsys *ws) PUBLIC struct radeon_winsys * -amdgpu_winsys_create(int fd, unsigned flags, +amdgpu_winsys_create(int fd, const struct pipe_screen_config *config, radeon_screen_create_t screen_create) { struct amdgpu_winsys *ws; @@ -328,7 +328,7 @@ amdgpu_winsys_create(int fd, unsigned flags, * * Alternatively, we could create the screen based on "ws->gen" * and link all drivers into one binary blob. */ - ws->base.screen = screen_create(&ws->base, flags); + ws->base.screen = screen_create(&ws->base, config); if (!ws->base.screen) { amdgpu_winsys_destroy(&ws->base); mtx_unlock(&dev_tab_mutex); diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_public.h b/src/gallium/winsys/radeon/drm/radeon_drm_public.h index 2192aa68ef6..6a772f3a621 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_public.h +++ b/src/gallium/winsys/radeon/drm/radeon_drm_public.h @@ -5,12 +5,13 @@ struct radeon_winsys; struct pipe_screen; +struct pipe_screen_config; typedef struct pipe_screen *(*radeon_screen_create_t)(struct radeon_winsys *, - unsigned); + const struct pipe_screen_config *); struct radeon_winsys * -radeon_drm_winsys_create(int fd, unsigned flags, +radeon_drm_winsys_create(int fd, const struct pipe_screen_config *config, radeon_screen_create_t screen_create); #endif diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c index ad1db3c388c..542e5494beb 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c @@ -736,7 +736,7 @@ static int handle_compare(void *key1, void *key2) } PUBLIC struct radeon_winsys * -radeon_drm_winsys_create(int fd, unsigned flags, +radeon_drm_winsys_create(int fd, const struct pipe_screen_config *config, radeon_screen_create_t screen_create) { struct radeon_drm_winsys *ws; @@ -832,7 +832,7 @@ radeon_drm_winsys_create(int fd, unsigned flags, * * Alternatively, we could create the screen based on "ws->gen" * and link all drivers into one binary blob. */ - ws->base.screen = screen_create(&ws->base, flags); + ws->base.screen = screen_create(&ws->base, config); if (!ws->base.screen) { radeon_winsys_destroy(&ws->base); mtx_unlock(&fd_tab_mutex); -- cgit v1.2.3