summaryrefslogtreecommitdiff
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2014-08-06 02:11:04 +0200
committerCarl Worth <cworth@cworth.org>2014-08-11 14:34:52 -0700
commit22ec7df0d7687eb7db72ac2a004b21d4cb35ec7b (patch)
tree9387eff2ff7469c83897c4113b5309879fa3ea2d /src/gallium/drivers
parent1e0820032d76ea9585fa2b50cb73274736c3219e (diff)
radeonsi: fix a hang with instancing in Unigine Heaven/Valley on Hawaii
This isn't documented anywhere, but it's the only thing that works for this case. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (cherry picked from commit 515269b3a73cd64ac9c017e8b3c698be9a5383f6) Conflicts: src/gallium/drivers/radeonsi/si_state_draw.c
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/radeonsi/si_state_draw.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
index a24d9c02cae..e2d3f990d87 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -428,13 +428,10 @@ static bool si_update_draw_info_state(struct si_context *sctx,
bool ia_switch_on_eop = wd_switch_on_eop;
unsigned primgroup_size = 64;
- /* Hawaii hangs if instancing is enabled and each instance
- * is smaller than a prim group and WD_SWITCH_ON_EOP is 0.
+ /* Hawaii hangs if instancing is enabled and WD_SWITCH_ON_EOP is 0.
* We don't know that for indirect drawing, so treat it as
* always problematic. */
- if (sctx->b.family == CHIP_HAWAII &&
- ((info->instance_count > 1 &&
- u_prims_for_vertices(info->mode, info->count) < primgroup_size))) {
+ if (sctx->b.family == CHIP_HAWAII && info->instance_count > 1) {
wd_switch_on_eop = true;
ia_switch_on_eop = true;
}