[Mesa-stable] [PATCH] radv: fix centroid interpolation

Samuel Pitoiset samuel.pitoiset at gmail.com
Tue May 22 10:25:06 UTC 2018



On 05/22/2018 12:21 PM, Juan A. Suarez Romero wrote:
> On Mon, 2018-05-21 at 18:32 +0200, Samuel Pitoiset wrote:
>> Do you need a backport?
>>
> 
> What Mark means is that in 18.0, we have two implementations for
> prepare_interp_optimize():

Two implementations? That seems quite weird. I will look into it.

> 
> - one in src/amd/vulkan/radv_nir_to_llvm.c
> - another in src/amd/common/ac_nir_to_llvm.c
> 
> The former already does not contain the code this patch is removing, but the
> later one does contain it.
> 
> Do we need to remove it also from the later one? Otherwise, the patch is not
> required for 18.0.
> 
> 
> 	J.A.
> 
> 
> 
>> On 05/21/2018 06:30 PM, Mark Janes wrote:
>>> Samuel Pitoiset <samuel.pitoiset at gmail.com> writes:
>>>
>>>> It's legal to set the centroid and sample interpolation modes
>>>> when MSAA disabled. So, we have to initialize the centroid
>>>> inputs because the hardware doesn't.
>>>>
>>>> This fixes rendering issues with DXVK and The Witness, World of
>>>> Warcraft, Trackmania and probably more games.
>>>>
>>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106315
>>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102390
>>>> CC: 18.0 18.1 <mesa-stable at lists.freedesktop.org>
>>>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>>>> ---
>>>>    src/amd/vulkan/radv_nir_to_llvm.c | 3 ---
>>>>    1 file changed, 3 deletions(-)
>>>>
>>>> diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c
>>>> index 9b9619b877e..2d91ded7fe5 100644
>>>> --- a/src/amd/vulkan/radv_nir_to_llvm.c
>>>> +++ b/src/amd/vulkan/radv_nir_to_llvm.c
>>>> @@ -2075,9 +2075,6 @@ static void
>>>>    prepare_interp_optimize(struct radv_shader_context *ctx,
>>>>                            struct nir_shader *nir)
>>>>    {
>>>> -	if (!ctx->options->key.fs.multisample)
>>>> -		return;
>>>> -
>>>
>>> Mesa 18.0 is CC'd on this patch, but the hunk is not in that branch.
>>>
>>>>    	bool uses_center = false;
>>>>    	bool uses_centroid = false;
>>>>    	nir_foreach_variable(variable, &nir->inputs) {
>>>> -- 
>>>> 2.17.0
>>>>
>>>> _______________________________________________
>>>> mesa-stable mailing list
>>>> mesa-stable at lists.freedesktop.org
>>>> https://lists.freedesktop.org/mailman/listinfo/mesa-stable
>>
>> _______________________________________________
>> mesa-stable mailing list
>> mesa-stable at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-stable


More information about the mesa-stable mailing list