spirv: Handle the InputAttachmentIndex decoration

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
Jason Ekstrand
2016-11-14 14:22:56 -08:00
parent 111d57e7d2
commit c54097cc48
2 changed files with 5 additions and 0 deletions

View File

@@ -279,6 +279,7 @@ struct vtn_variable {
unsigned descriptor_set;
unsigned binding;
unsigned input_attachment_index;
nir_variable *var;
nir_variable **members;

View File

@@ -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;