diff options
author | Francisco Jerez <currojerez@riseup.net> | 2010-10-26 00:24:06 +0200 |
---|---|---|
committer | Francisco Jerez <currojerez@riseup.net> | 2010-10-26 01:47:00 +0200 |
commit | 22020457f43eceaf26532ecb50e46d743f4a691f (patch) | |
tree | 70d123f765e6af25bc1f963b8a824a158041fe30 /src/nouveau_dri2.c | |
parent | 9737a812aacbc544b93eeaa031cf1c2e8adbd661 (diff) |
dri2: Fix throttling on occluded drawables.
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Diffstat (limited to 'src/nouveau_dri2.c')
-rw-r--r-- | src/nouveau_dri2.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c index 65e7340..204ab32 100644 --- a/src/nouveau_dri2.c +++ b/src/nouveau_dri2.c @@ -239,6 +239,13 @@ nouveau_dri2_finish_swap(DrawablePtr draw, unsigned int frame, DamageRegionProcessPending(draw); } else { type = DRI2_BLIT_COMPLETE; + + /* Reference the front buffer to let throttling work + * on occluded drawables. */ + WAIT_RING(chan, 1); + OUT_RELOC(chan, dst_bo, 0, + NOUVEAU_BO_VRAM | NOUVEAU_BO_RD, 0, 0); + REGION_TRANSLATE(0, ®, -draw->x, -draw->y); nouveau_dri2_copy_region(draw, ®, s->dst, s->src); } |