Renderer/ShaderAst: Fix compilation errors on Linux
This commit is contained in:
parent
bd8a3ba47d
commit
f0a7430d34
|
|
@ -51,7 +51,7 @@ namespace Nz
|
|||
Float4, // vec4
|
||||
Mat4x4, // mat4
|
||||
|
||||
None // void
|
||||
Void // void
|
||||
};
|
||||
|
||||
enum class VariableType
|
||||
|
|
|
|||
|
|
@ -58,8 +58,8 @@ namespace Nz
|
|||
}
|
||||
|
||||
inline Variable::Variable(VariableType varKind, ExpressionType varType) :
|
||||
kind(varKind),
|
||||
type(varType)
|
||||
type(varType),
|
||||
kind(varKind)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,29 +16,39 @@ namespace Nz { namespace ShaderBuilder
|
|||
template<ShaderAst::AssignType op>
|
||||
struct AssignOpBuilder
|
||||
{
|
||||
constexpr AssignOpBuilder() = default;
|
||||
|
||||
std::shared_ptr<ShaderAst::AssignOp> operator()(const ShaderAst::VariablePtr& left, const ShaderAst::ExpressionPtr& right) const;
|
||||
};
|
||||
|
||||
template<ShaderAst::BinaryType op>
|
||||
struct BinOpBuilder
|
||||
{
|
||||
constexpr BinOpBuilder() = default;
|
||||
|
||||
std::shared_ptr<ShaderAst::BinaryOp> operator()(const ShaderAst::ExpressionPtr& left, const ShaderAst::ExpressionPtr& right) const;
|
||||
};
|
||||
|
||||
struct BuiltinBuilder
|
||||
{
|
||||
constexpr BuiltinBuilder() = default;
|
||||
|
||||
std::shared_ptr<ShaderAst::Variable> operator()(ShaderAst::BuiltinEntry builtin) const;
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
struct GenBuilder
|
||||
{
|
||||
constexpr GenBuilder() = default;
|
||||
|
||||
template<typename... Args> std::shared_ptr<T> operator()(Args&&... args) const;
|
||||
};
|
||||
|
||||
template<ShaderAst::VariableType type>
|
||||
struct VarBuilder
|
||||
{
|
||||
constexpr VarBuilder() = default;
|
||||
|
||||
template<typename... Args> std::shared_ptr<ShaderAst::Variable> operator()(Args&&... args) const;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -64,6 +64,9 @@ namespace Nz
|
|||
|
||||
switch (kind)
|
||||
{
|
||||
case ShaderAst::VariableType::Builtin: //< Only there to make compiler happy
|
||||
break;
|
||||
|
||||
case ShaderAst::VariableType::Input:
|
||||
m_currentState->inputs.insert(std::make_pair(type, name));
|
||||
break;
|
||||
|
|
@ -288,6 +291,9 @@ namespace Nz
|
|||
{
|
||||
switch (type)
|
||||
{
|
||||
case ShaderAst::ExpressionType::Boolean:
|
||||
Append("bool");
|
||||
break;
|
||||
case ShaderAst::ExpressionType::Float1:
|
||||
Append("float");
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in New Issue