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