From: Marek Olšák <[email protected]>
Cc: 17.1 <[email protected]>
---
src/gallium/drivers/radeonsi/si_state_draw.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c
b/src/gallium/drivers/radeonsi/si_state_draw.c
index 193187b..a354c69 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -284,21 +284,22 @@ si_get_init_multi_vgt_param(struct si_screen *sscreen,
/* Bug with tessellation and GS on Bonaire and older 2 SE
chips. */
if ((sscreen->b.family == CHIP_TAHITI ||
sscreen->b.family == CHIP_PITCAIRN ||
sscreen->b.family == CHIP_BONAIRE) &&
key->u.uses_gs)
partial_vs_wave = true;
/* Needed for 028B6C_DISTRIBUTION_MODE != 0 */
if (sscreen->has_distributed_tess) {
if (key->u.uses_gs) {
- partial_es_wave = true;
+ if (sscreen->b.chip_class <= VI)
+ partial_es_wave = true;
/* GPU hang workaround. */
if (sscreen->b.family == CHIP_TONGA ||
sscreen->b.family == CHIP_FIJI ||
sscreen->b.family == CHIP_POLARIS10 ||
sscreen->b.family == CHIP_POLARIS11)
partial_vs_wave = true;
} else {
partial_vs_wave = true;
}
@@ -364,21 +365,21 @@ si_get_init_multi_vgt_param(struct si_screen *sscreen,
/* Instancing bug on Bonaire. */
if (sscreen->b.family == CHIP_BONAIRE && ia_switch_on_eoi &&
key->u.uses_instancing)
partial_vs_wave = true;
/* If the WD switch is false, the IA switch must be false too.
*/
assert(wd_switch_on_eop || !ia_switch_on_eop);
}
/* If SWITCH_ON_EOI is set, PARTIAL_ES_WAVE must be set too. */
- if (ia_switch_on_eoi)
+ if (sscreen->b.chip_class <= VI && ia_switch_on_eoi)
partial_es_wave = true;
return S_028AA8_SWITCH_ON_EOP(ia_switch_on_eop) |
S_028AA8_SWITCH_ON_EOI(ia_switch_on_eoi) |
S_028AA8_PARTIAL_VS_WAVE_ON(partial_vs_wave) |
S_028AA8_PARTIAL_ES_WAVE_ON(partial_es_wave) |
S_028AA8_WD_SWITCH_ON_EOP(sscreen->b.chip_class >= CIK ?
wd_switch_on_eop : 0) |
/* The following field was moved to VGT_SHADER_STAGES_EN in
GFX9. */
S_028AA8_MAX_PRIMGRP_IN_WAVE(sscreen->b.chip_class == VI ?
max_primgroup_in_wave : 0) |
--
2.7.4
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev