141625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König#include "state_tracker/drm_driver.h" 241625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König#include "target-helpers/inline_debug_helper.h" 341625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König#include "radeon/drm/radeon_drm_public.h" 441625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König#include "radeonsi/radeonsi_public.h" 541625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König 641625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian Königstatic struct pipe_screen *create_screen(int fd) 741625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König{ 841625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König struct radeon_winsys *radeon; 941625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König struct pipe_screen *screen; 1041625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König 1141625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König radeon = radeon_drm_winsys_create(fd); 1241625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König if (!radeon) 1341625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König return NULL; 1441625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König 1541625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König screen = radeonsi_screen_create(radeon); 1641625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König if (!screen) 1741625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König return NULL; 1841625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König 1941625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König screen = debug_screen_wrap(screen); 2041625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König 2141625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König return screen; 2241625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König} 2341625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian König 2441625afa2f7f30e5076c695ab3a16eabb5fe69f8Christian KönigDRM_DRIVER_DESCRIPTOR("radeonsi", "radeon", create_screen, NULL) 25