windowsapp: add gamemode.dll APIs

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index e27557f..079dc5a 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -1730,6 +1730,7 @@
 	$(RANLIB) $@
 
 %/libwindowsapp.a: lib-common/windowsapp.mri \
+		%/libgamemode.a \
 		%/libapi-ms-win-core-com-l1-1-1.a \
 		%/libapi-ms-win-core-com-l2-1-1.a \
 		%/libapi-ms-win-core-com-midlproxystub-l1-1-0.a \
diff --git a/mingw-w64-crt/Makefile.in b/mingw-w64-crt/Makefile.in
index 91b88c6..0d10b17 100644
--- a/mingw-w64-crt/Makefile.in
+++ b/mingw-w64-crt/Makefile.in
@@ -65555,6 +65555,7 @@
 	$(RANLIB) $@
 
 %/libwindowsapp.a: lib-common/windowsapp.mri \
+		%/libgamemode.a \
 		%/libapi-ms-win-core-com-l1-1-1.a \
 		%/libapi-ms-win-core-com-l2-1-1.a \
 		%/libapi-ms-win-core-com-midlproxystub-l1-1-0.a \
diff --git a/mingw-w64-crt/lib-common/gamemode.def b/mingw-w64-crt/lib-common/gamemode.def
new file mode 100644
index 0000000..9fb9681
--- /dev/null
+++ b/mingw-w64-crt/lib-common/gamemode.def
@@ -0,0 +1,7 @@
+LIBRARY gamemode.dll
+
+EXPORTS
+
+GetExpandedResourceExclusiveCpuCount
+HasExpandedResources
+ReleaseExclusiveCpuSets
diff --git a/mingw-w64-crt/lib-common/windowsapp.mri b/mingw-w64-crt/lib-common/windowsapp.mri
index f7e1775..003b7cc 100644
--- a/mingw-w64-crt/lib-common/windowsapp.mri
+++ b/mingw-w64-crt/lib-common/windowsapp.mri
@@ -1,4 +1,5 @@
 CREATE libwindowsapp.a
+ADDLIB libgamemode.a
 ADDLIB libapi-ms-win-core-com-l1-1-1.a
 ADDLIB libapi-ms-win-core-com-l2-1-1.a
 ADDLIB libapi-ms-win-core-com-midlproxystub-l1-1-0.a
diff --git a/mingw-w64-crt/lib32/gamemode.def b/mingw-w64-crt/lib32/gamemode.def
new file mode 100644
index 0000000..9a11ad6
--- /dev/null
+++ b/mingw-w64-crt/lib32/gamemode.def
@@ -0,0 +1,7 @@
+LIBRARY gamemode.dll
+
+EXPORTS
+
+GetExpandedResourceExclusiveCpuCount@4
+HasExpandedResources@4
+ReleaseExclusiveCpuSets@0
diff --git a/mingw-w64-headers/include/expandedresources.h b/mingw-w64-headers/include/expandedresources.h
new file mode 100644
index 0000000..fa9cb0d
--- /dev/null
+++ b/mingw-w64-headers/include/expandedresources.h
@@ -0,0 +1,20 @@
+/**
+ * This file is part of the mingw-w64 runtime package.
+ * No warranty is given; refer to the file DISCLAIMER within this package.
+ */
+#ifndef __EXPANDEDRESOURCES_H__
+#define __EXPANDEDRESOURCES_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+HRESULT WINAPI GetExpandedResourceExclusiveCpuCount(ULONG *exclusiveCpuCount);
+HRESULT WINAPI HasExpandedResources(BOOL *hasExpandedResources);
+HRESULT WINAPI ReleaseExclusiveCpuSets(VOID);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __EXPANDEDRESOURCES_H__ */