[Mesa-dev] [PATCH] i965: Use sample barycentric coordinates with per sample shading
Anuj Phogat
anuj.phogat at gmail.com
Mon Jan 13 13:06:55 PST 2014
On Fri, Jan 10, 2014 at 5:25 PM, Anuj Phogat <anuj.phogat at gmail.com> wrote:
> On Thu, Jan 9, 2014 at 4:34 PM, Chris Forbes <chrisf at ijw.co.nz> wrote:
>> Hi Anuj,
>>
>> There's one fiddly interaction that I don't think this handles quite
>> right, although I think it does conform.
>>
>> Suppose we have this fragment shader:
>>
>> #version 330
>> #extension ARB_gpu_shader5: require
>>
>> sample in vec4 a;
>> in vec4 b;
>>
>> ...
>>
>> Then `b` is being evaluated at the sample position as well. This is
>> allowed by my reading of the spec, but probably not what the author
>> expected.
> Good catch.
>>
>> From the ARB_gpu_shader5 spec, emphasis mine:
>>
>> (11) Should we support per-sample interpolation of attributes? If so,
>> how?
>>
>> RESOLVED. Yes. When multisample rasterization is enabled, qualifying
>> one or more fragment shader inputs with "sample" will force per-sample
>> interpolation of those attributes. If the same shader includes other
>> fragment inputs not qualified with sample, those attributes _may_ be
>> interpolated per-pixel (i.e., all samples get the same values, likely
>> evaluated at the pixel center).
>>
>> What do you think?
> I agree with your interpretation. Spec seems to be flexible about it. I'll check
> what NVIDIA does in this case. This should be easy to fix if we need to.
I verified that NVIDIA doesn't evaluate variable 'b' at sample position.
I'll send out an updated patch to match this behavior.
>>
>> -- Chris
More information about the mesa-dev
mailing list