Module: Mesa
Branch: main
Commit: fdb9c919228bd337ee3d13fdb71163491b75499e
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fdb9c919228bd337ee3d13fdb71163491b75499e

Author: Mike Blumenkrantz <[email protected]>
Date:   Tue Mar 28 18:46:02 2023 -0400

zink: pass nir directly to zink_shader_tcs_create()

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22266>

---

 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 4dfde6de1e2..64cd0719966 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 af43f1679d5..bf16e98ed94 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 91797e28c1e..fcf9d807cc7 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;

Reply via email to