Module: Mesa Branch: master Commit: 792724a33745115fe06e079f88fafac74ed0b7f1 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=792724a33745115fe06e079f88fafac74ed0b7f1
Author: Nicolai Hähnle <[email protected]> Date: Sat Aug 26 01:11:14 2017 +0200 radeonsi: remove SET_PREDICATION workaround on newer firmware We need to keep the workaround for older firmware, though. Reviewed-by: Marek Olšák <[email protected]> --- src/gallium/drivers/radeon/r600_query.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/radeon/r600_query.c b/src/gallium/drivers/radeon/r600_query.c index 03ff1018a7..76307ca066 100644 --- a/src/gallium/drivers/radeon/r600_query.c +++ b/src/gallium/drivers/radeon/r600_query.c @@ -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 || _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
