summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c50
-rw-r--r--src/gallium/auxiliary/target-helpers/drm_helper.h25
-rw-r--r--src/gallium/auxiliary/target-helpers/drm_helper_public.h5
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 */