From 0bdc3e1afda111c5741a699da3ff891fedfe89de Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Sat, 21 Jun 2014 12:50:10 +0100 Subject: targets/dri-swrast: Convert to static/shared pipe-driver Convert the final dri target to the single DRI (megadriver) library. Cleanup all the automake leftovers from the conversion stage and update the scons build. v2: Link in llvmpipe, when applicable. Signed-off-by: Emil Velikov Tested-by: Rob Clark Tested-by: Thomas Helland Acked-by: Tom Stellard --- .../auxiliary/target-helpers/inline_sw_helper.h | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/gallium/auxiliary/target-helpers/inline_sw_helper.h') diff --git a/src/gallium/auxiliary/target-helpers/inline_sw_helper.h b/src/gallium/auxiliary/target-helpers/inline_sw_helper.h index 596c691..8a144db 100644 --- a/src/gallium/auxiliary/target-helpers/inline_sw_helper.h +++ b/src/gallium/auxiliary/target-helpers/inline_sw_helper.h @@ -57,5 +57,41 @@ sw_screen_create(struct sw_winsys *winsys) return sw_screen_create_named(winsys, driver); } +#if defined(GALLIUM_SOFTPIPE) +#if defined(DRI_TARGET) +#include "target-helpers/inline_debug_helper.h" +#include "sw/dri/dri_sw_winsys.h" +#include "dri_screen.h" + +const __DRIextension **__driDriverGetExtensions_swrast(void); + +PUBLIC const __DRIextension **__driDriverGetExtensions_swrast(void) +{ + globalDriverAPI = &galliumsw_driver_api; + return galliumsw_driver_extensions; +} + +INLINE struct pipe_screen * +drisw_create_screen(struct drisw_loader_funcs *lf) +{ + struct sw_winsys *winsys = NULL; + struct pipe_screen *screen = NULL; + + winsys = dri_create_sw_winsys(lf); + if (winsys == NULL) + return NULL; + + screen = sw_screen_create(winsys); + if (screen == NULL) { + winsys->destroy(winsys); + return NULL; + } + + screen = debug_screen_wrap(screen); + return screen; +} +#endif // DRI_TARGET +#endif // GALLIUM_SOFTPIPE + #endif -- cgit v1.1