Fix compilation

This commit is contained in:
Jérôme Leclercq
2021-12-21 14:45:53 +01:00
parent 837b72f68e
commit e497faabaf
3 changed files with 6 additions and 9 deletions

View File

@@ -39,13 +39,13 @@ Nz::ShaderAst::NodePtr CastVec<ToComponentCount>::BuildNode(Nz::ShaderAst::Expre
}
else if (ToComponentCount < fromComponentCount)
{
std::array<Nz::ShaderAst::SwizzleComponent, ToComponentCount> swizzleComponents;
std::array<Nz::UInt32, ToComponentCount> swizzleComponents;
for (std::size_t i = 0; i < ToComponentCount; ++i)
swizzleComponents[i] = static_cast<Nz::ShaderAst::SwizzleComponent>(static_cast<std::size_t>(Nz::ShaderAst::SwizzleComponent::First) + i);
swizzleComponents[i] = Nz::SafeCast<Nz::UInt32>(i);
return std::apply([&](auto... components)
{
std::initializer_list<Nz::ShaderAst::SwizzleComponent> componentList{ components... };
std::initializer_list<Nz::UInt32> componentList{ components... };
return Nz::ShaderBuilder::Swizzle(std::move(expressions[0]), componentList);
}, swizzleComponents);
}

View File

@@ -21,10 +21,7 @@ Nz::ShaderAst::NodePtr VecDecomposition::BuildNode(Nz::ShaderAst::ExpressionPtr*
assert(count == 1);
assert(outputIndex < m_outputs.size());
using namespace Nz;
ShaderAst::SwizzleComponent swizzleComponent = static_cast<ShaderAst::SwizzleComponent>(Nz::UnderlyingCast(ShaderAst::SwizzleComponent::First) + outputIndex);
return ShaderBuilder::Swizzle(std::move(expressions[0]), { swizzleComponent });
return Nz::ShaderBuilder::Swizzle(std::move(expressions[0]), { Nz::SafeCast<Nz::UInt32>(outputIndex) });
}
QString VecDecomposition::caption() const