[Mesa-stable] [PATCH 2/2] radeonsi: hard-code pixel center for interpolateAtSample without multisample buffers

Emil Velikov emil.l.velikov at gmail.com
Thu Oct 12 16:55:21 UTC 2017


Hi Nicolai,

On 11 September 2017 at 16:11, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
> From: Nicolai Hähnle <nicolai.haehnle at amd.com>
>
> The GLSL rules for interpolateAtSample are unfortunate:
>
>    "Returns the value of the input interpolant variable at
>     the location of sample number sample. If
>     multisample buffers are not available, the input
>     variable will be evaluated at the center of the pixel.
>     If sample sample does not exist, the position used to
>     interpolate the input variable is undefined."
>
> This fix will fallback to monolithic shader compilation when
> interpolateAtSample is used without multisampling.
>
> One alternative would be to always upload 16 sample positions,
> filling the buffer up with repetition when the actual number of
> samples is less, and then ANDing the sample ID with 0xf. However,
> that punishes all well-behaving users of interpolateAtSample,
> when in reality, only conformance tests should be affected by
> the issue.
>
> Fixes
> dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.non_multisample_buffer.*
> ---
Going through the lists, shows that this has landed without the stable tag.
Normally that's considered as self-rejecting the patch.

Is that really the case here or we want to pick it up?

Thanks
Emil


More information about the mesa-stable mailing list