[Mesa-dev] [PATCH 2/5] st/mesa: remove redundant sample_mask checking
Samuel Pitoiset
samuel.pitoiset at gmail.com
Wed Jun 14 22:35:08 UTC 2017
On 06/14/2017 11:41 PM, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> cso does that too
> ---
> src/mesa/state_tracker/st_atom_msaa.c | 7 +------
> src/mesa/state_tracker/st_context.h | 1 -
> 2 files changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_atom_msaa.c b/src/mesa/state_tracker/st_atom_msaa.c
> index 0bdb9b2..814077f 100644
> --- a/src/mesa/state_tracker/st_atom_msaa.c
> +++ b/src/mesa/state_tracker/st_atom_msaa.c
> @@ -55,26 +55,21 @@ void st_update_sample_mask( struct st_context *st )
> Also, there's an interface restriction here in theory it is
> encouraged this mask not be the same at each pixel. */
> sample_mask = (1 << nr_bits) - 1;
> if (st->ctx->Multisample.SampleCoverageInvert)
> sample_mask = ~sample_mask;
> }
> if (st->ctx->Multisample.SampleMask)
> sample_mask &= st->ctx->Multisample.SampleMaskValue;
> }
>
> - /* mask off unused bits or don't care? */
> -
> - if (sample_mask != st->state.sample_mask) {
> - st->state.sample_mask = sample_mask;
> - cso_set_sample_mask(st->cso_context, sample_mask);
> - }
> + cso_set_sample_mask(st->cso_context, sample_mask);
Nice one! Sooo, we have three similar checks, st/mesa, cso and radeonsi,
fun times. :)
> }
>
> void st_update_sample_shading( struct st_context *st )
> {
> if (!st->fp)
> return;
>
> if (!st->ctx->Extensions.ARB_sample_shading)
> return;
>
> diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h
> index 6497587..2fe9d92 100644
> --- a/src/mesa/state_tracker/st_context.h
> +++ b/src/mesa/state_tracker/st_context.h
> @@ -149,21 +149,20 @@ struct st_context
> unsigned fb_height;
> unsigned fb_num_samples;
> unsigned fb_num_layers;
> struct pipe_scissor_state scissor[PIPE_MAX_VIEWPORTS];
> struct pipe_viewport_state viewport[PIPE_MAX_VIEWPORTS];
> struct {
> unsigned num;
> boolean include;
> struct pipe_scissor_state rects[PIPE_MAX_WINDOW_RECTANGLES];
> } window_rects;
> - unsigned sample_mask;
>
> GLuint poly_stipple[32]; /**< In OpenGL's bottom-to-top order */
>
> GLuint fb_orientation;
> } state;
>
> uint64_t dirty; /**< dirty states */
>
> /** This masks out unused shader resources. Only valid in draw calls. */
> uint64_t active_states;
>
More information about the mesa-dev
mailing list