radeonsi: remove SET_PREDICATION workaround on newer firmware

We need to keep the workaround for older firmware, though.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Nicolai Hähnle 2017-08-26 01:11:14 +02:00
parent b8c6e88848
commit 792724a337

View file

@ -1803,11 +1803,13 @@ static void r600_render_condition(struct pipe_context *ctx,
if (query) {
bool needs_workaround = false;
/* There is a firmware regression in VI which causes successive
/* There was a firmware regression in VI which causes successive
* SET_PREDICATION packets to give the wrong answer for
* non-inverted stream overflow predication.
*/
if (rctx->chip_class >= VI && !condition &&
if (((rctx->chip_class == VI && rctx->screen->info.pfp_fw_feature < 49) ||
(rctx->chip_class == GFX9 && rctx->screen->info.pfp_fw_feature < 38)) &&
!condition &&
(rquery->b.type == PIPE_QUERY_SO_OVERFLOW_ANY_PREDICATE ||
(rquery->b.type == PIPE_QUERY_SO_OVERFLOW_PREDICATE &&
(rquery->buffer.previous ||