-#include "state_tracker/drm_driver.h"
+#include "frontend/drm_driver.h"
#include "target-helpers/inline_debug_helper.h"
-#include "radeon/drm/radeon_drm_public.h"
-#include "radeon/radeon_winsys.h"
-#include "amdgpu/drm/amdgpu_public.h"
#include "radeonsi/si_public.h"
+#include "util/xmlpool.h"
static struct pipe_screen *
-create_screen(int fd)
+create_screen(int fd, const struct pipe_screen_config *config)
{
- struct radeon_winsys *rw;
+ struct pipe_screen *screen = radeonsi_screen_create(fd, config);
- /* First, try amdgpu. */
- rw = amdgpu_winsys_create(fd, radeonsi_screen_create);
-
- if (!rw)
- rw = radeon_drm_winsys_create(fd, radeonsi_screen_create);
-
- return rw ? debug_screen_wrap(rw->screen) : NULL;
+ return screen ? debug_screen_wrap(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;
-}
+static const char *driconf_xml =
+ #include "radeonsi/si_driinfo.h"
+ ;
PUBLIC
-DRM_DRIVER_DESCRIPTOR("radeonsi", "radeon", create_screen, drm_configuration)
+DRM_DRIVER_DESCRIPTOR("radeonsi", &driconf_xml, create_screen)