diff --git a/src/gallium/winsys/etnaviv/drm/etnaviv_drm_public.h b/src/gallium/winsys/etnaviv/drm/etnaviv_drm_public.h index b3bb5fd7efe..101484a8765 100644 --- a/src/gallium/winsys/etnaviv/drm/etnaviv_drm_public.h +++ b/src/gallium/winsys/etnaviv/drm/etnaviv_drm_public.h @@ -28,10 +28,12 @@ #define __ETNA_DRM_PUBLIC_H__ struct pipe_screen; +struct pipe_screen_config; struct renderonly; struct pipe_screen * -etna_drm_screen_create_renderonly(struct renderonly *ro); +etna_drm_screen_create_renderonly(int fd, struct renderonly *ro, + const struct pipe_screen_config *config); struct pipe_screen * etna_drm_screen_create(int fd); diff --git a/src/gallium/winsys/etnaviv/drm/etnaviv_drm_winsys.c b/src/gallium/winsys/etnaviv/drm/etnaviv_drm_winsys.c index c9145348c0d..035c63bac93 100644 --- a/src/gallium/winsys/etnaviv/drm/etnaviv_drm_winsys.c +++ b/src/gallium/winsys/etnaviv/drm/etnaviv_drm_winsys.c @@ -68,9 +68,10 @@ screen_create(int gpu_fd, const struct pipe_screen_config *config, struct render } struct pipe_screen * -etna_drm_screen_create_renderonly(struct renderonly *ro) +etna_drm_screen_create_renderonly(int fd, struct renderonly *ro, + const struct pipe_screen_config *config) { - return u_pipe_screen_lookup_or_create(ro->gpu_fd, NULL, ro, screen_create); + return u_pipe_screen_lookup_or_create(fd, config, ro, screen_create); } struct pipe_screen * diff --git a/src/gallium/winsys/kmsro/drm/kmsro_drm_winsys.c b/src/gallium/winsys/kmsro/drm/kmsro_drm_winsys.c index c97381682f5..7211c082264 100644 --- a/src/gallium/winsys/kmsro/drm/kmsro_drm_winsys.c +++ b/src/gallium/winsys/kmsro/drm/kmsro_drm_winsys.c @@ -84,7 +84,7 @@ struct pipe_screen *kmsro_drm_screen_create(int fd, ro->gpu_fd = drmOpenWithType("etnaviv", NULL, DRM_NODE_RENDER); if (ro->gpu_fd >= 0) { ro->create_for_resource = renderonly_create_kms_dumb_buffer_for_resource; - screen = etna_drm_screen_create_renderonly(ro); + screen = etna_drm_screen_create_renderonly(ro->gpu_fd, ro, config); if (!screen) goto out_free;