aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/dri/drm
diff options
context:
space:
mode:
authorLauri Kasanen <[email protected]>2011-08-19 18:23:10 +0300
committerBrian Paul <[email protected]>2011-08-19 16:49:33 -0600
commit421235d42ad9921fd45332ec7b33bcee5c1ad33d (patch)
tree0de533100d83ae54b35449c0fed14c9d0e3b4258 /src/gallium/state_trackers/dri/drm
parent6a6441fc03b4f28bfd2619e4e6d260cf6ea82554 (diff)
st/dri: Bind the post-processing queue to dri
Signed-off-by: Lauri Kasanen <[email protected]> Signed-off-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers/dri/drm')
-rw-r--r--src/gallium/state_trackers/dri/drm/dri2.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/gallium/state_trackers/dri/drm/dri2.c b/src/gallium/state_trackers/dri/drm/dri2.c
index cf476056f41..6cf237577ec 100644
--- a/src/gallium/state_trackers/dri/drm/dri2.c
+++ b/src/gallium/state_trackers/dri/drm/dri2.c
@@ -44,12 +44,19 @@
* DRI2 flush extension.
*/
static void
-dri2_flush_drawable(__DRIdrawable *draw)
+dri2_flush_drawable(__DRIdrawable *dPriv)
{
- struct dri_context *ctx = dri_get_current(draw->driScreenPriv);
+ struct dri_context *ctx = dri_get_current(dPriv->driScreenPriv);
+ struct dri_drawable *drawable = dri_drawable(dPriv);
+
+ struct pipe_resource *ptex = drawable->textures[ST_ATTACHMENT_BACK_LEFT];
+
+ if (ctx) {
+ if (ptex && ctx->pp && drawable->textures[ST_ATTACHMENT_DEPTH_STENCIL])
+ pp_run(ctx->pp, ptex, ptex, drawable->textures[ST_ATTACHMENT_DEPTH_STENCIL]);
- if (ctx)
ctx->st->flush(ctx->st, 0, NULL);
+ }
}
static void