From: Dave Airlie <airl...@redhat.com>

This pretty much reverts:

f3275ca01cddd5d1e999e3805eff42e06ce6e974
Author: Samuel Pitoiset <samuel.pitoi...@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

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to