* [CI] Revert "drm/i915/fbc: Allow on unfenced surfaces, for recent gen"
@ 2016-08-24 18:00 Chris Wilson
2016-08-24 18:20 ` ✗ Fi.CI.BAT: failure for " Patchwork
2016-08-24 21:14 ` [CI] " Zanoni, Paulo R
0 siblings, 2 replies; 5+ messages in thread
From: Chris Wilson @ 2016-08-24 18:00 UTC (permalink / raw)
To: intel-gfx
This reverts commit 8678fdaf396c ("drm/i915/fbc: Allow on unfenced surfaces,
for recent gen") as Skylake has issues with unfenced FBC tracking (and
yes Skylake doesn't even enable FBC yet). Paulo would like to do a full
review of all existing workarounds to see if any more are missing prior
to allowing FBC on unfenced surfaces. In the meantime lets hope that all
framebuffers are idle and naturally fit within the mappable aperture.
Requested-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Fixes: 8678fdaf396c ("drm/i915/fbc: Allow on unfenced surfaces...");
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
---
drivers/gpu/drm/i915/intel_fbc.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
index bf8b22ad9aed..faa67624e1ed 100644
--- a/drivers/gpu/drm/i915/intel_fbc.c
+++ b/drivers/gpu/drm/i915/intel_fbc.c
@@ -799,10 +799,8 @@ static bool intel_fbc_can_activate(struct intel_crtc *crtc)
*/
if (cache->fb.tiling_mode != I915_TILING_X ||
cache->fb.fence_reg == I915_FENCE_REG_NONE) {
- if (INTEL_GEN(dev_priv) < 5) {
- fbc->no_fbc_reason = "framebuffer not tiled or fenced";
- return false;
- }
+ fbc->no_fbc_reason = "framebuffer not tiled or fenced";
+ return false;
}
if (INTEL_INFO(dev_priv)->gen <= 4 && !IS_G4X(dev_priv) &&
cache->plane.rotation != DRM_ROTATE_0) {
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 5+ messages in thread* ✗ Fi.CI.BAT: failure for Revert "drm/i915/fbc: Allow on unfenced surfaces, for recent gen"
2016-08-24 18:00 [CI] Revert "drm/i915/fbc: Allow on unfenced surfaces, for recent gen" Chris Wilson
@ 2016-08-24 18:20 ` Patchwork
2016-08-24 21:14 ` [CI] " Zanoni, Paulo R
1 sibling, 0 replies; 5+ messages in thread
From: Patchwork @ 2016-08-24 18:20 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: Revert "drm/i915/fbc: Allow on unfenced surfaces, for recent gen"
URL : https://patchwork.freedesktop.org/series/11529/
State : failure
== Summary ==
Series 11529v1 Revert "drm/i915/fbc: Allow on unfenced surfaces, for recent gen"
http://patchwork.freedesktop.org/api/1.0/series/11529/revisions/1/mbox/
Test kms_cursor_legacy:
Subgroup basic-flip-vs-cursor-legacy:
fail -> PASS (fi-hsw-4770k)
Subgroup basic-flip-vs-cursor-varying-size:
pass -> FAIL (fi-hsw-4770r)
Test kms_pipe_crc_basic:
Subgroup nonblocking-crc-pipe-c:
skip -> PASS (fi-hsw-4770r)
fi-bdw-5557u total:252 pass:235 dwarn:0 dfail:0 fail:2 skip:15
fi-bsw-n3050 total:252 pass:203 dwarn:0 dfail:0 fail:3 skip:46
fi-hsw-4770k total:252 pass:222 dwarn:6 dfail:1 fail:1 skip:22
fi-hsw-4770r total:252 pass:223 dwarn:0 dfail:0 fail:3 skip:26
fi-ivb-3520m total:252 pass:220 dwarn:0 dfail:0 fail:1 skip:31
fi-skl-6260u total:252 pass:236 dwarn:0 dfail:0 fail:2 skip:14
fi-skl-6700k total:252 pass:216 dwarn:4 dfail:0 fail:4 skip:28
fi-snb-2520m total:252 pass:203 dwarn:4 dfail:0 fail:2 skip:43
fi-snb-2600 total:252 pass:203 dwarn:4 dfail:0 fail:2 skip:43
Results at /archive/results/CI_IGT_test/Patchwork_2423/
6737eeadd55aa09ac998698461138309ab623dbb drm-intel-nightly: 2016y-08m-24d-15h-53m-53s UTC integration manifest
a9aac28 Revert "drm/i915/fbc: Allow on unfenced surfaces, for recent gen"
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [CI] Revert "drm/i915/fbc: Allow on unfenced surfaces, for recent gen"
2016-08-24 18:00 [CI] Revert "drm/i915/fbc: Allow on unfenced surfaces, for recent gen" Chris Wilson
2016-08-24 18:20 ` ✗ Fi.CI.BAT: failure for " Patchwork
@ 2016-08-24 21:14 ` Zanoni, Paulo R
2016-08-24 21:48 ` chris
1 sibling, 1 reply; 5+ messages in thread
From: Zanoni, Paulo R @ 2016-08-24 21:14 UTC (permalink / raw)
To: intel-gfx@lists.freedesktop.org, chris@chris-wilson.co.uk
Em Qua, 2016-08-24 às 19:00 +0100, Chris Wilson escreveu:
> This reverts commit 8678fdaf396c ("drm/i915/fbc: Allow on unfenced
> surfaces,
> for recent gen") as Skylake has issues with unfenced FBC tracking
> (and
> yes Skylake doesn't even enable FBC yet)
But it used to work if you had i915.enable_fbc=1 after your latest
fixes :)
> . Paulo would like to do a full
> review of all existing workarounds to see if any more are missing
> prior
> to allowing FBC on unfenced surfaces
We are missing at least one workaround for this, and it's described in
the FBC_CTL page of BSpec for SKL, bit 31 description: we need to
calculate the compressed buffer stride and program it to a register.
I didin't say I would do the review of all existing workarounds, just
that someone needs to do this before enabling FBC on non-X-tiled
buffers since I recall skipping the implementation of workarounds that
didn't apply to X-tiling. Maybe the one I mentioned was the only one,
maybe not.
Also, our test suite only tests X tiling, and the
kms_frontbuffer_tracking/fbc-tilingchange will need to be updated.
> . In the meantime lets hope that all
> framebuffers are idle and naturally fit within the mappable aperture.
What exactly do you mean with the sentence above? Is there some other
bug you spotted? Please share the information.
>
> Requested-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
> Fixes: 8678fdaf396c ("drm/i915/fbc: Allow on unfenced surfaces...");
> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> ---
> drivers/gpu/drm/i915/intel_fbc.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_fbc.c
> b/drivers/gpu/drm/i915/intel_fbc.c
> index bf8b22ad9aed..faa67624e1ed 100644
> --- a/drivers/gpu/drm/i915/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/intel_fbc.c
> @@ -799,10 +799,8 @@ static bool intel_fbc_can_activate(struct
> intel_crtc *crtc)
> */
> if (cache->fb.tiling_mode != I915_TILING_X ||
> cache->fb.fence_reg == I915_FENCE_REG_NONE) {
> - if (INTEL_GEN(dev_priv) < 5) {
> - fbc->no_fbc_reason = "framebuffer not tiled
> or fenced";
> - return false;
> - }
> + fbc->no_fbc_reason = "framebuffer not tiled or
> fenced";
> + return false;
> }
> if (INTEL_INFO(dev_priv)->gen <= 4 && !IS_G4X(dev_priv) &&
> cache->plane.rotation != DRM_ROTATE_0) {
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [CI] Revert "drm/i915/fbc: Allow on unfenced surfaces, for recent gen"
2016-08-24 21:14 ` [CI] " Zanoni, Paulo R
@ 2016-08-24 21:48 ` chris
2016-08-25 7:01 ` Daniel Vetter
0 siblings, 1 reply; 5+ messages in thread
From: chris @ 2016-08-24 21:48 UTC (permalink / raw)
To: Zanoni, Paulo R; +Cc: intel-gfx@lists.freedesktop.org
On Wed, Aug 24, 2016 at 09:14:59PM +0000, Zanoni, Paulo R wrote:
> Em Qua, 2016-08-24 às 19:00 +0100, Chris Wilson escreveu:
> > . In the meantime lets hope that all
> > framebuffers are idle and naturally fit within the mappable aperture.
>
> What exactly do you mean with the sentence above? Is there some other
> bug you spotted? Please share the information.
Not all framebuffers will be fenced, especially if they are being
rendered to before being flipped to the first time. The pressure is less
for full-ppgtt systems (now that we have independent activity tracking
on the vma) but that is not sufficient to guarrantee the object will be
assigned a map_and_fenceable VMA for display.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [CI] Revert "drm/i915/fbc: Allow on unfenced surfaces, for recent gen"
2016-08-24 21:48 ` chris
@ 2016-08-25 7:01 ` Daniel Vetter
0 siblings, 0 replies; 5+ messages in thread
From: Daniel Vetter @ 2016-08-25 7:01 UTC (permalink / raw)
To: chris@chris-wilson.co.uk, Zanoni, Paulo R,
intel-gfx@lists.freedesktop.org
On Wed, Aug 24, 2016 at 10:48:13PM +0100, chris@chris-wilson.co.uk wrote:
> On Wed, Aug 24, 2016 at 09:14:59PM +0000, Zanoni, Paulo R wrote:
> > Em Qua, 2016-08-24 às 19:00 +0100, Chris Wilson escreveu:
> > > . In the meantime lets hope that all
> > > framebuffers are idle and naturally fit within the mappable aperture.
> >
> > What exactly do you mean with the sentence above? Is there some other
> > bug you spotted? Please share the information.
>
> Not all framebuffers will be fenced, especially if they are being
> rendered to before being flipped to the first time. The pressure is less
> for full-ppgtt systems (now that we have independent activity tracking
> on the vma) but that is not sufficient to guarrantee the object will be
> assigned a map_and_fenceable VMA for display.
Yeah, with unmappable scanout fbc might luck out a lot.
Anyway, need to get the w/a and testing in place, on this revert
meanwhile:
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-08-25 7:01 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-24 18:00 [CI] Revert "drm/i915/fbc: Allow on unfenced surfaces, for recent gen" Chris Wilson
2016-08-24 18:20 ` ✗ Fi.CI.BAT: failure for " Patchwork
2016-08-24 21:14 ` [CI] " Zanoni, Paulo R
2016-08-24 21:48 ` chris
2016-08-25 7:01 ` Daniel Vetter
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.