radv: Only set NGG_DISABLE_PROVOK_REUSE for VS.
It doesn't do anything useful for other stages. In VS, we use this when the implicit primitive ID is needed, so that we can export that as a per-vertex attribute of the provoking vertex. In TES, the patch ID (which is used as the primitive ID) is already a per-vertex input VGPR, so it doesn't make sense to configure this. In GS, the primitive ID is explicitly written by the shader, so it makes no sense to disable provoking vertex reuse in the input. Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Georg Lehmann <dadschoorse@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32270>
This commit is contained in:
@@ -1621,7 +1621,8 @@ radv_precompute_registers_hw_ngg(struct radv_device *device, const struct ac_sha
|
||||
S_02881C_VS_OUT_CCDIST0_VEC_ENA((total_mask & 0x0f) != 0) |
|
||||
S_02881C_VS_OUT_CCDIST1_VEC_ENA((total_mask & 0xf0) != 0) | total_mask << 8 | clip_dist_mask;
|
||||
|
||||
info->regs.ngg.vgt_primitiveid_en = S_028A84_NGG_DISABLE_PROVOK_REUSE(info->outinfo.export_prim_id);
|
||||
info->regs.ngg.vgt_primitiveid_en =
|
||||
S_028A84_NGG_DISABLE_PROVOK_REUSE(info->stage == MESA_SHADER_VERTEX && info->outinfo.export_prim_id);
|
||||
|
||||
const uint32_t gs_num_invocations = info->stage == MESA_SHADER_GEOMETRY ? info->gs.invocations : 1;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user