[Mesa-dev] [PATCH] radeonsi: disable primitive binning on Vega10
Nicolai Hähnle
nhaehnle at gmail.com
Sat Oct 7 08:58:52 UTC 2017
On 06.10.2017 15:49, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> Our driver implementation is known to decrease performance for some tests,
> but we don't know if any apps and benchmarks (especially those tested by
> Phoronix) are affected. This disables the feature just to be safe.
>
> The debug flags are inverted for Vega10. To enable it, set:
> R600_DEBUG=nodpbb,nodfsm
> Partial support that might be better for Vega10 can be enabled with:
> R600_DEBUG=nodpbb
I have to say I'm not happy about magic like that. Could we perhaps add
some tristate drirc option instead that has values {default, enable,
disable}?
Cheers,
Nicolai
> ---
> src/gallium/drivers/radeonsi/si_pipe.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c
> index 5e20a0b..cf4e357 100644
> --- a/src/gallium/drivers/radeonsi/si_pipe.c
> +++ b/src/gallium/drivers/radeonsi/si_pipe.c
> @@ -1054,20 +1054,24 @@ struct pipe_screen *radeonsi_screen_create(struct radeon_winsys *ws,
> sscreen->assume_no_z_fights =
> driQueryOptionb(config->options, "radeonsi_assume_no_z_fights");
> sscreen->commutative_blend_add =
> driQueryOptionb(config->options, "radeonsi_commutative_blend_add");
> sscreen->clear_db_meta_before_clear =
> driQueryOptionb(config->options, "radeonsi_clear_db_meta_before_clear");
> sscreen->has_msaa_sample_loc_bug = (sscreen->b.family >= CHIP_POLARIS10 &&
> sscreen->b.family <= CHIP_POLARIS12) ||
> sscreen->b.family == CHIP_VEGA10 ||
> sscreen->b.family == CHIP_RAVEN;
> + /* Invert the DPBB flags for Vega10. Default is disabled.
> + * nodpbb and nodfsm enable the features. */
> + if (sscreen->b.family == CHIP_VEGA10)
> + sscreen->b.debug_flags ^= (DBG_NO_DPBB | DBG_NO_DFSM);
> sscreen->dpbb_allowed = sscreen->b.chip_class >= GFX9 &&
> !(sscreen->b.debug_flags & DBG_NO_DPBB);
> sscreen->dfsm_allowed = sscreen->dpbb_allowed &&
> !(sscreen->b.debug_flags & DBG_NO_DFSM);
>
> /* While it would be nice not to have this flag, we are constrained
> * by the reality that LLVM 5.0 doesn't have working VGPR indexing
> * on GFX9.
> */
> sscreen->llvm_has_working_vgpr_indexing = sscreen->b.chip_class <= VI;
>
--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
More information about the mesa-dev
mailing list