diff options
author | Tim Rowley <timothy.o.rowley@intel.com> | 2016-04-15 12:38:25 -0500 |
---|---|---|
committer | Tim Rowley <timothy.o.rowley@intel.com> | 2016-04-15 14:21:50 -0500 |
commit | ee72fec9cfaddfef78a112f0b8d2f3f7f67a6535 (patch) | |
tree | 12a1fe797c25d6534ec7801518756a4ba4118381 | |
parent | f6d21bcd6b5cd5073a571034ec640177b0abf82d (diff) | |
download | external_mesa3d-ee72fec9cfaddfef78a112f0b8d2f3f7f67a6535.zip external_mesa3d-ee72fec9cfaddfef78a112f0b8d2f3f7f67a6535.tar.gz external_mesa3d-ee72fec9cfaddfef78a112f0b8d2f3f7f67a6535.tar.bz2 |
gallium/swr: allow swr use as a swrast dri driver
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Tested-by: Ilia Mirkin <imirkin@alum.mit.edu>
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | src/gallium/auxiliary/target-helpers/sw_helper.h | 15 | ||||
-rw-r--r-- | src/gallium/drivers/swr/Automake.inc | 8 | ||||
-rw-r--r-- | src/gallium/targets/dri/Makefile.am | 1 | ||||
-rw-r--r-- | src/gallium/targets/pipe-loader/Makefile.am | 19 |
5 files changed, 39 insertions, 7 deletions
diff --git a/configure.ac b/configure.ac index 4313aff..4a41d8f 100644 --- a/configure.ac +++ b/configure.ac @@ -2378,6 +2378,9 @@ AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_LLVMPIPE, test "x$HAVE_GALLIUM_LLVMPIPE" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_SWR, test "x$HAVE_GALLIUM_SWR" = xyes) +AM_CONDITIONAL(HAVE_GALLIUM_SWRAST, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes -o \ + "x$HAVE_GALLIUM_LLVMPIPE" = xyes -o \ + "x$HAVE_GALLIUM_SWR" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_VC4, test "x$HAVE_GALLIUM_VC4" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_VIRGL, test "x$HAVE_GALLIUM_VIRGL" = xyes) diff --git a/src/gallium/auxiliary/target-helpers/sw_helper.h b/src/gallium/auxiliary/target-helpers/sw_helper.h index ae5f3de..5e4e9f7 100644 --- a/src/gallium/auxiliary/target-helpers/sw_helper.h +++ b/src/gallium/auxiliary/target-helpers/sw_helper.h @@ -9,7 +9,7 @@ /* Helper function to choose and instantiate one of the software rasterizers: - * llvmpipe, softpipe. + * llvmpipe, softpipe, swr. */ #ifdef GALLIUM_SOFTPIPE @@ -20,6 +20,10 @@ #include "llvmpipe/lp_public.h" #endif +#ifdef GALLIUM_SWR +#include "swr/swr_public.h" +#endif + #ifdef GALLIUM_VIRGL #include "virgl/virgl_public.h" #include "virgl/vtest/virgl_vtest_public.h" @@ -44,10 +48,15 @@ sw_screen_create_named(struct sw_winsys *winsys, const char *driver) #endif #if defined(GALLIUM_SOFTPIPE) - if (screen == NULL) + if (screen == NULL && strcmp(driver, "softpipe") == 0) screen = softpipe_create_screen(winsys); #endif +#if defined(GALLIUM_SWR) + if (screen == NULL && strcmp(driver, "swr") == 0) + screen = swr_create_screen(winsys); +#endif + return screen; } @@ -62,6 +71,8 @@ sw_screen_create(struct sw_winsys *winsys) default_driver = "llvmpipe"; #elif defined(GALLIUM_SOFTPIPE) default_driver = "softpipe"; +#elif defined(GALLIUM_SWR) + default_driver = "swr"; #else default_driver = ""; #endif diff --git a/src/gallium/drivers/swr/Automake.inc b/src/gallium/drivers/swr/Automake.inc new file mode 100644 index 0000000..a519214 --- /dev/null +++ b/src/gallium/drivers/swr/Automake.inc @@ -0,0 +1,8 @@ +if HAVE_GALLIUM_SWR + +TARGET_DRIVERS += swrast +TARGET_CPPFLAGS += -DGALLIUM_SWR +TARGET_LIB_DEPS += \ + $(top_builddir)/src/gallium/drivers/swr/libmesaswr.la + +endif diff --git a/src/gallium/targets/dri/Makefile.am b/src/gallium/targets/dri/Makefile.am index 2666524..f42dd25 100644 --- a/src/gallium/targets/dri/Makefile.am +++ b/src/gallium/targets/dri/Makefile.am @@ -86,6 +86,7 @@ include $(top_srcdir)/src/gallium/drivers/virgl/Automake.inc include $(top_srcdir)/src/gallium/drivers/softpipe/Automake.inc include $(top_srcdir)/src/gallium/drivers/llvmpipe/Automake.inc +include $(top_srcdir)/src/gallium/drivers/swr/Automake.inc if HAVE_GALLIUM_STATIC_TARGETS diff --git a/src/gallium/targets/pipe-loader/Makefile.am b/src/gallium/targets/pipe-loader/Makefile.am index 0b516de..18b403f 100644 --- a/src/gallium/targets/pipe-loader/Makefile.am +++ b/src/gallium/targets/pipe-loader/Makefile.am @@ -192,16 +192,18 @@ pipe_vmwgfx_la_LIBADD = \ endif -if HAVE_GALLIUM_SOFTPIPE -AM_CPPFLAGS += -DGALLIUM_SOFTPIPE - +if HAVE_GALLIUM_SWRAST pipe_LTLIBRARIES += pipe_swrast.la pipe_swrast_la_SOURCES = pipe_swrast.c nodist_EXTRA_pipe_swrast_la_SOURCES = dummy.cpp +pipe_swrast_la_LIBADD = $(PIPE_LIBS) -pipe_swrast_la_LIBADD = \ - $(PIPE_LIBS) \ +if HAVE_GALLIUM_SOFTPIPE +AM_CPPFLAGS += -DGALLIUM_SOFTPIPE + +pipe_swrast_la_LIBADD += \ $(top_builddir)/src/gallium/drivers/softpipe/libsoftpipe.la +endif if HAVE_GALLIUM_LLVMPIPE AM_CPPFLAGS += -DGALLIUM_LLVMPIPE @@ -210,6 +212,13 @@ pipe_swrast_la_LIBADD += \ $(top_builddir)/src/gallium/drivers/llvmpipe/libllvmpipe.la endif +if HAVE_GALLIUM_SWR +AM_CPPFLAGS += -DGALLIUM_SWR + +pipe_swrast_la_LIBADD += \ + $(top_builddir)/src/gallium/drivers/swr/libmesaswr.la +endif + pipe_swrast_la_LIBADD += \ $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) |