[Mesa-dev] Mesa (master): vl/compositor: add per vertex color suport

Michel Dänzer michel at daenzer.net
Fri Mar 2 07:33:52 PST 2012


On Fre, 2012-03-02 at 16:14 +0100, Christian König wrote: 
> On 02.03.2012 15:00, Michel Dänzer wrote:
> > Hi Christian,
> >
> >
> > On Fre, 2012-03-02 at 04:42 -0800, Christian KXXnig wrote:
> >> Module: Mesa
> >> Branch: master
> >> Commit: b90727bb241e4a04158d34aad078cb18e478fea7
> >> URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b90727bb241e4a04158d34aad078cb18e478fea7
> >>
> >> Author: Christian König<deathsimple at vodafone.de>
> >> Date:   Mon Feb 27 16:07:51 2012 +0100
> >>
> >> vl/compositor: add per vertex color suport
> >>
> >> Used in subtitles, for example.
> > [...]
> >> diff --git a/src/gallium/auxiliary/vl/vl_compositor.c b/src/gallium/auxiliary/vl/vl_compositor.c
> >> index b030298..1e8d37f 100644
> >> --- a/src/gallium/auxiliary/vl/vl_compositor.c
> >> +++ b/src/gallium/auxiliary/vl/vl_compositor.c
> >> @@ -47,6 +47,7 @@ enum VS_OUTPUT
> >>   {
> >>      VS_O_VPOS,
> >>      VS_O_VTEX,
> >> +   VS_O_COLOR,
> >>      VS_O_VTOP,
> >>      VS_O_VBOTTOM,
> >>   };
> > This breaks r300g:
> >
> > mplayer: r300_vs.c:62: r300_shader_read_vs_outputs: Assertion `index<  2' failed.
> >
> > Looking at the r300_shader_read_vs_outputs and ureg_DECL_output_masked
> > code, they interpret the indices per semantic, whereas the vl code seems
> > to use a single index namespace. The latter can only work as long as all
> > the indices happen to fit within the per-semantic limits supported by
> > the driver/hardware.
> >
> >
> > Possibly related: As of the vl/vdpau changes you pushed today, mplayer
> > -vo vdpau only displays a small band at the top of the screen anymore
> > here with r300g. It looks like the whole picture is compressed into the
> > height of a single line of the video. I don't have time to investigate
> > this more right now, but maybe it'll clear up anyway once the above is
> > resolved.
> Hi Michel,
> 
> Oh yeah, the assumption of a global index space indeed seems to be 
> incorrect. I haven't noticed earlier since it doesn't matter for r600g.
> 
> Please give the attached patch a try with your r300, does it fix the 
> problem?

Yes, it does, thanks! (The squashed presentation problem is fixed as
well, maybe that was just a fluke or caused by my own attempt to fix
this)


> If yes I should go over my code once more, since I probably made that 
> wrong assumption a couple of times.

Good idea. :)


-- 
Earthling Michel Dänzer           |                   http://www.amd.com
Libre software enthusiast         |          Debian, X and DRI developer


More information about the mesa-dev mailing list