[Intel-gfx] [PATCH] drm/i915: Make sample_c messages go faster on Haswell.
Daniel Vetter
daniel at ffwll.ch
Tue Jan 6 00:08:35 PST 2015
On Tue, Jan 06, 2015 at 03:15:39PM +0800, Xiang, Haihao wrote:
> On Mon, 2015-01-05 at 23:03 -0800, Kenneth Graunke wrote:
> > On Tuesday, January 06, 2015 02:39:36 PM Xiang, Haihao wrote:
> > > On Mon, 2015-01-05 at 21:54 -0800, Kenneth Graunke wrote:
> > > > On Tuesday, January 06, 2015 01:11:53 PM Xiang, Haihao wrote:
> > > > >
> > > > > Hi Kenneth,
> > > > >
> > > > > How did you test OSD ? I can't reproduce the issue you mentioned, OSD
> > > > > works well for me when using mplayer-vaapi with the latest
> > > > > libva/libva-intel-driver master branch.
> > > > >
> > > > > I tried your patch, what surprised me is OSD still works well after
> > > > > applying your patch. It seems your patch didn't disable the palette.
> > > > >
> > > > > Thanks
> > > > > Haihao
> > > >
> > > > I ran:
> > > >
> > > > mplayer -osdlevel 3 -vo vaapi big_buck_bunny_720p_stereo.ogg
> > > >
> > > > For me, the OSD text is solid green, with hard edges.
> > >
> > > The OSD text is white for me when using mplayer -osdlevel 3 -vo vaapi
> > > xxx. If possible, could you update your mplayer ?
> >
> > Huh. I'm using the Arch Linux package of mplayer-vaapi 36265-13,
> > which seems to be the most recent subversion commit ID. I've never seen
> > white text on my Haswell system - it seems to be consistently dark green.
>
> > > > If you use "-vo gl" or "-vo xv", the OSD is solid white text with a black
> > > > border around it. I presume that it's supposed to be white with vaapi as
> > > > well, but I guess I'm not entirely sure.
> > > >
> > > > It's possible that the optimization doesn't affect the palette as long as
> > > > you never use sample_c with the paletted textures.
> > >
> > > I verified the palette takes effect in the following way:
> > >
> > > 1. Only support P8A8 format in the driver
> > >
> > > 2. ran the above command and I saw white OSD text
> > >
> > > 3. Only support P4A4 format in the driver and don't use
> > > 3DSTATE_SAMPLER_PALETTE_LOAD0 to load the value to the texture palette,
> > > so the palette keeps unchanged.
> > >
> > > 4. ran the above command and I saw black OSD text.
> > >
> > > 5. Load the right value to the texture palette and ran the above command
> > > again, I saw white OSD text.
> > >
> > > Hence I think sample_c with the paletted textures is used in the driver.
> >
> > That sounds like the palette is actually working, then. Great :)
> >
> > I doubt that libva would use sample_c - sampling with a shadow comparison?
> > It looks like it just uses sample and sample+killpix.
>
> You are right, libva driver doesn't use sample_c message.
>
> > I'm pretty sure the sample_c optimization just uses the palette memory as
> > storage for some stuff, so it's quite possible it just works if you're
> > only using sample and sample+killpix.
>
> Thanks for the explanation, it makes sense to me.
Thanks for digging into this some more, I've added the above discussion in
a quote to the commit message.
Thanks, Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list