freedreno: Drop min_samples handling code.

The frontend already does it for us based on
!caps->force_persample_interp, and the caller in util_blitter also handles
things through per-sample interpolation.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36429>
This commit is contained in:
Emma Anholt
2025-07-28 19:44:17 -07:00
committed by Marge Bot
parent c1392168e5
commit cfeedd2025
5 changed files with 5 additions and 9 deletions
@@ -156,7 +156,7 @@ setup_state_map(struct fd_context *ctx)
BIT(FD6_GROUP_LRZ));
fd_context_add_map(ctx, FD_DIRTY_PROG | FD_DIRTY_RASTERIZER_CLIP_PLANE_ENABLE,
BIT(FD6_GROUP_PROG) | BIT(FD6_GROUP_PROG_KEY));
fd_context_add_map(ctx, FD_DIRTY_RASTERIZER | FD_DIRTY_MIN_SAMPLES | FD_DIRTY_FRAMEBUFFER,
fd_context_add_map(ctx, FD_DIRTY_RASTERIZER | FD_DIRTY_FRAMEBUFFER,
BIT(FD6_GROUP_PROG_KEY));
if (ctx->screen->driconf.dual_color_blend_by_location) {
fd_context_add_map(ctx, FD_DIRTY_BLEND_DUAL,
@@ -214,7 +214,6 @@ get_program_state(struct fd_context *ctx, const struct pipe_draw_info *info)
* by not initializing these inline:
*/
key.key.ucp_enables = ctx->rasterizer->clip_plane_enable;
key.key.sample_shading = (ctx->min_samples > 1);
key.key.msaa = (ctx->framebuffer.samples > 1);
key.key.rasterflat = ctx->rasterizer->flatshade;
@@ -84,7 +84,7 @@ fd_blitter_pipe_begin(struct fd_context *ctx, bool render_cond) assert_dt
util_blitter_save_blend(ctx->blitter, ctx->blend);
util_blitter_save_depth_stencil_alpha(ctx->blitter, ctx->zsa);
util_blitter_save_stencil_ref(ctx->blitter, &ctx->stencil_ref);
util_blitter_save_sample_mask(ctx->blitter, ctx->sample_mask, ctx->min_samples);
util_blitter_save_sample_mask(ctx->blitter, ctx->sample_mask, 1 /* min_samples -- unused in freedreno */);
util_blitter_save_framebuffer(ctx->blitter, &ctx->framebuffer);
util_blitter_save_fragment_sampler_states(
ctx->blitter, ctx->tex[PIPE_SHADER_FRAGMENT].num_samplers,
@@ -133,7 +133,6 @@ enum fd_dirty_3d_state {
FD_DIRTY_VIEWPORT = BIT(8),
FD_DIRTY_VTXSTATE = BIT(9),
FD_DIRTY_VTXBUF = BIT(10),
FD_DIRTY_MIN_SAMPLES = BIT(11),
FD_DIRTY_SCISSOR = BIT(12),
FD_DIRTY_STREAMOUT = BIT(13),
FD_DIRTY_UCP = BIT(14),
@@ -181,7 +180,6 @@ fd_print_dirty_state(BITMASK_ENUM(fd_dirty_3d_state) dirty)
STATE(VIEWPORT),
STATE(VTXSTATE),
STATE(VTXBUF),
STATE(MIN_SAMPLES),
STATE(SCISSOR),
STATE(STREAMOUT),
STATE(UCP),
@@ -482,7 +480,6 @@ struct fd_context {
struct pipe_blend_color blend_color dt;
struct pipe_stencil_ref stencil_ref dt;
unsigned sample_mask dt;
unsigned min_samples dt;
/* 1x1 grid, max 4x MSAA: */
uint8_t sample_locations[4] dt;
@@ -102,9 +102,9 @@ fd_set_sample_locations(struct pipe_context *pctx, size_t size,
static void
fd_set_min_samples(struct pipe_context *pctx, unsigned min_samples) in_dt
{
struct fd_context *ctx = fd_context(pctx);
ctx->min_samples = min_samples;
fd_context_dirty(ctx, FD_DIRTY_MIN_SAMPLES);
/* We don't need to track min_samples, because the frontend lowers it to
* info->fs.uses_sample_shading for us.
*/
}
static void