[Mesa-dev] [PATCH 1/3] gallium: switch dedicated centroid field to interpolation location

Marek Olšák maraeo at gmail.com
Sat Jul 5 15:45:39 PDT 2014


On Sat, Jul 5, 2014 at 11:20 PM, Roland Scheidegger <sroland at vmware.com> wrote:
> Am 05.07.2014 06:07, schrieb Ilia Mirkin:
>> The new location field can be either center, centroid, or sample, which
>> indicates the location that the shader should interpolate at.
> Looks good though maybe it should be mentioned in the interpolator
> section in tgsi.rst (yeah centroid wasn't neither).
> In any case,
> Reviewed-by: Roland Scheidegger <sroland at vmware.com>
>
>>
>> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
>> ---
>>
>> I tried to make sure I hit all the uses, but I guess a bunch of drivers don't
>> look at the Centroid field at all?
> Well drivers not doing msaa or just fake one like llvmpipe aren't
> interested in it.
> And, this wasn't exposed via d3d9, though r300 reportedly can do it (the
> docs even mention it for r5xx), I suspect using some of the crazy
> backdoor mechanisms of d3d9. Some very quick look at the docs though
> don't indicate how this could be done (if it's even possible per
> interpolator) for these chips, which is I guess why centroid isn't handled.

d3d9 does support centroid. I used to use it in HLSL using this syntax:
float4 v : TEXCOORD0_CENTROID:

The reason centroid isn't supported by r300g is that the hw
documentation doesn't say how to enable it.

Centroid is also required by GL2.

Marek


More information about the mesa-dev mailing list