157d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz#include "target-helpers/inline_debug_helper.h" 26e3fc2de2a185775a721b3633f420aa3d2c9a949Jakob Bornecrantz#include "state_tracker/drm_driver.h" 36e3fc2de2a185775a721b3633f420aa3d2c9a949Jakob Bornecrantz#include "radeon/drm/radeon_drm_public.h" 46e3fc2de2a185775a721b3633f420aa3d2c9a949Jakob Bornecrantz#include "r300/r300_public.h" 5c1a19689b83a9569b30ba43c168fdca328cb9f2eJakob Bornecrantz 66e3fc2de2a185775a721b3633f420aa3d2c9a949Jakob Bornecrantzstatic struct pipe_screen * 76e3fc2de2a185775a721b3633f420aa3d2c9a949Jakob Bornecrantzcreate_screen(int fd) 86e3fc2de2a185775a721b3633f420aa3d2c9a949Jakob Bornecrantz{ 9d35aeff4bb0b03450b2c3c08bd7f84db5bf43283Marek Olšák struct radeon_winsys *sws; 1057d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz struct pipe_screen *screen; 1157d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz 12d35aeff4bb0b03450b2c3c08bd7f84db5bf43283Marek Olšák sws = radeon_drm_winsys_create(fd); 136e3fc2de2a185775a721b3633f420aa3d2c9a949Jakob Bornecrantz if (!sws) 146e3fc2de2a185775a721b3633f420aa3d2c9a949Jakob Bornecrantz return NULL; 156e3fc2de2a185775a721b3633f420aa3d2c9a949Jakob Bornecrantz 1657d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz screen = r300_screen_create(sws); 1757d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz if (!screen) 1857d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz return NULL; 1957d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz 2057d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz screen = debug_screen_wrap(screen); 2157d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz 2257d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz return screen; 236e3fc2de2a185775a721b3633f420aa3d2c9a949Jakob Bornecrantz} 246e3fc2de2a185775a721b3633f420aa3d2c9a949Jakob Bornecrantz 25ec7d5b8c021f655d49df4ba1ed2038ee423f9d5eThomas HellstromDRM_DRIVER_DESCRIPTOR("r300", "radeon", create_screen, NULL) 26