asahi: allow bindful GS textures

no longer merging GS so it's fine

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616>
This commit is contained in:
Alyssa Rosenzweig
2024-01-29 16:40:34 -04:00
committed by Marge Bot
parent e13d001160
commit f4a187bc89
2 changed files with 4 additions and 25 deletions
@@ -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
+1 -10
View File
@@ -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