aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_ringbuffer.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2013-11-06 16:02:19 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-11-21 03:06:09 -0500
commit9688ecadd268770834cca72ac81c9aec8fb8cf2f (patch)
tree59873979bde7ea17153fc768604fb36a793b154c /drivers/gpu/drm/i915/intel_ringbuffer.c
parentf671d117bc0338b67b0a7485882d332fe6c4b570 (diff)
drm/i915: Limit FBC flush to post batch flush
Don't issue the FBC nuke/cache clean command when invalidate_domains!=0. That would indicate that we're not being called for the post-batch flush. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.c')
-rw-r--r--drivers/gpu/drm/i915/intel_ringbuffer.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index c2f09d456300..e26e18a1d916 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -354,7 +354,7 @@ gen7_render_ring_flush(struct intel_ring_buffer *ring,
354 intel_ring_emit(ring, 0); 354 intel_ring_emit(ring, 0);
355 intel_ring_advance(ring); 355 intel_ring_advance(ring);
356 356
357 if (flush_domains) 357 if (!invalidate_domains && flush_domains)
358 return gen7_ring_fbc_flush(ring, FBC_REND_NUKE); 358 return gen7_ring_fbc_flush(ring, FBC_REND_NUKE);
359 359
360 return 0; 360 return 0;
@@ -1838,7 +1838,7 @@ static int gen6_ring_flush(struct intel_ring_buffer *ring,
1838 } 1838 }
1839 intel_ring_advance(ring); 1839 intel_ring_advance(ring);
1840 1840
1841 if (IS_GEN7(dev) && flush) 1841 if (IS_GEN7(dev) && !invalidate && flush)
1842 return gen7_ring_fbc_flush(ring, FBC_REND_CACHE_CLEAN); 1842 return gen7_ring_fbc_flush(ring, FBC_REND_CACHE_CLEAN);
1843 1843
1844 return 0; 1844 return 0;