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: e3b746e3a3 ("zink: use GPL to handle (simple) separate shader objects")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22269>
This commit is contained in:
Mike Blumenkrantz
2023-04-03 12:45:11 -04:00
committed by Marge Bot
parent b0cdd5a1d2
commit 09320705f0
+3 -3
View File
@@ -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;
}