From 84b346eda9c7f2de3256c7fc20a90958cd0b59ca Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 3 Sep 2019 18:05:25 +0200 Subject: [PATCH] radv: gather viewport in the shader info pass Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_nir_to_llvm.c | 8 -------- src/amd/vulkan/radv_shader_info.c | 3 +++ 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c index 1719ee3..e2d3447 100644 --- a/src/amd/vulkan/radv_nir_to_llvm.c +++ b/src/amd/vulkan/radv_nir_to_llvm.c @@ -2792,10 +2792,6 @@ handle_vs_outputs_post(struct radv_shader_context *ctx, outinfo->writes_layer = true; } - if (ctx->output_mask & (1ull << VARYING_SLOT_VIEWPORT)) { - outinfo->writes_viewport_index = true; - } - if (ctx->shader_info->so.num_outputs && !ctx->is_gs_copy_shader) { /* The GS copy shader emission already emits streamout. */ @@ -3514,10 +3510,6 @@ static void gfx10_ngg_gs_emit_epilogue_2(struct radv_shader_context *ctx) outinfo->writes_layer = true; } - if (ctx->output_mask & (1ull << VARYING_SLOT_VIEWPORT)) { - outinfo->writes_viewport_index = true; - } - unsigned out_idx = 0; gep_idx[1] = ctx->ac.i32_0; for (unsigned i = 0; i < AC_LLVM_MAX_OUTPUTS; ++i) { diff --git a/src/amd/vulkan/radv_shader_info.c b/src/amd/vulkan/radv_shader_info.c index 43c70e7..614a20d 100644 --- a/src/amd/vulkan/radv_shader_info.c +++ b/src/amd/vulkan/radv_shader_info.c @@ -571,6 +571,9 @@ gather_info_output_decl(const nir_shader *nir, const nir_variable *var, case VARYING_SLOT_PSIZ: vs_info->writes_pointsize = true; break; + case VARYING_SLOT_VIEWPORT: + vs_info->writes_viewport_index = true; + break; default: break; } -- 2.7.4