From 6c0571d498d3516e27aa1fb4bf2488e2fc6b5244 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Wed, 18 Jul 2018 21:00:21 -0700 Subject: Added Development configuration tests in Vulkan backend; fixed code formatting --- Primitives/interface/FormatMessage.h | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'Primitives/interface') diff --git a/Primitives/interface/FormatMessage.h b/Primitives/interface/FormatMessage.h index d0df1472..cde9669b 100644 --- a/Primitives/interface/FormatMessage.h +++ b/Primitives/interface/FormatMessage.h @@ -43,29 +43,35 @@ namespace Diligent FormatMsg( ss, RestArgs... ); // recursive call using pack expansion syntax } - - struct SizeFormatter + template + struct MemorySizeFormatter { - size_t size = 0; + Type size = 0; size_t precision = 0; - size_t ref_size = 0; + Type ref_size = 0; }; - template - void FormatMsg(SSType &ss, const SizeFormatter& Arg) + template + MemorySizeFormatter FormatMemorySize(Type _size, size_t _precision = 0, Type _ref_size = 0) + { + return MemorySizeFormatter{_size, _precision, _ref_size}; + } + + template + void FormatMsg(SSType& ss, const MemorySizeFormatter& Arg) { auto ref_size = Arg.ref_size != 0 ? Arg.ref_size : Arg.size; if (ref_size >= (1 << 30)) { - ss << std::fixed << std::setprecision(Arg.precision) << Arg.size / double{ 1 << 30 } << " GB"; + ss << std::fixed << std::setprecision(Arg.precision) << static_cast(Arg.size) / double{ 1 << 30 } << " GB"; } else if(ref_size >= (1 << 20)) { - ss << std::fixed << std::setprecision(Arg.precision) << Arg.size / double{ 1 << 20 } << " MB"; + ss << std::fixed << std::setprecision(Arg.precision) << static_cast(Arg.size) / double{ 1 << 20 } << " MB"; } else if (ref_size >= (1 << 10)) { - ss << std::fixed << std::setprecision(Arg.precision) << Arg.size / double{ 1 << 10 } << " KB"; + ss << std::fixed << std::setprecision(Arg.precision) << static_cast(Arg.size) / double{ 1 << 10 } << " KB"; } else { -- cgit v1.2.3