diff options
-rw-r--r-- | src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c | 50 | ||||
-rw-r--r-- | src/gallium/auxiliary/target-helpers/drm_helper.h | 25 | ||||
-rw-r--r-- | src/gallium/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 5c8c7509e08..d8d3878bcd5 100644 --- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c @@ -64,95 +64,71 @@ struct pipe_loader_drm_device { 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 diff --git a/src/gallium/auxiliary/target-helpers/drm_helper.h b/src/gallium/auxiliary/target-helpers/drm_helper.h index 2a2f57d20db..a4fcde385f2 100644 --- a/src/gallium/auxiliary/target-helpers/drm_helper.h +++ b/src/gallium/auxiliary/target-helpers/drm_helper.h @@ -4,6 +4,31 @@ #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" diff --git a/src/gallium/auxiliary/target-helpers/drm_helper_public.h b/src/gallium/auxiliary/target-helpers/drm_helper_public.h index 5746e08554b..c540d7c58a6 100644 --- a/src/gallium/auxiliary/target-helpers/drm_helper_public.h +++ b/src/gallium/auxiliary/target-helpers/drm_helper_public.h @@ -1,6 +1,8 @@ #ifndef _DRM_HELPER_PUBLIC_H #define _DRM_HELPER_PUBLIC_H +enum drm_conf; +struct drm_conf_ret; struct pipe_screen; struct pipe_screen_config; @@ -44,4 +46,7 @@ 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 */ |