2
0

nvsdk_ngx_defs.h 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610
  1. /*
  2. * Copyright (c) 2018 NVIDIA CORPORATION. All rights reserved.
  3. *
  4. * NVIDIA Corporation and its licensors retain all intellectual property and proprietary
  5. * rights in and to this software, related documentation and any modifications thereto.
  6. * Any use, reproduction, disclosure or distribution of this software and related
  7. * documentation without an express license agreement from NVIDIA Corporation is strictly
  8. * prohibited.
  9. *
  10. * TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS*
  11. * AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED,
  12. * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
  13. * PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY
  14. * SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT
  15. * LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF
  16. * BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
  17. * INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF
  18. * SUCH DAMAGES.
  19. */
  20. #ifndef NVSDK_NGX_DEFS_H
  21. #define NVSDK_NGX_DEFS_H
  22. #pragma once
  23. #ifndef __cplusplus
  24. #include <stddef.h> // For size_t
  25. #include <stdbool.h>
  26. #include <wchar.h>
  27. #endif
  28. #ifdef __cplusplus
  29. extern "C"
  30. {
  31. #endif
  32. #ifdef __cplusplus
  33. #if defined(NVSDK_NGX) && defined(NV_WINDOWS)
  34. #define NVSDK_NGX_API extern "C" __declspec(dllexport)
  35. #else
  36. #define NVSDK_NGX_API extern "C"
  37. #endif
  38. #else
  39. #if defined(NVSDK_NGX) && defined(NV_WINDOWS)
  40. #define NVSDK_NGX_API __declspec(dllexport)
  41. #else
  42. #define NVSDK_NGX_API
  43. #endif
  44. #endif
  45. #ifdef __GNUC__
  46. #define NVSDK_CONV
  47. #else
  48. #define NVSDK_CONV __cdecl
  49. #endif
  50. #define NVSDK_NGX_ARRAY_LEN(a) (sizeof(a) / sizeof((a)[0]))
  51. // Version Notes:
  52. // Version 0x0000014:
  53. // * Added a logging callback that the app may pass in on init
  54. // * Added ability for the app to override the logging level
  55. // Version 0x0000015:
  56. // * Support multiple GPUs (bug 3270533)
  57. #define NVSDK_NGX_VERSION_API_MACRO 0x0000014 // NGX_VERSION_DOT 1.4.0
  58. typedef struct NVSDK_NGX_FeatureCommonInfo_Internal NVSDK_NGX_FeatureCommonInfo_Internal;
  59. typedef enum NVSDK_NGX_Version { NVSDK_NGX_Version_API = NVSDK_NGX_VERSION_API_MACRO } NVSDK_NGX_Version;
  60. typedef enum NVSDK_NGX_Result
  61. {
  62. NVSDK_NGX_Result_Success = 0x1,
  63. NVSDK_NGX_Result_Fail = 0xBAD00000,
  64. // Feature is not supported on current hardware
  65. NVSDK_NGX_Result_FAIL_FeatureNotSupported = NVSDK_NGX_Result_Fail | 1,
  66. // Platform error - for example - check d3d12 debug layer log for more information
  67. NVSDK_NGX_Result_FAIL_PlatformError = NVSDK_NGX_Result_Fail | 2,
  68. // Feature with given parameters already exists
  69. NVSDK_NGX_Result_FAIL_FeatureAlreadyExists = NVSDK_NGX_Result_Fail | 3,
  70. // Feature with provided handle does not exist
  71. NVSDK_NGX_Result_FAIL_FeatureNotFound = NVSDK_NGX_Result_Fail | 4,
  72. // Invalid parameter was provided
  73. NVSDK_NGX_Result_FAIL_InvalidParameter = NVSDK_NGX_Result_Fail | 5,
  74. // Provided buffer is too small, please use size provided by NVSDK_NGX_GetScratchBufferSize
  75. NVSDK_NGX_Result_FAIL_ScratchBufferTooSmall = NVSDK_NGX_Result_Fail | 6,
  76. // SDK was not initialized properly
  77. NVSDK_NGX_Result_FAIL_NotInitialized = NVSDK_NGX_Result_Fail | 7,
  78. // Unsupported format used for input/output buffers
  79. NVSDK_NGX_Result_FAIL_UnsupportedInputFormat = NVSDK_NGX_Result_Fail | 8,
  80. // Feature input/output needs RW access (UAV) (d3d11/d3d12 specific)
  81. NVSDK_NGX_Result_FAIL_RWFlagMissing = NVSDK_NGX_Result_Fail | 9,
  82. // Feature was created with specific input but none is provided at evaluation
  83. NVSDK_NGX_Result_FAIL_MissingInput = NVSDK_NGX_Result_Fail | 10,
  84. // Feature is not available on the system
  85. NVSDK_NGX_Result_FAIL_UnableToInitializeFeature = NVSDK_NGX_Result_Fail | 11,
  86. // NGX system libraries are old and need an update
  87. NVSDK_NGX_Result_FAIL_OutOfDate = NVSDK_NGX_Result_Fail | 12,
  88. // Feature requires more GPU memory than it is available on system
  89. NVSDK_NGX_Result_FAIL_OutOfGPUMemory = NVSDK_NGX_Result_Fail | 13,
  90. // Format used in input buffer(s) is not supported by feature
  91. NVSDK_NGX_Result_FAIL_UnsupportedFormat = NVSDK_NGX_Result_Fail | 14,
  92. // Path provided in InApplicationDataPath cannot be written to
  93. NVSDK_NGX_Result_FAIL_UnableToWriteToAppDataPath = NVSDK_NGX_Result_Fail | 15,
  94. // Unsupported parameter was provided (e.g. specific scaling factor is unsupported)
  95. NVSDK_NGX_Result_FAIL_UnsupportedParameter = NVSDK_NGX_Result_Fail | 16,
  96. // The feature or application was denied (contact NVIDIA for further details)
  97. NVSDK_NGX_Result_FAIL_Denied = NVSDK_NGX_Result_Fail | 17
  98. } NVSDK_NGX_Result;
  99. #define NVSDK_NGX_SUCCEED(value) (((value) & 0xFFF00000) != NVSDK_NGX_Result_Fail)
  100. #define NVSDK_NGX_FAILED(value) (((value) & 0xFFF00000) == NVSDK_NGX_Result_Fail)
  101. typedef enum NVSDK_NGX_Feature
  102. {
  103. NVSDK_NGX_Feature_Reserved0,
  104. NVSDK_NGX_Feature_SuperSampling,
  105. NVSDK_NGX_Feature_InPainting,
  106. NVSDK_NGX_Feature_ImageSuperResolution,
  107. NVSDK_NGX_Feature_SlowMotion,
  108. NVSDK_NGX_Feature_VideoSuperResolution,
  109. NVSDK_NGX_Feature_Reserved1,
  110. NVSDK_NGX_Feature_Reserved2,
  111. NVSDK_NGX_Feature_Reserved3,
  112. NVSDK_NGX_Feature_ImageSignalProcessing,
  113. NVSDK_NGX_Feature_DeepResolve,
  114. NVSDK_NGX_Feature_Reserved4,
  115. // New features go here
  116. NVSDK_NGX_Feature_Count,
  117. // These members are not strictly NGX features, but are
  118. // components of the NGX system, and it may sometimes
  119. // be useful to identify them using the same enum
  120. NVSDK_NGX_Feature_Reserved_SDK = 32764,
  121. NVSDK_NGX_Feature_Reserved_Core,
  122. NVSDK_NGX_Feature_Reserved_Unknown
  123. } NVSDK_NGX_Feature;
  124. //TODO create grayscale format (R32F?)
  125. typedef enum NVSDK_NGX_Buffer_Format
  126. {
  127. NVSDK_NGX_Buffer_Format_Unknown,
  128. NVSDK_NGX_Buffer_Format_RGB8UI,
  129. NVSDK_NGX_Buffer_Format_RGB16F,
  130. NVSDK_NGX_Buffer_Format_RGB32F,
  131. NVSDK_NGX_Buffer_Format_RGBA8UI,
  132. NVSDK_NGX_Buffer_Format_RGBA16F,
  133. NVSDK_NGX_Buffer_Format_RGBA32F,
  134. } NVSDK_NGX_Buffer_Format;
  135. typedef enum NVSDK_NGX_PerfQuality_Value
  136. {
  137. NVSDK_NGX_PerfQuality_Value_MaxPerf,
  138. NVSDK_NGX_PerfQuality_Value_Balanced,
  139. NVSDK_NGX_PerfQuality_Value_MaxQuality,
  140. // Extended PerfQuality modes
  141. NVSDK_NGX_PerfQuality_Value_UltraPerformance,
  142. NVSDK_NGX_PerfQuality_Value_UltraQuality,
  143. } NVSDK_NGX_PerfQuality_Value;
  144. typedef enum NVSDK_NGX_RTX_Value
  145. {
  146. NVSDK_NGX_RTX_Value_Off,
  147. NVSDK_NGX_RTX_Value_On,
  148. } NVSDK_NGX_RTX_Value;
  149. typedef enum NVSDK_NGX_DLSS_Mode
  150. {
  151. NVSDK_NGX_DLSS_Mode_Off, // use existing in-engine AA + upscale solution
  152. NVSDK_NGX_DLSS_Mode_DLSS_DLISP,
  153. NVSDK_NGX_DLSS_Mode_DLISP_Only, // use existing in-engine AA solution
  154. NVSDK_NGX_DLSS_Mode_DLSS, // DLSS will apply AA and upsample at the same time
  155. } NVSDK_NGX_DLSS_Mode;
  156. typedef struct NVSDK_NGX_Handle { unsigned int Id; } NVSDK_NGX_Handle;
  157. typedef enum NSDK_NGX_GPU_Arch
  158. {
  159. NVSDK_NGX_GPU_Arch_NotSupported = 0,
  160. // Match NvAPI's NV_GPU_ARCHITECTURE_ID values for GV100 and TU100 for
  161. // backwards compatibility with snippets built against NvAPI
  162. NVSDK_NGX_GPU_Arch_Volta = 0x0140,
  163. NVSDK_NGX_GPU_Arch_Turing = 0x0160,
  164. // Presumably something newer
  165. NVSDK_NGX_GPU_Arch_Unknown = 0x7FFFFFF
  166. } NVSDK_NGX_GPU_Arch;
  167. typedef enum NVSDK_NGX_DLSS_Feature_Flags
  168. {
  169. NVSDK_NGX_DLSS_Feature_Flags_IsInvalid = 1 << 31,
  170. NVSDK_NGX_DLSS_Feature_Flags_None = 0,
  171. NVSDK_NGX_DLSS_Feature_Flags_IsHDR = 1 << 0,
  172. NVSDK_NGX_DLSS_Feature_Flags_MVLowRes = 1 << 1,
  173. NVSDK_NGX_DLSS_Feature_Flags_MVJittered = 1 << 2,
  174. NVSDK_NGX_DLSS_Feature_Flags_DepthInverted = 1 << 3,
  175. NVSDK_NGX_DLSS_Feature_Flags_Reserved_0 = 1 << 4,
  176. NVSDK_NGX_DLSS_Feature_Flags_DoSharpening = 1 << 5,
  177. NVSDK_NGX_DLSS_Feature_Flags_AutoExposure = 1 << 6,
  178. } NVSDK_NGX_DLSS_Feature_Flags;
  179. typedef enum NVSDK_NGX_ToneMapperType
  180. {
  181. NVSDK_NGX_TONEMAPPER_STRING = 0,
  182. NVSDK_NGX_TONEMAPPER_REINHARD,
  183. NVSDK_NGX_TONEMAPPER_ONEOVERLUMA,
  184. NVSDK_NGX_TONEMAPPER_ACES,
  185. NVSDK_NGX_TONEMAPPERTYPE_NUM
  186. } NVSDK_NGX_ToneMapperType;
  187. typedef enum NVSDK_NGX_GBufferType
  188. {
  189. NVSDK_NGX_GBUFFER_ALBEDO = 0,
  190. NVSDK_NGX_GBUFFER_ROUGHNESS,
  191. NVSDK_NGX_GBUFFER_METALLIC,
  192. NVSDK_NGX_GBUFFER_SPECULAR,
  193. NVSDK_NGX_GBUFFER_SUBSURFACE,
  194. NVSDK_NGX_GBUFFER_NORMALS,
  195. NVSDK_NGX_GBUFFER_SHADINGMODELID, /* unique identifier for drawn object or how the object is drawn */
  196. NVSDK_NGX_GBUFFER_MATERIALID, /* unique identifier for material */
  197. NVSDK_NGX_GBUFFER_SPECULAR_ALBEDO,
  198. NVSDK_NGX_GBUFFER_INDIRECT_ALBEDO,
  199. NVSDK_NGX_GBUFFER_SPECULAR_MVEC,
  200. NVSDK_NGX_GBUFFER_DISOCCL_MASK,
  201. NVSDK_NGX_GBUFFERTYPE_NUM = 16
  202. } NVSDK_NGX_GBufferType;
  203. typedef struct NVSDK_NGX_Coordinates
  204. {
  205. unsigned int X;
  206. unsigned int Y;
  207. } NVSDK_NGX_Coordinates;
  208. typedef struct NVSDK_NGX_Dimensions
  209. {
  210. unsigned int Width;
  211. unsigned int Height;
  212. } NVSDK_NGX_Dimensions;
  213. typedef struct NVSDK_NGX_PathListInfo
  214. {
  215. #ifdef NV_WINDOWS
  216. wchar_t **Path;
  217. #else //NV_WINDOWS
  218. char **Path;
  219. #endif //NV_WINDOWS
  220. // Path-list length
  221. unsigned int Length;
  222. } NVSDK_NGX_PathListInfo;
  223. typedef enum NVSDK_NGX_Logging_Level
  224. {
  225. NVSDK_NGX_LOGGING_LEVEL_OFF = 0,
  226. NVSDK_NGX_LOGGING_LEVEL_ON,
  227. NVSDK_NGX_LOGGING_LEVEL_VERBOSE,
  228. NVSDK_NGX_LOGGING_LEVEL_NUM
  229. } NVSDK_NGX_Logging_Level;
  230. // A logging callback provided by the app to allow piping log lines back to the app.
  231. // Please take careful note of the signature and calling convention.
  232. // The callback must be able to be called from any thread.
  233. // It must also be fully thread-safe and any number of threads may call into it concurrently.
  234. // It must fully process message by the time it returns, and there is no guarantee that
  235. // message will still be valid or allocated after it returns.
  236. // message will be a null-terminated string and may contain multibyte characters.
  237. #if defined(__GNUC__) || defined(__clang__)
  238. typedef void NVSDK_CONV(*NVSDK_NGX_AppLogCallback)(const char* message, NVSDK_NGX_Logging_Level loggingLevel, NVSDK_NGX_Feature sourceComponent);
  239. #else
  240. typedef void(NVSDK_CONV* NVSDK_NGX_AppLogCallback)(const char* message, NVSDK_NGX_Logging_Level loggingLevel, NVSDK_NGX_Feature sourceComponent);
  241. #endif
  242. typedef struct NGSDK_NGX_LoggingInfo
  243. {
  244. // Fields below were introduced in SDK version 0x0000014
  245. // App-provided logging callback
  246. NVSDK_NGX_AppLogCallback LoggingCallback;
  247. // The minimum logging level to use. If this is higher
  248. // than the logging level otherwise configured, this will override
  249. // that logging level. Otherwise, that logging level will be used.
  250. NVSDK_NGX_Logging_Level MinimumLoggingLevel;
  251. // Whether or not to disable writing log lines to sinks other than the app log callback. This
  252. // may be useful if the app provides a logging callback. LoggingCallback must be non-null and point
  253. // to a valid logging callback if this is set to true.
  254. bool DisableOtherLoggingSinks;
  255. } NGSDK_NGX_LoggingInfo;
  256. typedef struct NVSDK_NGX_FeatureCommonInfo
  257. {
  258. // List of all paths in descending order of search sequence to locate a feature dll in, other than the default path - application folder.
  259. NVSDK_NGX_PathListInfo PathListInfo;
  260. // Used internally by NGX
  261. NVSDK_NGX_FeatureCommonInfo_Internal* InternalData; // Introduced in SDK version 0x0000013
  262. // Fields below were introduced in SDK version 0x0000014
  263. NGSDK_NGX_LoggingInfo LoggingInfo;
  264. } NVSDK_NGX_FeatureCommonInfo;
  265. typedef enum NVSDK_NGX_Resource_VK_Type
  266. {
  267. NVSDK_NGX_RESOURCE_VK_TYPE_VK_IMAGEVIEW,
  268. NVSDK_NGX_RESOURCE_VK_TYPE_VK_BUFFER
  269. } NVSDK_NGX_Resource_VK_Type;
  270. typedef enum NVSDK_NGX_Opt_Level
  271. {
  272. NVSDK_NGX_OPT_LEVEL_UNDEFINED = 0,
  273. NVSDK_NGX_OPT_LEVEL_DEBUG = 20,
  274. NVSDK_NGX_OPT_LEVEL_DEVELOP = 30,
  275. NVSDK_NGX_OPT_LEVEL_RELEASE = 40
  276. } NVSDK_NGX_Opt_Level;
  277. typedef enum NVSDK_NGX_EngineType
  278. {
  279. NVSDK_NGX_ENGINE_TYPE_CUSTOM = 0,
  280. NVSDK_NGX_ENGINE_TYPE_UNREAL,
  281. NVSDK_NGX_ENGINE_TYPE_UNITY,
  282. NVSDK_NGX_ENGINE_TYPE_OMNIVERSE,
  283. NVSDK_NGX_ENGINE_COUNT
  284. } NVSDK_NGX_EngineType;
  285. // Read-only parameters provided by NGX
  286. #define NVSDK_NGX_EParameter_Reserved00 "#\x00"
  287. #define NVSDK_NGX_EParameter_SuperSampling_Available "#\x01"
  288. #define NVSDK_NGX_EParameter_InPainting_Available "#\x02"
  289. #define NVSDK_NGX_EParameter_ImageSuperResolution_Available "#\x03"
  290. #define NVSDK_NGX_EParameter_SlowMotion_Available "#\x04"
  291. #define NVSDK_NGX_EParameter_VideoSuperResolution_Available "#\x05"
  292. #define NVSDK_NGX_EParameter_Reserved06 "#\x06"
  293. #define NVSDK_NGX_EParameter_Reserved07 "#\x07"
  294. #define NVSDK_NGX_EParameter_Reserved08 "#\x08"
  295. #define NVSDK_NGX_EParameter_ImageSignalProcessing_Available "#\x09"
  296. #define NVSDK_NGX_EParameter_ImageSuperResolution_ScaleFactor_2_1 "#\x0a"
  297. #define NVSDK_NGX_EParameter_ImageSuperResolution_ScaleFactor_3_1 "#\x0b"
  298. #define NVSDK_NGX_EParameter_ImageSuperResolution_ScaleFactor_3_2 "#\x0c"
  299. #define NVSDK_NGX_EParameter_ImageSuperResolution_ScaleFactor_4_3 "#\x0d"
  300. #define NVSDK_NGX_EParameter_NumFrames "#\x0e"
  301. #define NVSDK_NGX_EParameter_Scale "#\x0f"
  302. #define NVSDK_NGX_EParameter_Width "#\x10"
  303. #define NVSDK_NGX_EParameter_Height "#\x11"
  304. #define NVSDK_NGX_EParameter_OutWidth "#\x12"
  305. #define NVSDK_NGX_EParameter_OutHeight "#\x13"
  306. #define NVSDK_NGX_EParameter_Sharpness "#\x14"
  307. #define NVSDK_NGX_EParameter_Scratch "#\x15"
  308. #define NVSDK_NGX_EParameter_Scratch_SizeInBytes "#\x16"
  309. #define NVSDK_NGX_EParameter_EvaluationNode "#\x17" // valid since API 0x13 (replaced a deprecated param)
  310. #define NVSDK_NGX_EParameter_Input1 "#\x18"
  311. #define NVSDK_NGX_EParameter_Input1_Format "#\x19"
  312. #define NVSDK_NGX_EParameter_Input1_SizeInBytes "#\x1a"
  313. #define NVSDK_NGX_EParameter_Input2 "#\x1b"
  314. #define NVSDK_NGX_EParameter_Input2_Format "#\x1c"
  315. #define NVSDK_NGX_EParameter_Input2_SizeInBytes "#\x1d"
  316. #define NVSDK_NGX_EParameter_Color "#\x1e"
  317. #define NVSDK_NGX_EParameter_Color_Format "#\x1f"
  318. #define NVSDK_NGX_EParameter_Color_SizeInBytes "#\x20"
  319. #define NVSDK_NGX_EParameter_Albedo "#\x21"
  320. #define NVSDK_NGX_EParameter_Output "#\x22"
  321. #define NVSDK_NGX_EParameter_Output_Format "#\x23"
  322. #define NVSDK_NGX_EParameter_Output_SizeInBytes "#\x24"
  323. #define NVSDK_NGX_EParameter_Reset "#\x25"
  324. #define NVSDK_NGX_EParameter_BlendFactor "#\x26"
  325. #define NVSDK_NGX_EParameter_MotionVectors "#\x27"
  326. #define NVSDK_NGX_EParameter_Rect_X "#\x28"
  327. #define NVSDK_NGX_EParameter_Rect_Y "#\x29"
  328. #define NVSDK_NGX_EParameter_Rect_W "#\x2a"
  329. #define NVSDK_NGX_EParameter_Rect_H "#\x2b"
  330. #define NVSDK_NGX_EParameter_MV_Scale_X "#\x2c"
  331. #define NVSDK_NGX_EParameter_MV_Scale_Y "#\x2d"
  332. #define NVSDK_NGX_EParameter_Model "#\x2e"
  333. #define NVSDK_NGX_EParameter_Format "#\x2f"
  334. #define NVSDK_NGX_EParameter_SizeInBytes "#\x30"
  335. #define NVSDK_NGX_EParameter_ResourceAllocCallback "#\x31"
  336. #define NVSDK_NGX_EParameter_BufferAllocCallback "#\x32"
  337. #define NVSDK_NGX_EParameter_Tex2DAllocCallback "#\x33"
  338. #define NVSDK_NGX_EParameter_ResourceReleaseCallback "#\x34"
  339. #define NVSDK_NGX_EParameter_CreationNodeMask "#\x35"
  340. #define NVSDK_NGX_EParameter_VisibilityNodeMask "#\x36"
  341. #define NVSDK_NGX_EParameter_PreviousOutput "#\x37"
  342. #define NVSDK_NGX_EParameter_MV_Offset_X "#\x38"
  343. #define NVSDK_NGX_EParameter_MV_Offset_Y "#\x39"
  344. #define NVSDK_NGX_EParameter_Hint_UseFireflySwatter "#\x3a"
  345. #define NVSDK_NGX_EParameter_Resource_Width "#\x3b"
  346. #define NVSDK_NGX_EParameter_Resource_Height "#\x3c"
  347. #define NVSDK_NGX_EParameter_Depth "#\x3d"
  348. #define NVSDK_NGX_EParameter_DLSSOptimalSettingsCallback "#\x3e"
  349. #define NVSDK_NGX_EParameter_PerfQualityValue "#\x3f"
  350. #define NVSDK_NGX_EParameter_RTXValue "#\x40"
  351. #define NVSDK_NGX_EParameter_DLSSMode "#\x41"
  352. #define NVSDK_NGX_EParameter_DeepResolve_Available "#\x42"
  353. #define NVSDK_NGX_EParameter_Deprecated_43 "#\x43"
  354. #define NVSDK_NGX_EParameter_OptLevel "#\x44"
  355. #define NVSDK_NGX_EParameter_IsDevSnippetBranch "#\x45"
  356. #define NVSDK_NGX_Parameter_OptLevel "Snippet.OptLevel"
  357. #define NVSDK_NGX_Parameter_IsDevSnippetBranch "Snippet.IsDevBranch"
  358. #define NVSDK_NGX_Parameter_SuperSampling_ScaleFactor "SuperSampling.ScaleFactor"
  359. #define NVSDK_NGX_Parameter_ImageSignalProcessing_ScaleFactor "ImageSignalProcessing.ScaleFactor"
  360. #define NVSDK_NGX_Parameter_SuperSampling_Available "SuperSampling.Available"
  361. #define NVSDK_NGX_Parameter_InPainting_Available "InPainting.Available"
  362. #define NVSDK_NGX_Parameter_ImageSuperResolution_Available "ImageSuperResolution.Available"
  363. #define NVSDK_NGX_Parameter_SlowMotion_Available "SlowMotion.Available"
  364. #define NVSDK_NGX_Parameter_VideoSuperResolution_Available "VideoSuperResolution.Available"
  365. #define NVSDK_NGX_Parameter_ImageSignalProcessing_Available "ImageSignalProcessing.Available"
  366. #define NVSDK_NGX_Parameter_DeepResolve_Available "DeepResolve.Available"
  367. #define NVSDK_NGX_Parameter_SuperSampling_NeedsUpdatedDriver "SuperSampling.NeedsUpdatedDriver"
  368. #define NVSDK_NGX_Parameter_InPainting_NeedsUpdatedDriver "InPainting.NeedsUpdatedDriver"
  369. #define NVSDK_NGX_Parameter_ImageSuperResolution_NeedsUpdatedDriver "ImageSuperResolution.NeedsUpdatedDriver"
  370. #define NVSDK_NGX_Parameter_SlowMotion_NeedsUpdatedDriver "SlowMotion.NeedsUpdatedDriver"
  371. #define NVSDK_NGX_Parameter_VideoSuperResolution_NeedsUpdatedDriver "VideoSuperResolution.NeedsUpdatedDriver"
  372. #define NVSDK_NGX_Parameter_ImageSignalProcessing_NeedsUpdatedDriver "ImageSignalProcessing.NeedsUpdatedDriver"
  373. #define NVSDK_NGX_Parameter_DeepResolve_NeedsUpdatedDriver "DeepResolve.NeedsUpdatedDriver"
  374. #define NVSDK_NGX_Parameter_FrameInterpolation_NeedsUpdatedDriver "FrameInterpolation.NeedsUpdatedDriver"
  375. #define NVSDK_NGX_Parameter_SuperSampling_MinDriverVersionMajor "SuperSampling.MinDriverVersionMajor"
  376. #define NVSDK_NGX_Parameter_InPainting_MinDriverVersionMajor "InPainting.MinDriverVersionMajor"
  377. #define NVSDK_NGX_Parameter_ImageSuperResolution_MinDriverVersionMajor "ImageSuperResolution.MinDriverVersionMajor"
  378. #define NVSDK_NGX_Parameter_SlowMotion_MinDriverVersionMajor "SlowMotion.MinDriverVersionMajor"
  379. #define NVSDK_NGX_Parameter_VideoSuperResolution_MinDriverVersionMajor "VideoSuperResolution.MinDriverVersionMajor"
  380. #define NVSDK_NGX_Parameter_ImageSignalProcessing_MinDriverVersionMajor "ImageSignalProcessing.MinDriverVersionMajor"
  381. #define NVSDK_NGX_Parameter_DeepResolve_MinDriverVersionMajor "DeepResolve.MinDriverVersionMajor"
  382. #define NVSDK_NGX_Parameter_FrameInterpolation_MinDriverVersionMajor "FrameInterpolation.MinDriverVersionMajor"
  383. #define NVSDK_NGX_Parameter_SuperSampling_MinDriverVersionMinor "SuperSampling.MinDriverVersionMinor"
  384. #define NVSDK_NGX_Parameter_InPainting_MinDriverVersionMinor "InPainting.MinDriverVersionMinor"
  385. #define NVSDK_NGX_Parameter_ImageSuperResolution_MinDriverVersionMinor "ImageSuperResolution.MinDriverVersionMinor"
  386. #define NVSDK_NGX_Parameter_SlowMotion_MinDriverVersionMinor "SlowMotion.MinDriverVersionMinor"
  387. #define NVSDK_NGX_Parameter_VideoSuperResolution_MinDriverVersionMinor "VideoSuperResolution.MinDriverVersionMinor"
  388. #define NVSDK_NGX_Parameter_ImageSignalProcessing_MinDriverVersionMinor "ImageSignalProcessing.MinDriverVersionMinor"
  389. #define NVSDK_NGX_Parameter_DeepResolve_MinDriverVersionMinor "DeepResolve.MinDriverVersionMinor"
  390. #define NVSDK_NGX_Parameter_SuperSampling_FeatureInitResult "SuperSampling.FeatureInitResult"
  391. #define NVSDK_NGX_Parameter_InPainting_FeatureInitResult "InPainting.FeatureInitResult"
  392. #define NVSDK_NGX_Parameter_ImageSuperResolution_FeatureInitResult "ImageSuperResolution.FeatureInitResult"
  393. #define NVSDK_NGX_Parameter_SlowMotion_FeatureInitResult "SlowMotion.FeatureInitResult"
  394. #define NVSDK_NGX_Parameter_VideoSuperResolution_FeatureInitResult "VideoSuperResolution.FeatureInitResult"
  395. #define NVSDK_NGX_Parameter_ImageSignalProcessing_FeatureInitResult "ImageSignalProcessing.FeatureInitResult"
  396. #define NVSDK_NGX_Parameter_DeepResolve_FeatureInitResult "DeepResolve.FeatureInitResult"
  397. #define NVSDK_NGX_Parameter_FrameInterpolation_FeatureInitResult "FrameInterpolation.FeatureInitResult"
  398. #define NVSDK_NGX_Parameter_ImageSuperResolution_ScaleFactor_2_1 "ImageSuperResolution.ScaleFactor.2.1"
  399. #define NVSDK_NGX_Parameter_ImageSuperResolution_ScaleFactor_3_1 "ImageSuperResolution.ScaleFactor.3.1"
  400. #define NVSDK_NGX_Parameter_ImageSuperResolution_ScaleFactor_3_2 "ImageSuperResolution.ScaleFactor.3.2"
  401. #define NVSDK_NGX_Parameter_ImageSuperResolution_ScaleFactor_4_3 "ImageSuperResolution.ScaleFactor.4.3"
  402. #define NVSDK_NGX_Parameter_NumFrames "NumFrames"
  403. #define NVSDK_NGX_Parameter_Scale "Scale"
  404. #define NVSDK_NGX_Parameter_Width "Width"
  405. #define NVSDK_NGX_Parameter_Height "Height"
  406. #define NVSDK_NGX_Parameter_OutWidth "OutWidth"
  407. #define NVSDK_NGX_Parameter_OutHeight "OutHeight"
  408. #define NVSDK_NGX_Parameter_Sharpness "Sharpness"
  409. #define NVSDK_NGX_Parameter_Scratch "Scratch"
  410. #define NVSDK_NGX_Parameter_Scratch_SizeInBytes "Scratch.SizeInBytes"
  411. #define NVSDK_NGX_Parameter_Input1 "Input1"
  412. #define NVSDK_NGX_Parameter_Input1_Format "Input1.Format"
  413. #define NVSDK_NGX_Parameter_Input1_SizeInBytes "Input1.SizeInBytes"
  414. #define NVSDK_NGX_Parameter_Input2 "Input2"
  415. #define NVSDK_NGX_Parameter_Input2_Format "Input2.Format"
  416. #define NVSDK_NGX_Parameter_Input2_SizeInBytes "Input2.SizeInBytes"
  417. #define NVSDK_NGX_Parameter_Color "Color"
  418. #define NVSDK_NGX_Parameter_Color_Format "Color.Format"
  419. #define NVSDK_NGX_Parameter_Color_SizeInBytes "Color.SizeInBytes"
  420. #define NVSDK_NGX_Parameter_FI_Color1 "Color1"
  421. #define NVSDK_NGX_Parameter_FI_Color2 "Color2"
  422. #define NVSDK_NGX_Parameter_Albedo "Albedo"
  423. #define NVSDK_NGX_Parameter_Output "Output"
  424. #define NVSDK_NGX_Parameter_Output_SizeInBytes "Output.SizeInBytes"
  425. #define NVSDK_NGX_Parameter_FI_Output1 "Output1"
  426. #define NVSDK_NGX_Parameter_FI_Output2 "Output2"
  427. #define NVSDK_NGX_Parameter_FI_Output3 "Output3"
  428. #define NVSDK_NGX_Parameter_Reset "Reset"
  429. #define NVSDK_NGX_Parameter_BlendFactor "BlendFactor"
  430. #define NVSDK_NGX_Parameter_MotionVectors "MotionVectors"
  431. #define NVSDK_NGX_Parameter_FI_MotionVectors1 "MotionVectors1"
  432. #define NVSDK_NGX_Parameter_FI_MotionVectors2 "MotionVectors2"
  433. #define NVSDK_NGX_Parameter_Rect_X "Rect.X"
  434. #define NVSDK_NGX_Parameter_Rect_Y "Rect.Y"
  435. #define NVSDK_NGX_Parameter_Rect_W "Rect.W"
  436. #define NVSDK_NGX_Parameter_Rect_H "Rect.H"
  437. #define NVSDK_NGX_Parameter_MV_Scale_X "MV.Scale.X"
  438. #define NVSDK_NGX_Parameter_MV_Scale_Y "MV.Scale.Y"
  439. #define NVSDK_NGX_Parameter_Model "Model"
  440. #define NVSDK_NGX_Parameter_Format "Format"
  441. #define NVSDK_NGX_Parameter_SizeInBytes "SizeInBytes"
  442. #define NVSDK_NGX_Parameter_ResourceAllocCallback "ResourceAllocCallback"
  443. #define NVSDK_NGX_Parameter_BufferAllocCallback "BufferAllocCallback"
  444. #define NVSDK_NGX_Parameter_Tex2DAllocCallback "Tex2DAllocCallback"
  445. #define NVSDK_NGX_Parameter_ResourceReleaseCallback "ResourceReleaseCallback"
  446. #define NVSDK_NGX_Parameter_CreationNodeMask "CreationNodeMask"
  447. #define NVSDK_NGX_Parameter_VisibilityNodeMask "VisibilityNodeMask"
  448. #define NVSDK_NGX_Parameter_MV_Offset_X "MV.Offset.X"
  449. #define NVSDK_NGX_Parameter_MV_Offset_Y "MV.Offset.Y"
  450. #define NVSDK_NGX_Parameter_Hint_UseFireflySwatter "Hint.UseFireflySwatter"
  451. #define NVSDK_NGX_Parameter_Resource_Width "ResourceWidth"
  452. #define NVSDK_NGX_Parameter_Resource_Height "ResourceHeight"
  453. #define NVSDK_NGX_Parameter_Resource_OutWidth "ResourceOutWidth"
  454. #define NVSDK_NGX_Parameter_Resource_OutHeight "ResourceOutHeight"
  455. #define NVSDK_NGX_Parameter_Depth "Depth"
  456. #define NVSDK_NGX_Parameter_FI_Depth1 "Depth1"
  457. #define NVSDK_NGX_Parameter_FI_Depth2 "Depth2"
  458. #define NVSDK_NGX_Parameter_DLSSOptimalSettingsCallback "DLSSOptimalSettingsCallback"
  459. #define NVSDK_NGX_Parameter_DLSSGetStatsCallback "DLSSGetStatsCallback"
  460. #define NVSDK_NGX_Parameter_PerfQualityValue "PerfQualityValue"
  461. #define NVSDK_NGX_Parameter_RTXValue "RTXValue"
  462. #define NVSDK_NGX_Parameter_DLSSMode "DLSSMode"
  463. #define NVSDK_NGX_Parameter_FI_Mode "FIMode"
  464. #define NVSDK_NGX_Parameter_FI_OF_Preset "FIOFPreset"
  465. #define NVSDK_NGX_Parameter_FI_OF_GridSize "FIOFGridSize"
  466. #define NVSDK_NGX_Parameter_Jitter_Offset_X "Jitter.Offset.X"
  467. #define NVSDK_NGX_Parameter_Jitter_Offset_Y "Jitter.Offset.Y"
  468. #define NVSDK_NGX_Parameter_Denoise "Denoise"
  469. #define NVSDK_NGX_Parameter_TransparencyMask "TransparencyMask"
  470. #define NVSDK_NGX_Parameter_ExposureTexture "ExposureTexture" // a 1x1 texture containing the final exposure scale
  471. #define NVSDK_NGX_Parameter_DLSS_Feature_Create_Flags "DLSS.Feature.Create.Flags"
  472. #define NVSDK_NGX_Parameter_DLSS_Checkerboard_Jitter_Hack "DLSS.Checkerboard.Jitter.Hack"
  473. #define NVSDK_NGX_Parameter_GBuffer_Normals "GBuffer.Normals"
  474. #define NVSDK_NGX_Parameter_GBuffer_Albedo "GBuffer.Albedo"
  475. #define NVSDK_NGX_Parameter_GBuffer_Roughness "GBuffer.Roughness"
  476. #define NVSDK_NGX_Parameter_GBuffer_DiffuseAlbedo "GBuffer.DiffuseAlbedo"
  477. #define NVSDK_NGX_Parameter_GBuffer_SpecularAlbedo "GBuffer.SpecularAlbedo"
  478. #define NVSDK_NGX_Parameter_GBuffer_IndirectAlbedo "GBuffer.IndirectAlbedo"
  479. #define NVSDK_NGX_Parameter_GBuffer_SpecularMvec "GBuffer.SpecularMvec"
  480. #define NVSDK_NGX_Parameter_GBuffer_DisocclusionMask "GBuffer.DisocclusionMask"
  481. #define NVSDK_NGX_Parameter_GBuffer_Metallic "GBuffer.Metallic"
  482. #define NVSDK_NGX_Parameter_GBuffer_Specular "GBuffer.Specular"
  483. #define NVSDK_NGX_Parameter_GBuffer_Subsurface "GBuffer.Subsurface"
  484. #define NVSDK_NGX_Parameter_GBuffer_Normals "GBuffer.Normals"
  485. #define NVSDK_NGX_Parameter_GBuffer_ShadingModelId "GBuffer.ShadingModelId"
  486. #define NVSDK_NGX_Parameter_GBuffer_MaterialId "GBuffer.MaterialId"
  487. #define NVSDK_NGX_Parameter_GBuffer_Atrrib_8 "GBuffer.Attrib.8"
  488. #define NVSDK_NGX_Parameter_GBuffer_Atrrib_9 "GBuffer.Attrib.9"
  489. #define NVSDK_NGX_Parameter_GBuffer_Atrrib_10 "GBuffer.Attrib.10"
  490. #define NVSDK_NGX_Parameter_GBuffer_Atrrib_11 "GBuffer.Attrib.11"
  491. #define NVSDK_NGX_Parameter_GBuffer_Atrrib_12 "GBuffer.Attrib.12"
  492. #define NVSDK_NGX_Parameter_GBuffer_Atrrib_13 "GBuffer.Attrib.13"
  493. #define NVSDK_NGX_Parameter_GBuffer_Atrrib_14 "GBuffer.Attrib.14"
  494. #define NVSDK_NGX_Parameter_GBuffer_Atrrib_15 "GBuffer.Attrib.15"
  495. #define NVSDK_NGX_Parameter_TonemapperType "TonemapperType"
  496. #define NVSDK_NGX_Parameter_FreeMemOnReleaseFeature "FreeMemOnReleaseFeature"
  497. #define NVSDK_NGX_Parameter_MotionVectors3D "MotionVectors3D"
  498. #define NVSDK_NGX_Parameter_IsParticleMask "IsParticleMask"
  499. #define NVSDK_NGX_Parameter_AnimatedTextureMask "AnimatedTextureMask"
  500. #define NVSDK_NGX_Parameter_DepthHighRes "DepthHighRes"
  501. #define NVSDK_NGX_Parameter_Position_ViewSpace "Position.ViewSpace"
  502. #define NVSDK_NGX_Parameter_FrameTimeDeltaInMsec "FrameTimeDeltaInMsec"
  503. #define NVSDK_NGX_Parameter_RayTracingHitDistance "RayTracingHitDistance"
  504. #define NVSDK_NGX_Parameter_MotionVectorsReflection "MotionVectorsReflection"
  505. #define NVSDK_NGX_Parameter_DLSS_Enable_Output_Subrects "DLSS.Enable.Output.Subrects"
  506. #define NVSDK_NGX_Parameter_DLSS_Input_Color_Subrect_Base_X "DLSS.Input.Color.Subrect.Base.X"
  507. #define NVSDK_NGX_Parameter_DLSS_Input_Color_Subrect_Base_Y "DLSS.Input.Color.Subrect.Base.Y"
  508. #define NVSDK_NGX_Parameter_DLSS_Input_Depth_Subrect_Base_X "DLSS.Input.Depth.Subrect.Base.X"
  509. #define NVSDK_NGX_Parameter_DLSS_Input_Depth_Subrect_Base_Y "DLSS.Input.Depth.Subrect.Base.Y"
  510. #define NVSDK_NGX_Parameter_DLSS_Input_MV_SubrectBase_X "DLSS.Input.MV.Subrect.Base.X"
  511. #define NVSDK_NGX_Parameter_DLSS_Input_MV_SubrectBase_Y "DLSS.Input.MV.Subrect.Base.Y"
  512. #define NVSDK_NGX_Parameter_DLSS_Input_Translucency_SubrectBase_X "DLSS.Input.Translucency.Subrect.Base.X"
  513. #define NVSDK_NGX_Parameter_DLSS_Input_Translucency_SubrectBase_Y "DLSS.Input.Translucency.Subrect.Base.Y"
  514. #define NVSDK_NGX_Parameter_DLSS_Output_Subrect_Base_X "DLSS.Output.Subrect.Base.X"
  515. #define NVSDK_NGX_Parameter_DLSS_Output_Subrect_Base_Y "DLSS.Output.Subrect.Base.Y"
  516. #define NVSDK_NGX_Parameter_DLSS_Render_Subrect_Dimensions_Width "DLSS.Render.Subrect.Dimensions.Width"
  517. #define NVSDK_NGX_Parameter_DLSS_Render_Subrect_Dimensions_Height "DLSS.Render.Subrect.Dimensions.Height"
  518. #define NVSDK_NGX_Parameter_DLSS_Pre_Exposure "DLSS.Pre.Exposure"
  519. #define NVSDK_NGX_Parameter_DLSS_Exposure_Scale "DLSS.Exposure.Scale"
  520. #define NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_Mask "DLSS.Input.Bias.Current.Color.Mask"
  521. #define NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_SubrectBase_X "DLSS.Input.Bias.Current.Color.Subrect.Base.X"
  522. #define NVSDK_NGX_Parameter_DLSS_Input_Bias_Current_Color_SubrectBase_Y "DLSS.Input.Bias.Current.Color.Subrect.Base.Y"
  523. #define NVSDK_NGX_Parameter_DLSS_Indicator_Invert_Y_Axis "DLSS.Indicator.Invert.Y.Axis"
  524. #define NVSDK_NGX_Parameter_DLSS_Indicator_Invert_X_Axis "DLSS.Indicator.Invert.X.Axis"
  525. #define NVSDK_NGX_Parameter_DLSS_Get_Dynamic_Max_Render_Width "DLSS.Get.Dynamic.Max.Render.Width"
  526. #define NVSDK_NGX_Parameter_DLSS_Get_Dynamic_Max_Render_Height "DLSS.Get.Dynamic.Max.Render.Height"
  527. #define NVSDK_NGX_Parameter_DLSS_Get_Dynamic_Min_Render_Width "DLSS.Get.Dynamic.Min.Render.Width"
  528. #define NVSDK_NGX_Parameter_DLSS_Get_Dynamic_Min_Render_Height "DLSS.Get.Dynamic.Min.Render.Height"
  529. #ifdef __cplusplus
  530. } // extern "C"
  531. #endif
  532. #endif