diff --git a/src/compiler/nir/nir_range_analysis.c b/src/compiler/nir/nir_range_analysis.c index d021f4a5f12..115787b2527 100644 --- a/src/compiler/nir/nir_range_analysis.c +++ b/src/compiler/nir/nir_range_analysis.c @@ -1305,6 +1305,12 @@ nir_unsigned_upper_bound(nir_shader *shader, struct hash_table *range_ht, config->max_work_group_count[scalar.comp]) - 1u; } break; + case nir_intrinsic_load_invocation_id: + if (shader->info.stage == MESA_SHADER_TESS_CTRL) + res = shader->info.tess.tcs_vertices_out + ? (shader->info.tess.tcs_vertices_out - 1) + : 511; /* Generous maximum output patch size of 512 */ + break; case nir_intrinsic_load_subgroup_invocation: case nir_intrinsic_first_invocation: case nir_intrinsic_mbcnt_amd: