summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>2023-04-03 12:45:11 -0400
committerMarge Bot <emma+marge@anholt.net>2023-04-04 11:29:01 +0000
commit09320705f071545648b1dbda50ee37a6cd48c0bf (patch)
treecc0d9e6fce24b85c142dad902d869225e59aec5b
parentb0cdd5a1d2733a9a8d124e379147a7f29be6d625 (diff)
zink: be explicit about separate shader dsl indexing during creation
this fixes a minor issue where a fs without a vs dsl would have the wrong index Fixes: e3b746e3a31 ("zink: use GPL to handle (simple) separate shader objects") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22269>
-rw-r--r--src/gallium/drivers/zink/zink_program.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gallium/drivers/zink/zink_program.c b/src/gallium/drivers/zink/zink_program.c
index f1b22f8151e..b0a8042efb3 100644
--- a/src/gallium/drivers/zink/zink_program.c
+++ b/src/gallium/drivers/zink/zink_program.c
@@ -1175,12 +1175,12 @@ create_gfx_program_separable(struct zink_context *ctx, struct zink_shader **stag
if (prog->shaders[MESA_SHADER_VERTEX]->precompile.dsl) {
prog->base.dd.binding_usage |= BITFIELD_BIT(0);
- prog->base.dsl[prog->base.num_dsl] = prog->shaders[MESA_SHADER_VERTEX]->precompile.dsl;
- prog->base.num_dsl++;
+ prog->base.dsl[0] = prog->shaders[MESA_SHADER_VERTEX]->precompile.dsl;
+ prog->base.num_dsl = 1;
}
if (prog->shaders[MESA_SHADER_FRAGMENT]->precompile.dsl) {
prog->base.dd.binding_usage |= BITFIELD_BIT(1);
- prog->base.dsl[prog->base.num_dsl] = prog->shaders[MESA_SHADER_FRAGMENT]->precompile.dsl;
+ prog->base.dsl[1] = prog->shaders[MESA_SHADER_FRAGMENT]->precompile.dsl;
/* guarantee a null dsl if vs doesn't have descriptors */
prog->base.num_dsl = 2;
}