From: Samuel Pitoiset Date: Tue, 3 Sep 2019 16:04:43 +0000 (+0200) Subject: radv: gather pointsize in the shader info pass X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d21489d415150b93b0ba07aea06dc21ac40fbe9a;p=mesa.git radv: gather pointsize in the shader info pass Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c index 9574330a4da..1719ee389e3 100644 --- a/src/amd/vulkan/radv_nir_to_llvm.c +++ b/src/amd/vulkan/radv_nir_to_llvm.c @@ -2788,10 +2788,6 @@ handle_vs_outputs_post(struct radv_shader_context *ctx, sizeof(outinfo->vs_output_param_offset)); outinfo->pos_exports = 0; - if (ctx->output_mask & (1ull << VARYING_SLOT_PSIZ)) { - outinfo->writes_pointsize = true; - } - if (ctx->output_mask & (1ull << VARYING_SLOT_LAYER)) { outinfo->writes_layer = true; } @@ -3514,10 +3510,6 @@ static void gfx10_ngg_gs_emit_epilogue_2(struct radv_shader_context *ctx) tmp = LLVMBuildZExt(builder, tmp, ctx->ac.i32, ""); const LLVMValueRef vertexptr = ngg_gs_vertex_ptr(ctx, tmp); - if (ctx->output_mask & (1ull << VARYING_SLOT_PSIZ)) { - outinfo->writes_pointsize = true; - } - if (ctx->output_mask & (1ull << VARYING_SLOT_LAYER)) { outinfo->writes_layer = true; } diff --git a/src/amd/vulkan/radv_shader_info.c b/src/amd/vulkan/radv_shader_info.c index d639980e56a..43c70e74fad 100644 --- a/src/amd/vulkan/radv_shader_info.c +++ b/src/amd/vulkan/radv_shader_info.c @@ -568,6 +568,9 @@ gather_info_output_decl(const nir_shader *nir, const nir_variable *var, (1 << nir->info.cull_distance_array_size) - 1; vs_info->cull_dist_mask <<= nir->info.clip_distance_array_size; break; + case VARYING_SLOT_PSIZ: + vs_info->writes_pointsize = true; + break; default: break; }