summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/xlib/xlib_brw_screen.c
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2009-01-13 18:08:24 +0000
committerKeith Whitwell <keith@tungstengraphics.com>2009-01-13 19:46:18 +0000
commit2f19fecd583a4406385708de6362b3bdef23811e (patch)
treeea10148c44d8d65ccd091a16759249ca5da44e9a /src/gallium/winsys/xlib/xlib_brw_screen.c
parenta2d5031b1e133523591f1683527c2c96f58aa606 (diff)
xlib: allow winsys's to register themselves with glx/xlib state tracker
Diffstat (limited to 'src/gallium/winsys/xlib/xlib_brw_screen.c')
-rw-r--r--src/gallium/winsys/xlib/xlib_brw_screen.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/gallium/winsys/xlib/xlib_brw_screen.c b/src/gallium/winsys/xlib/xlib_brw_screen.c
index 9325bdc7a6..1e4c2f6c41 100644
--- a/src/gallium/winsys/xlib/xlib_brw_screen.c
+++ b/src/gallium/winsys/xlib/xlib_brw_screen.c
@@ -45,6 +45,7 @@
#include "xlib_brw_aub.h"
#include "xlib_brw.h"
+#include "xlib.h"
@@ -311,7 +312,7 @@ xlib_brw_destroy_pipe_winsys_aub( struct pipe_winsys *winsys )
-struct pipe_winsys *
+static struct pipe_winsys *
xlib_create_brw_winsys( void )
{
struct aub_pipe_winsys *iws = CALLOC_STRUCT( aub_pipe_winsys );
@@ -349,14 +350,10 @@ xlib_create_brw_winsys( void )
}
-struct pipe_screen *
+static struct pipe_screen *
xlib_create_brw_screen( struct pipe_winsys *winsys )
{
-#ifdef GALLIUM_CELL
- return NULL;
-#else
return brw_create_screen(winsys, 0/* XXX pci_id */);
-#endif
}
@@ -464,7 +461,7 @@ void xlib_brw_buffer_subdata_typed( struct pipe_winsys *pws,
}
-void
+static void
xlib_brw_display_surface(struct xmesa_buffer *b,
struct pipe_surface *surf)
{
@@ -472,3 +469,12 @@ xlib_brw_display_surface(struct xmesa_buffer *b,
surf,
aub_bo(surf->buffer)->offset );
}
+
+
+struct xm_driver xlib_brw_driver =
+{
+ .create_pipe_winsys = xlib_create_brw_winsys,
+ .create_pipe_screen = xlib_create_brw_screen,
+ .create_pipe_context = xlib_create_brw_context,
+ .display_surface = xlib_brw_display_surface,
+};