diff options
-rw-r--r-- | src/gallium/targets/pipe-loader/Makefile.am | 14 | ||||
-rw-r--r-- | src/gallium/targets/pipe-loader/pipe_i965.c | 26 |
2 files changed, 40 insertions, 0 deletions
diff --git a/src/gallium/targets/pipe-loader/Makefile.am b/src/gallium/targets/pipe-loader/Makefile.am index 5f1330ab656..f1220176605 100644 --- a/src/gallium/targets/pipe-loader/Makefile.am +++ b/src/gallium/targets/pipe-loader/Makefile.am @@ -75,6 +75,20 @@ pipe_i915_la_LIBADD = \ endif +if HAVE_GALLIUM_ILO +pipe_LTLIBRARIES += pipe_i965.la + +pipe_i965_la_SOURCES = pipe_i965.c +nodist_EXTRA_pipe_i965_la_SOURCES = dummy.cpp +pipe_i965_la_LIBADD = \ + $(PIPE_LIBS) \ + $(top_builddir)/src/gallium/winsys/intel/drm/libintelwinsys.la \ + $(top_builddir)/src/gallium/drivers/ilo/libilo.la \ + $(LIBDRM_LIBS) \ + $(INTEL_LIBS) + +endif + if HAVE_GALLIUM_NOUVEAU pipe_LTLIBRARIES += pipe_nouveau.la diff --git a/src/gallium/targets/pipe-loader/pipe_i965.c b/src/gallium/targets/pipe-loader/pipe_i965.c new file mode 100644 index 00000000000..f4d447c3468 --- /dev/null +++ b/src/gallium/targets/pipe-loader/pipe_i965.c @@ -0,0 +1,26 @@ +#include "target-helpers/inline_debug_helper.h" +#include "state_tracker/drm_driver.h" +#include "intel/drm/intel_drm_public.h" +#include "ilo/ilo_public.h" + +static struct pipe_screen * +create_screen(int fd) +{ + struct intel_winsys *iws; + struct pipe_screen *screen; + + iws = intel_winsys_create_for_fd(fd); + if (!iws) + return NULL; + + screen = ilo_screen_create(iws); + if (!screen) + return NULL; + + screen = debug_screen_wrap(screen); + + return screen; +} + +PUBLIC +DRM_DRIVER_DESCRIPTOR("i965", "i915", create_screen, NULL) |