diff options
-rw-r--r-- | src/microsoft/compiler/nir_to_dxil.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/microsoft/compiler/nir_to_dxil.c b/src/microsoft/compiler/nir_to_dxil.c index d725a721095..37accd40253 100644 --- a/src/microsoft/compiler/nir_to_dxil.c +++ b/src/microsoft/compiler/nir_to_dxil.c @@ -3063,8 +3063,10 @@ emit_load_input_via_intrinsic(struct ntd_context *ctx, nir_intrinsic_instr *intr attr_at_vertex = var && var->data.interpolation == INTERP_MODE_FLAT; } - bool is_patch_constant = ctx->mod.shader_kind == DXIL_DOMAIN_SHADER && - intr->intrinsic == nir_intrinsic_load_input; + bool is_patch_constant = (ctx->mod.shader_kind == DXIL_DOMAIN_SHADER && + intr->intrinsic == nir_intrinsic_load_input) || + (ctx->mod.shader_kind == DXIL_HULL_SHADER && + intr->intrinsic == nir_intrinsic_load_output); bool is_output_control_point = intr->intrinsic == nir_intrinsic_load_per_vertex_output; unsigned opcode_val; @@ -4093,6 +4095,7 @@ emit_intrinsic(struct ntd_context *ctx, nir_intrinsic_instr *intr) return emit_get_ssbo_size(ctx, intr); case nir_intrinsic_load_input: case nir_intrinsic_load_per_vertex_input: + case nir_intrinsic_load_output: case nir_intrinsic_load_per_vertex_output: return emit_load_input_via_intrinsic(ctx, intr); case nir_intrinsic_store_output: |