1317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez#include "state_tracker/drm_driver.h" 2317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez#include "target-helpers/inline_debug_helper.h" 3317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez#include "radeon/drm/radeon_drm_public.h" 4317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez#include "r600/r600_public.h" 5317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez 6317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerezstatic struct pipe_screen * 7317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerezcreate_screen(int fd) 8317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez{ 9317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez struct radeon_winsys *rw; 10317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez struct pipe_screen *screen; 11317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez 12317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez rw = radeon_drm_winsys_create(fd); 13317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez if (!rw) 14317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez return NULL; 15317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez 16317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez screen = r600_screen_create(rw); 17317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez if (!screen) 18317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez return NULL; 19317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez 20317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez screen = debug_screen_wrap(screen); 21317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez 22317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez return screen; 23317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez} 24317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez 25317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco JerezPUBLIC 26317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco JerezDRM_DRIVER_DESCRIPTOR("r600", "radeon", create_screen, NULL) 27