summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/dri/dri_drawable.h
diff options
context:
space:
mode:
authorThomas Hellstrom <thellstrom-at-vmware-dot-com>2009-04-28 11:49:39 +0200
committerThomas Hellstrom <thellstrom-at-vmware-dot-com>2009-04-28 11:50:40 +0200
commitca1f5f7e6c05e34cfe8ef10f29aa19f5547311e6 (patch)
treea363f9f7b0cfe8b140f20e5cf91b4fcfbd0f606e /src/gallium/state_trackers/dri/dri_drawable.h
parenta70c4f352e8e7aea0b130fd1285352bbf89503b5 (diff)
downloadexternal_mesa3d-ca1f5f7e6c05e34cfe8ef10f29aa19f5547311e6.zip
external_mesa3d-ca1f5f7e6c05e34cfe8ef10f29aa19f5547311e6.tar.gz
external_mesa3d-ca1f5f7e6c05e34cfe8ef10f29aa19f5547311e6.tar.bz2
gallium: Update the dri2 state tracker to support dri1.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
Diffstat (limited to 'src/gallium/state_trackers/dri/dri_drawable.h')
-rw-r--r--src/gallium/state_trackers/dri/dri_drawable.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/dri/dri_drawable.h b/src/gallium/state_trackers/dri/dri_drawable.h
index 185c657..c1341de 100644
--- a/src/gallium/state_trackers/dri/dri_drawable.h
+++ b/src/gallium/state_trackers/dri/dri_drawable.h
@@ -31,9 +31,11 @@
#include "pipe/p_compiler.h"
struct pipe_surface;
-struct pipe_fence;
+struct pipe_fence_handle;
struct st_framebuffer;
+#define DRI_SWAP_FENCES_MAX 8
+#define DRI_SWAP_FENCES_MASK 7
struct dri_drawable
{
@@ -46,6 +48,11 @@ struct dri_drawable
/* gallium */
struct st_framebuffer *stfb;
+ struct pipe_fence_handle *swap_fences[DRI_SWAP_FENCES_MAX];
+ unsigned int head;
+ unsigned int tail;
+ unsigned int desired_fences;
+ unsigned int cur_fences;
};
@@ -84,6 +91,15 @@ dri_get_buffers(__DRIdrawablePrivate * dPriv);
void
dri_destroy_buffer(__DRIdrawablePrivate *dPriv);
+void
+dri1_update_drawables(struct dri_context *ctx,
+ struct dri_drawable *draw,
+ struct dri_drawable *read);
+
+void
+dri1_flush_frontbuffer(struct pipe_screen *screen,
+ struct pipe_surface *surf,
+ void *context_private);
#endif
/* vim: set sw=3 ts=8 sts=3 expandtab: */