aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Pitoiset <[email protected]>2019-09-03 18:04:43 +0200
committerSamuel Pitoiset <[email protected]>2019-09-06 15:52:09 +0200
commitd21489d415150b93b0ba07aea06dc21ac40fbe9a (patch)
tree785db99935bf18a8f83d4bb0a8596ccb04e09e78
parenta99d2d5564fbb817d8a3fc4c5f6a551c8659b453 (diff)
radv: gather pointsize in the shader info pass
Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
-rw-r--r--src/amd/vulkan/radv_nir_to_llvm.c8
-rw-r--r--src/amd/vulkan/radv_shader_info.c3
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 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;
}