Module: Mesa
Branch: master
Commit: b462ceb482471dd4aacdd5fa7cef9fe25f823d70
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b462ceb482471dd4aacdd5fa7cef9fe25f823d70

Author: Samuel Pitoiset <[email protected]>
Date:   Fri Jan  5 17:18:52 2018 +0100

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 <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>

---

 src/amd/vulkan/radv_shader.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c
index 971d3abac9..5d777a05e5 100644
--- a/src/amd/vulkan/radv_shader.c
+++ b/src/amd/vulkan/radv_shader.c
@@ -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);

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to