From 09320705f071545648b1dbda50ee37a6cd48c0bf Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 3 Apr 2023 12:45:11 -0400 Subject: [PATCH] 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: --- src/gallium/drivers/zink/zink_program.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/zink/zink_program.c b/src/gallium/drivers/zink/zink_program.c index f1b22f8..b0a8042 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; } -- 2.7.4