diff --git a/src/microsoft/compiler/dxil_nir_tess.c b/src/microsoft/compiler/dxil_nir_tess.c index 6c2adec4297..96ef792dcbb 100644 --- a/src/microsoft/compiler/dxil_nir_tess.c +++ b/src/microsoft/compiler/dxil_nir_tess.c @@ -48,9 +48,13 @@ remove_hs_intrinsics(nir_function_impl *impl) if (instr->type != nir_instr_type_intrinsic) continue; nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); - if (intr->intrinsic != nir_intrinsic_store_output && - !is_memory_barrier_tcs_patch(intr)) + if (intr->intrinsic == nir_intrinsic_load_output) { + nir_builder b = nir_builder_at(nir_before_instr(&intr->instr)); + nir_def_rewrite_uses(&intr->def, nir_undef(&b, intr->def.num_components, intr->def.bit_size)); + } else if (intr->intrinsic != nir_intrinsic_store_output && + !is_memory_barrier_tcs_patch(intr)) { continue; + } nir_instr_remove(instr); } }