diff options
author | Emil Velikov <[email protected]> | 2014-05-17 18:53:36 +0100 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2014-06-19 12:37:14 +0100 |
commit | 665a4d9d9b883324dbe9ba7ff55c9cb8201bc6b3 (patch) | |
tree | 5d5c1764e66f38f99f3a36586ff42f3f371a7418 /src/gallium/targets | |
parent | 36ff20027c43cd7115f1b6f073e4094582f643b6 (diff) |
targets/pipe-loader: add driver specific drm_configuration
Signed-off-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src/gallium/targets')
-rw-r--r-- | src/gallium/targets/pipe-loader/pipe_nouveau.c | 25 | ||||
-rw-r--r-- | src/gallium/targets/pipe-loader/pipe_r300.c | 25 | ||||
-rw-r--r-- | src/gallium/targets/pipe-loader/pipe_r600.c | 25 | ||||
-rw-r--r-- | src/gallium/targets/pipe-loader/pipe_radeonsi.c | 25 | ||||
-rw-r--r-- | src/gallium/targets/pipe-loader/pipe_vmwgfx.c | 25 |
5 files changed, 120 insertions, 5 deletions
diff --git a/src/gallium/targets/pipe-loader/pipe_nouveau.c b/src/gallium/targets/pipe-loader/pipe_nouveau.c index 65425e8d456..825b36f602e 100644 --- a/src/gallium/targets/pipe-loader/pipe_nouveau.c +++ b/src/gallium/targets/pipe-loader/pipe_nouveau.c @@ -17,5 +17,28 @@ create_screen(int fd) return screen; } +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_int = true, +}; + +static const struct drm_conf_ret *drm_configuration(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; +} + PUBLIC -DRM_DRIVER_DESCRIPTOR("nouveau", "nouveau", create_screen, NULL) +DRM_DRIVER_DESCRIPTOR("nouveau", "nouveau", create_screen, drm_configuration) diff --git a/src/gallium/targets/pipe-loader/pipe_r300.c b/src/gallium/targets/pipe-loader/pipe_r300.c index 6ab7e7491f9..abcade46239 100644 --- a/src/gallium/targets/pipe-loader/pipe_r300.c +++ b/src/gallium/targets/pipe-loader/pipe_r300.c @@ -13,5 +13,28 @@ create_screen(int fd) return sws ? debug_screen_wrap(sws->screen) : NULL; } +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_int = true, +}; + +static const struct drm_conf_ret *drm_configuration(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; +} + PUBLIC -DRM_DRIVER_DESCRIPTOR("r300", "radeon", create_screen, NULL) +DRM_DRIVER_DESCRIPTOR("r300", "radeon", create_screen, drm_configuration) diff --git a/src/gallium/targets/pipe-loader/pipe_r600.c b/src/gallium/targets/pipe-loader/pipe_r600.c index 2e6bd42c22d..eb53637d489 100644 --- a/src/gallium/targets/pipe-loader/pipe_r600.c +++ b/src/gallium/targets/pipe-loader/pipe_r600.c @@ -13,5 +13,28 @@ create_screen(int fd) return rw ? debug_screen_wrap(rw->screen) : NULL; } +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_int = true, +}; + +static const struct drm_conf_ret *drm_configuration(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; +} + PUBLIC -DRM_DRIVER_DESCRIPTOR("r600", "radeon", create_screen, NULL) +DRM_DRIVER_DESCRIPTOR("r600", "radeon", create_screen, drm_configuration) diff --git a/src/gallium/targets/pipe-loader/pipe_radeonsi.c b/src/gallium/targets/pipe-loader/pipe_radeonsi.c index 9a8feae0f00..1dcd781e63a 100644 --- a/src/gallium/targets/pipe-loader/pipe_radeonsi.c +++ b/src/gallium/targets/pipe-loader/pipe_radeonsi.c @@ -13,5 +13,28 @@ create_screen(int fd) return rw ? debug_screen_wrap(rw->screen) : NULL; } +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_int = true, +}; + +static const struct drm_conf_ret *drm_configuration(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; +} + PUBLIC -DRM_DRIVER_DESCRIPTOR("radeonsi", "radeon", create_screen, NULL) +DRM_DRIVER_DESCRIPTOR("radeonsi", "radeon", create_screen, drm_configuration) diff --git a/src/gallium/targets/pipe-loader/pipe_vmwgfx.c b/src/gallium/targets/pipe-loader/pipe_vmwgfx.c index bfe665be6eb..71015dfadb7 100644 --- a/src/gallium/targets/pipe-loader/pipe_vmwgfx.c +++ b/src/gallium/targets/pipe-loader/pipe_vmwgfx.c @@ -23,5 +23,28 @@ create_screen(int fd) return screen; } +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_int = true, +}; + +static const struct drm_conf_ret *drm_configuration(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; +} + PUBLIC -DRM_DRIVER_DESCRIPTOR("vmwgfx", "vmwgfx", create_screen, NULL) +DRM_DRIVER_DESCRIPTOR("vmwgfx", "vmwgfx", create_screen, drm_configuration) |