@@ -6,42 +6,83 @@ pub struct _xefg_swapchain_handle_t {
66 _unused : [ u8 ; 0 ] ,
77}
88pub type xefg_swapchain_handle_t = * mut _xefg_swapchain_handle_t ;
9- #[ doc = " Resource is valid until the next present." ]
10- pub const XEFG_SWAPCHAIN_RV_UNTIL_NEXT_PRESENT : _xefg_swapchain_resource_validity_t = 0 ;
11- #[ doc = " Resource is only valid now." ]
12- pub const XEFG_SWAPCHAIN_RV_ONLY_NOW : _xefg_swapchain_resource_validity_t = 1 ;
13- #[ doc = " Resource is only valid now." ]
14- pub const XEFG_SWAPCHAIN_RV_COUNT : _xefg_swapchain_resource_validity_t = 2 ;
9+ #[ repr( i32 ) ]
1510#[ doc = " @brief Informs the library about the lifetime of the\n resource being provided. The library will take appropriate action based\n on this value to either make a copy of the resource or store a reference\n to it." ]
16- pub type _xefg_swapchain_resource_validity_t = :: std:: os:: raw:: c_int ;
11+ #[ derive( Debug , Copy , Clone , Hash , PartialEq , Eq ) ]
12+ pub enum _xefg_swapchain_resource_validity_t {
13+ #[ doc = " Resource is valid until the next present." ]
14+ RV_UNTIL_NEXT_PRESENT = 0 ,
15+ #[ doc = " Resource is only valid now." ]
16+ RV_ONLY_NOW = 1 ,
17+ #[ doc = " Resource is only valid now." ]
18+ RV_COUNT = 2 ,
19+ }
1720#[ doc = " @brief Informs the library about the lifetime of the\n resource being provided. The library will take appropriate action based\n on this value to either make a copy of the resource or store a reference\n to it." ]
1821pub use self :: _xefg_swapchain_resource_validity_t as xefg_swapchain_resource_validity_t;
19- #[ doc = " No flags are enabled." ]
20- pub const XEFG_SWAPCHAIN_INIT_FLAG_NONE : _xefg_swapchain_init_flags_t = 0 ;
21- #[ doc = " Use inverted (increased precision) depth encoding." ]
22- pub const XEFG_SWAPCHAIN_INIT_FLAG_INVERTED_DEPTH : _xefg_swapchain_init_flags_t = 1 ;
23- #[ doc = " Use external descriptor heap." ]
24- pub const XEFG_SWAPCHAIN_INIT_FLAG_EXTERNAL_DESCRIPTOR_HEAP : _xefg_swapchain_init_flags_t = 2 ;
25- #[ doc = " Deprecated. Setting this flag has no effect." ]
26- pub const XEFG_SWAPCHAIN_INIT_FLAG_HIGH_RES_MV : _xefg_swapchain_init_flags_t = 4 ;
27- #[ doc = " Use velocity in normalized device coordinates (NDC)." ]
28- pub const XEFG_SWAPCHAIN_INIT_FLAG_USE_NDC_VELOCITY : _xefg_swapchain_init_flags_t = 8 ;
29- #[ doc = " Remove jitter from input velocity." ]
30- pub const XEFG_SWAPCHAIN_INIT_FLAG_JITTERED_MV : _xefg_swapchain_init_flags_t = 16 ;
31- #[ doc = " UI texture rgb values are not premultiplied by its alpha value" ]
32- pub const XEFG_SWAPCHAIN_INIT_FLAG_UITEXTURE_NOT_PREMUL_ALPHA : _xefg_swapchain_init_flags_t = 32 ;
22+ impl _xefg_swapchain_init_flags_t {
23+ #[ doc = " No flags are enabled." ]
24+ pub const INIT_FLAG_NONE : _xefg_swapchain_init_flags_t = _xefg_swapchain_init_flags_t ( 0 ) ;
25+ #[ doc = " Use inverted (increased precision) depth encoding." ]
26+ pub const INIT_FLAG_INVERTED_DEPTH : _xefg_swapchain_init_flags_t =
27+ _xefg_swapchain_init_flags_t ( 1 ) ;
28+ #[ doc = " Use external descriptor heap." ]
29+ pub const INIT_FLAG_EXTERNAL_DESCRIPTOR_HEAP : _xefg_swapchain_init_flags_t =
30+ _xefg_swapchain_init_flags_t ( 2 ) ;
31+ #[ doc = " Deprecated. Setting this flag has no effect." ]
32+ pub const INIT_FLAG_HIGH_RES_MV : _xefg_swapchain_init_flags_t = _xefg_swapchain_init_flags_t ( 4 ) ;
33+ #[ doc = " Use velocity in normalized device coordinates (NDC)." ]
34+ pub const INIT_FLAG_USE_NDC_VELOCITY : _xefg_swapchain_init_flags_t =
35+ _xefg_swapchain_init_flags_t ( 8 ) ;
36+ #[ doc = " Remove jitter from input velocity." ]
37+ pub const INIT_FLAG_JITTERED_MV : _xefg_swapchain_init_flags_t =
38+ _xefg_swapchain_init_flags_t ( 16 ) ;
39+ #[ doc = " UI texture rgb values are not premultiplied by its alpha value" ]
40+ pub const INIT_FLAG_UITEXTURE_NOT_PREMUL_ALPHA : _xefg_swapchain_init_flags_t =
41+ _xefg_swapchain_init_flags_t ( 32 ) ;
42+ }
43+ impl :: std:: ops:: BitOr < _xefg_swapchain_init_flags_t > for _xefg_swapchain_init_flags_t {
44+ type Output = Self ;
45+ #[ inline]
46+ fn bitor ( self , other : Self ) -> Self {
47+ _xefg_swapchain_init_flags_t ( self . 0 | other. 0 )
48+ }
49+ }
50+ impl :: std:: ops:: BitOrAssign for _xefg_swapchain_init_flags_t {
51+ #[ inline]
52+ fn bitor_assign ( & mut self , rhs : _xefg_swapchain_init_flags_t ) {
53+ self . 0 |= rhs. 0 ;
54+ }
55+ }
56+ impl :: std:: ops:: BitAnd < _xefg_swapchain_init_flags_t > for _xefg_swapchain_init_flags_t {
57+ type Output = Self ;
58+ #[ inline]
59+ fn bitand ( self , other : Self ) -> Self {
60+ _xefg_swapchain_init_flags_t ( self . 0 & other. 0 )
61+ }
62+ }
63+ impl :: std:: ops:: BitAndAssign for _xefg_swapchain_init_flags_t {
64+ #[ inline]
65+ fn bitand_assign ( & mut self , rhs : _xefg_swapchain_init_flags_t ) {
66+ self . 0 &= rhs. 0 ;
67+ }
68+ }
69+ #[ repr( transparent) ]
3370#[ doc = " @brief XeSS-FG Swap Chain initialization flags." ]
34- pub type _xefg_swapchain_init_flags_t = :: std:: os:: raw:: c_int ;
71+ #[ derive( Debug , Copy , Clone , Hash , PartialEq , Eq ) ]
72+ pub struct _xefg_swapchain_init_flags_t ( pub :: std:: os:: raw:: c_int ) ;
3573#[ doc = " @brief XeSS-FG Swap Chain initialization flags." ]
3674pub use self :: _xefg_swapchain_init_flags_t as xefg_swapchain_init_flags_t;
37- pub const XEFG_SWAPCHAIN_RES_HUDLESS_COLOR : _xefg_swapchain_resource_type_t = 0 ;
38- pub const XEFG_SWAPCHAIN_RES_DEPTH : _xefg_swapchain_resource_type_t = 1 ;
39- pub const XEFG_SWAPCHAIN_RES_MOTION_VECTOR : _xefg_swapchain_resource_type_t = 2 ;
40- pub const XEFG_SWAPCHAIN_RES_UI : _xefg_swapchain_resource_type_t = 3 ;
41- pub const XEFG_SWAPCHAIN_RES_BACKBUFFER : _xefg_swapchain_resource_type_t = 4 ;
42- pub const XEFG_SWAPCHAIN_RES_COUNT : _xefg_swapchain_resource_type_t = 5 ;
75+ #[ repr( i32 ) ]
4376#[ doc = " @brief XeSS-FG Swap Chain resources type." ]
44- pub type _xefg_swapchain_resource_type_t = :: std:: os:: raw:: c_int ;
77+ #[ derive( Debug , Copy , Clone , Hash , PartialEq , Eq ) ]
78+ pub enum _xefg_swapchain_resource_type_t {
79+ RES_HUDLESS_COLOR = 0 ,
80+ RES_DEPTH = 1 ,
81+ RES_MOTION_VECTOR = 2 ,
82+ RES_UI = 3 ,
83+ RES_BACKBUFFER = 4 ,
84+ RES_COUNT = 5 ,
85+ }
4586#[ doc = " @brief XeSS-FG Swap Chain resources type." ]
4687pub use self :: _xefg_swapchain_resource_type_t as xefg_swapchain_resource_type_t;
4788#[ doc = " @brief XeSS-FG Swap Chain version.\n \n XeSS-FG Swap Chain uses major.minor.patch version format and Numeric 90+ scheme for development stage builds." ]
@@ -108,89 +149,97 @@ pub struct _xefg_swapchain_properties_t {
108149}
109150#[ doc = " @brief Properties for internal XeSS-FG Swap Chain resources." ]
110151pub type xefg_swapchain_properties_t = _xefg_swapchain_properties_t ;
111- #[ doc = " An old or outdated driver." ]
112- pub const XEFG_SWAPCHAIN_RESULT_WARNING_OLD_DRIVER : _xefg_swapchain_result_t = 2 ;
113- #[ doc = " Warning. Frame ID should be over 0." ]
114- pub const XEFG_SWAPCHAIN_RESULT_WARNING_TOO_FEW_FRAMES : _xefg_swapchain_result_t = 3 ;
115- #[ doc = " Warning. Data for interpolation came in wrong order." ]
116- pub const XEFG_SWAPCHAIN_RESULT_WARNING_FRAMES_ID_MISMATCH : _xefg_swapchain_result_t = 4 ;
117- #[ doc = " Warning. There is no present status for last present." ]
118- pub const XEFG_SWAPCHAIN_RESULT_WARNING_MISSING_PRESENT_STATUS : _xefg_swapchain_result_t = 5 ;
119- #[ doc = " Warning. Resource sizes for the interpolation doesn't match between previouse and next frames.\n Interpolation skipped." ]
120- pub const XEFG_SWAPCHAIN_RESULT_WARNING_RESOURCE_SIZES_MISMATCH : _xefg_swapchain_result_t = 6 ;
121- #[ doc = " Operation was successful." ]
122- pub const XEFG_SWAPCHAIN_RESULT_SUCCESS : _xefg_swapchain_result_t = 0 ;
123- #[ doc = " Operation not supported on the GPU." ]
124- pub const XEFG_SWAPCHAIN_RESULT_ERROR_UNSUPPORTED_DEVICE : _xefg_swapchain_result_t = -1 ;
125- #[ doc = " An unsupported driver." ]
126- pub const XEFG_SWAPCHAIN_RESULT_ERROR_UNSUPPORTED_DRIVER : _xefg_swapchain_result_t = -2 ;
127- #[ doc = " Execute called without initialization." ]
128- pub const XEFG_SWAPCHAIN_RESULT_ERROR_UNINITIALIZED : _xefg_swapchain_result_t = -3 ;
129- #[ doc = " Invalid argument were provided to the API call." ]
130- pub const XEFG_SWAPCHAIN_RESULT_ERROR_INVALID_ARGUMENT : _xefg_swapchain_result_t = -4 ;
131- #[ doc = " Not enough available GPU memory." ]
132- pub const XEFG_SWAPCHAIN_RESULT_ERROR_DEVICE_OUT_OF_MEMORY : _xefg_swapchain_result_t = -5 ;
133- #[ doc = " Device function such as resource or descriptor creation." ]
134- pub const XEFG_SWAPCHAIN_RESULT_ERROR_DEVICE : _xefg_swapchain_result_t = -6 ;
135- #[ doc = " The function is not implemented." ]
136- pub const XEFG_SWAPCHAIN_RESULT_ERROR_NOT_IMPLEMENTED : _xefg_swapchain_result_t = -7 ;
137- #[ doc = " Invalid context." ]
138- pub const XEFG_SWAPCHAIN_RESULT_ERROR_INVALID_CONTEXT : _xefg_swapchain_result_t = -8 ;
139- #[ doc = " Operation not finished yet." ]
140- pub const XEFG_SWAPCHAIN_RESULT_ERROR_OPERATION_IN_PROGRESS : _xefg_swapchain_result_t = -9 ;
141- #[ doc = " Operation not supported in current configuration." ]
142- pub const XEFG_SWAPCHAIN_RESULT_ERROR_UNSUPPORTED : _xefg_swapchain_result_t = -10 ;
143- #[ doc = " The library cannot be loaded." ]
144- pub const XEFG_SWAPCHAIN_RESULT_ERROR_CANT_LOAD_LIBRARY : _xefg_swapchain_result_t = -11 ;
145- #[ doc = " Input resources does not meet requirements based on UI Mode." ]
146- pub const XEFG_SWAPCHAIN_RESULT_ERROR_MISMATCH_INPUT_RESOURCES : _xefg_swapchain_result_t = -12 ;
147- #[ doc = " Output resources does not meet requirements." ]
148- pub const XEFG_SWAPCHAIN_RESULT_ERROR_INCORRECT_OUTPUT_RESOURCES : _xefg_swapchain_result_t = -13 ;
149- #[ doc = " Input is insufficient to evaluate interpolation." ]
150- pub const XEFG_SWAPCHAIN_RESULT_ERROR_INCORRECT_INPUT_RESOURCES : _xefg_swapchain_result_t = -14 ;
151- #[ doc = " Requirements regarding XeLL Latency Reduction are not met." ]
152- pub const XEFG_SWAPCHAIN_RESULT_ERROR_LATENCY_REDUCTION_UNSUPPORTED : _xefg_swapchain_result_t = -15 ;
153- #[ doc = " XeLL library does not contains required functions." ]
154- pub const XEFG_SWAPCHAIN_RESULT_ERROR_LATENCY_REDUCTION_FUNCTION_MISSING : _xefg_swapchain_result_t =
155- -16 ;
156- #[ doc = " One of the Windows functions has failed. For details, see the logs or debug layer." ]
157- pub const XEFG_SWAPCHAIN_RESULT_ERROR_HRESULT_FAILURE : _xefg_swapchain_result_t = -17 ;
158- #[ doc = " DXGI call failed with invalid call error." ]
159- pub const XEFG_SWAPCHAIN_RESULT_ERROR_DXGI_INVALID_CALL : _xefg_swapchain_result_t = -18 ;
160- #[ doc = " XeFG SwapChain pointer is still in use during destroy." ]
161- pub const XEFG_SWAPCHAIN_RESULT_ERROR_POINTER_STILL_IN_USE : _xefg_swapchain_result_t = -19 ;
162- #[ doc = " Invalid or missing descriptor heap." ]
163- pub const XEFG_SWAPCHAIN_RESULT_ERROR_INVALID_DESCRIPTOR_HEAP : _xefg_swapchain_result_t = -20 ;
164- #[ doc = " Call to function done in invalid order." ]
165- pub const XEFG_SWAPCHAIN_RESULT_ERROR_WRONG_CALL_ORDER : _xefg_swapchain_result_t = -21 ;
166- #[ doc = " Unknown internal failure" ]
167- pub const XEFG_SWAPCHAIN_RESULT_ERROR_UNKNOWN : _xefg_swapchain_result_t = -1000 ;
152+ #[ repr( i32 ) ]
168153#[ doc = " @brief XeSS-FG Swap Chain return codes." ]
169- pub type _xefg_swapchain_result_t = :: std:: os:: raw:: c_int ;
154+ #[ derive( Debug , Copy , Clone , Hash , PartialEq , Eq ) ]
155+ pub enum _xefg_swapchain_result_t {
156+ #[ doc = " An old or outdated driver." ]
157+ RESULT_WARNING_OLD_DRIVER = 2 ,
158+ #[ doc = " Warning. Frame ID should be over 0." ]
159+ RESULT_WARNING_TOO_FEW_FRAMES = 3 ,
160+ #[ doc = " Warning. Data for interpolation came in wrong order." ]
161+ RESULT_WARNING_FRAMES_ID_MISMATCH = 4 ,
162+ #[ doc = " Warning. There is no present status for last present." ]
163+ RESULT_WARNING_MISSING_PRESENT_STATUS = 5 ,
164+ #[ doc = " Warning. Resource sizes for the interpolation doesn't match between previouse and next frames.\n Interpolation skipped." ]
165+ RESULT_WARNING_RESOURCE_SIZES_MISMATCH = 6 ,
166+ #[ doc = " Operation was successful." ]
167+ RESULT_SUCCESS = 0 ,
168+ #[ doc = " Operation not supported on the GPU." ]
169+ RESULT_ERROR_UNSUPPORTED_DEVICE = -1 ,
170+ #[ doc = " An unsupported driver." ]
171+ RESULT_ERROR_UNSUPPORTED_DRIVER = -2 ,
172+ #[ doc = " Execute called without initialization." ]
173+ RESULT_ERROR_UNINITIALIZED = -3 ,
174+ #[ doc = " Invalid argument were provided to the API call." ]
175+ RESULT_ERROR_INVALID_ARGUMENT = -4 ,
176+ #[ doc = " Not enough available GPU memory." ]
177+ RESULT_ERROR_DEVICE_OUT_OF_MEMORY = -5 ,
178+ #[ doc = " Device function such as resource or descriptor creation." ]
179+ RESULT_ERROR_DEVICE = -6 ,
180+ #[ doc = " The function is not implemented." ]
181+ RESULT_ERROR_NOT_IMPLEMENTED = -7 ,
182+ #[ doc = " Invalid context." ]
183+ RESULT_ERROR_INVALID_CONTEXT = -8 ,
184+ #[ doc = " Operation not finished yet." ]
185+ RESULT_ERROR_OPERATION_IN_PROGRESS = -9 ,
186+ #[ doc = " Operation not supported in current configuration." ]
187+ RESULT_ERROR_UNSUPPORTED = -10 ,
188+ #[ doc = " The library cannot be loaded." ]
189+ RESULT_ERROR_CANT_LOAD_LIBRARY = -11 ,
190+ #[ doc = " Input resources does not meet requirements based on UI Mode." ]
191+ RESULT_ERROR_MISMATCH_INPUT_RESOURCES = -12 ,
192+ #[ doc = " Output resources does not meet requirements." ]
193+ RESULT_ERROR_INCORRECT_OUTPUT_RESOURCES = -13 ,
194+ #[ doc = " Input is insufficient to evaluate interpolation." ]
195+ RESULT_ERROR_INCORRECT_INPUT_RESOURCES = -14 ,
196+ #[ doc = " Requirements regarding XeLL Latency Reduction are not met." ]
197+ RESULT_ERROR_LATENCY_REDUCTION_UNSUPPORTED = -15 ,
198+ #[ doc = " XeLL library does not contains required functions." ]
199+ RESULT_ERROR_LATENCY_REDUCTION_FUNCTION_MISSING = -16 ,
200+ #[ doc = " One of the Windows functions has failed. For details, see the logs or debug layer." ]
201+ RESULT_ERROR_HRESULT_FAILURE = -17 ,
202+ #[ doc = " DXGI call failed with invalid call error." ]
203+ RESULT_ERROR_DXGI_INVALID_CALL = -18 ,
204+ #[ doc = " XeFG SwapChain pointer is still in use during destroy." ]
205+ RESULT_ERROR_POINTER_STILL_IN_USE = -19 ,
206+ #[ doc = " Invalid or missing descriptor heap." ]
207+ RESULT_ERROR_INVALID_DESCRIPTOR_HEAP = -20 ,
208+ #[ doc = " Call to function done in invalid order." ]
209+ RESULT_ERROR_WRONG_CALL_ORDER = -21 ,
210+ #[ doc = " Unknown internal failure" ]
211+ RESULT_ERROR_UNKNOWN = -1000 ,
212+ }
170213#[ doc = " @brief XeSS-FG Swap Chain return codes." ]
171214pub use self :: _xefg_swapchain_result_t as xefg_swapchain_result_t;
172- pub const XEFG_SWAPCHAIN_LOGGING_LEVEL_DEBUG : _xefg_swapchain_logging_level_t = 0 ;
173- pub const XEFG_SWAPCHAIN_LOGGING_LEVEL_INFO : _xefg_swapchain_logging_level_t = 1 ;
174- pub const XEFG_SWAPCHAIN_LOGGING_LEVEL_WARNING : _xefg_swapchain_logging_level_t = 2 ;
175- pub const XEFG_SWAPCHAIN_LOGGING_LEVEL_ERROR : _xefg_swapchain_logging_level_t = 3 ;
215+ #[ repr( i32 ) ]
176216#[ doc = " @brief XeSS-FG Swap Chain logging level." ]
177- pub type _xefg_swapchain_logging_level_t = :: std:: os:: raw:: c_int ;
217+ #[ derive( Debug , Copy , Clone , Hash , PartialEq , Eq ) ]
218+ pub enum _xefg_swapchain_logging_level_t {
219+ LOGGING_LEVEL_DEBUG = 0 ,
220+ LOGGING_LEVEL_INFO = 1 ,
221+ LOGGING_LEVEL_WARNING = 2 ,
222+ LOGGING_LEVEL_ERROR = 3 ,
223+ }
178224#[ doc = " @brief XeSS-FG Swap Chain logging level." ]
179225pub use self :: _xefg_swapchain_logging_level_t as xefg_swapchain_logging_level_t;
180- #[ doc = " Determine UI handling mode automatically, based on provided inputs: hudless color and UI texture." ]
181- pub const XEFG_SWAPCHAIN_UI_MODE_AUTO : _xefg_swapchain_ui_mode_t = 0 ;
182- #[ doc = " Interpolate on backbuffer, without any UI handling." ]
183- pub const XEFG_SWAPCHAIN_UI_MODE_NONE : _xefg_swapchain_ui_mode_t = 1 ;
184- #[ doc = " Interpolate on backbuffer, refine UI using UI texture + alpha." ]
185- pub const XEFG_SWAPCHAIN_UI_MODE_BACKBUFFER_UITEXTURE : _xefg_swapchain_ui_mode_t = 2 ;
186- #[ doc = " Interpolate on hudless color, blend UI from UI texture + alpha." ]
187- pub const XEFG_SWAPCHAIN_UI_MODE_HUDLESS_UITEXTURE : _xefg_swapchain_ui_mode_t = 3 ;
188- #[ doc = " Interpolate on hudless color, extract UI from backbuffer." ]
189- pub const XEFG_SWAPCHAIN_UI_MODE_BACKBUFFER_HUDLESS : _xefg_swapchain_ui_mode_t = 4 ;
190- #[ doc = " Interpolate on hudless color, blend UI from UI texture + alpha and refine it by extracting from backbuffer." ]
191- pub const XEFG_SWAPCHAIN_UI_MODE_BACKBUFFER_HUDLESS_UITEXTURE : _xefg_swapchain_ui_mode_t = 5 ;
226+ #[ repr( i32 ) ]
192227#[ doc = " @brief XeSS-FG Swap Chain UI handling mode." ]
193- pub type _xefg_swapchain_ui_mode_t = :: std:: os:: raw:: c_int ;
228+ #[ derive( Debug , Copy , Clone , Hash , PartialEq , Eq ) ]
229+ pub enum _xefg_swapchain_ui_mode_t {
230+ #[ doc = " Determine UI handling mode automatically, based on provided inputs: hudless color and UI texture." ]
231+ UI_MODE_AUTO = 0 ,
232+ #[ doc = " Interpolate on backbuffer, without any UI handling." ]
233+ UI_MODE_NONE = 1 ,
234+ #[ doc = " Interpolate on backbuffer, refine UI using UI texture + alpha." ]
235+ UI_MODE_BACKBUFFER_UITEXTURE = 2 ,
236+ #[ doc = " Interpolate on hudless color, blend UI from UI texture + alpha." ]
237+ UI_MODE_HUDLESS_UITEXTURE = 3 ,
238+ #[ doc = " Interpolate on hudless color, extract UI from backbuffer." ]
239+ UI_MODE_BACKBUFFER_HUDLESS = 4 ,
240+ #[ doc = " Interpolate on hudless color, blend UI from UI texture + alpha and refine it by extracting from backbuffer." ]
241+ UI_MODE_BACKBUFFER_HUDLESS_UITEXTURE = 5 ,
242+ }
194243#[ doc = " @brief XeSS-FG Swap Chain UI handling mode." ]
195244pub use self :: _xefg_swapchain_ui_mode_t as xefg_swapchain_ui_mode_t;
196245#[ doc = " @brief Contains status data for the present." ]
@@ -223,17 +272,19 @@ pub type xefg_swapchain_app_log_callback_t = ::std::option::Option<
223272 userData : * mut :: std:: os:: raw:: c_void ,
224273 ) ,
225274> ;
226- #[ doc = " Present only interpolated frames. If interpolation fails, current back buffer will be presented." ]
227- pub const XEFG_SWAPCHAIN_DEBUG_FEATURE_SHOW_ONLY_INTERPOLATION : _xefg_swapchain_debug_feature_t = 0 ;
228- #[ doc = " Adds a quads in the corners of interpolated frame." ]
229- pub const XEFG_SWAPCHAIN_DEBUG_FEATURE_TAG_INTERPOLATED_FRAMES : _xefg_swapchain_debug_feature_t = 1 ;
230- #[ doc = " Present black image instead of skipping failed interpolation." ]
231- pub const XEFG_SWAPCHAIN_DEBUG_FEATURE_PRESENT_FAILED_INTERPOLATION :
232- _xefg_swapchain_debug_feature_t = 2 ;
233- #[ doc = " Present black image instead of skipping failed interpolation." ]
234- pub const XEFG_SWAPCHAIN_DEBUG_FEATURE_RES_COUNT : _xefg_swapchain_debug_feature_t = 3 ;
275+ #[ repr( i32 ) ]
235276#[ doc = " @brief XeSS-FG Swap Chain debug features list." ]
236- pub type _xefg_swapchain_debug_feature_t = :: std:: os:: raw:: c_int ;
277+ #[ derive( Debug , Copy , Clone , Hash , PartialEq , Eq ) ]
278+ pub enum _xefg_swapchain_debug_feature_t {
279+ #[ doc = " Present only interpolated frames. If interpolation fails, current back buffer will be presented." ]
280+ DEBUG_FEATURE_SHOW_ONLY_INTERPOLATION = 0 ,
281+ #[ doc = " Adds a quads in the corners of interpolated frame." ]
282+ DEBUG_FEATURE_TAG_INTERPOLATED_FRAMES = 1 ,
283+ #[ doc = " Present black image instead of skipping failed interpolation." ]
284+ DEBUG_FEATURE_PRESENT_FAILED_INTERPOLATION = 2 ,
285+ #[ doc = " Present black image instead of skipping failed interpolation." ]
286+ DEBUG_FEATURE_RES_COUNT = 3 ,
287+ }
237288#[ doc = " @brief XeSS-FG Swap Chain debug features list." ]
238289pub use self :: _xefg_swapchain_debug_feature_t as xefg_swapchain_debug_feature_t;
239290pub struct XessLoaded {
0 commit comments