1+ #pragma once
2+ #include < string>
3+
4+ /* *
5+ * @brief Common strings and identifiers used internally by OptiScaler
6+ */
7+ namespace OptiKeys
8+ {
9+ using CString = const char [];
10+
11+ // Application name provided to upscalers
12+ inline constexpr CString ProjectID = " OptiScaler" ;
13+
14+ // ID code used for the Vulkan input provider
15+ inline constexpr CString VkProvider = " OptiVk" ;
16+ // ID code used for the DX11 input provider
17+ inline constexpr CString Dx11Provider = " OptiDx11" ;
18+ // ID code used for the DX12 input provider
19+ inline constexpr CString Dx12Provider = " OptiDx12" ;
20+
21+ inline constexpr CString FSR_UpscaleWidth = " FSR.upscaleSize.width" ;
22+ inline constexpr CString FSR_UpscaleHeight = " FSR.upscaleSize.height" ;
23+
24+ inline constexpr CString FSR_NearPlane = " FSR.cameraNear" ;
25+ inline constexpr CString FSR_FarPlane = " FSR.cameraFar" ;
26+ inline constexpr CString FSR_CameraFovVertical = " FSR.cameraFovAngleVertical" ;
27+ inline constexpr CString FSR_FrameTimeDelta = " FSR.frameTimeDelta" ;
28+ inline constexpr CString FSR_ViewSpaceToMetersFactor = " FSR.viewSpaceToMetersFactor" ;
29+ inline constexpr CString FSR_TransparencyAndComp = " FSR.transparencyAndComposition" ;
30+ inline constexpr CString FSR_Reactive = " FSR.reactive" ;
31+
32+ } // namespace OptiKeys
33+
34+ typedef enum API
35+ {
36+ NotSelected = 0 ,
37+ DX11,
38+ DX12,
39+ Vulkan,
40+ } API;
41+
42+ enum class Upscaler
43+ {
44+
45+ XeSS, // "xess", used for the XeSS upscaler backend
46+
47+ XeSS_11on12, // "xess_12", used for the XeSS upscaler backend used with the DirectX 11 on 12 compatibility
48+ // layer
49+
50+ FSR21, // "fsr21", used for the FSR 2.1.x upscaler backend
51+
52+ FSR21_11on12, // "fsr21_12", used for the FSR 2.1.x upscaler backend used with the DirectX 11 on 12
53+ // compatibility layer
54+
55+ FSR22, // "fsr22", used for the FSR 2.2.x upscaler backend
56+
57+ FSR22_11on12, // "fsr22_12", used for the FSR 2.2.x upscaler backend used with the DirectX 11 on 12
58+ // compatibility layer
59+
60+ FSR31, // "fsr31", used for the FSR 3.1+ upscaler backend
61+
62+ FSR31_11on12, // "fsr31_12", used for the FSR 3.1+ upscaler backend used with the DirectX 11 on 12
63+ // compatibility layer
64+
65+ DLSS, // "dlss", used for the DLSS upscaler backend
66+
67+ DLSSD, // "dlssd", used for the DLSS-D/Ray Reconstruction upscaler+denoiser backend
68+ Reset
69+ };
70+
71+ std::string UpscalerDisplayName (Upscaler upscaler, API api = API::NotSelected);
72+
73+ // Converts enum to the string codes for config
74+ std::string UpscalerToCode (Upscaler upscaler);
75+
76+ // Converts string codes into enum for config
77+ Upscaler CodeToUpscaler (const std::string& code);
0 commit comments