From fdd96578ef2dfe9c4ad5aab5858036298d444a64 Mon Sep 17 00:00:00 2001 From: Joakim Sindholt Date: Thu, 4 Aug 2011 15:14:06 +0200 Subject: nine: Add state tracker nine for Direct3D9 (v3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Work of Joakim Sindholt (zhasha) and Christoph Bumiller (chrisbmr). DRI3 port done by Axel Davy (mannerov). v2: - nine_debug.c: klass extended from 32 chars to 96 (for sure) by glennk - Nine improvements by Axel Davy (which also fixed some wine tests) - by Emil Velikov: - convert to static/shared drivers - Sort and cleanup the includes - Use AM_CPPFLAGS for the defines - Add the linker garbage collector - Restrict the exported symbols (think llvm) v3: - small nine fixes - build system improvements by Emil Velikov v4: [Emil Velikov] - Do no link against libudev. No longer needed. Acked-by: Jose Fonseca Reviewed-by: Marek Olšák Reviewed-by: Axel Davy Signed-off-by: David Heidelberg --- .../auxiliary/target-helpers/inline_sw_helper.h | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/gallium/auxiliary/target-helpers') diff --git a/src/gallium/auxiliary/target-helpers/inline_sw_helper.h b/src/gallium/auxiliary/target-helpers/inline_sw_helper.h index 8a144db09c3..d8cee2b2917 100644 --- a/src/gallium/auxiliary/target-helpers/inline_sw_helper.h +++ b/src/gallium/auxiliary/target-helpers/inline_sw_helper.h @@ -91,6 +91,34 @@ drisw_create_screen(struct drisw_loader_funcs *lf) return screen; } #endif // DRI_TARGET + +#if defined(NINE_TARGET) +#include "sw/wrapper/wrapper_sw_winsys.h" +#include "target-helpers/inline_debug_helper.h" + +extern struct pipe_screen *ninesw_create_screen(struct pipe_screen *screen); + +INLINE struct pipe_screen * +ninesw_create_screen(struct pipe_screen *pscreen) +{ + struct sw_winsys *winsys = NULL; + struct pipe_screen *screen = NULL; + + winsys = wrapper_sw_winsys_wrap_pipe_screen(pscreen); + 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 // NINE_TARGET + #endif // GALLIUM_SOFTPIPE -- cgit v1.2.3