True.
Chris and Vivi,
I am trying to understand the PSR exit and entry along with SFU
requirement here.
AFAIK in existing code also
on rendering start fb_obj_invalidate is calling the
psr_invalidate(psr_exit)
on flip prepare single frame update is done
on flip complete frontbuffer_invalidate is calling
psr_flush(psr_reenable)
on rendering complete fb_obj_flush is calling the
psr_flush(psr_reenable)
On Every rendering start if we exit the PSR, then there is no advantage
of setting SFU at flip prepare.
Please correct me if I am wrong.
On Thursday 11 June 2015 03:26 PM, Chris Wilson wrote:
On Thu, Jun 11, 2015 at 03:08:35PM +0530, Ramalingam C wrote:
After scheduling a flip for obj, frontbuffer should be invalidated.
Hence intel_frontbuffer_invalidate is invoked at flip preparation.
Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx>
Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
References: https://bugs.freedesktop.org/show_bug.cgi?id=90418
---
drivers/gpu/drm/i915/intel_frontbuffer.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/i915/intel_frontbuffer.c b/drivers/gpu/drm/i915/intel_frontbuffer.c
index 4cea589..07147a7 100644
--- a/drivers/gpu/drm/i915/intel_frontbuffer.c
+++ b/drivers/gpu/drm/i915/intel_frontbuffer.c
@@ -268,6 +268,7 @@ void intel_frontbuffer_flip_prepare(struct drm_device *dev,
dev_priv->fb_tracking.busy_bits &= ~frontbuffer_bits;
mutex_unlock(&dev_priv->fb_tracking.lock);
+ intel_frontbuffer_invalidate(dev, NULL, ORIGIN_FLIP, frontbuffer_bits);
intel_psr_single_frame_update(dev);
This then has the side effect of calling psr_invalidate (psr_exit)
followed by the single-shot psr update, which doesn't seem desirable.
-Chris
--
Thanks,
--Ram
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx