From 3f094e635fbae45e75a0e0810d3eb65233d2a029 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 1 Jan 2024 20:29:08 -0400 Subject: [PATCH] asahi: rm nr_cbufs from key Signed-off-by: Alyssa Rosenzweig Part-of: --- src/gallium/drivers/asahi/agx_state.c | 13 +++++-------- src/gallium/drivers/asahi/agx_state.h | 1 - 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/gallium/drivers/asahi/agx_state.c b/src/gallium/drivers/asahi/agx_state.c index 495f91b344d..3eeb874daa9 100644 --- a/src/gallium/drivers/asahi/agx_state.c +++ b/src/gallium/drivers/asahi/agx_state.c @@ -1829,7 +1829,7 @@ agx_compile_variant(struct agx_device *dev, struct pipe_context *pctx, struct asahi_fs_shader_key *key = &key_->fs; struct agx_tilebuffer_layout tib = agx_build_tilebuffer_layout( - key->rt_formats, key->nr_cbufs, key->nr_samples, true); + key->rt_formats, ARRAY_SIZE(key->rt_formats), key->nr_samples, true); if (dev->debug & AGX_DBG_SMALLTILE) tib.tile_size = (struct agx_tile_size){16, 16}; @@ -1871,9 +1871,8 @@ agx_compile_variant(struct agx_device *dev, struct pipe_context *pctx, * care of this for its own colormasks input. */ unsigned comps = util_format_get_nr_components(key->rt_formats[i]); - if (i < key->nr_cbufs && - (opts.rt[i].colormask & BITFIELD_MASK(comps)) != - BITFIELD_MASK(comps)) + if ((opts.rt[i].colormask & BITFIELD_MASK(comps)) != + BITFIELD_MASK(comps)) force_translucent = true; } @@ -2121,10 +2120,9 @@ agx_create_shader_state(struct pipe_context *pctx, return so; case PIPE_SHADER_FRAGMENT: - key.fs.nr_cbufs = 1; key.fs.nr_samples = 1; key.fs.blend.logicop_func = PIPE_LOGICOP_COPY; - for (unsigned i = 0; i < key.fs.nr_cbufs; ++i) { + for (unsigned i = 0; i < 1; ++i) { key.fs.rt_formats[i] = PIPE_FORMAT_R8G8B8A8_UNORM; key.fs.blend.rt[i].colormask = 0xF; @@ -2366,7 +2364,6 @@ agx_update_fs(struct agx_batch *batch) bool msaa = ctx->rast->base.multisample; struct asahi_fs_shader_key key = { - .nr_cbufs = batch->key.nr_cbufs, .cull_distance_size = ctx->stage[MESA_SHADER_VERTEX].shader->info.cull_distance_size, .clip_plane_enable = ctx->rast->base.clip_plane_enable, @@ -2377,7 +2374,7 @@ agx_update_fs(struct agx_batch *batch) msaa && (~ctx->sample_mask & BITFIELD_MASK(nr_samples)), }; - for (unsigned i = 0; i < key.nr_cbufs; ++i) { + for (unsigned i = 0; i < batch->key.nr_cbufs; ++i) { struct pipe_surface *surf = batch->key.cbufs[i]; key.rt_formats[i] = surf ? surf->format : PIPE_FORMAT_NONE; diff --git a/src/gallium/drivers/asahi/agx_state.h b/src/gallium/drivers/asahi/agx_state.h index a023718fbca..ffd2438381e 100644 --- a/src/gallium/drivers/asahi/agx_state.h +++ b/src/gallium/drivers/asahi/agx_state.h @@ -382,7 +382,6 @@ struct asahi_vs_shader_key { struct asahi_fs_shader_key { struct agx_blend blend; - unsigned nr_cbufs; /* Set if glSampleMask() is used with a mask other than all-1s. If not, we * don't want to emit lowering code for it, since it would disable early-Z.