diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c index d331dfeaaa7..d5b8f835b91 100644 --- a/src/gallium/drivers/radeonsi/si_shader_nir.c +++ b/src/gallium/drivers/radeonsi/si_shader_nir.c @@ -157,6 +157,8 @@ void si_nir_scan_shader(const struct nir_shader *nir, assert(nir->info.stage == MESA_SHADER_VERTEX || nir->info.stage == MESA_SHADER_GEOMETRY || + nir->info.stage == MESA_SHADER_TESS_CTRL || + nir->info.stage == MESA_SHADER_TESS_EVAL || nir->info.stage == MESA_SHADER_FRAGMENT); info->processor = pipe_shader_type_from_mesa(nir->info.stage); diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp b/src/mesa/state_tracker/st_glsl_to_nir.cpp index 276450a64ac..5683dfcccce 100644 --- a/src/mesa/state_tracker/st_glsl_to_nir.cpp +++ b/src/mesa/state_tracker/st_glsl_to_nir.cpp @@ -675,7 +675,9 @@ st_finalize_nir(struct st_context *st, struct gl_program *prog, &nir->num_outputs, nir->info.stage); st_nir_fixup_varying_slots(st, &nir->outputs); - } else if (nir->info.stage == MESA_SHADER_GEOMETRY) { + } else if (nir->info.stage == MESA_SHADER_GEOMETRY || + nir->info.stage == MESA_SHADER_TESS_CTRL || + nir->info.stage == MESA_SHADER_TESS_EVAL) { sort_varyings(&nir->inputs); st_nir_assign_var_locations(&nir->inputs, &nir->num_inputs,