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
diff options
context:
space:
mode:
-rw-r--r--src/d3d/lfx.cpp15
-rw-r--r--src/d3d/lfx.h3
2 files changed, 12 insertions, 6 deletions
diff --git a/src/d3d/lfx.cpp b/src/d3d/lfx.cpp
index 99abae2..e7da893 100644
--- a/src/d3d/lfx.cpp
+++ b/src/d3d/lfx.cpp
@@ -27,12 +27,10 @@ namespace dxvk {
return;
}
- m_lfx_WaitAndBeginFrame = reinterpret_cast<PFN_lfx_WaitAndBeginFrame>(reinterpret_cast<void*>(
- GetProcAddress(m_lfxModule,
- !useFallbackEntrypoints ? "lfx_WaitAndBeginFrame" : "winelfx_WaitAndBeginFrame")));
- m_lfx_SetTargetFrameTime = reinterpret_cast<PFN_lfx_SetTargetFrameTime>(reinterpret_cast<void*>(
- GetProcAddress(m_lfxModule,
- !useFallbackEntrypoints ? "lfx_SetTargetFrameTime" : "winelfx_SetTargetFrameTime")));
+ m_lfx_WaitAndBeginFrame = GetProcAddress<PFN_lfx_WaitAndBeginFrame>(
+ !useFallbackEntrypoints ? "lfx_WaitAndBeginFrame" : "winelfx_WaitAndBeginFrame");
+ m_lfx_SetTargetFrameTime = GetProcAddress<PFN_lfx_SetTargetFrameTime>(
+ !useFallbackEntrypoints ? "lfx_SetTargetFrameTime" : "winelfx_SetTargetFrameTime");
}
Lfx::~Lfx() {
@@ -56,4 +54,9 @@ namespace dxvk {
if (m_lfx_SetTargetFrameTime)
m_lfx_SetTargetFrameTime(static_cast<__int64>(frame_time_ns));
}
+
+ template <typename T>
+ T Lfx::GetProcAddress(const char* name) {
+ return reinterpret_cast<T>(reinterpret_cast<void*>(::GetProcAddress(m_lfxModule, name)));
+ }
} \ No newline at end of file
diff --git a/src/d3d/lfx.h b/src/d3d/lfx.h
index f0b1954..ae21d72 100644
--- a/src/d3d/lfx.h
+++ b/src/d3d/lfx.h
@@ -19,5 +19,8 @@ namespace dxvk {
HMODULE m_lfxModule{};
PFN_lfx_WaitAndBeginFrame m_lfx_WaitAndBeginFrame{};
PFN_lfx_SetTargetFrameTime m_lfx_SetTargetFrameTime{};
+
+ template <typename T>
+ T GetProcAddress(const char* name);
};
} \ No newline at end of file