radv: gather pointsize in the shader info pass
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 3 Sep 2019 16:04:43 +0000 (18:04 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 6 Sep 2019 13:52:09 +0000 (15:52 +0200)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_nir_to_llvm.c
src/amd/vulkan/radv_shader_info.c

index 9574330a4da129c923f3a38693c73703e45c65bc..1719ee389e350c4fa7b5f7ec26b83ff18102d890 100644 (file)
@@ -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;
                }
index d639980e56a7782be134c935d6479f9021c4870a..43c70e74fad6a459d45968b504ed5dd5b2a1a559 100644 (file)
@@ -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;
                }