summaryrefslogtreecommitdiffstats
path: root/src/mesa/pipe
diff options
context:
space:
mode:
authorBrian <[email protected]>2007-11-07 16:07:17 -0700
committerBrian <[email protected]>2007-11-07 16:08:04 -0700
commit10c62bf0683437672c83339138a6802d56aeca8f (patch)
treecdf17f1ce6ed6d6c96132013752c8f365aa41e72 /src/mesa/pipe
parent03cfeb31af7834c2b2701ad25ec39f8375df6c96 (diff)
Remove context dependencies in winsys layer.
The winsys object is now per-screen and shared by multiple contexts. The regionPool is now part of the i915 winsys layer. The winsys wait_idle() and flush_frontbuffer() funcs will get more attention...
Diffstat (limited to 'src/mesa/pipe')
-rw-r--r--src/mesa/pipe/p_context.h2
-rw-r--r--src/mesa/pipe/p_winsys.h5
-rw-r--r--src/mesa/pipe/xlib/xm_winsys.c2
3 files changed, 6 insertions, 3 deletions
diff --git a/src/mesa/pipe/p_context.h b/src/mesa/pipe/p_context.h
index ddc7acc747d..3962c0fa6d8 100644
--- a/src/mesa/pipe/p_context.h
+++ b/src/mesa/pipe/p_context.h
@@ -43,6 +43,8 @@ struct pipe_state_cache;
struct pipe_context {
struct pipe_winsys *winsys;
+ void *private; /** context private data (for DRI for example) */
+
void (*destroy)( struct pipe_context * );
/*
diff --git a/src/mesa/pipe/p_winsys.h b/src/mesa/pipe/p_winsys.h
index 9dbac87b4bb..ee10e305599 100644
--- a/src/mesa/pipe/p_winsys.h
+++ b/src/mesa/pipe/p_winsys.h
@@ -64,14 +64,15 @@ struct pipe_winsys
const char *(*get_name)( struct pipe_winsys *sws );
/** Wait for any buffered rendering to finish */
- void (*wait_idle)( struct pipe_winsys *sws );
+ void (*wait_idle)( struct pipe_winsys *sws, void *context_private );
/**
* Do any special operations to ensure frontbuffer contents are
* displayed, eg copy fake frontbuffer.
*/
void (*flush_frontbuffer)( struct pipe_winsys *sws,
- struct pipe_surface *surf );
+ struct pipe_surface *surf,
+ void *context_private );
/** Debug output */
void (*printf)( struct pipe_winsys *sws,
diff --git a/src/mesa/pipe/xlib/xm_winsys.c b/src/mesa/pipe/xlib/xm_winsys.c
index cae53c70db0..ea6b06a93c7 100644
--- a/src/mesa/pipe/xlib/xm_winsys.c
+++ b/src/mesa/pipe/xlib/xm_winsys.c
@@ -168,7 +168,7 @@ xm_flush_frontbuffer(struct pipe_winsys *pws,
}
static void
-xm_wait_idle(struct pipe_winsys *pws)
+xm_wait_idle(struct pipe_winsys *pws, void *context_private)
{
/* no-op */
}