[Mesa-dev] [PATCH] radv: revert "only enable used channels when exporting parameters"

Samuel Pitoiset samuel.pitoiset at gmail.com
Mon Mar 19 14:05:03 UTC 2018


That doesn't fix the test for me. Are you sure it's a regression?

On 03/19/2018 06:08 AM, Dave Airlie wrote:
> From: Dave Airlie <airlied at redhat.com>
> 
> This pretty much reverts:
> 
> f3275ca01cddd5d1e999e3805eff42e06ce6e974
> Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> Date:   Thu Mar 1 11:54:22 2018 +0100
> 
>      ac/nir: only enable used channels when exporting parameters
> 
> To fix a regression in:
> dEQP-VK.spirv_assembly.instruction.graphics.variable_init.output.struct
> 
> The problem is the scanning in the info pass isn't handling
> structs at all.
> ---
>   src/amd/vulkan/radv_nir_to_llvm.c | 16 +---------------
>   1 file changed, 1 insertion(+), 15 deletions(-)
> 
> diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c
> index 7379f348d84..63dd8efb3a7 100644
> --- a/src/amd/vulkan/radv_nir_to_llvm.c
> +++ b/src/amd/vulkan/radv_nir_to_llvm.c
> @@ -2327,21 +2327,7 @@ handle_vs_outputs_post(struct radv_shader_context *ctx,
>   		for (unsigned j = 0; j < 4; j++)
>   			values[j] = ac_to_float(&ctx->ac, radv_load_output(ctx, i, j));
>   
> -		unsigned output_usage_mask;
> -
> -		if (ctx->stage == MESA_SHADER_VERTEX &&
> -		    !ctx->is_gs_copy_shader) {
> -			output_usage_mask =
> -				ctx->shader_info->info.vs.output_usage_mask[i];
> -		} else if (ctx->stage == MESA_SHADER_TESS_EVAL) {
> -			output_usage_mask =
> -				ctx->shader_info->info.tes.output_usage_mask[i];
> -		} else {
> -			/* Enable all channels for the GS copy shader because
> -			 * we don't know the output usage mask currently.
> -			 */
> -			output_usage_mask = 0xf;
> -		}
> +		unsigned output_usage_mask = 0xf;
>   
>   		radv_export_param(ctx, param_count, values, output_usage_mask);
>   
> 


More information about the mesa-dev mailing list