1c1a19689b83a9569b30ba43c168fdca328cb9f2eJakob Bornecrantz 2c7015877beedd9831402755dbc58afddcbbd5339Jakob Bornecrantz#include "state_tracker/drm_driver.h" 35ccab575fd737f3f08fe345ed96518f3784b74d3Jakob Bornecrantz#include "target-helpers/inline_wrapper_sw_helper.h" 457d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz#include "target-helpers/inline_debug_helper.h" 5c7015877beedd9831402755dbc58afddcbbd5339Jakob Bornecrantz#include "i915/drm/i915_drm_public.h" 6c7015877beedd9831402755dbc58afddcbbd5339Jakob Bornecrantz#include "i915/i915_public.h" 7c1a19689b83a9569b30ba43c168fdca328cb9f2eJakob Bornecrantz 8c7015877beedd9831402755dbc58afddcbbd5339Jakob Bornecrantzstatic struct pipe_screen * 9c7015877beedd9831402755dbc58afddcbbd5339Jakob Bornecrantzcreate_screen(int fd) 10c7015877beedd9831402755dbc58afddcbbd5339Jakob Bornecrantz{ 11c7015877beedd9831402755dbc58afddcbbd5339Jakob Bornecrantz struct i915_winsys *iws; 1257d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz struct pipe_screen *screen; 1357d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz 14c7015877beedd9831402755dbc58afddcbbd5339Jakob Bornecrantz iws = i915_drm_winsys_create(fd); 15c7015877beedd9831402755dbc58afddcbbd5339Jakob Bornecrantz if (!iws) 16c7015877beedd9831402755dbc58afddcbbd5339Jakob Bornecrantz return NULL; 17c7015877beedd9831402755dbc58afddcbbd5339Jakob Bornecrantz 1857d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz screen = i915_screen_create(iws); 1957d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz if (!screen) 2057d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz return NULL; 2157d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz 22eb7cf3d2a64875d594e1c71b835a9e9704b7a8d6Jakob Bornecrantz screen = sw_screen_wrap(screen); 235ccab575fd737f3f08fe345ed96518f3784b74d3Jakob Bornecrantz 2457d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz screen = debug_screen_wrap(screen); 2557d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz 2657d14f2fbbfc50656be76fa0f77e1ed505180204Jakob Bornecrantz return screen; 27c7015877beedd9831402755dbc58afddcbbd5339Jakob Bornecrantz} 28c7015877beedd9831402755dbc58afddcbbd5339Jakob Bornecrantz 29ec7d5b8c021f655d49df4ba1ed2038ee423f9d5eThomas HellstromDRM_DRIVER_DESCRIPTOR("i915", "i915", create_screen, NULL) 30