blob: b06fb09680a948d08167a64bb126a50f7277af70 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
#include "nvapi_private.h"
#include "nvapi_static.h"
#include "util/util_statuscode.h"
#include "util/util_string.h"
extern "C" {
using namespace dxvk;
NvAPI_Status __cdecl NvAPI_Disp_GetHdrCapabilities(NvU32 displayId, NV_HDR_CAPABILITIES *pHdrCapabilities) {
constexpr auto n = "NvAPI_Disp_GetHdrCapabilities";
if (nvapiAdapterRegistry == nullptr)
return ApiNotInitialized(n);
if (pHdrCapabilities == nullptr)
return InvalidArgument(n);
if (pHdrCapabilities->version != NV_HDR_CAPABILITIES_VER1 && pHdrCapabilities->version != NV_HDR_CAPABILITIES_VER2)
return IncompatibleStructVersion(n);
// Report that HDR is not available
pHdrCapabilities->isST2084EotfSupported = false;
pHdrCapabilities->isTraditionalHdrGammaSupported = false;
pHdrCapabilities->isEdrSupported = false;
pHdrCapabilities->driverExpandDefaultHdrParameters = false;
pHdrCapabilities->isTraditionalSdrGammaSupported = false;
// pHdrCapabilities->display_data
if (pHdrCapabilities->version == NV_HDR_CAPABILITIES_VER2)
pHdrCapabilities->isDolbyVisionSupported = false;
// pHdrCapabilities->dv_static_metadata
return Ok(str::format(n, " ", displayId));
}
NvAPI_Status __cdecl NvAPI_DISP_GetDisplayIdByDisplayName(const char *displayName, NvU32 *displayId) {
constexpr auto n = "NvAPI_DISP_GetDisplayIdByDisplayName";
if (nvapiAdapterRegistry == nullptr)
return ApiNotInitialized(n);
if (displayName == nullptr || displayId == nullptr)
return InvalidArgument(n);
auto id = nvapiAdapterRegistry->GetOutputId(std::string(displayName));
if (id == -1)
return InvalidArgument(str::format(n, " ", displayName));
*displayId = id;
return Ok(str::format(n, " ", displayName));
}
NvAPI_Status __cdecl NvAPI_DISP_GetGDIPrimaryDisplayId(NvU32 *displayId) {
constexpr auto n = "NvAPI_DISP_GetGDIPrimaryDisplayId";
if (displayId == nullptr)
return InvalidArgument(n);
auto id = nvapiAdapterRegistry->GetPrimaryOutputId();
if (id == -1)
return NvidiaDeviceNotFound(n);
*displayId = id;
return Ok(n);
}
}
|