st/egl: One driver per hardware.
[mesa.git] / src / gallium / targets / egl-i915 / target.c
1
2 #include "state_tracker/drm_driver.h"
3 #include "target-helpers/inline_debug_helper.h"
4 #include "i915/drm/i915_drm_public.h"
5 #include "i915/i915_public.h"
6
7 static struct pipe_screen *
8 create_screen(int fd)
9 {
10 struct i915_winsys *iws;
11 struct pipe_screen *screen;
12
13 iws = i915_drm_winsys_create(fd);
14 if (!iws)
15 return NULL;
16
17 screen = i915_screen_create(iws);
18 if (!screen)
19 return NULL;
20
21 screen = debug_screen_wrap(screen);
22
23 return screen;
24 }
25
26 DRM_DRIVER_DESCRIPTOR("i915", "i915", create_screen)
27
28 /* A poor man's --whole-archive for EGL drivers */
29 void *_eglMain(void *);
30 void *_eglWholeArchive = (void *) _eglMain;