1317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez
2317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez#include "target-helpers/inline_debug_helper.h"
3317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez#include "state_tracker/drm_driver.h"
4317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez#include "i915/drm/i915_drm_public.h"
5317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez#include "i915/i915_public.h"
6317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez
7317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerezstatic struct pipe_screen *
8317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerezcreate_screen(int fd)
9317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez{
10317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez   struct i915_winsys *iws;
11317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez   struct pipe_screen *screen;
12317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez
13317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez   iws = i915_drm_winsys_create(fd);
14317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez   if (!iws)
15317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez      return NULL;
16317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez
17317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez   screen = i915_screen_create(iws);
18317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez   if (!screen)
19317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez      return NULL;
20317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez
21317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez   screen = debug_screen_wrap(screen);
22317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez
23317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez   return screen;
24317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez}
25317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco Jerez
26317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco JerezPUBLIC
27317be33d73228fe8b340de8e029ff24b6e0d95b5Francisco JerezDRM_DRIVER_DESCRIPTOR("i915", "i915", create_screen, NULL)
28