diff --git a/.pick_status.json b/.pick_status.json index 3ff130b8871..a6fb7ce6457 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -394,7 +394,7 @@ "description": "radeonsi: fix primitive restart gpu hang for pre gfx10", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/radeonsi/si_state_draw.cpp b/src/gallium/drivers/radeonsi/si_state_draw.cpp index 142a8089875..cba737f9b97 100644 --- a/src/gallium/drivers/radeonsi/si_state_draw.cpp +++ b/src/gallium/drivers/radeonsi/si_state_draw.cpp @@ -749,17 +749,11 @@ static unsigned si_get_init_multi_vgt_param(struct si_screen *sscreen, union si_ /* WD_SWITCH_ON_EOP has no effect on GPUs with less than * 4 shader engines. Set 1 to pass the assertion below. * The other cases are hardware requirements. - * - * Polaris supports primitive restart with WD_SWITCH_ON_EOP=0 - * for points, line strips, and tri strips. */ if (sscreen->info.max_se <= 2 || key->u.prim == MESA_PRIM_POLYGON || key->u.prim == MESA_PRIM_LINE_LOOP || key->u.prim == MESA_PRIM_TRIANGLE_FAN || key->u.prim == MESA_PRIM_TRIANGLE_STRIP_ADJACENCY || - (key->u.primitive_restart && - (sscreen->info.family < CHIP_POLARIS10 || - (key->u.prim != MESA_PRIM_POINTS && key->u.prim != MESA_PRIM_LINE_STRIP && - key->u.prim != MESA_PRIM_TRIANGLE_STRIP))) || + key->u.primitive_restart || key->u.count_from_stream_output) wd_switch_on_eop = true;