diff --git a/src/amd/common/ac_nir_lower_tess_io_to_mem.c b/src/amd/common/ac_nir_lower_tess_io_to_mem.c index 1f7e7548c59..93f05a1dce2 100644 --- a/src/amd/common/ac_nir_lower_tess_io_to_mem.c +++ b/src/amd/common/ac_nir_lower_tess_io_to_mem.c @@ -544,6 +544,10 @@ lower_hs_output_load(nir_builder *b, return nir_extract_bits(b, &var, 1, component * bit_size, num_components, bit_size); } + /* If an output is not stored by the shader, replace the output load by undef. */ + if (!tcs_output_needs_lds(intrin, b->shader, st)) + return nir_undef(b, intrin->def.num_components, intrin->def.bit_size); + nir_def *off = hs_output_lds_offset(b, st, intrin); return nir_load_shared(b, intrin->def.num_components, intrin->def.bit_size, off); }