They're allowed on buffer blocks as well, and std430 isn't allowed on
uniform blocks. Also recognize the packed qualifier.
allowed = (stage->type==Stage::TESS_EVAL && iface_layout && iface_layout->interface=="in");
value = false;
}
- else if(q.name=="std140" || q.name=="std430")
+ else if(q.name=="std140" || q.name=="packed")
{
- allowed = (iface_block && !variable && iface_block->interface=="uniform");
+ allowed = (iface_block && !variable && (iface_block->interface=="uniform" || iface_block->interface=="buffer"));
+ value = false;
+ err_descr = "non-uniform interface block";
+ }
+ else if(q.name=="std430")
+ {
+ allowed = (iface_block && !variable && iface_block->interface=="buffer");
value = false;
+ err_descr = "non-buffer interface block";
}
else if(q.name=="column_major" || q.name=="row_major")
{