From f4a187bc8948a181897787a2aa4e1314466ee911 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 29 Jan 2024 16:40:34 -0400 Subject: [PATCH] asahi: allow bindful GS textures no longer merging GS so it's fine Signed-off-by: Alyssa Rosenzweig Part-of: --- .../drivers/asahi/agx_nir_lower_bindings.c | 18 +++--------------- src/gallium/drivers/asahi/agx_state.c | 11 +---------- 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/src/gallium/drivers/asahi/agx_nir_lower_bindings.c b/src/gallium/drivers/asahi/agx_nir_lower_bindings.c index 8c8f5103e0d..cd27e079a2d 100644 --- a/src/gallium/drivers/asahi/agx_nir_lower_bindings.c +++ b/src/gallium/drivers/asahi/agx_nir_lower_bindings.c @@ -23,27 +23,15 @@ */ /* - * We support the following merged shader stages: - * - * VS/GS - * VS/TCS - * TES/GS - * - * TCS and GS are always merged. So, we lower TCS and GS samplers to bindless - * and let VS and TES have exclusive binding table access. + * We only support VS/TCS merging, so we lower TCS samplers to bindless and let + * VS have exclusive binding table access. * * This could be optimized but it should be good enough for now. */ static bool agx_stage_needs_bindless(enum pipe_shader_type stage) { - switch (stage) { - case MESA_SHADER_TESS_CTRL: - case MESA_SHADER_GEOMETRY: - return true; - default: - return false; - } + return stage == MESA_SHADER_TESS_CTRL; } static bool diff --git a/src/gallium/drivers/asahi/agx_state.c b/src/gallium/drivers/asahi/agx_state.c index 872c8338eb2..514d92cda8e 100644 --- a/src/gallium/drivers/asahi/agx_state.c +++ b/src/gallium/drivers/asahi/agx_state.c @@ -611,16 +611,7 @@ agx_bind_sampler_states(struct pipe_context *pctx, enum pipe_shader_type shader, static enum pipe_shader_type merged_stage(struct agx_context *ctx, enum pipe_shader_type stage) { - switch (stage) { - case MESA_SHADER_VERTEX: - case MESA_SHADER_GEOMETRY: - return ctx->stage[PIPE_SHADER_TESS_EVAL].shader ? MESA_SHADER_TESS_EVAL - : MESA_SHADER_VERTEX; - case MESA_SHADER_TESS_CTRL: - return MESA_SHADER_VERTEX; - default: - return stage; - } + return stage == MESA_SHADER_TESS_CTRL ? MESA_SHADER_VERTEX : stage; } static enum agx_texture_dimension