Message ID | 20180221160235.11134-7-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Quoting Ville Syrjala (2018-02-21 16:02:35) > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Currently the FBC code doesn't handle the 90/270 degree rotated case > correctly. We would need the GTT tracking to monitor the fence on the > normal GTT view (the rotated view doesn't even have a fence). Not quite > sure how we should program the fence Y offset etc. in that case. For now > we'll end up disabling FBC with 90/270 degree rotation. Add a FIXME > to remind people about this fact. Oh my. plane_state would have to track both normal_vma and rotated_vma, at least that is less complicated than having rotated_vma automagically pin the normal_vma. > v2: Reword the text (Chris) > Move the FIXME to the fbc code > > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> -Chris
diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c index 97d088058d1d..ee0ca429a681 100644 --- a/drivers/gpu/drm/i915/intel_fbc.c +++ b/drivers/gpu/drm/i915/intel_fbc.c @@ -809,6 +809,12 @@ static bool intel_fbc_can_activate(struct intel_crtc *crtc) * Note that is possible for a tiled surface to be unmappable (and * so have no fence associated with it) due to aperture constaints * at the time of pinning. + * + * FIXME with 90/270 degree rotation we should use the fence on + * the normal GTT view (the rotated view doesn't even have a + * fence). Would need changes to the FBC fence Y offset as well. + * For now this will effecively disable FBC with 90/270 degree + * rotation. */ if (!(cache->flags & PLANE_HAS_FENCE)) { fbc->no_fbc_reason = "framebuffer not tiled or fenced";