Skip to content
Snippets Groups Projects
Commit d179312b authored by Samuel Pitoiset's avatar Samuel Pitoiset
Browse files

radv: add a workaround for a VGT hang with prim restart and strips


Otherwise, Yakuza and The Evil Within hang the GPU with DXVK.
This apparently only works on Polaris.

Suggested by Marek.

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: default avatarSamuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: default avatarBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
parent 3bc012a3
No related branches found
No related tags found
No related merge requests found
......@@ -3411,6 +3411,17 @@ radv_compute_ia_multi_vgt_param_helpers(struct radv_pipeline *pipeline,
}
}
/* Workaround for a VGT hang when strip primitive types are used with
* primitive restart.
*/
if (pipeline->graphics.prim_restart_enable &&
(prim == V_008958_DI_PT_LINESTRIP ||
prim == V_008958_DI_PT_TRISTRIP ||
prim == V_008958_DI_PT_LINESTRIP_ADJ ||
prim == V_008958_DI_PT_TRISTRIP_ADJ)) {
ia_multi_vgt_param.partial_vs_wave = true;
}
ia_multi_vgt_param.base =
S_028AA8_PRIMGROUP_SIZE(ia_multi_vgt_param.primgroup_size - 1) |
/* The following field was moved to VGT_SHADER_STAGES_EN in GFX9. */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment