X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fauxiliary%2Ftarget-helpers%2Finline_sw_helper.h;fp=src%2Fgallium%2Fauxiliary%2Ftarget-helpers%2Finline_sw_helper.h;h=d8cee2b2917453fefd332e269651e950baffc161;hb=fdd96578ef2dfe9c4ad5aab5858036298d444a64;hp=8a144db09c3943a5e9a5e9a663d3d49003f957ae;hpb=7d2573b5376bb4f9ce9a50e0b965e06032b135a9;p=mesa.git 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