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