Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/jp7677/dxvk-nvapi.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJens Peters <jp7677@gmail.com>2022-06-06 19:51:25 +0300
committerJens Peters <jp7677@gmail.com>2022-06-08 20:57:18 +0300
commite394096f3d4f6e178953b3db17562db6ae7f2378 (patch)
tree3311481473ad4ee857cc21143d0c6b776b51a362 /src
parentaa83ae9be28fabdddb815614484ebb20349a20c7 (diff)
build: Use smaller compile units
Handle the nvapi static/global fields as extern which allows us to properly compile all cpp files separately. Move test declarations into header files for allowing separate cpp file compiling also for tests.
Diffstat (limited to 'src')
-rw-r--r--src/meson.build10
-rw-r--r--src/nvapi.cpp3
-rw-r--r--src/nvapi_d3d.cpp2
-rw-r--r--src/nvapi_d3d12.cpp2
-rw-r--r--src/nvapi_disp.cpp2
-rw-r--r--src/nvapi_drs.cpp7
-rw-r--r--src/nvapi_globals.cpp6
-rw-r--r--src/nvapi_globals.h11
-rw-r--r--src/nvapi_gpu.cpp2
-rw-r--r--src/nvapi_interface.cpp10
-rw-r--r--src/nvapi_static.h16
-rw-r--r--src/nvapi_sys.cpp2
12 files changed, 40 insertions, 33 deletions
diff --git a/src/meson.build b/src/meson.build
index e4648fe..cad67a3 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -14,6 +14,16 @@ nvapi_src = files([
'd3d/nvapi_d3d_instance.cpp',
'd3d11/nvapi_d3d11_device.cpp',
'd3d12/nvapi_d3d12_device.cpp',
+ 'nvapi_globals.cpp',
+ 'nvapi.cpp',
+ 'nvapi_d3d.cpp',
+ 'nvapi_d3d11.cpp',
+ 'nvapi_d3d12.cpp',
+ 'nvapi_disp.cpp',
+ 'nvapi_drs.cpp',
+ 'nvapi_gpu.cpp',
+ 'nvapi_mosaic.cpp',
+ 'nvapi_sys.cpp',
'nvapi_interface.cpp',
])
diff --git a/src/nvapi.cpp b/src/nvapi.cpp
index eaed5ae..8a3af7e 100644
--- a/src/nvapi.cpp
+++ b/src/nvapi.cpp
@@ -1,5 +1,5 @@
#include "nvapi_private.h"
-#include "nvapi_static.h"
+#include "nvapi_globals.h"
#include "util/util_statuscode.h"
#include "util/util_error.h"
#include "util/util_string.h"
@@ -7,6 +7,7 @@
#include "util/util_log.h"
#include "../version.h"
+static auto initializationMutex = std::mutex{};
extern "C" {
using namespace dxvk;
diff --git a/src/nvapi_d3d.cpp b/src/nvapi_d3d.cpp
index 92723f4..d0ff031 100644
--- a/src/nvapi_d3d.cpp
+++ b/src/nvapi_d3d.cpp
@@ -1,5 +1,5 @@
#include "nvapi_private.h"
-#include "nvapi_static.h"
+#include "nvapi_globals.h"
#include "util/util_statuscode.h"
extern "C" {
diff --git a/src/nvapi_d3d12.cpp b/src/nvapi_d3d12.cpp
index af30805..88714f6 100644
--- a/src/nvapi_d3d12.cpp
+++ b/src/nvapi_d3d12.cpp
@@ -1,5 +1,5 @@
#include "nvapi_private.h"
-#include "nvapi_static.h"
+#include "nvapi_globals.h"
#include "d3d12/nvapi_d3d12_device.h"
#include "util/util_statuscode.h"
#include "util/util_op_code.h"
diff --git a/src/nvapi_disp.cpp b/src/nvapi_disp.cpp
index 00f6d9b..020f9f7 100644
--- a/src/nvapi_disp.cpp
+++ b/src/nvapi_disp.cpp
@@ -1,5 +1,5 @@
#include "nvapi_private.h"
-#include "nvapi_static.h"
+#include "nvapi_globals.h"
#include "util/util_statuscode.h"
#include "util/util_string.h"
diff --git a/src/nvapi_drs.cpp b/src/nvapi_drs.cpp
index f382509..f5d399c 100644
--- a/src/nvapi_drs.cpp
+++ b/src/nvapi_drs.cpp
@@ -1,8 +1,11 @@
-#include "../inc/NvApiDriverSettings.c"
#include "nvapi_private.h"
-#include "nvapi_static.h"
+#include "../inc/NvApiDriverSettings.c"
#include "util/util_statuscode.h"
+static auto drs = 1U;
+static auto nvapiDrsSession = reinterpret_cast<NvDRSSessionHandle>(&drs);
+static auto nvapiDrsProfile = reinterpret_cast<NvDRSProfileHandle>(&drs);
+
extern "C" {
using namespace dxvk;
diff --git a/src/nvapi_globals.cpp b/src/nvapi_globals.cpp
new file mode 100644
index 0000000..12544c3
--- /dev/null
+++ b/src/nvapi_globals.cpp
@@ -0,0 +1,6 @@
+#include "nvapi_globals.h"
+
+uint64_t initializationCount = 0ULL;
+std::unique_ptr<dxvk::ResourceFactory> resourceFactory;
+std::unique_ptr<dxvk::NvapiAdapterRegistry> nvapiAdapterRegistry;
+std::unique_ptr<dxvk::NvapiD3dInstance> nvapiD3dInstance;
diff --git a/src/nvapi_globals.h b/src/nvapi_globals.h
new file mode 100644
index 0000000..025c1e8
--- /dev/null
+++ b/src/nvapi_globals.h
@@ -0,0 +1,11 @@
+#pragma once
+
+#include "nvapi_private.h"
+#include "resource_factory.h"
+#include "sysinfo/nvapi_adapter_registry.h"
+#include "d3d/nvapi_d3d_instance.h"
+
+extern uint64_t initializationCount;
+extern std::unique_ptr<dxvk::ResourceFactory> resourceFactory;
+extern std::unique_ptr<dxvk::NvapiAdapterRegistry> nvapiAdapterRegistry;
+extern std::unique_ptr<dxvk::NvapiD3dInstance> nvapiD3dInstance;
diff --git a/src/nvapi_gpu.cpp b/src/nvapi_gpu.cpp
index 973cc67..bebf8f9 100644
--- a/src/nvapi_gpu.cpp
+++ b/src/nvapi_gpu.cpp
@@ -1,5 +1,5 @@
#include "nvapi_private.h"
-#include "nvapi_static.h"
+#include "nvapi_globals.h"
#include "util/util_statuscode.h"
#include "util/util_string.h"
diff --git a/src/nvapi_interface.cpp b/src/nvapi_interface.cpp
index 4e6e67c..bbb5a12 100644
--- a/src/nvapi_interface.cpp
+++ b/src/nvapi_interface.cpp
@@ -1,13 +1,5 @@
+#include "nvapi_private.h"
#include "../inc/nvapi_interface.h"
-#include "nvapi.cpp"
-#include "nvapi_sys.cpp"
-#include "nvapi_mosaic.cpp"
-#include "nvapi_disp.cpp"
-#include "nvapi_drs.cpp"
-#include "nvapi_gpu.cpp"
-#include "nvapi_d3d.cpp"
-#include "nvapi_d3d11.cpp"
-#include "nvapi_d3d12.cpp"
#include "util/util_string.h"
#include "util/util_log.h"
diff --git a/src/nvapi_static.h b/src/nvapi_static.h
deleted file mode 100644
index 8fc51a6..0000000
--- a/src/nvapi_static.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#pragma once
-
-#include "resource_factory.h"
-#include "sysinfo/nvapi_adapter_registry.h"
-#include "d3d/nvapi_d3d_instance.h"
-
-static std::unique_ptr<dxvk::ResourceFactory> resourceFactory;
-static std::unique_ptr<dxvk::NvapiAdapterRegistry> nvapiAdapterRegistry;
-static std::unique_ptr<dxvk::NvapiD3dInstance> nvapiD3dInstance;
-
-static uint32_t drs = 1;
-static NvDRSSessionHandle nvapiDrsSession = reinterpret_cast<NvDRSSessionHandle>(&drs);
-static NvDRSProfileHandle nvapiDrsProfile = reinterpret_cast<NvDRSProfileHandle>(&drs);
-
-static auto initializationMutex = std::mutex{};
-static auto initializationCount = 0ULL;
diff --git a/src/nvapi_sys.cpp b/src/nvapi_sys.cpp
index ab68442..3549d9e 100644
--- a/src/nvapi_sys.cpp
+++ b/src/nvapi_sys.cpp
@@ -1,5 +1,5 @@
#include "nvapi_private.h"
-#include "nvapi_static.h"
+#include "nvapi_globals.h"
#include "util/util_statuscode.h"
#include "../version.h"