virtual void visit(ProgramSyntax::InterfaceLayout &) { kind = LAYOUT; }
virtual void visit(ProgramSyntax::StructDeclaration &) { kind = STRUCT; }
virtual void visit(ProgramSyntax::InterfaceLayout &) { kind = LAYOUT; }
virtual void visit(ProgramSyntax::StructDeclaration &) { kind = STRUCT; }
virtual void visit(ProgramSyntax::Block &);
virtual void visit(ProgramSyntax::UnaryExpression &);
virtual void visit(ProgramSyntax::BinaryExpression &);
virtual void visit(ProgramSyntax::Block &);
virtual void visit(ProgramSyntax::UnaryExpression &);
virtual void visit(ProgramSyntax::BinaryExpression &);
ExpressionEvaluator::ValueMap variable_values;
ConstantConditionEliminator();
using Visitor::visit;
virtual void visit(ProgramSyntax::Block &);
ExpressionEvaluator::ValueMap variable_values;
ConstantConditionEliminator();
using Visitor::visit;
virtual void visit(ProgramSyntax::Block &);
virtual void visit(ProgramSyntax::Assignment &);
virtual void visit(ProgramSyntax::VariableDeclaration &);
virtual void visit(ProgramSyntax::Conditional &);
virtual void visit(ProgramSyntax::Assignment &);
virtual void visit(ProgramSyntax::VariableDeclaration &);
virtual void visit(ProgramSyntax::Conditional &);
using Visitor::visit;
virtual void visit(ProgramSyntax::Block &);
virtual void visit(ProgramSyntax::VariableDeclaration &);
using Visitor::visit;
virtual void visit(ProgramSyntax::Block &);
virtual void visit(ProgramSyntax::VariableDeclaration &);
bool supports_unified_sampling_functions() const;
virtual void visit(ProgramSyntax::FunctionCall &);
bool supports_interface_layouts() const;
bool supports_unified_sampling_functions() const;
virtual void visit(ProgramSyntax::FunctionCall &);
bool supports_interface_layouts() const;
virtual void visit(ProgramSyntax::VariableDeclaration &);
bool supports_interface_blocks(const std::string &) const;
virtual void visit(ProgramSyntax::InterfaceBlock &);
};
Resources *resources;
virtual void visit(ProgramSyntax::VariableDeclaration &);
bool supports_interface_blocks(const std::string &) const;
virtual void visit(ProgramSyntax::InterfaceBlock &);
};
Resources *resources;
void compile(const std::string &, const std::string & = "<string>");
void compile(IO::Base &, Resources * = 0, const std::string & = "<file>");
void compile(const std::string &, const std::string & = "<string>");
void compile(IO::Base &, Resources * = 0, const std::string & = "<file>");
static ProgramSyntax::Module *create_builtins_module();
static ProgramSyntax::Module &get_builtins_module();
static ProgramSyntax::Stage *get_builtins(ProgramSyntax::StageType);
static ProgramSyntax::Module *create_builtins_module();
static ProgramSyntax::Module &get_builtins_module();
static ProgramSyntax::Stage *get_builtins(ProgramSyntax::StageType);