From fdb9c919228bd337ee3d13fdb71163491b75499e Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 28 Mar 2023 18:46:02 -0400 Subject: [PATCH] zink: pass nir directly to zink_shader_tcs_create() Part-of: --- src/gallium/drivers/zink/zink_compiler.c | 4 ++-- src/gallium/drivers/zink/zink_compiler.h | 2 +- src/gallium/drivers/zink/zink_program.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 4dfde6d..64cd071 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -5077,7 +5077,7 @@ void main() */ struct zink_shader * -zink_shader_tcs_create(struct zink_screen *screen, struct zink_shader *vs, unsigned vertices_per_patch) +zink_shader_tcs_create(struct zink_screen *screen, nir_shader *vs, unsigned vertices_per_patch) { struct zink_shader *ret = rzalloc(NULL, struct zink_shader); util_queue_fence_init(&ret->precompile.fence); @@ -5096,7 +5096,7 @@ zink_shader_tcs_create(struct zink_screen *screen, struct zink_shader *vs, unsig nir_ssa_def *invocation_id = nir_load_invocation_id(&b); - nir_foreach_shader_out_variable(var, vs->nir) { + nir_foreach_shader_out_variable(var, vs) { const struct glsl_type *type = var->type; const struct glsl_type *in_type = var->type; const struct glsl_type *out_type = var->type; diff --git a/src/gallium/drivers/zink/zink_compiler.h b/src/gallium/drivers/zink/zink_compiler.h index af43f16..bf16e98 100644 --- a/src/gallium/drivers/zink/zink_compiler.h +++ b/src/gallium/drivers/zink/zink_compiler.h @@ -85,7 +85,7 @@ zink_shader_free(struct zink_screen *screen, struct zink_shader *shader); VkShaderModule zink_shader_tcs_compile(struct zink_screen *screen, struct zink_shader *zs, unsigned patch_vertices); struct zink_shader * -zink_shader_tcs_create(struct zink_screen *screen, struct zink_shader *vs, unsigned vertices_per_patch); +zink_shader_tcs_create(struct zink_screen *screen, nir_shader *vs, unsigned vertices_per_patch); static inline bool zink_shader_descriptor_is_buffer(struct zink_shader *zs, enum zink_descriptor_type type, unsigned i) diff --git a/src/gallium/drivers/zink/zink_program.c b/src/gallium/drivers/zink/zink_program.c index 91797e2..fcf9d80 100644 --- a/src/gallium/drivers/zink/zink_program.c +++ b/src/gallium/drivers/zink/zink_program.c @@ -1050,7 +1050,7 @@ zink_create_gfx_program(struct zink_context *ctx, if (stages[MESA_SHADER_TESS_EVAL] && !stages[MESA_SHADER_TESS_CTRL]) { prog->shaders[MESA_SHADER_TESS_EVAL]->non_fs.generated_tcs = prog->shaders[MESA_SHADER_TESS_CTRL] = - zink_shader_tcs_create(screen, stages[MESA_SHADER_VERTEX], vertices_per_patch); + zink_shader_tcs_create(screen, stages[MESA_SHADER_VERTEX]->nir, vertices_per_patch); prog->stages_present |= BITFIELD_BIT(MESA_SHADER_TESS_CTRL); } prog->stages_remaining = prog->stages_present; -- 2.7.4