For the series: Reviewed-by: Marek Olšák <[email protected]>
Marek On Wed, Nov 16, 2016 at 10:42 AM, Nicolai Hähnle <[email protected]> wrote: > From: Nicolai Hähnle <[email protected]> > > Since the state tracker now enables MSAA in the hardware for the case > nr_samples == 1 as well, we need to set sample locations correctly for > this case. > > The Polaris override is still needed for the non-MSAA case (when > nr_samples == 0). > --- > src/gallium/drivers/radeonsi/si_state.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/src/gallium/drivers/radeonsi/si_state.c > b/src/gallium/drivers/radeonsi/si_state.c > index c64bb5b..818a393 100644 > --- a/src/gallium/drivers/radeonsi/si_state.c > +++ b/src/gallium/drivers/radeonsi/si_state.c > @@ -2625,21 +2625,24 @@ static void si_emit_msaa_sample_locs(struct > si_context *sctx, > > /* Smoothing (only possible with nr_samples == 1) uses the same > * sample locations as the MSAA it simulates. > */ > if (nr_samples <= 1 && sctx->smoothing_enabled) > nr_samples = SI_NUM_SMOOTH_AA_SAMPLES; > > /* On Polaris, the small primitive filter uses the sample locations > * even when MSAA is off, so we need to make sure they're set to 0. > */ > - if ((nr_samples > 1 || sctx->b.family >= CHIP_POLARIS10) && > + if (sctx->b.family >= CHIP_POLARIS10) > + nr_samples = MAX2(nr_samples, 1); > + > + if (nr_samples >= 1 && > (nr_samples != sctx->msaa_sample_locs.nr_samples)) { > sctx->msaa_sample_locs.nr_samples = nr_samples; > cayman_emit_msaa_sample_locs(cs, nr_samples); > } > > if (sctx->b.family >= CHIP_POLARIS10) { > struct si_state_rasterizer *rs = > sctx->queued.named.rasterizer; > unsigned small_prim_filter_cntl = > S_028830_SMALL_PRIM_FILTER_ENABLE(1) | > S_028830_LINE_FILTER_DISABLE(1); /* line bug */ > -- > 2.7.4 > > _______________________________________________ > mesa-dev mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
