radv/gfx9: do not load VGPR1 when GS uses points or lines

VGPR1 is only needed for topology that needs 3 offsets like
triangles or quads.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
Samuel Pitoiset
2018-01-05 17:18:52 +01:00
parent a3c2a86757
commit b462ceb482

View File

@@ -424,8 +424,10 @@ radv_fill_shader_variant(struct radv_device *device,
gs_vgpr_comp_cnt = 3; /* VGPR3 contains InvocationID. */
else if (info->uses_prim_id)
gs_vgpr_comp_cnt = 2; /* VGPR2 contains PrimitiveID. */
else if (variant->info.gs.vertices_in >= 3)
gs_vgpr_comp_cnt = 1; /* VGPR1 contains offsets 2, 3 */
else
gs_vgpr_comp_cnt = 1; /* TODO: use input_prim */
gs_vgpr_comp_cnt = 0; /* VGPR0 contains offsets 0, 1 */
/* TODO: Figure out how many we actually need. */
variant->rsrc1 |= S_00B228_GS_VGPR_COMP_CNT(gs_vgpr_comp_cnt);