radeonsi: inline 2 trivial state structures
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
@@ -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]);
|
||||
}
|
||||
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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*)
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user