Make SpecialK happy

this should allow for using SpecialK to inject Reflex
This commit is contained in:
FakeMichau
2024-09-14 01:30:15 +02:00
parent 2a6516d1d3
commit e438ae5a95
3 changed files with 56 additions and 0 deletions
+35
View File
@@ -85,6 +85,13 @@ namespace nvd {
return Ok();
}
NvAPI_Status __cdecl NvAPI_GetPhysicalGPUsFromLogicalGPU(NvLogicalGpuHandle hLogicalGPU, NvPhysicalGpuHandle hPhysicalGPU[NVAPI_MAX_PHYSICAL_GPUS], NvU32 *pGpuCount) {
hPhysicalGPU[0] = nullptr;
*pGpuCount = 1;
return Ok();
}
NvAPI_Status __cdecl NvAPI_GetErrorMessage(NvAPI_Status status, NvAPI_ShortString szMsg) {
std::string error = fromErrorNr(status);
spdlog::error("NvAPI_GetErrorMessage gave this error: {}", error);
@@ -253,6 +260,14 @@ namespace nvd {
return Ok();
}
NvAPI_Status __cdecl NvAPI_Disp_GetHdrCapabilities(NvU32 displayId, NV_HDR_CAPABILITIES *pHdrCapabilities) {
return Ok();
}
NvAPI_Status __cdecl NvAPI_Disp_HdrColorControl(NvU32 displayId, NV_HDR_COLOR_DATA *pHdrColorData) {
return Ok();
}
NvAPI_Status __cdecl NvAPI_Mosaic_GetDisplayViewportsByResolution(NvU32 displayId, NvU32 srcWidth, NvU32 srcHeight, NV_RECT viewports[NV_MOSAIC_MAX_DISPLAYS], NvU8* bezelCorrected) {
for (int i = 0; i < NV_MOSAIC_MAX_DISPLAYS; i++) {
viewports[i].top = 0;
@@ -588,6 +603,26 @@ namespace nvd {
return Ok();
}
NvAPI_Status __cdecl NvAPI_SK_1(IUnknown* unknown) {
return Ok();
}
NvAPI_Status __cdecl NvAPI_SK_2(IUnknown* unknown) {
return Ok();
}
NvAPI_Status __cdecl NvAPI_SK_3(IUnknown* unknown) {
return Ok();
}
NvAPI_Status __cdecl NvAPI_SK_4(IUnknown* unknown) {
return Ok();
}
NvAPI_Status __cdecl NvAPI_SK_5(IUnknown* unknown) {
return Ok();
}
NvAPI_Status __cdecl NvAPI_Unload() {
lowlatency_ctx.unload();
return Ok();
+8
View File
@@ -40,6 +40,7 @@ namespace nvd {
NvAPI_Status __cdecl NvAPI_GetGPUIDfromPhysicalGPU(NvPhysicalGpuHandle hPhysicalGpu, NvU32* pGpuId);
NvAPI_Status __cdecl NvAPI_GetPhysicalGPUFromGPUID(NvU32 gpuId, NvPhysicalGpuHandle* pPhysicalGPU);
NvAPI_Status __cdecl NvAPI_GetPhysicalGPUsFromDisplay(NvDisplayHandle hNvDisp, NvPhysicalGpuHandle nvGPUHandle[NVAPI_MAX_PHYSICAL_GPUS], NvU32 *pGpuCount);
NvAPI_Status __cdecl NvAPI_GetPhysicalGPUsFromLogicalGPU(NvLogicalGpuHandle hLogicalGPU, NvPhysicalGpuHandle hPhysicalGPU[NVAPI_MAX_PHYSICAL_GPUS], NvU32 *pGpuCount);
NvAPI_Status __cdecl NvAPI_GetErrorMessage(NvAPI_Status status, NvAPI_ShortString szMsg);
NvAPI_Status __cdecl NvAPI_GPU_CudaEnumComputeCapableGpus(NV_COMPUTE_GPU_TOPOLOGY* pComputeTopo);
NvAPI_Status __cdecl NvAPI_GPU_GetConnectedDisplayIds(NvPhysicalGpuHandle handle, NV_GPU_DISPLAYIDS* displayIds, NvU32* displayCount, NvU32 flags);
@@ -55,6 +56,8 @@ namespace nvd {
NvAPI_Status __cdecl NvAPI_DISP_GetGDIPrimaryDisplayId(NvU32* displayId);
NvAPI_Status __cdecl NvAPI_Disp_SetOutputMode(NvU32 displayId, NV_DISPLAY_OUTPUT_MODE* pDisplayMode);
NvAPI_Status __cdecl NvAPI_Disp_GetOutputMode(NvU32 displayId, NV_DISPLAY_OUTPUT_MODE* pDisplayMode);
NvAPI_Status __cdecl NvAPI_Disp_GetHdrCapabilities(NvU32 displayId, NV_HDR_CAPABILITIES *pHdrCapabilities);
NvAPI_Status __cdecl NvAPI_Disp_HdrColorControl(NvU32 displayId, NV_HDR_COLOR_DATA *pHdrColorData);
NvAPI_Status __cdecl NvAPI_Mosaic_GetDisplayViewportsByResolution(NvU32 displayId, NvU32 srcWidth, NvU32 srcHeight, NV_RECT viewports[NV_MOSAIC_MAX_DISPLAYS], NvU8* bezelCorrected);
NvAPI_Status __cdecl NvAPI_SYS_GetDisplayDriverInfo(NV_DISPLAY_DRIVER_INFO* driverInfo);
NvAPI_Status __cdecl NvAPI_SYS_GetDriverAndBranchVersion(NvU32* pDriverVersion, NvAPI_ShortString szBuildBranchString);
@@ -88,6 +91,11 @@ namespace nvd {
NvAPI_Status __cdecl NvAPI_DRS_DestroySession(NvDRSSessionHandle session);
NvAPI_Status __cdecl NvAPI_Unknown_1(IUnknown* unknown, uint32_t* pMiscUnk);
NvAPI_Status __cdecl NvAPI_Vulkan_1(IUnknown* unknown);
NvAPI_Status __cdecl NvAPI_SK_1(IUnknown* unknown);
NvAPI_Status __cdecl NvAPI_SK_2(IUnknown* unknown);
NvAPI_Status __cdecl NvAPI_SK_3(IUnknown* unknown);
NvAPI_Status __cdecl NvAPI_SK_4(IUnknown* unknown);
NvAPI_Status __cdecl NvAPI_SK_5(IUnknown* unknown);
NvAPI_Status __cdecl NvAPI_Unload();
NvAPI_Status __cdecl Dummy_GetLatency(uint64_t* call_spot, uint64_t* waitTarget, uint64_t* latency, uint64_t* frameTime);
}
+13
View File
@@ -37,6 +37,11 @@ NVAPI_INTERFACE_TABLE additional_interface_table[] = {
{ "NvAPI_Diag_ReportCallReturn", 0x593e8644 },
{ "NvAPI_Unknown_1", 0xe9b009b9 },
{ "NvAPI_Vulkan_1", 0x17d13d6 },
{ "NvAPI_SK_1", 0x57f7caac },
{ "NvAPI_SK_2", 0x11104158 },
{ "NvAPI_SK_3", 0xe3795199 },
{ "NvAPI_SK_4", 0xdf0dfcdd },
{ "NvAPI_SK_5", 0x932ac8fb },
{ "Dummy_GetLatency", 0x21372137 }
};
@@ -81,6 +86,7 @@ namespace nvd {
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_GetGPUIDfromPhysicalGPU)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_GetPhysicalGPUFromGPUID)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_GetPhysicalGPUsFromDisplay)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_GetPhysicalGPUsFromLogicalGPU)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_GetErrorMessage)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_GPU_GetLogicalGpuInfo)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_GPU_GetConnectedDisplayIds)
@@ -96,6 +102,8 @@ namespace nvd {
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_DISP_GetGDIPrimaryDisplayId)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_Disp_SetOutputMode)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_Disp_GetOutputMode)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_Disp_GetHdrCapabilities)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_Disp_HdrColorControl)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_Mosaic_GetDisplayViewportsByResolution)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_SYS_GetDisplayDriverInfo)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_SYS_GetDriverAndBranchVersion)
@@ -129,6 +137,11 @@ namespace nvd {
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_DRS_DestroySession)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_Unknown_1)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_Vulkan_1)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_SK_1)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_SK_2)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_SK_3)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_SK_4)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_SK_5)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_Unload)
INSERT_AND_RETURN_WHEN_EQUALS(Dummy_GetLatency)