radv: gather viewport in the shader info pass

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
Samuel Pitoiset 2019-09-03 18:05:25 +02:00
parent d21489d415
commit 84b346eda9
2 changed files with 3 additions and 8 deletions

View File

@ -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) {

View File

@ -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;
}