return module->shared.uniform_block_bindings;
}
+unsigned Compiler::get_n_clip_distances() const
+{
+ if(!compiled)
+ throw invalid_operation("Compiler::get_n_clip_distances");
+ auto i = find_member(module->stages, Stage::VERTEX, &Stage::type);
+ return (i!=module->stages.end() ? i->n_clip_distances : 0);
+}
+
const SourceMap &Compiler::get_source_map() const
{
return module->source_map;
{
if(mode==PROGRAM)
{
- LegacyConverter().apply(stage, features);
+ StructuralFeatureConverter().apply(stage, features);
+ QualifierConverter().apply(stage, features);
resolve(stage, RESOLVE_VARIABLES|RESOLVE_FUNCTIONS);
PrecisionConverter().apply(stage);
}