#include "output.h"
#include "resolve.h"
#include "resources.h"
+#include "spirv.h"
#include "validate.h"
#undef interface
throw key_error(Stage::get_stage_name(stage_type));
}
+vector<UInt32> Compiler::get_combined_spirv() const
+{
+ if(!compiled)
+ throw invalid_operation("Compiler::get_combined_spirv");
+ SpirVGenerator gen;
+ gen.apply(*module);
+ return gen.get_code();
+}
+
const map<string, unsigned> &Compiler::get_vertex_attributes() const
{
if(!compiled)
resolve(stage, RESOLVE_VARIABLES|RESOLVE_FUNCTIONS);
PrecisionConverter().apply(stage);
}
+ else if(mode==SPIRV)
+ StructOrganizer().apply(stage);
// Collect bindings from all stages into the shared stage's maps
module->shared.texture_bindings.insert(stage.texture_bindings.begin(), stage.texture_bindings.end());