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

Reply via email to