From: Nicolai Hähnle <nicolai.haeh...@amd.com> Having it inline is pointless anyway, since it's only called via a function pointer. --- .../auxiliary/pipe-loader/pipe_loader_drm.c | 50 ++++++---------------- src/gallium/auxiliary/target-helpers/drm_helper.h | 25 +++++++++++ .../auxiliary/target-helpers/drm_helper_public.h | 5 +++ 3 files changed, 43 insertions(+), 37 deletions(-)
diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c index 5c8c750..d8d3878 100644 --- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c @@ -57,109 +57,85 @@ struct pipe_loader_drm_device { struct util_dl_library *lib; #endif int fd; }; #define pipe_loader_drm_device(dev) ((struct pipe_loader_drm_device *)dev) static const struct pipe_loader_ops pipe_loader_drm_ops; #ifdef GALLIUM_STATIC_TARGETS -static const struct drm_conf_ret throttle_ret = { - .type = DRM_CONF_INT, - .val.val_int = 2, -}; - -static const struct drm_conf_ret share_fd_ret = { - .type = DRM_CONF_BOOL, - .val.val_bool = true, -}; - -static inline const struct drm_conf_ret * -configuration_query(enum drm_conf conf) -{ - switch (conf) { - case DRM_CONF_THROTTLE: - return &throttle_ret; - case DRM_CONF_SHARE_FD: - return &share_fd_ret; - default: - break; - } - return NULL; -} - static const struct drm_driver_descriptor driver_descriptors[] = { { .driver_name = "i915", .create_screen = pipe_i915_create_screen, - .configuration = configuration_query, + .configuration = pipe_default_configuration_query, }, { .driver_name = "nouveau", .create_screen = pipe_nouveau_create_screen, - .configuration = configuration_query, + .configuration = pipe_default_configuration_query, }, { .driver_name = "r300", .create_screen = pipe_r300_create_screen, - .configuration = configuration_query, + .configuration = pipe_default_configuration_query, }, { .driver_name = "r600", .create_screen = pipe_r600_create_screen, - .configuration = configuration_query, + .configuration = pipe_default_configuration_query, }, { .driver_name = "radeonsi", .create_screen = pipe_radeonsi_create_screen, - .configuration = configuration_query, + .configuration = pipe_default_configuration_query, }, { .driver_name = "vmwgfx", .create_screen = pipe_vmwgfx_create_screen, - .configuration = configuration_query, + .configuration = pipe_default_configuration_query, }, { .driver_name = "kgsl", .create_screen = pipe_freedreno_create_screen, - .configuration = configuration_query, + .configuration = pipe_default_configuration_query, }, { .driver_name = "msm", .create_screen = pipe_freedreno_create_screen, - .configuration = configuration_query, + .configuration = pipe_default_configuration_query, }, { .driver_name = "pl111", .create_screen = pipe_pl111_create_screen, - .configuration = configuration_query, + .configuration = pipe_default_configuration_query, }, { .driver_name = "virtio_gpu", .create_screen = pipe_virgl_create_screen, - .configuration = configuration_query, + .configuration = pipe_default_configuration_query, }, { .driver_name = "vc4", .create_screen = pipe_vc4_create_screen, - .configuration = configuration_query, + .configuration = pipe_default_configuration_query, }, { .driver_name = "etnaviv", .create_screen = pipe_etna_create_screen, - .configuration = configuration_query, + .configuration = pipe_default_configuration_query, }, { .driver_name = "imx-drm", .create_screen = pipe_imx_drm_create_screen, - .configuration = configuration_query, + .configuration = pipe_default_configuration_query, } }; #endif static const struct drm_driver_descriptor * get_driver_descriptor(const char *driver_name, struct util_dl_library **plib) { #ifdef GALLIUM_STATIC_TARGETS for (int i = 0; i < ARRAY_SIZE(driver_descriptors); i++) { if (strcmp(driver_descriptors[i].driver_name, driver_name) == 0) diff --git a/src/gallium/auxiliary/target-helpers/drm_helper.h b/src/gallium/auxiliary/target-helpers/drm_helper.h index 2a2f57d..a4fcde3 100644 --- a/src/gallium/auxiliary/target-helpers/drm_helper.h +++ b/src/gallium/auxiliary/target-helpers/drm_helper.h @@ -1,16 +1,41 @@ #ifndef DRM_HELPER_H #define DRM_HELPER_H #include <stdio.h> #include "target-helpers/inline_debug_helper.h" #include "target-helpers/drm_helper_public.h" +#include "state_tracker/drm_driver.h" + +static const struct drm_conf_ret throttle_ret = { + .type = DRM_CONF_INT, + .val.val_int = 2, +}; + +static const struct drm_conf_ret share_fd_ret = { + .type = DRM_CONF_BOOL, + .val.val_bool = true, +}; + +const struct drm_conf_ret * +pipe_default_configuration_query(enum drm_conf conf) +{ + switch (conf) { + case DRM_CONF_THROTTLE: + return &throttle_ret; + case DRM_CONF_SHARE_FD: + return &share_fd_ret; + default: + break; + } + return NULL; +} #ifdef GALLIUM_I915 #include "i915/drm/i915_drm_public.h" #include "i915/i915_public.h" struct pipe_screen * pipe_i915_create_screen(int fd, const struct pipe_screen_config *config) { struct i915_winsys *iws; struct pipe_screen *screen; diff --git a/src/gallium/auxiliary/target-helpers/drm_helper_public.h b/src/gallium/auxiliary/target-helpers/drm_helper_public.h index 5746e08..c540d7c 100644 --- a/src/gallium/auxiliary/target-helpers/drm_helper_public.h +++ b/src/gallium/auxiliary/target-helpers/drm_helper_public.h @@ -1,13 +1,15 @@ #ifndef _DRM_HELPER_PUBLIC_H #define _DRM_HELPER_PUBLIC_H +enum drm_conf; +struct drm_conf_ret; struct pipe_screen; struct pipe_screen_config; struct pipe_screen * pipe_i915_create_screen(int fd, const struct pipe_screen_config *config); struct pipe_screen * pipe_ilo_create_screen(int fd, const struct pipe_screen_config *config); @@ -37,11 +39,14 @@ pipe_vc4_create_screen(int fd, const struct pipe_screen_config *config); struct pipe_screen * pipe_pl111_create_screen(int fd, const struct pipe_screen_config *config); struct pipe_screen * pipe_etna_create_screen(int fd, const struct pipe_screen_config *config); struct pipe_screen * pipe_imx_drm_create_screen(int fd, const struct pipe_screen_config *config); +const struct drm_conf_ret * +pipe_default_configuration_query(enum drm_conf conf); + #endif /* _DRM_HELPER_PUBLIC_H */ -- 2.9.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev