diff --git a/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.c b/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.c index 878783fd3f3..89203d01964 100644 --- a/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.c +++ b/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.c @@ -215,6 +215,13 @@ spirv_builder_emit_decoration(struct spirv_builder *b, SpvId target, emit_decoration(b, target, decoration, NULL, 0); } +void +spirv_builder_emit_input_attachment_index(struct spirv_builder *b, SpvId target, uint32_t id) +{ + uint32_t args[] = { id }; + emit_decoration(b, target, SpvDecorationInputAttachmentIndex, args, ARRAY_SIZE(args)); +} + void spirv_builder_emit_specid(struct spirv_builder *b, SpvId target, uint32_t id) { diff --git a/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.h b/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.h index 6ad3064ced6..d18c101b394 100644 --- a/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.h +++ b/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.h @@ -89,6 +89,9 @@ void spirv_builder_emit_decoration(struct spirv_builder *b, SpvId target, SpvDecoration decoration); +void +spirv_builder_emit_input_attachment_index(struct spirv_builder *b, SpvId target, uint32_t id); + void spirv_builder_emit_specid(struct spirv_builder *b, SpvId target, uint32_t id);