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

Dave Airlie airlied at gmail.com
Mon Mar 19 05:08:26 UTC 2018


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);
 
-- 
2.14.3



More information about the mesa-dev mailing list