summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/sw/wrapper/wrapper_sw_winsys.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/winsys/sw/wrapper/wrapper_sw_winsys.c')
-rw-r--r--src/gallium/winsys/sw/wrapper/wrapper_sw_winsys.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gallium/winsys/sw/wrapper/wrapper_sw_winsys.c b/src/gallium/winsys/sw/wrapper/wrapper_sw_winsys.c
index 38cf29e605..bc2623e7b7 100644
--- a/src/gallium/winsys/sw/wrapper/wrapper_sw_winsys.c
+++ b/src/gallium/winsys/sw/wrapper/wrapper_sw_winsys.c
@@ -304,3 +304,16 @@ err_free:
err:
return NULL;
}
+
+struct pipe_screen *
+wrapper_sw_winsys_dewrap_pipe_screen(struct sw_winsys *ws)
+{
+ struct wrapper_sw_winsys *wsw = wrapper_sw_winsys(ws);
+ struct pipe_screen *screen = wsw->screen;
+
+ wsw->pipe->destroy(wsw->pipe);
+ /* don't destroy the screen its needed later on */
+
+ FREE(wsw);
+ return screen;
+}