radeonsi: fix a hang with DrawTransformFeedback on 4 SE chips
authorMarek Olšák <marek.olsak@amd.com>
Wed, 24 Jun 2015 09:58:50 +0000 (11:58 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Sun, 5 Jul 2015 13:06:50 +0000 (15:06 +0200)
Cc: 10.6 10.5 <mesa-stable@lists.freedesktop.org>
Acked-by: Christian König <christain.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
src/gallium/drivers/radeonsi/si_state_draw.c

index 2e77d85a80d61ed5096346e044188830bfa1fb0e..e85ed15deb7d395e34eafb5910a0c667700bb54f 100644 (file)
@@ -139,6 +139,10 @@ static unsigned si_get_ia_multi_vgt_param(struct si_context *sctx,
                    (info->indirect || info->instance_count > 1))
                        wd_switch_on_eop = true;
 
+               /* USE_OPAQUE doesn't work when WD_SWITCH_ON_EOP is 0. */
+               if (info->count_from_stream_output)
+                       wd_switch_on_eop = true;
+
                /* If the WD switch is false, the IA switch must be false too. */
                assert(wd_switch_on_eop || !ia_switch_on_eop);
        }