summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/vega
diff options
context:
space:
mode:
authorKeith Whitwell <keithw@vmware.com>2010-03-10 09:22:02 +0000
committerKeith Whitwell <keithw@vmware.com>2010-03-10 09:22:02 +0000
commit3e38dbe3d3371f0a37dd35582301ae2b1507e5d2 (patch)
treec9831aab18433e71c60c6cc0c71b03e862b99a4c /src/gallium/state_trackers/vega
parent155fbcb0ed85c6452cbedd2317f201100fe698ab (diff)
gallium: plumb winsys-drawable-handle through to state tracker
The state trackers need this value so that they can supply it as the "void *" argument to flush_frontbuffer. Fixes single-buffer rendering.
Diffstat (limited to 'src/gallium/state_trackers/vega')
-rw-r--r--src/gallium/state_trackers/vega/vg_tracker.c10
-rw-r--r--src/gallium/state_trackers/vega/vg_tracker.h3
2 files changed, 11 insertions, 2 deletions
diff --git a/src/gallium/state_trackers/vega/vg_tracker.c b/src/gallium/state_trackers/vega/vg_tracker.c
index 57d3baad7f..a002e50faf 100644
--- a/src/gallium/state_trackers/vega/vg_tracker.c
+++ b/src/gallium/state_trackers/vega/vg_tracker.c
@@ -376,11 +376,19 @@ void st_unreference_framebuffer(struct st_framebuffer *stfb)
boolean st_make_current(struct vg_context *st,
struct st_framebuffer *draw,
- struct st_framebuffer *read)
+ struct st_framebuffer *read,
+ void *winsys_drawable_handle)
{
vg_set_current_context(st);
if (st) {
st->draw_buffer = draw;
+
+ /* VG state tracker doesn't seem to do front-buffer rendering
+ * (no calls to flush_frontbuffer). If it ever did start doing
+ * that, it would need to pass this value down in the
+ * flush_frontbuffer call:
+ */
+ st->pipe->priv = winsys_drawable_handle;
}
return VG_TRUE;
}
diff --git a/src/gallium/state_trackers/vega/vg_tracker.h b/src/gallium/state_trackers/vega/vg_tracker.h
index c1196954a7..165a6b7a33 100644
--- a/src/gallium/state_trackers/vega/vg_tracker.h
+++ b/src/gallium/state_trackers/vega/vg_tracker.h
@@ -101,7 +101,8 @@ void st_unreference_framebuffer(struct st_framebuffer *stfb);
PUBLIC
boolean st_make_current(struct vg_context *st,
struct st_framebuffer *draw,
- struct st_framebuffer *read);
+ struct st_framebuffer *read,
+ void *winsys_drawable_handle);
PUBLIC
struct vg_context *st_get_current(void);