From 4f7436b74fd29e98e4159815a2ac9c7c9cb29ea3 Mon Sep 17 00:00:00 2001
From: Tobias Frisch <tfrisch@uni-koblenz.de>
Date: Thu, 20 Oct 2022 19:34:39 +0200
Subject: [PATCH] Fix build for Windows MSVC

Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de>
---
 config/lib/vma/vma.cpp                                 | 2 ++
 include/vkcv/PushConstants.hpp                         | 4 ++--
 modules/geometry/src/vkcv/geometry/Cylinder.cpp        | 2 ++
 modules/upscaling/lib/FidelityFX-FSR2                  | 2 +-
 modules/upscaling/src/vkcv/upscaling/FSR2Upscaling.cpp | 6 ++++++
 5 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/config/lib/vma/vma.cpp b/config/lib/vma/vma.cpp
index 307c27f0..1fc40eb1 100644
--- a/config/lib/vma/vma.cpp
+++ b/config/lib/vma/vma.cpp
@@ -1,7 +1,9 @@
 
 #ifndef NDEBUG
+#ifndef _DEBUG
 #define _DEBUG
 #endif
+#endif
 
 #ifndef _MSVC_LANG
 #ifdef __MINGW32__
diff --git a/include/vkcv/PushConstants.hpp b/include/vkcv/PushConstants.hpp
index 7ba083f6..4c577acb 100644
--- a/include/vkcv/PushConstants.hpp
+++ b/include/vkcv/PushConstants.hpp
@@ -137,7 +137,7 @@ namespace vkcv {
 	template <typename T>
 	PushConstants pushConstants(const T &value) {
 		auto pc = pushConstants<T>();
-		pc.template appendDrawcall(value);
+		pc.template appendDrawcall<T>(value);
 		return pc;
 	}
 
@@ -146,7 +146,7 @@ namespace vkcv {
 		auto pc = pushConstants<T>();
 
 		for (const T &value : values) {
-			if (!(pc.template appendDrawcall(value))) {
+			if (!(pc.template appendDrawcall<T>(value))) {
 				break;
 			}
 		}
diff --git a/modules/geometry/src/vkcv/geometry/Cylinder.cpp b/modules/geometry/src/vkcv/geometry/Cylinder.cpp
index 67b62f69..0583c4c1 100644
--- a/modules/geometry/src/vkcv/geometry/Cylinder.cpp
+++ b/modules/geometry/src/vkcv/geometry/Cylinder.cpp
@@ -1,6 +1,8 @@
 
 #include "vkcv/geometry/Cylinder.hpp"
 
+#include <numbers>
+
 namespace vkcv::geometry {
 	
 	Cylinder::Cylinder(const glm::vec3 &position, float height, float radius)
diff --git a/modules/upscaling/lib/FidelityFX-FSR2 b/modules/upscaling/lib/FidelityFX-FSR2
index 0ce4ff5c..59950a85 160000
--- a/modules/upscaling/lib/FidelityFX-FSR2
+++ b/modules/upscaling/lib/FidelityFX-FSR2
@@ -1 +1 @@
-Subproject commit 0ce4ff5c5a0210273be7e3085bb4b15d0590431c
+Subproject commit 59950a85247baa4e099537324912a1f0e3a7b5d5
diff --git a/modules/upscaling/src/vkcv/upscaling/FSR2Upscaling.cpp b/modules/upscaling/src/vkcv/upscaling/FSR2Upscaling.cpp
index 0478596d..5c85b566 100644
--- a/modules/upscaling/src/vkcv/upscaling/FSR2Upscaling.cpp
+++ b/modules/upscaling/src/vkcv/upscaling/FSR2Upscaling.cpp
@@ -3,10 +3,16 @@
 
 #include <cmath>
 
+#ifndef _MSVC_LANG
 #define FFX_GCC
+#endif
+
 #include <ffx_fsr2.h>
 #include <ffx_fsr2_vk.h>
+
+#ifdef FFX_GCC
 #undef FFX_GCC
+#endif
 
 namespace vkcv::upscaling {
 	
-- 
GitLab