GLSL soucre). */
const std::map<std::string, unsigned> &get_fragment_outputs() const;
+ /** Returns a map of texture bindings. If the target GLSL version supports
+ bindings, the map is empty (bindings are included in the GLSL source). */
+ const std::map<std::string, unsigned> &get_texture_bindings() const;
+
+ /** Returns a map of uniform block bindings. If the target GLSL version
+ supports bindings, the map is empty (bindings are included in the GLSL
+ source). */
+ const std::map<std::string, unsigned> &get_uniform_block_bindings() const;
+
/** Returns the mapping of source indices to filenames. Can be used to
translate error messages. */
const SourceMap &get_source_map() const;
aspects as necessary. */
void resolve(Stage &, unsigned = RESOLVE_ALL);
- /** Checks the validity of the module. If the return value is false, the
- module's diagnostics list will contain additional information of errors. */
- bool validate(Stage &);
+ /** Runs validators on a stage. Diagnostic messages are recorded in the
+ stage for later inspection. */
+ void validate(Stage &);
+
+ /** Checks a stage's recorded diagnostics for errors. If any are found,
+ returns true. */
+ bool check_errors(Stage &);
static bool diagnostic_line_order(const Diagnostic &, const Diagnostic &);