radeonsi: inline 2 trivial state structures
authorMarek Olšák <marek.olsak@amd.com>
Mon, 9 Apr 2018 01:12:24 +0000 (21:12 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Fri, 27 Apr 2018 21:56:04 +0000 (17:56 -0400)
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/drivers/radeonsi/si_blit.c
src/gallium/drivers/radeonsi/si_gfx_cs.c
src/gallium/drivers/radeonsi/si_pipe.c
src/gallium/drivers/radeonsi/si_pipe.h
src/gallium/drivers/radeonsi/si_state.c

index bbdb5e8f2714d039322c4621fd0aa0a92b3b2f22..bd20a900e69964a66983cc7de6844037dd6deb73 100644 (file)
@@ -57,7 +57,7 @@ void si_blitter_begin(struct si_context *sctx, enum si_blitter_op op)
                util_blitter_save_depth_stencil_alpha(sctx->blitter, sctx->queued.named.dsa);
                util_blitter_save_stencil_ref(sctx->blitter, &sctx->stencil_ref.state);
                util_blitter_save_fragment_shader(sctx->blitter, sctx->ps_shader.cso);
-               util_blitter_save_sample_mask(sctx->blitter, sctx->sample_mask.sample_mask);
+               util_blitter_save_sample_mask(sctx->blitter, sctx->sample_mask);
                util_blitter_save_scissor(sctx->blitter, &sctx->scissors.states[0]);
        }
 
index e864b627a96eb2fc5045c779364b426ab4e8cf1c..1358010c63c750c6610c090d1d74a378331d84f9 100644 (file)
@@ -263,11 +263,11 @@ void si_begin_new_gfx_cs(struct si_context *ctx)
        /* CLEAR_STATE sets zeros. */
        if (!has_clear_state || ctx->clip_state.any_nonzeros)
                si_mark_atom_dirty(ctx, &ctx->atoms.s.clip_state);
-       ctx->msaa_sample_locs.nr_samples = 0;
+       ctx->sample_locs_num_samples = 0;
        si_mark_atom_dirty(ctx, &ctx->atoms.s.msaa_sample_locs);
        si_mark_atom_dirty(ctx, &ctx->atoms.s.msaa_config);
        /* CLEAR_STATE sets 0xffff. */
-       if (!has_clear_state || ctx->sample_mask.sample_mask != 0xffff)
+       if (!has_clear_state || ctx->sample_mask != 0xffff)
                si_mark_atom_dirty(ctx, &ctx->atoms.s.sample_mask);
        si_mark_atom_dirty(ctx, &ctx->atoms.s.cb_render_state);
        /* CLEAR_STATE sets zeros. */
index 971ff19d799646103b33ce5b67e9039975d77f23..052fef28eda261e4275d04cbcd1aaf51d26ca15d 100644 (file)
@@ -472,7 +472,7 @@ static struct pipe_context *si_create_context(struct pipe_screen *screen,
        sctx->blitter->draw_rectangle = si_draw_rectangle;
        sctx->blitter->skip_viewport_restore = true;
 
-       sctx->sample_mask.sample_mask = 0xffff;
+       sctx->sample_mask = 0xffff;
 
        if (sctx->chip_class >= GFX9) {
                sctx->wait_mem_scratch = (struct r600_resource*)
index 41f88b9688e69663ceec9a29d0df6e6d4f89dba4..eef8e602fadcea338da58326e6eb1c7a6d2575f1 100644 (file)
@@ -636,14 +636,6 @@ struct si_clip_state {
        bool                            any_nonzeros;
 };
 
-struct si_sample_locs {
-       unsigned                nr_samples;
-};
-
-struct si_sample_mask {
-       uint16_t                sample_mask;
-};
-
 struct si_streamout_target {
        struct pipe_stream_output_target b;
 
@@ -815,8 +807,8 @@ struct si_context {
 
        /* Atom declarations. */
        struct si_framebuffer           framebuffer;
-       struct si_sample_locs           msaa_sample_locs;
-       struct si_sample_mask           sample_mask;
+       unsigned                        sample_locs_num_samples;
+       uint16_t                        sample_mask;
        unsigned                        last_cb_target_mask;
        struct si_blend_color           blend_color;
        struct si_clip_state            clip_state;
index 7205c6d6e37fb60ad6ea30cb6d1355d22f3250e3..872068921725188f5a5ce140e7c41c088a5606b3 100644 (file)
@@ -3209,8 +3209,8 @@ static void si_emit_msaa_sample_locs(struct si_context *sctx,
        if (has_msaa_sample_loc_bug)
                nr_samples = MAX2(nr_samples, 1);
 
-       if (nr_samples != sctx->msaa_sample_locs.nr_samples) {
-               sctx->msaa_sample_locs.nr_samples = nr_samples;
+       if (nr_samples != sctx->sample_locs_num_samples) {
+               sctx->sample_locs_num_samples = nr_samples;
                si_emit_sample_locations(cs, nr_samples);
        }
 
@@ -4151,17 +4151,17 @@ static void si_set_sample_mask(struct pipe_context *ctx, unsigned sample_mask)
 {
        struct si_context *sctx = (struct si_context *)ctx;
 
-       if (sctx->sample_mask.sample_mask == (uint16_t)sample_mask)
+       if (sctx->sample_mask == (uint16_t)sample_mask)
                return;
 
-       sctx->sample_mask.sample_mask = sample_mask;
+       sctx->sample_mask = sample_mask;
        si_mark_atom_dirty(sctx, &sctx->atoms.s.sample_mask);
 }
 
 static void si_emit_sample_mask(struct si_context *sctx, struct si_atom *atom)
 {
        struct radeon_winsys_cs *cs = sctx->gfx_cs;
-       unsigned mask = sctx->sample_mask.sample_mask;
+       unsigned mask = sctx->sample_mask;
 
        /* Needed for line and polygon smoothing as well as for the Polaris
         * small primitive filter. We expect the state tracker to take care of