Em Ter, 2016-03-22 às 12:31 +0100, Daniel Vetter escreveu: > On Mon, Mar 21, 2016 at 04:26:55PM -0300, Paulo Zanoni wrote: > > > > The sna_mode_wants_tear_free() function tries to detect FBC and PSR > > based on Kernel module parameters. Currently it fails to detect FBC > > due to the default enable_fbc value being -1. While this can easily > > be > > fixed in the Kernel, I had a conversation with Daniel and he > > expressed > > unhappiness with that solution, claiming that yet another different > > code path just for a feature that should be transparent is not a > > good > > way to go, and that we should do proper frontbuffer rendering. > > > > So with this patch, we'll have the DDX issuing dirtyfb calls even > > if > > TearFree is not enabled, fixing FBC when i915.enable_fbc=-1. > > > > This fixes a bug that happens on SKL with FBC enabled: if you run > > lightdm, your login/password won't appear as you type on your > > keyboard. You have to move the mouse over the input box for them to > > be > > displayed. > > > > Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> > I thought we need this anyway to get the kernel to allow fbc, since > SNA > ends up mmap some of the drm_framebuffer. Even when they're not > frontbuffers. If we merge patch 2/4, we won't need this one since TearFree will be in use, and it seems TearFree doesn't touch frontbuffers, so we'll always get the flush calls during page flips. > -Daniel > > > > > --- > > src/sna/sna_driver.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c > > index b245594..84e8e55 100644 > > --- a/src/sna/sna_driver.c > > +++ b/src/sna/sna_driver.c > > @@ -654,7 +654,7 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int > > probe) > > } > > scrn->currentMode = scrn->modes; > > > > - if (!setup_tear_free(sna) && > > sna_mode_wants_tear_free(sna)) > > + if (!setup_tear_free(sna)) > > sna->kgem.needs_dirtyfb = sna->kgem.has_dirtyfb; > > > > xf86SetGamma(scrn, zeros); > > -- > > 2.7.0 > > > > _______________________________________________ > > Intel-gfx mailing list > > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx