From ba8868be241fc660b244c8c6509599af799f8ac6 Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Sun, 21 Aug 2022 18:35:16 +0000 Subject: [PATCH] [util] Add win32 compat header Header of misc. stubs and re-implementations. --- src/util/util_win32_compat.h | 59 ++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/util/util_win32_compat.h diff --git a/src/util/util_win32_compat.h b/src/util/util_win32_compat.h new file mode 100644 index 000000000..41eaf9c61 --- /dev/null +++ b/src/util/util_win32_compat.h @@ -0,0 +1,59 @@ +#pragma once + +#if defined(__linux__) + +#include +#include + +#include "log/log.h" + +inline HMODULE LoadLibraryA(LPCSTR lpLibFileName) { + return dlopen(lpLibFileName, RTLD_NOW); +} + +inline void CloseLibrary(HMODULE module) { + dlclose(module); +} + +inline void* GetProcAddress(HMODULE module, LPCSTR lpProcName) { + return dlsym(module, lpProcName); +} + +inline HANDLE CreateSemaphoreA( + SECURITY_ATTRIBUTES* lpSemaphoreAttributes, + LONG lInitialCount, + LONG lMaximumCount, + LPCSTR lpName) { + dxvk::Logger::warn("CreateSemaphoreA not implemented."); + return nullptr; +} +#define CreateSemaphore CreateSemaphoreA + +inline BOOL ReleaseSemaphore( + HANDLE hSemaphore, + LONG lReleaseCount, + LONG* lpPreviousCount) { + dxvk::Logger::warn("ReleaseSemaphore not implemented."); + return FALSE; +} + +inline BOOL SetEvent(HANDLE hEvent) { + dxvk::Logger::warn("SetEvent not implemented."); + return FALSE; +} + +inline BOOL CloseHandle(HANDLE hObject) { + dxvk::Logger::warn("CloseHandle not implemented."); + return FALSE; +} + +inline HDC CreateCompatibleDC(HDC hdc) { + dxvk::Logger::warn("CreateCompatibleDC not implemented."); + return nullptr; +} + +inline BOOL DeleteDC(HDC hdc) { + return FALSE; +} + +#endif