diff options
author | Jens Peters <jp7677@gmail.com> | 2022-06-06 19:51:25 +0300 |
---|---|---|
committer | Jens Peters <jp7677@gmail.com> | 2022-06-08 20:57:18 +0300 |
commit | e394096f3d4f6e178953b3db17562db6ae7f2378 (patch) | |
tree | 3311481473ad4ee857cc21143d0c6b776b51a362 /src | |
parent | aa83ae9be28fabdddb815614484ebb20349a20c7 (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.build | 10 | ||||
-rw-r--r-- | src/nvapi.cpp | 3 | ||||
-rw-r--r-- | src/nvapi_d3d.cpp | 2 | ||||
-rw-r--r-- | src/nvapi_d3d12.cpp | 2 | ||||
-rw-r--r-- | src/nvapi_disp.cpp | 2 | ||||
-rw-r--r-- | src/nvapi_drs.cpp | 7 | ||||
-rw-r--r-- | src/nvapi_globals.cpp | 6 | ||||
-rw-r--r-- | src/nvapi_globals.h | 11 | ||||
-rw-r--r-- | src/nvapi_gpu.cpp | 2 | ||||
-rw-r--r-- | src/nvapi_interface.cpp | 10 | ||||
-rw-r--r-- | src/nvapi_static.h | 16 | ||||
-rw-r--r-- | src/nvapi_sys.cpp | 2 |
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" |