For the series: Reviewed-by: Marek Olšák <marek.ol...@amd.com>
Marek On Mon, Sep 11, 2017 at 5:01 PM, Nicolai Hähnle <nhaeh...@gmail.com> wrote: > From: Nicolai Hähnle <nicolai.haeh...@amd.com> > > We need to keep the workaround for older firmware, though. > --- > 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 03ff1018a71..76307ca0662 100644 > --- a/src/gallium/drivers/radeon/r600_query.c > +++ b/src/gallium/drivers/radeon/r600_query.c > @@ -1796,25 +1796,27 @@ static void r600_render_condition(struct pipe_context > *ctx, > struct r600_common_context *rctx = (struct r600_common_context *)ctx; > struct r600_query_hw *rquery = (struct r600_query_hw *)query; > struct r600_query_buffer *qbuf; > struct r600_atom *atom = &rctx->render_cond_atom; > > /* Compute the size of SET_PREDICATION packets. */ > atom->num_dw = 0; > 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 || > rquery->buffer.results_end > rquery->result_size)))) { > needs_workaround = true; > } > > if (needs_workaround && !rquery->workaround_buf) { > bool old_force_off = rctx->render_cond_force_off; > rctx->render_cond_force_off = true; > -- > 2.11.0 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev