X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fprogramcompiler.h;h=d8b2608afe9b885a5e5b376761b80f1bed0d02c7;hp=7e8d3373a53e4ffcf028a218d99e420d1a9cd5a7;hb=8e14c298d9eaa47b81e27d5c25174bda958b445f;hpb=e9d5d1945f110d5307036af0d4b3f0c3ebfe3d2a diff --git a/source/programcompiler.h b/source/programcompiler.h index 7e8d3373..d8b2608a 100644 --- a/source/programcompiler.h +++ b/source/programcompiler.h @@ -225,11 +225,12 @@ private: typedef std::map ValueMap; const ValueMap *variable_values; + bool const_only; float result; bool result_valid; ExpressionEvaluator(); - ExpressionEvaluator(const ValueMap &); + ExpressionEvaluator(const ValueMap *, bool); using ProgramSyntax::NodeVisitor::visit; virtual void visit(ProgramSyntax::Literal &); @@ -242,6 +243,7 @@ private: struct ConstantConditionEliminator: BlockModifier { unsigned scope_level; + bool in_loop; ExpressionEvaluator::ValueMap variable_values; ConstantConditionEliminator(); @@ -361,6 +363,8 @@ private: bool supports_unified_sampling_functions() const; virtual void visit(ProgramSyntax::FunctionCall &); bool supports_interface_layouts() const; + bool supports_centroid_sampling() const; + bool supports_sample_sampling() const; virtual void visit(ProgramSyntax::VariableDeclaration &); bool supports_interface_blocks(const std::string &) const; virtual void visit(ProgramSyntax::InterfaceBlock &);