From 36120b950115e7aec8c2e76cce3ee4bd1ea22928 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Thu, 27 Aug 2020 20:24:27 +0200 Subject: [PATCH] Compilation fixes --- include/Nazara/Shader/SpirvPrinter.hpp | 2 +- src/Nazara/Shader/SpirvConstantCache.cpp | 10 ++++++---- src/Nazara/Shader/SpirvExpressionLoad.cpp | 6 +++--- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/include/Nazara/Shader/SpirvPrinter.hpp b/include/Nazara/Shader/SpirvPrinter.hpp index 101a49437..0b78fb978 100644 --- a/include/Nazara/Shader/SpirvPrinter.hpp +++ b/include/Nazara/Shader/SpirvPrinter.hpp @@ -23,7 +23,7 @@ namespace Nz SpirvPrinter(SpirvPrinter&&) = default; ~SpirvPrinter() = default; - std::string Print(const UInt32* codepoints, std::size_t count, const Settings& settings = Settings()); + std::string Print(const UInt32* codepoints, std::size_t count, const Settings& settings = {}); SpirvPrinter& operator=(const SpirvPrinter&) = default; SpirvPrinter& operator=(SpirvPrinter&&) = default; diff --git a/src/Nazara/Shader/SpirvConstantCache.cpp b/src/Nazara/Shader/SpirvConstantCache.cpp index db2bdb7ee..f885d67b8 100644 --- a/src/Nazara/Shader/SpirvConstantCache.cpp +++ b/src/Nazara/Shader/SpirvConstantCache.cpp @@ -501,14 +501,16 @@ namespace Nz if (!variable.debugName.empty()) debugInfos.Append(SpirvOp::OpName, resultId, variable.debugName); + const auto& var = variable; + constants.AppendVariadic(SpirvOp::OpVariable, [&](const auto& appender) { - appender(GetId(*variable.type)); + appender(GetId(*var.type)); appender(resultId); - appender(variable.storageClass); + appender(var.storageClass); - if (variable.initializer) - appender(GetId((*variable.initializer)->constant)); + if (var.initializer) + appender(GetId((*var.initializer)->constant)); }); } } diff --git a/src/Nazara/Shader/SpirvExpressionLoad.cpp b/src/Nazara/Shader/SpirvExpressionLoad.cpp index 00e7ad815..bd7c6cc55 100644 --- a/src/Nazara/Shader/SpirvExpressionLoad.cpp +++ b/src/Nazara/Shader/SpirvExpressionLoad.cpp @@ -22,7 +22,7 @@ namespace Nz return std::visit(overloaded { - [&](const Pointer& pointer) -> UInt32 + [this](const Pointer& pointer) -> UInt32 { UInt32 resultId = m_writer.AllocateResultId(); @@ -30,11 +30,11 @@ namespace Nz return resultId; }, - [&](const Value& value) -> UInt32 + [](const Value& value) -> UInt32 { return value.resultId; }, - [this](std::monostate) -> UInt32 + [](std::monostate) -> UInt32 { throw std::runtime_error("an internal error occurred"); }