1a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard#include "state_tracker/drm_driver.h"
2a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard#include "target-helpers/inline_debug_helper.h"
3a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard#include "radeon/drm/radeon_drm_public.h"
4a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard#include "radeonsi/radeonsi_public.h"
5a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
6a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardstatic struct pipe_screen *
7a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardcreate_screen(int fd)
8a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard{
9a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard   struct radeon_winsys *rw;
10a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard   struct pipe_screen *screen;
11a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
12a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard   rw = radeon_drm_winsys_create(fd);
13a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard   if (!rw)
14a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard      return NULL;
15a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
16a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard   screen = radeonsi_screen_create(rw);
17a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard   if (!screen)
18a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard      return NULL;
19a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
20a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard   screen = debug_screen_wrap(screen);
21a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
22a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard   return screen;
23a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard}
24a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
25a75c6163e605f35b14f26930dd9227e4f337ec9eTom StellardPUBLIC
26a75c6163e605f35b14f26930dd9227e4f337ec9eTom StellardDRM_DRIVER_DESCRIPTOR("radeonsi", "radeon", create_screen, NULL)
27