radv: fix computing the number of ES VGPRS for TES on GFX10
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 9 Jul 2019 06:27:30 +0000 (08:27 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 9 Jul 2019 07:54:14 +0000 (09:54 +0200)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_shader.c

index b6270136643339d87f5eb238e1a354135d99247b..ec68f51901f4b5ca8a60af0638172d70ba6cecb0 100644 (file)
@@ -802,7 +802,8 @@ static void radv_postprocess_config(const struct radv_physical_device *pdevice,
                if (stage == MESA_SHADER_VERTEX) {
                        es_vgpr_comp_cnt = info->info.vs.needs_instance_id ? 3 : 0;
                } else if (stage == MESA_SHADER_TESS_EVAL) {
-                       es_vgpr_comp_cnt = info->info.vs.needs_instance_id ? 3 : 2;
+                       bool enable_prim_id = info->tes.export_prim_id || info->info.uses_prim_id;
+                       es_vgpr_comp_cnt = enable_prim_id ? 3 : 2;
                }
 
                bool tes_triangles = stage == MESA_SHADER_TESS_EVAL &&