diff options
-rw-r--r-- | src/compiler/spirv/vtn_private.h | 1 | ||||
-rw-r--r-- | src/compiler/spirv/vtn_variables.c | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/compiler/spirv/vtn_private.h b/src/compiler/spirv/vtn_private.h index 6f34f09ebd2..47579fe0fb9 100644 --- a/src/compiler/spirv/vtn_private.h +++ b/src/compiler/spirv/vtn_private.h @@ -279,6 +279,7 @@ struct vtn_variable { unsigned descriptor_set; unsigned binding; + unsigned input_attachment_index; nir_variable *var; nir_variable **members; diff --git a/src/compiler/spirv/vtn_variables.c b/src/compiler/spirv/vtn_variables.c index c064de8d683..14366dc321d 100644 --- a/src/compiler/spirv/vtn_variables.c +++ b/src/compiler/spirv/vtn_variables.c @@ -1027,6 +1027,9 @@ var_decoration_cb(struct vtn_builder *b, struct vtn_value *val, int member, case SpvDecorationDescriptorSet: vtn_var->descriptor_set = dec->literals[0]; return; + case SpvDecorationInputAttachmentIndex: + vtn_var->input_attachment_index = dec->literals[0]; + return; default: break; } @@ -1335,6 +1338,7 @@ vtn_handle_variables(struct vtn_builder *b, SpvOp opcode, */ var->var->data.binding = var->binding; var->var->data.descriptor_set = var->descriptor_set; + var->var->data.index = var->input_attachment_index; if (var->mode == vtn_variable_mode_image) var->var->data.image.format = without_array->image_format; |