radv: Use correct vgpr_comp_cnt for VS if both prim_id and instance_id are needed.

Should take the max of the 2.

Fixes: ea337c8b7e "radv/gfx10: fix VS input VGPRs with the legacy path"
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
This commit is contained in:
Bas Nieuwenhuizen 2019-08-21 01:50:53 +02:00
parent 7fa1740035
commit 2e763f7c87

View file

@ -809,10 +809,12 @@ static void radv_postprocess_config(const struct radv_physical_device *pdevice,
* If PrimID is disabled. InstanceID / StepRate1 is loaded instead.
* StepRate0 is set to 1. so that VGPR3 doesn't have to be loaded.
*/
if (info->vs.export_prim_id) {
if (info->info.vs.needs_instance_id && pdevice->rad_info.chip_class >= GFX10) {
vgpr_comp_cnt = 3;
} else if (info->vs.export_prim_id) {
vgpr_comp_cnt = 2;
} else if (info->info.vs.needs_instance_id) {
vgpr_comp_cnt = pdevice->rad_info.chip_class >= GFX10 ? 3 : 1;
vgpr_comp_cnt = 1;
} else {
vgpr_comp_cnt = 0;
}