Add calls for DRG and reduce log spam

This commit is contained in:
FakeMichau
2023-12-13 18:06:02 +01:00
parent b90586e345
commit 4042caeca2
2 changed files with 49 additions and 1 deletions
+8 -1
View File
@@ -3,6 +3,7 @@
#include <format>
#include <dxgi.h>
#include <d3d11.h>
#include "../include/nvapi_interface.h"
#include "../include/d3d12.h"
#include "../include/nvapi.h"
@@ -12,7 +13,7 @@
namespace nvd {
extern "C" {
NvAPI_Status __cdecl placeholder() {
return Ok();
return Error(NVAPI_NO_IMPLEMENTATION);
}
static std::unordered_map<NvU32, void*> registry;
@@ -51,6 +52,12 @@ namespace nvd {
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_Mosaic_GetDisplayViewportsByResolution)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_SYS_GetDisplayDriverInfo)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_SYS_GetDriverAndBranchVersion)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_D3D_SetResourceHint)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_D3D_GetObjectHandleForResource)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_D3D11_IsNvShaderExtnOpCodeSupported)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_D3D11_BeginUAVOverlap)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_D3D11_EndUAVOverlap)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_D3D11_SetDepthBoundsTest)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_D3D12_GetRaytracingCaps)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_D3D12_IsNvShaderExtnOpCodeSupported)
INSERT_AND_RETURN_WHEN_EQUALS(NvAPI_D3D12_SetNvShaderExtnSlotSpaceLocalThread)
+41
View File
@@ -171,6 +171,47 @@ namespace nvd {
return Ok();
}
NvAPI_Status __cdecl NvAPI_D3D_GetObjectHandleForResource(IUnknown* invalid, IUnknown* pResource, NVDX_ObjectHandle* pHandle) {
*pHandle = (NVDX_ObjectHandle)pResource;
return Ok();
}
NvAPI_Status __cdecl NvAPI_D3D_SetResourceHint() {
return Error(NVAPI_NO_IMPLEMENTATION);
}
NvAPI_Status __cdecl NvAPI_D3D11_IsNvShaderExtnOpCodeSupported(IUnknown* invalid, NvU32 opCode, bool* pSupported) {
*pSupported = true;
return Ok();
}
NvAPI_Status __cdecl NvAPI_D3D11_BeginUAVOverlap(IUnknown* pDeviceOrContext) {
static bool logged = false;
if (!logged) {
logged = true;
return Ok();
}
else return NVAPI_OK; //return without logging
}
NvAPI_Status __cdecl NvAPI_D3D11_EndUAVOverlap(IUnknown* pDeviceOrContext) {
static bool logged = false;
if (!logged) {
logged = true;
return Ok();
}
else return NVAPI_OK; //return without logging
}
NvAPI_Status __cdecl NvAPI_D3D11_SetDepthBoundsTest(IUnknown* pDeviceOrContext) {
static bool logged = false;
if (!logged) {
logged = true;
return Ok();
}
else return NVAPI_OK; //return without logging
}
NvAPI_Status __cdecl NvAPI_D3D12_GetRaytracingCaps(IUnknown* invalid, NVAPI_D3D12_RAYTRACING_CAPS_TYPE type, void* pData, size_t dataSize) {
if (pData == nullptr)
return Error(NVAPI_INVALID_POINTER);