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:
committed by
Marge Bot
parent
e13d001160
commit
f4a187bc89
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user