diff --git a/src/gallium/targets/pipe-loader/pipe_i915.c b/src/gallium/targets/pipe-loader/pipe_i915.c index 927bad0de2c..14e5a5ac3cf 100644 --- a/src/gallium/targets/pipe-loader/pipe_i915.c +++ b/src/gallium/targets/pipe-loader/pipe_i915.c @@ -4,24 +4,5 @@ #include "i915/drm/i915_drm_public.h" #include "i915/i915_public.h" -static struct pipe_screen * -create_screen(int fd, const struct pipe_screen_config *config) -{ - struct i915_winsys *iws; - struct pipe_screen *screen; - - iws = i915_drm_winsys_create(fd); - if (!iws) - return NULL; - - screen = i915_screen_create(iws); - if (!screen) - return NULL; - - screen = debug_screen_wrap(screen); - - return screen; -} - PUBLIC -DRM_DRIVER_DESCRIPTOR("i915", NULL, create_screen) +DRM_DRIVER_DESCRIPTOR("i915", NULL, pipe_i915_create_screen) diff --git a/src/gallium/targets/pipe-loader/pipe_kmsro.c b/src/gallium/targets/pipe-loader/pipe_kmsro.c index 79c66bd3695..2e9626833e3 100644 --- a/src/gallium/targets/pipe-loader/pipe_kmsro.c +++ b/src/gallium/targets/pipe-loader/pipe_kmsro.c @@ -3,19 +3,5 @@ #include "frontend/drm_driver.h" #include "kmsro/drm/kmsro_drm_public.h" -static struct pipe_screen * -create_screen(int fd, const struct pipe_screen_config *config) -{ - struct pipe_screen *screen; - - screen = kmsro_drm_screen_create(fd, config); - if (!screen) - return NULL; - - screen = debug_screen_wrap(screen); - - return screen; -} - PUBLIC -DRM_DRIVER_DESCRIPTOR("kmsro", NULL, create_screen) +DRM_DRIVER_DESCRIPTOR("kmsro", NULL, pipe_kmsro_create_screen) diff --git a/src/gallium/targets/pipe-loader/pipe_msm.c b/src/gallium/targets/pipe-loader/pipe_msm.c index 4868a8bcd8d..28098e830ee 100644 --- a/src/gallium/targets/pipe-loader/pipe_msm.c +++ b/src/gallium/targets/pipe-loader/pipe_msm.c @@ -1,21 +1,8 @@ +#include "target-helpers/drm_helper.h" #include "target-helpers/inline_debug_helper.h" #include "frontend/drm_driver.h" #include "freedreno/drm/freedreno_drm_public.h" -static struct pipe_screen * -create_screen(int fd, const struct pipe_screen_config *config) -{ - struct pipe_screen *screen; - - screen = fd_drm_screen_create(fd, NULL); - if (!screen) - return NULL; - - screen = debug_screen_wrap(screen); - - return screen; -} - PUBLIC -DRM_DRIVER_DESCRIPTOR("msm", NULL, create_screen) +DRM_DRIVER_DESCRIPTOR("msm", NULL, pipe_freedreno_create_screen) diff --git a/src/gallium/targets/pipe-loader/pipe_nouveau.c b/src/gallium/targets/pipe-loader/pipe_nouveau.c index 6b5ee18408c..5907a75cbc1 100644 --- a/src/gallium/targets/pipe-loader/pipe_nouveau.c +++ b/src/gallium/targets/pipe-loader/pipe_nouveau.c @@ -1,21 +1,8 @@ +#include "target-helpers/drm_helper.h" #include "target-helpers/inline_debug_helper.h" #include "frontend/drm_driver.h" #include "nouveau/drm/nouveau_drm_public.h" -static struct pipe_screen * -create_screen(int fd, const struct pipe_screen_config *config) -{ - struct pipe_screen *screen; - - screen = nouveau_drm_screen_create(fd); - if (!screen) - return NULL; - - screen = debug_screen_wrap(screen); - - return screen; -} - PUBLIC -DRM_DRIVER_DESCRIPTOR("nouveau", NULL, create_screen) +DRM_DRIVER_DESCRIPTOR("nouveau", NULL, pipe_nouveau_create_screen) diff --git a/src/gallium/targets/pipe-loader/pipe_r300.c b/src/gallium/targets/pipe-loader/pipe_r300.c index 268a5eee287..8fd1899230f 100644 --- a/src/gallium/targets/pipe-loader/pipe_r300.c +++ b/src/gallium/targets/pipe-loader/pipe_r300.c @@ -1,17 +1,9 @@ +#include "target-helpers/drm_helper.h" #include "target-helpers/inline_debug_helper.h" #include "frontend/drm_driver.h" #include "radeon/drm/radeon_drm_public.h" #include "radeon/radeon_winsys.h" #include "r300/r300_public.h" -static struct pipe_screen * -create_screen(int fd, const struct pipe_screen_config *config) -{ - struct radeon_winsys *sws; - - sws = radeon_drm_winsys_create(fd, config, r300_screen_create); - return sws ? debug_screen_wrap(sws->screen) : NULL; -} - PUBLIC -DRM_DRIVER_DESCRIPTOR("r300", NULL, create_screen) +DRM_DRIVER_DESCRIPTOR("r300", NULL, pipe_r300_create_screen) diff --git a/src/gallium/targets/pipe-loader/pipe_r600.c b/src/gallium/targets/pipe-loader/pipe_r600.c index 871dff3f7e1..092f51b9d2e 100644 --- a/src/gallium/targets/pipe-loader/pipe_r600.c +++ b/src/gallium/targets/pipe-loader/pipe_r600.c @@ -1,17 +1,9 @@ #include "frontend/drm_driver.h" +#include "target-helpers/drm_helper.h" #include "target-helpers/inline_debug_helper.h" #include "radeon/drm/radeon_drm_public.h" #include "radeon/radeon_winsys.h" #include "r600/r600_public.h" -static struct pipe_screen * -create_screen(int fd, const struct pipe_screen_config *config) -{ - struct radeon_winsys *rw; - - rw = radeon_drm_winsys_create(fd, config, r600_screen_create); - return rw ? debug_screen_wrap(rw->screen) : NULL; -} - PUBLIC -DRM_DRIVER_DESCRIPTOR("r600", NULL, create_screen) +DRM_DRIVER_DESCRIPTOR("r600", NULL, pipe_r600_create_screen) diff --git a/src/gallium/targets/pipe-loader/pipe_radeonsi.c b/src/gallium/targets/pipe-loader/pipe_radeonsi.c index d8cbe02c1b7..57177d8a723 100644 --- a/src/gallium/targets/pipe-loader/pipe_radeonsi.c +++ b/src/gallium/targets/pipe-loader/pipe_radeonsi.c @@ -1,19 +1,12 @@ #include "frontend/drm_driver.h" +#include "target-helpers/drm_helper.h" #include "target-helpers/inline_debug_helper.h" #include "radeonsi/si_public.h" #include "util/driconf.h" -static struct pipe_screen * -create_screen(int fd, const struct pipe_screen_config *config) -{ - struct pipe_screen *screen = radeonsi_screen_create(fd, config); - - return screen ? debug_screen_wrap(screen) : NULL; -} - static const char *driconf_xml = #include "radeonsi/si_driinfo.h" ; PUBLIC -DRM_DRIVER_DESCRIPTOR("radeonsi", &driconf_xml, create_screen) +DRM_DRIVER_DESCRIPTOR("radeonsi", &driconf_xml, pipe_radeonsi_create_screen) diff --git a/src/gallium/targets/pipe-loader/pipe_vmwgfx.c b/src/gallium/targets/pipe-loader/pipe_vmwgfx.c index 73c6bda9879..91539017fea 100644 --- a/src/gallium/targets/pipe-loader/pipe_vmwgfx.c +++ b/src/gallium/targets/pipe-loader/pipe_vmwgfx.c @@ -1,27 +1,9 @@ #include "target-helpers/inline_debug_helper.h" +#include "target-helpers/drm_helper.h" #include "frontend/drm_driver.h" #include "svga/drm/svga_drm_public.h" #include "svga/svga_public.h" -static struct pipe_screen * -create_screen(int fd, const struct pipe_screen_config *config) -{ - struct svga_winsys_screen *sws; - struct pipe_screen *screen; - - sws = svga_drm_winsys_screen_create(fd); - if (!sws) - return NULL; - - screen = svga_screen_create(sws); - if (!screen) - return NULL; - - screen = debug_screen_wrap(screen); - - return screen; -} - PUBLIC -DRM_DRIVER_DESCRIPTOR("vmwgfx", NULL, create_screen) +DRM_DRIVER_DESCRIPTOR("vmwgfx", NULL, pipe_vmwgfx_create_screen)