1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-01-22 05:52:11 +01:00
dxvk/src/util/util_win32_compat.h

63 lines
1.3 KiB
C
Raw Normal View History

#pragma once
#if defined(__linux__)
#include <windows.h>
#include <dlfcn.h>
#include "log/log.h"
inline HMODULE LoadLibraryA(LPCSTR lpLibFileName) {
return dlopen(lpLibFileName, RTLD_NOW);
}
inline void FreeLibrary(HMODULE module) {
dlclose(module);
}
inline void* GetProcAddress(HMODULE module, LPCSTR lpProcName) {
if (!module)
return nullptr;
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