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

Christian König deathsimple at vodafone.de
Fri Mar 2 07:14:26 PST 2012


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?

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

Thanks,
Christian.


More information about the mesa-dev mailing list