1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 pub const CLSID_D3D12Debug: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4063570667, 56708, 18942, [185, 123, 169, 220, 253, 204, 27, 79]);
3 pub const CLSID_D3D12DeviceRemovedExtendedData: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1249229764, 40948, 19160, [159, 24, 171, 174, 132, 220, 95, 242]);
4 pub const CLSID_D3D12SDKConfiguration: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2094688970, 41022, 18888, [148, 88, 3, 52, 210, 14, 7, 206]);
5 pub const CLSID_D3D12Tools: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3816953521, 15500, 18483, [170, 9, 10, 6, 182, 93, 150, 200]);
6 #[cfg(feature = "Win32_Graphics_Direct3D11")]
7 #[inline]
D3D11On12CreateDevice<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>( pdevice: Param0, flags: u32, pfeaturelevels: *const super::Direct3D11::D3D_FEATURE_LEVEL, featurelevels: u32, ppcommandqueues: *const ::std::option::Option<::windows::runtime::IUnknown>, numqueues: u32, nodemask: u32, ppdevice: *mut ::std::option::Option<super::Direct3D11::ID3D11Device>, ppimmediatecontext: *mut ::std::option::Option<super::Direct3D11::ID3D11DeviceContext>, pchosenfeaturelevel: *mut super::Direct3D11::D3D_FEATURE_LEVEL, ) -> ::windows::runtime::Result<()>8 pub unsafe fn D3D11On12CreateDevice<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(
9     pdevice: Param0,
10     flags: u32,
11     pfeaturelevels: *const super::Direct3D11::D3D_FEATURE_LEVEL,
12     featurelevels: u32,
13     ppcommandqueues: *const ::std::option::Option<::windows::runtime::IUnknown>,
14     numqueues: u32,
15     nodemask: u32,
16     ppdevice: *mut ::std::option::Option<super::Direct3D11::ID3D11Device>,
17     ppimmediatecontext: *mut ::std::option::Option<super::Direct3D11::ID3D11DeviceContext>,
18     pchosenfeaturelevel: *mut super::Direct3D11::D3D_FEATURE_LEVEL,
19 ) -> ::windows::runtime::Result<()> {
20     #[cfg(windows)]
21     {
22         #[link(name = "windows")]
23         extern "system" {
24             fn D3D11On12CreateDevice(pdevice: ::windows::runtime::RawPtr, flags: u32, pfeaturelevels: *const super::Direct3D11::D3D_FEATURE_LEVEL, featurelevels: u32, ppcommandqueues: *const ::windows::runtime::RawPtr, numqueues: u32, nodemask: u32, ppdevice: *mut ::windows::runtime::RawPtr, ppimmediatecontext: *mut ::windows::runtime::RawPtr, pchosenfeaturelevel: *mut super::Direct3D11::D3D_FEATURE_LEVEL) -> ::windows::runtime::HRESULT;
25         }
26         D3D11On12CreateDevice(
27             pdevice.into_param().abi(),
28             ::std::mem::transmute(flags),
29             ::std::mem::transmute(pfeaturelevels),
30             ::std::mem::transmute(featurelevels),
31             ::std::mem::transmute(ppcommandqueues),
32             ::std::mem::transmute(numqueues),
33             ::std::mem::transmute(nodemask),
34             ::std::mem::transmute(ppdevice),
35             ::std::mem::transmute(ppimmediatecontext),
36             ::std::mem::transmute(pchosenfeaturelevel),
37         )
38         .ok()
39     }
40     #[cfg(not(windows))]
41     unimplemented!("Unsupported target OS");
42 }
43 #[repr(transparent)]
44 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
45 pub struct D3D11On12CreatorID(::windows::runtime::IUnknown);
46 impl D3D11On12CreatorID {}
47 unsafe impl ::windows::runtime::Interface for D3D11On12CreatorID {
48     type Vtable = D3D11On12CreatorID_abi;
49     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3988739704, 10592, 20097, [132, 41, 153, 212, 178, 99, 12, 78]);
50 }
51 impl ::std::convert::From<D3D11On12CreatorID> for ::windows::runtime::IUnknown {
from(value: D3D11On12CreatorID) -> Self52     fn from(value: D3D11On12CreatorID) -> Self {
53         unsafe { ::std::mem::transmute(value) }
54     }
55 }
56 impl ::std::convert::From<&D3D11On12CreatorID> for ::windows::runtime::IUnknown {
from(value: &D3D11On12CreatorID) -> Self57     fn from(value: &D3D11On12CreatorID) -> Self {
58         ::std::convert::From::from(::std::clone::Clone::clone(value))
59     }
60 }
61 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for D3D11On12CreatorID {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>62     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
63         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
64     }
65 }
66 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &D3D11On12CreatorID {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>67     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
68         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
69     }
70 }
71 #[repr(C)]
72 #[doc(hidden)]
73 pub struct D3D11On12CreatorID_abi(
74     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
75     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
76     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
77 );
78 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
79 #[repr(C)]
80 pub struct D3D11_RESOURCE_FLAGS {
81     pub BindFlags: u32,
82     pub MiscFlags: u32,
83     pub CPUAccessFlags: u32,
84     pub StructureByteStride: u32,
85 }
86 impl D3D11_RESOURCE_FLAGS {}
87 impl ::std::default::Default for D3D11_RESOURCE_FLAGS {
default() -> Self88     fn default() -> Self {
89         unsafe { ::std::mem::zeroed() }
90     }
91 }
92 impl ::std::fmt::Debug for D3D11_RESOURCE_FLAGS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result93     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
94         fmt.debug_struct("D3D11_RESOURCE_FLAGS").field("BindFlags", &self.BindFlags).field("MiscFlags", &self.MiscFlags).field("CPUAccessFlags", &self.CPUAccessFlags).field("StructureByteStride", &self.StructureByteStride).finish()
95     }
96 }
97 impl ::std::cmp::PartialEq for D3D11_RESOURCE_FLAGS {
eq(&self, other: &Self) -> bool98     fn eq(&self, other: &Self) -> bool {
99         self.BindFlags == other.BindFlags && self.MiscFlags == other.MiscFlags && self.CPUAccessFlags == other.CPUAccessFlags && self.StructureByteStride == other.StructureByteStride
100     }
101 }
102 impl ::std::cmp::Eq for D3D11_RESOURCE_FLAGS {}
103 unsafe impl ::windows::runtime::Abi for D3D11_RESOURCE_FLAGS {
104     type Abi = Self;
105     type DefaultType = Self;
106 }
107 #[cfg(feature = "Win32_Graphics_Direct3D11")]
108 #[inline]
D3D12CreateDevice<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, T: ::windows::runtime::Interface>(padapter: Param0, minimumfeaturelevel: super::Direct3D11::D3D_FEATURE_LEVEL, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>109 pub unsafe fn D3D12CreateDevice<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, T: ::windows::runtime::Interface>(padapter: Param0, minimumfeaturelevel: super::Direct3D11::D3D_FEATURE_LEVEL, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
110     #[cfg(windows)]
111     {
112         #[link(name = "windows")]
113         extern "system" {
114             fn D3D12CreateDevice(padapter: ::windows::runtime::RawPtr, minimumfeaturelevel: super::Direct3D11::D3D_FEATURE_LEVEL, riid: *const ::windows::runtime::GUID, ppdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
115         }
116         D3D12CreateDevice(padapter.into_param().abi(), ::std::mem::transmute(minimumfeaturelevel), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
117     }
118     #[cfg(not(windows))]
119     unimplemented!("Unsupported target OS");
120 }
121 #[inline]
D3D12CreateRootSignatureDeserializer(psrcdata: *const ::std::ffi::c_void, srcdatasizeinbytes: usize, prootsignaturedeserializerinterface: *const ::windows::runtime::GUID, pprootsignaturedeserializer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>122 pub unsafe fn D3D12CreateRootSignatureDeserializer(psrcdata: *const ::std::ffi::c_void, srcdatasizeinbytes: usize, prootsignaturedeserializerinterface: *const ::windows::runtime::GUID, pprootsignaturedeserializer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
123     #[cfg(windows)]
124     {
125         #[link(name = "windows")]
126         extern "system" {
127             fn D3D12CreateRootSignatureDeserializer(psrcdata: *const ::std::ffi::c_void, srcdatasizeinbytes: usize, prootsignaturedeserializerinterface: *const ::windows::runtime::GUID, pprootsignaturedeserializer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
128         }
129         D3D12CreateRootSignatureDeserializer(::std::mem::transmute(psrcdata), ::std::mem::transmute(srcdatasizeinbytes), ::std::mem::transmute(prootsignaturedeserializerinterface), ::std::mem::transmute(pprootsignaturedeserializer)).ok()
130     }
131     #[cfg(not(windows))]
132     unimplemented!("Unsupported target OS");
133 }
134 #[inline]
D3D12CreateVersionedRootSignatureDeserializer(psrcdata: *const ::std::ffi::c_void, srcdatasizeinbytes: usize, prootsignaturedeserializerinterface: *const ::windows::runtime::GUID, pprootsignaturedeserializer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>135 pub unsafe fn D3D12CreateVersionedRootSignatureDeserializer(psrcdata: *const ::std::ffi::c_void, srcdatasizeinbytes: usize, prootsignaturedeserializerinterface: *const ::windows::runtime::GUID, pprootsignaturedeserializer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
136     #[cfg(windows)]
137     {
138         #[link(name = "windows")]
139         extern "system" {
140             fn D3D12CreateVersionedRootSignatureDeserializer(psrcdata: *const ::std::ffi::c_void, srcdatasizeinbytes: usize, prootsignaturedeserializerinterface: *const ::windows::runtime::GUID, pprootsignaturedeserializer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
141         }
142         D3D12CreateVersionedRootSignatureDeserializer(::std::mem::transmute(psrcdata), ::std::mem::transmute(srcdatasizeinbytes), ::std::mem::transmute(prootsignaturedeserializerinterface), ::std::mem::transmute(pprootsignaturedeserializer)).ok()
143     }
144     #[cfg(not(windows))]
145     unimplemented!("Unsupported target OS");
146 }
147 #[inline]
D3D12EnableExperimentalFeatures(numfeatures: u32, piids: *const ::windows::runtime::GUID, pconfigurationstructs: *const ::std::ffi::c_void, pconfigurationstructsizes: *const u32) -> ::windows::runtime::Result<()>148 pub unsafe fn D3D12EnableExperimentalFeatures(numfeatures: u32, piids: *const ::windows::runtime::GUID, pconfigurationstructs: *const ::std::ffi::c_void, pconfigurationstructsizes: *const u32) -> ::windows::runtime::Result<()> {
149     #[cfg(windows)]
150     {
151         #[link(name = "windows")]
152         extern "system" {
153             fn D3D12EnableExperimentalFeatures(numfeatures: u32, piids: *const ::windows::runtime::GUID, pconfigurationstructs: *const ::std::ffi::c_void, pconfigurationstructsizes: *const u32) -> ::windows::runtime::HRESULT;
154         }
155         D3D12EnableExperimentalFeatures(::std::mem::transmute(numfeatures), ::std::mem::transmute(piids), ::std::mem::transmute(pconfigurationstructs), ::std::mem::transmute(pconfigurationstructsizes)).ok()
156     }
157     #[cfg(not(windows))]
158     unimplemented!("Unsupported target OS");
159 }
160 pub const D3D12ExperimentalShaderModels: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1995790142, 61754, 16629, [178, 151, 129, 206, 158, 24, 147, 63]);
161 #[inline]
D3D12GetDebugInterface<T: ::windows::runtime::Interface>(result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>162 pub unsafe fn D3D12GetDebugInterface<T: ::windows::runtime::Interface>(result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
163     #[cfg(windows)]
164     {
165         #[link(name = "windows")]
166         extern "system" {
167             fn D3D12GetDebugInterface(riid: *const ::windows::runtime::GUID, ppvdebug: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
168         }
169         D3D12GetDebugInterface(&<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
170     }
171     #[cfg(not(windows))]
172     unimplemented!("Unsupported target OS");
173 }
174 #[inline]
D3D12GetInterface<T: ::windows::runtime::Interface>(rclsid: *const ::windows::runtime::GUID, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>175 pub unsafe fn D3D12GetInterface<T: ::windows::runtime::Interface>(rclsid: *const ::windows::runtime::GUID, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
176     #[cfg(windows)]
177     {
178         #[link(name = "windows")]
179         extern "system" {
180             fn D3D12GetInterface(rclsid: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, ppvdebug: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
181         }
182         D3D12GetInterface(::std::mem::transmute(rclsid), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
183     }
184     #[cfg(not(windows))]
185     unimplemented!("Unsupported target OS");
186 }
187 #[cfg(feature = "Win32_Foundation")]
188 pub type D3D12MessageFunc = unsafe extern "system" fn(category: D3D12_MESSAGE_CATEGORY, severity: D3D12_MESSAGE_SEVERITY, id: D3D12_MESSAGE_ID, pdescription: super::super::Foundation::PSTR, pcontext: *mut ::std::ffi::c_void);
189 pub const D3D12MetaCommand: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3342125438, 32887, 18632, [159, 220, 217, 209, 221, 49, 221, 119]);
190 #[cfg(feature = "Win32_Graphics_Direct3D11")]
191 #[inline]
D3D12SerializeRootSignature(prootsignature: *const D3D12_ROOT_SIGNATURE_DESC, version: D3D_ROOT_SIGNATURE_VERSION, ppblob: *mut ::std::option::Option<super::Direct3D11::ID3DBlob>, pperrorblob: *mut ::std::option::Option<super::Direct3D11::ID3DBlob>) -> ::windows::runtime::Result<()>192 pub unsafe fn D3D12SerializeRootSignature(prootsignature: *const D3D12_ROOT_SIGNATURE_DESC, version: D3D_ROOT_SIGNATURE_VERSION, ppblob: *mut ::std::option::Option<super::Direct3D11::ID3DBlob>, pperrorblob: *mut ::std::option::Option<super::Direct3D11::ID3DBlob>) -> ::windows::runtime::Result<()> {
193     #[cfg(windows)]
194     {
195         #[link(name = "windows")]
196         extern "system" {
197             fn D3D12SerializeRootSignature(prootsignature: *const D3D12_ROOT_SIGNATURE_DESC, version: D3D_ROOT_SIGNATURE_VERSION, ppblob: *mut ::windows::runtime::RawPtr, pperrorblob: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
198         }
199         D3D12SerializeRootSignature(::std::mem::transmute(prootsignature), ::std::mem::transmute(version), ::std::mem::transmute(ppblob), ::std::mem::transmute(pperrorblob)).ok()
200     }
201     #[cfg(not(windows))]
202     unimplemented!("Unsupported target OS");
203 }
204 #[cfg(feature = "Win32_Graphics_Direct3D11")]
205 #[inline]
D3D12SerializeVersionedRootSignature(prootsignature: *const D3D12_VERSIONED_ROOT_SIGNATURE_DESC, ppblob: *mut ::std::option::Option<super::Direct3D11::ID3DBlob>, pperrorblob: *mut ::std::option::Option<super::Direct3D11::ID3DBlob>) -> ::windows::runtime::Result<()>206 pub unsafe fn D3D12SerializeVersionedRootSignature(prootsignature: *const D3D12_VERSIONED_ROOT_SIGNATURE_DESC, ppblob: *mut ::std::option::Option<super::Direct3D11::ID3DBlob>, pperrorblob: *mut ::std::option::Option<super::Direct3D11::ID3DBlob>) -> ::windows::runtime::Result<()> {
207     #[cfg(windows)]
208     {
209         #[link(name = "windows")]
210         extern "system" {
211             fn D3D12SerializeVersionedRootSignature(prootsignature: *const D3D12_VERSIONED_ROOT_SIGNATURE_DESC, ppblob: *mut ::windows::runtime::RawPtr, pperrorblob: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
212         }
213         D3D12SerializeVersionedRootSignature(::std::mem::transmute(prootsignature), ::std::mem::transmute(ppblob), ::std::mem::transmute(pperrorblob)).ok()
214     }
215     #[cfg(not(windows))]
216     unimplemented!("Unsupported target OS");
217 }
218 pub const D3D12TiledResourceTier4: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3385094751, 43034, 20310, [140, 91, 197, 16, 57, 214, 148, 251]);
219 pub const D3D12_16BIT_INDEX_STRIP_CUT_VALUE: u32 = 65535u32;
220 pub const D3D12_32BIT_INDEX_STRIP_CUT_VALUE: u32 = 4294967295u32;
221 pub const D3D12_8BIT_INDEX_STRIP_CUT_VALUE: u32 = 255u32;
222 pub const D3D12_ANISOTROPIC_FILTERING_BIT: u32 = 64u32;
223 pub const D3D12_APPEND_ALIGNED_ELEMENT: u32 = 4294967295u32;
224 pub const D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT: u32 = 9u32;
225 #[derive(:: std :: clone :: Clone)]
226 #[repr(C)]
227 #[cfg(feature = "Win32_Foundation")]
228 pub struct D3D12_AUTO_BREADCRUMB_NODE {
229     pub pCommandListDebugNameA: *mut u8,
230     pub pCommandListDebugNameW: super::super::Foundation::PWSTR,
231     pub pCommandQueueDebugNameA: *mut u8,
232     pub pCommandQueueDebugNameW: super::super::Foundation::PWSTR,
233     pub pCommandList: ::std::option::Option<ID3D12GraphicsCommandList>,
234     pub pCommandQueue: ::std::option::Option<ID3D12CommandQueue>,
235     pub BreadcrumbCount: u32,
236     pub pLastBreadcrumbValue: *mut u32,
237     pub pCommandHistory: *mut D3D12_AUTO_BREADCRUMB_OP,
238     pub pNext: *mut D3D12_AUTO_BREADCRUMB_NODE,
239 }
240 #[cfg(feature = "Win32_Foundation")]
241 impl D3D12_AUTO_BREADCRUMB_NODE {}
242 #[cfg(feature = "Win32_Foundation")]
243 impl ::std::default::Default for D3D12_AUTO_BREADCRUMB_NODE {
default() -> Self244     fn default() -> Self {
245         unsafe { ::std::mem::zeroed() }
246     }
247 }
248 #[cfg(feature = "Win32_Foundation")]
249 impl ::std::fmt::Debug for D3D12_AUTO_BREADCRUMB_NODE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result250     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
251         fmt.debug_struct("D3D12_AUTO_BREADCRUMB_NODE")
252             .field("pCommandListDebugNameA", &self.pCommandListDebugNameA)
253             .field("pCommandListDebugNameW", &self.pCommandListDebugNameW)
254             .field("pCommandQueueDebugNameA", &self.pCommandQueueDebugNameA)
255             .field("pCommandQueueDebugNameW", &self.pCommandQueueDebugNameW)
256             .field("pCommandList", &self.pCommandList)
257             .field("pCommandQueue", &self.pCommandQueue)
258             .field("BreadcrumbCount", &self.BreadcrumbCount)
259             .field("pLastBreadcrumbValue", &self.pLastBreadcrumbValue)
260             .field("pCommandHistory", &self.pCommandHistory)
261             .field("pNext", &self.pNext)
262             .finish()
263     }
264 }
265 #[cfg(feature = "Win32_Foundation")]
266 impl ::std::cmp::PartialEq for D3D12_AUTO_BREADCRUMB_NODE {
eq(&self, other: &Self) -> bool267     fn eq(&self, other: &Self) -> bool {
268         self.pCommandListDebugNameA == other.pCommandListDebugNameA
269             && self.pCommandListDebugNameW == other.pCommandListDebugNameW
270             && self.pCommandQueueDebugNameA == other.pCommandQueueDebugNameA
271             && self.pCommandQueueDebugNameW == other.pCommandQueueDebugNameW
272             && self.pCommandList == other.pCommandList
273             && self.pCommandQueue == other.pCommandQueue
274             && self.BreadcrumbCount == other.BreadcrumbCount
275             && self.pLastBreadcrumbValue == other.pLastBreadcrumbValue
276             && self.pCommandHistory == other.pCommandHistory
277             && self.pNext == other.pNext
278     }
279 }
280 #[cfg(feature = "Win32_Foundation")]
281 impl ::std::cmp::Eq for D3D12_AUTO_BREADCRUMB_NODE {}
282 #[cfg(feature = "Win32_Foundation")]
283 unsafe impl ::windows::runtime::Abi for D3D12_AUTO_BREADCRUMB_NODE {
284     type Abi = ::std::mem::ManuallyDrop<Self>;
285     type DefaultType = Self;
286 }
287 #[derive(:: std :: clone :: Clone)]
288 #[repr(C)]
289 #[cfg(feature = "Win32_Foundation")]
290 pub struct D3D12_AUTO_BREADCRUMB_NODE1 {
291     pub pCommandListDebugNameA: *mut u8,
292     pub pCommandListDebugNameW: super::super::Foundation::PWSTR,
293     pub pCommandQueueDebugNameA: *mut u8,
294     pub pCommandQueueDebugNameW: super::super::Foundation::PWSTR,
295     pub pCommandList: ::std::option::Option<ID3D12GraphicsCommandList>,
296     pub pCommandQueue: ::std::option::Option<ID3D12CommandQueue>,
297     pub BreadcrumbCount: u32,
298     pub pLastBreadcrumbValue: *mut u32,
299     pub pCommandHistory: *mut D3D12_AUTO_BREADCRUMB_OP,
300     pub pNext: *mut D3D12_AUTO_BREADCRUMB_NODE1,
301     pub BreadcrumbContextsCount: u32,
302     pub pBreadcrumbContexts: *mut D3D12_DRED_BREADCRUMB_CONTEXT,
303 }
304 #[cfg(feature = "Win32_Foundation")]
305 impl D3D12_AUTO_BREADCRUMB_NODE1 {}
306 #[cfg(feature = "Win32_Foundation")]
307 impl ::std::default::Default for D3D12_AUTO_BREADCRUMB_NODE1 {
default() -> Self308     fn default() -> Self {
309         unsafe { ::std::mem::zeroed() }
310     }
311 }
312 #[cfg(feature = "Win32_Foundation")]
313 impl ::std::fmt::Debug for D3D12_AUTO_BREADCRUMB_NODE1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result314     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
315         fmt.debug_struct("D3D12_AUTO_BREADCRUMB_NODE1")
316             .field("pCommandListDebugNameA", &self.pCommandListDebugNameA)
317             .field("pCommandListDebugNameW", &self.pCommandListDebugNameW)
318             .field("pCommandQueueDebugNameA", &self.pCommandQueueDebugNameA)
319             .field("pCommandQueueDebugNameW", &self.pCommandQueueDebugNameW)
320             .field("pCommandList", &self.pCommandList)
321             .field("pCommandQueue", &self.pCommandQueue)
322             .field("BreadcrumbCount", &self.BreadcrumbCount)
323             .field("pLastBreadcrumbValue", &self.pLastBreadcrumbValue)
324             .field("pCommandHistory", &self.pCommandHistory)
325             .field("pNext", &self.pNext)
326             .field("BreadcrumbContextsCount", &self.BreadcrumbContextsCount)
327             .field("pBreadcrumbContexts", &self.pBreadcrumbContexts)
328             .finish()
329     }
330 }
331 #[cfg(feature = "Win32_Foundation")]
332 impl ::std::cmp::PartialEq for D3D12_AUTO_BREADCRUMB_NODE1 {
eq(&self, other: &Self) -> bool333     fn eq(&self, other: &Self) -> bool {
334         self.pCommandListDebugNameA == other.pCommandListDebugNameA
335             && self.pCommandListDebugNameW == other.pCommandListDebugNameW
336             && self.pCommandQueueDebugNameA == other.pCommandQueueDebugNameA
337             && self.pCommandQueueDebugNameW == other.pCommandQueueDebugNameW
338             && self.pCommandList == other.pCommandList
339             && self.pCommandQueue == other.pCommandQueue
340             && self.BreadcrumbCount == other.BreadcrumbCount
341             && self.pLastBreadcrumbValue == other.pLastBreadcrumbValue
342             && self.pCommandHistory == other.pCommandHistory
343             && self.pNext == other.pNext
344             && self.BreadcrumbContextsCount == other.BreadcrumbContextsCount
345             && self.pBreadcrumbContexts == other.pBreadcrumbContexts
346     }
347 }
348 #[cfg(feature = "Win32_Foundation")]
349 impl ::std::cmp::Eq for D3D12_AUTO_BREADCRUMB_NODE1 {}
350 #[cfg(feature = "Win32_Foundation")]
351 unsafe impl ::windows::runtime::Abi for D3D12_AUTO_BREADCRUMB_NODE1 {
352     type Abi = ::std::mem::ManuallyDrop<Self>;
353     type DefaultType = Self;
354 }
355 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
356 #[repr(transparent)]
357 pub struct D3D12_AUTO_BREADCRUMB_OP(pub i32);
358 pub const D3D12_AUTO_BREADCRUMB_OP_SETMARKER: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(0i32);
359 pub const D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(1i32);
360 pub const D3D12_AUTO_BREADCRUMB_OP_ENDEVENT: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(2i32);
361 pub const D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(3i32);
362 pub const D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(4i32);
363 pub const D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(5i32);
364 pub const D3D12_AUTO_BREADCRUMB_OP_DISPATCH: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(6i32);
365 pub const D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(7i32);
366 pub const D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(8i32);
367 pub const D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(9i32);
368 pub const D3D12_AUTO_BREADCRUMB_OP_COPYTILES: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(10i32);
369 pub const D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(11i32);
370 pub const D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(12i32);
371 pub const D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(13i32);
372 pub const D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(14i32);
373 pub const D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(15i32);
374 pub const D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(16i32);
375 pub const D3D12_AUTO_BREADCRUMB_OP_PRESENT: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(17i32);
376 pub const D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(18i32);
377 pub const D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(19i32);
378 pub const D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(20i32);
379 pub const D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(21i32);
380 pub const D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(22i32);
381 pub const D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(23i32);
382 pub const D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(24i32);
383 pub const D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(25i32);
384 pub const D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(26i32);
385 pub const D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(27i32);
386 pub const D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(28i32);
387 pub const D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(29i32);
388 pub const D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(30i32);
389 pub const D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(31i32);
390 pub const D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(32i32);
391 pub const D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(33i32);
392 pub const D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(34i32);
393 pub const D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(35i32);
394 pub const D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(36i32);
395 pub const D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(37i32);
396 pub const D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(38i32);
397 pub const D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(39i32);
398 pub const D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(40i32);
399 pub const D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(41i32);
400 pub const D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(42i32);
401 pub const D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(43i32);
402 pub const D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(44i32);
403 impl ::std::convert::From<i32> for D3D12_AUTO_BREADCRUMB_OP {
from(value: i32) -> Self404     fn from(value: i32) -> Self {
405         Self(value)
406     }
407 }
408 unsafe impl ::windows::runtime::Abi for D3D12_AUTO_BREADCRUMB_OP {
409     type Abi = Self;
410     type DefaultType = Self;
411 }
412 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
413 #[repr(transparent)]
414 pub struct D3D12_AXIS_SHADING_RATE(pub i32);
415 pub const D3D12_AXIS_SHADING_RATE_1X: D3D12_AXIS_SHADING_RATE = D3D12_AXIS_SHADING_RATE(0i32);
416 pub const D3D12_AXIS_SHADING_RATE_2X: D3D12_AXIS_SHADING_RATE = D3D12_AXIS_SHADING_RATE(1i32);
417 pub const D3D12_AXIS_SHADING_RATE_4X: D3D12_AXIS_SHADING_RATE = D3D12_AXIS_SHADING_RATE(2i32);
418 impl ::std::convert::From<i32> for D3D12_AXIS_SHADING_RATE {
from(value: i32) -> Self419     fn from(value: i32) -> Self {
420         Self(value)
421     }
422 }
423 unsafe impl ::windows::runtime::Abi for D3D12_AXIS_SHADING_RATE {
424     type Abi = Self;
425     type DefaultType = Self;
426 }
427 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
428 #[repr(transparent)]
429 pub struct D3D12_BACKGROUND_PROCESSING_MODE(pub i32);
430 pub const D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED: D3D12_BACKGROUND_PROCESSING_MODE = D3D12_BACKGROUND_PROCESSING_MODE(0i32);
431 pub const D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS: D3D12_BACKGROUND_PROCESSING_MODE = D3D12_BACKGROUND_PROCESSING_MODE(1i32);
432 pub const D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK: D3D12_BACKGROUND_PROCESSING_MODE = D3D12_BACKGROUND_PROCESSING_MODE(2i32);
433 pub const D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM: D3D12_BACKGROUND_PROCESSING_MODE = D3D12_BACKGROUND_PROCESSING_MODE(3i32);
434 impl ::std::convert::From<i32> for D3D12_BACKGROUND_PROCESSING_MODE {
from(value: i32) -> Self435     fn from(value: i32) -> Self {
436         Self(value)
437     }
438 }
439 unsafe impl ::windows::runtime::Abi for D3D12_BACKGROUND_PROCESSING_MODE {
440     type Abi = Self;
441     type DefaultType = Self;
442 }
443 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
444 #[repr(transparent)]
445 pub struct D3D12_BLEND(pub i32);
446 pub const D3D12_BLEND_ZERO: D3D12_BLEND = D3D12_BLEND(1i32);
447 pub const D3D12_BLEND_ONE: D3D12_BLEND = D3D12_BLEND(2i32);
448 pub const D3D12_BLEND_SRC_COLOR: D3D12_BLEND = D3D12_BLEND(3i32);
449 pub const D3D12_BLEND_INV_SRC_COLOR: D3D12_BLEND = D3D12_BLEND(4i32);
450 pub const D3D12_BLEND_SRC_ALPHA: D3D12_BLEND = D3D12_BLEND(5i32);
451 pub const D3D12_BLEND_INV_SRC_ALPHA: D3D12_BLEND = D3D12_BLEND(6i32);
452 pub const D3D12_BLEND_DEST_ALPHA: D3D12_BLEND = D3D12_BLEND(7i32);
453 pub const D3D12_BLEND_INV_DEST_ALPHA: D3D12_BLEND = D3D12_BLEND(8i32);
454 pub const D3D12_BLEND_DEST_COLOR: D3D12_BLEND = D3D12_BLEND(9i32);
455 pub const D3D12_BLEND_INV_DEST_COLOR: D3D12_BLEND = D3D12_BLEND(10i32);
456 pub const D3D12_BLEND_SRC_ALPHA_SAT: D3D12_BLEND = D3D12_BLEND(11i32);
457 pub const D3D12_BLEND_BLEND_FACTOR: D3D12_BLEND = D3D12_BLEND(14i32);
458 pub const D3D12_BLEND_INV_BLEND_FACTOR: D3D12_BLEND = D3D12_BLEND(15i32);
459 pub const D3D12_BLEND_SRC1_COLOR: D3D12_BLEND = D3D12_BLEND(16i32);
460 pub const D3D12_BLEND_INV_SRC1_COLOR: D3D12_BLEND = D3D12_BLEND(17i32);
461 pub const D3D12_BLEND_SRC1_ALPHA: D3D12_BLEND = D3D12_BLEND(18i32);
462 pub const D3D12_BLEND_INV_SRC1_ALPHA: D3D12_BLEND = D3D12_BLEND(19i32);
463 impl ::std::convert::From<i32> for D3D12_BLEND {
from(value: i32) -> Self464     fn from(value: i32) -> Self {
465         Self(value)
466     }
467 }
468 unsafe impl ::windows::runtime::Abi for D3D12_BLEND {
469     type Abi = Self;
470     type DefaultType = Self;
471 }
472 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
473 #[repr(C)]
474 #[cfg(feature = "Win32_Foundation")]
475 pub struct D3D12_BLEND_DESC {
476     pub AlphaToCoverageEnable: super::super::Foundation::BOOL,
477     pub IndependentBlendEnable: super::super::Foundation::BOOL,
478     pub RenderTarget: [D3D12_RENDER_TARGET_BLEND_DESC; 8],
479 }
480 #[cfg(feature = "Win32_Foundation")]
481 impl D3D12_BLEND_DESC {}
482 #[cfg(feature = "Win32_Foundation")]
483 impl ::std::default::Default for D3D12_BLEND_DESC {
default() -> Self484     fn default() -> Self {
485         unsafe { ::std::mem::zeroed() }
486     }
487 }
488 #[cfg(feature = "Win32_Foundation")]
489 impl ::std::fmt::Debug for D3D12_BLEND_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result490     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
491         fmt.debug_struct("D3D12_BLEND_DESC").field("AlphaToCoverageEnable", &self.AlphaToCoverageEnable).field("IndependentBlendEnable", &self.IndependentBlendEnable).field("RenderTarget", &self.RenderTarget).finish()
492     }
493 }
494 #[cfg(feature = "Win32_Foundation")]
495 impl ::std::cmp::PartialEq for D3D12_BLEND_DESC {
eq(&self, other: &Self) -> bool496     fn eq(&self, other: &Self) -> bool {
497         self.AlphaToCoverageEnable == other.AlphaToCoverageEnable && self.IndependentBlendEnable == other.IndependentBlendEnable && self.RenderTarget == other.RenderTarget
498     }
499 }
500 #[cfg(feature = "Win32_Foundation")]
501 impl ::std::cmp::Eq for D3D12_BLEND_DESC {}
502 #[cfg(feature = "Win32_Foundation")]
503 unsafe impl ::windows::runtime::Abi for D3D12_BLEND_DESC {
504     type Abi = Self;
505     type DefaultType = Self;
506 }
507 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
508 #[repr(transparent)]
509 pub struct D3D12_BLEND_OP(pub i32);
510 pub const D3D12_BLEND_OP_ADD: D3D12_BLEND_OP = D3D12_BLEND_OP(1i32);
511 pub const D3D12_BLEND_OP_SUBTRACT: D3D12_BLEND_OP = D3D12_BLEND_OP(2i32);
512 pub const D3D12_BLEND_OP_REV_SUBTRACT: D3D12_BLEND_OP = D3D12_BLEND_OP(3i32);
513 pub const D3D12_BLEND_OP_MIN: D3D12_BLEND_OP = D3D12_BLEND_OP(4i32);
514 pub const D3D12_BLEND_OP_MAX: D3D12_BLEND_OP = D3D12_BLEND_OP(5i32);
515 impl ::std::convert::From<i32> for D3D12_BLEND_OP {
from(value: i32) -> Self516     fn from(value: i32) -> Self {
517         Self(value)
518     }
519 }
520 unsafe impl ::windows::runtime::Abi for D3D12_BLEND_OP {
521     type Abi = Self;
522     type DefaultType = Self;
523 }
524 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
525 #[repr(C)]
526 pub struct D3D12_BOX {
527     pub left: u32,
528     pub top: u32,
529     pub front: u32,
530     pub right: u32,
531     pub bottom: u32,
532     pub back: u32,
533 }
534 impl D3D12_BOX {}
535 impl ::std::default::Default for D3D12_BOX {
default() -> Self536     fn default() -> Self {
537         unsafe { ::std::mem::zeroed() }
538     }
539 }
540 impl ::std::fmt::Debug for D3D12_BOX {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result541     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
542         fmt.debug_struct("D3D12_BOX").field("left", &self.left).field("top", &self.top).field("front", &self.front).field("right", &self.right).field("bottom", &self.bottom).field("back", &self.back).finish()
543     }
544 }
545 impl ::std::cmp::PartialEq for D3D12_BOX {
eq(&self, other: &Self) -> bool546     fn eq(&self, other: &Self) -> bool {
547         self.left == other.left && self.top == other.top && self.front == other.front && self.right == other.right && self.bottom == other.bottom && self.back == other.back
548     }
549 }
550 impl ::std::cmp::Eq for D3D12_BOX {}
551 unsafe impl ::windows::runtime::Abi for D3D12_BOX {
552     type Abi = Self;
553     type DefaultType = Self;
554 }
555 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
556 #[repr(C)]
557 pub struct D3D12_BUFFER_RTV {
558     pub FirstElement: u64,
559     pub NumElements: u32,
560 }
561 impl D3D12_BUFFER_RTV {}
562 impl ::std::default::Default for D3D12_BUFFER_RTV {
default() -> Self563     fn default() -> Self {
564         unsafe { ::std::mem::zeroed() }
565     }
566 }
567 impl ::std::fmt::Debug for D3D12_BUFFER_RTV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result568     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
569         fmt.debug_struct("D3D12_BUFFER_RTV").field("FirstElement", &self.FirstElement).field("NumElements", &self.NumElements).finish()
570     }
571 }
572 impl ::std::cmp::PartialEq for D3D12_BUFFER_RTV {
eq(&self, other: &Self) -> bool573     fn eq(&self, other: &Self) -> bool {
574         self.FirstElement == other.FirstElement && self.NumElements == other.NumElements
575     }
576 }
577 impl ::std::cmp::Eq for D3D12_BUFFER_RTV {}
578 unsafe impl ::windows::runtime::Abi for D3D12_BUFFER_RTV {
579     type Abi = Self;
580     type DefaultType = Self;
581 }
582 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
583 #[repr(C)]
584 pub struct D3D12_BUFFER_SRV {
585     pub FirstElement: u64,
586     pub NumElements: u32,
587     pub StructureByteStride: u32,
588     pub Flags: D3D12_BUFFER_SRV_FLAGS,
589 }
590 impl D3D12_BUFFER_SRV {}
591 impl ::std::default::Default for D3D12_BUFFER_SRV {
default() -> Self592     fn default() -> Self {
593         unsafe { ::std::mem::zeroed() }
594     }
595 }
596 impl ::std::fmt::Debug for D3D12_BUFFER_SRV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result597     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
598         fmt.debug_struct("D3D12_BUFFER_SRV").field("FirstElement", &self.FirstElement).field("NumElements", &self.NumElements).field("StructureByteStride", &self.StructureByteStride).field("Flags", &self.Flags).finish()
599     }
600 }
601 impl ::std::cmp::PartialEq for D3D12_BUFFER_SRV {
eq(&self, other: &Self) -> bool602     fn eq(&self, other: &Self) -> bool {
603         self.FirstElement == other.FirstElement && self.NumElements == other.NumElements && self.StructureByteStride == other.StructureByteStride && self.Flags == other.Flags
604     }
605 }
606 impl ::std::cmp::Eq for D3D12_BUFFER_SRV {}
607 unsafe impl ::windows::runtime::Abi for D3D12_BUFFER_SRV {
608     type Abi = Self;
609     type DefaultType = Self;
610 }
611 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
612 #[repr(transparent)]
613 pub struct D3D12_BUFFER_SRV_FLAGS(pub u32);
614 pub const D3D12_BUFFER_SRV_FLAG_NONE: D3D12_BUFFER_SRV_FLAGS = D3D12_BUFFER_SRV_FLAGS(0u32);
615 pub const D3D12_BUFFER_SRV_FLAG_RAW: D3D12_BUFFER_SRV_FLAGS = D3D12_BUFFER_SRV_FLAGS(1u32);
616 impl ::std::convert::From<u32> for D3D12_BUFFER_SRV_FLAGS {
from(value: u32) -> Self617     fn from(value: u32) -> Self {
618         Self(value)
619     }
620 }
621 unsafe impl ::windows::runtime::Abi for D3D12_BUFFER_SRV_FLAGS {
622     type Abi = Self;
623     type DefaultType = Self;
624 }
625 impl ::std::ops::BitOr for D3D12_BUFFER_SRV_FLAGS {
626     type Output = Self;
bitor(self, rhs: Self) -> Self627     fn bitor(self, rhs: Self) -> Self {
628         Self(self.0 | rhs.0)
629     }
630 }
631 impl ::std::ops::BitAnd for D3D12_BUFFER_SRV_FLAGS {
632     type Output = Self;
bitand(self, rhs: Self) -> Self633     fn bitand(self, rhs: Self) -> Self {
634         Self(self.0 & rhs.0)
635     }
636 }
637 impl ::std::ops::BitOrAssign for D3D12_BUFFER_SRV_FLAGS {
bitor_assign(&mut self, rhs: Self)638     fn bitor_assign(&mut self, rhs: Self) {
639         self.0.bitor_assign(rhs.0)
640     }
641 }
642 impl ::std::ops::BitAndAssign for D3D12_BUFFER_SRV_FLAGS {
bitand_assign(&mut self, rhs: Self)643     fn bitand_assign(&mut self, rhs: Self) {
644         self.0.bitand_assign(rhs.0)
645     }
646 }
647 impl ::std::ops::Not for D3D12_BUFFER_SRV_FLAGS {
648     type Output = Self;
not(self) -> Self649     fn not(self) -> Self {
650         Self(self.0.not())
651     }
652 }
653 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
654 #[repr(C)]
655 pub struct D3D12_BUFFER_UAV {
656     pub FirstElement: u64,
657     pub NumElements: u32,
658     pub StructureByteStride: u32,
659     pub CounterOffsetInBytes: u64,
660     pub Flags: D3D12_BUFFER_UAV_FLAGS,
661 }
662 impl D3D12_BUFFER_UAV {}
663 impl ::std::default::Default for D3D12_BUFFER_UAV {
default() -> Self664     fn default() -> Self {
665         unsafe { ::std::mem::zeroed() }
666     }
667 }
668 impl ::std::fmt::Debug for D3D12_BUFFER_UAV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result669     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
670         fmt.debug_struct("D3D12_BUFFER_UAV").field("FirstElement", &self.FirstElement).field("NumElements", &self.NumElements).field("StructureByteStride", &self.StructureByteStride).field("CounterOffsetInBytes", &self.CounterOffsetInBytes).field("Flags", &self.Flags).finish()
671     }
672 }
673 impl ::std::cmp::PartialEq for D3D12_BUFFER_UAV {
eq(&self, other: &Self) -> bool674     fn eq(&self, other: &Self) -> bool {
675         self.FirstElement == other.FirstElement && self.NumElements == other.NumElements && self.StructureByteStride == other.StructureByteStride && self.CounterOffsetInBytes == other.CounterOffsetInBytes && self.Flags == other.Flags
676     }
677 }
678 impl ::std::cmp::Eq for D3D12_BUFFER_UAV {}
679 unsafe impl ::windows::runtime::Abi for D3D12_BUFFER_UAV {
680     type Abi = Self;
681     type DefaultType = Self;
682 }
683 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
684 #[repr(transparent)]
685 pub struct D3D12_BUFFER_UAV_FLAGS(pub u32);
686 pub const D3D12_BUFFER_UAV_FLAG_NONE: D3D12_BUFFER_UAV_FLAGS = D3D12_BUFFER_UAV_FLAGS(0u32);
687 pub const D3D12_BUFFER_UAV_FLAG_RAW: D3D12_BUFFER_UAV_FLAGS = D3D12_BUFFER_UAV_FLAGS(1u32);
688 impl ::std::convert::From<u32> for D3D12_BUFFER_UAV_FLAGS {
from(value: u32) -> Self689     fn from(value: u32) -> Self {
690         Self(value)
691     }
692 }
693 unsafe impl ::windows::runtime::Abi for D3D12_BUFFER_UAV_FLAGS {
694     type Abi = Self;
695     type DefaultType = Self;
696 }
697 impl ::std::ops::BitOr for D3D12_BUFFER_UAV_FLAGS {
698     type Output = Self;
bitor(self, rhs: Self) -> Self699     fn bitor(self, rhs: Self) -> Self {
700         Self(self.0 | rhs.0)
701     }
702 }
703 impl ::std::ops::BitAnd for D3D12_BUFFER_UAV_FLAGS {
704     type Output = Self;
bitand(self, rhs: Self) -> Self705     fn bitand(self, rhs: Self) -> Self {
706         Self(self.0 & rhs.0)
707     }
708 }
709 impl ::std::ops::BitOrAssign for D3D12_BUFFER_UAV_FLAGS {
bitor_assign(&mut self, rhs: Self)710     fn bitor_assign(&mut self, rhs: Self) {
711         self.0.bitor_assign(rhs.0)
712     }
713 }
714 impl ::std::ops::BitAndAssign for D3D12_BUFFER_UAV_FLAGS {
bitand_assign(&mut self, rhs: Self)715     fn bitand_assign(&mut self, rhs: Self) {
716         self.0.bitand_assign(rhs.0)
717     }
718 }
719 impl ::std::ops::Not for D3D12_BUFFER_UAV_FLAGS {
720     type Output = Self;
not(self) -> Self721     fn not(self) -> Self {
722         Self(self.0.not())
723     }
724 }
725 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
726 #[repr(C)]
727 #[cfg(feature = "Win32_Graphics_Dxgi")]
728 pub struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC {
729     pub DestAccelerationStructureData: u64,
730     pub Inputs: D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS,
731     pub SourceAccelerationStructureData: u64,
732     pub ScratchAccelerationStructureData: u64,
733 }
734 #[cfg(feature = "Win32_Graphics_Dxgi")]
735 impl D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC {}
736 #[cfg(feature = "Win32_Graphics_Dxgi")]
737 impl ::std::default::Default for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC {
default() -> Self738     fn default() -> Self {
739         unsafe { ::std::mem::zeroed() }
740     }
741 }
742 #[cfg(feature = "Win32_Graphics_Dxgi")]
743 impl ::std::cmp::PartialEq for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC {
eq(&self, _other: &Self) -> bool744     fn eq(&self, _other: &Self) -> bool {
745         unimplemented!()
746     }
747 }
748 #[cfg(feature = "Win32_Graphics_Dxgi")]
749 impl ::std::cmp::Eq for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC {}
750 #[cfg(feature = "Win32_Graphics_Dxgi")]
751 unsafe impl ::windows::runtime::Abi for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC {
752     type Abi = Self;
753     type DefaultType = Self;
754 }
755 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
756 #[repr(C)]
757 #[cfg(feature = "Win32_Graphics_Dxgi")]
758 pub struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS {
759     pub Type: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE,
760     pub Flags: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS,
761     pub NumDescs: u32,
762     pub DescsLayout: D3D12_ELEMENTS_LAYOUT,
763     pub Anonymous: D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0,
764 }
765 #[cfg(feature = "Win32_Graphics_Dxgi")]
766 impl D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS {}
767 #[cfg(feature = "Win32_Graphics_Dxgi")]
768 impl ::std::default::Default for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS {
default() -> Self769     fn default() -> Self {
770         unsafe { ::std::mem::zeroed() }
771     }
772 }
773 #[cfg(feature = "Win32_Graphics_Dxgi")]
774 impl ::std::cmp::PartialEq for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS {
eq(&self, _other: &Self) -> bool775     fn eq(&self, _other: &Self) -> bool {
776         unimplemented!()
777     }
778 }
779 #[cfg(feature = "Win32_Graphics_Dxgi")]
780 impl ::std::cmp::Eq for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS {}
781 #[cfg(feature = "Win32_Graphics_Dxgi")]
782 unsafe impl ::windows::runtime::Abi for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS {
783     type Abi = Self;
784     type DefaultType = Self;
785 }
786 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
787 #[repr(C)]
788 #[cfg(feature = "Win32_Graphics_Dxgi")]
789 pub union D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0 {
790     pub InstanceDescs: u64,
791     pub pGeometryDescs: *mut D3D12_RAYTRACING_GEOMETRY_DESC,
792     pub ppGeometryDescs: *mut *mut D3D12_RAYTRACING_GEOMETRY_DESC,
793 }
794 #[cfg(feature = "Win32_Graphics_Dxgi")]
795 impl D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0 {}
796 #[cfg(feature = "Win32_Graphics_Dxgi")]
797 impl ::std::default::Default for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0 {
default() -> Self798     fn default() -> Self {
799         unsafe { ::std::mem::zeroed() }
800     }
801 }
802 #[cfg(feature = "Win32_Graphics_Dxgi")]
803 impl ::std::cmp::PartialEq for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0 {
eq(&self, _other: &Self) -> bool804     fn eq(&self, _other: &Self) -> bool {
805         unimplemented!()
806     }
807 }
808 #[cfg(feature = "Win32_Graphics_Dxgi")]
809 impl ::std::cmp::Eq for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0 {}
810 #[cfg(feature = "Win32_Graphics_Dxgi")]
811 unsafe impl ::windows::runtime::Abi for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0 {
812     type Abi = Self;
813     type DefaultType = Self;
814 }
815 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
816 #[repr(C)]
817 pub struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {
818     pub Type: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE,
819     pub NumDescs: u32,
820 }
821 impl D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {}
822 impl ::std::default::Default for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {
default() -> Self823     fn default() -> Self {
824         unsafe { ::std::mem::zeroed() }
825     }
826 }
827 impl ::std::fmt::Debug for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result828     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
829         fmt.debug_struct("D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER").field("Type", &self.Type).field("NumDescs", &self.NumDescs).finish()
830     }
831 }
832 impl ::std::cmp::PartialEq for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {
eq(&self, other: &Self) -> bool833     fn eq(&self, other: &Self) -> bool {
834         self.Type == other.Type && self.NumDescs == other.NumDescs
835     }
836 }
837 impl ::std::cmp::Eq for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {}
838 unsafe impl ::windows::runtime::Abi for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {
839     type Abi = Self;
840     type DefaultType = Self;
841 }
842 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
843 #[repr(C)]
844 pub struct D3D12_CACHED_PIPELINE_STATE {
845     pub pCachedBlob: *mut ::std::ffi::c_void,
846     pub CachedBlobSizeInBytes: usize,
847 }
848 impl D3D12_CACHED_PIPELINE_STATE {}
849 impl ::std::default::Default for D3D12_CACHED_PIPELINE_STATE {
default() -> Self850     fn default() -> Self {
851         unsafe { ::std::mem::zeroed() }
852     }
853 }
854 impl ::std::fmt::Debug for D3D12_CACHED_PIPELINE_STATE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result855     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
856         fmt.debug_struct("D3D12_CACHED_PIPELINE_STATE").field("pCachedBlob", &self.pCachedBlob).field("CachedBlobSizeInBytes", &self.CachedBlobSizeInBytes).finish()
857     }
858 }
859 impl ::std::cmp::PartialEq for D3D12_CACHED_PIPELINE_STATE {
eq(&self, other: &Self) -> bool860     fn eq(&self, other: &Self) -> bool {
861         self.pCachedBlob == other.pCachedBlob && self.CachedBlobSizeInBytes == other.CachedBlobSizeInBytes
862     }
863 }
864 impl ::std::cmp::Eq for D3D12_CACHED_PIPELINE_STATE {}
865 unsafe impl ::windows::runtime::Abi for D3D12_CACHED_PIPELINE_STATE {
866     type Abi = Self;
867     type DefaultType = Self;
868 }
869 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
870 #[repr(transparent)]
871 pub struct D3D12_CLEAR_FLAGS(pub u32);
872 pub const D3D12_CLEAR_FLAG_DEPTH: D3D12_CLEAR_FLAGS = D3D12_CLEAR_FLAGS(1u32);
873 pub const D3D12_CLEAR_FLAG_STENCIL: D3D12_CLEAR_FLAGS = D3D12_CLEAR_FLAGS(2u32);
874 impl ::std::convert::From<u32> for D3D12_CLEAR_FLAGS {
from(value: u32) -> Self875     fn from(value: u32) -> Self {
876         Self(value)
877     }
878 }
879 unsafe impl ::windows::runtime::Abi for D3D12_CLEAR_FLAGS {
880     type Abi = Self;
881     type DefaultType = Self;
882 }
883 impl ::std::ops::BitOr for D3D12_CLEAR_FLAGS {
884     type Output = Self;
bitor(self, rhs: Self) -> Self885     fn bitor(self, rhs: Self) -> Self {
886         Self(self.0 | rhs.0)
887     }
888 }
889 impl ::std::ops::BitAnd for D3D12_CLEAR_FLAGS {
890     type Output = Self;
bitand(self, rhs: Self) -> Self891     fn bitand(self, rhs: Self) -> Self {
892         Self(self.0 & rhs.0)
893     }
894 }
895 impl ::std::ops::BitOrAssign for D3D12_CLEAR_FLAGS {
bitor_assign(&mut self, rhs: Self)896     fn bitor_assign(&mut self, rhs: Self) {
897         self.0.bitor_assign(rhs.0)
898     }
899 }
900 impl ::std::ops::BitAndAssign for D3D12_CLEAR_FLAGS {
bitand_assign(&mut self, rhs: Self)901     fn bitand_assign(&mut self, rhs: Self) {
902         self.0.bitand_assign(rhs.0)
903     }
904 }
905 impl ::std::ops::Not for D3D12_CLEAR_FLAGS {
906     type Output = Self;
not(self) -> Self907     fn not(self) -> Self {
908         Self(self.0.not())
909     }
910 }
911 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
912 #[repr(C)]
913 #[cfg(feature = "Win32_Graphics_Dxgi")]
914 pub struct D3D12_CLEAR_VALUE {
915     pub Format: super::Dxgi::DXGI_FORMAT,
916     pub Anonymous: D3D12_CLEAR_VALUE_0,
917 }
918 #[cfg(feature = "Win32_Graphics_Dxgi")]
919 impl D3D12_CLEAR_VALUE {}
920 #[cfg(feature = "Win32_Graphics_Dxgi")]
921 impl ::std::default::Default for D3D12_CLEAR_VALUE {
default() -> Self922     fn default() -> Self {
923         unsafe { ::std::mem::zeroed() }
924     }
925 }
926 #[cfg(feature = "Win32_Graphics_Dxgi")]
927 impl ::std::cmp::PartialEq for D3D12_CLEAR_VALUE {
eq(&self, _other: &Self) -> bool928     fn eq(&self, _other: &Self) -> bool {
929         unimplemented!()
930     }
931 }
932 #[cfg(feature = "Win32_Graphics_Dxgi")]
933 impl ::std::cmp::Eq for D3D12_CLEAR_VALUE {}
934 #[cfg(feature = "Win32_Graphics_Dxgi")]
935 unsafe impl ::windows::runtime::Abi for D3D12_CLEAR_VALUE {
936     type Abi = Self;
937     type DefaultType = Self;
938 }
939 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
940 #[repr(C)]
941 pub union D3D12_CLEAR_VALUE_0 {
942     pub Color: [f32; 4],
943     pub DepthStencil: D3D12_DEPTH_STENCIL_VALUE,
944 }
945 impl D3D12_CLEAR_VALUE_0 {}
946 impl ::std::default::Default for D3D12_CLEAR_VALUE_0 {
default() -> Self947     fn default() -> Self {
948         unsafe { ::std::mem::zeroed() }
949     }
950 }
951 impl ::std::cmp::PartialEq for D3D12_CLEAR_VALUE_0 {
eq(&self, _other: &Self) -> bool952     fn eq(&self, _other: &Self) -> bool {
953         unimplemented!()
954     }
955 }
956 impl ::std::cmp::Eq for D3D12_CLEAR_VALUE_0 {}
957 unsafe impl ::windows::runtime::Abi for D3D12_CLEAR_VALUE_0 {
958     type Abi = Self;
959     type DefaultType = Self;
960 }
961 pub const D3D12_CLIP_OR_CULL_DISTANCE_COUNT: u32 = 8u32;
962 pub const D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT: u32 = 2u32;
963 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
964 #[repr(transparent)]
965 pub struct D3D12_COLOR_WRITE_ENABLE(pub i32);
966 pub const D3D12_COLOR_WRITE_ENABLE_RED: D3D12_COLOR_WRITE_ENABLE = D3D12_COLOR_WRITE_ENABLE(1i32);
967 pub const D3D12_COLOR_WRITE_ENABLE_GREEN: D3D12_COLOR_WRITE_ENABLE = D3D12_COLOR_WRITE_ENABLE(2i32);
968 pub const D3D12_COLOR_WRITE_ENABLE_BLUE: D3D12_COLOR_WRITE_ENABLE = D3D12_COLOR_WRITE_ENABLE(4i32);
969 pub const D3D12_COLOR_WRITE_ENABLE_ALPHA: D3D12_COLOR_WRITE_ENABLE = D3D12_COLOR_WRITE_ENABLE(8i32);
970 pub const D3D12_COLOR_WRITE_ENABLE_ALL: D3D12_COLOR_WRITE_ENABLE = D3D12_COLOR_WRITE_ENABLE(15i32);
971 impl ::std::convert::From<i32> for D3D12_COLOR_WRITE_ENABLE {
from(value: i32) -> Self972     fn from(value: i32) -> Self {
973         Self(value)
974     }
975 }
976 unsafe impl ::windows::runtime::Abi for D3D12_COLOR_WRITE_ENABLE {
977     type Abi = Self;
978     type DefaultType = Self;
979 }
980 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
981 #[repr(transparent)]
982 pub struct D3D12_COMMAND_LIST_FLAGS(pub u32);
983 pub const D3D12_COMMAND_LIST_FLAG_NONE: D3D12_COMMAND_LIST_FLAGS = D3D12_COMMAND_LIST_FLAGS(0u32);
984 impl ::std::convert::From<u32> for D3D12_COMMAND_LIST_FLAGS {
from(value: u32) -> Self985     fn from(value: u32) -> Self {
986         Self(value)
987     }
988 }
989 unsafe impl ::windows::runtime::Abi for D3D12_COMMAND_LIST_FLAGS {
990     type Abi = Self;
991     type DefaultType = Self;
992 }
993 impl ::std::ops::BitOr for D3D12_COMMAND_LIST_FLAGS {
994     type Output = Self;
bitor(self, rhs: Self) -> Self995     fn bitor(self, rhs: Self) -> Self {
996         Self(self.0 | rhs.0)
997     }
998 }
999 impl ::std::ops::BitAnd for D3D12_COMMAND_LIST_FLAGS {
1000     type Output = Self;
bitand(self, rhs: Self) -> Self1001     fn bitand(self, rhs: Self) -> Self {
1002         Self(self.0 & rhs.0)
1003     }
1004 }
1005 impl ::std::ops::BitOrAssign for D3D12_COMMAND_LIST_FLAGS {
bitor_assign(&mut self, rhs: Self)1006     fn bitor_assign(&mut self, rhs: Self) {
1007         self.0.bitor_assign(rhs.0)
1008     }
1009 }
1010 impl ::std::ops::BitAndAssign for D3D12_COMMAND_LIST_FLAGS {
bitand_assign(&mut self, rhs: Self)1011     fn bitand_assign(&mut self, rhs: Self) {
1012         self.0.bitand_assign(rhs.0)
1013     }
1014 }
1015 impl ::std::ops::Not for D3D12_COMMAND_LIST_FLAGS {
1016     type Output = Self;
not(self) -> Self1017     fn not(self) -> Self {
1018         Self(self.0.not())
1019     }
1020 }
1021 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1022 #[repr(transparent)]
1023 pub struct D3D12_COMMAND_LIST_SUPPORT_FLAGS(pub u32);
1024 pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(0u32);
1025 pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(1u32);
1026 pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_BUNDLE: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(2u32);
1027 pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_COMPUTE: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(4u32);
1028 pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(8u32);
1029 pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(16u32);
1030 pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(32u32);
1031 pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(64u32);
1032 impl ::std::convert::From<u32> for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
from(value: u32) -> Self1033     fn from(value: u32) -> Self {
1034         Self(value)
1035     }
1036 }
1037 unsafe impl ::windows::runtime::Abi for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
1038     type Abi = Self;
1039     type DefaultType = Self;
1040 }
1041 impl ::std::ops::BitOr for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
1042     type Output = Self;
bitor(self, rhs: Self) -> Self1043     fn bitor(self, rhs: Self) -> Self {
1044         Self(self.0 | rhs.0)
1045     }
1046 }
1047 impl ::std::ops::BitAnd for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
1048     type Output = Self;
bitand(self, rhs: Self) -> Self1049     fn bitand(self, rhs: Self) -> Self {
1050         Self(self.0 & rhs.0)
1051     }
1052 }
1053 impl ::std::ops::BitOrAssign for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
bitor_assign(&mut self, rhs: Self)1054     fn bitor_assign(&mut self, rhs: Self) {
1055         self.0.bitor_assign(rhs.0)
1056     }
1057 }
1058 impl ::std::ops::BitAndAssign for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
bitand_assign(&mut self, rhs: Self)1059     fn bitand_assign(&mut self, rhs: Self) {
1060         self.0.bitand_assign(rhs.0)
1061     }
1062 }
1063 impl ::std::ops::Not for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
1064     type Output = Self;
not(self) -> Self1065     fn not(self) -> Self {
1066         Self(self.0.not())
1067     }
1068 }
1069 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1070 #[repr(transparent)]
1071 pub struct D3D12_COMMAND_LIST_TYPE(pub i32);
1072 pub const D3D12_COMMAND_LIST_TYPE_DIRECT: D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE(0i32);
1073 pub const D3D12_COMMAND_LIST_TYPE_BUNDLE: D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE(1i32);
1074 pub const D3D12_COMMAND_LIST_TYPE_COMPUTE: D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE(2i32);
1075 pub const D3D12_COMMAND_LIST_TYPE_COPY: D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE(3i32);
1076 pub const D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE: D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE(4i32);
1077 pub const D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS: D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE(5i32);
1078 pub const D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE: D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE(6i32);
1079 impl ::std::convert::From<i32> for D3D12_COMMAND_LIST_TYPE {
from(value: i32) -> Self1080     fn from(value: i32) -> Self {
1081         Self(value)
1082     }
1083 }
1084 unsafe impl ::windows::runtime::Abi for D3D12_COMMAND_LIST_TYPE {
1085     type Abi = Self;
1086     type DefaultType = Self;
1087 }
1088 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1089 #[repr(transparent)]
1090 pub struct D3D12_COMMAND_POOL_FLAGS(pub u32);
1091 pub const D3D12_COMMAND_POOL_FLAG_NONE: D3D12_COMMAND_POOL_FLAGS = D3D12_COMMAND_POOL_FLAGS(0u32);
1092 impl ::std::convert::From<u32> for D3D12_COMMAND_POOL_FLAGS {
from(value: u32) -> Self1093     fn from(value: u32) -> Self {
1094         Self(value)
1095     }
1096 }
1097 unsafe impl ::windows::runtime::Abi for D3D12_COMMAND_POOL_FLAGS {
1098     type Abi = Self;
1099     type DefaultType = Self;
1100 }
1101 impl ::std::ops::BitOr for D3D12_COMMAND_POOL_FLAGS {
1102     type Output = Self;
bitor(self, rhs: Self) -> Self1103     fn bitor(self, rhs: Self) -> Self {
1104         Self(self.0 | rhs.0)
1105     }
1106 }
1107 impl ::std::ops::BitAnd for D3D12_COMMAND_POOL_FLAGS {
1108     type Output = Self;
bitand(self, rhs: Self) -> Self1109     fn bitand(self, rhs: Self) -> Self {
1110         Self(self.0 & rhs.0)
1111     }
1112 }
1113 impl ::std::ops::BitOrAssign for D3D12_COMMAND_POOL_FLAGS {
bitor_assign(&mut self, rhs: Self)1114     fn bitor_assign(&mut self, rhs: Self) {
1115         self.0.bitor_assign(rhs.0)
1116     }
1117 }
1118 impl ::std::ops::BitAndAssign for D3D12_COMMAND_POOL_FLAGS {
bitand_assign(&mut self, rhs: Self)1119     fn bitand_assign(&mut self, rhs: Self) {
1120         self.0.bitand_assign(rhs.0)
1121     }
1122 }
1123 impl ::std::ops::Not for D3D12_COMMAND_POOL_FLAGS {
1124     type Output = Self;
not(self) -> Self1125     fn not(self) -> Self {
1126         Self(self.0.not())
1127     }
1128 }
1129 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1130 #[repr(C)]
1131 pub struct D3D12_COMMAND_QUEUE_DESC {
1132     pub Type: D3D12_COMMAND_LIST_TYPE,
1133     pub Priority: i32,
1134     pub Flags: D3D12_COMMAND_QUEUE_FLAGS,
1135     pub NodeMask: u32,
1136 }
1137 impl D3D12_COMMAND_QUEUE_DESC {}
1138 impl ::std::default::Default for D3D12_COMMAND_QUEUE_DESC {
default() -> Self1139     fn default() -> Self {
1140         unsafe { ::std::mem::zeroed() }
1141     }
1142 }
1143 impl ::std::fmt::Debug for D3D12_COMMAND_QUEUE_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1144     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1145         fmt.debug_struct("D3D12_COMMAND_QUEUE_DESC").field("Type", &self.Type).field("Priority", &self.Priority).field("Flags", &self.Flags).field("NodeMask", &self.NodeMask).finish()
1146     }
1147 }
1148 impl ::std::cmp::PartialEq for D3D12_COMMAND_QUEUE_DESC {
eq(&self, other: &Self) -> bool1149     fn eq(&self, other: &Self) -> bool {
1150         self.Type == other.Type && self.Priority == other.Priority && self.Flags == other.Flags && self.NodeMask == other.NodeMask
1151     }
1152 }
1153 impl ::std::cmp::Eq for D3D12_COMMAND_QUEUE_DESC {}
1154 unsafe impl ::windows::runtime::Abi for D3D12_COMMAND_QUEUE_DESC {
1155     type Abi = Self;
1156     type DefaultType = Self;
1157 }
1158 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1159 #[repr(transparent)]
1160 pub struct D3D12_COMMAND_QUEUE_FLAGS(pub u32);
1161 pub const D3D12_COMMAND_QUEUE_FLAG_NONE: D3D12_COMMAND_QUEUE_FLAGS = D3D12_COMMAND_QUEUE_FLAGS(0u32);
1162 pub const D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT: D3D12_COMMAND_QUEUE_FLAGS = D3D12_COMMAND_QUEUE_FLAGS(1u32);
1163 impl ::std::convert::From<u32> for D3D12_COMMAND_QUEUE_FLAGS {
from(value: u32) -> Self1164     fn from(value: u32) -> Self {
1165         Self(value)
1166     }
1167 }
1168 unsafe impl ::windows::runtime::Abi for D3D12_COMMAND_QUEUE_FLAGS {
1169     type Abi = Self;
1170     type DefaultType = Self;
1171 }
1172 impl ::std::ops::BitOr for D3D12_COMMAND_QUEUE_FLAGS {
1173     type Output = Self;
bitor(self, rhs: Self) -> Self1174     fn bitor(self, rhs: Self) -> Self {
1175         Self(self.0 | rhs.0)
1176     }
1177 }
1178 impl ::std::ops::BitAnd for D3D12_COMMAND_QUEUE_FLAGS {
1179     type Output = Self;
bitand(self, rhs: Self) -> Self1180     fn bitand(self, rhs: Self) -> Self {
1181         Self(self.0 & rhs.0)
1182     }
1183 }
1184 impl ::std::ops::BitOrAssign for D3D12_COMMAND_QUEUE_FLAGS {
bitor_assign(&mut self, rhs: Self)1185     fn bitor_assign(&mut self, rhs: Self) {
1186         self.0.bitor_assign(rhs.0)
1187     }
1188 }
1189 impl ::std::ops::BitAndAssign for D3D12_COMMAND_QUEUE_FLAGS {
bitand_assign(&mut self, rhs: Self)1190     fn bitand_assign(&mut self, rhs: Self) {
1191         self.0.bitand_assign(rhs.0)
1192     }
1193 }
1194 impl ::std::ops::Not for D3D12_COMMAND_QUEUE_FLAGS {
1195     type Output = Self;
not(self) -> Self1196     fn not(self) -> Self {
1197         Self(self.0.not())
1198     }
1199 }
1200 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1201 #[repr(transparent)]
1202 pub struct D3D12_COMMAND_QUEUE_PRIORITY(pub i32);
1203 pub const D3D12_COMMAND_QUEUE_PRIORITY_NORMAL: D3D12_COMMAND_QUEUE_PRIORITY = D3D12_COMMAND_QUEUE_PRIORITY(0i32);
1204 pub const D3D12_COMMAND_QUEUE_PRIORITY_HIGH: D3D12_COMMAND_QUEUE_PRIORITY = D3D12_COMMAND_QUEUE_PRIORITY(100i32);
1205 pub const D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME: D3D12_COMMAND_QUEUE_PRIORITY = D3D12_COMMAND_QUEUE_PRIORITY(10000i32);
1206 impl ::std::convert::From<i32> for D3D12_COMMAND_QUEUE_PRIORITY {
from(value: i32) -> Self1207     fn from(value: i32) -> Self {
1208         Self(value)
1209     }
1210 }
1211 unsafe impl ::windows::runtime::Abi for D3D12_COMMAND_QUEUE_PRIORITY {
1212     type Abi = Self;
1213     type DefaultType = Self;
1214 }
1215 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1216 #[repr(transparent)]
1217 pub struct D3D12_COMMAND_RECORDER_FLAGS(pub u32);
1218 pub const D3D12_COMMAND_RECORDER_FLAG_NONE: D3D12_COMMAND_RECORDER_FLAGS = D3D12_COMMAND_RECORDER_FLAGS(0u32);
1219 impl ::std::convert::From<u32> for D3D12_COMMAND_RECORDER_FLAGS {
from(value: u32) -> Self1220     fn from(value: u32) -> Self {
1221         Self(value)
1222     }
1223 }
1224 unsafe impl ::windows::runtime::Abi for D3D12_COMMAND_RECORDER_FLAGS {
1225     type Abi = Self;
1226     type DefaultType = Self;
1227 }
1228 impl ::std::ops::BitOr for D3D12_COMMAND_RECORDER_FLAGS {
1229     type Output = Self;
bitor(self, rhs: Self) -> Self1230     fn bitor(self, rhs: Self) -> Self {
1231         Self(self.0 | rhs.0)
1232     }
1233 }
1234 impl ::std::ops::BitAnd for D3D12_COMMAND_RECORDER_FLAGS {
1235     type Output = Self;
bitand(self, rhs: Self) -> Self1236     fn bitand(self, rhs: Self) -> Self {
1237         Self(self.0 & rhs.0)
1238     }
1239 }
1240 impl ::std::ops::BitOrAssign for D3D12_COMMAND_RECORDER_FLAGS {
bitor_assign(&mut self, rhs: Self)1241     fn bitor_assign(&mut self, rhs: Self) {
1242         self.0.bitor_assign(rhs.0)
1243     }
1244 }
1245 impl ::std::ops::BitAndAssign for D3D12_COMMAND_RECORDER_FLAGS {
bitand_assign(&mut self, rhs: Self)1246     fn bitand_assign(&mut self, rhs: Self) {
1247         self.0.bitand_assign(rhs.0)
1248     }
1249 }
1250 impl ::std::ops::Not for D3D12_COMMAND_RECORDER_FLAGS {
1251     type Output = Self;
not(self) -> Self1252     fn not(self) -> Self {
1253         Self(self.0.not())
1254     }
1255 }
1256 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1257 #[repr(C)]
1258 pub struct D3D12_COMMAND_SIGNATURE_DESC {
1259     pub ByteStride: u32,
1260     pub NumArgumentDescs: u32,
1261     pub pArgumentDescs: *mut D3D12_INDIRECT_ARGUMENT_DESC,
1262     pub NodeMask: u32,
1263 }
1264 impl D3D12_COMMAND_SIGNATURE_DESC {}
1265 impl ::std::default::Default for D3D12_COMMAND_SIGNATURE_DESC {
default() -> Self1266     fn default() -> Self {
1267         unsafe { ::std::mem::zeroed() }
1268     }
1269 }
1270 impl ::std::fmt::Debug for D3D12_COMMAND_SIGNATURE_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1271     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1272         fmt.debug_struct("D3D12_COMMAND_SIGNATURE_DESC").field("ByteStride", &self.ByteStride).field("NumArgumentDescs", &self.NumArgumentDescs).field("pArgumentDescs", &self.pArgumentDescs).field("NodeMask", &self.NodeMask).finish()
1273     }
1274 }
1275 impl ::std::cmp::PartialEq for D3D12_COMMAND_SIGNATURE_DESC {
eq(&self, other: &Self) -> bool1276     fn eq(&self, other: &Self) -> bool {
1277         self.ByteStride == other.ByteStride && self.NumArgumentDescs == other.NumArgumentDescs && self.pArgumentDescs == other.pArgumentDescs && self.NodeMask == other.NodeMask
1278     }
1279 }
1280 impl ::std::cmp::Eq for D3D12_COMMAND_SIGNATURE_DESC {}
1281 unsafe impl ::windows::runtime::Abi for D3D12_COMMAND_SIGNATURE_DESC {
1282     type Abi = Self;
1283     type DefaultType = Self;
1284 }
1285 pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT: u32 = 14u32;
1286 pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS: u32 = 4u32;
1287 pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT: u32 = 32u32;
1288 pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT: u32 = 15u32;
1289 pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT: u32 = 16u32;
1290 pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS: u32 = 4u32;
1291 pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT: u32 = 15u32;
1292 pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST: u32 = 1u32;
1293 pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS: u32 = 1u32;
1294 pub const D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT: u32 = 64u32;
1295 pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS: u32 = 4u32;
1296 pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT: u32 = 1u32;
1297 pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST: u32 = 1u32;
1298 pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS: u32 = 1u32;
1299 pub const D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT: u32 = 32u32;
1300 pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS: u32 = 1u32;
1301 pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT: u32 = 128u32;
1302 pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST: u32 = 1u32;
1303 pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS: u32 = 1u32;
1304 pub const D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT: u32 = 128u32;
1305 pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS: u32 = 1u32;
1306 pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT: u32 = 16u32;
1307 pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST: u32 = 1u32;
1308 pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS: u32 = 1u32;
1309 pub const D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT: u32 = 16u32;
1310 pub const D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT: u32 = 32u32;
1311 pub const D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS: u32 = 4u32;
1312 pub const D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
1313 pub const D3D12_COMMONSHADER_TEMP_REGISTER_COUNT: u32 = 4096u32;
1314 pub const D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST: u32 = 3u32;
1315 pub const D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS: u32 = 3u32;
1316 pub const D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX: u32 = 10u32;
1317 pub const D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN: i32 = -10i32;
1318 pub const D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE: i32 = -8i32;
1319 pub const D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE: u32 = 7u32;
1320 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1321 #[repr(transparent)]
1322 pub struct D3D12_COMPARISON_FUNC(pub i32);
1323 pub const D3D12_COMPARISON_FUNC_NEVER: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(1i32);
1324 pub const D3D12_COMPARISON_FUNC_LESS: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(2i32);
1325 pub const D3D12_COMPARISON_FUNC_EQUAL: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(3i32);
1326 pub const D3D12_COMPARISON_FUNC_LESS_EQUAL: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(4i32);
1327 pub const D3D12_COMPARISON_FUNC_GREATER: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(5i32);
1328 pub const D3D12_COMPARISON_FUNC_NOT_EQUAL: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(6i32);
1329 pub const D3D12_COMPARISON_FUNC_GREATER_EQUAL: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(7i32);
1330 pub const D3D12_COMPARISON_FUNC_ALWAYS: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(8i32);
1331 impl ::std::convert::From<i32> for D3D12_COMPARISON_FUNC {
from(value: i32) -> Self1332     fn from(value: i32) -> Self {
1333         Self(value)
1334     }
1335 }
1336 unsafe impl ::windows::runtime::Abi for D3D12_COMPARISON_FUNC {
1337     type Abi = Self;
1338     type DefaultType = Self;
1339 }
1340 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1341 #[repr(transparent)]
1342 pub struct D3D12_COMPATIBILITY_SHARED_FLAGS(pub u32);
1343 pub const D3D12_COMPATIBILITY_SHARED_FLAG_NONE: D3D12_COMPATIBILITY_SHARED_FLAGS = D3D12_COMPATIBILITY_SHARED_FLAGS(0u32);
1344 pub const D3D12_COMPATIBILITY_SHARED_FLAG_NON_NT_HANDLE: D3D12_COMPATIBILITY_SHARED_FLAGS = D3D12_COMPATIBILITY_SHARED_FLAGS(1u32);
1345 pub const D3D12_COMPATIBILITY_SHARED_FLAG_KEYED_MUTEX: D3D12_COMPATIBILITY_SHARED_FLAGS = D3D12_COMPATIBILITY_SHARED_FLAGS(2u32);
1346 pub const D3D12_COMPATIBILITY_SHARED_FLAG_9_ON_12: D3D12_COMPATIBILITY_SHARED_FLAGS = D3D12_COMPATIBILITY_SHARED_FLAGS(4u32);
1347 impl ::std::convert::From<u32> for D3D12_COMPATIBILITY_SHARED_FLAGS {
from(value: u32) -> Self1348     fn from(value: u32) -> Self {
1349         Self(value)
1350     }
1351 }
1352 unsafe impl ::windows::runtime::Abi for D3D12_COMPATIBILITY_SHARED_FLAGS {
1353     type Abi = Self;
1354     type DefaultType = Self;
1355 }
1356 impl ::std::ops::BitOr for D3D12_COMPATIBILITY_SHARED_FLAGS {
1357     type Output = Self;
bitor(self, rhs: Self) -> Self1358     fn bitor(self, rhs: Self) -> Self {
1359         Self(self.0 | rhs.0)
1360     }
1361 }
1362 impl ::std::ops::BitAnd for D3D12_COMPATIBILITY_SHARED_FLAGS {
1363     type Output = Self;
bitand(self, rhs: Self) -> Self1364     fn bitand(self, rhs: Self) -> Self {
1365         Self(self.0 & rhs.0)
1366     }
1367 }
1368 impl ::std::ops::BitOrAssign for D3D12_COMPATIBILITY_SHARED_FLAGS {
bitor_assign(&mut self, rhs: Self)1369     fn bitor_assign(&mut self, rhs: Self) {
1370         self.0.bitor_assign(rhs.0)
1371     }
1372 }
1373 impl ::std::ops::BitAndAssign for D3D12_COMPATIBILITY_SHARED_FLAGS {
bitand_assign(&mut self, rhs: Self)1374     fn bitand_assign(&mut self, rhs: Self) {
1375         self.0.bitand_assign(rhs.0)
1376     }
1377 }
1378 impl ::std::ops::Not for D3D12_COMPATIBILITY_SHARED_FLAGS {
1379     type Output = Self;
not(self) -> Self1380     fn not(self) -> Self {
1381         Self(self.0.not())
1382     }
1383 }
1384 #[derive(:: std :: clone :: Clone)]
1385 #[repr(C)]
1386 pub struct D3D12_COMPUTE_PIPELINE_STATE_DESC {
1387     pub pRootSignature: ::std::option::Option<ID3D12RootSignature>,
1388     pub CS: D3D12_SHADER_BYTECODE,
1389     pub NodeMask: u32,
1390     pub CachedPSO: D3D12_CACHED_PIPELINE_STATE,
1391     pub Flags: D3D12_PIPELINE_STATE_FLAGS,
1392 }
1393 impl D3D12_COMPUTE_PIPELINE_STATE_DESC {}
1394 impl ::std::default::Default for D3D12_COMPUTE_PIPELINE_STATE_DESC {
default() -> Self1395     fn default() -> Self {
1396         unsafe { ::std::mem::zeroed() }
1397     }
1398 }
1399 impl ::std::fmt::Debug for D3D12_COMPUTE_PIPELINE_STATE_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1400     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1401         fmt.debug_struct("D3D12_COMPUTE_PIPELINE_STATE_DESC").field("pRootSignature", &self.pRootSignature).field("CS", &self.CS).field("NodeMask", &self.NodeMask).field("CachedPSO", &self.CachedPSO).field("Flags", &self.Flags).finish()
1402     }
1403 }
1404 impl ::std::cmp::PartialEq for D3D12_COMPUTE_PIPELINE_STATE_DESC {
eq(&self, other: &Self) -> bool1405     fn eq(&self, other: &Self) -> bool {
1406         self.pRootSignature == other.pRootSignature && self.CS == other.CS && self.NodeMask == other.NodeMask && self.CachedPSO == other.CachedPSO && self.Flags == other.Flags
1407     }
1408 }
1409 impl ::std::cmp::Eq for D3D12_COMPUTE_PIPELINE_STATE_DESC {}
1410 unsafe impl ::windows::runtime::Abi for D3D12_COMPUTE_PIPELINE_STATE_DESC {
1411     type Abi = ::std::mem::ManuallyDrop<Self>;
1412     type DefaultType = Self;
1413 }
1414 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1415 #[repr(transparent)]
1416 pub struct D3D12_CONSERVATIVE_RASTERIZATION_MODE(pub i32);
1417 pub const D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF: D3D12_CONSERVATIVE_RASTERIZATION_MODE = D3D12_CONSERVATIVE_RASTERIZATION_MODE(0i32);
1418 pub const D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON: D3D12_CONSERVATIVE_RASTERIZATION_MODE = D3D12_CONSERVATIVE_RASTERIZATION_MODE(1i32);
1419 impl ::std::convert::From<i32> for D3D12_CONSERVATIVE_RASTERIZATION_MODE {
from(value: i32) -> Self1420     fn from(value: i32) -> Self {
1421         Self(value)
1422     }
1423 }
1424 unsafe impl ::windows::runtime::Abi for D3D12_CONSERVATIVE_RASTERIZATION_MODE {
1425     type Abi = Self;
1426     type DefaultType = Self;
1427 }
1428 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1429 #[repr(transparent)]
1430 pub struct D3D12_CONSERVATIVE_RASTERIZATION_TIER(pub i32);
1431 pub const D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED: D3D12_CONSERVATIVE_RASTERIZATION_TIER = D3D12_CONSERVATIVE_RASTERIZATION_TIER(0i32);
1432 pub const D3D12_CONSERVATIVE_RASTERIZATION_TIER_1: D3D12_CONSERVATIVE_RASTERIZATION_TIER = D3D12_CONSERVATIVE_RASTERIZATION_TIER(1i32);
1433 pub const D3D12_CONSERVATIVE_RASTERIZATION_TIER_2: D3D12_CONSERVATIVE_RASTERIZATION_TIER = D3D12_CONSERVATIVE_RASTERIZATION_TIER(2i32);
1434 pub const D3D12_CONSERVATIVE_RASTERIZATION_TIER_3: D3D12_CONSERVATIVE_RASTERIZATION_TIER = D3D12_CONSERVATIVE_RASTERIZATION_TIER(3i32);
1435 impl ::std::convert::From<i32> for D3D12_CONSERVATIVE_RASTERIZATION_TIER {
from(value: i32) -> Self1436     fn from(value: i32) -> Self {
1437         Self(value)
1438     }
1439 }
1440 unsafe impl ::windows::runtime::Abi for D3D12_CONSERVATIVE_RASTERIZATION_TIER {
1441     type Abi = Self;
1442     type DefaultType = Self;
1443 }
1444 pub const D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT: u32 = 256u32;
1445 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1446 #[repr(C)]
1447 pub struct D3D12_CONSTANT_BUFFER_VIEW_DESC {
1448     pub BufferLocation: u64,
1449     pub SizeInBytes: u32,
1450 }
1451 impl D3D12_CONSTANT_BUFFER_VIEW_DESC {}
1452 impl ::std::default::Default for D3D12_CONSTANT_BUFFER_VIEW_DESC {
default() -> Self1453     fn default() -> Self {
1454         unsafe { ::std::mem::zeroed() }
1455     }
1456 }
1457 impl ::std::fmt::Debug for D3D12_CONSTANT_BUFFER_VIEW_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1458     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1459         fmt.debug_struct("D3D12_CONSTANT_BUFFER_VIEW_DESC").field("BufferLocation", &self.BufferLocation).field("SizeInBytes", &self.SizeInBytes).finish()
1460     }
1461 }
1462 impl ::std::cmp::PartialEq for D3D12_CONSTANT_BUFFER_VIEW_DESC {
eq(&self, other: &Self) -> bool1463     fn eq(&self, other: &Self) -> bool {
1464         self.BufferLocation == other.BufferLocation && self.SizeInBytes == other.SizeInBytes
1465     }
1466 }
1467 impl ::std::cmp::Eq for D3D12_CONSTANT_BUFFER_VIEW_DESC {}
1468 unsafe impl ::windows::runtime::Abi for D3D12_CONSTANT_BUFFER_VIEW_DESC {
1469     type Abi = Self;
1470     type DefaultType = Self;
1471 }
1472 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1473 #[repr(C)]
1474 pub struct D3D12_CPU_DESCRIPTOR_HANDLE {
1475     pub ptr: usize,
1476 }
1477 impl D3D12_CPU_DESCRIPTOR_HANDLE {}
1478 impl ::std::default::Default for D3D12_CPU_DESCRIPTOR_HANDLE {
default() -> Self1479     fn default() -> Self {
1480         unsafe { ::std::mem::zeroed() }
1481     }
1482 }
1483 impl ::std::fmt::Debug for D3D12_CPU_DESCRIPTOR_HANDLE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1484     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1485         fmt.debug_struct("D3D12_CPU_DESCRIPTOR_HANDLE").field("ptr", &self.ptr).finish()
1486     }
1487 }
1488 impl ::std::cmp::PartialEq for D3D12_CPU_DESCRIPTOR_HANDLE {
eq(&self, other: &Self) -> bool1489     fn eq(&self, other: &Self) -> bool {
1490         self.ptr == other.ptr
1491     }
1492 }
1493 impl ::std::cmp::Eq for D3D12_CPU_DESCRIPTOR_HANDLE {}
1494 unsafe impl ::windows::runtime::Abi for D3D12_CPU_DESCRIPTOR_HANDLE {
1495     type Abi = Self;
1496     type DefaultType = Self;
1497 }
1498 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1499 #[repr(transparent)]
1500 pub struct D3D12_CPU_PAGE_PROPERTY(pub i32);
1501 pub const D3D12_CPU_PAGE_PROPERTY_UNKNOWN: D3D12_CPU_PAGE_PROPERTY = D3D12_CPU_PAGE_PROPERTY(0i32);
1502 pub const D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE: D3D12_CPU_PAGE_PROPERTY = D3D12_CPU_PAGE_PROPERTY(1i32);
1503 pub const D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE: D3D12_CPU_PAGE_PROPERTY = D3D12_CPU_PAGE_PROPERTY(2i32);
1504 pub const D3D12_CPU_PAGE_PROPERTY_WRITE_BACK: D3D12_CPU_PAGE_PROPERTY = D3D12_CPU_PAGE_PROPERTY(3i32);
1505 impl ::std::convert::From<i32> for D3D12_CPU_PAGE_PROPERTY {
from(value: i32) -> Self1506     fn from(value: i32) -> Self {
1507         Self(value)
1508     }
1509 }
1510 unsafe impl ::windows::runtime::Abi for D3D12_CPU_PAGE_PROPERTY {
1511     type Abi = Self;
1512     type DefaultType = Self;
1513 }
1514 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1515 #[repr(transparent)]
1516 pub struct D3D12_CROSS_NODE_SHARING_TIER(pub i32);
1517 pub const D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED: D3D12_CROSS_NODE_SHARING_TIER = D3D12_CROSS_NODE_SHARING_TIER(0i32);
1518 pub const D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED: D3D12_CROSS_NODE_SHARING_TIER = D3D12_CROSS_NODE_SHARING_TIER(1i32);
1519 pub const D3D12_CROSS_NODE_SHARING_TIER_1: D3D12_CROSS_NODE_SHARING_TIER = D3D12_CROSS_NODE_SHARING_TIER(2i32);
1520 pub const D3D12_CROSS_NODE_SHARING_TIER_2: D3D12_CROSS_NODE_SHARING_TIER = D3D12_CROSS_NODE_SHARING_TIER(3i32);
1521 pub const D3D12_CROSS_NODE_SHARING_TIER_3: D3D12_CROSS_NODE_SHARING_TIER = D3D12_CROSS_NODE_SHARING_TIER(4i32);
1522 impl ::std::convert::From<i32> for D3D12_CROSS_NODE_SHARING_TIER {
from(value: i32) -> Self1523     fn from(value: i32) -> Self {
1524         Self(value)
1525     }
1526 }
1527 unsafe impl ::windows::runtime::Abi for D3D12_CROSS_NODE_SHARING_TIER {
1528     type Abi = Self;
1529     type DefaultType = Self;
1530 }
1531 pub const D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 256u32;
1532 pub const D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP: u32 = 64u32;
1533 pub const D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 240u32;
1534 pub const D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP: u32 = 68u32;
1535 pub const D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 224u32;
1536 pub const D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP: u32 = 72u32;
1537 pub const D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 208u32;
1538 pub const D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP: u32 = 76u32;
1539 pub const D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 192u32;
1540 pub const D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP: u32 = 84u32;
1541 pub const D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 176u32;
1542 pub const D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP: u32 = 92u32;
1543 pub const D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 160u32;
1544 pub const D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP: u32 = 100u32;
1545 pub const D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 144u32;
1546 pub const D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP: u32 = 112u32;
1547 pub const D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 128u32;
1548 pub const D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP: u32 = 128u32;
1549 pub const D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 112u32;
1550 pub const D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP: u32 = 144u32;
1551 pub const D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 96u32;
1552 pub const D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP: u32 = 168u32;
1553 pub const D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 80u32;
1554 pub const D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP: u32 = 204u32;
1555 pub const D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 64u32;
1556 pub const D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP: u32 = 256u32;
1557 pub const D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 48u32;
1558 pub const D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP: u32 = 340u32;
1559 pub const D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 32u32;
1560 pub const D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP: u32 = 512u32;
1561 pub const D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 16u32;
1562 pub const D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP: u32 = 768u32;
1563 pub const D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION: u32 = 1u32;
1564 pub const D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT: u32 = 256u32;
1565 pub const D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP: u32 = 768u32;
1566 pub const D3D12_CS_4_X_THREAD_GROUP_MAX_X: u32 = 768u32;
1567 pub const D3D12_CS_4_X_THREAD_GROUP_MAX_Y: u32 = 768u32;
1568 pub const D3D12_CS_4_X_UAV_REGISTER_COUNT: u32 = 1u32;
1569 pub const D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION: u32 = 65535u32;
1570 pub const D3D12_CS_TGSM_REGISTER_COUNT: u32 = 8192u32;
1571 pub const D3D12_CS_TGSM_REGISTER_READS_PER_INST: u32 = 1u32;
1572 pub const D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS: u32 = 1u32;
1573 pub const D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS: u32 = 1u32;
1574 pub const D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS: u32 = 3u32;
1575 pub const D3D12_CS_THREADGROUPID_REGISTER_COUNT: u32 = 1u32;
1576 pub const D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS: u32 = 1u32;
1577 pub const D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT: u32 = 1u32;
1578 pub const D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS: u32 = 3u32;
1579 pub const D3D12_CS_THREADIDINGROUP_REGISTER_COUNT: u32 = 1u32;
1580 pub const D3D12_CS_THREADID_REGISTER_COMPONENTS: u32 = 3u32;
1581 pub const D3D12_CS_THREADID_REGISTER_COUNT: u32 = 1u32;
1582 pub const D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP: u32 = 1024u32;
1583 pub const D3D12_CS_THREAD_GROUP_MAX_X: u32 = 1024u32;
1584 pub const D3D12_CS_THREAD_GROUP_MAX_Y: u32 = 1024u32;
1585 pub const D3D12_CS_THREAD_GROUP_MAX_Z: u32 = 64u32;
1586 pub const D3D12_CS_THREAD_GROUP_MIN_X: u32 = 1u32;
1587 pub const D3D12_CS_THREAD_GROUP_MIN_Y: u32 = 1u32;
1588 pub const D3D12_CS_THREAD_GROUP_MIN_Z: u32 = 1u32;
1589 pub const D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL: u32 = 16384u32;
1590 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1591 #[repr(transparent)]
1592 pub struct D3D12_CULL_MODE(pub i32);
1593 pub const D3D12_CULL_MODE_NONE: D3D12_CULL_MODE = D3D12_CULL_MODE(1i32);
1594 pub const D3D12_CULL_MODE_FRONT: D3D12_CULL_MODE = D3D12_CULL_MODE(2i32);
1595 pub const D3D12_CULL_MODE_BACK: D3D12_CULL_MODE = D3D12_CULL_MODE(3i32);
1596 impl ::std::convert::From<i32> for D3D12_CULL_MODE {
from(value: i32) -> Self1597     fn from(value: i32) -> Self {
1598         Self(value)
1599     }
1600 }
1601 unsafe impl ::windows::runtime::Abi for D3D12_CULL_MODE {
1602     type Abi = Self;
1603     type DefaultType = Self;
1604 }
1605 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1606 #[repr(C)]
1607 pub struct D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS {
1608     pub ShaderPatchMode: D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE,
1609 }
1610 impl D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS {}
1611 impl ::std::default::Default for D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS {
default() -> Self1612     fn default() -> Self {
1613         unsafe { ::std::mem::zeroed() }
1614     }
1615 }
1616 impl ::std::fmt::Debug for D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1617     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1618         fmt.debug_struct("D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS").field("ShaderPatchMode", &self.ShaderPatchMode).finish()
1619     }
1620 }
1621 impl ::std::cmp::PartialEq for D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS {
eq(&self, other: &Self) -> bool1622     fn eq(&self, other: &Self) -> bool {
1623         self.ShaderPatchMode == other.ShaderPatchMode
1624     }
1625 }
1626 impl ::std::cmp::Eq for D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS {}
1627 unsafe impl ::windows::runtime::Abi for D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS {
1628     type Abi = Self;
1629     type DefaultType = Self;
1630 }
1631 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1632 #[repr(transparent)]
1633 pub struct D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE(pub i32);
1634 pub const D3D12_DEBUG_COMMAND_LIST_PARAMETER_GPU_BASED_VALIDATION_SETTINGS: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE = D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE(0i32);
1635 impl ::std::convert::From<i32> for D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE {
from(value: i32) -> Self1636     fn from(value: i32) -> Self {
1637         Self(value)
1638     }
1639 }
1640 unsafe impl ::windows::runtime::Abi for D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE {
1641     type Abi = Self;
1642     type DefaultType = Self;
1643 }
1644 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1645 #[repr(C)]
1646 pub struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {
1647     pub MaxMessagesPerCommandList: u32,
1648     pub DefaultShaderPatchMode: D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE,
1649     pub PipelineStateCreateFlags: D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS,
1650 }
1651 impl D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {}
1652 impl ::std::default::Default for D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {
default() -> Self1653     fn default() -> Self {
1654         unsafe { ::std::mem::zeroed() }
1655     }
1656 }
1657 impl ::std::fmt::Debug for D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1658     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1659         fmt.debug_struct("D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS").field("MaxMessagesPerCommandList", &self.MaxMessagesPerCommandList).field("DefaultShaderPatchMode", &self.DefaultShaderPatchMode).field("PipelineStateCreateFlags", &self.PipelineStateCreateFlags).finish()
1660     }
1661 }
1662 impl ::std::cmp::PartialEq for D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {
eq(&self, other: &Self) -> bool1663     fn eq(&self, other: &Self) -> bool {
1664         self.MaxMessagesPerCommandList == other.MaxMessagesPerCommandList && self.DefaultShaderPatchMode == other.DefaultShaderPatchMode && self.PipelineStateCreateFlags == other.PipelineStateCreateFlags
1665     }
1666 }
1667 impl ::std::cmp::Eq for D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {}
1668 unsafe impl ::windows::runtime::Abi for D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {
1669     type Abi = Self;
1670     type DefaultType = Self;
1671 }
1672 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1673 #[repr(C)]
1674 pub struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {
1675     pub SlowdownFactor: f32,
1676 }
1677 impl D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {}
1678 impl ::std::default::Default for D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {
default() -> Self1679     fn default() -> Self {
1680         unsafe { ::std::mem::zeroed() }
1681     }
1682 }
1683 impl ::std::fmt::Debug for D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1684     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1685         fmt.debug_struct("D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR").field("SlowdownFactor", &self.SlowdownFactor).finish()
1686     }
1687 }
1688 impl ::std::cmp::PartialEq for D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {
eq(&self, other: &Self) -> bool1689     fn eq(&self, other: &Self) -> bool {
1690         self.SlowdownFactor == other.SlowdownFactor
1691     }
1692 }
1693 impl ::std::cmp::Eq for D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {}
1694 unsafe impl ::windows::runtime::Abi for D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {
1695     type Abi = Self;
1696     type DefaultType = Self;
1697 }
1698 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1699 #[repr(transparent)]
1700 pub struct D3D12_DEBUG_DEVICE_PARAMETER_TYPE(pub i32);
1701 pub const D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS: D3D12_DEBUG_DEVICE_PARAMETER_TYPE = D3D12_DEBUG_DEVICE_PARAMETER_TYPE(0i32);
1702 pub const D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS: D3D12_DEBUG_DEVICE_PARAMETER_TYPE = D3D12_DEBUG_DEVICE_PARAMETER_TYPE(1i32);
1703 pub const D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR: D3D12_DEBUG_DEVICE_PARAMETER_TYPE = D3D12_DEBUG_DEVICE_PARAMETER_TYPE(2i32);
1704 impl ::std::convert::From<i32> for D3D12_DEBUG_DEVICE_PARAMETER_TYPE {
from(value: i32) -> Self1705     fn from(value: i32) -> Self {
1706         Self(value)
1707     }
1708 }
1709 unsafe impl ::windows::runtime::Abi for D3D12_DEBUG_DEVICE_PARAMETER_TYPE {
1710     type Abi = Self;
1711     type DefaultType = Self;
1712 }
1713 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1714 #[repr(transparent)]
1715 pub struct D3D12_DEBUG_FEATURE(pub i32);
1716 pub const D3D12_DEBUG_FEATURE_NONE: D3D12_DEBUG_FEATURE = D3D12_DEBUG_FEATURE(0i32);
1717 pub const D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS: D3D12_DEBUG_FEATURE = D3D12_DEBUG_FEATURE(1i32);
1718 pub const D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING: D3D12_DEBUG_FEATURE = D3D12_DEBUG_FEATURE(2i32);
1719 pub const D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION: D3D12_DEBUG_FEATURE = D3D12_DEBUG_FEATURE(4i32);
1720 pub const D3D12_DEBUG_FEATURE_EMULATE_WINDOWS7: D3D12_DEBUG_FEATURE = D3D12_DEBUG_FEATURE(8i32);
1721 impl ::std::convert::From<i32> for D3D12_DEBUG_FEATURE {
from(value: i32) -> Self1722     fn from(value: i32) -> Self {
1723         Self(value)
1724     }
1725 }
1726 unsafe impl ::windows::runtime::Abi for D3D12_DEBUG_FEATURE {
1727     type Abi = Self;
1728     type DefaultType = Self;
1729 }
1730 pub const D3D12_DEFAULT_BLEND_FACTOR_ALPHA: f32 = 1f32;
1731 pub const D3D12_DEFAULT_BLEND_FACTOR_BLUE: f32 = 1f32;
1732 pub const D3D12_DEFAULT_BLEND_FACTOR_GREEN: f32 = 1f32;
1733 pub const D3D12_DEFAULT_BLEND_FACTOR_RED: f32 = 1f32;
1734 pub const D3D12_DEFAULT_BORDER_COLOR_COMPONENT: f32 = 0f32;
1735 pub const D3D12_DEFAULT_DEPTH_BIAS: i32 = 0i32;
1736 pub const D3D12_DEFAULT_DEPTH_BIAS_CLAMP: f32 = 0f32;
1737 pub const D3D12_DEFAULT_MAX_ANISOTROPY: u32 = 16u32;
1738 pub const D3D12_DEFAULT_MIP_LOD_BIAS: f32 = 0f32;
1739 pub const D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT: u32 = 4194304u32;
1740 pub const D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX: u32 = 0u32;
1741 pub const D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT: u32 = 65536u32;
1742 pub const D3D12_DEFAULT_SAMPLE_MASK: u32 = 4294967295u32;
1743 pub const D3D12_DEFAULT_SCISSOR_ENDX: u32 = 0u32;
1744 pub const D3D12_DEFAULT_SCISSOR_ENDY: u32 = 0u32;
1745 pub const D3D12_DEFAULT_SCISSOR_STARTX: u32 = 0u32;
1746 pub const D3D12_DEFAULT_SCISSOR_STARTY: u32 = 0u32;
1747 pub const D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING: u32 = 5768u32;
1748 pub const D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS: f32 = 0f32;
1749 pub const D3D12_DEFAULT_STENCIL_READ_MASK: u32 = 255u32;
1750 pub const D3D12_DEFAULT_STENCIL_REFERENCE: u32 = 0u32;
1751 pub const D3D12_DEFAULT_STENCIL_WRITE_MASK: u32 = 255u32;
1752 pub const D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX: u32 = 0u32;
1753 pub const D3D12_DEFAULT_VIEWPORT_HEIGHT: u32 = 0u32;
1754 pub const D3D12_DEFAULT_VIEWPORT_MAX_DEPTH: f32 = 0f32;
1755 pub const D3D12_DEFAULT_VIEWPORT_MIN_DEPTH: f32 = 0f32;
1756 pub const D3D12_DEFAULT_VIEWPORT_TOPLEFTX: u32 = 0u32;
1757 pub const D3D12_DEFAULT_VIEWPORT_TOPLEFTY: u32 = 0u32;
1758 pub const D3D12_DEFAULT_VIEWPORT_WIDTH: u32 = 0u32;
1759 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1760 #[repr(C)]
1761 pub struct D3D12_DEPTH_STENCILOP_DESC {
1762     pub StencilFailOp: D3D12_STENCIL_OP,
1763     pub StencilDepthFailOp: D3D12_STENCIL_OP,
1764     pub StencilPassOp: D3D12_STENCIL_OP,
1765     pub StencilFunc: D3D12_COMPARISON_FUNC,
1766 }
1767 impl D3D12_DEPTH_STENCILOP_DESC {}
1768 impl ::std::default::Default for D3D12_DEPTH_STENCILOP_DESC {
default() -> Self1769     fn default() -> Self {
1770         unsafe { ::std::mem::zeroed() }
1771     }
1772 }
1773 impl ::std::fmt::Debug for D3D12_DEPTH_STENCILOP_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1774     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1775         fmt.debug_struct("D3D12_DEPTH_STENCILOP_DESC").field("StencilFailOp", &self.StencilFailOp).field("StencilDepthFailOp", &self.StencilDepthFailOp).field("StencilPassOp", &self.StencilPassOp).field("StencilFunc", &self.StencilFunc).finish()
1776     }
1777 }
1778 impl ::std::cmp::PartialEq for D3D12_DEPTH_STENCILOP_DESC {
eq(&self, other: &Self) -> bool1779     fn eq(&self, other: &Self) -> bool {
1780         self.StencilFailOp == other.StencilFailOp && self.StencilDepthFailOp == other.StencilDepthFailOp && self.StencilPassOp == other.StencilPassOp && self.StencilFunc == other.StencilFunc
1781     }
1782 }
1783 impl ::std::cmp::Eq for D3D12_DEPTH_STENCILOP_DESC {}
1784 unsafe impl ::windows::runtime::Abi for D3D12_DEPTH_STENCILOP_DESC {
1785     type Abi = Self;
1786     type DefaultType = Self;
1787 }
1788 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1789 #[repr(C)]
1790 #[cfg(feature = "Win32_Foundation")]
1791 pub struct D3D12_DEPTH_STENCIL_DESC {
1792     pub DepthEnable: super::super::Foundation::BOOL,
1793     pub DepthWriteMask: D3D12_DEPTH_WRITE_MASK,
1794     pub DepthFunc: D3D12_COMPARISON_FUNC,
1795     pub StencilEnable: super::super::Foundation::BOOL,
1796     pub StencilReadMask: u8,
1797     pub StencilWriteMask: u8,
1798     pub FrontFace: D3D12_DEPTH_STENCILOP_DESC,
1799     pub BackFace: D3D12_DEPTH_STENCILOP_DESC,
1800 }
1801 #[cfg(feature = "Win32_Foundation")]
1802 impl D3D12_DEPTH_STENCIL_DESC {}
1803 #[cfg(feature = "Win32_Foundation")]
1804 impl ::std::default::Default for D3D12_DEPTH_STENCIL_DESC {
default() -> Self1805     fn default() -> Self {
1806         unsafe { ::std::mem::zeroed() }
1807     }
1808 }
1809 #[cfg(feature = "Win32_Foundation")]
1810 impl ::std::fmt::Debug for D3D12_DEPTH_STENCIL_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1811     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1812         fmt.debug_struct("D3D12_DEPTH_STENCIL_DESC")
1813             .field("DepthEnable", &self.DepthEnable)
1814             .field("DepthWriteMask", &self.DepthWriteMask)
1815             .field("DepthFunc", &self.DepthFunc)
1816             .field("StencilEnable", &self.StencilEnable)
1817             .field("StencilReadMask", &self.StencilReadMask)
1818             .field("StencilWriteMask", &self.StencilWriteMask)
1819             .field("FrontFace", &self.FrontFace)
1820             .field("BackFace", &self.BackFace)
1821             .finish()
1822     }
1823 }
1824 #[cfg(feature = "Win32_Foundation")]
1825 impl ::std::cmp::PartialEq for D3D12_DEPTH_STENCIL_DESC {
eq(&self, other: &Self) -> bool1826     fn eq(&self, other: &Self) -> bool {
1827         self.DepthEnable == other.DepthEnable && self.DepthWriteMask == other.DepthWriteMask && self.DepthFunc == other.DepthFunc && self.StencilEnable == other.StencilEnable && self.StencilReadMask == other.StencilReadMask && self.StencilWriteMask == other.StencilWriteMask && self.FrontFace == other.FrontFace && self.BackFace == other.BackFace
1828     }
1829 }
1830 #[cfg(feature = "Win32_Foundation")]
1831 impl ::std::cmp::Eq for D3D12_DEPTH_STENCIL_DESC {}
1832 #[cfg(feature = "Win32_Foundation")]
1833 unsafe impl ::windows::runtime::Abi for D3D12_DEPTH_STENCIL_DESC {
1834     type Abi = Self;
1835     type DefaultType = Self;
1836 }
1837 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1838 #[repr(C)]
1839 #[cfg(feature = "Win32_Foundation")]
1840 pub struct D3D12_DEPTH_STENCIL_DESC1 {
1841     pub DepthEnable: super::super::Foundation::BOOL,
1842     pub DepthWriteMask: D3D12_DEPTH_WRITE_MASK,
1843     pub DepthFunc: D3D12_COMPARISON_FUNC,
1844     pub StencilEnable: super::super::Foundation::BOOL,
1845     pub StencilReadMask: u8,
1846     pub StencilWriteMask: u8,
1847     pub FrontFace: D3D12_DEPTH_STENCILOP_DESC,
1848     pub BackFace: D3D12_DEPTH_STENCILOP_DESC,
1849     pub DepthBoundsTestEnable: super::super::Foundation::BOOL,
1850 }
1851 #[cfg(feature = "Win32_Foundation")]
1852 impl D3D12_DEPTH_STENCIL_DESC1 {}
1853 #[cfg(feature = "Win32_Foundation")]
1854 impl ::std::default::Default for D3D12_DEPTH_STENCIL_DESC1 {
default() -> Self1855     fn default() -> Self {
1856         unsafe { ::std::mem::zeroed() }
1857     }
1858 }
1859 #[cfg(feature = "Win32_Foundation")]
1860 impl ::std::fmt::Debug for D3D12_DEPTH_STENCIL_DESC1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1861     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1862         fmt.debug_struct("D3D12_DEPTH_STENCIL_DESC1")
1863             .field("DepthEnable", &self.DepthEnable)
1864             .field("DepthWriteMask", &self.DepthWriteMask)
1865             .field("DepthFunc", &self.DepthFunc)
1866             .field("StencilEnable", &self.StencilEnable)
1867             .field("StencilReadMask", &self.StencilReadMask)
1868             .field("StencilWriteMask", &self.StencilWriteMask)
1869             .field("FrontFace", &self.FrontFace)
1870             .field("BackFace", &self.BackFace)
1871             .field("DepthBoundsTestEnable", &self.DepthBoundsTestEnable)
1872             .finish()
1873     }
1874 }
1875 #[cfg(feature = "Win32_Foundation")]
1876 impl ::std::cmp::PartialEq for D3D12_DEPTH_STENCIL_DESC1 {
eq(&self, other: &Self) -> bool1877     fn eq(&self, other: &Self) -> bool {
1878         self.DepthEnable == other.DepthEnable && self.DepthWriteMask == other.DepthWriteMask && self.DepthFunc == other.DepthFunc && self.StencilEnable == other.StencilEnable && self.StencilReadMask == other.StencilReadMask && self.StencilWriteMask == other.StencilWriteMask && self.FrontFace == other.FrontFace && self.BackFace == other.BackFace && self.DepthBoundsTestEnable == other.DepthBoundsTestEnable
1879     }
1880 }
1881 #[cfg(feature = "Win32_Foundation")]
1882 impl ::std::cmp::Eq for D3D12_DEPTH_STENCIL_DESC1 {}
1883 #[cfg(feature = "Win32_Foundation")]
1884 unsafe impl ::windows::runtime::Abi for D3D12_DEPTH_STENCIL_DESC1 {
1885     type Abi = Self;
1886     type DefaultType = Self;
1887 }
1888 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1889 #[repr(C)]
1890 pub struct D3D12_DEPTH_STENCIL_VALUE {
1891     pub Depth: f32,
1892     pub Stencil: u8,
1893 }
1894 impl D3D12_DEPTH_STENCIL_VALUE {}
1895 impl ::std::default::Default for D3D12_DEPTH_STENCIL_VALUE {
default() -> Self1896     fn default() -> Self {
1897         unsafe { ::std::mem::zeroed() }
1898     }
1899 }
1900 impl ::std::fmt::Debug for D3D12_DEPTH_STENCIL_VALUE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1901     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1902         fmt.debug_struct("D3D12_DEPTH_STENCIL_VALUE").field("Depth", &self.Depth).field("Stencil", &self.Stencil).finish()
1903     }
1904 }
1905 impl ::std::cmp::PartialEq for D3D12_DEPTH_STENCIL_VALUE {
eq(&self, other: &Self) -> bool1906     fn eq(&self, other: &Self) -> bool {
1907         self.Depth == other.Depth && self.Stencil == other.Stencil
1908     }
1909 }
1910 impl ::std::cmp::Eq for D3D12_DEPTH_STENCIL_VALUE {}
1911 unsafe impl ::windows::runtime::Abi for D3D12_DEPTH_STENCIL_VALUE {
1912     type Abi = Self;
1913     type DefaultType = Self;
1914 }
1915 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1916 #[repr(C)]
1917 #[cfg(feature = "Win32_Graphics_Dxgi")]
1918 pub struct D3D12_DEPTH_STENCIL_VIEW_DESC {
1919     pub Format: super::Dxgi::DXGI_FORMAT,
1920     pub ViewDimension: D3D12_DSV_DIMENSION,
1921     pub Flags: D3D12_DSV_FLAGS,
1922     pub Anonymous: D3D12_DEPTH_STENCIL_VIEW_DESC_0,
1923 }
1924 #[cfg(feature = "Win32_Graphics_Dxgi")]
1925 impl D3D12_DEPTH_STENCIL_VIEW_DESC {}
1926 #[cfg(feature = "Win32_Graphics_Dxgi")]
1927 impl ::std::default::Default for D3D12_DEPTH_STENCIL_VIEW_DESC {
default() -> Self1928     fn default() -> Self {
1929         unsafe { ::std::mem::zeroed() }
1930     }
1931 }
1932 #[cfg(feature = "Win32_Graphics_Dxgi")]
1933 impl ::std::cmp::PartialEq for D3D12_DEPTH_STENCIL_VIEW_DESC {
eq(&self, _other: &Self) -> bool1934     fn eq(&self, _other: &Self) -> bool {
1935         unimplemented!()
1936     }
1937 }
1938 #[cfg(feature = "Win32_Graphics_Dxgi")]
1939 impl ::std::cmp::Eq for D3D12_DEPTH_STENCIL_VIEW_DESC {}
1940 #[cfg(feature = "Win32_Graphics_Dxgi")]
1941 unsafe impl ::windows::runtime::Abi for D3D12_DEPTH_STENCIL_VIEW_DESC {
1942     type Abi = Self;
1943     type DefaultType = Self;
1944 }
1945 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1946 #[repr(C)]
1947 pub union D3D12_DEPTH_STENCIL_VIEW_DESC_0 {
1948     pub Texture1D: D3D12_TEX1D_DSV,
1949     pub Texture1DArray: D3D12_TEX1D_ARRAY_DSV,
1950     pub Texture2D: D3D12_TEX2D_DSV,
1951     pub Texture2DArray: D3D12_TEX2D_ARRAY_DSV,
1952     pub Texture2DMS: D3D12_TEX2DMS_DSV,
1953     pub Texture2DMSArray: D3D12_TEX2DMS_ARRAY_DSV,
1954 }
1955 impl D3D12_DEPTH_STENCIL_VIEW_DESC_0 {}
1956 impl ::std::default::Default for D3D12_DEPTH_STENCIL_VIEW_DESC_0 {
default() -> Self1957     fn default() -> Self {
1958         unsafe { ::std::mem::zeroed() }
1959     }
1960 }
1961 impl ::std::cmp::PartialEq for D3D12_DEPTH_STENCIL_VIEW_DESC_0 {
eq(&self, _other: &Self) -> bool1962     fn eq(&self, _other: &Self) -> bool {
1963         unimplemented!()
1964     }
1965 }
1966 impl ::std::cmp::Eq for D3D12_DEPTH_STENCIL_VIEW_DESC_0 {}
1967 unsafe impl ::windows::runtime::Abi for D3D12_DEPTH_STENCIL_VIEW_DESC_0 {
1968     type Abi = Self;
1969     type DefaultType = Self;
1970 }
1971 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1972 #[repr(transparent)]
1973 pub struct D3D12_DEPTH_WRITE_MASK(pub i32);
1974 pub const D3D12_DEPTH_WRITE_MASK_ZERO: D3D12_DEPTH_WRITE_MASK = D3D12_DEPTH_WRITE_MASK(0i32);
1975 pub const D3D12_DEPTH_WRITE_MASK_ALL: D3D12_DEPTH_WRITE_MASK = D3D12_DEPTH_WRITE_MASK(1i32);
1976 impl ::std::convert::From<i32> for D3D12_DEPTH_WRITE_MASK {
from(value: i32) -> Self1977     fn from(value: i32) -> Self {
1978         Self(value)
1979     }
1980 }
1981 unsafe impl ::windows::runtime::Abi for D3D12_DEPTH_WRITE_MASK {
1982     type Abi = Self;
1983     type DefaultType = Self;
1984 }
1985 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1986 #[repr(C)]
1987 pub struct D3D12_DESCRIPTOR_HEAP_DESC {
1988     pub Type: D3D12_DESCRIPTOR_HEAP_TYPE,
1989     pub NumDescriptors: u32,
1990     pub Flags: D3D12_DESCRIPTOR_HEAP_FLAGS,
1991     pub NodeMask: u32,
1992 }
1993 impl D3D12_DESCRIPTOR_HEAP_DESC {}
1994 impl ::std::default::Default for D3D12_DESCRIPTOR_HEAP_DESC {
default() -> Self1995     fn default() -> Self {
1996         unsafe { ::std::mem::zeroed() }
1997     }
1998 }
1999 impl ::std::fmt::Debug for D3D12_DESCRIPTOR_HEAP_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2000     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2001         fmt.debug_struct("D3D12_DESCRIPTOR_HEAP_DESC").field("Type", &self.Type).field("NumDescriptors", &self.NumDescriptors).field("Flags", &self.Flags).field("NodeMask", &self.NodeMask).finish()
2002     }
2003 }
2004 impl ::std::cmp::PartialEq for D3D12_DESCRIPTOR_HEAP_DESC {
eq(&self, other: &Self) -> bool2005     fn eq(&self, other: &Self) -> bool {
2006         self.Type == other.Type && self.NumDescriptors == other.NumDescriptors && self.Flags == other.Flags && self.NodeMask == other.NodeMask
2007     }
2008 }
2009 impl ::std::cmp::Eq for D3D12_DESCRIPTOR_HEAP_DESC {}
2010 unsafe impl ::windows::runtime::Abi for D3D12_DESCRIPTOR_HEAP_DESC {
2011     type Abi = Self;
2012     type DefaultType = Self;
2013 }
2014 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2015 #[repr(transparent)]
2016 pub struct D3D12_DESCRIPTOR_HEAP_FLAGS(pub u32);
2017 pub const D3D12_DESCRIPTOR_HEAP_FLAG_NONE: D3D12_DESCRIPTOR_HEAP_FLAGS = D3D12_DESCRIPTOR_HEAP_FLAGS(0u32);
2018 pub const D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE: D3D12_DESCRIPTOR_HEAP_FLAGS = D3D12_DESCRIPTOR_HEAP_FLAGS(1u32);
2019 impl ::std::convert::From<u32> for D3D12_DESCRIPTOR_HEAP_FLAGS {
from(value: u32) -> Self2020     fn from(value: u32) -> Self {
2021         Self(value)
2022     }
2023 }
2024 unsafe impl ::windows::runtime::Abi for D3D12_DESCRIPTOR_HEAP_FLAGS {
2025     type Abi = Self;
2026     type DefaultType = Self;
2027 }
2028 impl ::std::ops::BitOr for D3D12_DESCRIPTOR_HEAP_FLAGS {
2029     type Output = Self;
bitor(self, rhs: Self) -> Self2030     fn bitor(self, rhs: Self) -> Self {
2031         Self(self.0 | rhs.0)
2032     }
2033 }
2034 impl ::std::ops::BitAnd for D3D12_DESCRIPTOR_HEAP_FLAGS {
2035     type Output = Self;
bitand(self, rhs: Self) -> Self2036     fn bitand(self, rhs: Self) -> Self {
2037         Self(self.0 & rhs.0)
2038     }
2039 }
2040 impl ::std::ops::BitOrAssign for D3D12_DESCRIPTOR_HEAP_FLAGS {
bitor_assign(&mut self, rhs: Self)2041     fn bitor_assign(&mut self, rhs: Self) {
2042         self.0.bitor_assign(rhs.0)
2043     }
2044 }
2045 impl ::std::ops::BitAndAssign for D3D12_DESCRIPTOR_HEAP_FLAGS {
bitand_assign(&mut self, rhs: Self)2046     fn bitand_assign(&mut self, rhs: Self) {
2047         self.0.bitand_assign(rhs.0)
2048     }
2049 }
2050 impl ::std::ops::Not for D3D12_DESCRIPTOR_HEAP_FLAGS {
2051     type Output = Self;
not(self) -> Self2052     fn not(self) -> Self {
2053         Self(self.0.not())
2054     }
2055 }
2056 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2057 #[repr(transparent)]
2058 pub struct D3D12_DESCRIPTOR_HEAP_TYPE(pub i32);
2059 pub const D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV: D3D12_DESCRIPTOR_HEAP_TYPE = D3D12_DESCRIPTOR_HEAP_TYPE(0i32);
2060 pub const D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER: D3D12_DESCRIPTOR_HEAP_TYPE = D3D12_DESCRIPTOR_HEAP_TYPE(1i32);
2061 pub const D3D12_DESCRIPTOR_HEAP_TYPE_RTV: D3D12_DESCRIPTOR_HEAP_TYPE = D3D12_DESCRIPTOR_HEAP_TYPE(2i32);
2062 pub const D3D12_DESCRIPTOR_HEAP_TYPE_DSV: D3D12_DESCRIPTOR_HEAP_TYPE = D3D12_DESCRIPTOR_HEAP_TYPE(3i32);
2063 pub const D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES: D3D12_DESCRIPTOR_HEAP_TYPE = D3D12_DESCRIPTOR_HEAP_TYPE(4i32);
2064 impl ::std::convert::From<i32> for D3D12_DESCRIPTOR_HEAP_TYPE {
from(value: i32) -> Self2065     fn from(value: i32) -> Self {
2066         Self(value)
2067     }
2068 }
2069 unsafe impl ::windows::runtime::Abi for D3D12_DESCRIPTOR_HEAP_TYPE {
2070     type Abi = Self;
2071     type DefaultType = Self;
2072 }
2073 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2074 #[repr(C)]
2075 pub struct D3D12_DESCRIPTOR_RANGE {
2076     pub RangeType: D3D12_DESCRIPTOR_RANGE_TYPE,
2077     pub NumDescriptors: u32,
2078     pub BaseShaderRegister: u32,
2079     pub RegisterSpace: u32,
2080     pub OffsetInDescriptorsFromTableStart: u32,
2081 }
2082 impl D3D12_DESCRIPTOR_RANGE {}
2083 impl ::std::default::Default for D3D12_DESCRIPTOR_RANGE {
default() -> Self2084     fn default() -> Self {
2085         unsafe { ::std::mem::zeroed() }
2086     }
2087 }
2088 impl ::std::fmt::Debug for D3D12_DESCRIPTOR_RANGE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2089     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2090         fmt.debug_struct("D3D12_DESCRIPTOR_RANGE")
2091             .field("RangeType", &self.RangeType)
2092             .field("NumDescriptors", &self.NumDescriptors)
2093             .field("BaseShaderRegister", &self.BaseShaderRegister)
2094             .field("RegisterSpace", &self.RegisterSpace)
2095             .field("OffsetInDescriptorsFromTableStart", &self.OffsetInDescriptorsFromTableStart)
2096             .finish()
2097     }
2098 }
2099 impl ::std::cmp::PartialEq for D3D12_DESCRIPTOR_RANGE {
eq(&self, other: &Self) -> bool2100     fn eq(&self, other: &Self) -> bool {
2101         self.RangeType == other.RangeType && self.NumDescriptors == other.NumDescriptors && self.BaseShaderRegister == other.BaseShaderRegister && self.RegisterSpace == other.RegisterSpace && self.OffsetInDescriptorsFromTableStart == other.OffsetInDescriptorsFromTableStart
2102     }
2103 }
2104 impl ::std::cmp::Eq for D3D12_DESCRIPTOR_RANGE {}
2105 unsafe impl ::windows::runtime::Abi for D3D12_DESCRIPTOR_RANGE {
2106     type Abi = Self;
2107     type DefaultType = Self;
2108 }
2109 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2110 #[repr(C)]
2111 pub struct D3D12_DESCRIPTOR_RANGE1 {
2112     pub RangeType: D3D12_DESCRIPTOR_RANGE_TYPE,
2113     pub NumDescriptors: u32,
2114     pub BaseShaderRegister: u32,
2115     pub RegisterSpace: u32,
2116     pub Flags: D3D12_DESCRIPTOR_RANGE_FLAGS,
2117     pub OffsetInDescriptorsFromTableStart: u32,
2118 }
2119 impl D3D12_DESCRIPTOR_RANGE1 {}
2120 impl ::std::default::Default for D3D12_DESCRIPTOR_RANGE1 {
default() -> Self2121     fn default() -> Self {
2122         unsafe { ::std::mem::zeroed() }
2123     }
2124 }
2125 impl ::std::fmt::Debug for D3D12_DESCRIPTOR_RANGE1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2126     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2127         fmt.debug_struct("D3D12_DESCRIPTOR_RANGE1")
2128             .field("RangeType", &self.RangeType)
2129             .field("NumDescriptors", &self.NumDescriptors)
2130             .field("BaseShaderRegister", &self.BaseShaderRegister)
2131             .field("RegisterSpace", &self.RegisterSpace)
2132             .field("Flags", &self.Flags)
2133             .field("OffsetInDescriptorsFromTableStart", &self.OffsetInDescriptorsFromTableStart)
2134             .finish()
2135     }
2136 }
2137 impl ::std::cmp::PartialEq for D3D12_DESCRIPTOR_RANGE1 {
eq(&self, other: &Self) -> bool2138     fn eq(&self, other: &Self) -> bool {
2139         self.RangeType == other.RangeType && self.NumDescriptors == other.NumDescriptors && self.BaseShaderRegister == other.BaseShaderRegister && self.RegisterSpace == other.RegisterSpace && self.Flags == other.Flags && self.OffsetInDescriptorsFromTableStart == other.OffsetInDescriptorsFromTableStart
2140     }
2141 }
2142 impl ::std::cmp::Eq for D3D12_DESCRIPTOR_RANGE1 {}
2143 unsafe impl ::windows::runtime::Abi for D3D12_DESCRIPTOR_RANGE1 {
2144     type Abi = Self;
2145     type DefaultType = Self;
2146 }
2147 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2148 #[repr(transparent)]
2149 pub struct D3D12_DESCRIPTOR_RANGE_FLAGS(pub u32);
2150 pub const D3D12_DESCRIPTOR_RANGE_FLAG_NONE: D3D12_DESCRIPTOR_RANGE_FLAGS = D3D12_DESCRIPTOR_RANGE_FLAGS(0u32);
2151 pub const D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE: D3D12_DESCRIPTOR_RANGE_FLAGS = D3D12_DESCRIPTOR_RANGE_FLAGS(1u32);
2152 pub const D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE: D3D12_DESCRIPTOR_RANGE_FLAGS = D3D12_DESCRIPTOR_RANGE_FLAGS(2u32);
2153 pub const D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE: D3D12_DESCRIPTOR_RANGE_FLAGS = D3D12_DESCRIPTOR_RANGE_FLAGS(4u32);
2154 pub const D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC: D3D12_DESCRIPTOR_RANGE_FLAGS = D3D12_DESCRIPTOR_RANGE_FLAGS(8u32);
2155 pub const D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS: D3D12_DESCRIPTOR_RANGE_FLAGS = D3D12_DESCRIPTOR_RANGE_FLAGS(65536u32);
2156 impl ::std::convert::From<u32> for D3D12_DESCRIPTOR_RANGE_FLAGS {
from(value: u32) -> Self2157     fn from(value: u32) -> Self {
2158         Self(value)
2159     }
2160 }
2161 unsafe impl ::windows::runtime::Abi for D3D12_DESCRIPTOR_RANGE_FLAGS {
2162     type Abi = Self;
2163     type DefaultType = Self;
2164 }
2165 impl ::std::ops::BitOr for D3D12_DESCRIPTOR_RANGE_FLAGS {
2166     type Output = Self;
bitor(self, rhs: Self) -> Self2167     fn bitor(self, rhs: Self) -> Self {
2168         Self(self.0 | rhs.0)
2169     }
2170 }
2171 impl ::std::ops::BitAnd for D3D12_DESCRIPTOR_RANGE_FLAGS {
2172     type Output = Self;
bitand(self, rhs: Self) -> Self2173     fn bitand(self, rhs: Self) -> Self {
2174         Self(self.0 & rhs.0)
2175     }
2176 }
2177 impl ::std::ops::BitOrAssign for D3D12_DESCRIPTOR_RANGE_FLAGS {
bitor_assign(&mut self, rhs: Self)2178     fn bitor_assign(&mut self, rhs: Self) {
2179         self.0.bitor_assign(rhs.0)
2180     }
2181 }
2182 impl ::std::ops::BitAndAssign for D3D12_DESCRIPTOR_RANGE_FLAGS {
bitand_assign(&mut self, rhs: Self)2183     fn bitand_assign(&mut self, rhs: Self) {
2184         self.0.bitand_assign(rhs.0)
2185     }
2186 }
2187 impl ::std::ops::Not for D3D12_DESCRIPTOR_RANGE_FLAGS {
2188     type Output = Self;
not(self) -> Self2189     fn not(self) -> Self {
2190         Self(self.0.not())
2191     }
2192 }
2193 pub const D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND: u32 = 4294967295u32;
2194 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2195 #[repr(transparent)]
2196 pub struct D3D12_DESCRIPTOR_RANGE_TYPE(pub i32);
2197 pub const D3D12_DESCRIPTOR_RANGE_TYPE_SRV: D3D12_DESCRIPTOR_RANGE_TYPE = D3D12_DESCRIPTOR_RANGE_TYPE(0i32);
2198 pub const D3D12_DESCRIPTOR_RANGE_TYPE_UAV: D3D12_DESCRIPTOR_RANGE_TYPE = D3D12_DESCRIPTOR_RANGE_TYPE(1i32);
2199 pub const D3D12_DESCRIPTOR_RANGE_TYPE_CBV: D3D12_DESCRIPTOR_RANGE_TYPE = D3D12_DESCRIPTOR_RANGE_TYPE(2i32);
2200 pub const D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER: D3D12_DESCRIPTOR_RANGE_TYPE = D3D12_DESCRIPTOR_RANGE_TYPE(3i32);
2201 impl ::std::convert::From<i32> for D3D12_DESCRIPTOR_RANGE_TYPE {
from(value: i32) -> Self2202     fn from(value: i32) -> Self {
2203         Self(value)
2204     }
2205 }
2206 unsafe impl ::windows::runtime::Abi for D3D12_DESCRIPTOR_RANGE_TYPE {
2207     type Abi = Self;
2208     type DefaultType = Self;
2209 }
2210 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2211 #[repr(C)]
2212 #[cfg(feature = "Win32_Foundation")]
2213 pub struct D3D12_DEVICE_REMOVED_EXTENDED_DATA {
2214     pub Flags: D3D12_DRED_FLAGS,
2215     pub pHeadAutoBreadcrumbNode: *mut D3D12_AUTO_BREADCRUMB_NODE,
2216 }
2217 #[cfg(feature = "Win32_Foundation")]
2218 impl D3D12_DEVICE_REMOVED_EXTENDED_DATA {}
2219 #[cfg(feature = "Win32_Foundation")]
2220 impl ::std::default::Default for D3D12_DEVICE_REMOVED_EXTENDED_DATA {
default() -> Self2221     fn default() -> Self {
2222         unsafe { ::std::mem::zeroed() }
2223     }
2224 }
2225 #[cfg(feature = "Win32_Foundation")]
2226 impl ::std::fmt::Debug for D3D12_DEVICE_REMOVED_EXTENDED_DATA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2227     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2228         fmt.debug_struct("D3D12_DEVICE_REMOVED_EXTENDED_DATA").field("Flags", &self.Flags).field("pHeadAutoBreadcrumbNode", &self.pHeadAutoBreadcrumbNode).finish()
2229     }
2230 }
2231 #[cfg(feature = "Win32_Foundation")]
2232 impl ::std::cmp::PartialEq for D3D12_DEVICE_REMOVED_EXTENDED_DATA {
eq(&self, other: &Self) -> bool2233     fn eq(&self, other: &Self) -> bool {
2234         self.Flags == other.Flags && self.pHeadAutoBreadcrumbNode == other.pHeadAutoBreadcrumbNode
2235     }
2236 }
2237 #[cfg(feature = "Win32_Foundation")]
2238 impl ::std::cmp::Eq for D3D12_DEVICE_REMOVED_EXTENDED_DATA {}
2239 #[cfg(feature = "Win32_Foundation")]
2240 unsafe impl ::windows::runtime::Abi for D3D12_DEVICE_REMOVED_EXTENDED_DATA {
2241     type Abi = Self;
2242     type DefaultType = Self;
2243 }
2244 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2245 #[repr(C)]
2246 #[cfg(feature = "Win32_Foundation")]
2247 pub struct D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {
2248     pub DeviceRemovedReason: ::windows::runtime::HRESULT,
2249     pub AutoBreadcrumbsOutput: D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT,
2250     pub PageFaultOutput: D3D12_DRED_PAGE_FAULT_OUTPUT,
2251 }
2252 #[cfg(feature = "Win32_Foundation")]
2253 impl D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {}
2254 #[cfg(feature = "Win32_Foundation")]
2255 impl ::std::default::Default for D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {
default() -> Self2256     fn default() -> Self {
2257         unsafe { ::std::mem::zeroed() }
2258     }
2259 }
2260 #[cfg(feature = "Win32_Foundation")]
2261 impl ::std::fmt::Debug for D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2262     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2263         fmt.debug_struct("D3D12_DEVICE_REMOVED_EXTENDED_DATA1").field("DeviceRemovedReason", &self.DeviceRemovedReason).field("AutoBreadcrumbsOutput", &self.AutoBreadcrumbsOutput).field("PageFaultOutput", &self.PageFaultOutput).finish()
2264     }
2265 }
2266 #[cfg(feature = "Win32_Foundation")]
2267 impl ::std::cmp::PartialEq for D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {
eq(&self, other: &Self) -> bool2268     fn eq(&self, other: &Self) -> bool {
2269         self.DeviceRemovedReason == other.DeviceRemovedReason && self.AutoBreadcrumbsOutput == other.AutoBreadcrumbsOutput && self.PageFaultOutput == other.PageFaultOutput
2270     }
2271 }
2272 #[cfg(feature = "Win32_Foundation")]
2273 impl ::std::cmp::Eq for D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {}
2274 #[cfg(feature = "Win32_Foundation")]
2275 unsafe impl ::windows::runtime::Abi for D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {
2276     type Abi = Self;
2277     type DefaultType = Self;
2278 }
2279 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2280 #[repr(C)]
2281 #[cfg(feature = "Win32_Foundation")]
2282 pub struct D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {
2283     pub DeviceRemovedReason: ::windows::runtime::HRESULT,
2284     pub AutoBreadcrumbsOutput: D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1,
2285     pub PageFaultOutput: D3D12_DRED_PAGE_FAULT_OUTPUT1,
2286 }
2287 #[cfg(feature = "Win32_Foundation")]
2288 impl D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {}
2289 #[cfg(feature = "Win32_Foundation")]
2290 impl ::std::default::Default for D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {
default() -> Self2291     fn default() -> Self {
2292         unsafe { ::std::mem::zeroed() }
2293     }
2294 }
2295 #[cfg(feature = "Win32_Foundation")]
2296 impl ::std::fmt::Debug for D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2297     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2298         fmt.debug_struct("D3D12_DEVICE_REMOVED_EXTENDED_DATA2").field("DeviceRemovedReason", &self.DeviceRemovedReason).field("AutoBreadcrumbsOutput", &self.AutoBreadcrumbsOutput).field("PageFaultOutput", &self.PageFaultOutput).finish()
2299     }
2300 }
2301 #[cfg(feature = "Win32_Foundation")]
2302 impl ::std::cmp::PartialEq for D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {
eq(&self, other: &Self) -> bool2303     fn eq(&self, other: &Self) -> bool {
2304         self.DeviceRemovedReason == other.DeviceRemovedReason && self.AutoBreadcrumbsOutput == other.AutoBreadcrumbsOutput && self.PageFaultOutput == other.PageFaultOutput
2305     }
2306 }
2307 #[cfg(feature = "Win32_Foundation")]
2308 impl ::std::cmp::Eq for D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {}
2309 #[cfg(feature = "Win32_Foundation")]
2310 unsafe impl ::windows::runtime::Abi for D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {
2311     type Abi = Self;
2312     type DefaultType = Self;
2313 }
2314 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2315 #[repr(C)]
2316 #[cfg(feature = "Win32_Foundation")]
2317 pub struct D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {
2318     pub DeviceRemovedReason: ::windows::runtime::HRESULT,
2319     pub AutoBreadcrumbsOutput: D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1,
2320     pub PageFaultOutput: D3D12_DRED_PAGE_FAULT_OUTPUT2,
2321     pub DeviceState: D3D12_DRED_DEVICE_STATE,
2322 }
2323 #[cfg(feature = "Win32_Foundation")]
2324 impl D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {}
2325 #[cfg(feature = "Win32_Foundation")]
2326 impl ::std::default::Default for D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {
default() -> Self2327     fn default() -> Self {
2328         unsafe { ::std::mem::zeroed() }
2329     }
2330 }
2331 #[cfg(feature = "Win32_Foundation")]
2332 impl ::std::fmt::Debug for D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2333     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2334         fmt.debug_struct("D3D12_DEVICE_REMOVED_EXTENDED_DATA3").field("DeviceRemovedReason", &self.DeviceRemovedReason).field("AutoBreadcrumbsOutput", &self.AutoBreadcrumbsOutput).field("PageFaultOutput", &self.PageFaultOutput).field("DeviceState", &self.DeviceState).finish()
2335     }
2336 }
2337 #[cfg(feature = "Win32_Foundation")]
2338 impl ::std::cmp::PartialEq for D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {
eq(&self, other: &Self) -> bool2339     fn eq(&self, other: &Self) -> bool {
2340         self.DeviceRemovedReason == other.DeviceRemovedReason && self.AutoBreadcrumbsOutput == other.AutoBreadcrumbsOutput && self.PageFaultOutput == other.PageFaultOutput && self.DeviceState == other.DeviceState
2341     }
2342 }
2343 #[cfg(feature = "Win32_Foundation")]
2344 impl ::std::cmp::Eq for D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {}
2345 #[cfg(feature = "Win32_Foundation")]
2346 unsafe impl ::windows::runtime::Abi for D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {
2347     type Abi = Self;
2348     type DefaultType = Self;
2349 }
2350 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2351 #[repr(C)]
2352 #[cfg(feature = "Win32_Foundation")]
2353 pub struct D3D12_DISCARD_REGION {
2354     pub NumRects: u32,
2355     pub pRects: *mut super::super::Foundation::RECT,
2356     pub FirstSubresource: u32,
2357     pub NumSubresources: u32,
2358 }
2359 #[cfg(feature = "Win32_Foundation")]
2360 impl D3D12_DISCARD_REGION {}
2361 #[cfg(feature = "Win32_Foundation")]
2362 impl ::std::default::Default for D3D12_DISCARD_REGION {
default() -> Self2363     fn default() -> Self {
2364         unsafe { ::std::mem::zeroed() }
2365     }
2366 }
2367 #[cfg(feature = "Win32_Foundation")]
2368 impl ::std::fmt::Debug for D3D12_DISCARD_REGION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2369     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2370         fmt.debug_struct("D3D12_DISCARD_REGION").field("NumRects", &self.NumRects).field("pRects", &self.pRects).field("FirstSubresource", &self.FirstSubresource).field("NumSubresources", &self.NumSubresources).finish()
2371     }
2372 }
2373 #[cfg(feature = "Win32_Foundation")]
2374 impl ::std::cmp::PartialEq for D3D12_DISCARD_REGION {
eq(&self, other: &Self) -> bool2375     fn eq(&self, other: &Self) -> bool {
2376         self.NumRects == other.NumRects && self.pRects == other.pRects && self.FirstSubresource == other.FirstSubresource && self.NumSubresources == other.NumSubresources
2377     }
2378 }
2379 #[cfg(feature = "Win32_Foundation")]
2380 impl ::std::cmp::Eq for D3D12_DISCARD_REGION {}
2381 #[cfg(feature = "Win32_Foundation")]
2382 unsafe impl ::windows::runtime::Abi for D3D12_DISCARD_REGION {
2383     type Abi = Self;
2384     type DefaultType = Self;
2385 }
2386 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2387 #[repr(C)]
2388 pub struct D3D12_DISPATCH_ARGUMENTS {
2389     pub ThreadGroupCountX: u32,
2390     pub ThreadGroupCountY: u32,
2391     pub ThreadGroupCountZ: u32,
2392 }
2393 impl D3D12_DISPATCH_ARGUMENTS {}
2394 impl ::std::default::Default for D3D12_DISPATCH_ARGUMENTS {
default() -> Self2395     fn default() -> Self {
2396         unsafe { ::std::mem::zeroed() }
2397     }
2398 }
2399 impl ::std::fmt::Debug for D3D12_DISPATCH_ARGUMENTS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2400     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2401         fmt.debug_struct("D3D12_DISPATCH_ARGUMENTS").field("ThreadGroupCountX", &self.ThreadGroupCountX).field("ThreadGroupCountY", &self.ThreadGroupCountY).field("ThreadGroupCountZ", &self.ThreadGroupCountZ).finish()
2402     }
2403 }
2404 impl ::std::cmp::PartialEq for D3D12_DISPATCH_ARGUMENTS {
eq(&self, other: &Self) -> bool2405     fn eq(&self, other: &Self) -> bool {
2406         self.ThreadGroupCountX == other.ThreadGroupCountX && self.ThreadGroupCountY == other.ThreadGroupCountY && self.ThreadGroupCountZ == other.ThreadGroupCountZ
2407     }
2408 }
2409 impl ::std::cmp::Eq for D3D12_DISPATCH_ARGUMENTS {}
2410 unsafe impl ::windows::runtime::Abi for D3D12_DISPATCH_ARGUMENTS {
2411     type Abi = Self;
2412     type DefaultType = Self;
2413 }
2414 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2415 #[repr(C)]
2416 pub struct D3D12_DISPATCH_MESH_ARGUMENTS {
2417     pub ThreadGroupCountX: u32,
2418     pub ThreadGroupCountY: u32,
2419     pub ThreadGroupCountZ: u32,
2420 }
2421 impl D3D12_DISPATCH_MESH_ARGUMENTS {}
2422 impl ::std::default::Default for D3D12_DISPATCH_MESH_ARGUMENTS {
default() -> Self2423     fn default() -> Self {
2424         unsafe { ::std::mem::zeroed() }
2425     }
2426 }
2427 impl ::std::fmt::Debug for D3D12_DISPATCH_MESH_ARGUMENTS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2428     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2429         fmt.debug_struct("D3D12_DISPATCH_MESH_ARGUMENTS").field("ThreadGroupCountX", &self.ThreadGroupCountX).field("ThreadGroupCountY", &self.ThreadGroupCountY).field("ThreadGroupCountZ", &self.ThreadGroupCountZ).finish()
2430     }
2431 }
2432 impl ::std::cmp::PartialEq for D3D12_DISPATCH_MESH_ARGUMENTS {
eq(&self, other: &Self) -> bool2433     fn eq(&self, other: &Self) -> bool {
2434         self.ThreadGroupCountX == other.ThreadGroupCountX && self.ThreadGroupCountY == other.ThreadGroupCountY && self.ThreadGroupCountZ == other.ThreadGroupCountZ
2435     }
2436 }
2437 impl ::std::cmp::Eq for D3D12_DISPATCH_MESH_ARGUMENTS {}
2438 unsafe impl ::windows::runtime::Abi for D3D12_DISPATCH_MESH_ARGUMENTS {
2439     type Abi = Self;
2440     type DefaultType = Self;
2441 }
2442 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2443 #[repr(C)]
2444 pub struct D3D12_DISPATCH_RAYS_DESC {
2445     pub RayGenerationShaderRecord: D3D12_GPU_VIRTUAL_ADDRESS_RANGE,
2446     pub MissShaderTable: D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE,
2447     pub HitGroupTable: D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE,
2448     pub CallableShaderTable: D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE,
2449     pub Width: u32,
2450     pub Height: u32,
2451     pub Depth: u32,
2452 }
2453 impl D3D12_DISPATCH_RAYS_DESC {}
2454 impl ::std::default::Default for D3D12_DISPATCH_RAYS_DESC {
default() -> Self2455     fn default() -> Self {
2456         unsafe { ::std::mem::zeroed() }
2457     }
2458 }
2459 impl ::std::fmt::Debug for D3D12_DISPATCH_RAYS_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2460     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2461         fmt.debug_struct("D3D12_DISPATCH_RAYS_DESC")
2462             .field("RayGenerationShaderRecord", &self.RayGenerationShaderRecord)
2463             .field("MissShaderTable", &self.MissShaderTable)
2464             .field("HitGroupTable", &self.HitGroupTable)
2465             .field("CallableShaderTable", &self.CallableShaderTable)
2466             .field("Width", &self.Width)
2467             .field("Height", &self.Height)
2468             .field("Depth", &self.Depth)
2469             .finish()
2470     }
2471 }
2472 impl ::std::cmp::PartialEq for D3D12_DISPATCH_RAYS_DESC {
eq(&self, other: &Self) -> bool2473     fn eq(&self, other: &Self) -> bool {
2474         self.RayGenerationShaderRecord == other.RayGenerationShaderRecord && self.MissShaderTable == other.MissShaderTable && self.HitGroupTable == other.HitGroupTable && self.CallableShaderTable == other.CallableShaderTable && self.Width == other.Width && self.Height == other.Height && self.Depth == other.Depth
2475     }
2476 }
2477 impl ::std::cmp::Eq for D3D12_DISPATCH_RAYS_DESC {}
2478 unsafe impl ::windows::runtime::Abi for D3D12_DISPATCH_RAYS_DESC {
2479     type Abi = Self;
2480     type DefaultType = Self;
2481 }
2482 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2483 #[repr(C)]
2484 pub struct D3D12_DRAW_ARGUMENTS {
2485     pub VertexCountPerInstance: u32,
2486     pub InstanceCount: u32,
2487     pub StartVertexLocation: u32,
2488     pub StartInstanceLocation: u32,
2489 }
2490 impl D3D12_DRAW_ARGUMENTS {}
2491 impl ::std::default::Default for D3D12_DRAW_ARGUMENTS {
default() -> Self2492     fn default() -> Self {
2493         unsafe { ::std::mem::zeroed() }
2494     }
2495 }
2496 impl ::std::fmt::Debug for D3D12_DRAW_ARGUMENTS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2497     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2498         fmt.debug_struct("D3D12_DRAW_ARGUMENTS").field("VertexCountPerInstance", &self.VertexCountPerInstance).field("InstanceCount", &self.InstanceCount).field("StartVertexLocation", &self.StartVertexLocation).field("StartInstanceLocation", &self.StartInstanceLocation).finish()
2499     }
2500 }
2501 impl ::std::cmp::PartialEq for D3D12_DRAW_ARGUMENTS {
eq(&self, other: &Self) -> bool2502     fn eq(&self, other: &Self) -> bool {
2503         self.VertexCountPerInstance == other.VertexCountPerInstance && self.InstanceCount == other.InstanceCount && self.StartVertexLocation == other.StartVertexLocation && self.StartInstanceLocation == other.StartInstanceLocation
2504     }
2505 }
2506 impl ::std::cmp::Eq for D3D12_DRAW_ARGUMENTS {}
2507 unsafe impl ::windows::runtime::Abi for D3D12_DRAW_ARGUMENTS {
2508     type Abi = Self;
2509     type DefaultType = Self;
2510 }
2511 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2512 #[repr(C)]
2513 pub struct D3D12_DRAW_INDEXED_ARGUMENTS {
2514     pub IndexCountPerInstance: u32,
2515     pub InstanceCount: u32,
2516     pub StartIndexLocation: u32,
2517     pub BaseVertexLocation: i32,
2518     pub StartInstanceLocation: u32,
2519 }
2520 impl D3D12_DRAW_INDEXED_ARGUMENTS {}
2521 impl ::std::default::Default for D3D12_DRAW_INDEXED_ARGUMENTS {
default() -> Self2522     fn default() -> Self {
2523         unsafe { ::std::mem::zeroed() }
2524     }
2525 }
2526 impl ::std::fmt::Debug for D3D12_DRAW_INDEXED_ARGUMENTS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2527     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2528         fmt.debug_struct("D3D12_DRAW_INDEXED_ARGUMENTS")
2529             .field("IndexCountPerInstance", &self.IndexCountPerInstance)
2530             .field("InstanceCount", &self.InstanceCount)
2531             .field("StartIndexLocation", &self.StartIndexLocation)
2532             .field("BaseVertexLocation", &self.BaseVertexLocation)
2533             .field("StartInstanceLocation", &self.StartInstanceLocation)
2534             .finish()
2535     }
2536 }
2537 impl ::std::cmp::PartialEq for D3D12_DRAW_INDEXED_ARGUMENTS {
eq(&self, other: &Self) -> bool2538     fn eq(&self, other: &Self) -> bool {
2539         self.IndexCountPerInstance == other.IndexCountPerInstance && self.InstanceCount == other.InstanceCount && self.StartIndexLocation == other.StartIndexLocation && self.BaseVertexLocation == other.BaseVertexLocation && self.StartInstanceLocation == other.StartInstanceLocation
2540     }
2541 }
2542 impl ::std::cmp::Eq for D3D12_DRAW_INDEXED_ARGUMENTS {}
2543 unsafe impl ::windows::runtime::Abi for D3D12_DRAW_INDEXED_ARGUMENTS {
2544     type Abi = Self;
2545     type DefaultType = Self;
2546 }
2547 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2548 #[repr(C)]
2549 #[cfg(feature = "Win32_Foundation")]
2550 pub struct D3D12_DRED_ALLOCATION_NODE {
2551     pub ObjectNameA: *mut u8,
2552     pub ObjectNameW: super::super::Foundation::PWSTR,
2553     pub AllocationType: D3D12_DRED_ALLOCATION_TYPE,
2554     pub pNext: *mut D3D12_DRED_ALLOCATION_NODE,
2555 }
2556 #[cfg(feature = "Win32_Foundation")]
2557 impl D3D12_DRED_ALLOCATION_NODE {}
2558 #[cfg(feature = "Win32_Foundation")]
2559 impl ::std::default::Default for D3D12_DRED_ALLOCATION_NODE {
default() -> Self2560     fn default() -> Self {
2561         unsafe { ::std::mem::zeroed() }
2562     }
2563 }
2564 #[cfg(feature = "Win32_Foundation")]
2565 impl ::std::fmt::Debug for D3D12_DRED_ALLOCATION_NODE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2566     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2567         fmt.debug_struct("D3D12_DRED_ALLOCATION_NODE").field("ObjectNameA", &self.ObjectNameA).field("ObjectNameW", &self.ObjectNameW).field("AllocationType", &self.AllocationType).field("pNext", &self.pNext).finish()
2568     }
2569 }
2570 #[cfg(feature = "Win32_Foundation")]
2571 impl ::std::cmp::PartialEq for D3D12_DRED_ALLOCATION_NODE {
eq(&self, other: &Self) -> bool2572     fn eq(&self, other: &Self) -> bool {
2573         self.ObjectNameA == other.ObjectNameA && self.ObjectNameW == other.ObjectNameW && self.AllocationType == other.AllocationType && self.pNext == other.pNext
2574     }
2575 }
2576 #[cfg(feature = "Win32_Foundation")]
2577 impl ::std::cmp::Eq for D3D12_DRED_ALLOCATION_NODE {}
2578 #[cfg(feature = "Win32_Foundation")]
2579 unsafe impl ::windows::runtime::Abi for D3D12_DRED_ALLOCATION_NODE {
2580     type Abi = Self;
2581     type DefaultType = Self;
2582 }
2583 #[derive(:: std :: clone :: Clone)]
2584 #[repr(C)]
2585 #[cfg(feature = "Win32_Foundation")]
2586 pub struct D3D12_DRED_ALLOCATION_NODE1 {
2587     pub ObjectNameA: *mut u8,
2588     pub ObjectNameW: super::super::Foundation::PWSTR,
2589     pub AllocationType: D3D12_DRED_ALLOCATION_TYPE,
2590     pub pNext: *mut D3D12_DRED_ALLOCATION_NODE1,
2591     pub pObject: ::std::option::Option<::windows::runtime::IUnknown>,
2592 }
2593 #[cfg(feature = "Win32_Foundation")]
2594 impl D3D12_DRED_ALLOCATION_NODE1 {}
2595 #[cfg(feature = "Win32_Foundation")]
2596 impl ::std::default::Default for D3D12_DRED_ALLOCATION_NODE1 {
default() -> Self2597     fn default() -> Self {
2598         unsafe { ::std::mem::zeroed() }
2599     }
2600 }
2601 #[cfg(feature = "Win32_Foundation")]
2602 impl ::std::fmt::Debug for D3D12_DRED_ALLOCATION_NODE1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2603     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2604         fmt.debug_struct("D3D12_DRED_ALLOCATION_NODE1").field("ObjectNameA", &self.ObjectNameA).field("ObjectNameW", &self.ObjectNameW).field("AllocationType", &self.AllocationType).field("pNext", &self.pNext).field("pObject", &self.pObject).finish()
2605     }
2606 }
2607 #[cfg(feature = "Win32_Foundation")]
2608 impl ::std::cmp::PartialEq for D3D12_DRED_ALLOCATION_NODE1 {
eq(&self, other: &Self) -> bool2609     fn eq(&self, other: &Self) -> bool {
2610         self.ObjectNameA == other.ObjectNameA && self.ObjectNameW == other.ObjectNameW && self.AllocationType == other.AllocationType && self.pNext == other.pNext && self.pObject == other.pObject
2611     }
2612 }
2613 #[cfg(feature = "Win32_Foundation")]
2614 impl ::std::cmp::Eq for D3D12_DRED_ALLOCATION_NODE1 {}
2615 #[cfg(feature = "Win32_Foundation")]
2616 unsafe impl ::windows::runtime::Abi for D3D12_DRED_ALLOCATION_NODE1 {
2617     type Abi = ::std::mem::ManuallyDrop<Self>;
2618     type DefaultType = Self;
2619 }
2620 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2621 #[repr(transparent)]
2622 pub struct D3D12_DRED_ALLOCATION_TYPE(pub i32);
2623 pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(19i32);
2624 pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(20i32);
2625 pub const D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(21i32);
2626 pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(22i32);
2627 pub const D3D12_DRED_ALLOCATION_TYPE_FENCE: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(23i32);
2628 pub const D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(24i32);
2629 pub const D3D12_DRED_ALLOCATION_TYPE_HEAP: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(25i32);
2630 pub const D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(27i32);
2631 pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(28i32);
2632 pub const D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(29i32);
2633 pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(30i32);
2634 pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(32i32);
2635 pub const D3D12_DRED_ALLOCATION_TYPE_RESOURCE: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(34i32);
2636 pub const D3D12_DRED_ALLOCATION_TYPE_PASS: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(35i32);
2637 pub const D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(36i32);
2638 pub const D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(37i32);
2639 pub const D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(38i32);
2640 pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(39i32);
2641 pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(40i32);
2642 pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(41i32);
2643 pub const D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(42i32);
2644 pub const D3D12_DRED_ALLOCATION_TYPE_METACOMMAND: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(43i32);
2645 pub const D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(44i32);
2646 pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(45i32);
2647 pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(46i32);
2648 pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(47i32);
2649 pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(48i32);
2650 pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER_HEAP: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(49i32);
2651 pub const D3D12_DRED_ALLOCATION_TYPE_INVALID: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(-1i32);
2652 impl ::std::convert::From<i32> for D3D12_DRED_ALLOCATION_TYPE {
from(value: i32) -> Self2653     fn from(value: i32) -> Self {
2654         Self(value)
2655     }
2656 }
2657 unsafe impl ::windows::runtime::Abi for D3D12_DRED_ALLOCATION_TYPE {
2658     type Abi = Self;
2659     type DefaultType = Self;
2660 }
2661 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2662 #[repr(C)]
2663 #[cfg(feature = "Win32_Foundation")]
2664 pub struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {
2665     pub pHeadAutoBreadcrumbNode: *mut D3D12_AUTO_BREADCRUMB_NODE,
2666 }
2667 #[cfg(feature = "Win32_Foundation")]
2668 impl D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {}
2669 #[cfg(feature = "Win32_Foundation")]
2670 impl ::std::default::Default for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {
default() -> Self2671     fn default() -> Self {
2672         unsafe { ::std::mem::zeroed() }
2673     }
2674 }
2675 #[cfg(feature = "Win32_Foundation")]
2676 impl ::std::fmt::Debug for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2677     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2678         fmt.debug_struct("D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT").field("pHeadAutoBreadcrumbNode", &self.pHeadAutoBreadcrumbNode).finish()
2679     }
2680 }
2681 #[cfg(feature = "Win32_Foundation")]
2682 impl ::std::cmp::PartialEq for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {
eq(&self, other: &Self) -> bool2683     fn eq(&self, other: &Self) -> bool {
2684         self.pHeadAutoBreadcrumbNode == other.pHeadAutoBreadcrumbNode
2685     }
2686 }
2687 #[cfg(feature = "Win32_Foundation")]
2688 impl ::std::cmp::Eq for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {}
2689 #[cfg(feature = "Win32_Foundation")]
2690 unsafe impl ::windows::runtime::Abi for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {
2691     type Abi = Self;
2692     type DefaultType = Self;
2693 }
2694 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2695 #[repr(C)]
2696 #[cfg(feature = "Win32_Foundation")]
2697 pub struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {
2698     pub pHeadAutoBreadcrumbNode: *mut D3D12_AUTO_BREADCRUMB_NODE1,
2699 }
2700 #[cfg(feature = "Win32_Foundation")]
2701 impl D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {}
2702 #[cfg(feature = "Win32_Foundation")]
2703 impl ::std::default::Default for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {
default() -> Self2704     fn default() -> Self {
2705         unsafe { ::std::mem::zeroed() }
2706     }
2707 }
2708 #[cfg(feature = "Win32_Foundation")]
2709 impl ::std::fmt::Debug for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2710     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2711         fmt.debug_struct("D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1").field("pHeadAutoBreadcrumbNode", &self.pHeadAutoBreadcrumbNode).finish()
2712     }
2713 }
2714 #[cfg(feature = "Win32_Foundation")]
2715 impl ::std::cmp::PartialEq for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {
eq(&self, other: &Self) -> bool2716     fn eq(&self, other: &Self) -> bool {
2717         self.pHeadAutoBreadcrumbNode == other.pHeadAutoBreadcrumbNode
2718     }
2719 }
2720 #[cfg(feature = "Win32_Foundation")]
2721 impl ::std::cmp::Eq for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {}
2722 #[cfg(feature = "Win32_Foundation")]
2723 unsafe impl ::windows::runtime::Abi for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {
2724     type Abi = Self;
2725     type DefaultType = Self;
2726 }
2727 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2728 #[repr(C)]
2729 #[cfg(feature = "Win32_Foundation")]
2730 pub struct D3D12_DRED_BREADCRUMB_CONTEXT {
2731     pub BreadcrumbIndex: u32,
2732     pub pContextString: super::super::Foundation::PWSTR,
2733 }
2734 #[cfg(feature = "Win32_Foundation")]
2735 impl D3D12_DRED_BREADCRUMB_CONTEXT {}
2736 #[cfg(feature = "Win32_Foundation")]
2737 impl ::std::default::Default for D3D12_DRED_BREADCRUMB_CONTEXT {
default() -> Self2738     fn default() -> Self {
2739         unsafe { ::std::mem::zeroed() }
2740     }
2741 }
2742 #[cfg(feature = "Win32_Foundation")]
2743 impl ::std::fmt::Debug for D3D12_DRED_BREADCRUMB_CONTEXT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2744     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2745         fmt.debug_struct("D3D12_DRED_BREADCRUMB_CONTEXT").field("BreadcrumbIndex", &self.BreadcrumbIndex).field("pContextString", &self.pContextString).finish()
2746     }
2747 }
2748 #[cfg(feature = "Win32_Foundation")]
2749 impl ::std::cmp::PartialEq for D3D12_DRED_BREADCRUMB_CONTEXT {
eq(&self, other: &Self) -> bool2750     fn eq(&self, other: &Self) -> bool {
2751         self.BreadcrumbIndex == other.BreadcrumbIndex && self.pContextString == other.pContextString
2752     }
2753 }
2754 #[cfg(feature = "Win32_Foundation")]
2755 impl ::std::cmp::Eq for D3D12_DRED_BREADCRUMB_CONTEXT {}
2756 #[cfg(feature = "Win32_Foundation")]
2757 unsafe impl ::windows::runtime::Abi for D3D12_DRED_BREADCRUMB_CONTEXT {
2758     type Abi = Self;
2759     type DefaultType = Self;
2760 }
2761 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2762 #[repr(transparent)]
2763 pub struct D3D12_DRED_DEVICE_STATE(pub i32);
2764 pub const D3D12_DRED_DEVICE_STATE_UNKNOWN: D3D12_DRED_DEVICE_STATE = D3D12_DRED_DEVICE_STATE(0i32);
2765 pub const D3D12_DRED_DEVICE_STATE_HUNG: D3D12_DRED_DEVICE_STATE = D3D12_DRED_DEVICE_STATE(3i32);
2766 pub const D3D12_DRED_DEVICE_STATE_FAULT: D3D12_DRED_DEVICE_STATE = D3D12_DRED_DEVICE_STATE(6i32);
2767 pub const D3D12_DRED_DEVICE_STATE_PAGEFAULT: D3D12_DRED_DEVICE_STATE = D3D12_DRED_DEVICE_STATE(7i32);
2768 impl ::std::convert::From<i32> for D3D12_DRED_DEVICE_STATE {
from(value: i32) -> Self2769     fn from(value: i32) -> Self {
2770         Self(value)
2771     }
2772 }
2773 unsafe impl ::windows::runtime::Abi for D3D12_DRED_DEVICE_STATE {
2774     type Abi = Self;
2775     type DefaultType = Self;
2776 }
2777 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2778 #[repr(transparent)]
2779 pub struct D3D12_DRED_ENABLEMENT(pub i32);
2780 pub const D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED: D3D12_DRED_ENABLEMENT = D3D12_DRED_ENABLEMENT(0i32);
2781 pub const D3D12_DRED_ENABLEMENT_FORCED_OFF: D3D12_DRED_ENABLEMENT = D3D12_DRED_ENABLEMENT(1i32);
2782 pub const D3D12_DRED_ENABLEMENT_FORCED_ON: D3D12_DRED_ENABLEMENT = D3D12_DRED_ENABLEMENT(2i32);
2783 impl ::std::convert::From<i32> for D3D12_DRED_ENABLEMENT {
from(value: i32) -> Self2784     fn from(value: i32) -> Self {
2785         Self(value)
2786     }
2787 }
2788 unsafe impl ::windows::runtime::Abi for D3D12_DRED_ENABLEMENT {
2789     type Abi = Self;
2790     type DefaultType = Self;
2791 }
2792 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2793 #[repr(transparent)]
2794 pub struct D3D12_DRED_FLAGS(pub u32);
2795 pub const D3D12_DRED_FLAG_NONE: D3D12_DRED_FLAGS = D3D12_DRED_FLAGS(0u32);
2796 pub const D3D12_DRED_FLAG_FORCE_ENABLE: D3D12_DRED_FLAGS = D3D12_DRED_FLAGS(1u32);
2797 pub const D3D12_DRED_FLAG_DISABLE_AUTOBREADCRUMBS: D3D12_DRED_FLAGS = D3D12_DRED_FLAGS(2u32);
2798 impl ::std::convert::From<u32> for D3D12_DRED_FLAGS {
from(value: u32) -> Self2799     fn from(value: u32) -> Self {
2800         Self(value)
2801     }
2802 }
2803 unsafe impl ::windows::runtime::Abi for D3D12_DRED_FLAGS {
2804     type Abi = Self;
2805     type DefaultType = Self;
2806 }
2807 impl ::std::ops::BitOr for D3D12_DRED_FLAGS {
2808     type Output = Self;
bitor(self, rhs: Self) -> Self2809     fn bitor(self, rhs: Self) -> Self {
2810         Self(self.0 | rhs.0)
2811     }
2812 }
2813 impl ::std::ops::BitAnd for D3D12_DRED_FLAGS {
2814     type Output = Self;
bitand(self, rhs: Self) -> Self2815     fn bitand(self, rhs: Self) -> Self {
2816         Self(self.0 & rhs.0)
2817     }
2818 }
2819 impl ::std::ops::BitOrAssign for D3D12_DRED_FLAGS {
bitor_assign(&mut self, rhs: Self)2820     fn bitor_assign(&mut self, rhs: Self) {
2821         self.0.bitor_assign(rhs.0)
2822     }
2823 }
2824 impl ::std::ops::BitAndAssign for D3D12_DRED_FLAGS {
bitand_assign(&mut self, rhs: Self)2825     fn bitand_assign(&mut self, rhs: Self) {
2826         self.0.bitand_assign(rhs.0)
2827     }
2828 }
2829 impl ::std::ops::Not for D3D12_DRED_FLAGS {
2830     type Output = Self;
not(self) -> Self2831     fn not(self) -> Self {
2832         Self(self.0.not())
2833     }
2834 }
2835 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2836 #[repr(transparent)]
2837 pub struct D3D12_DRED_PAGE_FAULT_FLAGS(pub u32);
2838 pub const D3D12_DRED_PAGE_FAULT_FLAGS_NONE: D3D12_DRED_PAGE_FAULT_FLAGS = D3D12_DRED_PAGE_FAULT_FLAGS(0u32);
2839 impl ::std::convert::From<u32> for D3D12_DRED_PAGE_FAULT_FLAGS {
from(value: u32) -> Self2840     fn from(value: u32) -> Self {
2841         Self(value)
2842     }
2843 }
2844 unsafe impl ::windows::runtime::Abi for D3D12_DRED_PAGE_FAULT_FLAGS {
2845     type Abi = Self;
2846     type DefaultType = Self;
2847 }
2848 impl ::std::ops::BitOr for D3D12_DRED_PAGE_FAULT_FLAGS {
2849     type Output = Self;
bitor(self, rhs: Self) -> Self2850     fn bitor(self, rhs: Self) -> Self {
2851         Self(self.0 | rhs.0)
2852     }
2853 }
2854 impl ::std::ops::BitAnd for D3D12_DRED_PAGE_FAULT_FLAGS {
2855     type Output = Self;
bitand(self, rhs: Self) -> Self2856     fn bitand(self, rhs: Self) -> Self {
2857         Self(self.0 & rhs.0)
2858     }
2859 }
2860 impl ::std::ops::BitOrAssign for D3D12_DRED_PAGE_FAULT_FLAGS {
bitor_assign(&mut self, rhs: Self)2861     fn bitor_assign(&mut self, rhs: Self) {
2862         self.0.bitor_assign(rhs.0)
2863     }
2864 }
2865 impl ::std::ops::BitAndAssign for D3D12_DRED_PAGE_FAULT_FLAGS {
bitand_assign(&mut self, rhs: Self)2866     fn bitand_assign(&mut self, rhs: Self) {
2867         self.0.bitand_assign(rhs.0)
2868     }
2869 }
2870 impl ::std::ops::Not for D3D12_DRED_PAGE_FAULT_FLAGS {
2871     type Output = Self;
not(self) -> Self2872     fn not(self) -> Self {
2873         Self(self.0.not())
2874     }
2875 }
2876 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2877 #[repr(C)]
2878 #[cfg(feature = "Win32_Foundation")]
2879 pub struct D3D12_DRED_PAGE_FAULT_OUTPUT {
2880     pub PageFaultVA: u64,
2881     pub pHeadExistingAllocationNode: *mut D3D12_DRED_ALLOCATION_NODE,
2882     pub pHeadRecentFreedAllocationNode: *mut D3D12_DRED_ALLOCATION_NODE,
2883 }
2884 #[cfg(feature = "Win32_Foundation")]
2885 impl D3D12_DRED_PAGE_FAULT_OUTPUT {}
2886 #[cfg(feature = "Win32_Foundation")]
2887 impl ::std::default::Default for D3D12_DRED_PAGE_FAULT_OUTPUT {
default() -> Self2888     fn default() -> Self {
2889         unsafe { ::std::mem::zeroed() }
2890     }
2891 }
2892 #[cfg(feature = "Win32_Foundation")]
2893 impl ::std::fmt::Debug for D3D12_DRED_PAGE_FAULT_OUTPUT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2894     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2895         fmt.debug_struct("D3D12_DRED_PAGE_FAULT_OUTPUT").field("PageFaultVA", &self.PageFaultVA).field("pHeadExistingAllocationNode", &self.pHeadExistingAllocationNode).field("pHeadRecentFreedAllocationNode", &self.pHeadRecentFreedAllocationNode).finish()
2896     }
2897 }
2898 #[cfg(feature = "Win32_Foundation")]
2899 impl ::std::cmp::PartialEq for D3D12_DRED_PAGE_FAULT_OUTPUT {
eq(&self, other: &Self) -> bool2900     fn eq(&self, other: &Self) -> bool {
2901         self.PageFaultVA == other.PageFaultVA && self.pHeadExistingAllocationNode == other.pHeadExistingAllocationNode && self.pHeadRecentFreedAllocationNode == other.pHeadRecentFreedAllocationNode
2902     }
2903 }
2904 #[cfg(feature = "Win32_Foundation")]
2905 impl ::std::cmp::Eq for D3D12_DRED_PAGE_FAULT_OUTPUT {}
2906 #[cfg(feature = "Win32_Foundation")]
2907 unsafe impl ::windows::runtime::Abi for D3D12_DRED_PAGE_FAULT_OUTPUT {
2908     type Abi = Self;
2909     type DefaultType = Self;
2910 }
2911 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2912 #[repr(C)]
2913 #[cfg(feature = "Win32_Foundation")]
2914 pub struct D3D12_DRED_PAGE_FAULT_OUTPUT1 {
2915     pub PageFaultVA: u64,
2916     pub pHeadExistingAllocationNode: *mut D3D12_DRED_ALLOCATION_NODE1,
2917     pub pHeadRecentFreedAllocationNode: *mut D3D12_DRED_ALLOCATION_NODE1,
2918 }
2919 #[cfg(feature = "Win32_Foundation")]
2920 impl D3D12_DRED_PAGE_FAULT_OUTPUT1 {}
2921 #[cfg(feature = "Win32_Foundation")]
2922 impl ::std::default::Default for D3D12_DRED_PAGE_FAULT_OUTPUT1 {
default() -> Self2923     fn default() -> Self {
2924         unsafe { ::std::mem::zeroed() }
2925     }
2926 }
2927 #[cfg(feature = "Win32_Foundation")]
2928 impl ::std::fmt::Debug for D3D12_DRED_PAGE_FAULT_OUTPUT1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2929     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2930         fmt.debug_struct("D3D12_DRED_PAGE_FAULT_OUTPUT1").field("PageFaultVA", &self.PageFaultVA).field("pHeadExistingAllocationNode", &self.pHeadExistingAllocationNode).field("pHeadRecentFreedAllocationNode", &self.pHeadRecentFreedAllocationNode).finish()
2931     }
2932 }
2933 #[cfg(feature = "Win32_Foundation")]
2934 impl ::std::cmp::PartialEq for D3D12_DRED_PAGE_FAULT_OUTPUT1 {
eq(&self, other: &Self) -> bool2935     fn eq(&self, other: &Self) -> bool {
2936         self.PageFaultVA == other.PageFaultVA && self.pHeadExistingAllocationNode == other.pHeadExistingAllocationNode && self.pHeadRecentFreedAllocationNode == other.pHeadRecentFreedAllocationNode
2937     }
2938 }
2939 #[cfg(feature = "Win32_Foundation")]
2940 impl ::std::cmp::Eq for D3D12_DRED_PAGE_FAULT_OUTPUT1 {}
2941 #[cfg(feature = "Win32_Foundation")]
2942 unsafe impl ::windows::runtime::Abi for D3D12_DRED_PAGE_FAULT_OUTPUT1 {
2943     type Abi = Self;
2944     type DefaultType = Self;
2945 }
2946 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2947 #[repr(C)]
2948 #[cfg(feature = "Win32_Foundation")]
2949 pub struct D3D12_DRED_PAGE_FAULT_OUTPUT2 {
2950     pub PageFaultVA: u64,
2951     pub pHeadExistingAllocationNode: *mut D3D12_DRED_ALLOCATION_NODE1,
2952     pub pHeadRecentFreedAllocationNode: *mut D3D12_DRED_ALLOCATION_NODE1,
2953     pub PageFaultFlags: D3D12_DRED_PAGE_FAULT_FLAGS,
2954 }
2955 #[cfg(feature = "Win32_Foundation")]
2956 impl D3D12_DRED_PAGE_FAULT_OUTPUT2 {}
2957 #[cfg(feature = "Win32_Foundation")]
2958 impl ::std::default::Default for D3D12_DRED_PAGE_FAULT_OUTPUT2 {
default() -> Self2959     fn default() -> Self {
2960         unsafe { ::std::mem::zeroed() }
2961     }
2962 }
2963 #[cfg(feature = "Win32_Foundation")]
2964 impl ::std::fmt::Debug for D3D12_DRED_PAGE_FAULT_OUTPUT2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2965     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2966         fmt.debug_struct("D3D12_DRED_PAGE_FAULT_OUTPUT2").field("PageFaultVA", &self.PageFaultVA).field("pHeadExistingAllocationNode", &self.pHeadExistingAllocationNode).field("pHeadRecentFreedAllocationNode", &self.pHeadRecentFreedAllocationNode).field("PageFaultFlags", &self.PageFaultFlags).finish()
2967     }
2968 }
2969 #[cfg(feature = "Win32_Foundation")]
2970 impl ::std::cmp::PartialEq for D3D12_DRED_PAGE_FAULT_OUTPUT2 {
eq(&self, other: &Self) -> bool2971     fn eq(&self, other: &Self) -> bool {
2972         self.PageFaultVA == other.PageFaultVA && self.pHeadExistingAllocationNode == other.pHeadExistingAllocationNode && self.pHeadRecentFreedAllocationNode == other.pHeadRecentFreedAllocationNode && self.PageFaultFlags == other.PageFaultFlags
2973     }
2974 }
2975 #[cfg(feature = "Win32_Foundation")]
2976 impl ::std::cmp::Eq for D3D12_DRED_PAGE_FAULT_OUTPUT2 {}
2977 #[cfg(feature = "Win32_Foundation")]
2978 unsafe impl ::windows::runtime::Abi for D3D12_DRED_PAGE_FAULT_OUTPUT2 {
2979     type Abi = Self;
2980     type DefaultType = Self;
2981 }
2982 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2983 #[repr(transparent)]
2984 pub struct D3D12_DRED_VERSION(pub i32);
2985 pub const D3D12_DRED_VERSION_1_0: D3D12_DRED_VERSION = D3D12_DRED_VERSION(1i32);
2986 pub const D3D12_DRED_VERSION_1_1: D3D12_DRED_VERSION = D3D12_DRED_VERSION(2i32);
2987 pub const D3D12_DRED_VERSION_1_2: D3D12_DRED_VERSION = D3D12_DRED_VERSION(3i32);
2988 pub const D3D12_DRED_VERSION_1_3: D3D12_DRED_VERSION = D3D12_DRED_VERSION(4i32);
2989 impl ::std::convert::From<i32> for D3D12_DRED_VERSION {
from(value: i32) -> Self2990     fn from(value: i32) -> Self {
2991         Self(value)
2992     }
2993 }
2994 unsafe impl ::windows::runtime::Abi for D3D12_DRED_VERSION {
2995     type Abi = Self;
2996     type DefaultType = Self;
2997 }
2998 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2999 #[repr(transparent)]
3000 pub struct D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS(pub i32);
3001 pub const D3D12_DRIVER_MATCHING_IDENTIFIER_COMPATIBLE_WITH_DEVICE: D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS = D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS(0i32);
3002 pub const D3D12_DRIVER_MATCHING_IDENTIFIER_UNSUPPORTED_TYPE: D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS = D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS(1i32);
3003 pub const D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED: D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS = D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS(2i32);
3004 pub const D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_VERSION: D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS = D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS(3i32);
3005 pub const D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE: D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS = D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS(4i32);
3006 impl ::std::convert::From<i32> for D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
from(value: i32) -> Self3007     fn from(value: i32) -> Self {
3008         Self(value)
3009     }
3010 }
3011 unsafe impl ::windows::runtime::Abi for D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
3012     type Abi = Self;
3013     type DefaultType = Self;
3014 }
3015 pub const D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END: u32 = 4294967287u32;
3016 pub const D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START: u32 = 4294967280u32;
3017 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3018 #[repr(transparent)]
3019 pub struct D3D12_DSV_DIMENSION(pub i32);
3020 pub const D3D12_DSV_DIMENSION_UNKNOWN: D3D12_DSV_DIMENSION = D3D12_DSV_DIMENSION(0i32);
3021 pub const D3D12_DSV_DIMENSION_TEXTURE1D: D3D12_DSV_DIMENSION = D3D12_DSV_DIMENSION(1i32);
3022 pub const D3D12_DSV_DIMENSION_TEXTURE1DARRAY: D3D12_DSV_DIMENSION = D3D12_DSV_DIMENSION(2i32);
3023 pub const D3D12_DSV_DIMENSION_TEXTURE2D: D3D12_DSV_DIMENSION = D3D12_DSV_DIMENSION(3i32);
3024 pub const D3D12_DSV_DIMENSION_TEXTURE2DARRAY: D3D12_DSV_DIMENSION = D3D12_DSV_DIMENSION(4i32);
3025 pub const D3D12_DSV_DIMENSION_TEXTURE2DMS: D3D12_DSV_DIMENSION = D3D12_DSV_DIMENSION(5i32);
3026 pub const D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY: D3D12_DSV_DIMENSION = D3D12_DSV_DIMENSION(6i32);
3027 impl ::std::convert::From<i32> for D3D12_DSV_DIMENSION {
from(value: i32) -> Self3028     fn from(value: i32) -> Self {
3029         Self(value)
3030     }
3031 }
3032 unsafe impl ::windows::runtime::Abi for D3D12_DSV_DIMENSION {
3033     type Abi = Self;
3034     type DefaultType = Self;
3035 }
3036 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3037 #[repr(transparent)]
3038 pub struct D3D12_DSV_FLAGS(pub u32);
3039 pub const D3D12_DSV_FLAG_NONE: D3D12_DSV_FLAGS = D3D12_DSV_FLAGS(0u32);
3040 pub const D3D12_DSV_FLAG_READ_ONLY_DEPTH: D3D12_DSV_FLAGS = D3D12_DSV_FLAGS(1u32);
3041 pub const D3D12_DSV_FLAG_READ_ONLY_STENCIL: D3D12_DSV_FLAGS = D3D12_DSV_FLAGS(2u32);
3042 impl ::std::convert::From<u32> for D3D12_DSV_FLAGS {
from(value: u32) -> Self3043     fn from(value: u32) -> Self {
3044         Self(value)
3045     }
3046 }
3047 unsafe impl ::windows::runtime::Abi for D3D12_DSV_FLAGS {
3048     type Abi = Self;
3049     type DefaultType = Self;
3050 }
3051 impl ::std::ops::BitOr for D3D12_DSV_FLAGS {
3052     type Output = Self;
bitor(self, rhs: Self) -> Self3053     fn bitor(self, rhs: Self) -> Self {
3054         Self(self.0 | rhs.0)
3055     }
3056 }
3057 impl ::std::ops::BitAnd for D3D12_DSV_FLAGS {
3058     type Output = Self;
bitand(self, rhs: Self) -> Self3059     fn bitand(self, rhs: Self) -> Self {
3060         Self(self.0 & rhs.0)
3061     }
3062 }
3063 impl ::std::ops::BitOrAssign for D3D12_DSV_FLAGS {
bitor_assign(&mut self, rhs: Self)3064     fn bitor_assign(&mut self, rhs: Self) {
3065         self.0.bitor_assign(rhs.0)
3066     }
3067 }
3068 impl ::std::ops::BitAndAssign for D3D12_DSV_FLAGS {
bitand_assign(&mut self, rhs: Self)3069     fn bitand_assign(&mut self, rhs: Self) {
3070         self.0.bitand_assign(rhs.0)
3071     }
3072 }
3073 impl ::std::ops::Not for D3D12_DSV_FLAGS {
3074     type Output = Self;
not(self) -> Self3075     fn not(self) -> Self {
3076         Self(self.0.not())
3077     }
3078 }
3079 pub const D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: u32 = 3968u32;
3080 pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS: u32 = 4u32;
3081 pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
3082 pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT: u32 = 32u32;
3083 pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST: u32 = 2u32;
3084 pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS: u32 = 1u32;
3085 pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS: u32 = 3u32;
3086 pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
3087 pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT: u32 = 1u32;
3088 pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST: u32 = 2u32;
3089 pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS: u32 = 1u32;
3090 pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: u32 = 4u32;
3091 pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
3092 pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT: u32 = 32u32;
3093 pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: u32 = 2u32;
3094 pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: u32 = 1u32;
3095 pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: u32 = 1u32;
3096 pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
3097 pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: u32 = 1u32;
3098 pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: u32 = 2u32;
3099 pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: u32 = 1u32;
3100 pub const D3D12_DS_OUTPUT_REGISTER_COMPONENTS: u32 = 4u32;
3101 pub const D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
3102 pub const D3D12_DS_OUTPUT_REGISTER_COUNT: u32 = 32u32;
3103 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3104 #[repr(C)]
3105 #[cfg(feature = "Win32_Foundation")]
3106 pub struct D3D12_DXIL_LIBRARY_DESC {
3107     pub DXILLibrary: D3D12_SHADER_BYTECODE,
3108     pub NumExports: u32,
3109     pub pExports: *mut D3D12_EXPORT_DESC,
3110 }
3111 #[cfg(feature = "Win32_Foundation")]
3112 impl D3D12_DXIL_LIBRARY_DESC {}
3113 #[cfg(feature = "Win32_Foundation")]
3114 impl ::std::default::Default for D3D12_DXIL_LIBRARY_DESC {
default() -> Self3115     fn default() -> Self {
3116         unsafe { ::std::mem::zeroed() }
3117     }
3118 }
3119 #[cfg(feature = "Win32_Foundation")]
3120 impl ::std::fmt::Debug for D3D12_DXIL_LIBRARY_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3121     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3122         fmt.debug_struct("D3D12_DXIL_LIBRARY_DESC").field("DXILLibrary", &self.DXILLibrary).field("NumExports", &self.NumExports).field("pExports", &self.pExports).finish()
3123     }
3124 }
3125 #[cfg(feature = "Win32_Foundation")]
3126 impl ::std::cmp::PartialEq for D3D12_DXIL_LIBRARY_DESC {
eq(&self, other: &Self) -> bool3127     fn eq(&self, other: &Self) -> bool {
3128         self.DXILLibrary == other.DXILLibrary && self.NumExports == other.NumExports && self.pExports == other.pExports
3129     }
3130 }
3131 #[cfg(feature = "Win32_Foundation")]
3132 impl ::std::cmp::Eq for D3D12_DXIL_LIBRARY_DESC {}
3133 #[cfg(feature = "Win32_Foundation")]
3134 unsafe impl ::windows::runtime::Abi for D3D12_DXIL_LIBRARY_DESC {
3135     type Abi = Self;
3136     type DefaultType = Self;
3137 }
3138 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3139 #[repr(C)]
3140 #[cfg(feature = "Win32_Foundation")]
3141 pub struct D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
3142     pub SubobjectToAssociate: super::super::Foundation::PWSTR,
3143     pub NumExports: u32,
3144     pub pExports: *mut super::super::Foundation::PWSTR,
3145 }
3146 #[cfg(feature = "Win32_Foundation")]
3147 impl D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {}
3148 #[cfg(feature = "Win32_Foundation")]
3149 impl ::std::default::Default for D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
default() -> Self3150     fn default() -> Self {
3151         unsafe { ::std::mem::zeroed() }
3152     }
3153 }
3154 #[cfg(feature = "Win32_Foundation")]
3155 impl ::std::fmt::Debug for D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3156     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3157         fmt.debug_struct("D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION").field("SubobjectToAssociate", &self.SubobjectToAssociate).field("NumExports", &self.NumExports).field("pExports", &self.pExports).finish()
3158     }
3159 }
3160 #[cfg(feature = "Win32_Foundation")]
3161 impl ::std::cmp::PartialEq for D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
eq(&self, other: &Self) -> bool3162     fn eq(&self, other: &Self) -> bool {
3163         self.SubobjectToAssociate == other.SubobjectToAssociate && self.NumExports == other.NumExports && self.pExports == other.pExports
3164     }
3165 }
3166 #[cfg(feature = "Win32_Foundation")]
3167 impl ::std::cmp::Eq for D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {}
3168 #[cfg(feature = "Win32_Foundation")]
3169 unsafe impl ::windows::runtime::Abi for D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
3170     type Abi = Self;
3171     type DefaultType = Self;
3172 }
3173 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3174 #[repr(transparent)]
3175 pub struct D3D12_ELEMENTS_LAYOUT(pub i32);
3176 pub const D3D12_ELEMENTS_LAYOUT_ARRAY: D3D12_ELEMENTS_LAYOUT = D3D12_ELEMENTS_LAYOUT(0i32);
3177 pub const D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS: D3D12_ELEMENTS_LAYOUT = D3D12_ELEMENTS_LAYOUT(1i32);
3178 impl ::std::convert::From<i32> for D3D12_ELEMENTS_LAYOUT {
from(value: i32) -> Self3179     fn from(value: i32) -> Self {
3180         Self(value)
3181     }
3182 }
3183 unsafe impl ::windows::runtime::Abi for D3D12_ELEMENTS_LAYOUT {
3184     type Abi = Self;
3185     type DefaultType = Self;
3186 }
3187 #[derive(:: std :: clone :: Clone)]
3188 #[repr(C)]
3189 #[cfg(feature = "Win32_Foundation")]
3190 pub struct D3D12_EXISTING_COLLECTION_DESC {
3191     pub pExistingCollection: ::std::option::Option<ID3D12StateObject>,
3192     pub NumExports: u32,
3193     pub pExports: *mut D3D12_EXPORT_DESC,
3194 }
3195 #[cfg(feature = "Win32_Foundation")]
3196 impl D3D12_EXISTING_COLLECTION_DESC {}
3197 #[cfg(feature = "Win32_Foundation")]
3198 impl ::std::default::Default for D3D12_EXISTING_COLLECTION_DESC {
default() -> Self3199     fn default() -> Self {
3200         unsafe { ::std::mem::zeroed() }
3201     }
3202 }
3203 #[cfg(feature = "Win32_Foundation")]
3204 impl ::std::fmt::Debug for D3D12_EXISTING_COLLECTION_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3205     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3206         fmt.debug_struct("D3D12_EXISTING_COLLECTION_DESC").field("pExistingCollection", &self.pExistingCollection).field("NumExports", &self.NumExports).field("pExports", &self.pExports).finish()
3207     }
3208 }
3209 #[cfg(feature = "Win32_Foundation")]
3210 impl ::std::cmp::PartialEq for D3D12_EXISTING_COLLECTION_DESC {
eq(&self, other: &Self) -> bool3211     fn eq(&self, other: &Self) -> bool {
3212         self.pExistingCollection == other.pExistingCollection && self.NumExports == other.NumExports && self.pExports == other.pExports
3213     }
3214 }
3215 #[cfg(feature = "Win32_Foundation")]
3216 impl ::std::cmp::Eq for D3D12_EXISTING_COLLECTION_DESC {}
3217 #[cfg(feature = "Win32_Foundation")]
3218 unsafe impl ::windows::runtime::Abi for D3D12_EXISTING_COLLECTION_DESC {
3219     type Abi = ::std::mem::ManuallyDrop<Self>;
3220     type DefaultType = Self;
3221 }
3222 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3223 #[repr(C)]
3224 #[cfg(feature = "Win32_Foundation")]
3225 pub struct D3D12_EXPORT_DESC {
3226     pub Name: super::super::Foundation::PWSTR,
3227     pub ExportToRename: super::super::Foundation::PWSTR,
3228     pub Flags: D3D12_EXPORT_FLAGS,
3229 }
3230 #[cfg(feature = "Win32_Foundation")]
3231 impl D3D12_EXPORT_DESC {}
3232 #[cfg(feature = "Win32_Foundation")]
3233 impl ::std::default::Default for D3D12_EXPORT_DESC {
default() -> Self3234     fn default() -> Self {
3235         unsafe { ::std::mem::zeroed() }
3236     }
3237 }
3238 #[cfg(feature = "Win32_Foundation")]
3239 impl ::std::fmt::Debug for D3D12_EXPORT_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3240     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3241         fmt.debug_struct("D3D12_EXPORT_DESC").field("Name", &self.Name).field("ExportToRename", &self.ExportToRename).field("Flags", &self.Flags).finish()
3242     }
3243 }
3244 #[cfg(feature = "Win32_Foundation")]
3245 impl ::std::cmp::PartialEq for D3D12_EXPORT_DESC {
eq(&self, other: &Self) -> bool3246     fn eq(&self, other: &Self) -> bool {
3247         self.Name == other.Name && self.ExportToRename == other.ExportToRename && self.Flags == other.Flags
3248     }
3249 }
3250 #[cfg(feature = "Win32_Foundation")]
3251 impl ::std::cmp::Eq for D3D12_EXPORT_DESC {}
3252 #[cfg(feature = "Win32_Foundation")]
3253 unsafe impl ::windows::runtime::Abi for D3D12_EXPORT_DESC {
3254     type Abi = Self;
3255     type DefaultType = Self;
3256 }
3257 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3258 #[repr(transparent)]
3259 pub struct D3D12_EXPORT_FLAGS(pub u32);
3260 pub const D3D12_EXPORT_FLAG_NONE: D3D12_EXPORT_FLAGS = D3D12_EXPORT_FLAGS(0u32);
3261 impl ::std::convert::From<u32> for D3D12_EXPORT_FLAGS {
from(value: u32) -> Self3262     fn from(value: u32) -> Self {
3263         Self(value)
3264     }
3265 }
3266 unsafe impl ::windows::runtime::Abi for D3D12_EXPORT_FLAGS {
3267     type Abi = Self;
3268     type DefaultType = Self;
3269 }
3270 impl ::std::ops::BitOr for D3D12_EXPORT_FLAGS {
3271     type Output = Self;
bitor(self, rhs: Self) -> Self3272     fn bitor(self, rhs: Self) -> Self {
3273         Self(self.0 | rhs.0)
3274     }
3275 }
3276 impl ::std::ops::BitAnd for D3D12_EXPORT_FLAGS {
3277     type Output = Self;
bitand(self, rhs: Self) -> Self3278     fn bitand(self, rhs: Self) -> Self {
3279         Self(self.0 & rhs.0)
3280     }
3281 }
3282 impl ::std::ops::BitOrAssign for D3D12_EXPORT_FLAGS {
bitor_assign(&mut self, rhs: Self)3283     fn bitor_assign(&mut self, rhs: Self) {
3284         self.0.bitor_assign(rhs.0)
3285     }
3286 }
3287 impl ::std::ops::BitAndAssign for D3D12_EXPORT_FLAGS {
bitand_assign(&mut self, rhs: Self)3288     fn bitand_assign(&mut self, rhs: Self) {
3289         self.0.bitand_assign(rhs.0)
3290     }
3291 }
3292 impl ::std::ops::Not for D3D12_EXPORT_FLAGS {
3293     type Output = Self;
not(self) -> Self3294     fn not(self) -> Self {
3295         Self(self.0.not())
3296     }
3297 }
3298 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3299 #[repr(transparent)]
3300 pub struct D3D12_FEATURE(pub i32);
3301 pub const D3D12_FEATURE_D3D12_OPTIONS: D3D12_FEATURE = D3D12_FEATURE(0i32);
3302 pub const D3D12_FEATURE_ARCHITECTURE: D3D12_FEATURE = D3D12_FEATURE(1i32);
3303 pub const D3D12_FEATURE_FEATURE_LEVELS: D3D12_FEATURE = D3D12_FEATURE(2i32);
3304 pub const D3D12_FEATURE_FORMAT_SUPPORT: D3D12_FEATURE = D3D12_FEATURE(3i32);
3305 pub const D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS: D3D12_FEATURE = D3D12_FEATURE(4i32);
3306 pub const D3D12_FEATURE_FORMAT_INFO: D3D12_FEATURE = D3D12_FEATURE(5i32);
3307 pub const D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT: D3D12_FEATURE = D3D12_FEATURE(6i32);
3308 pub const D3D12_FEATURE_SHADER_MODEL: D3D12_FEATURE = D3D12_FEATURE(7i32);
3309 pub const D3D12_FEATURE_D3D12_OPTIONS1: D3D12_FEATURE = D3D12_FEATURE(8i32);
3310 pub const D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT: D3D12_FEATURE = D3D12_FEATURE(10i32);
3311 pub const D3D12_FEATURE_ROOT_SIGNATURE: D3D12_FEATURE = D3D12_FEATURE(12i32);
3312 pub const D3D12_FEATURE_ARCHITECTURE1: D3D12_FEATURE = D3D12_FEATURE(16i32);
3313 pub const D3D12_FEATURE_D3D12_OPTIONS2: D3D12_FEATURE = D3D12_FEATURE(18i32);
3314 pub const D3D12_FEATURE_SHADER_CACHE: D3D12_FEATURE = D3D12_FEATURE(19i32);
3315 pub const D3D12_FEATURE_COMMAND_QUEUE_PRIORITY: D3D12_FEATURE = D3D12_FEATURE(20i32);
3316 pub const D3D12_FEATURE_D3D12_OPTIONS3: D3D12_FEATURE = D3D12_FEATURE(21i32);
3317 pub const D3D12_FEATURE_EXISTING_HEAPS: D3D12_FEATURE = D3D12_FEATURE(22i32);
3318 pub const D3D12_FEATURE_D3D12_OPTIONS4: D3D12_FEATURE = D3D12_FEATURE(23i32);
3319 pub const D3D12_FEATURE_SERIALIZATION: D3D12_FEATURE = D3D12_FEATURE(24i32);
3320 pub const D3D12_FEATURE_CROSS_NODE: D3D12_FEATURE = D3D12_FEATURE(25i32);
3321 pub const D3D12_FEATURE_D3D12_OPTIONS5: D3D12_FEATURE = D3D12_FEATURE(27i32);
3322 pub const D3D12_FEATURE_DISPLAYABLE: D3D12_FEATURE = D3D12_FEATURE(28i32);
3323 pub const D3D12_FEATURE_D3D12_OPTIONS6: D3D12_FEATURE = D3D12_FEATURE(30i32);
3324 pub const D3D12_FEATURE_QUERY_META_COMMAND: D3D12_FEATURE = D3D12_FEATURE(31i32);
3325 pub const D3D12_FEATURE_D3D12_OPTIONS7: D3D12_FEATURE = D3D12_FEATURE(32i32);
3326 pub const D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT: D3D12_FEATURE = D3D12_FEATURE(33i32);
3327 pub const D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES: D3D12_FEATURE = D3D12_FEATURE(34i32);
3328 pub const D3D12_FEATURE_D3D12_OPTIONS8: D3D12_FEATURE = D3D12_FEATURE(36i32);
3329 pub const D3D12_FEATURE_D3D12_OPTIONS9: D3D12_FEATURE = D3D12_FEATURE(37i32);
3330 pub const D3D12_FEATURE_D3D12_OPTIONS10: D3D12_FEATURE = D3D12_FEATURE(39i32);
3331 pub const D3D12_FEATURE_D3D12_OPTIONS11: D3D12_FEATURE = D3D12_FEATURE(40i32);
3332 impl ::std::convert::From<i32> for D3D12_FEATURE {
from(value: i32) -> Self3333     fn from(value: i32) -> Self {
3334         Self(value)
3335     }
3336 }
3337 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE {
3338     type Abi = Self;
3339     type DefaultType = Self;
3340 }
3341 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3342 #[repr(C)]
3343 #[cfg(feature = "Win32_Foundation")]
3344 pub struct D3D12_FEATURE_DATA_ARCHITECTURE {
3345     pub NodeIndex: u32,
3346     pub TileBasedRenderer: super::super::Foundation::BOOL,
3347     pub UMA: super::super::Foundation::BOOL,
3348     pub CacheCoherentUMA: super::super::Foundation::BOOL,
3349 }
3350 #[cfg(feature = "Win32_Foundation")]
3351 impl D3D12_FEATURE_DATA_ARCHITECTURE {}
3352 #[cfg(feature = "Win32_Foundation")]
3353 impl ::std::default::Default for D3D12_FEATURE_DATA_ARCHITECTURE {
default() -> Self3354     fn default() -> Self {
3355         unsafe { ::std::mem::zeroed() }
3356     }
3357 }
3358 #[cfg(feature = "Win32_Foundation")]
3359 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_ARCHITECTURE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3360     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3361         fmt.debug_struct("D3D12_FEATURE_DATA_ARCHITECTURE").field("NodeIndex", &self.NodeIndex).field("TileBasedRenderer", &self.TileBasedRenderer).field("UMA", &self.UMA).field("CacheCoherentUMA", &self.CacheCoherentUMA).finish()
3362     }
3363 }
3364 #[cfg(feature = "Win32_Foundation")]
3365 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_ARCHITECTURE {
eq(&self, other: &Self) -> bool3366     fn eq(&self, other: &Self) -> bool {
3367         self.NodeIndex == other.NodeIndex && self.TileBasedRenderer == other.TileBasedRenderer && self.UMA == other.UMA && self.CacheCoherentUMA == other.CacheCoherentUMA
3368     }
3369 }
3370 #[cfg(feature = "Win32_Foundation")]
3371 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_ARCHITECTURE {}
3372 #[cfg(feature = "Win32_Foundation")]
3373 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_ARCHITECTURE {
3374     type Abi = Self;
3375     type DefaultType = Self;
3376 }
3377 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3378 #[repr(C)]
3379 #[cfg(feature = "Win32_Foundation")]
3380 pub struct D3D12_FEATURE_DATA_ARCHITECTURE1 {
3381     pub NodeIndex: u32,
3382     pub TileBasedRenderer: super::super::Foundation::BOOL,
3383     pub UMA: super::super::Foundation::BOOL,
3384     pub CacheCoherentUMA: super::super::Foundation::BOOL,
3385     pub IsolatedMMU: super::super::Foundation::BOOL,
3386 }
3387 #[cfg(feature = "Win32_Foundation")]
3388 impl D3D12_FEATURE_DATA_ARCHITECTURE1 {}
3389 #[cfg(feature = "Win32_Foundation")]
3390 impl ::std::default::Default for D3D12_FEATURE_DATA_ARCHITECTURE1 {
default() -> Self3391     fn default() -> Self {
3392         unsafe { ::std::mem::zeroed() }
3393     }
3394 }
3395 #[cfg(feature = "Win32_Foundation")]
3396 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_ARCHITECTURE1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3397     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3398         fmt.debug_struct("D3D12_FEATURE_DATA_ARCHITECTURE1").field("NodeIndex", &self.NodeIndex).field("TileBasedRenderer", &self.TileBasedRenderer).field("UMA", &self.UMA).field("CacheCoherentUMA", &self.CacheCoherentUMA).field("IsolatedMMU", &self.IsolatedMMU).finish()
3399     }
3400 }
3401 #[cfg(feature = "Win32_Foundation")]
3402 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_ARCHITECTURE1 {
eq(&self, other: &Self) -> bool3403     fn eq(&self, other: &Self) -> bool {
3404         self.NodeIndex == other.NodeIndex && self.TileBasedRenderer == other.TileBasedRenderer && self.UMA == other.UMA && self.CacheCoherentUMA == other.CacheCoherentUMA && self.IsolatedMMU == other.IsolatedMMU
3405     }
3406 }
3407 #[cfg(feature = "Win32_Foundation")]
3408 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_ARCHITECTURE1 {}
3409 #[cfg(feature = "Win32_Foundation")]
3410 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_ARCHITECTURE1 {
3411     type Abi = Self;
3412     type DefaultType = Self;
3413 }
3414 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3415 #[repr(C)]
3416 #[cfg(feature = "Win32_Foundation")]
3417 pub struct D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {
3418     pub CommandListType: D3D12_COMMAND_LIST_TYPE,
3419     pub Priority: u32,
3420     pub PriorityForTypeIsSupported: super::super::Foundation::BOOL,
3421 }
3422 #[cfg(feature = "Win32_Foundation")]
3423 impl D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {}
3424 #[cfg(feature = "Win32_Foundation")]
3425 impl ::std::default::Default for D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {
default() -> Self3426     fn default() -> Self {
3427         unsafe { ::std::mem::zeroed() }
3428     }
3429 }
3430 #[cfg(feature = "Win32_Foundation")]
3431 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3432     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3433         fmt.debug_struct("D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY").field("CommandListType", &self.CommandListType).field("Priority", &self.Priority).field("PriorityForTypeIsSupported", &self.PriorityForTypeIsSupported).finish()
3434     }
3435 }
3436 #[cfg(feature = "Win32_Foundation")]
3437 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {
eq(&self, other: &Self) -> bool3438     fn eq(&self, other: &Self) -> bool {
3439         self.CommandListType == other.CommandListType && self.Priority == other.Priority && self.PriorityForTypeIsSupported == other.PriorityForTypeIsSupported
3440     }
3441 }
3442 #[cfg(feature = "Win32_Foundation")]
3443 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {}
3444 #[cfg(feature = "Win32_Foundation")]
3445 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {
3446     type Abi = Self;
3447     type DefaultType = Self;
3448 }
3449 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3450 #[repr(C)]
3451 #[cfg(feature = "Win32_Foundation")]
3452 pub struct D3D12_FEATURE_DATA_CROSS_NODE {
3453     pub SharingTier: D3D12_CROSS_NODE_SHARING_TIER,
3454     pub AtomicShaderInstructions: super::super::Foundation::BOOL,
3455 }
3456 #[cfg(feature = "Win32_Foundation")]
3457 impl D3D12_FEATURE_DATA_CROSS_NODE {}
3458 #[cfg(feature = "Win32_Foundation")]
3459 impl ::std::default::Default for D3D12_FEATURE_DATA_CROSS_NODE {
default() -> Self3460     fn default() -> Self {
3461         unsafe { ::std::mem::zeroed() }
3462     }
3463 }
3464 #[cfg(feature = "Win32_Foundation")]
3465 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_CROSS_NODE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3466     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3467         fmt.debug_struct("D3D12_FEATURE_DATA_CROSS_NODE").field("SharingTier", &self.SharingTier).field("AtomicShaderInstructions", &self.AtomicShaderInstructions).finish()
3468     }
3469 }
3470 #[cfg(feature = "Win32_Foundation")]
3471 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_CROSS_NODE {
eq(&self, other: &Self) -> bool3472     fn eq(&self, other: &Self) -> bool {
3473         self.SharingTier == other.SharingTier && self.AtomicShaderInstructions == other.AtomicShaderInstructions
3474     }
3475 }
3476 #[cfg(feature = "Win32_Foundation")]
3477 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_CROSS_NODE {}
3478 #[cfg(feature = "Win32_Foundation")]
3479 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_CROSS_NODE {
3480     type Abi = Self;
3481     type DefaultType = Self;
3482 }
3483 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3484 #[repr(C)]
3485 #[cfg(feature = "Win32_Foundation")]
3486 pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS {
3487     pub DoublePrecisionFloatShaderOps: super::super::Foundation::BOOL,
3488     pub OutputMergerLogicOp: super::super::Foundation::BOOL,
3489     pub MinPrecisionSupport: D3D12_SHADER_MIN_PRECISION_SUPPORT,
3490     pub TiledResourcesTier: D3D12_TILED_RESOURCES_TIER,
3491     pub ResourceBindingTier: D3D12_RESOURCE_BINDING_TIER,
3492     pub PSSpecifiedStencilRefSupported: super::super::Foundation::BOOL,
3493     pub TypedUAVLoadAdditionalFormats: super::super::Foundation::BOOL,
3494     pub ROVsSupported: super::super::Foundation::BOOL,
3495     pub ConservativeRasterizationTier: D3D12_CONSERVATIVE_RASTERIZATION_TIER,
3496     pub MaxGPUVirtualAddressBitsPerResource: u32,
3497     pub StandardSwizzle64KBSupported: super::super::Foundation::BOOL,
3498     pub CrossNodeSharingTier: D3D12_CROSS_NODE_SHARING_TIER,
3499     pub CrossAdapterRowMajorTextureSupported: super::super::Foundation::BOOL,
3500     pub VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation: super::super::Foundation::BOOL,
3501     pub ResourceHeapTier: D3D12_RESOURCE_HEAP_TIER,
3502 }
3503 #[cfg(feature = "Win32_Foundation")]
3504 impl D3D12_FEATURE_DATA_D3D12_OPTIONS {}
3505 #[cfg(feature = "Win32_Foundation")]
3506 impl ::std::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS {
default() -> Self3507     fn default() -> Self {
3508         unsafe { ::std::mem::zeroed() }
3509     }
3510 }
3511 #[cfg(feature = "Win32_Foundation")]
3512 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3513     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3514         fmt.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS")
3515             .field("DoublePrecisionFloatShaderOps", &self.DoublePrecisionFloatShaderOps)
3516             .field("OutputMergerLogicOp", &self.OutputMergerLogicOp)
3517             .field("MinPrecisionSupport", &self.MinPrecisionSupport)
3518             .field("TiledResourcesTier", &self.TiledResourcesTier)
3519             .field("ResourceBindingTier", &self.ResourceBindingTier)
3520             .field("PSSpecifiedStencilRefSupported", &self.PSSpecifiedStencilRefSupported)
3521             .field("TypedUAVLoadAdditionalFormats", &self.TypedUAVLoadAdditionalFormats)
3522             .field("ROVsSupported", &self.ROVsSupported)
3523             .field("ConservativeRasterizationTier", &self.ConservativeRasterizationTier)
3524             .field("MaxGPUVirtualAddressBitsPerResource", &self.MaxGPUVirtualAddressBitsPerResource)
3525             .field("StandardSwizzle64KBSupported", &self.StandardSwizzle64KBSupported)
3526             .field("CrossNodeSharingTier", &self.CrossNodeSharingTier)
3527             .field("CrossAdapterRowMajorTextureSupported", &self.CrossAdapterRowMajorTextureSupported)
3528             .field("VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation", &self.VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation)
3529             .field("ResourceHeapTier", &self.ResourceHeapTier)
3530             .finish()
3531     }
3532 }
3533 #[cfg(feature = "Win32_Foundation")]
3534 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS {
eq(&self, other: &Self) -> bool3535     fn eq(&self, other: &Self) -> bool {
3536         self.DoublePrecisionFloatShaderOps == other.DoublePrecisionFloatShaderOps
3537             && self.OutputMergerLogicOp == other.OutputMergerLogicOp
3538             && self.MinPrecisionSupport == other.MinPrecisionSupport
3539             && self.TiledResourcesTier == other.TiledResourcesTier
3540             && self.ResourceBindingTier == other.ResourceBindingTier
3541             && self.PSSpecifiedStencilRefSupported == other.PSSpecifiedStencilRefSupported
3542             && self.TypedUAVLoadAdditionalFormats == other.TypedUAVLoadAdditionalFormats
3543             && self.ROVsSupported == other.ROVsSupported
3544             && self.ConservativeRasterizationTier == other.ConservativeRasterizationTier
3545             && self.MaxGPUVirtualAddressBitsPerResource == other.MaxGPUVirtualAddressBitsPerResource
3546             && self.StandardSwizzle64KBSupported == other.StandardSwizzle64KBSupported
3547             && self.CrossNodeSharingTier == other.CrossNodeSharingTier
3548             && self.CrossAdapterRowMajorTextureSupported == other.CrossAdapterRowMajorTextureSupported
3549             && self.VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation == other.VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation
3550             && self.ResourceHeapTier == other.ResourceHeapTier
3551     }
3552 }
3553 #[cfg(feature = "Win32_Foundation")]
3554 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS {}
3555 #[cfg(feature = "Win32_Foundation")]
3556 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_D3D12_OPTIONS {
3557     type Abi = Self;
3558     type DefaultType = Self;
3559 }
3560 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3561 #[repr(C)]
3562 #[cfg(feature = "Win32_Foundation")]
3563 pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS1 {
3564     pub WaveOps: super::super::Foundation::BOOL,
3565     pub WaveLaneCountMin: u32,
3566     pub WaveLaneCountMax: u32,
3567     pub TotalLaneCount: u32,
3568     pub ExpandedComputeResourceStates: super::super::Foundation::BOOL,
3569     pub Int64ShaderOps: super::super::Foundation::BOOL,
3570 }
3571 #[cfg(feature = "Win32_Foundation")]
3572 impl D3D12_FEATURE_DATA_D3D12_OPTIONS1 {}
3573 #[cfg(feature = "Win32_Foundation")]
3574 impl ::std::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS1 {
default() -> Self3575     fn default() -> Self {
3576         unsafe { ::std::mem::zeroed() }
3577     }
3578 }
3579 #[cfg(feature = "Win32_Foundation")]
3580 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3581     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3582         fmt.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS1")
3583             .field("WaveOps", &self.WaveOps)
3584             .field("WaveLaneCountMin", &self.WaveLaneCountMin)
3585             .field("WaveLaneCountMax", &self.WaveLaneCountMax)
3586             .field("TotalLaneCount", &self.TotalLaneCount)
3587             .field("ExpandedComputeResourceStates", &self.ExpandedComputeResourceStates)
3588             .field("Int64ShaderOps", &self.Int64ShaderOps)
3589             .finish()
3590     }
3591 }
3592 #[cfg(feature = "Win32_Foundation")]
3593 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS1 {
eq(&self, other: &Self) -> bool3594     fn eq(&self, other: &Self) -> bool {
3595         self.WaveOps == other.WaveOps && self.WaveLaneCountMin == other.WaveLaneCountMin && self.WaveLaneCountMax == other.WaveLaneCountMax && self.TotalLaneCount == other.TotalLaneCount && self.ExpandedComputeResourceStates == other.ExpandedComputeResourceStates && self.Int64ShaderOps == other.Int64ShaderOps
3596     }
3597 }
3598 #[cfg(feature = "Win32_Foundation")]
3599 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS1 {}
3600 #[cfg(feature = "Win32_Foundation")]
3601 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_D3D12_OPTIONS1 {
3602     type Abi = Self;
3603     type DefaultType = Self;
3604 }
3605 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3606 #[repr(C)]
3607 #[cfg(feature = "Win32_Foundation")]
3608 pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS10 {
3609     pub VariableRateShadingSumCombinerSupported: super::super::Foundation::BOOL,
3610     pub MeshShaderPerPrimitiveShadingRateSupported: super::super::Foundation::BOOL,
3611 }
3612 #[cfg(feature = "Win32_Foundation")]
3613 impl D3D12_FEATURE_DATA_D3D12_OPTIONS10 {}
3614 #[cfg(feature = "Win32_Foundation")]
3615 impl ::std::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS10 {
default() -> Self3616     fn default() -> Self {
3617         unsafe { ::std::mem::zeroed() }
3618     }
3619 }
3620 #[cfg(feature = "Win32_Foundation")]
3621 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS10 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3622     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3623         fmt.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS10").field("VariableRateShadingSumCombinerSupported", &self.VariableRateShadingSumCombinerSupported).field("MeshShaderPerPrimitiveShadingRateSupported", &self.MeshShaderPerPrimitiveShadingRateSupported).finish()
3624     }
3625 }
3626 #[cfg(feature = "Win32_Foundation")]
3627 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS10 {
eq(&self, other: &Self) -> bool3628     fn eq(&self, other: &Self) -> bool {
3629         self.VariableRateShadingSumCombinerSupported == other.VariableRateShadingSumCombinerSupported && self.MeshShaderPerPrimitiveShadingRateSupported == other.MeshShaderPerPrimitiveShadingRateSupported
3630     }
3631 }
3632 #[cfg(feature = "Win32_Foundation")]
3633 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS10 {}
3634 #[cfg(feature = "Win32_Foundation")]
3635 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_D3D12_OPTIONS10 {
3636     type Abi = Self;
3637     type DefaultType = Self;
3638 }
3639 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3640 #[repr(C)]
3641 #[cfg(feature = "Win32_Foundation")]
3642 pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS11 {
3643     pub AtomicInt64OnDescriptorHeapResourceSupported: super::super::Foundation::BOOL,
3644 }
3645 #[cfg(feature = "Win32_Foundation")]
3646 impl D3D12_FEATURE_DATA_D3D12_OPTIONS11 {}
3647 #[cfg(feature = "Win32_Foundation")]
3648 impl ::std::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS11 {
default() -> Self3649     fn default() -> Self {
3650         unsafe { ::std::mem::zeroed() }
3651     }
3652 }
3653 #[cfg(feature = "Win32_Foundation")]
3654 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS11 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3655     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3656         fmt.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS11").field("AtomicInt64OnDescriptorHeapResourceSupported", &self.AtomicInt64OnDescriptorHeapResourceSupported).finish()
3657     }
3658 }
3659 #[cfg(feature = "Win32_Foundation")]
3660 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS11 {
eq(&self, other: &Self) -> bool3661     fn eq(&self, other: &Self) -> bool {
3662         self.AtomicInt64OnDescriptorHeapResourceSupported == other.AtomicInt64OnDescriptorHeapResourceSupported
3663     }
3664 }
3665 #[cfg(feature = "Win32_Foundation")]
3666 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS11 {}
3667 #[cfg(feature = "Win32_Foundation")]
3668 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_D3D12_OPTIONS11 {
3669     type Abi = Self;
3670     type DefaultType = Self;
3671 }
3672 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3673 #[repr(C)]
3674 #[cfg(feature = "Win32_Foundation")]
3675 pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS2 {
3676     pub DepthBoundsTestSupported: super::super::Foundation::BOOL,
3677     pub ProgrammableSamplePositionsTier: D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER,
3678 }
3679 #[cfg(feature = "Win32_Foundation")]
3680 impl D3D12_FEATURE_DATA_D3D12_OPTIONS2 {}
3681 #[cfg(feature = "Win32_Foundation")]
3682 impl ::std::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS2 {
default() -> Self3683     fn default() -> Self {
3684         unsafe { ::std::mem::zeroed() }
3685     }
3686 }
3687 #[cfg(feature = "Win32_Foundation")]
3688 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3689     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3690         fmt.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS2").field("DepthBoundsTestSupported", &self.DepthBoundsTestSupported).field("ProgrammableSamplePositionsTier", &self.ProgrammableSamplePositionsTier).finish()
3691     }
3692 }
3693 #[cfg(feature = "Win32_Foundation")]
3694 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS2 {
eq(&self, other: &Self) -> bool3695     fn eq(&self, other: &Self) -> bool {
3696         self.DepthBoundsTestSupported == other.DepthBoundsTestSupported && self.ProgrammableSamplePositionsTier == other.ProgrammableSamplePositionsTier
3697     }
3698 }
3699 #[cfg(feature = "Win32_Foundation")]
3700 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS2 {}
3701 #[cfg(feature = "Win32_Foundation")]
3702 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_D3D12_OPTIONS2 {
3703     type Abi = Self;
3704     type DefaultType = Self;
3705 }
3706 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3707 #[repr(C)]
3708 #[cfg(feature = "Win32_Foundation")]
3709 pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS3 {
3710     pub CopyQueueTimestampQueriesSupported: super::super::Foundation::BOOL,
3711     pub CastingFullyTypedFormatSupported: super::super::Foundation::BOOL,
3712     pub WriteBufferImmediateSupportFlags: D3D12_COMMAND_LIST_SUPPORT_FLAGS,
3713     pub ViewInstancingTier: D3D12_VIEW_INSTANCING_TIER,
3714     pub BarycentricsSupported: super::super::Foundation::BOOL,
3715 }
3716 #[cfg(feature = "Win32_Foundation")]
3717 impl D3D12_FEATURE_DATA_D3D12_OPTIONS3 {}
3718 #[cfg(feature = "Win32_Foundation")]
3719 impl ::std::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS3 {
default() -> Self3720     fn default() -> Self {
3721         unsafe { ::std::mem::zeroed() }
3722     }
3723 }
3724 #[cfg(feature = "Win32_Foundation")]
3725 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS3 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3726     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3727         fmt.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS3")
3728             .field("CopyQueueTimestampQueriesSupported", &self.CopyQueueTimestampQueriesSupported)
3729             .field("CastingFullyTypedFormatSupported", &self.CastingFullyTypedFormatSupported)
3730             .field("WriteBufferImmediateSupportFlags", &self.WriteBufferImmediateSupportFlags)
3731             .field("ViewInstancingTier", &self.ViewInstancingTier)
3732             .field("BarycentricsSupported", &self.BarycentricsSupported)
3733             .finish()
3734     }
3735 }
3736 #[cfg(feature = "Win32_Foundation")]
3737 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS3 {
eq(&self, other: &Self) -> bool3738     fn eq(&self, other: &Self) -> bool {
3739         self.CopyQueueTimestampQueriesSupported == other.CopyQueueTimestampQueriesSupported && self.CastingFullyTypedFormatSupported == other.CastingFullyTypedFormatSupported && self.WriteBufferImmediateSupportFlags == other.WriteBufferImmediateSupportFlags && self.ViewInstancingTier == other.ViewInstancingTier && self.BarycentricsSupported == other.BarycentricsSupported
3740     }
3741 }
3742 #[cfg(feature = "Win32_Foundation")]
3743 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS3 {}
3744 #[cfg(feature = "Win32_Foundation")]
3745 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_D3D12_OPTIONS3 {
3746     type Abi = Self;
3747     type DefaultType = Self;
3748 }
3749 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3750 #[repr(C)]
3751 #[cfg(feature = "Win32_Foundation")]
3752 pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS4 {
3753     pub MSAA64KBAlignedTextureSupported: super::super::Foundation::BOOL,
3754     pub SharedResourceCompatibilityTier: D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER,
3755     pub Native16BitShaderOpsSupported: super::super::Foundation::BOOL,
3756 }
3757 #[cfg(feature = "Win32_Foundation")]
3758 impl D3D12_FEATURE_DATA_D3D12_OPTIONS4 {}
3759 #[cfg(feature = "Win32_Foundation")]
3760 impl ::std::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS4 {
default() -> Self3761     fn default() -> Self {
3762         unsafe { ::std::mem::zeroed() }
3763     }
3764 }
3765 #[cfg(feature = "Win32_Foundation")]
3766 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS4 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3767     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3768         fmt.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS4").field("MSAA64KBAlignedTextureSupported", &self.MSAA64KBAlignedTextureSupported).field("SharedResourceCompatibilityTier", &self.SharedResourceCompatibilityTier).field("Native16BitShaderOpsSupported", &self.Native16BitShaderOpsSupported).finish()
3769     }
3770 }
3771 #[cfg(feature = "Win32_Foundation")]
3772 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS4 {
eq(&self, other: &Self) -> bool3773     fn eq(&self, other: &Self) -> bool {
3774         self.MSAA64KBAlignedTextureSupported == other.MSAA64KBAlignedTextureSupported && self.SharedResourceCompatibilityTier == other.SharedResourceCompatibilityTier && self.Native16BitShaderOpsSupported == other.Native16BitShaderOpsSupported
3775     }
3776 }
3777 #[cfg(feature = "Win32_Foundation")]
3778 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS4 {}
3779 #[cfg(feature = "Win32_Foundation")]
3780 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_D3D12_OPTIONS4 {
3781     type Abi = Self;
3782     type DefaultType = Self;
3783 }
3784 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3785 #[repr(C)]
3786 #[cfg(feature = "Win32_Foundation")]
3787 pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS5 {
3788     pub SRVOnlyTiledResourceTier3: super::super::Foundation::BOOL,
3789     pub RenderPassesTier: D3D12_RENDER_PASS_TIER,
3790     pub RaytracingTier: D3D12_RAYTRACING_TIER,
3791 }
3792 #[cfg(feature = "Win32_Foundation")]
3793 impl D3D12_FEATURE_DATA_D3D12_OPTIONS5 {}
3794 #[cfg(feature = "Win32_Foundation")]
3795 impl ::std::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS5 {
default() -> Self3796     fn default() -> Self {
3797         unsafe { ::std::mem::zeroed() }
3798     }
3799 }
3800 #[cfg(feature = "Win32_Foundation")]
3801 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS5 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3802     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3803         fmt.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS5").field("SRVOnlyTiledResourceTier3", &self.SRVOnlyTiledResourceTier3).field("RenderPassesTier", &self.RenderPassesTier).field("RaytracingTier", &self.RaytracingTier).finish()
3804     }
3805 }
3806 #[cfg(feature = "Win32_Foundation")]
3807 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS5 {
eq(&self, other: &Self) -> bool3808     fn eq(&self, other: &Self) -> bool {
3809         self.SRVOnlyTiledResourceTier3 == other.SRVOnlyTiledResourceTier3 && self.RenderPassesTier == other.RenderPassesTier && self.RaytracingTier == other.RaytracingTier
3810     }
3811 }
3812 #[cfg(feature = "Win32_Foundation")]
3813 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS5 {}
3814 #[cfg(feature = "Win32_Foundation")]
3815 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_D3D12_OPTIONS5 {
3816     type Abi = Self;
3817     type DefaultType = Self;
3818 }
3819 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3820 #[repr(C)]
3821 #[cfg(feature = "Win32_Foundation")]
3822 pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS6 {
3823     pub AdditionalShadingRatesSupported: super::super::Foundation::BOOL,
3824     pub PerPrimitiveShadingRateSupportedWithViewportIndexing: super::super::Foundation::BOOL,
3825     pub VariableShadingRateTier: D3D12_VARIABLE_SHADING_RATE_TIER,
3826     pub ShadingRateImageTileSize: u32,
3827     pub BackgroundProcessingSupported: super::super::Foundation::BOOL,
3828 }
3829 #[cfg(feature = "Win32_Foundation")]
3830 impl D3D12_FEATURE_DATA_D3D12_OPTIONS6 {}
3831 #[cfg(feature = "Win32_Foundation")]
3832 impl ::std::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS6 {
default() -> Self3833     fn default() -> Self {
3834         unsafe { ::std::mem::zeroed() }
3835     }
3836 }
3837 #[cfg(feature = "Win32_Foundation")]
3838 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS6 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3839     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3840         fmt.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS6")
3841             .field("AdditionalShadingRatesSupported", &self.AdditionalShadingRatesSupported)
3842             .field("PerPrimitiveShadingRateSupportedWithViewportIndexing", &self.PerPrimitiveShadingRateSupportedWithViewportIndexing)
3843             .field("VariableShadingRateTier", &self.VariableShadingRateTier)
3844             .field("ShadingRateImageTileSize", &self.ShadingRateImageTileSize)
3845             .field("BackgroundProcessingSupported", &self.BackgroundProcessingSupported)
3846             .finish()
3847     }
3848 }
3849 #[cfg(feature = "Win32_Foundation")]
3850 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS6 {
eq(&self, other: &Self) -> bool3851     fn eq(&self, other: &Self) -> bool {
3852         self.AdditionalShadingRatesSupported == other.AdditionalShadingRatesSupported && self.PerPrimitiveShadingRateSupportedWithViewportIndexing == other.PerPrimitiveShadingRateSupportedWithViewportIndexing && self.VariableShadingRateTier == other.VariableShadingRateTier && self.ShadingRateImageTileSize == other.ShadingRateImageTileSize && self.BackgroundProcessingSupported == other.BackgroundProcessingSupported
3853     }
3854 }
3855 #[cfg(feature = "Win32_Foundation")]
3856 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS6 {}
3857 #[cfg(feature = "Win32_Foundation")]
3858 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_D3D12_OPTIONS6 {
3859     type Abi = Self;
3860     type DefaultType = Self;
3861 }
3862 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3863 #[repr(C)]
3864 pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS7 {
3865     pub MeshShaderTier: D3D12_MESH_SHADER_TIER,
3866     pub SamplerFeedbackTier: D3D12_SAMPLER_FEEDBACK_TIER,
3867 }
3868 impl D3D12_FEATURE_DATA_D3D12_OPTIONS7 {}
3869 impl ::std::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS7 {
default() -> Self3870     fn default() -> Self {
3871         unsafe { ::std::mem::zeroed() }
3872     }
3873 }
3874 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS7 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3875     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3876         fmt.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS7").field("MeshShaderTier", &self.MeshShaderTier).field("SamplerFeedbackTier", &self.SamplerFeedbackTier).finish()
3877     }
3878 }
3879 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS7 {
eq(&self, other: &Self) -> bool3880     fn eq(&self, other: &Self) -> bool {
3881         self.MeshShaderTier == other.MeshShaderTier && self.SamplerFeedbackTier == other.SamplerFeedbackTier
3882     }
3883 }
3884 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS7 {}
3885 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_D3D12_OPTIONS7 {
3886     type Abi = Self;
3887     type DefaultType = Self;
3888 }
3889 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3890 #[repr(C)]
3891 #[cfg(feature = "Win32_Foundation")]
3892 pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS8 {
3893     pub UnalignedBlockTexturesSupported: super::super::Foundation::BOOL,
3894 }
3895 #[cfg(feature = "Win32_Foundation")]
3896 impl D3D12_FEATURE_DATA_D3D12_OPTIONS8 {}
3897 #[cfg(feature = "Win32_Foundation")]
3898 impl ::std::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS8 {
default() -> Self3899     fn default() -> Self {
3900         unsafe { ::std::mem::zeroed() }
3901     }
3902 }
3903 #[cfg(feature = "Win32_Foundation")]
3904 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS8 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3905     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3906         fmt.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS8").field("UnalignedBlockTexturesSupported", &self.UnalignedBlockTexturesSupported).finish()
3907     }
3908 }
3909 #[cfg(feature = "Win32_Foundation")]
3910 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS8 {
eq(&self, other: &Self) -> bool3911     fn eq(&self, other: &Self) -> bool {
3912         self.UnalignedBlockTexturesSupported == other.UnalignedBlockTexturesSupported
3913     }
3914 }
3915 #[cfg(feature = "Win32_Foundation")]
3916 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS8 {}
3917 #[cfg(feature = "Win32_Foundation")]
3918 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_D3D12_OPTIONS8 {
3919     type Abi = Self;
3920     type DefaultType = Self;
3921 }
3922 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3923 #[repr(C)]
3924 #[cfg(feature = "Win32_Foundation")]
3925 pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS9 {
3926     pub MeshShaderPipelineStatsSupported: super::super::Foundation::BOOL,
3927     pub MeshShaderSupportsFullRangeRenderTargetArrayIndex: super::super::Foundation::BOOL,
3928     pub AtomicInt64OnTypedResourceSupported: super::super::Foundation::BOOL,
3929     pub AtomicInt64OnGroupSharedSupported: super::super::Foundation::BOOL,
3930     pub DerivativesInMeshAndAmplificationShadersSupported: super::super::Foundation::BOOL,
3931     pub WaveMMATier: D3D12_WAVE_MMA_TIER,
3932 }
3933 #[cfg(feature = "Win32_Foundation")]
3934 impl D3D12_FEATURE_DATA_D3D12_OPTIONS9 {}
3935 #[cfg(feature = "Win32_Foundation")]
3936 impl ::std::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS9 {
default() -> Self3937     fn default() -> Self {
3938         unsafe { ::std::mem::zeroed() }
3939     }
3940 }
3941 #[cfg(feature = "Win32_Foundation")]
3942 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS9 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3943     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3944         fmt.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS9")
3945             .field("MeshShaderPipelineStatsSupported", &self.MeshShaderPipelineStatsSupported)
3946             .field("MeshShaderSupportsFullRangeRenderTargetArrayIndex", &self.MeshShaderSupportsFullRangeRenderTargetArrayIndex)
3947             .field("AtomicInt64OnTypedResourceSupported", &self.AtomicInt64OnTypedResourceSupported)
3948             .field("AtomicInt64OnGroupSharedSupported", &self.AtomicInt64OnGroupSharedSupported)
3949             .field("DerivativesInMeshAndAmplificationShadersSupported", &self.DerivativesInMeshAndAmplificationShadersSupported)
3950             .field("WaveMMATier", &self.WaveMMATier)
3951             .finish()
3952     }
3953 }
3954 #[cfg(feature = "Win32_Foundation")]
3955 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS9 {
eq(&self, other: &Self) -> bool3956     fn eq(&self, other: &Self) -> bool {
3957         self.MeshShaderPipelineStatsSupported == other.MeshShaderPipelineStatsSupported
3958             && self.MeshShaderSupportsFullRangeRenderTargetArrayIndex == other.MeshShaderSupportsFullRangeRenderTargetArrayIndex
3959             && self.AtomicInt64OnTypedResourceSupported == other.AtomicInt64OnTypedResourceSupported
3960             && self.AtomicInt64OnGroupSharedSupported == other.AtomicInt64OnGroupSharedSupported
3961             && self.DerivativesInMeshAndAmplificationShadersSupported == other.DerivativesInMeshAndAmplificationShadersSupported
3962             && self.WaveMMATier == other.WaveMMATier
3963     }
3964 }
3965 #[cfg(feature = "Win32_Foundation")]
3966 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS9 {}
3967 #[cfg(feature = "Win32_Foundation")]
3968 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_D3D12_OPTIONS9 {
3969     type Abi = Self;
3970     type DefaultType = Self;
3971 }
3972 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3973 #[repr(C)]
3974 #[cfg(feature = "Win32_Foundation")]
3975 pub struct D3D12_FEATURE_DATA_DISPLAYABLE {
3976     pub DisplayableTexture: super::super::Foundation::BOOL,
3977     pub SharedResourceCompatibilityTier: D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER,
3978 }
3979 #[cfg(feature = "Win32_Foundation")]
3980 impl D3D12_FEATURE_DATA_DISPLAYABLE {}
3981 #[cfg(feature = "Win32_Foundation")]
3982 impl ::std::default::Default for D3D12_FEATURE_DATA_DISPLAYABLE {
default() -> Self3983     fn default() -> Self {
3984         unsafe { ::std::mem::zeroed() }
3985     }
3986 }
3987 #[cfg(feature = "Win32_Foundation")]
3988 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_DISPLAYABLE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3989     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3990         fmt.debug_struct("D3D12_FEATURE_DATA_DISPLAYABLE").field("DisplayableTexture", &self.DisplayableTexture).field("SharedResourceCompatibilityTier", &self.SharedResourceCompatibilityTier).finish()
3991     }
3992 }
3993 #[cfg(feature = "Win32_Foundation")]
3994 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_DISPLAYABLE {
eq(&self, other: &Self) -> bool3995     fn eq(&self, other: &Self) -> bool {
3996         self.DisplayableTexture == other.DisplayableTexture && self.SharedResourceCompatibilityTier == other.SharedResourceCompatibilityTier
3997     }
3998 }
3999 #[cfg(feature = "Win32_Foundation")]
4000 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_DISPLAYABLE {}
4001 #[cfg(feature = "Win32_Foundation")]
4002 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_DISPLAYABLE {
4003     type Abi = Self;
4004     type DefaultType = Self;
4005 }
4006 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4007 #[repr(C)]
4008 #[cfg(feature = "Win32_Foundation")]
4009 pub struct D3D12_FEATURE_DATA_EXISTING_HEAPS {
4010     pub Supported: super::super::Foundation::BOOL,
4011 }
4012 #[cfg(feature = "Win32_Foundation")]
4013 impl D3D12_FEATURE_DATA_EXISTING_HEAPS {}
4014 #[cfg(feature = "Win32_Foundation")]
4015 impl ::std::default::Default for D3D12_FEATURE_DATA_EXISTING_HEAPS {
default() -> Self4016     fn default() -> Self {
4017         unsafe { ::std::mem::zeroed() }
4018     }
4019 }
4020 #[cfg(feature = "Win32_Foundation")]
4021 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_EXISTING_HEAPS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4022     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4023         fmt.debug_struct("D3D12_FEATURE_DATA_EXISTING_HEAPS").field("Supported", &self.Supported).finish()
4024     }
4025 }
4026 #[cfg(feature = "Win32_Foundation")]
4027 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_EXISTING_HEAPS {
eq(&self, other: &Self) -> bool4028     fn eq(&self, other: &Self) -> bool {
4029         self.Supported == other.Supported
4030     }
4031 }
4032 #[cfg(feature = "Win32_Foundation")]
4033 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_EXISTING_HEAPS {}
4034 #[cfg(feature = "Win32_Foundation")]
4035 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_EXISTING_HEAPS {
4036     type Abi = Self;
4037     type DefaultType = Self;
4038 }
4039 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4040 #[repr(C)]
4041 #[cfg(feature = "Win32_Graphics_Direct3D11")]
4042 pub struct D3D12_FEATURE_DATA_FEATURE_LEVELS {
4043     pub NumFeatureLevels: u32,
4044     pub pFeatureLevelsRequested: *mut super::Direct3D11::D3D_FEATURE_LEVEL,
4045     pub MaxSupportedFeatureLevel: super::Direct3D11::D3D_FEATURE_LEVEL,
4046 }
4047 #[cfg(feature = "Win32_Graphics_Direct3D11")]
4048 impl D3D12_FEATURE_DATA_FEATURE_LEVELS {}
4049 #[cfg(feature = "Win32_Graphics_Direct3D11")]
4050 impl ::std::default::Default for D3D12_FEATURE_DATA_FEATURE_LEVELS {
default() -> Self4051     fn default() -> Self {
4052         unsafe { ::std::mem::zeroed() }
4053     }
4054 }
4055 #[cfg(feature = "Win32_Graphics_Direct3D11")]
4056 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_FEATURE_LEVELS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4057     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4058         fmt.debug_struct("D3D12_FEATURE_DATA_FEATURE_LEVELS").field("NumFeatureLevels", &self.NumFeatureLevels).field("pFeatureLevelsRequested", &self.pFeatureLevelsRequested).field("MaxSupportedFeatureLevel", &self.MaxSupportedFeatureLevel).finish()
4059     }
4060 }
4061 #[cfg(feature = "Win32_Graphics_Direct3D11")]
4062 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_FEATURE_LEVELS {
eq(&self, other: &Self) -> bool4063     fn eq(&self, other: &Self) -> bool {
4064         self.NumFeatureLevels == other.NumFeatureLevels && self.pFeatureLevelsRequested == other.pFeatureLevelsRequested && self.MaxSupportedFeatureLevel == other.MaxSupportedFeatureLevel
4065     }
4066 }
4067 #[cfg(feature = "Win32_Graphics_Direct3D11")]
4068 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_FEATURE_LEVELS {}
4069 #[cfg(feature = "Win32_Graphics_Direct3D11")]
4070 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_FEATURE_LEVELS {
4071     type Abi = Self;
4072     type DefaultType = Self;
4073 }
4074 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4075 #[repr(C)]
4076 #[cfg(feature = "Win32_Graphics_Dxgi")]
4077 pub struct D3D12_FEATURE_DATA_FORMAT_INFO {
4078     pub Format: super::Dxgi::DXGI_FORMAT,
4079     pub PlaneCount: u8,
4080 }
4081 #[cfg(feature = "Win32_Graphics_Dxgi")]
4082 impl D3D12_FEATURE_DATA_FORMAT_INFO {}
4083 #[cfg(feature = "Win32_Graphics_Dxgi")]
4084 impl ::std::default::Default for D3D12_FEATURE_DATA_FORMAT_INFO {
default() -> Self4085     fn default() -> Self {
4086         unsafe { ::std::mem::zeroed() }
4087     }
4088 }
4089 #[cfg(feature = "Win32_Graphics_Dxgi")]
4090 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_FORMAT_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4091     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4092         fmt.debug_struct("D3D12_FEATURE_DATA_FORMAT_INFO").field("Format", &self.Format).field("PlaneCount", &self.PlaneCount).finish()
4093     }
4094 }
4095 #[cfg(feature = "Win32_Graphics_Dxgi")]
4096 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_FORMAT_INFO {
eq(&self, other: &Self) -> bool4097     fn eq(&self, other: &Self) -> bool {
4098         self.Format == other.Format && self.PlaneCount == other.PlaneCount
4099     }
4100 }
4101 #[cfg(feature = "Win32_Graphics_Dxgi")]
4102 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_FORMAT_INFO {}
4103 #[cfg(feature = "Win32_Graphics_Dxgi")]
4104 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_FORMAT_INFO {
4105     type Abi = Self;
4106     type DefaultType = Self;
4107 }
4108 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4109 #[repr(C)]
4110 #[cfg(feature = "Win32_Graphics_Dxgi")]
4111 pub struct D3D12_FEATURE_DATA_FORMAT_SUPPORT {
4112     pub Format: super::Dxgi::DXGI_FORMAT,
4113     pub Support1: D3D12_FORMAT_SUPPORT1,
4114     pub Support2: D3D12_FORMAT_SUPPORT2,
4115 }
4116 #[cfg(feature = "Win32_Graphics_Dxgi")]
4117 impl D3D12_FEATURE_DATA_FORMAT_SUPPORT {}
4118 #[cfg(feature = "Win32_Graphics_Dxgi")]
4119 impl ::std::default::Default for D3D12_FEATURE_DATA_FORMAT_SUPPORT {
default() -> Self4120     fn default() -> Self {
4121         unsafe { ::std::mem::zeroed() }
4122     }
4123 }
4124 #[cfg(feature = "Win32_Graphics_Dxgi")]
4125 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_FORMAT_SUPPORT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4126     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4127         fmt.debug_struct("D3D12_FEATURE_DATA_FORMAT_SUPPORT").field("Format", &self.Format).field("Support1", &self.Support1).field("Support2", &self.Support2).finish()
4128     }
4129 }
4130 #[cfg(feature = "Win32_Graphics_Dxgi")]
4131 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_FORMAT_SUPPORT {
eq(&self, other: &Self) -> bool4132     fn eq(&self, other: &Self) -> bool {
4133         self.Format == other.Format && self.Support1 == other.Support1 && self.Support2 == other.Support2
4134     }
4135 }
4136 #[cfg(feature = "Win32_Graphics_Dxgi")]
4137 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_FORMAT_SUPPORT {}
4138 #[cfg(feature = "Win32_Graphics_Dxgi")]
4139 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_FORMAT_SUPPORT {
4140     type Abi = Self;
4141     type DefaultType = Self;
4142 }
4143 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4144 #[repr(C)]
4145 pub struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
4146     pub MaxGPUVirtualAddressBitsPerResource: u32,
4147     pub MaxGPUVirtualAddressBitsPerProcess: u32,
4148 }
4149 impl D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {}
4150 impl ::std::default::Default for D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
default() -> Self4151     fn default() -> Self {
4152         unsafe { ::std::mem::zeroed() }
4153     }
4154 }
4155 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4156     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4157         fmt.debug_struct("D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT").field("MaxGPUVirtualAddressBitsPerResource", &self.MaxGPUVirtualAddressBitsPerResource).field("MaxGPUVirtualAddressBitsPerProcess", &self.MaxGPUVirtualAddressBitsPerProcess).finish()
4158     }
4159 }
4160 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
eq(&self, other: &Self) -> bool4161     fn eq(&self, other: &Self) -> bool {
4162         self.MaxGPUVirtualAddressBitsPerResource == other.MaxGPUVirtualAddressBitsPerResource && self.MaxGPUVirtualAddressBitsPerProcess == other.MaxGPUVirtualAddressBitsPerProcess
4163     }
4164 }
4165 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {}
4166 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
4167     type Abi = Self;
4168     type DefaultType = Self;
4169 }
4170 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4171 #[repr(C)]
4172 #[cfg(feature = "Win32_Graphics_Dxgi")]
4173 pub struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {
4174     pub Format: super::Dxgi::DXGI_FORMAT,
4175     pub SampleCount: u32,
4176     pub Flags: D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS,
4177     pub NumQualityLevels: u32,
4178 }
4179 #[cfg(feature = "Win32_Graphics_Dxgi")]
4180 impl D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {}
4181 #[cfg(feature = "Win32_Graphics_Dxgi")]
4182 impl ::std::default::Default for D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {
default() -> Self4183     fn default() -> Self {
4184         unsafe { ::std::mem::zeroed() }
4185     }
4186 }
4187 #[cfg(feature = "Win32_Graphics_Dxgi")]
4188 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4189     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4190         fmt.debug_struct("D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS").field("Format", &self.Format).field("SampleCount", &self.SampleCount).field("Flags", &self.Flags).field("NumQualityLevels", &self.NumQualityLevels).finish()
4191     }
4192 }
4193 #[cfg(feature = "Win32_Graphics_Dxgi")]
4194 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {
eq(&self, other: &Self) -> bool4195     fn eq(&self, other: &Self) -> bool {
4196         self.Format == other.Format && self.SampleCount == other.SampleCount && self.Flags == other.Flags && self.NumQualityLevels == other.NumQualityLevels
4197     }
4198 }
4199 #[cfg(feature = "Win32_Graphics_Dxgi")]
4200 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {}
4201 #[cfg(feature = "Win32_Graphics_Dxgi")]
4202 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {
4203     type Abi = Self;
4204     type DefaultType = Self;
4205 }
4206 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4207 #[repr(C)]
4208 pub struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {
4209     pub NodeIndex: u32,
4210     pub Support: D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS,
4211 }
4212 impl D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {}
4213 impl ::std::default::Default for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {
default() -> Self4214     fn default() -> Self {
4215         unsafe { ::std::mem::zeroed() }
4216     }
4217 }
4218 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4219     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4220         fmt.debug_struct("D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT").field("NodeIndex", &self.NodeIndex).field("Support", &self.Support).finish()
4221     }
4222 }
4223 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {
eq(&self, other: &Self) -> bool4224     fn eq(&self, other: &Self) -> bool {
4225         self.NodeIndex == other.NodeIndex && self.Support == other.Support
4226     }
4227 }
4228 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {}
4229 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {
4230     type Abi = Self;
4231     type DefaultType = Self;
4232 }
4233 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4234 #[repr(C)]
4235 pub struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {
4236     pub NodeIndex: u32,
4237     pub Count: u32,
4238     pub pTypes: *mut ::windows::runtime::GUID,
4239 }
4240 impl D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {}
4241 impl ::std::default::Default for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {
default() -> Self4242     fn default() -> Self {
4243         unsafe { ::std::mem::zeroed() }
4244     }
4245 }
4246 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4247     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4248         fmt.debug_struct("D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES").field("NodeIndex", &self.NodeIndex).field("Count", &self.Count).field("pTypes", &self.pTypes).finish()
4249     }
4250 }
4251 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {
eq(&self, other: &Self) -> bool4252     fn eq(&self, other: &Self) -> bool {
4253         self.NodeIndex == other.NodeIndex && self.Count == other.Count && self.pTypes == other.pTypes
4254     }
4255 }
4256 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {}
4257 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {
4258     type Abi = Self;
4259     type DefaultType = Self;
4260 }
4261 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4262 #[repr(C)]
4263 pub struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {
4264     pub NodeIndex: u32,
4265     pub Count: u32,
4266 }
4267 impl D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {}
4268 impl ::std::default::Default for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {
default() -> Self4269     fn default() -> Self {
4270         unsafe { ::std::mem::zeroed() }
4271     }
4272 }
4273 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4274     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4275         fmt.debug_struct("D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT").field("NodeIndex", &self.NodeIndex).field("Count", &self.Count).finish()
4276     }
4277 }
4278 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {
eq(&self, other: &Self) -> bool4279     fn eq(&self, other: &Self) -> bool {
4280         self.NodeIndex == other.NodeIndex && self.Count == other.Count
4281     }
4282 }
4283 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {}
4284 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {
4285     type Abi = Self;
4286     type DefaultType = Self;
4287 }
4288 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4289 #[repr(C)]
4290 pub struct D3D12_FEATURE_DATA_QUERY_META_COMMAND {
4291     pub CommandId: ::windows::runtime::GUID,
4292     pub NodeMask: u32,
4293     pub pQueryInputData: *mut ::std::ffi::c_void,
4294     pub QueryInputDataSizeInBytes: usize,
4295     pub pQueryOutputData: *mut ::std::ffi::c_void,
4296     pub QueryOutputDataSizeInBytes: usize,
4297 }
4298 impl D3D12_FEATURE_DATA_QUERY_META_COMMAND {}
4299 impl ::std::default::Default for D3D12_FEATURE_DATA_QUERY_META_COMMAND {
default() -> Self4300     fn default() -> Self {
4301         unsafe { ::std::mem::zeroed() }
4302     }
4303 }
4304 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_QUERY_META_COMMAND {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4305     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4306         fmt.debug_struct("D3D12_FEATURE_DATA_QUERY_META_COMMAND")
4307             .field("CommandId", &self.CommandId)
4308             .field("NodeMask", &self.NodeMask)
4309             .field("pQueryInputData", &self.pQueryInputData)
4310             .field("QueryInputDataSizeInBytes", &self.QueryInputDataSizeInBytes)
4311             .field("pQueryOutputData", &self.pQueryOutputData)
4312             .field("QueryOutputDataSizeInBytes", &self.QueryOutputDataSizeInBytes)
4313             .finish()
4314     }
4315 }
4316 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_QUERY_META_COMMAND {
eq(&self, other: &Self) -> bool4317     fn eq(&self, other: &Self) -> bool {
4318         self.CommandId == other.CommandId && self.NodeMask == other.NodeMask && self.pQueryInputData == other.pQueryInputData && self.QueryInputDataSizeInBytes == other.QueryInputDataSizeInBytes && self.pQueryOutputData == other.pQueryOutputData && self.QueryOutputDataSizeInBytes == other.QueryOutputDataSizeInBytes
4319     }
4320 }
4321 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_QUERY_META_COMMAND {}
4322 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_QUERY_META_COMMAND {
4323     type Abi = Self;
4324     type DefaultType = Self;
4325 }
4326 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4327 #[repr(C)]
4328 pub struct D3D12_FEATURE_DATA_ROOT_SIGNATURE {
4329     pub HighestVersion: D3D_ROOT_SIGNATURE_VERSION,
4330 }
4331 impl D3D12_FEATURE_DATA_ROOT_SIGNATURE {}
4332 impl ::std::default::Default for D3D12_FEATURE_DATA_ROOT_SIGNATURE {
default() -> Self4333     fn default() -> Self {
4334         unsafe { ::std::mem::zeroed() }
4335     }
4336 }
4337 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_ROOT_SIGNATURE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4338     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4339         fmt.debug_struct("D3D12_FEATURE_DATA_ROOT_SIGNATURE").field("HighestVersion", &self.HighestVersion).finish()
4340     }
4341 }
4342 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_ROOT_SIGNATURE {
eq(&self, other: &Self) -> bool4343     fn eq(&self, other: &Self) -> bool {
4344         self.HighestVersion == other.HighestVersion
4345     }
4346 }
4347 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_ROOT_SIGNATURE {}
4348 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_ROOT_SIGNATURE {
4349     type Abi = Self;
4350     type DefaultType = Self;
4351 }
4352 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4353 #[repr(C)]
4354 pub struct D3D12_FEATURE_DATA_SERIALIZATION {
4355     pub NodeIndex: u32,
4356     pub HeapSerializationTier: D3D12_HEAP_SERIALIZATION_TIER,
4357 }
4358 impl D3D12_FEATURE_DATA_SERIALIZATION {}
4359 impl ::std::default::Default for D3D12_FEATURE_DATA_SERIALIZATION {
default() -> Self4360     fn default() -> Self {
4361         unsafe { ::std::mem::zeroed() }
4362     }
4363 }
4364 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_SERIALIZATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4365     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4366         fmt.debug_struct("D3D12_FEATURE_DATA_SERIALIZATION").field("NodeIndex", &self.NodeIndex).field("HeapSerializationTier", &self.HeapSerializationTier).finish()
4367     }
4368 }
4369 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_SERIALIZATION {
eq(&self, other: &Self) -> bool4370     fn eq(&self, other: &Self) -> bool {
4371         self.NodeIndex == other.NodeIndex && self.HeapSerializationTier == other.HeapSerializationTier
4372     }
4373 }
4374 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_SERIALIZATION {}
4375 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_SERIALIZATION {
4376     type Abi = Self;
4377     type DefaultType = Self;
4378 }
4379 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4380 #[repr(C)]
4381 pub struct D3D12_FEATURE_DATA_SHADER_CACHE {
4382     pub SupportFlags: D3D12_SHADER_CACHE_SUPPORT_FLAGS,
4383 }
4384 impl D3D12_FEATURE_DATA_SHADER_CACHE {}
4385 impl ::std::default::Default for D3D12_FEATURE_DATA_SHADER_CACHE {
default() -> Self4386     fn default() -> Self {
4387         unsafe { ::std::mem::zeroed() }
4388     }
4389 }
4390 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_SHADER_CACHE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4391     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4392         fmt.debug_struct("D3D12_FEATURE_DATA_SHADER_CACHE").field("SupportFlags", &self.SupportFlags).finish()
4393     }
4394 }
4395 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_SHADER_CACHE {
eq(&self, other: &Self) -> bool4396     fn eq(&self, other: &Self) -> bool {
4397         self.SupportFlags == other.SupportFlags
4398     }
4399 }
4400 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_SHADER_CACHE {}
4401 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_SHADER_CACHE {
4402     type Abi = Self;
4403     type DefaultType = Self;
4404 }
4405 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4406 #[repr(C)]
4407 pub struct D3D12_FEATURE_DATA_SHADER_MODEL {
4408     pub HighestShaderModel: D3D_SHADER_MODEL,
4409 }
4410 impl D3D12_FEATURE_DATA_SHADER_MODEL {}
4411 impl ::std::default::Default for D3D12_FEATURE_DATA_SHADER_MODEL {
default() -> Self4412     fn default() -> Self {
4413         unsafe { ::std::mem::zeroed() }
4414     }
4415 }
4416 impl ::std::fmt::Debug for D3D12_FEATURE_DATA_SHADER_MODEL {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4417     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4418         fmt.debug_struct("D3D12_FEATURE_DATA_SHADER_MODEL").field("HighestShaderModel", &self.HighestShaderModel).finish()
4419     }
4420 }
4421 impl ::std::cmp::PartialEq for D3D12_FEATURE_DATA_SHADER_MODEL {
eq(&self, other: &Self) -> bool4422     fn eq(&self, other: &Self) -> bool {
4423         self.HighestShaderModel == other.HighestShaderModel
4424     }
4425 }
4426 impl ::std::cmp::Eq for D3D12_FEATURE_DATA_SHADER_MODEL {}
4427 unsafe impl ::windows::runtime::Abi for D3D12_FEATURE_DATA_SHADER_MODEL {
4428     type Abi = Self;
4429     type DefaultType = Self;
4430 }
4431 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4432 #[repr(transparent)]
4433 pub struct D3D12_FENCE_FLAGS(pub u32);
4434 pub const D3D12_FENCE_FLAG_NONE: D3D12_FENCE_FLAGS = D3D12_FENCE_FLAGS(0u32);
4435 pub const D3D12_FENCE_FLAG_SHARED: D3D12_FENCE_FLAGS = D3D12_FENCE_FLAGS(1u32);
4436 pub const D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER: D3D12_FENCE_FLAGS = D3D12_FENCE_FLAGS(2u32);
4437 pub const D3D12_FENCE_FLAG_NON_MONITORED: D3D12_FENCE_FLAGS = D3D12_FENCE_FLAGS(4u32);
4438 impl ::std::convert::From<u32> for D3D12_FENCE_FLAGS {
from(value: u32) -> Self4439     fn from(value: u32) -> Self {
4440         Self(value)
4441     }
4442 }
4443 unsafe impl ::windows::runtime::Abi for D3D12_FENCE_FLAGS {
4444     type Abi = Self;
4445     type DefaultType = Self;
4446 }
4447 impl ::std::ops::BitOr for D3D12_FENCE_FLAGS {
4448     type Output = Self;
bitor(self, rhs: Self) -> Self4449     fn bitor(self, rhs: Self) -> Self {
4450         Self(self.0 | rhs.0)
4451     }
4452 }
4453 impl ::std::ops::BitAnd for D3D12_FENCE_FLAGS {
4454     type Output = Self;
bitand(self, rhs: Self) -> Self4455     fn bitand(self, rhs: Self) -> Self {
4456         Self(self.0 & rhs.0)
4457     }
4458 }
4459 impl ::std::ops::BitOrAssign for D3D12_FENCE_FLAGS {
bitor_assign(&mut self, rhs: Self)4460     fn bitor_assign(&mut self, rhs: Self) {
4461         self.0.bitor_assign(rhs.0)
4462     }
4463 }
4464 impl ::std::ops::BitAndAssign for D3D12_FENCE_FLAGS {
bitand_assign(&mut self, rhs: Self)4465     fn bitand_assign(&mut self, rhs: Self) {
4466         self.0.bitand_assign(rhs.0)
4467     }
4468 }
4469 impl ::std::ops::Not for D3D12_FENCE_FLAGS {
4470     type Output = Self;
not(self) -> Self4471     fn not(self) -> Self {
4472         Self(self.0.not())
4473     }
4474 }
4475 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4476 #[repr(transparent)]
4477 pub struct D3D12_FILL_MODE(pub i32);
4478 pub const D3D12_FILL_MODE_WIREFRAME: D3D12_FILL_MODE = D3D12_FILL_MODE(2i32);
4479 pub const D3D12_FILL_MODE_SOLID: D3D12_FILL_MODE = D3D12_FILL_MODE(3i32);
4480 impl ::std::convert::From<i32> for D3D12_FILL_MODE {
from(value: i32) -> Self4481     fn from(value: i32) -> Self {
4482         Self(value)
4483     }
4484 }
4485 unsafe impl ::windows::runtime::Abi for D3D12_FILL_MODE {
4486     type Abi = Self;
4487     type DefaultType = Self;
4488 }
4489 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4490 #[repr(transparent)]
4491 pub struct D3D12_FILTER(pub i32);
4492 pub const D3D12_FILTER_MIN_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(0i32);
4493 pub const D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(1i32);
4494 pub const D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(4i32);
4495 pub const D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(5i32);
4496 pub const D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(16i32);
4497 pub const D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(17i32);
4498 pub const D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(20i32);
4499 pub const D3D12_FILTER_MIN_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(21i32);
4500 pub const D3D12_FILTER_ANISOTROPIC: D3D12_FILTER = D3D12_FILTER(85i32);
4501 pub const D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(128i32);
4502 pub const D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(129i32);
4503 pub const D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(132i32);
4504 pub const D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(133i32);
4505 pub const D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(144i32);
4506 pub const D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(145i32);
4507 pub const D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(148i32);
4508 pub const D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(149i32);
4509 pub const D3D12_FILTER_COMPARISON_ANISOTROPIC: D3D12_FILTER = D3D12_FILTER(213i32);
4510 pub const D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(256i32);
4511 pub const D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(257i32);
4512 pub const D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(260i32);
4513 pub const D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(261i32);
4514 pub const D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(272i32);
4515 pub const D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(273i32);
4516 pub const D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(276i32);
4517 pub const D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(277i32);
4518 pub const D3D12_FILTER_MINIMUM_ANISOTROPIC: D3D12_FILTER = D3D12_FILTER(341i32);
4519 pub const D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(384i32);
4520 pub const D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(385i32);
4521 pub const D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(388i32);
4522 pub const D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(389i32);
4523 pub const D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(400i32);
4524 pub const D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(401i32);
4525 pub const D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(404i32);
4526 pub const D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(405i32);
4527 pub const D3D12_FILTER_MAXIMUM_ANISOTROPIC: D3D12_FILTER = D3D12_FILTER(469i32);
4528 impl ::std::convert::From<i32> for D3D12_FILTER {
from(value: i32) -> Self4529     fn from(value: i32) -> Self {
4530         Self(value)
4531     }
4532 }
4533 unsafe impl ::windows::runtime::Abi for D3D12_FILTER {
4534     type Abi = Self;
4535     type DefaultType = Self;
4536 }
4537 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4538 #[repr(transparent)]
4539 pub struct D3D12_FILTER_REDUCTION_TYPE(pub i32);
4540 pub const D3D12_FILTER_REDUCTION_TYPE_STANDARD: D3D12_FILTER_REDUCTION_TYPE = D3D12_FILTER_REDUCTION_TYPE(0i32);
4541 pub const D3D12_FILTER_REDUCTION_TYPE_COMPARISON: D3D12_FILTER_REDUCTION_TYPE = D3D12_FILTER_REDUCTION_TYPE(1i32);
4542 pub const D3D12_FILTER_REDUCTION_TYPE_MINIMUM: D3D12_FILTER_REDUCTION_TYPE = D3D12_FILTER_REDUCTION_TYPE(2i32);
4543 pub const D3D12_FILTER_REDUCTION_TYPE_MAXIMUM: D3D12_FILTER_REDUCTION_TYPE = D3D12_FILTER_REDUCTION_TYPE(3i32);
4544 impl ::std::convert::From<i32> for D3D12_FILTER_REDUCTION_TYPE {
from(value: i32) -> Self4545     fn from(value: i32) -> Self {
4546         Self(value)
4547     }
4548 }
4549 unsafe impl ::windows::runtime::Abi for D3D12_FILTER_REDUCTION_TYPE {
4550     type Abi = Self;
4551     type DefaultType = Self;
4552 }
4553 pub const D3D12_FILTER_REDUCTION_TYPE_MASK: u32 = 3u32;
4554 pub const D3D12_FILTER_REDUCTION_TYPE_SHIFT: u32 = 7u32;
4555 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4556 #[repr(transparent)]
4557 pub struct D3D12_FILTER_TYPE(pub i32);
4558 pub const D3D12_FILTER_TYPE_POINT: D3D12_FILTER_TYPE = D3D12_FILTER_TYPE(0i32);
4559 pub const D3D12_FILTER_TYPE_LINEAR: D3D12_FILTER_TYPE = D3D12_FILTER_TYPE(1i32);
4560 impl ::std::convert::From<i32> for D3D12_FILTER_TYPE {
from(value: i32) -> Self4561     fn from(value: i32) -> Self {
4562         Self(value)
4563     }
4564 }
4565 unsafe impl ::windows::runtime::Abi for D3D12_FILTER_TYPE {
4566     type Abi = Self;
4567     type DefaultType = Self;
4568 }
4569 pub const D3D12_FILTER_TYPE_MASK: u32 = 3u32;
4570 pub const D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP: f64 = 0.6f64;
4571 pub const D3D12_FLOAT32_MAX: f32 = 340282350000000000000000000000000000000f32;
4572 pub const D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP: f32 = 0.6f32;
4573 pub const D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR: f32 = 2.4f32;
4574 pub const D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR: f32 = 1f32;
4575 pub const D3D12_FLOAT_TO_SRGB_OFFSET: f32 = 0.055f32;
4576 pub const D3D12_FLOAT_TO_SRGB_SCALE_1: f32 = 12.92f32;
4577 pub const D3D12_FLOAT_TO_SRGB_SCALE_2: f32 = 1.055f32;
4578 pub const D3D12_FLOAT_TO_SRGB_THRESHOLD: f32 = 0.0031308f32;
4579 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4580 #[repr(transparent)]
4581 pub struct D3D12_FORMAT_SUPPORT1(pub u32);
4582 pub const D3D12_FORMAT_SUPPORT1_NONE: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(0u32);
4583 pub const D3D12_FORMAT_SUPPORT1_BUFFER: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(1u32);
4584 pub const D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(2u32);
4585 pub const D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(4u32);
4586 pub const D3D12_FORMAT_SUPPORT1_SO_BUFFER: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(8u32);
4587 pub const D3D12_FORMAT_SUPPORT1_TEXTURE1D: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(16u32);
4588 pub const D3D12_FORMAT_SUPPORT1_TEXTURE2D: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(32u32);
4589 pub const D3D12_FORMAT_SUPPORT1_TEXTURE3D: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(64u32);
4590 pub const D3D12_FORMAT_SUPPORT1_TEXTURECUBE: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(128u32);
4591 pub const D3D12_FORMAT_SUPPORT1_SHADER_LOAD: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(256u32);
4592 pub const D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(512u32);
4593 pub const D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(1024u32);
4594 pub const D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(2048u32);
4595 pub const D3D12_FORMAT_SUPPORT1_MIP: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(4096u32);
4596 pub const D3D12_FORMAT_SUPPORT1_RENDER_TARGET: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(16384u32);
4597 pub const D3D12_FORMAT_SUPPORT1_BLENDABLE: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(32768u32);
4598 pub const D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(65536u32);
4599 pub const D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(262144u32);
4600 pub const D3D12_FORMAT_SUPPORT1_DISPLAY: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(524288u32);
4601 pub const D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(1048576u32);
4602 pub const D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(2097152u32);
4603 pub const D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(4194304u32);
4604 pub const D3D12_FORMAT_SUPPORT1_SHADER_GATHER: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(8388608u32);
4605 pub const D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(16777216u32);
4606 pub const D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(33554432u32);
4607 pub const D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(67108864u32);
4608 pub const D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(134217728u32);
4609 pub const D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(268435456u32);
4610 pub const D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(536870912u32);
4611 pub const D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(1073741824u32);
4612 impl ::std::convert::From<u32> for D3D12_FORMAT_SUPPORT1 {
from(value: u32) -> Self4613     fn from(value: u32) -> Self {
4614         Self(value)
4615     }
4616 }
4617 unsafe impl ::windows::runtime::Abi for D3D12_FORMAT_SUPPORT1 {
4618     type Abi = Self;
4619     type DefaultType = Self;
4620 }
4621 impl ::std::ops::BitOr for D3D12_FORMAT_SUPPORT1 {
4622     type Output = Self;
bitor(self, rhs: Self) -> Self4623     fn bitor(self, rhs: Self) -> Self {
4624         Self(self.0 | rhs.0)
4625     }
4626 }
4627 impl ::std::ops::BitAnd for D3D12_FORMAT_SUPPORT1 {
4628     type Output = Self;
bitand(self, rhs: Self) -> Self4629     fn bitand(self, rhs: Self) -> Self {
4630         Self(self.0 & rhs.0)
4631     }
4632 }
4633 impl ::std::ops::BitOrAssign for D3D12_FORMAT_SUPPORT1 {
bitor_assign(&mut self, rhs: Self)4634     fn bitor_assign(&mut self, rhs: Self) {
4635         self.0.bitor_assign(rhs.0)
4636     }
4637 }
4638 impl ::std::ops::BitAndAssign for D3D12_FORMAT_SUPPORT1 {
bitand_assign(&mut self, rhs: Self)4639     fn bitand_assign(&mut self, rhs: Self) {
4640         self.0.bitand_assign(rhs.0)
4641     }
4642 }
4643 impl ::std::ops::Not for D3D12_FORMAT_SUPPORT1 {
4644     type Output = Self;
not(self) -> Self4645     fn not(self) -> Self {
4646         Self(self.0.not())
4647     }
4648 }
4649 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4650 #[repr(transparent)]
4651 pub struct D3D12_FORMAT_SUPPORT2(pub u32);
4652 pub const D3D12_FORMAT_SUPPORT2_NONE: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(0u32);
4653 pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(1u32);
4654 pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(2u32);
4655 pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(4u32);
4656 pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(8u32);
4657 pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(16u32);
4658 pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(32u32);
4659 pub const D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(64u32);
4660 pub const D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(128u32);
4661 pub const D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(256u32);
4662 pub const D3D12_FORMAT_SUPPORT2_TILED: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(512u32);
4663 pub const D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(16384u32);
4664 pub const D3D12_FORMAT_SUPPORT2_SAMPLER_FEEDBACK: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(32768u32);
4665 impl ::std::convert::From<u32> for D3D12_FORMAT_SUPPORT2 {
from(value: u32) -> Self4666     fn from(value: u32) -> Self {
4667         Self(value)
4668     }
4669 }
4670 unsafe impl ::windows::runtime::Abi for D3D12_FORMAT_SUPPORT2 {
4671     type Abi = Self;
4672     type DefaultType = Self;
4673 }
4674 impl ::std::ops::BitOr for D3D12_FORMAT_SUPPORT2 {
4675     type Output = Self;
bitor(self, rhs: Self) -> Self4676     fn bitor(self, rhs: Self) -> Self {
4677         Self(self.0 | rhs.0)
4678     }
4679 }
4680 impl ::std::ops::BitAnd for D3D12_FORMAT_SUPPORT2 {
4681     type Output = Self;
bitand(self, rhs: Self) -> Self4682     fn bitand(self, rhs: Self) -> Self {
4683         Self(self.0 & rhs.0)
4684     }
4685 }
4686 impl ::std::ops::BitOrAssign for D3D12_FORMAT_SUPPORT2 {
bitor_assign(&mut self, rhs: Self)4687     fn bitor_assign(&mut self, rhs: Self) {
4688         self.0.bitor_assign(rhs.0)
4689     }
4690 }
4691 impl ::std::ops::BitAndAssign for D3D12_FORMAT_SUPPORT2 {
bitand_assign(&mut self, rhs: Self)4692     fn bitand_assign(&mut self, rhs: Self) {
4693         self.0.bitand_assign(rhs.0)
4694     }
4695 }
4696 impl ::std::ops::Not for D3D12_FORMAT_SUPPORT2 {
4697     type Output = Self;
not(self) -> Self4698     fn not(self) -> Self {
4699         Self(self.0.not())
4700     }
4701 }
4702 pub const D3D12_FTOI_INSTRUCTION_MAX_INPUT: f32 = 2147483600f32;
4703 pub const D3D12_FTOI_INSTRUCTION_MIN_INPUT: f32 = -2147483600f32;
4704 pub const D3D12_FTOU_INSTRUCTION_MAX_INPUT: f32 = 4294967300f32;
4705 pub const D3D12_FTOU_INSTRUCTION_MIN_INPUT: f32 = 0f32;
4706 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4707 #[repr(C)]
4708 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
4709 pub struct D3D12_FUNCTION_DESC {
4710     pub Version: u32,
4711     pub Creator: super::super::Foundation::PSTR,
4712     pub Flags: u32,
4713     pub ConstantBuffers: u32,
4714     pub BoundResources: u32,
4715     pub InstructionCount: u32,
4716     pub TempRegisterCount: u32,
4717     pub TempArrayCount: u32,
4718     pub DefCount: u32,
4719     pub DclCount: u32,
4720     pub TextureNormalInstructions: u32,
4721     pub TextureLoadInstructions: u32,
4722     pub TextureCompInstructions: u32,
4723     pub TextureBiasInstructions: u32,
4724     pub TextureGradientInstructions: u32,
4725     pub FloatInstructionCount: u32,
4726     pub IntInstructionCount: u32,
4727     pub UintInstructionCount: u32,
4728     pub StaticFlowControlCount: u32,
4729     pub DynamicFlowControlCount: u32,
4730     pub MacroInstructionCount: u32,
4731     pub ArrayInstructionCount: u32,
4732     pub MovInstructionCount: u32,
4733     pub MovcInstructionCount: u32,
4734     pub ConversionInstructionCount: u32,
4735     pub BitwiseInstructionCount: u32,
4736     pub MinFeatureLevel: super::Direct3D11::D3D_FEATURE_LEVEL,
4737     pub RequiredFeatureFlags: u64,
4738     pub Name: super::super::Foundation::PSTR,
4739     pub FunctionParameterCount: i32,
4740     pub HasReturn: super::super::Foundation::BOOL,
4741     pub Has10Level9VertexShader: super::super::Foundation::BOOL,
4742     pub Has10Level9PixelShader: super::super::Foundation::BOOL,
4743 }
4744 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
4745 impl D3D12_FUNCTION_DESC {}
4746 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
4747 impl ::std::default::Default for D3D12_FUNCTION_DESC {
default() -> Self4748     fn default() -> Self {
4749         unsafe { ::std::mem::zeroed() }
4750     }
4751 }
4752 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
4753 impl ::std::fmt::Debug for D3D12_FUNCTION_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4754     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4755         fmt.debug_struct("D3D12_FUNCTION_DESC")
4756             .field("Version", &self.Version)
4757             .field("Creator", &self.Creator)
4758             .field("Flags", &self.Flags)
4759             .field("ConstantBuffers", &self.ConstantBuffers)
4760             .field("BoundResources", &self.BoundResources)
4761             .field("InstructionCount", &self.InstructionCount)
4762             .field("TempRegisterCount", &self.TempRegisterCount)
4763             .field("TempArrayCount", &self.TempArrayCount)
4764             .field("DefCount", &self.DefCount)
4765             .field("DclCount", &self.DclCount)
4766             .field("TextureNormalInstructions", &self.TextureNormalInstructions)
4767             .field("TextureLoadInstructions", &self.TextureLoadInstructions)
4768             .field("TextureCompInstructions", &self.TextureCompInstructions)
4769             .field("TextureBiasInstructions", &self.TextureBiasInstructions)
4770             .field("TextureGradientInstructions", &self.TextureGradientInstructions)
4771             .field("FloatInstructionCount", &self.FloatInstructionCount)
4772             .field("IntInstructionCount", &self.IntInstructionCount)
4773             .field("UintInstructionCount", &self.UintInstructionCount)
4774             .field("StaticFlowControlCount", &self.StaticFlowControlCount)
4775             .field("DynamicFlowControlCount", &self.DynamicFlowControlCount)
4776             .field("MacroInstructionCount", &self.MacroInstructionCount)
4777             .field("ArrayInstructionCount", &self.ArrayInstructionCount)
4778             .field("MovInstructionCount", &self.MovInstructionCount)
4779             .field("MovcInstructionCount", &self.MovcInstructionCount)
4780             .field("ConversionInstructionCount", &self.ConversionInstructionCount)
4781             .field("BitwiseInstructionCount", &self.BitwiseInstructionCount)
4782             .field("MinFeatureLevel", &self.MinFeatureLevel)
4783             .field("RequiredFeatureFlags", &self.RequiredFeatureFlags)
4784             .field("Name", &self.Name)
4785             .field("FunctionParameterCount", &self.FunctionParameterCount)
4786             .field("HasReturn", &self.HasReturn)
4787             .field("Has10Level9VertexShader", &self.Has10Level9VertexShader)
4788             .field("Has10Level9PixelShader", &self.Has10Level9PixelShader)
4789             .finish()
4790     }
4791 }
4792 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
4793 impl ::std::cmp::PartialEq for D3D12_FUNCTION_DESC {
eq(&self, other: &Self) -> bool4794     fn eq(&self, other: &Self) -> bool {
4795         self.Version == other.Version
4796             && self.Creator == other.Creator
4797             && self.Flags == other.Flags
4798             && self.ConstantBuffers == other.ConstantBuffers
4799             && self.BoundResources == other.BoundResources
4800             && self.InstructionCount == other.InstructionCount
4801             && self.TempRegisterCount == other.TempRegisterCount
4802             && self.TempArrayCount == other.TempArrayCount
4803             && self.DefCount == other.DefCount
4804             && self.DclCount == other.DclCount
4805             && self.TextureNormalInstructions == other.TextureNormalInstructions
4806             && self.TextureLoadInstructions == other.TextureLoadInstructions
4807             && self.TextureCompInstructions == other.TextureCompInstructions
4808             && self.TextureBiasInstructions == other.TextureBiasInstructions
4809             && self.TextureGradientInstructions == other.TextureGradientInstructions
4810             && self.FloatInstructionCount == other.FloatInstructionCount
4811             && self.IntInstructionCount == other.IntInstructionCount
4812             && self.UintInstructionCount == other.UintInstructionCount
4813             && self.StaticFlowControlCount == other.StaticFlowControlCount
4814             && self.DynamicFlowControlCount == other.DynamicFlowControlCount
4815             && self.MacroInstructionCount == other.MacroInstructionCount
4816             && self.ArrayInstructionCount == other.ArrayInstructionCount
4817             && self.MovInstructionCount == other.MovInstructionCount
4818             && self.MovcInstructionCount == other.MovcInstructionCount
4819             && self.ConversionInstructionCount == other.ConversionInstructionCount
4820             && self.BitwiseInstructionCount == other.BitwiseInstructionCount
4821             && self.MinFeatureLevel == other.MinFeatureLevel
4822             && self.RequiredFeatureFlags == other.RequiredFeatureFlags
4823             && self.Name == other.Name
4824             && self.FunctionParameterCount == other.FunctionParameterCount
4825             && self.HasReturn == other.HasReturn
4826             && self.Has10Level9VertexShader == other.Has10Level9VertexShader
4827             && self.Has10Level9PixelShader == other.Has10Level9PixelShader
4828     }
4829 }
4830 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
4831 impl ::std::cmp::Eq for D3D12_FUNCTION_DESC {}
4832 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
4833 unsafe impl ::windows::runtime::Abi for D3D12_FUNCTION_DESC {
4834     type Abi = Self;
4835     type DefaultType = Self;
4836 }
4837 #[derive(:: std :: clone :: Clone)]
4838 #[repr(C)]
4839 pub struct D3D12_GLOBAL_ROOT_SIGNATURE {
4840     pub pGlobalRootSignature: ::std::option::Option<ID3D12RootSignature>,
4841 }
4842 impl D3D12_GLOBAL_ROOT_SIGNATURE {}
4843 impl ::std::default::Default for D3D12_GLOBAL_ROOT_SIGNATURE {
default() -> Self4844     fn default() -> Self {
4845         unsafe { ::std::mem::zeroed() }
4846     }
4847 }
4848 impl ::std::fmt::Debug for D3D12_GLOBAL_ROOT_SIGNATURE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4849     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4850         fmt.debug_struct("D3D12_GLOBAL_ROOT_SIGNATURE").field("pGlobalRootSignature", &self.pGlobalRootSignature).finish()
4851     }
4852 }
4853 impl ::std::cmp::PartialEq for D3D12_GLOBAL_ROOT_SIGNATURE {
eq(&self, other: &Self) -> bool4854     fn eq(&self, other: &Self) -> bool {
4855         self.pGlobalRootSignature == other.pGlobalRootSignature
4856     }
4857 }
4858 impl ::std::cmp::Eq for D3D12_GLOBAL_ROOT_SIGNATURE {}
4859 unsafe impl ::windows::runtime::Abi for D3D12_GLOBAL_ROOT_SIGNATURE {
4860     type Abi = ::std::mem::ManuallyDrop<Self>;
4861     type DefaultType = Self;
4862 }
4863 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4864 #[repr(transparent)]
4865 pub struct D3D12_GPU_BASED_VALIDATION_FLAGS(pub i32);
4866 pub const D3D12_GPU_BASED_VALIDATION_FLAGS_NONE: D3D12_GPU_BASED_VALIDATION_FLAGS = D3D12_GPU_BASED_VALIDATION_FLAGS(0i32);
4867 pub const D3D12_GPU_BASED_VALIDATION_FLAGS_DISABLE_STATE_TRACKING: D3D12_GPU_BASED_VALIDATION_FLAGS = D3D12_GPU_BASED_VALIDATION_FLAGS(1i32);
4868 impl ::std::convert::From<i32> for D3D12_GPU_BASED_VALIDATION_FLAGS {
from(value: i32) -> Self4869     fn from(value: i32) -> Self {
4870         Self(value)
4871     }
4872 }
4873 unsafe impl ::windows::runtime::Abi for D3D12_GPU_BASED_VALIDATION_FLAGS {
4874     type Abi = Self;
4875     type DefaultType = Self;
4876 }
4877 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4878 #[repr(transparent)]
4879 pub struct D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS(pub i32);
4880 pub const D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE: D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS = D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS(0i32);
4881 pub const D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS: D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS = D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS(1i32);
4882 pub const D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS: D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS = D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS(2i32);
4883 pub const D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS: D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS = D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS(4i32);
4884 pub const D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK: D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS = D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS(7i32);
4885 impl ::std::convert::From<i32> for D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS {
from(value: i32) -> Self4886     fn from(value: i32) -> Self {
4887         Self(value)
4888     }
4889 }
4890 unsafe impl ::windows::runtime::Abi for D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS {
4891     type Abi = Self;
4892     type DefaultType = Self;
4893 }
4894 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4895 #[repr(transparent)]
4896 pub struct D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE(pub i32);
4897 pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE: D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE = D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE(0i32);
4898 pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY: D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE = D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE(1i32);
4899 pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION: D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE = D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE(2i32);
4900 pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION: D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE = D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE(3i32);
4901 pub const NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES: D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE = D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE(4i32);
4902 impl ::std::convert::From<i32> for D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE {
from(value: i32) -> Self4903     fn from(value: i32) -> Self {
4904         Self(value)
4905     }
4906 }
4907 unsafe impl ::windows::runtime::Abi for D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE {
4908     type Abi = Self;
4909     type DefaultType = Self;
4910 }
4911 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4912 #[repr(C)]
4913 pub struct D3D12_GPU_DESCRIPTOR_HANDLE {
4914     pub ptr: u64,
4915 }
4916 impl D3D12_GPU_DESCRIPTOR_HANDLE {}
4917 impl ::std::default::Default for D3D12_GPU_DESCRIPTOR_HANDLE {
default() -> Self4918     fn default() -> Self {
4919         unsafe { ::std::mem::zeroed() }
4920     }
4921 }
4922 impl ::std::fmt::Debug for D3D12_GPU_DESCRIPTOR_HANDLE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4923     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4924         fmt.debug_struct("D3D12_GPU_DESCRIPTOR_HANDLE").field("ptr", &self.ptr).finish()
4925     }
4926 }
4927 impl ::std::cmp::PartialEq for D3D12_GPU_DESCRIPTOR_HANDLE {
eq(&self, other: &Self) -> bool4928     fn eq(&self, other: &Self) -> bool {
4929         self.ptr == other.ptr
4930     }
4931 }
4932 impl ::std::cmp::Eq for D3D12_GPU_DESCRIPTOR_HANDLE {}
4933 unsafe impl ::windows::runtime::Abi for D3D12_GPU_DESCRIPTOR_HANDLE {
4934     type Abi = Self;
4935     type DefaultType = Self;
4936 }
4937 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4938 #[repr(C)]
4939 pub struct D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {
4940     pub StartAddress: u64,
4941     pub StrideInBytes: u64,
4942 }
4943 impl D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {}
4944 impl ::std::default::Default for D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {
default() -> Self4945     fn default() -> Self {
4946         unsafe { ::std::mem::zeroed() }
4947     }
4948 }
4949 impl ::std::fmt::Debug for D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4950     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4951         fmt.debug_struct("D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE").field("StartAddress", &self.StartAddress).field("StrideInBytes", &self.StrideInBytes).finish()
4952     }
4953 }
4954 impl ::std::cmp::PartialEq for D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {
eq(&self, other: &Self) -> bool4955     fn eq(&self, other: &Self) -> bool {
4956         self.StartAddress == other.StartAddress && self.StrideInBytes == other.StrideInBytes
4957     }
4958 }
4959 impl ::std::cmp::Eq for D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {}
4960 unsafe impl ::windows::runtime::Abi for D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {
4961     type Abi = Self;
4962     type DefaultType = Self;
4963 }
4964 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4965 #[repr(C)]
4966 pub struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE {
4967     pub StartAddress: u64,
4968     pub SizeInBytes: u64,
4969 }
4970 impl D3D12_GPU_VIRTUAL_ADDRESS_RANGE {}
4971 impl ::std::default::Default for D3D12_GPU_VIRTUAL_ADDRESS_RANGE {
default() -> Self4972     fn default() -> Self {
4973         unsafe { ::std::mem::zeroed() }
4974     }
4975 }
4976 impl ::std::fmt::Debug for D3D12_GPU_VIRTUAL_ADDRESS_RANGE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4977     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4978         fmt.debug_struct("D3D12_GPU_VIRTUAL_ADDRESS_RANGE").field("StartAddress", &self.StartAddress).field("SizeInBytes", &self.SizeInBytes).finish()
4979     }
4980 }
4981 impl ::std::cmp::PartialEq for D3D12_GPU_VIRTUAL_ADDRESS_RANGE {
eq(&self, other: &Self) -> bool4982     fn eq(&self, other: &Self) -> bool {
4983         self.StartAddress == other.StartAddress && self.SizeInBytes == other.SizeInBytes
4984     }
4985 }
4986 impl ::std::cmp::Eq for D3D12_GPU_VIRTUAL_ADDRESS_RANGE {}
4987 unsafe impl ::windows::runtime::Abi for D3D12_GPU_VIRTUAL_ADDRESS_RANGE {
4988     type Abi = Self;
4989     type DefaultType = Self;
4990 }
4991 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4992 #[repr(C)]
4993 pub struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {
4994     pub StartAddress: u64,
4995     pub SizeInBytes: u64,
4996     pub StrideInBytes: u64,
4997 }
4998 impl D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {}
4999 impl ::std::default::Default for D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {
default() -> Self5000     fn default() -> Self {
5001         unsafe { ::std::mem::zeroed() }
5002     }
5003 }
5004 impl ::std::fmt::Debug for D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5005     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5006         fmt.debug_struct("D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE").field("StartAddress", &self.StartAddress).field("SizeInBytes", &self.SizeInBytes).field("StrideInBytes", &self.StrideInBytes).finish()
5007     }
5008 }
5009 impl ::std::cmp::PartialEq for D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {
eq(&self, other: &Self) -> bool5010     fn eq(&self, other: &Self) -> bool {
5011         self.StartAddress == other.StartAddress && self.SizeInBytes == other.SizeInBytes && self.StrideInBytes == other.StrideInBytes
5012     }
5013 }
5014 impl ::std::cmp::Eq for D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {}
5015 unsafe impl ::windows::runtime::Abi for D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {
5016     type Abi = Self;
5017     type DefaultType = Self;
5018 }
5019 #[derive(:: std :: clone :: Clone)]
5020 #[repr(C)]
5021 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5022 pub struct D3D12_GRAPHICS_PIPELINE_STATE_DESC {
5023     pub pRootSignature: ::std::option::Option<ID3D12RootSignature>,
5024     pub VS: D3D12_SHADER_BYTECODE,
5025     pub PS: D3D12_SHADER_BYTECODE,
5026     pub DS: D3D12_SHADER_BYTECODE,
5027     pub HS: D3D12_SHADER_BYTECODE,
5028     pub GS: D3D12_SHADER_BYTECODE,
5029     pub StreamOutput: D3D12_STREAM_OUTPUT_DESC,
5030     pub BlendState: D3D12_BLEND_DESC,
5031     pub SampleMask: u32,
5032     pub RasterizerState: D3D12_RASTERIZER_DESC,
5033     pub DepthStencilState: D3D12_DEPTH_STENCIL_DESC,
5034     pub InputLayout: D3D12_INPUT_LAYOUT_DESC,
5035     pub IBStripCutValue: D3D12_INDEX_BUFFER_STRIP_CUT_VALUE,
5036     pub PrimitiveTopologyType: D3D12_PRIMITIVE_TOPOLOGY_TYPE,
5037     pub NumRenderTargets: u32,
5038     pub RTVFormats: [super::Dxgi::DXGI_FORMAT; 8],
5039     pub DSVFormat: super::Dxgi::DXGI_FORMAT,
5040     pub SampleDesc: super::Dxgi::DXGI_SAMPLE_DESC,
5041     pub NodeMask: u32,
5042     pub CachedPSO: D3D12_CACHED_PIPELINE_STATE,
5043     pub Flags: D3D12_PIPELINE_STATE_FLAGS,
5044 }
5045 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5046 impl D3D12_GRAPHICS_PIPELINE_STATE_DESC {}
5047 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5048 impl ::std::default::Default for D3D12_GRAPHICS_PIPELINE_STATE_DESC {
default() -> Self5049     fn default() -> Self {
5050         unsafe { ::std::mem::zeroed() }
5051     }
5052 }
5053 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5054 impl ::std::fmt::Debug for D3D12_GRAPHICS_PIPELINE_STATE_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5055     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5056         fmt.debug_struct("D3D12_GRAPHICS_PIPELINE_STATE_DESC")
5057             .field("pRootSignature", &self.pRootSignature)
5058             .field("VS", &self.VS)
5059             .field("PS", &self.PS)
5060             .field("DS", &self.DS)
5061             .field("HS", &self.HS)
5062             .field("GS", &self.GS)
5063             .field("StreamOutput", &self.StreamOutput)
5064             .field("BlendState", &self.BlendState)
5065             .field("SampleMask", &self.SampleMask)
5066             .field("RasterizerState", &self.RasterizerState)
5067             .field("DepthStencilState", &self.DepthStencilState)
5068             .field("InputLayout", &self.InputLayout)
5069             .field("IBStripCutValue", &self.IBStripCutValue)
5070             .field("PrimitiveTopologyType", &self.PrimitiveTopologyType)
5071             .field("NumRenderTargets", &self.NumRenderTargets)
5072             .field("RTVFormats", &self.RTVFormats)
5073             .field("DSVFormat", &self.DSVFormat)
5074             .field("SampleDesc", &self.SampleDesc)
5075             .field("NodeMask", &self.NodeMask)
5076             .field("CachedPSO", &self.CachedPSO)
5077             .field("Flags", &self.Flags)
5078             .finish()
5079     }
5080 }
5081 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5082 impl ::std::cmp::PartialEq for D3D12_GRAPHICS_PIPELINE_STATE_DESC {
eq(&self, other: &Self) -> bool5083     fn eq(&self, other: &Self) -> bool {
5084         self.pRootSignature == other.pRootSignature
5085             && self.VS == other.VS
5086             && self.PS == other.PS
5087             && self.DS == other.DS
5088             && self.HS == other.HS
5089             && self.GS == other.GS
5090             && self.StreamOutput == other.StreamOutput
5091             && self.BlendState == other.BlendState
5092             && self.SampleMask == other.SampleMask
5093             && self.RasterizerState == other.RasterizerState
5094             && self.DepthStencilState == other.DepthStencilState
5095             && self.InputLayout == other.InputLayout
5096             && self.IBStripCutValue == other.IBStripCutValue
5097             && self.PrimitiveTopologyType == other.PrimitiveTopologyType
5098             && self.NumRenderTargets == other.NumRenderTargets
5099             && self.RTVFormats == other.RTVFormats
5100             && self.DSVFormat == other.DSVFormat
5101             && self.SampleDesc == other.SampleDesc
5102             && self.NodeMask == other.NodeMask
5103             && self.CachedPSO == other.CachedPSO
5104             && self.Flags == other.Flags
5105     }
5106 }
5107 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5108 impl ::std::cmp::Eq for D3D12_GRAPHICS_PIPELINE_STATE_DESC {}
5109 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5110 unsafe impl ::windows::runtime::Abi for D3D12_GRAPHICS_PIPELINE_STATE_DESC {
5111     type Abi = ::std::mem::ManuallyDrop<Self>;
5112     type DefaultType = Self;
5113 }
5114 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5115 #[repr(transparent)]
5116 pub struct D3D12_GRAPHICS_STATES(pub u32);
5117 pub const D3D12_GRAPHICS_STATE_NONE: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(0u32);
5118 pub const D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(1u32);
5119 pub const D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(2u32);
5120 pub const D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(4u32);
5121 pub const D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(8u32);
5122 pub const D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(16u32);
5123 pub const D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(32u32);
5124 pub const D3D12_GRAPHICS_STATE_RS_VIEWPORTS: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(64u32);
5125 pub const D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(128u32);
5126 pub const D3D12_GRAPHICS_STATE_PREDICATION: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(256u32);
5127 pub const D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(512u32);
5128 pub const D3D12_GRAPHICS_STATE_OM_STENCIL_REF: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(1024u32);
5129 pub const D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(2048u32);
5130 pub const D3D12_GRAPHICS_STATE_PIPELINE_STATE: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(4096u32);
5131 pub const D3D12_GRAPHICS_STATE_SO_TARGETS: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(8192u32);
5132 pub const D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(16384u32);
5133 pub const D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(32768u32);
5134 pub const D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(65536u32);
5135 impl ::std::convert::From<u32> for D3D12_GRAPHICS_STATES {
from(value: u32) -> Self5136     fn from(value: u32) -> Self {
5137         Self(value)
5138     }
5139 }
5140 unsafe impl ::windows::runtime::Abi for D3D12_GRAPHICS_STATES {
5141     type Abi = Self;
5142     type DefaultType = Self;
5143 }
5144 impl ::std::ops::BitOr for D3D12_GRAPHICS_STATES {
5145     type Output = Self;
bitor(self, rhs: Self) -> Self5146     fn bitor(self, rhs: Self) -> Self {
5147         Self(self.0 | rhs.0)
5148     }
5149 }
5150 impl ::std::ops::BitAnd for D3D12_GRAPHICS_STATES {
5151     type Output = Self;
bitand(self, rhs: Self) -> Self5152     fn bitand(self, rhs: Self) -> Self {
5153         Self(self.0 & rhs.0)
5154     }
5155 }
5156 impl ::std::ops::BitOrAssign for D3D12_GRAPHICS_STATES {
bitor_assign(&mut self, rhs: Self)5157     fn bitor_assign(&mut self, rhs: Self) {
5158         self.0.bitor_assign(rhs.0)
5159     }
5160 }
5161 impl ::std::ops::BitAndAssign for D3D12_GRAPHICS_STATES {
bitand_assign(&mut self, rhs: Self)5162     fn bitand_assign(&mut self, rhs: Self) {
5163         self.0.bitand_assign(rhs.0)
5164     }
5165 }
5166 impl ::std::ops::Not for D3D12_GRAPHICS_STATES {
5167     type Output = Self;
not(self) -> Self5168     fn not(self) -> Self {
5169         Self(self.0.not())
5170     }
5171 }
5172 pub const D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST: u32 = 2u32;
5173 pub const D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS: u32 = 1u32;
5174 pub const D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS: u32 = 1u32;
5175 pub const D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
5176 pub const D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT: u32 = 1u32;
5177 pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS: u32 = 1u32;
5178 pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
5179 pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT: u32 = 1u32;
5180 pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST: u32 = 2u32;
5181 pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS: u32 = 1u32;
5182 pub const D3D12_GS_INPUT_REGISTER_COMPONENTS: u32 = 4u32;
5183 pub const D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
5184 pub const D3D12_GS_INPUT_REGISTER_COUNT: u32 = 32u32;
5185 pub const D3D12_GS_INPUT_REGISTER_READS_PER_INST: u32 = 2u32;
5186 pub const D3D12_GS_INPUT_REGISTER_READ_PORTS: u32 = 1u32;
5187 pub const D3D12_GS_INPUT_REGISTER_VERTICES: u32 = 32u32;
5188 pub const D3D12_GS_MAX_INSTANCE_COUNT: u32 = 32u32;
5189 pub const D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES: u32 = 1024u32;
5190 pub const D3D12_GS_OUTPUT_ELEMENTS: u32 = 32u32;
5191 pub const D3D12_GS_OUTPUT_REGISTER_COMPONENTS: u32 = 4u32;
5192 pub const D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
5193 pub const D3D12_GS_OUTPUT_REGISTER_COUNT: u32 = 32u32;
5194 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5195 #[repr(C)]
5196 pub struct D3D12_HEAP_DESC {
5197     pub SizeInBytes: u64,
5198     pub Properties: D3D12_HEAP_PROPERTIES,
5199     pub Alignment: u64,
5200     pub Flags: D3D12_HEAP_FLAGS,
5201 }
5202 impl D3D12_HEAP_DESC {}
5203 impl ::std::default::Default for D3D12_HEAP_DESC {
default() -> Self5204     fn default() -> Self {
5205         unsafe { ::std::mem::zeroed() }
5206     }
5207 }
5208 impl ::std::fmt::Debug for D3D12_HEAP_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5209     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5210         fmt.debug_struct("D3D12_HEAP_DESC").field("SizeInBytes", &self.SizeInBytes).field("Properties", &self.Properties).field("Alignment", &self.Alignment).field("Flags", &self.Flags).finish()
5211     }
5212 }
5213 impl ::std::cmp::PartialEq for D3D12_HEAP_DESC {
eq(&self, other: &Self) -> bool5214     fn eq(&self, other: &Self) -> bool {
5215         self.SizeInBytes == other.SizeInBytes && self.Properties == other.Properties && self.Alignment == other.Alignment && self.Flags == other.Flags
5216     }
5217 }
5218 impl ::std::cmp::Eq for D3D12_HEAP_DESC {}
5219 unsafe impl ::windows::runtime::Abi for D3D12_HEAP_DESC {
5220     type Abi = Self;
5221     type DefaultType = Self;
5222 }
5223 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5224 #[repr(transparent)]
5225 pub struct D3D12_HEAP_FLAGS(pub u32);
5226 pub const D3D12_HEAP_FLAG_NONE: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(0u32);
5227 pub const D3D12_HEAP_FLAG_SHARED: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(1u32);
5228 pub const D3D12_HEAP_FLAG_DENY_BUFFERS: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(4u32);
5229 pub const D3D12_HEAP_FLAG_ALLOW_DISPLAY: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(8u32);
5230 pub const D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(32u32);
5231 pub const D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(64u32);
5232 pub const D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(128u32);
5233 pub const D3D12_HEAP_FLAG_HARDWARE_PROTECTED: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(256u32);
5234 pub const D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(512u32);
5235 pub const D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(1024u32);
5236 pub const D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(2048u32);
5237 pub const D3D12_HEAP_FLAG_CREATE_NOT_ZEROED: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(4096u32);
5238 pub const D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(0u32);
5239 pub const D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(192u32);
5240 pub const D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(68u32);
5241 pub const D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(132u32);
5242 impl ::std::convert::From<u32> for D3D12_HEAP_FLAGS {
from(value: u32) -> Self5243     fn from(value: u32) -> Self {
5244         Self(value)
5245     }
5246 }
5247 unsafe impl ::windows::runtime::Abi for D3D12_HEAP_FLAGS {
5248     type Abi = Self;
5249     type DefaultType = Self;
5250 }
5251 impl ::std::ops::BitOr for D3D12_HEAP_FLAGS {
5252     type Output = Self;
bitor(self, rhs: Self) -> Self5253     fn bitor(self, rhs: Self) -> Self {
5254         Self(self.0 | rhs.0)
5255     }
5256 }
5257 impl ::std::ops::BitAnd for D3D12_HEAP_FLAGS {
5258     type Output = Self;
bitand(self, rhs: Self) -> Self5259     fn bitand(self, rhs: Self) -> Self {
5260         Self(self.0 & rhs.0)
5261     }
5262 }
5263 impl ::std::ops::BitOrAssign for D3D12_HEAP_FLAGS {
bitor_assign(&mut self, rhs: Self)5264     fn bitor_assign(&mut self, rhs: Self) {
5265         self.0.bitor_assign(rhs.0)
5266     }
5267 }
5268 impl ::std::ops::BitAndAssign for D3D12_HEAP_FLAGS {
bitand_assign(&mut self, rhs: Self)5269     fn bitand_assign(&mut self, rhs: Self) {
5270         self.0.bitand_assign(rhs.0)
5271     }
5272 }
5273 impl ::std::ops::Not for D3D12_HEAP_FLAGS {
5274     type Output = Self;
not(self) -> Self5275     fn not(self) -> Self {
5276         Self(self.0.not())
5277     }
5278 }
5279 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5280 #[repr(C)]
5281 pub struct D3D12_HEAP_PROPERTIES {
5282     pub Type: D3D12_HEAP_TYPE,
5283     pub CPUPageProperty: D3D12_CPU_PAGE_PROPERTY,
5284     pub MemoryPoolPreference: D3D12_MEMORY_POOL,
5285     pub CreationNodeMask: u32,
5286     pub VisibleNodeMask: u32,
5287 }
5288 impl D3D12_HEAP_PROPERTIES {}
5289 impl ::std::default::Default for D3D12_HEAP_PROPERTIES {
default() -> Self5290     fn default() -> Self {
5291         unsafe { ::std::mem::zeroed() }
5292     }
5293 }
5294 impl ::std::fmt::Debug for D3D12_HEAP_PROPERTIES {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5295     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5296         fmt.debug_struct("D3D12_HEAP_PROPERTIES").field("Type", &self.Type).field("CPUPageProperty", &self.CPUPageProperty).field("MemoryPoolPreference", &self.MemoryPoolPreference).field("CreationNodeMask", &self.CreationNodeMask).field("VisibleNodeMask", &self.VisibleNodeMask).finish()
5297     }
5298 }
5299 impl ::std::cmp::PartialEq for D3D12_HEAP_PROPERTIES {
eq(&self, other: &Self) -> bool5300     fn eq(&self, other: &Self) -> bool {
5301         self.Type == other.Type && self.CPUPageProperty == other.CPUPageProperty && self.MemoryPoolPreference == other.MemoryPoolPreference && self.CreationNodeMask == other.CreationNodeMask && self.VisibleNodeMask == other.VisibleNodeMask
5302     }
5303 }
5304 impl ::std::cmp::Eq for D3D12_HEAP_PROPERTIES {}
5305 unsafe impl ::windows::runtime::Abi for D3D12_HEAP_PROPERTIES {
5306     type Abi = Self;
5307     type DefaultType = Self;
5308 }
5309 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5310 #[repr(transparent)]
5311 pub struct D3D12_HEAP_SERIALIZATION_TIER(pub i32);
5312 pub const D3D12_HEAP_SERIALIZATION_TIER_0: D3D12_HEAP_SERIALIZATION_TIER = D3D12_HEAP_SERIALIZATION_TIER(0i32);
5313 pub const D3D12_HEAP_SERIALIZATION_TIER_10: D3D12_HEAP_SERIALIZATION_TIER = D3D12_HEAP_SERIALIZATION_TIER(10i32);
5314 impl ::std::convert::From<i32> for D3D12_HEAP_SERIALIZATION_TIER {
from(value: i32) -> Self5315     fn from(value: i32) -> Self {
5316         Self(value)
5317     }
5318 }
5319 unsafe impl ::windows::runtime::Abi for D3D12_HEAP_SERIALIZATION_TIER {
5320     type Abi = Self;
5321     type DefaultType = Self;
5322 }
5323 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5324 #[repr(transparent)]
5325 pub struct D3D12_HEAP_TYPE(pub i32);
5326 pub const D3D12_HEAP_TYPE_DEFAULT: D3D12_HEAP_TYPE = D3D12_HEAP_TYPE(1i32);
5327 pub const D3D12_HEAP_TYPE_UPLOAD: D3D12_HEAP_TYPE = D3D12_HEAP_TYPE(2i32);
5328 pub const D3D12_HEAP_TYPE_READBACK: D3D12_HEAP_TYPE = D3D12_HEAP_TYPE(3i32);
5329 pub const D3D12_HEAP_TYPE_CUSTOM: D3D12_HEAP_TYPE = D3D12_HEAP_TYPE(4i32);
5330 impl ::std::convert::From<i32> for D3D12_HEAP_TYPE {
from(value: i32) -> Self5331     fn from(value: i32) -> Self {
5332         Self(value)
5333     }
5334 }
5335 unsafe impl ::windows::runtime::Abi for D3D12_HEAP_TYPE {
5336     type Abi = Self;
5337     type DefaultType = Self;
5338 }
5339 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5340 #[repr(C)]
5341 #[cfg(feature = "Win32_Foundation")]
5342 pub struct D3D12_HIT_GROUP_DESC {
5343     pub HitGroupExport: super::super::Foundation::PWSTR,
5344     pub Type: D3D12_HIT_GROUP_TYPE,
5345     pub AnyHitShaderImport: super::super::Foundation::PWSTR,
5346     pub ClosestHitShaderImport: super::super::Foundation::PWSTR,
5347     pub IntersectionShaderImport: super::super::Foundation::PWSTR,
5348 }
5349 #[cfg(feature = "Win32_Foundation")]
5350 impl D3D12_HIT_GROUP_DESC {}
5351 #[cfg(feature = "Win32_Foundation")]
5352 impl ::std::default::Default for D3D12_HIT_GROUP_DESC {
default() -> Self5353     fn default() -> Self {
5354         unsafe { ::std::mem::zeroed() }
5355     }
5356 }
5357 #[cfg(feature = "Win32_Foundation")]
5358 impl ::std::fmt::Debug for D3D12_HIT_GROUP_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5359     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5360         fmt.debug_struct("D3D12_HIT_GROUP_DESC")
5361             .field("HitGroupExport", &self.HitGroupExport)
5362             .field("Type", &self.Type)
5363             .field("AnyHitShaderImport", &self.AnyHitShaderImport)
5364             .field("ClosestHitShaderImport", &self.ClosestHitShaderImport)
5365             .field("IntersectionShaderImport", &self.IntersectionShaderImport)
5366             .finish()
5367     }
5368 }
5369 #[cfg(feature = "Win32_Foundation")]
5370 impl ::std::cmp::PartialEq for D3D12_HIT_GROUP_DESC {
eq(&self, other: &Self) -> bool5371     fn eq(&self, other: &Self) -> bool {
5372         self.HitGroupExport == other.HitGroupExport && self.Type == other.Type && self.AnyHitShaderImport == other.AnyHitShaderImport && self.ClosestHitShaderImport == other.ClosestHitShaderImport && self.IntersectionShaderImport == other.IntersectionShaderImport
5373     }
5374 }
5375 #[cfg(feature = "Win32_Foundation")]
5376 impl ::std::cmp::Eq for D3D12_HIT_GROUP_DESC {}
5377 #[cfg(feature = "Win32_Foundation")]
5378 unsafe impl ::windows::runtime::Abi for D3D12_HIT_GROUP_DESC {
5379     type Abi = Self;
5380     type DefaultType = Self;
5381 }
5382 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5383 #[repr(transparent)]
5384 pub struct D3D12_HIT_GROUP_TYPE(pub i32);
5385 pub const D3D12_HIT_GROUP_TYPE_TRIANGLES: D3D12_HIT_GROUP_TYPE = D3D12_HIT_GROUP_TYPE(0i32);
5386 pub const D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE: D3D12_HIT_GROUP_TYPE = D3D12_HIT_GROUP_TYPE(1i32);
5387 impl ::std::convert::From<i32> for D3D12_HIT_GROUP_TYPE {
from(value: i32) -> Self5388     fn from(value: i32) -> Self {
5389         Self(value)
5390     }
5391 }
5392 unsafe impl ::windows::runtime::Abi for D3D12_HIT_GROUP_TYPE {
5393     type Abi = Self;
5394     type DefaultType = Self;
5395 }
5396 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5397 #[repr(transparent)]
5398 pub struct D3D12_HIT_KIND(pub i32);
5399 pub const D3D12_HIT_KIND_TRIANGLE_FRONT_FACE: D3D12_HIT_KIND = D3D12_HIT_KIND(254i32);
5400 pub const D3D12_HIT_KIND_TRIANGLE_BACK_FACE: D3D12_HIT_KIND = D3D12_HIT_KIND(255i32);
5401 impl ::std::convert::From<i32> for D3D12_HIT_KIND {
from(value: i32) -> Self5402     fn from(value: i32) -> Self {
5403         Self(value)
5404     }
5405 }
5406 unsafe impl ::windows::runtime::Abi for D3D12_HIT_KIND {
5407     type Abi = Self;
5408     type DefaultType = Self;
5409 }
5410 pub const D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT: u32 = 32u32;
5411 pub const D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT: u32 = 32u32;
5412 pub const D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS: u32 = 4u32;
5413 pub const D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
5414 pub const D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST: u32 = 2u32;
5415 pub const D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS: u32 = 1u32;
5416 pub const D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND: u32 = 4294967295u32;
5417 pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS: u32 = 1u32;
5418 pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
5419 pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT: u32 = 1u32;
5420 pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST: u32 = 2u32;
5421 pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS: u32 = 1u32;
5422 pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS: u32 = 1u32;
5423 pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
5424 pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT: u32 = 1u32;
5425 pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST: u32 = 2u32;
5426 pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS: u32 = 1u32;
5427 pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: u32 = 1u32;
5428 pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
5429 pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: u32 = 1u32;
5430 pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: u32 = 2u32;
5431 pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: u32 = 1u32;
5432 pub const D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND: u32 = 4294967295u32;
5433 pub const D3D12_HS_MAXTESSFACTOR_LOWER_BOUND: f32 = 1f32;
5434 pub const D3D12_HS_MAXTESSFACTOR_UPPER_BOUND: f32 = 64f32;
5435 pub const D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: u32 = 3968u32;
5436 pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS: u32 = 1u32;
5437 pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
5438 pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT: u32 = 1u32;
5439 pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST: u32 = 2u32;
5440 pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS: u32 = 1u32;
5441 pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: u32 = 4u32;
5442 pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
5443 pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT: u32 = 32u32;
5444 pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: u32 = 2u32;
5445 pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: u32 = 1u32;
5446 pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS: u32 = 128u32;
5447 pub const D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES: u32 = 0u32;
5448 pub const D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY: u32 = 0u32;
5449 pub const D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES: u32 = 0u32;
5450 pub const D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT: u32 = 1u32;
5451 pub const D3D12_IA_INSTANCE_ID_BIT_COUNT: u32 = 32u32;
5452 pub const D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT: u32 = 32u32;
5453 pub const D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT: u32 = 32u32;
5454 pub const D3D12_IA_PRIMITIVE_ID_BIT_COUNT: u32 = 32u32;
5455 pub const D3D12_IA_VERTEX_ID_BIT_COUNT: u32 = 32u32;
5456 pub const D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT: u32 = 32u32;
5457 pub const D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS: u32 = 128u32;
5458 pub const D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT: u32 = 32u32;
5459 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5460 #[repr(transparent)]
5461 pub struct D3D12_INDEX_BUFFER_STRIP_CUT_VALUE(pub i32);
5462 pub const D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED: D3D12_INDEX_BUFFER_STRIP_CUT_VALUE = D3D12_INDEX_BUFFER_STRIP_CUT_VALUE(0i32);
5463 pub const D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF: D3D12_INDEX_BUFFER_STRIP_CUT_VALUE = D3D12_INDEX_BUFFER_STRIP_CUT_VALUE(1i32);
5464 pub const D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF: D3D12_INDEX_BUFFER_STRIP_CUT_VALUE = D3D12_INDEX_BUFFER_STRIP_CUT_VALUE(2i32);
5465 impl ::std::convert::From<i32> for D3D12_INDEX_BUFFER_STRIP_CUT_VALUE {
from(value: i32) -> Self5466     fn from(value: i32) -> Self {
5467         Self(value)
5468     }
5469 }
5470 unsafe impl ::windows::runtime::Abi for D3D12_INDEX_BUFFER_STRIP_CUT_VALUE {
5471     type Abi = Self;
5472     type DefaultType = Self;
5473 }
5474 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5475 #[repr(C)]
5476 #[cfg(feature = "Win32_Graphics_Dxgi")]
5477 pub struct D3D12_INDEX_BUFFER_VIEW {
5478     pub BufferLocation: u64,
5479     pub SizeInBytes: u32,
5480     pub Format: super::Dxgi::DXGI_FORMAT,
5481 }
5482 #[cfg(feature = "Win32_Graphics_Dxgi")]
5483 impl D3D12_INDEX_BUFFER_VIEW {}
5484 #[cfg(feature = "Win32_Graphics_Dxgi")]
5485 impl ::std::default::Default for D3D12_INDEX_BUFFER_VIEW {
default() -> Self5486     fn default() -> Self {
5487         unsafe { ::std::mem::zeroed() }
5488     }
5489 }
5490 #[cfg(feature = "Win32_Graphics_Dxgi")]
5491 impl ::std::fmt::Debug for D3D12_INDEX_BUFFER_VIEW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5492     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5493         fmt.debug_struct("D3D12_INDEX_BUFFER_VIEW").field("BufferLocation", &self.BufferLocation).field("SizeInBytes", &self.SizeInBytes).field("Format", &self.Format).finish()
5494     }
5495 }
5496 #[cfg(feature = "Win32_Graphics_Dxgi")]
5497 impl ::std::cmp::PartialEq for D3D12_INDEX_BUFFER_VIEW {
eq(&self, other: &Self) -> bool5498     fn eq(&self, other: &Self) -> bool {
5499         self.BufferLocation == other.BufferLocation && self.SizeInBytes == other.SizeInBytes && self.Format == other.Format
5500     }
5501 }
5502 #[cfg(feature = "Win32_Graphics_Dxgi")]
5503 impl ::std::cmp::Eq for D3D12_INDEX_BUFFER_VIEW {}
5504 #[cfg(feature = "Win32_Graphics_Dxgi")]
5505 unsafe impl ::windows::runtime::Abi for D3D12_INDEX_BUFFER_VIEW {
5506     type Abi = Self;
5507     type DefaultType = Self;
5508 }
5509 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5510 #[repr(C)]
5511 pub struct D3D12_INDIRECT_ARGUMENT_DESC {
5512     pub Type: D3D12_INDIRECT_ARGUMENT_TYPE,
5513     pub Anonymous: D3D12_INDIRECT_ARGUMENT_DESC_0,
5514 }
5515 impl D3D12_INDIRECT_ARGUMENT_DESC {}
5516 impl ::std::default::Default for D3D12_INDIRECT_ARGUMENT_DESC {
default() -> Self5517     fn default() -> Self {
5518         unsafe { ::std::mem::zeroed() }
5519     }
5520 }
5521 impl ::std::cmp::PartialEq for D3D12_INDIRECT_ARGUMENT_DESC {
eq(&self, _other: &Self) -> bool5522     fn eq(&self, _other: &Self) -> bool {
5523         unimplemented!()
5524     }
5525 }
5526 impl ::std::cmp::Eq for D3D12_INDIRECT_ARGUMENT_DESC {}
5527 unsafe impl ::windows::runtime::Abi for D3D12_INDIRECT_ARGUMENT_DESC {
5528     type Abi = Self;
5529     type DefaultType = Self;
5530 }
5531 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5532 #[repr(C)]
5533 pub union D3D12_INDIRECT_ARGUMENT_DESC_0 {
5534     pub VertexBuffer: D3D12_INDIRECT_ARGUMENT_DESC_0_4,
5535     pub Constant: D3D12_INDIRECT_ARGUMENT_DESC_0_1,
5536     pub ConstantBufferView: D3D12_INDIRECT_ARGUMENT_DESC_0_0,
5537     pub ShaderResourceView: D3D12_INDIRECT_ARGUMENT_DESC_0_2,
5538     pub UnorderedAccessView: D3D12_INDIRECT_ARGUMENT_DESC_0_3,
5539 }
5540 impl D3D12_INDIRECT_ARGUMENT_DESC_0 {}
5541 impl ::std::default::Default for D3D12_INDIRECT_ARGUMENT_DESC_0 {
default() -> Self5542     fn default() -> Self {
5543         unsafe { ::std::mem::zeroed() }
5544     }
5545 }
5546 impl ::std::cmp::PartialEq for D3D12_INDIRECT_ARGUMENT_DESC_0 {
eq(&self, _other: &Self) -> bool5547     fn eq(&self, _other: &Self) -> bool {
5548         unimplemented!()
5549     }
5550 }
5551 impl ::std::cmp::Eq for D3D12_INDIRECT_ARGUMENT_DESC_0 {}
5552 unsafe impl ::windows::runtime::Abi for D3D12_INDIRECT_ARGUMENT_DESC_0 {
5553     type Abi = Self;
5554     type DefaultType = Self;
5555 }
5556 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5557 #[repr(C)]
5558 pub struct D3D12_INDIRECT_ARGUMENT_DESC_0_0 {
5559     pub RootParameterIndex: u32,
5560 }
5561 impl D3D12_INDIRECT_ARGUMENT_DESC_0_0 {}
5562 impl ::std::default::Default for D3D12_INDIRECT_ARGUMENT_DESC_0_0 {
default() -> Self5563     fn default() -> Self {
5564         unsafe { ::std::mem::zeroed() }
5565     }
5566 }
5567 impl ::std::fmt::Debug for D3D12_INDIRECT_ARGUMENT_DESC_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5568     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5569         fmt.debug_struct("_ConstantBufferView_e__Struct").field("RootParameterIndex", &self.RootParameterIndex).finish()
5570     }
5571 }
5572 impl ::std::cmp::PartialEq for D3D12_INDIRECT_ARGUMENT_DESC_0_0 {
eq(&self, other: &Self) -> bool5573     fn eq(&self, other: &Self) -> bool {
5574         self.RootParameterIndex == other.RootParameterIndex
5575     }
5576 }
5577 impl ::std::cmp::Eq for D3D12_INDIRECT_ARGUMENT_DESC_0_0 {}
5578 unsafe impl ::windows::runtime::Abi for D3D12_INDIRECT_ARGUMENT_DESC_0_0 {
5579     type Abi = Self;
5580     type DefaultType = Self;
5581 }
5582 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5583 #[repr(C)]
5584 pub struct D3D12_INDIRECT_ARGUMENT_DESC_0_1 {
5585     pub RootParameterIndex: u32,
5586     pub DestOffsetIn32BitValues: u32,
5587     pub Num32BitValuesToSet: u32,
5588 }
5589 impl D3D12_INDIRECT_ARGUMENT_DESC_0_1 {}
5590 impl ::std::default::Default for D3D12_INDIRECT_ARGUMENT_DESC_0_1 {
default() -> Self5591     fn default() -> Self {
5592         unsafe { ::std::mem::zeroed() }
5593     }
5594 }
5595 impl ::std::fmt::Debug for D3D12_INDIRECT_ARGUMENT_DESC_0_1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5596     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5597         fmt.debug_struct("_Constant_e__Struct").field("RootParameterIndex", &self.RootParameterIndex).field("DestOffsetIn32BitValues", &self.DestOffsetIn32BitValues).field("Num32BitValuesToSet", &self.Num32BitValuesToSet).finish()
5598     }
5599 }
5600 impl ::std::cmp::PartialEq for D3D12_INDIRECT_ARGUMENT_DESC_0_1 {
eq(&self, other: &Self) -> bool5601     fn eq(&self, other: &Self) -> bool {
5602         self.RootParameterIndex == other.RootParameterIndex && self.DestOffsetIn32BitValues == other.DestOffsetIn32BitValues && self.Num32BitValuesToSet == other.Num32BitValuesToSet
5603     }
5604 }
5605 impl ::std::cmp::Eq for D3D12_INDIRECT_ARGUMENT_DESC_0_1 {}
5606 unsafe impl ::windows::runtime::Abi for D3D12_INDIRECT_ARGUMENT_DESC_0_1 {
5607     type Abi = Self;
5608     type DefaultType = Self;
5609 }
5610 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5611 #[repr(C)]
5612 pub struct D3D12_INDIRECT_ARGUMENT_DESC_0_2 {
5613     pub RootParameterIndex: u32,
5614 }
5615 impl D3D12_INDIRECT_ARGUMENT_DESC_0_2 {}
5616 impl ::std::default::Default for D3D12_INDIRECT_ARGUMENT_DESC_0_2 {
default() -> Self5617     fn default() -> Self {
5618         unsafe { ::std::mem::zeroed() }
5619     }
5620 }
5621 impl ::std::fmt::Debug for D3D12_INDIRECT_ARGUMENT_DESC_0_2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5622     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5623         fmt.debug_struct("_ShaderResourceView_e__Struct").field("RootParameterIndex", &self.RootParameterIndex).finish()
5624     }
5625 }
5626 impl ::std::cmp::PartialEq for D3D12_INDIRECT_ARGUMENT_DESC_0_2 {
eq(&self, other: &Self) -> bool5627     fn eq(&self, other: &Self) -> bool {
5628         self.RootParameterIndex == other.RootParameterIndex
5629     }
5630 }
5631 impl ::std::cmp::Eq for D3D12_INDIRECT_ARGUMENT_DESC_0_2 {}
5632 unsafe impl ::windows::runtime::Abi for D3D12_INDIRECT_ARGUMENT_DESC_0_2 {
5633     type Abi = Self;
5634     type DefaultType = Self;
5635 }
5636 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5637 #[repr(C)]
5638 pub struct D3D12_INDIRECT_ARGUMENT_DESC_0_3 {
5639     pub RootParameterIndex: u32,
5640 }
5641 impl D3D12_INDIRECT_ARGUMENT_DESC_0_3 {}
5642 impl ::std::default::Default for D3D12_INDIRECT_ARGUMENT_DESC_0_3 {
default() -> Self5643     fn default() -> Self {
5644         unsafe { ::std::mem::zeroed() }
5645     }
5646 }
5647 impl ::std::fmt::Debug for D3D12_INDIRECT_ARGUMENT_DESC_0_3 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5648     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5649         fmt.debug_struct("_UnorderedAccessView_e__Struct").field("RootParameterIndex", &self.RootParameterIndex).finish()
5650     }
5651 }
5652 impl ::std::cmp::PartialEq for D3D12_INDIRECT_ARGUMENT_DESC_0_3 {
eq(&self, other: &Self) -> bool5653     fn eq(&self, other: &Self) -> bool {
5654         self.RootParameterIndex == other.RootParameterIndex
5655     }
5656 }
5657 impl ::std::cmp::Eq for D3D12_INDIRECT_ARGUMENT_DESC_0_3 {}
5658 unsafe impl ::windows::runtime::Abi for D3D12_INDIRECT_ARGUMENT_DESC_0_3 {
5659     type Abi = Self;
5660     type DefaultType = Self;
5661 }
5662 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5663 #[repr(C)]
5664 pub struct D3D12_INDIRECT_ARGUMENT_DESC_0_4 {
5665     pub Slot: u32,
5666 }
5667 impl D3D12_INDIRECT_ARGUMENT_DESC_0_4 {}
5668 impl ::std::default::Default for D3D12_INDIRECT_ARGUMENT_DESC_0_4 {
default() -> Self5669     fn default() -> Self {
5670         unsafe { ::std::mem::zeroed() }
5671     }
5672 }
5673 impl ::std::fmt::Debug for D3D12_INDIRECT_ARGUMENT_DESC_0_4 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5674     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5675         fmt.debug_struct("_VertexBuffer_e__Struct").field("Slot", &self.Slot).finish()
5676     }
5677 }
5678 impl ::std::cmp::PartialEq for D3D12_INDIRECT_ARGUMENT_DESC_0_4 {
eq(&self, other: &Self) -> bool5679     fn eq(&self, other: &Self) -> bool {
5680         self.Slot == other.Slot
5681     }
5682 }
5683 impl ::std::cmp::Eq for D3D12_INDIRECT_ARGUMENT_DESC_0_4 {}
5684 unsafe impl ::windows::runtime::Abi for D3D12_INDIRECT_ARGUMENT_DESC_0_4 {
5685     type Abi = Self;
5686     type DefaultType = Self;
5687 }
5688 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5689 #[repr(transparent)]
5690 pub struct D3D12_INDIRECT_ARGUMENT_TYPE(pub i32);
5691 pub const D3D12_INDIRECT_ARGUMENT_TYPE_DRAW: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(0i32);
5692 pub const D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(1i32);
5693 pub const D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(2i32);
5694 pub const D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(3i32);
5695 pub const D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(4i32);
5696 pub const D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(5i32);
5697 pub const D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(6i32);
5698 pub const D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(7i32);
5699 pub const D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(8i32);
5700 pub const D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(9i32);
5701 pub const D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(10i32);
5702 impl ::std::convert::From<i32> for D3D12_INDIRECT_ARGUMENT_TYPE {
from(value: i32) -> Self5703     fn from(value: i32) -> Self {
5704         Self(value)
5705     }
5706 }
5707 unsafe impl ::windows::runtime::Abi for D3D12_INDIRECT_ARGUMENT_TYPE {
5708     type Abi = Self;
5709     type DefaultType = Self;
5710 }
5711 pub const D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT: u32 = 1024u32;
5712 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5713 #[repr(C)]
5714 pub struct D3D12_INFO_QUEUE_FILTER {
5715     pub AllowList: D3D12_INFO_QUEUE_FILTER_DESC,
5716     pub DenyList: D3D12_INFO_QUEUE_FILTER_DESC,
5717 }
5718 impl D3D12_INFO_QUEUE_FILTER {}
5719 impl ::std::default::Default for D3D12_INFO_QUEUE_FILTER {
default() -> Self5720     fn default() -> Self {
5721         unsafe { ::std::mem::zeroed() }
5722     }
5723 }
5724 impl ::std::fmt::Debug for D3D12_INFO_QUEUE_FILTER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5725     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5726         fmt.debug_struct("D3D12_INFO_QUEUE_FILTER").field("AllowList", &self.AllowList).field("DenyList", &self.DenyList).finish()
5727     }
5728 }
5729 impl ::std::cmp::PartialEq for D3D12_INFO_QUEUE_FILTER {
eq(&self, other: &Self) -> bool5730     fn eq(&self, other: &Self) -> bool {
5731         self.AllowList == other.AllowList && self.DenyList == other.DenyList
5732     }
5733 }
5734 impl ::std::cmp::Eq for D3D12_INFO_QUEUE_FILTER {}
5735 unsafe impl ::windows::runtime::Abi for D3D12_INFO_QUEUE_FILTER {
5736     type Abi = Self;
5737     type DefaultType = Self;
5738 }
5739 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5740 #[repr(C)]
5741 pub struct D3D12_INFO_QUEUE_FILTER_DESC {
5742     pub NumCategories: u32,
5743     pub pCategoryList: *mut D3D12_MESSAGE_CATEGORY,
5744     pub NumSeverities: u32,
5745     pub pSeverityList: *mut D3D12_MESSAGE_SEVERITY,
5746     pub NumIDs: u32,
5747     pub pIDList: *mut D3D12_MESSAGE_ID,
5748 }
5749 impl D3D12_INFO_QUEUE_FILTER_DESC {}
5750 impl ::std::default::Default for D3D12_INFO_QUEUE_FILTER_DESC {
default() -> Self5751     fn default() -> Self {
5752         unsafe { ::std::mem::zeroed() }
5753     }
5754 }
5755 impl ::std::fmt::Debug for D3D12_INFO_QUEUE_FILTER_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5756     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5757         fmt.debug_struct("D3D12_INFO_QUEUE_FILTER_DESC").field("NumCategories", &self.NumCategories).field("pCategoryList", &self.pCategoryList).field("NumSeverities", &self.NumSeverities).field("pSeverityList", &self.pSeverityList).field("NumIDs", &self.NumIDs).field("pIDList", &self.pIDList).finish()
5758     }
5759 }
5760 impl ::std::cmp::PartialEq for D3D12_INFO_QUEUE_FILTER_DESC {
eq(&self, other: &Self) -> bool5761     fn eq(&self, other: &Self) -> bool {
5762         self.NumCategories == other.NumCategories && self.pCategoryList == other.pCategoryList && self.NumSeverities == other.NumSeverities && self.pSeverityList == other.pSeverityList && self.NumIDs == other.NumIDs && self.pIDList == other.pIDList
5763     }
5764 }
5765 impl ::std::cmp::Eq for D3D12_INFO_QUEUE_FILTER_DESC {}
5766 unsafe impl ::windows::runtime::Abi for D3D12_INFO_QUEUE_FILTER_DESC {
5767     type Abi = Self;
5768     type DefaultType = Self;
5769 }
5770 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5771 #[repr(transparent)]
5772 pub struct D3D12_INPUT_CLASSIFICATION(pub i32);
5773 pub const D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA: D3D12_INPUT_CLASSIFICATION = D3D12_INPUT_CLASSIFICATION(0i32);
5774 pub const D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA: D3D12_INPUT_CLASSIFICATION = D3D12_INPUT_CLASSIFICATION(1i32);
5775 impl ::std::convert::From<i32> for D3D12_INPUT_CLASSIFICATION {
from(value: i32) -> Self5776     fn from(value: i32) -> Self {
5777         Self(value)
5778     }
5779 }
5780 unsafe impl ::windows::runtime::Abi for D3D12_INPUT_CLASSIFICATION {
5781     type Abi = Self;
5782     type DefaultType = Self;
5783 }
5784 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5785 #[repr(C)]
5786 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5787 pub struct D3D12_INPUT_ELEMENT_DESC {
5788     pub SemanticName: super::super::Foundation::PSTR,
5789     pub SemanticIndex: u32,
5790     pub Format: super::Dxgi::DXGI_FORMAT,
5791     pub InputSlot: u32,
5792     pub AlignedByteOffset: u32,
5793     pub InputSlotClass: D3D12_INPUT_CLASSIFICATION,
5794     pub InstanceDataStepRate: u32,
5795 }
5796 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5797 impl D3D12_INPUT_ELEMENT_DESC {}
5798 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5799 impl ::std::default::Default for D3D12_INPUT_ELEMENT_DESC {
default() -> Self5800     fn default() -> Self {
5801         unsafe { ::std::mem::zeroed() }
5802     }
5803 }
5804 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5805 impl ::std::fmt::Debug for D3D12_INPUT_ELEMENT_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5806     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5807         fmt.debug_struct("D3D12_INPUT_ELEMENT_DESC")
5808             .field("SemanticName", &self.SemanticName)
5809             .field("SemanticIndex", &self.SemanticIndex)
5810             .field("Format", &self.Format)
5811             .field("InputSlot", &self.InputSlot)
5812             .field("AlignedByteOffset", &self.AlignedByteOffset)
5813             .field("InputSlotClass", &self.InputSlotClass)
5814             .field("InstanceDataStepRate", &self.InstanceDataStepRate)
5815             .finish()
5816     }
5817 }
5818 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5819 impl ::std::cmp::PartialEq for D3D12_INPUT_ELEMENT_DESC {
eq(&self, other: &Self) -> bool5820     fn eq(&self, other: &Self) -> bool {
5821         self.SemanticName == other.SemanticName && self.SemanticIndex == other.SemanticIndex && self.Format == other.Format && self.InputSlot == other.InputSlot && self.AlignedByteOffset == other.AlignedByteOffset && self.InputSlotClass == other.InputSlotClass && self.InstanceDataStepRate == other.InstanceDataStepRate
5822     }
5823 }
5824 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5825 impl ::std::cmp::Eq for D3D12_INPUT_ELEMENT_DESC {}
5826 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5827 unsafe impl ::windows::runtime::Abi for D3D12_INPUT_ELEMENT_DESC {
5828     type Abi = Self;
5829     type DefaultType = Self;
5830 }
5831 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5832 #[repr(C)]
5833 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5834 pub struct D3D12_INPUT_LAYOUT_DESC {
5835     pub pInputElementDescs: *mut D3D12_INPUT_ELEMENT_DESC,
5836     pub NumElements: u32,
5837 }
5838 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5839 impl D3D12_INPUT_LAYOUT_DESC {}
5840 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5841 impl ::std::default::Default for D3D12_INPUT_LAYOUT_DESC {
default() -> Self5842     fn default() -> Self {
5843         unsafe { ::std::mem::zeroed() }
5844     }
5845 }
5846 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5847 impl ::std::fmt::Debug for D3D12_INPUT_LAYOUT_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5848     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5849         fmt.debug_struct("D3D12_INPUT_LAYOUT_DESC").field("pInputElementDescs", &self.pInputElementDescs).field("NumElements", &self.NumElements).finish()
5850     }
5851 }
5852 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5853 impl ::std::cmp::PartialEq for D3D12_INPUT_LAYOUT_DESC {
eq(&self, other: &Self) -> bool5854     fn eq(&self, other: &Self) -> bool {
5855         self.pInputElementDescs == other.pInputElementDescs && self.NumElements == other.NumElements
5856     }
5857 }
5858 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5859 impl ::std::cmp::Eq for D3D12_INPUT_LAYOUT_DESC {}
5860 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
5861 unsafe impl ::windows::runtime::Abi for D3D12_INPUT_LAYOUT_DESC {
5862     type Abi = Self;
5863     type DefaultType = Self;
5864 }
5865 pub const D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT: u32 = 4294967295u32;
5866 pub const D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER: u32 = 4294967295u32;
5867 pub const D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL: u32 = 4294967295u32;
5868 pub const D3D12_KEEP_UNORDERED_ACCESS_VIEWS: u32 = 4294967295u32;
5869 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5870 #[repr(C)]
5871 #[cfg(feature = "Win32_Foundation")]
5872 pub struct D3D12_LIBRARY_DESC {
5873     pub Creator: super::super::Foundation::PSTR,
5874     pub Flags: u32,
5875     pub FunctionCount: u32,
5876 }
5877 #[cfg(feature = "Win32_Foundation")]
5878 impl D3D12_LIBRARY_DESC {}
5879 #[cfg(feature = "Win32_Foundation")]
5880 impl ::std::default::Default for D3D12_LIBRARY_DESC {
default() -> Self5881     fn default() -> Self {
5882         unsafe { ::std::mem::zeroed() }
5883     }
5884 }
5885 #[cfg(feature = "Win32_Foundation")]
5886 impl ::std::fmt::Debug for D3D12_LIBRARY_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5887     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5888         fmt.debug_struct("D3D12_LIBRARY_DESC").field("Creator", &self.Creator).field("Flags", &self.Flags).field("FunctionCount", &self.FunctionCount).finish()
5889     }
5890 }
5891 #[cfg(feature = "Win32_Foundation")]
5892 impl ::std::cmp::PartialEq for D3D12_LIBRARY_DESC {
eq(&self, other: &Self) -> bool5893     fn eq(&self, other: &Self) -> bool {
5894         self.Creator == other.Creator && self.Flags == other.Flags && self.FunctionCount == other.FunctionCount
5895     }
5896 }
5897 #[cfg(feature = "Win32_Foundation")]
5898 impl ::std::cmp::Eq for D3D12_LIBRARY_DESC {}
5899 #[cfg(feature = "Win32_Foundation")]
5900 unsafe impl ::windows::runtime::Abi for D3D12_LIBRARY_DESC {
5901     type Abi = Self;
5902     type DefaultType = Self;
5903 }
5904 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5905 #[repr(transparent)]
5906 pub struct D3D12_LIFETIME_STATE(pub i32);
5907 pub const D3D12_LIFETIME_STATE_IN_USE: D3D12_LIFETIME_STATE = D3D12_LIFETIME_STATE(0i32);
5908 pub const D3D12_LIFETIME_STATE_NOT_IN_USE: D3D12_LIFETIME_STATE = D3D12_LIFETIME_STATE(1i32);
5909 impl ::std::convert::From<i32> for D3D12_LIFETIME_STATE {
from(value: i32) -> Self5910     fn from(value: i32) -> Self {
5911         Self(value)
5912     }
5913 }
5914 unsafe impl ::windows::runtime::Abi for D3D12_LIFETIME_STATE {
5915     type Abi = Self;
5916     type DefaultType = Self;
5917 }
5918 pub const D3D12_LINEAR_GAMMA: f32 = 1f32;
5919 #[derive(:: std :: clone :: Clone)]
5920 #[repr(C)]
5921 pub struct D3D12_LOCAL_ROOT_SIGNATURE {
5922     pub pLocalRootSignature: ::std::option::Option<ID3D12RootSignature>,
5923 }
5924 impl D3D12_LOCAL_ROOT_SIGNATURE {}
5925 impl ::std::default::Default for D3D12_LOCAL_ROOT_SIGNATURE {
default() -> Self5926     fn default() -> Self {
5927         unsafe { ::std::mem::zeroed() }
5928     }
5929 }
5930 impl ::std::fmt::Debug for D3D12_LOCAL_ROOT_SIGNATURE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5931     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5932         fmt.debug_struct("D3D12_LOCAL_ROOT_SIGNATURE").field("pLocalRootSignature", &self.pLocalRootSignature).finish()
5933     }
5934 }
5935 impl ::std::cmp::PartialEq for D3D12_LOCAL_ROOT_SIGNATURE {
eq(&self, other: &Self) -> bool5936     fn eq(&self, other: &Self) -> bool {
5937         self.pLocalRootSignature == other.pLocalRootSignature
5938     }
5939 }
5940 impl ::std::cmp::Eq for D3D12_LOCAL_ROOT_SIGNATURE {}
5941 unsafe impl ::windows::runtime::Abi for D3D12_LOCAL_ROOT_SIGNATURE {
5942     type Abi = ::std::mem::ManuallyDrop<Self>;
5943     type DefaultType = Self;
5944 }
5945 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5946 #[repr(transparent)]
5947 pub struct D3D12_LOGIC_OP(pub i32);
5948 pub const D3D12_LOGIC_OP_CLEAR: D3D12_LOGIC_OP = D3D12_LOGIC_OP(0i32);
5949 pub const D3D12_LOGIC_OP_SET: D3D12_LOGIC_OP = D3D12_LOGIC_OP(1i32);
5950 pub const D3D12_LOGIC_OP_COPY: D3D12_LOGIC_OP = D3D12_LOGIC_OP(2i32);
5951 pub const D3D12_LOGIC_OP_COPY_INVERTED: D3D12_LOGIC_OP = D3D12_LOGIC_OP(3i32);
5952 pub const D3D12_LOGIC_OP_NOOP: D3D12_LOGIC_OP = D3D12_LOGIC_OP(4i32);
5953 pub const D3D12_LOGIC_OP_INVERT: D3D12_LOGIC_OP = D3D12_LOGIC_OP(5i32);
5954 pub const D3D12_LOGIC_OP_AND: D3D12_LOGIC_OP = D3D12_LOGIC_OP(6i32);
5955 pub const D3D12_LOGIC_OP_NAND: D3D12_LOGIC_OP = D3D12_LOGIC_OP(7i32);
5956 pub const D3D12_LOGIC_OP_OR: D3D12_LOGIC_OP = D3D12_LOGIC_OP(8i32);
5957 pub const D3D12_LOGIC_OP_NOR: D3D12_LOGIC_OP = D3D12_LOGIC_OP(9i32);
5958 pub const D3D12_LOGIC_OP_XOR: D3D12_LOGIC_OP = D3D12_LOGIC_OP(10i32);
5959 pub const D3D12_LOGIC_OP_EQUIV: D3D12_LOGIC_OP = D3D12_LOGIC_OP(11i32);
5960 pub const D3D12_LOGIC_OP_AND_REVERSE: D3D12_LOGIC_OP = D3D12_LOGIC_OP(12i32);
5961 pub const D3D12_LOGIC_OP_AND_INVERTED: D3D12_LOGIC_OP = D3D12_LOGIC_OP(13i32);
5962 pub const D3D12_LOGIC_OP_OR_REVERSE: D3D12_LOGIC_OP = D3D12_LOGIC_OP(14i32);
5963 pub const D3D12_LOGIC_OP_OR_INVERTED: D3D12_LOGIC_OP = D3D12_LOGIC_OP(15i32);
5964 impl ::std::convert::From<i32> for D3D12_LOGIC_OP {
from(value: i32) -> Self5965     fn from(value: i32) -> Self {
5966         Self(value)
5967     }
5968 }
5969 unsafe impl ::windows::runtime::Abi for D3D12_LOGIC_OP {
5970     type Abi = Self;
5971     type DefaultType = Self;
5972 }
5973 pub const D3D12_MAG_FILTER_SHIFT: u32 = 2u32;
5974 pub const D3D12_MAJOR_VERSION: u32 = 12u32;
5975 pub const D3D12_MAX_BORDER_COLOR_COMPONENT: f32 = 1f32;
5976 pub const D3D12_MAX_DEPTH: f32 = 1f32;
5977 pub const D3D12_MAX_LIVE_STATIC_SAMPLERS: u32 = 2032u32;
5978 pub const D3D12_MAX_MAXANISOTROPY: u32 = 16u32;
5979 pub const D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT: u32 = 32u32;
5980 pub const D3D12_MAX_POSITION_VALUE: f32 = 34028236000000000000000000000000000f32;
5981 pub const D3D12_MAX_ROOT_COST: u32 = 64u32;
5982 pub const D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1: u32 = 1000000u32;
5983 pub const D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2: u32 = 1000000u32;
5984 pub const D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE: u32 = 2048u32;
5985 pub const D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP: u32 = 17u32;
5986 pub const D3D12_MAX_VIEW_INSTANCE_COUNT: u32 = 4u32;
5987 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5988 #[repr(transparent)]
5989 pub struct D3D12_MEASUREMENTS_ACTION(pub i32);
5990 pub const D3D12_MEASUREMENTS_ACTION_KEEP_ALL: D3D12_MEASUREMENTS_ACTION = D3D12_MEASUREMENTS_ACTION(0i32);
5991 pub const D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS: D3D12_MEASUREMENTS_ACTION = D3D12_MEASUREMENTS_ACTION(1i32);
5992 pub const D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY: D3D12_MEASUREMENTS_ACTION = D3D12_MEASUREMENTS_ACTION(2i32);
5993 pub const D3D12_MEASUREMENTS_ACTION_DISCARD_PREVIOUS: D3D12_MEASUREMENTS_ACTION = D3D12_MEASUREMENTS_ACTION(3i32);
5994 impl ::std::convert::From<i32> for D3D12_MEASUREMENTS_ACTION {
from(value: i32) -> Self5995     fn from(value: i32) -> Self {
5996         Self(value)
5997     }
5998 }
5999 unsafe impl ::windows::runtime::Abi for D3D12_MEASUREMENTS_ACTION {
6000     type Abi = Self;
6001     type DefaultType = Self;
6002 }
6003 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
6004 #[repr(C)]
6005 pub struct D3D12_MEMCPY_DEST {
6006     pub pData: *mut ::std::ffi::c_void,
6007     pub RowPitch: usize,
6008     pub SlicePitch: usize,
6009 }
6010 impl D3D12_MEMCPY_DEST {}
6011 impl ::std::default::Default for D3D12_MEMCPY_DEST {
default() -> Self6012     fn default() -> Self {
6013         unsafe { ::std::mem::zeroed() }
6014     }
6015 }
6016 impl ::std::fmt::Debug for D3D12_MEMCPY_DEST {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6017     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6018         fmt.debug_struct("D3D12_MEMCPY_DEST").field("pData", &self.pData).field("RowPitch", &self.RowPitch).field("SlicePitch", &self.SlicePitch).finish()
6019     }
6020 }
6021 impl ::std::cmp::PartialEq for D3D12_MEMCPY_DEST {
eq(&self, other: &Self) -> bool6022     fn eq(&self, other: &Self) -> bool {
6023         self.pData == other.pData && self.RowPitch == other.RowPitch && self.SlicePitch == other.SlicePitch
6024     }
6025 }
6026 impl ::std::cmp::Eq for D3D12_MEMCPY_DEST {}
6027 unsafe impl ::windows::runtime::Abi for D3D12_MEMCPY_DEST {
6028     type Abi = Self;
6029     type DefaultType = Self;
6030 }
6031 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6032 #[repr(transparent)]
6033 pub struct D3D12_MEMORY_POOL(pub i32);
6034 pub const D3D12_MEMORY_POOL_UNKNOWN: D3D12_MEMORY_POOL = D3D12_MEMORY_POOL(0i32);
6035 pub const D3D12_MEMORY_POOL_L0: D3D12_MEMORY_POOL = D3D12_MEMORY_POOL(1i32);
6036 pub const D3D12_MEMORY_POOL_L1: D3D12_MEMORY_POOL = D3D12_MEMORY_POOL(2i32);
6037 impl ::std::convert::From<i32> for D3D12_MEMORY_POOL {
from(value: i32) -> Self6038     fn from(value: i32) -> Self {
6039         Self(value)
6040     }
6041 }
6042 unsafe impl ::windows::runtime::Abi for D3D12_MEMORY_POOL {
6043     type Abi = Self;
6044     type DefaultType = Self;
6045 }
6046 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6047 #[repr(transparent)]
6048 pub struct D3D12_MESH_SHADER_TIER(pub i32);
6049 pub const D3D12_MESH_SHADER_TIER_NOT_SUPPORTED: D3D12_MESH_SHADER_TIER = D3D12_MESH_SHADER_TIER(0i32);
6050 pub const D3D12_MESH_SHADER_TIER_1: D3D12_MESH_SHADER_TIER = D3D12_MESH_SHADER_TIER(10i32);
6051 impl ::std::convert::From<i32> for D3D12_MESH_SHADER_TIER {
from(value: i32) -> Self6052     fn from(value: i32) -> Self {
6053         Self(value)
6054     }
6055 }
6056 unsafe impl ::windows::runtime::Abi for D3D12_MESH_SHADER_TIER {
6057     type Abi = Self;
6058     type DefaultType = Self;
6059 }
6060 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
6061 #[repr(C)]
6062 pub struct D3D12_MESSAGE {
6063     pub Category: D3D12_MESSAGE_CATEGORY,
6064     pub Severity: D3D12_MESSAGE_SEVERITY,
6065     pub ID: D3D12_MESSAGE_ID,
6066     pub pDescription: *mut u8,
6067     pub DescriptionByteLength: usize,
6068 }
6069 impl D3D12_MESSAGE {}
6070 impl ::std::default::Default for D3D12_MESSAGE {
default() -> Self6071     fn default() -> Self {
6072         unsafe { ::std::mem::zeroed() }
6073     }
6074 }
6075 impl ::std::fmt::Debug for D3D12_MESSAGE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6076     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6077         fmt.debug_struct("D3D12_MESSAGE").field("Category", &self.Category).field("Severity", &self.Severity).field("ID", &self.ID).field("pDescription", &self.pDescription).field("DescriptionByteLength", &self.DescriptionByteLength).finish()
6078     }
6079 }
6080 impl ::std::cmp::PartialEq for D3D12_MESSAGE {
eq(&self, other: &Self) -> bool6081     fn eq(&self, other: &Self) -> bool {
6082         self.Category == other.Category && self.Severity == other.Severity && self.ID == other.ID && self.pDescription == other.pDescription && self.DescriptionByteLength == other.DescriptionByteLength
6083     }
6084 }
6085 impl ::std::cmp::Eq for D3D12_MESSAGE {}
6086 unsafe impl ::windows::runtime::Abi for D3D12_MESSAGE {
6087     type Abi = Self;
6088     type DefaultType = Self;
6089 }
6090 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6091 #[repr(transparent)]
6092 pub struct D3D12_MESSAGE_CALLBACK_FLAGS(pub i32);
6093 pub const D3D12_MESSAGE_CALLBACK_FLAG_NONE: D3D12_MESSAGE_CALLBACK_FLAGS = D3D12_MESSAGE_CALLBACK_FLAGS(0i32);
6094 pub const D3D12_MESSAGE_CALLBACK_IGNORE_FILTERS: D3D12_MESSAGE_CALLBACK_FLAGS = D3D12_MESSAGE_CALLBACK_FLAGS(1i32);
6095 impl ::std::convert::From<i32> for D3D12_MESSAGE_CALLBACK_FLAGS {
from(value: i32) -> Self6096     fn from(value: i32) -> Self {
6097         Self(value)
6098     }
6099 }
6100 unsafe impl ::windows::runtime::Abi for D3D12_MESSAGE_CALLBACK_FLAGS {
6101     type Abi = Self;
6102     type DefaultType = Self;
6103 }
6104 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6105 #[repr(transparent)]
6106 pub struct D3D12_MESSAGE_CATEGORY(pub i32);
6107 pub const D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(0i32);
6108 pub const D3D12_MESSAGE_CATEGORY_MISCELLANEOUS: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(1i32);
6109 pub const D3D12_MESSAGE_CATEGORY_INITIALIZATION: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(2i32);
6110 pub const D3D12_MESSAGE_CATEGORY_CLEANUP: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(3i32);
6111 pub const D3D12_MESSAGE_CATEGORY_COMPILATION: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(4i32);
6112 pub const D3D12_MESSAGE_CATEGORY_STATE_CREATION: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(5i32);
6113 pub const D3D12_MESSAGE_CATEGORY_STATE_SETTING: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(6i32);
6114 pub const D3D12_MESSAGE_CATEGORY_STATE_GETTING: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(7i32);
6115 pub const D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(8i32);
6116 pub const D3D12_MESSAGE_CATEGORY_EXECUTION: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(9i32);
6117 pub const D3D12_MESSAGE_CATEGORY_SHADER: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(10i32);
6118 impl ::std::convert::From<i32> for D3D12_MESSAGE_CATEGORY {
from(value: i32) -> Self6119     fn from(value: i32) -> Self {
6120         Self(value)
6121     }
6122 }
6123 unsafe impl ::windows::runtime::Abi for D3D12_MESSAGE_CATEGORY {
6124     type Abi = Self;
6125     type DefaultType = Self;
6126 }
6127 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6128 #[repr(transparent)]
6129 pub struct D3D12_MESSAGE_ID(pub i32);
6130 pub const D3D12_MESSAGE_ID_UNKNOWN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(0i32);
6131 pub const D3D12_MESSAGE_ID_STRING_FROM_APPLICATION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1i32);
6132 pub const D3D12_MESSAGE_ID_CORRUPTED_THIS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(2i32);
6133 pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(3i32);
6134 pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(4i32);
6135 pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(5i32);
6136 pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(6i32);
6137 pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(7i32);
6138 pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(8i32);
6139 pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(9i32);
6140 pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(10i32);
6141 pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(11i32);
6142 pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(12i32);
6143 pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(13i32);
6144 pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(14i32);
6145 pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(15i32);
6146 pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(16i32);
6147 pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(17i32);
6148 pub const D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(18i32);
6149 pub const D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(19i32);
6150 pub const D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(20i32);
6151 pub const D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(21i32);
6152 pub const D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(24i32);
6153 pub const D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(25i32);
6154 pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(26i32);
6155 pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(27i32);
6156 pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(28i32);
6157 pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(29i32);
6158 pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(30i32);
6159 pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(31i32);
6160 pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(32i32);
6161 pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(35i32);
6162 pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(36i32);
6163 pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(37i32);
6164 pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(38i32);
6165 pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(39i32);
6166 pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(40i32);
6167 pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(41i32);
6168 pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(42i32);
6169 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(45i32);
6170 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(46i32);
6171 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(47i32);
6172 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(48i32);
6173 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(49i32);
6174 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(52i32);
6175 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(53i32);
6176 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(54i32);
6177 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(55i32);
6178 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(56i32);
6179 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(57i32);
6180 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(58i32);
6181 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(59i32);
6182 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(60i32);
6183 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(61i32);
6184 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(62i32);
6185 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(63i32);
6186 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(64i32);
6187 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(65i32);
6188 pub const D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(66i32);
6189 pub const D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(67i32);
6190 pub const D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(68i32);
6191 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(69i32);
6192 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(70i32);
6193 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(71i32);
6194 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(72i32);
6195 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(73i32);
6196 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(74i32);
6197 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(75i32);
6198 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(76i32);
6199 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(79i32);
6200 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(80i32);
6201 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(81i32);
6202 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(82i32);
6203 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(83i32);
6204 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(84i32);
6205 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(85i32);
6206 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(86i32);
6207 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(87i32);
6208 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(88i32);
6209 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(89i32);
6210 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(90i32);
6211 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(91i32);
6212 pub const D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(92i32);
6213 pub const D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(93i32);
6214 pub const D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(94i32);
6215 pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(95i32);
6216 pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(96i32);
6217 pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(97i32);
6218 pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(98i32);
6219 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(100i32);
6220 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(101i32);
6221 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(102i32);
6222 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(103i32);
6223 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(104i32);
6224 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(105i32);
6225 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(106i32);
6226 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(107i32);
6227 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(108i32);
6228 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(109i32);
6229 pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(111i32);
6230 pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(112i32);
6231 pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(113i32);
6232 pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(114i32);
6233 pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(115i32);
6234 pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(116i32);
6235 pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(117i32);
6236 pub const D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(135i32);
6237 pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(200i32);
6238 pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(201i32);
6239 pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(202i32);
6240 pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(209i32);
6241 pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(210i32);
6242 pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(211i32);
6243 pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(212i32);
6244 pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(213i32);
6245 pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(219i32);
6246 pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(221i32);
6247 pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(222i32);
6248 pub const D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(232i32);
6249 pub const D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(233i32);
6250 pub const D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(234i32);
6251 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(239i32);
6252 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(240i32);
6253 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(245i32);
6254 pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(253i32);
6255 pub const D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(255i32);
6256 pub const D3D12_MESSAGE_ID_LIVE_DEVICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(274i32);
6257 pub const D3D12_MESSAGE_ID_LIVE_SWAPCHAIN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(275i32);
6258 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(276i32);
6259 pub const D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(277i32);
6260 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(278i32);
6261 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(280i32);
6262 pub const D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(283i32);
6263 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(284i32);
6264 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(285i32);
6265 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(286i32);
6266 pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(287i32);
6267 pub const D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(289i32);
6268 pub const D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(290i32);
6269 pub const D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(291i32);
6270 pub const D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(292i32);
6271 pub const D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(294i32);
6272 pub const D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(295i32);
6273 pub const D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(296i32);
6274 pub const D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(297i32);
6275 pub const D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(310i32);
6276 pub const D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(318i32);
6277 pub const D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(321i32);
6278 pub const D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(322i32);
6279 pub const D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(323i32);
6280 pub const D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(331i32);
6281 pub const D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(332i32);
6282 pub const D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(333i32);
6283 pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(334i32);
6284 pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(335i32);
6285 pub const D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(336i32);
6286 pub const D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(337i32);
6287 pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(340i32);
6288 pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(341i32);
6289 pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(342i32);
6290 pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(343i32);
6291 pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(344i32);
6292 pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(345i32);
6293 pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(346i32);
6294 pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(354i32);
6295 pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(401i32);
6296 pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(403i32);
6297 pub const D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(410i32);
6298 pub const D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(412i32);
6299 pub const D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(414i32);
6300 pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(416i32);
6301 pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(418i32);
6302 pub const D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(420i32);
6303 pub const D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(422i32);
6304 pub const D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(425i32);
6305 pub const D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(426i32);
6306 pub const D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(427i32);
6307 pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(428i32);
6308 pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(429i32);
6309 pub const D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(430i32);
6310 pub const D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(431i32);
6311 pub const D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(447i32);
6312 pub const D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(448i32);
6313 pub const D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(493i32);
6314 pub const D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(494i32);
6315 pub const D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(506i32);
6316 pub const D3D12_MESSAGE_ID_CREATEDEVICE_WARNING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(507i32);
6317 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(519i32);
6318 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(520i32);
6319 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(521i32);
6320 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(522i32);
6321 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(523i32);
6322 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(524i32);
6323 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(525i32);
6324 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(526i32);
6325 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(527i32);
6326 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(528i32);
6327 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(529i32);
6328 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(530i32);
6329 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(531i32);
6330 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(532i32);
6331 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(533i32);
6332 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(534i32);
6333 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(535i32);
6334 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(536i32);
6335 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(537i32);
6336 pub const D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(538i32);
6337 pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(540i32);
6338 pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(541i32);
6339 pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(542i32);
6340 pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(543i32);
6341 pub const D3D12_MESSAGE_ID_COMMAND_LIST_OPEN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(544i32);
6342 pub const D3D12_MESSAGE_ID_INVALID_BUNDLE_API: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(546i32);
6343 pub const D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(547i32);
6344 pub const D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(549i32);
6345 pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(552i32);
6346 pub const D3D12_MESSAGE_ID_COMMAND_LIST_SYNC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(553i32);
6347 pub const D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(554i32);
6348 pub const D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(557i32);
6349 pub const D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(558i32);
6350 pub const D3D12_MESSAGE_ID_CREATE_PIPELINESTATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(559i32);
6351 pub const D3D12_MESSAGE_ID_CREATE_COMMANDLIST12: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(560i32);
6352 pub const D3D12_MESSAGE_ID_CREATE_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(562i32);
6353 pub const D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(563i32);
6354 pub const D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(564i32);
6355 pub const D3D12_MESSAGE_ID_CREATE_LIBRARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(565i32);
6356 pub const D3D12_MESSAGE_ID_CREATE_HEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(566i32);
6357 pub const D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(567i32);
6358 pub const D3D12_MESSAGE_ID_CREATE_QUERYHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(568i32);
6359 pub const D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(569i32);
6360 pub const D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(570i32);
6361 pub const D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(571i32);
6362 pub const D3D12_MESSAGE_ID_LIVE_PIPELINESTATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(572i32);
6363 pub const D3D12_MESSAGE_ID_LIVE_COMMANDLIST12: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(573i32);
6364 pub const D3D12_MESSAGE_ID_LIVE_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(575i32);
6365 pub const D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(576i32);
6366 pub const D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(577i32);
6367 pub const D3D12_MESSAGE_ID_LIVE_LIBRARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(578i32);
6368 pub const D3D12_MESSAGE_ID_LIVE_HEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(579i32);
6369 pub const D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(580i32);
6370 pub const D3D12_MESSAGE_ID_LIVE_QUERYHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(581i32);
6371 pub const D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(582i32);
6372 pub const D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(583i32);
6373 pub const D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(584i32);
6374 pub const D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(585i32);
6375 pub const D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(586i32);
6376 pub const D3D12_MESSAGE_ID_DESTROY_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(588i32);
6377 pub const D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(589i32);
6378 pub const D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(590i32);
6379 pub const D3D12_MESSAGE_ID_DESTROY_LIBRARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(591i32);
6380 pub const D3D12_MESSAGE_ID_DESTROY_HEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(592i32);
6381 pub const D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(593i32);
6382 pub const D3D12_MESSAGE_ID_DESTROY_QUERYHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(594i32);
6383 pub const D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(595i32);
6384 pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(597i32);
6385 pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(599i32);
6386 pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(602i32);
6387 pub const D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(603i32);
6388 pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(604i32);
6389 pub const D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(607i32);
6390 pub const D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(608i32);
6391 pub const D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(609i32);
6392 pub const D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(610i32);
6393 pub const D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(611i32);
6394 pub const D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(613i32);
6395 pub const D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(614i32);
6396 pub const D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(615i32);
6397 pub const D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(616i32);
6398 pub const D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(622i32);
6399 pub const D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(623i32);
6400 pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(624i32);
6401 pub const D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(625i32);
6402 pub const D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(626i32);
6403 pub const D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(627i32);
6404 pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(628i32);
6405 pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(629i32);
6406 pub const D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(630i32);
6407 pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(631i32);
6408 pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(632i32);
6409 pub const D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(633i32);
6410 pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(634i32);
6411 pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(635i32);
6412 pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(636i32);
6413 pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(637i32);
6414 pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(638i32);
6415 pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(639i32);
6416 pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(640i32);
6417 pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(641i32);
6418 pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(642i32);
6419 pub const D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(643i32);
6420 pub const D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(644i32);
6421 pub const D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(645i32);
6422 pub const D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(646i32);
6423 pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(647i32);
6424 pub const D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(649i32);
6425 pub const D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(650i32);
6426 pub const D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(652i32);
6427 pub const D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(653i32);
6428 pub const D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(654i32);
6429 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(655i32);
6430 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(656i32);
6431 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(657i32);
6432 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(658i32);
6433 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(659i32);
6434 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(660i32);
6435 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(661i32);
6436 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(662i32);
6437 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(663i32);
6438 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(664i32);
6439 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(665i32);
6440 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(666i32);
6441 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(667i32);
6442 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(668i32);
6443 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(669i32);
6444 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(670i32);
6445 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(671i32);
6446 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(672i32);
6447 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(673i32);
6448 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(674i32);
6449 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(675i32);
6450 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(676i32);
6451 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(677i32);
6452 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(678i32);
6453 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(679i32);
6454 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(680i32);
6455 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(681i32);
6456 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(682i32);
6457 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(683i32);
6458 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(684i32);
6459 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(685i32);
6460 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(686i32);
6461 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(687i32);
6462 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(688i32);
6463 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(689i32);
6464 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(690i32);
6465 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(691i32);
6466 pub const D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(692i32);
6467 pub const D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(693i32);
6468 pub const D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(694i32);
6469 pub const D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(695i32);
6470 pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(696i32);
6471 pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(697i32);
6472 pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(698i32);
6473 pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(699i32);
6474 pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(700i32);
6475 pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(701i32);
6476 pub const D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(702i32);
6477 pub const D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(703i32);
6478 pub const D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(705i32);
6479 pub const D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(708i32);
6480 pub const D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(709i32);
6481 pub const D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(710i32);
6482 pub const D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(711i32);
6483 pub const D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(712i32);
6484 pub const D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(713i32);
6485 pub const D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(715i32);
6486 pub const D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(717i32);
6487 pub const D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(718i32);
6488 pub const D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(719i32);
6489 pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(720i32);
6490 pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(721i32);
6491 pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(722i32);
6492 pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(723i32);
6493 pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(724i32);
6494 pub const D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(725i32);
6495 pub const D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(726i32);
6496 pub const D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(727i32);
6497 pub const D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(728i32);
6498 pub const D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(729i32);
6499 pub const D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(731i32);
6500 pub const D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(732i32);
6501 pub const D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(733i32);
6502 pub const D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(734i32);
6503 pub const D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(735i32);
6504 pub const D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(737i32);
6505 pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(738i32);
6506 pub const D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(739i32);
6507 pub const D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(740i32);
6508 pub const D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(739i32);
6509 pub const D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(740i32);
6510 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(741i32);
6511 pub const D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(742i32);
6512 pub const D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(743i32);
6513 pub const D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(744i32);
6514 pub const D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(745i32);
6515 pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(815i32);
6516 pub const D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(816i32);
6517 pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(817i32);
6518 pub const D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(818i32);
6519 pub const D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(820i32);
6520 pub const D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(821i32);
6521 pub const D3D12_MESSAGE_ID_MAP_INVALIDHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(822i32);
6522 pub const D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(823i32);
6523 pub const D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(824i32);
6524 pub const D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(825i32);
6525 pub const D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(826i32);
6526 pub const D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(827i32);
6527 pub const D3D12_MESSAGE_ID_MAP_INVALIDRANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(828i32);
6528 pub const D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(829i32);
6529 pub const D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(832i32);
6530 pub const D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(833i32);
6531 pub const D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(834i32);
6532 pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(835i32);
6533 pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(836i32);
6534 pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(837i32);
6535 pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(838i32);
6536 pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(839i32);
6537 pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(840i32);
6538 pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(841i32);
6539 pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(842i32);
6540 pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(843i32);
6541 pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(844i32);
6542 pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(845i32);
6543 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(846i32);
6544 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(847i32);
6545 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(848i32);
6546 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(849i32);
6547 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(850i32);
6548 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(851i32);
6549 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(852i32);
6550 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(853i32);
6551 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(854i32);
6552 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(855i32);
6553 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(856i32);
6554 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(857i32);
6555 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(858i32);
6556 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(859i32);
6557 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(860i32);
6558 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(861i32);
6559 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(862i32);
6560 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(863i32);
6561 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(864i32);
6562 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(865i32);
6563 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(866i32);
6564 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(867i32);
6565 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(868i32);
6566 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(869i32);
6567 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(870i32);
6568 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(871i32);
6569 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(872i32);
6570 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(873i32);
6571 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(874i32);
6572 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(875i32);
6573 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(876i32);
6574 pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(877i32);
6575 pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(878i32);
6576 pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(879i32);
6577 pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(880i32);
6578 pub const D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(881i32);
6579 pub const D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(882i32);
6580 pub const D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(883i32);
6581 pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(884i32);
6582 pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(885i32);
6583 pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(886i32);
6584 pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(887i32);
6585 pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(888i32);
6586 pub const D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(889i32);
6587 pub const D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(890i32);
6588 pub const D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(891i32);
6589 pub const D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(892i32);
6590 pub const D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(893i32);
6591 pub const D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(894i32);
6592 pub const D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(895i32);
6593 pub const D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(896i32);
6594 pub const D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(897i32);
6595 pub const D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(898i32);
6596 pub const D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(899i32);
6597 pub const D3D12_MESSAGE_ID_INVALID_NODE_INDEX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(900i32);
6598 pub const D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(901i32);
6599 pub const D3D12_MESSAGE_ID_NODE_MASK_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(902i32);
6600 pub const D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(903i32);
6601 pub const D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(904i32);
6602 pub const D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(905i32);
6603 pub const D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(906i32);
6604 pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(907i32);
6605 pub const D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(908i32);
6606 pub const D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(909i32);
6607 pub const D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(910i32);
6608 pub const D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(911i32);
6609 pub const D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(912i32);
6610 pub const D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(913i32);
6611 pub const D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(914i32);
6612 pub const D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(915i32);
6613 pub const D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(916i32);
6614 pub const D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(917i32);
6615 pub const D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(918i32);
6616 pub const D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(919i32);
6617 pub const D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(920i32);
6618 pub const D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(921i32);
6619 pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(922i32);
6620 pub const D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(923i32);
6621 pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(924i32);
6622 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(925i32);
6623 pub const D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(926i32);
6624 pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(927i32);
6625 pub const D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(929i32);
6626 pub const D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(930i32);
6627 pub const D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(931i32);
6628 pub const D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(932i32);
6629 pub const D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(933i32);
6630 pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(934i32);
6631 pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(935i32);
6632 pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(936i32);
6633 pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(937i32);
6634 pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(938i32);
6635 pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(939i32);
6636 pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(940i32);
6637 pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(941i32);
6638 pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(942i32);
6639 pub const D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(943i32);
6640 pub const D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(944i32);
6641 pub const D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(945i32);
6642 pub const D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(946i32);
6643 pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(947i32);
6644 pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(948i32);
6645 pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(949i32);
6646 pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(950i32);
6647 pub const D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(951i32);
6648 pub const D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(952i32);
6649 pub const D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(953i32);
6650 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(954i32);
6651 pub const D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(955i32);
6652 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(956i32);
6653 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(957i32);
6654 pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(958i32);
6655 pub const D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(959i32);
6656 pub const D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(960i32);
6657 pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(961i32);
6658 pub const D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(962i32);
6659 pub const D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(963i32);
6660 pub const D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(964i32);
6661 pub const D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(965i32);
6662 pub const D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(966i32);
6663 pub const D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(967i32);
6664 pub const D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(968i32);
6665 pub const D3D12_MESSAGE_ID_STOREPIPELINE_NONAME: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(969i32);
6666 pub const D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(970i32);
6667 pub const D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(971i32);
6668 pub const D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(972i32);
6669 pub const D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(973i32);
6670 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(974i32);
6671 pub const D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(975i32);
6672 pub const D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(976i32);
6673 pub const D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(977i32);
6674 pub const D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(978i32);
6675 pub const D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(979i32);
6676 pub const D3D12_MESSAGE_ID_CREATE_VIDEODECODER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(980i32);
6677 pub const D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(981i32);
6678 pub const D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(982i32);
6679 pub const D3D12_MESSAGE_ID_LIVE_VIDEODECODER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(983i32);
6680 pub const D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(984i32);
6681 pub const D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(985i32);
6682 pub const D3D12_MESSAGE_ID_DESTROY_VIDEODECODER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(986i32);
6683 pub const D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(987i32);
6684 pub const D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(988i32);
6685 pub const D3D12_MESSAGE_ID_DEPRECATED_API: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(989i32);
6686 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(990i32);
6687 pub const D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(991i32);
6688 pub const D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(992i32);
6689 pub const D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(993i32);
6690 pub const D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(994i32);
6691 pub const D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(995i32);
6692 pub const D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(996i32);
6693 pub const D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(997i32);
6694 pub const D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(998i32);
6695 pub const D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(999i32);
6696 pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1000i32);
6697 pub const D3D12_MESSAGE_ID_STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1001i32);
6698 pub const D3D12_MESSAGE_ID_DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1002i32);
6699 pub const D3D12_MESSAGE_ID_DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1003i32);
6700 pub const D3D12_MESSAGE_ID_EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1004i32);
6701 pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1005i32);
6702 pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1006i32);
6703 pub const D3D12_MESSAGE_ID_CREATE_FENCE_INVALID_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1007i32);
6704 pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1008i32);
6705 pub const D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PRIORITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1009i32);
6706 pub const D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1013i32);
6707 pub const D3D12_MESSAGE_ID_BEGIN_EVENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1014i32);
6708 pub const D3D12_MESSAGE_ID_END_EVENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1015i32);
6709 pub const D3D12_MESSAGE_ID_CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1016i32);
6710 pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1017i32);
6711 pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1018i32);
6712 pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1019i32);
6713 pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_ZERO_SIZE_STREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1020i32);
6714 pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_STREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1021i32);
6715 pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1022i32);
6716 pub const D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1023i32);
6717 pub const D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1024i32);
6718 pub const D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1025i32);
6719 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_ARCHITECTURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1026i32);
6720 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1027i32);
6721 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1028i32);
6722 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1029i32);
6723 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_SRC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1030i32);
6724 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1031i32);
6725 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1032i32);
6726 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1033i32);
6727 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1034i32);
6728 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1035i32);
6729 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1036i32);
6730 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1037i32);
6731 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1038i32);
6732 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1039i32);
6733 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_ZERO_DEPENDENCIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1040i32);
6734 pub const D3D12_MESSAGE_ID_DEVICE_CREATE_SHARED_HANDLE_INVALIDARG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1041i32);
6735 pub const D3D12_MESSAGE_ID_DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1042i32);
6736 pub const D3D12_MESSAGE_ID_SETDEPTHBOUNDS_INVALIDARGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1043i32);
6737 pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1044i32);
6738 pub const D3D12_MESSAGE_ID_COMMAND_LIST_PIPELINE_STATE_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1045i32);
6739 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1046i32);
6740 pub const D3D12_MESSAGE_ID_OBJECT_ACCESSED_WHILE_STILL_IN_USE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1047i32);
6741 pub const D3D12_MESSAGE_ID_PROGRAMMABLE_MSAA_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1048i32);
6742 pub const D3D12_MESSAGE_ID_SETSAMPLEPOSITIONS_INVALIDARGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1049i32);
6743 pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCEREGION_INVALID_RECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1050i32);
6744 pub const D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1051i32);
6745 pub const D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1052i32);
6746 pub const D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1053i32);
6747 pub const D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1054i32);
6748 pub const D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1055i32);
6749 pub const D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1056i32);
6750 pub const D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1057i32);
6751 pub const D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1058i32);
6752 pub const D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1059i32);
6753 pub const D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1060i32);
6754 pub const D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSSTREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1061i32);
6755 pub const D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1062i32);
6756 pub const D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSSTREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1063i32);
6757 pub const D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1064i32);
6758 pub const D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSSTREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1065i32);
6759 pub const D3D12_MESSAGE_ID_PROCESS_FRAME_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1066i32);
6760 pub const D3D12_MESSAGE_ID_COPY_INVALIDLAYOUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1067i32);
6761 pub const D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1068i32);
6762 pub const D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION_POLICY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1069i32);
6763 pub const D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1070i32);
6764 pub const D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1071i32);
6765 pub const D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION_POLICY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1072i32);
6766 pub const D3D12_MESSAGE_ID_LIVE_PROTECTED_RESOURCE_SESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1073i32);
6767 pub const D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1074i32);
6768 pub const D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION_POLICY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1075i32);
6769 pub const D3D12_MESSAGE_ID_DESTROY_PROTECTED_RESOURCE_SESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1076i32);
6770 pub const D3D12_MESSAGE_ID_PROTECTED_RESOURCE_SESSION_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1077i32);
6771 pub const D3D12_MESSAGE_ID_FENCE_INVALIDOPERATION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1078i32);
6772 pub const D3D12_MESSAGE_ID_CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1079i32);
6773 pub const D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_DEFERRED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1080i32);
6774 pub const D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1081i32);
6775 pub const D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1082i32);
6776 pub const D3D12_MESSAGE_ID_CREATE_VIDEODECODERHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1083i32);
6777 pub const D3D12_MESSAGE_ID_LIVE_VIDEODECODERHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1084i32);
6778 pub const D3D12_MESSAGE_ID_DESTROY_VIDEODECODERHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1085i32);
6779 pub const D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDARG_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1086i32);
6780 pub const D3D12_MESSAGE_ID_OPENEXISTINGHEAP_OUTOFMEMORY_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1087i32);
6781 pub const D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDADDRESS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1088i32);
6782 pub const D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDHANDLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1089i32);
6783 pub const D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_DEST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1090i32);
6784 pub const D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_MODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1091i32);
6785 pub const D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1092i32);
6786 pub const D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1093i32);
6787 pub const D3D12_MESSAGE_ID_SETVIEWINSTANCEMASK_INVALIDARGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1094i32);
6788 pub const D3D12_MESSAGE_ID_VIEW_INSTANCING_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1095i32);
6789 pub const D3D12_MESSAGE_ID_VIEW_INSTANCING_INVALIDARGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1096i32);
6790 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1097i32);
6791 pub const D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1098i32);
6792 pub const D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1099i32);
6793 pub const D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1100i32);
6794 pub const D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_INVALID_INPUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1101i32);
6795 pub const D3D12_MESSAGE_ID_CREATE_VIDEO_DECODER_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1102i32);
6796 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1103i32);
6797 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1104i32);
6798 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1105i32);
6799 pub const D3D12_MESSAGE_ID_NO_VIDEO_API_SUPPORT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1106i32);
6800 pub const D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_INVALID_INPUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1107i32);
6801 pub const D3D12_MESSAGE_ID_CREATE_VIDEO_PROCESSOR_CAPS_FAILURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1108i32);
6802 pub const D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1109i32);
6803 pub const D3D12_MESSAGE_ID_VIDEO_DECODE_FRAME_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1110i32);
6804 pub const D3D12_MESSAGE_ID_ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1111i32);
6805 pub const D3D12_MESSAGE_ID_OPENEXISTINGHEAP_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1112i32);
6806 pub const D3D12_MESSAGE_ID_VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1113i32);
6807 pub const D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1114i32);
6808 pub const D3D12_MESSAGE_ID_CREATE_COMMANDRECORDER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1115i32);
6809 pub const D3D12_MESSAGE_ID_LIVE_COMMANDRECORDER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1116i32);
6810 pub const D3D12_MESSAGE_ID_DESTROY_COMMANDRECORDER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1117i32);
6811 pub const D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1118i32);
6812 pub const D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1119i32);
6813 pub const D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1120i32);
6814 pub const D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1121i32);
6815 pub const D3D12_MESSAGE_ID_CREATE_COMMANDPOOL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1122i32);
6816 pub const D3D12_MESSAGE_ID_LIVE_COMMANDPOOL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1123i32);
6817 pub const D3D12_MESSAGE_ID_DESTROY_COMMANDPOOL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1124i32);
6818 pub const D3D12_MESSAGE_ID_CREATE_COMMAND_POOL_INVALID_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1125i32);
6819 pub const D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1126i32);
6820 pub const D3D12_MESSAGE_ID_COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1127i32);
6821 pub const D3D12_MESSAGE_ID_COMMAND_RECORDER_CONTENTION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1128i32);
6822 pub const D3D12_MESSAGE_ID_COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1129i32);
6823 pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1130i32);
6824 pub const D3D12_MESSAGE_ID_CANNOT_EXECUTE_EMPTY_COMMAND_LIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1131i32);
6825 pub const D3D12_MESSAGE_ID_CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1132i32);
6826 pub const D3D12_MESSAGE_ID_CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1133i32);
6827 pub const D3D12_MESSAGE_ID_CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1134i32);
6828 pub const D3D12_MESSAGE_ID_COMMAND_POOL_SYNC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1135i32);
6829 pub const D3D12_MESSAGE_ID_EVICT_UNDERFLOW: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1136i32);
6830 pub const D3D12_MESSAGE_ID_CREATE_META_COMMAND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1137i32);
6831 pub const D3D12_MESSAGE_ID_LIVE_META_COMMAND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1138i32);
6832 pub const D3D12_MESSAGE_ID_DESTROY_META_COMMAND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1139i32);
6833 pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_DST_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1140i32);
6834 pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_SRC_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1141i32);
6835 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1142i32);
6836 pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1143i32);
6837 pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1144i32);
6838 pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1145i32);
6839 pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1146i32);
6840 pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1147i32);
6841 pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1148i32);
6842 pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1149i32);
6843 pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1150i32);
6844 pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1151i32);
6845 pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1152i32);
6846 pub const D3D12_MESSAGE_ID_CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1153i32);
6847 pub const D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1154i32);
6848 pub const D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1155i32);
6849 pub const D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1156i32);
6850 pub const D3D12_MESSAGE_ID_COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1157i32);
6851 pub const D3D12_MESSAGE_ID_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1158i32);
6852 pub const D3D12_MESSAGE_ID_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1159i32);
6853 pub const D3D12_MESSAGE_ID_COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1160i32);
6854 pub const D3D12_MESSAGE_ID_DISPATCH_RAYS_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1161i32);
6855 pub const D3D12_MESSAGE_ID_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1162i32);
6856 pub const D3D12_MESSAGE_ID_CREATE_LIFETIMETRACKER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1163i32);
6857 pub const D3D12_MESSAGE_ID_LIVE_LIFETIMETRACKER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1164i32);
6858 pub const D3D12_MESSAGE_ID_DESTROY_LIFETIMETRACKER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1165i32);
6859 pub const D3D12_MESSAGE_ID_DESTROYOWNEDOBJECT_OBJECTNOTOWNED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1166i32);
6860 pub const D3D12_MESSAGE_ID_CREATE_TRACKEDWORKLOAD: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1167i32);
6861 pub const D3D12_MESSAGE_ID_LIVE_TRACKEDWORKLOAD: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1168i32);
6862 pub const D3D12_MESSAGE_ID_DESTROY_TRACKEDWORKLOAD: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1169i32);
6863 pub const D3D12_MESSAGE_ID_RENDER_PASS_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1170i32);
6864 pub const D3D12_MESSAGE_ID_META_COMMAND_ID_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1171i32);
6865 pub const D3D12_MESSAGE_ID_META_COMMAND_UNSUPPORTED_PARAMS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1172i32);
6866 pub const D3D12_MESSAGE_ID_META_COMMAND_FAILED_ENUMERATION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1173i32);
6867 pub const D3D12_MESSAGE_ID_META_COMMAND_PARAMETER_SIZE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1174i32);
6868 pub const D3D12_MESSAGE_ID_UNINITIALIZED_META_COMMAND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1175i32);
6869 pub const D3D12_MESSAGE_ID_META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1176i32);
6870 pub const D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1177i32);
6871 pub const D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1178i32);
6872 pub const D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1179i32);
6873 pub const D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1180i32);
6874 pub const D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1181i32);
6875 pub const D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1182i32);
6876 pub const D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONESTIMATOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1183i32);
6877 pub const D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONESTIMATOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1184i32);
6878 pub const D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONESTIMATOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1185i32);
6879 pub const D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONVECTORHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1186i32);
6880 pub const D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONVECTORHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1187i32);
6881 pub const D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONVECTORHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1188i32);
6882 pub const D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOADS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1189i32);
6883 pub const D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOAD_PAIRS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1190i32);
6884 pub const D3D12_MESSAGE_ID_OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1191i32);
6885 pub const D3D12_MESSAGE_ID_CANNOT_ADD_TRACKED_WORKLOAD: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1192i32);
6886 pub const D3D12_MESSAGE_ID_INCOMPLETE_TRACKED_WORKLOAD_PAIR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1193i32);
6887 pub const D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1194i32);
6888 pub const D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1195i32);
6889 pub const D3D12_MESSAGE_ID_GET_SHADER_STACK_SIZE_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1196i32);
6890 pub const D3D12_MESSAGE_ID_GET_PIPELINE_STACK_SIZE_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1197i32);
6891 pub const D3D12_MESSAGE_ID_SET_PIPELINE_STACK_SIZE_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1198i32);
6892 pub const D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_SIZE_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1199i32);
6893 pub const D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1200i32);
6894 pub const D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1201i32);
6895 pub const D3D12_MESSAGE_ID_RENDER_PASS_INVALID_RESOURCE_BARRIER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1202i32);
6896 pub const D3D12_MESSAGE_ID_RENDER_PASS_DISALLOWED_API_CALLED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1203i32);
6897 pub const D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_NEST_RENDER_PASSES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1204i32);
6898 pub const D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_END_WITHOUT_BEGIN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1205i32);
6899 pub const D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1206i32);
6900 pub const D3D12_MESSAGE_ID_RENDER_PASS_GPU_WORK_WHILE_SUSPENDED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1207i32);
6901 pub const D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_SUSPEND_RESUME: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1208i32);
6902 pub const D3D12_MESSAGE_ID_RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1209i32);
6903 pub const D3D12_MESSAGE_ID_RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1210i32);
6904 pub const D3D12_MESSAGE_ID_TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1211i32);
6905 pub const D3D12_MESSAGE_ID_TRACKED_WORKLOAD_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1212i32);
6906 pub const D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_NO_ACCESS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1213i32);
6907 pub const D3D12_MESSAGE_ID_RENDER_PASS_UNSUPPORTED_RESOLVE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1214i32);
6908 pub const D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1215i32);
6909 pub const D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_SIGNAL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1216i32);
6910 pub const D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_WAIT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1217i32);
6911 pub const D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1218i32);
6912 pub const D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1219i32);
6913 pub const D3D12_MESSAGE_ID_ESTIMATE_MOTION_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1220i32);
6914 pub const D3D12_MESSAGE_ID_RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1221i32);
6915 pub const D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1222i32);
6916 pub const D3D12_MESSAGE_ID_SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1223i32);
6917 pub const D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1224i32);
6918 pub const D3D12_MESSAGE_ID_CREATE_VIDEOEXTENSIONCOMMAND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1225i32);
6919 pub const D3D12_MESSAGE_ID_LIVE_VIDEOEXTENSIONCOMMAND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1226i32);
6920 pub const D3D12_MESSAGE_ID_DESTROY_VIDEOEXTENSIONCOMMAND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1227i32);
6921 pub const D3D12_MESSAGE_ID_INVALID_VIDEO_EXTENSION_COMMAND_ID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1228i32);
6922 pub const D3D12_MESSAGE_ID_VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1229i32);
6923 pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1230i32);
6924 pub const D3D12_MESSAGE_ID_VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1231i32);
6925 pub const D3D12_MESSAGE_ID_GEOMETRY_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1232i32);
6926 pub const D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_SHADING_RATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1233i32);
6927 pub const D3D12_MESSAGE_ID_RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1234i32);
6928 pub const D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_COMBINER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1235i32);
6929 pub const D3D12_MESSAGE_ID_RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1236i32);
6930 pub const D3D12_MESSAGE_ID_RSSETSHADINGRATE_REQUIRES_TIER_1: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1237i32);
6931 pub const D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1238i32);
6932 pub const D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1239i32);
6933 pub const D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1240i32);
6934 pub const D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1241i32);
6935 pub const D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1242i32);
6936 pub const D3D12_MESSAGE_ID_NON_RETAIL_SHADER_MODEL_WONT_VALIDATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1243i32);
6937 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1244i32);
6938 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1245i32);
6939 pub const D3D12_MESSAGE_ID_ADD_TO_STATE_OBJECT_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1246i32);
6940 pub const D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1247i32);
6941 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1248i32);
6942 pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1249i32);
6943 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1250i32);
6944 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1251i32);
6945 pub const D3D12_MESSAGE_ID_NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1252i32);
6946 pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1253i32);
6947 pub const D3D12_MESSAGE_ID_EMPTY_DISPATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1254i32);
6948 pub const D3D12_MESSAGE_ID_RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1255i32);
6949 pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1256i32);
6950 pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1257i32);
6951 pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1258i32);
6952 pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1259i32);
6953 pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1260i32);
6954 pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1261i32);
6955 pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1262i32);
6956 pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1263i32);
6957 pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1264i32);
6958 pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1265i32);
6959 pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1266i32);
6960 pub const D3D12_MESSAGE_ID_CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1267i32);
6961 pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1268i32);
6962 pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1269i32);
6963 pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1270i32);
6964 pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1271i32);
6965 pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1272i32);
6966 pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1273i32);
6967 pub const D3D12_MESSAGE_ID_VERTEX_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1274i32);
6968 pub const D3D12_MESSAGE_ID_MESH_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1275i32);
6969 pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1276i32);
6970 pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1277i32);
6971 pub const D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1278i32);
6972 pub const D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1279i32);
6973 pub const D3D12_MESSAGE_ID_CREATE_SHADERCACHESESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1280i32);
6974 pub const D3D12_MESSAGE_ID_LIVE_SHADERCACHESESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1281i32);
6975 pub const D3D12_MESSAGE_ID_DESTROY_SHADERCACHESESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1282i32);
6976 pub const D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_INVALIDARGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1283i32);
6977 pub const D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_DISABLED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1284i32);
6978 pub const D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_ALREADYOPEN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1285i32);
6979 pub const D3D12_MESSAGE_ID_SHADERCACHECONTROL_DEVELOPERMODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1286i32);
6980 pub const D3D12_MESSAGE_ID_SHADERCACHECONTROL_INVALIDFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1287i32);
6981 pub const D3D12_MESSAGE_ID_SHADERCACHECONTROL_STATEALREADYSET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1288i32);
6982 pub const D3D12_MESSAGE_ID_SHADERCACHECONTROL_IGNOREDFLAG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1289i32);
6983 pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_ALREADYPRESENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1290i32);
6984 pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_HASHCOLLISION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1291i32);
6985 pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_CACHEFULL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1292i32);
6986 pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_FINDVALUE_NOTFOUND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1293i32);
6987 pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_CORRUPT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1294i32);
6988 pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_DISABLED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1295i32);
6989 pub const D3D12_MESSAGE_ID_OVERSIZED_DISPATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1296i32);
6990 pub const D3D12_MESSAGE_ID_CREATE_VIDEOENCODER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1297i32);
6991 pub const D3D12_MESSAGE_ID_LIVE_VIDEOENCODER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1298i32);
6992 pub const D3D12_MESSAGE_ID_DESTROY_VIDEOENCODER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1299i32);
6993 pub const D3D12_MESSAGE_ID_CREATE_VIDEOENCODERHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1300i32);
6994 pub const D3D12_MESSAGE_ID_LIVE_VIDEOENCODERHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1301i32);
6995 pub const D3D12_MESSAGE_ID_DESTROY_VIDEOENCODERHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1302i32);
6996 pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1303i32);
6997 pub const D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1304i32);
6998 pub const D3D12_MESSAGE_ID_ENCODE_FRAME_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1305i32);
6999 pub const D3D12_MESSAGE_ID_ENCODE_FRAME_UNSUPPORTED_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1306i32);
7000 pub const D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1307i32);
7001 pub const D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_UNSUPPORTED_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1308i32);
7002 pub const D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1309i32);
7003 pub const D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_UNSUPPORTED_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1310i32);
7004 pub const D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1311i32);
7005 pub const D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_UNSUPPORTED_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1312i32);
7006 pub const D3D12_MESSAGE_ID_CREATECOMMANDLIST_NULL_COMMANDALLOCATOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1313i32);
7007 pub const D3D12_MESSAGE_ID_CLEAR_UNORDERED_ACCESS_VIEW_INVALID_DESCRIPTOR_HANDLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1314i32);
7008 pub const D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SHADER_VISIBLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1315i32);
7009 pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOP_WARNING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1316i32);
7010 pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOPALPHA_WARNING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1317i32);
7011 pub const D3D12_MESSAGE_ID_WRITE_COMBINE_PERFORMANCE_WARNING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1318i32);
7012 pub const D3D12_MESSAGE_ID_RESOLVE_QUERY_INVALID_QUERY_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1319i32);
7013 pub const D3D12_MESSAGE_ID_SETPRIVATEDATA_NO_ACCESS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1320i32);
7014 pub const D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_SAMPLER_MODE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1321i32);
7015 pub const D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_UNSUPPORTED_BUFFER_WIDTH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1322i32);
7016 pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_TOPOLOGY_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1323i32);
7017 pub const D3D12_MESSAGE_ID_VRS_SUM_COMBINER_REQUIRES_CAPABILITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1324i32);
7018 pub const D3D12_MESSAGE_ID_SETTING_SHADING_RATE_FROM_MS_REQUIRES_CAPABILITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1325i32);
7019 pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_SHADERCACHEDELETE_NOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1326i32);
7020 pub const D3D12_MESSAGE_ID_SHADERCACHECONTROL_SHADERCACHECLEAR_NOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1327i32);
7021 pub const D3D12_MESSAGE_ID_D3D12_MESSAGES_END: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1328i32);
7022 impl ::std::convert::From<i32> for D3D12_MESSAGE_ID {
from(value: i32) -> Self7023     fn from(value: i32) -> Self {
7024         Self(value)
7025     }
7026 }
7027 unsafe impl ::windows::runtime::Abi for D3D12_MESSAGE_ID {
7028     type Abi = Self;
7029     type DefaultType = Self;
7030 }
7031 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7032 #[repr(transparent)]
7033 pub struct D3D12_MESSAGE_SEVERITY(pub i32);
7034 pub const D3D12_MESSAGE_SEVERITY_CORRUPTION: D3D12_MESSAGE_SEVERITY = D3D12_MESSAGE_SEVERITY(0i32);
7035 pub const D3D12_MESSAGE_SEVERITY_ERROR: D3D12_MESSAGE_SEVERITY = D3D12_MESSAGE_SEVERITY(1i32);
7036 pub const D3D12_MESSAGE_SEVERITY_WARNING: D3D12_MESSAGE_SEVERITY = D3D12_MESSAGE_SEVERITY(2i32);
7037 pub const D3D12_MESSAGE_SEVERITY_INFO: D3D12_MESSAGE_SEVERITY = D3D12_MESSAGE_SEVERITY(3i32);
7038 pub const D3D12_MESSAGE_SEVERITY_MESSAGE: D3D12_MESSAGE_SEVERITY = D3D12_MESSAGE_SEVERITY(4i32);
7039 impl ::std::convert::From<i32> for D3D12_MESSAGE_SEVERITY {
from(value: i32) -> Self7040     fn from(value: i32) -> Self {
7041         Self(value)
7042     }
7043 }
7044 unsafe impl ::windows::runtime::Abi for D3D12_MESSAGE_SEVERITY {
7045     type Abi = Self;
7046     type DefaultType = Self;
7047 }
7048 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7049 #[repr(C)]
7050 #[cfg(feature = "Win32_Foundation")]
7051 pub struct D3D12_META_COMMAND_DESC {
7052     pub Id: ::windows::runtime::GUID,
7053     pub Name: super::super::Foundation::PWSTR,
7054     pub InitializationDirtyState: D3D12_GRAPHICS_STATES,
7055     pub ExecutionDirtyState: D3D12_GRAPHICS_STATES,
7056 }
7057 #[cfg(feature = "Win32_Foundation")]
7058 impl D3D12_META_COMMAND_DESC {}
7059 #[cfg(feature = "Win32_Foundation")]
7060 impl ::std::default::Default for D3D12_META_COMMAND_DESC {
default() -> Self7061     fn default() -> Self {
7062         unsafe { ::std::mem::zeroed() }
7063     }
7064 }
7065 #[cfg(feature = "Win32_Foundation")]
7066 impl ::std::fmt::Debug for D3D12_META_COMMAND_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7067     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7068         fmt.debug_struct("D3D12_META_COMMAND_DESC").field("Id", &self.Id).field("Name", &self.Name).field("InitializationDirtyState", &self.InitializationDirtyState).field("ExecutionDirtyState", &self.ExecutionDirtyState).finish()
7069     }
7070 }
7071 #[cfg(feature = "Win32_Foundation")]
7072 impl ::std::cmp::PartialEq for D3D12_META_COMMAND_DESC {
eq(&self, other: &Self) -> bool7073     fn eq(&self, other: &Self) -> bool {
7074         self.Id == other.Id && self.Name == other.Name && self.InitializationDirtyState == other.InitializationDirtyState && self.ExecutionDirtyState == other.ExecutionDirtyState
7075     }
7076 }
7077 #[cfg(feature = "Win32_Foundation")]
7078 impl ::std::cmp::Eq for D3D12_META_COMMAND_DESC {}
7079 #[cfg(feature = "Win32_Foundation")]
7080 unsafe impl ::windows::runtime::Abi for D3D12_META_COMMAND_DESC {
7081     type Abi = Self;
7082     type DefaultType = Self;
7083 }
7084 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7085 #[repr(C)]
7086 #[cfg(feature = "Win32_Foundation")]
7087 pub struct D3D12_META_COMMAND_PARAMETER_DESC {
7088     pub Name: super::super::Foundation::PWSTR,
7089     pub Type: D3D12_META_COMMAND_PARAMETER_TYPE,
7090     pub Flags: D3D12_META_COMMAND_PARAMETER_FLAGS,
7091     pub RequiredResourceState: D3D12_RESOURCE_STATES,
7092     pub StructureOffset: u32,
7093 }
7094 #[cfg(feature = "Win32_Foundation")]
7095 impl D3D12_META_COMMAND_PARAMETER_DESC {}
7096 #[cfg(feature = "Win32_Foundation")]
7097 impl ::std::default::Default for D3D12_META_COMMAND_PARAMETER_DESC {
default() -> Self7098     fn default() -> Self {
7099         unsafe { ::std::mem::zeroed() }
7100     }
7101 }
7102 #[cfg(feature = "Win32_Foundation")]
7103 impl ::std::fmt::Debug for D3D12_META_COMMAND_PARAMETER_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7104     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7105         fmt.debug_struct("D3D12_META_COMMAND_PARAMETER_DESC").field("Name", &self.Name).field("Type", &self.Type).field("Flags", &self.Flags).field("RequiredResourceState", &self.RequiredResourceState).field("StructureOffset", &self.StructureOffset).finish()
7106     }
7107 }
7108 #[cfg(feature = "Win32_Foundation")]
7109 impl ::std::cmp::PartialEq for D3D12_META_COMMAND_PARAMETER_DESC {
eq(&self, other: &Self) -> bool7110     fn eq(&self, other: &Self) -> bool {
7111         self.Name == other.Name && self.Type == other.Type && self.Flags == other.Flags && self.RequiredResourceState == other.RequiredResourceState && self.StructureOffset == other.StructureOffset
7112     }
7113 }
7114 #[cfg(feature = "Win32_Foundation")]
7115 impl ::std::cmp::Eq for D3D12_META_COMMAND_PARAMETER_DESC {}
7116 #[cfg(feature = "Win32_Foundation")]
7117 unsafe impl ::windows::runtime::Abi for D3D12_META_COMMAND_PARAMETER_DESC {
7118     type Abi = Self;
7119     type DefaultType = Self;
7120 }
7121 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7122 #[repr(transparent)]
7123 pub struct D3D12_META_COMMAND_PARAMETER_FLAGS(pub u32);
7124 pub const D3D12_META_COMMAND_PARAMETER_FLAG_INPUT: D3D12_META_COMMAND_PARAMETER_FLAGS = D3D12_META_COMMAND_PARAMETER_FLAGS(1u32);
7125 pub const D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT: D3D12_META_COMMAND_PARAMETER_FLAGS = D3D12_META_COMMAND_PARAMETER_FLAGS(2u32);
7126 impl ::std::convert::From<u32> for D3D12_META_COMMAND_PARAMETER_FLAGS {
from(value: u32) -> Self7127     fn from(value: u32) -> Self {
7128         Self(value)
7129     }
7130 }
7131 unsafe impl ::windows::runtime::Abi for D3D12_META_COMMAND_PARAMETER_FLAGS {
7132     type Abi = Self;
7133     type DefaultType = Self;
7134 }
7135 impl ::std::ops::BitOr for D3D12_META_COMMAND_PARAMETER_FLAGS {
7136     type Output = Self;
bitor(self, rhs: Self) -> Self7137     fn bitor(self, rhs: Self) -> Self {
7138         Self(self.0 | rhs.0)
7139     }
7140 }
7141 impl ::std::ops::BitAnd for D3D12_META_COMMAND_PARAMETER_FLAGS {
7142     type Output = Self;
bitand(self, rhs: Self) -> Self7143     fn bitand(self, rhs: Self) -> Self {
7144         Self(self.0 & rhs.0)
7145     }
7146 }
7147 impl ::std::ops::BitOrAssign for D3D12_META_COMMAND_PARAMETER_FLAGS {
bitor_assign(&mut self, rhs: Self)7148     fn bitor_assign(&mut self, rhs: Self) {
7149         self.0.bitor_assign(rhs.0)
7150     }
7151 }
7152 impl ::std::ops::BitAndAssign for D3D12_META_COMMAND_PARAMETER_FLAGS {
bitand_assign(&mut self, rhs: Self)7153     fn bitand_assign(&mut self, rhs: Self) {
7154         self.0.bitand_assign(rhs.0)
7155     }
7156 }
7157 impl ::std::ops::Not for D3D12_META_COMMAND_PARAMETER_FLAGS {
7158     type Output = Self;
not(self) -> Self7159     fn not(self) -> Self {
7160         Self(self.0.not())
7161     }
7162 }
7163 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7164 #[repr(transparent)]
7165 pub struct D3D12_META_COMMAND_PARAMETER_STAGE(pub i32);
7166 pub const D3D12_META_COMMAND_PARAMETER_STAGE_CREATION: D3D12_META_COMMAND_PARAMETER_STAGE = D3D12_META_COMMAND_PARAMETER_STAGE(0i32);
7167 pub const D3D12_META_COMMAND_PARAMETER_STAGE_INITIALIZATION: D3D12_META_COMMAND_PARAMETER_STAGE = D3D12_META_COMMAND_PARAMETER_STAGE(1i32);
7168 pub const D3D12_META_COMMAND_PARAMETER_STAGE_EXECUTION: D3D12_META_COMMAND_PARAMETER_STAGE = D3D12_META_COMMAND_PARAMETER_STAGE(2i32);
7169 impl ::std::convert::From<i32> for D3D12_META_COMMAND_PARAMETER_STAGE {
from(value: i32) -> Self7170     fn from(value: i32) -> Self {
7171         Self(value)
7172     }
7173 }
7174 unsafe impl ::windows::runtime::Abi for D3D12_META_COMMAND_PARAMETER_STAGE {
7175     type Abi = Self;
7176     type DefaultType = Self;
7177 }
7178 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7179 #[repr(transparent)]
7180 pub struct D3D12_META_COMMAND_PARAMETER_TYPE(pub i32);
7181 pub const D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT: D3D12_META_COMMAND_PARAMETER_TYPE = D3D12_META_COMMAND_PARAMETER_TYPE(0i32);
7182 pub const D3D12_META_COMMAND_PARAMETER_TYPE_UINT64: D3D12_META_COMMAND_PARAMETER_TYPE = D3D12_META_COMMAND_PARAMETER_TYPE(1i32);
7183 pub const D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS: D3D12_META_COMMAND_PARAMETER_TYPE = D3D12_META_COMMAND_PARAMETER_TYPE(2i32);
7184 pub const D3D12_META_COMMAND_PARAMETER_TYPE_CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV: D3D12_META_COMMAND_PARAMETER_TYPE = D3D12_META_COMMAND_PARAMETER_TYPE(3i32);
7185 pub const D3D12_META_COMMAND_PARAMETER_TYPE_GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV: D3D12_META_COMMAND_PARAMETER_TYPE = D3D12_META_COMMAND_PARAMETER_TYPE(4i32);
7186 impl ::std::convert::From<i32> for D3D12_META_COMMAND_PARAMETER_TYPE {
from(value: i32) -> Self7187     fn from(value: i32) -> Self {
7188         Self(value)
7189     }
7190 }
7191 unsafe impl ::windows::runtime::Abi for D3D12_META_COMMAND_PARAMETER_TYPE {
7192     type Abi = Self;
7193     type DefaultType = Self;
7194 }
7195 pub const D3D12_MINOR_VERSION: u32 = 0u32;
7196 pub const D3D12_MIN_BORDER_COLOR_COMPONENT: f32 = 0f32;
7197 pub const D3D12_MIN_DEPTH: f32 = 0f32;
7198 pub const D3D12_MIN_FILTER_SHIFT: u32 = 4u32;
7199 pub const D3D12_MIN_MAXANISOTROPY: u32 = 0u32;
7200 pub const D3D12_MIP_FILTER_SHIFT: u32 = 0u32;
7201 pub const D3D12_MIP_LOD_BIAS_MAX: f32 = 15.99f32;
7202 pub const D3D12_MIP_LOD_BIAS_MIN: f32 = -16f32;
7203 pub const D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT: u32 = 8u32;
7204 pub const D3D12_MIP_LOD_RANGE_BIT_COUNT: u32 = 8u32;
7205 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7206 #[repr(C)]
7207 pub struct D3D12_MIP_REGION {
7208     pub Width: u32,
7209     pub Height: u32,
7210     pub Depth: u32,
7211 }
7212 impl D3D12_MIP_REGION {}
7213 impl ::std::default::Default for D3D12_MIP_REGION {
default() -> Self7214     fn default() -> Self {
7215         unsafe { ::std::mem::zeroed() }
7216     }
7217 }
7218 impl ::std::fmt::Debug for D3D12_MIP_REGION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7219     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7220         fmt.debug_struct("D3D12_MIP_REGION").field("Width", &self.Width).field("Height", &self.Height).field("Depth", &self.Depth).finish()
7221     }
7222 }
7223 impl ::std::cmp::PartialEq for D3D12_MIP_REGION {
eq(&self, other: &Self) -> bool7224     fn eq(&self, other: &Self) -> bool {
7225         self.Width == other.Width && self.Height == other.Height && self.Depth == other.Depth
7226     }
7227 }
7228 impl ::std::cmp::Eq for D3D12_MIP_REGION {}
7229 unsafe impl ::windows::runtime::Abi for D3D12_MIP_REGION {
7230     type Abi = Self;
7231     type DefaultType = Self;
7232 }
7233 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7234 #[repr(transparent)]
7235 pub struct D3D12_MULTIPLE_FENCE_WAIT_FLAGS(pub u32);
7236 pub const D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE: D3D12_MULTIPLE_FENCE_WAIT_FLAGS = D3D12_MULTIPLE_FENCE_WAIT_FLAGS(0u32);
7237 pub const D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY: D3D12_MULTIPLE_FENCE_WAIT_FLAGS = D3D12_MULTIPLE_FENCE_WAIT_FLAGS(1u32);
7238 pub const D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL: D3D12_MULTIPLE_FENCE_WAIT_FLAGS = D3D12_MULTIPLE_FENCE_WAIT_FLAGS(0u32);
7239 impl ::std::convert::From<u32> for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
from(value: u32) -> Self7240     fn from(value: u32) -> Self {
7241         Self(value)
7242     }
7243 }
7244 unsafe impl ::windows::runtime::Abi for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
7245     type Abi = Self;
7246     type DefaultType = Self;
7247 }
7248 impl ::std::ops::BitOr for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
7249     type Output = Self;
bitor(self, rhs: Self) -> Self7250     fn bitor(self, rhs: Self) -> Self {
7251         Self(self.0 | rhs.0)
7252     }
7253 }
7254 impl ::std::ops::BitAnd for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
7255     type Output = Self;
bitand(self, rhs: Self) -> Self7256     fn bitand(self, rhs: Self) -> Self {
7257         Self(self.0 & rhs.0)
7258     }
7259 }
7260 impl ::std::ops::BitOrAssign for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
bitor_assign(&mut self, rhs: Self)7261     fn bitor_assign(&mut self, rhs: Self) {
7262         self.0.bitor_assign(rhs.0)
7263     }
7264 }
7265 impl ::std::ops::BitAndAssign for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
bitand_assign(&mut self, rhs: Self)7266     fn bitand_assign(&mut self, rhs: Self) {
7267         self.0.bitand_assign(rhs.0)
7268     }
7269 }
7270 impl ::std::ops::Not for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
7271     type Output = Self;
not(self) -> Self7272     fn not(self) -> Self {
7273         Self(self.0.not())
7274     }
7275 }
7276 pub const D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH: f32 = 1.4f32;
7277 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7278 #[repr(transparent)]
7279 pub struct D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS(pub u32);
7280 pub const D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE: D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS = D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS(0u32);
7281 pub const D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE: D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS = D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS(1u32);
7282 impl ::std::convert::From<u32> for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
from(value: u32) -> Self7283     fn from(value: u32) -> Self {
7284         Self(value)
7285     }
7286 }
7287 unsafe impl ::windows::runtime::Abi for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
7288     type Abi = Self;
7289     type DefaultType = Self;
7290 }
7291 impl ::std::ops::BitOr for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
7292     type Output = Self;
bitor(self, rhs: Self) -> Self7293     fn bitor(self, rhs: Self) -> Self {
7294         Self(self.0 | rhs.0)
7295     }
7296 }
7297 impl ::std::ops::BitAnd for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
7298     type Output = Self;
bitand(self, rhs: Self) -> Self7299     fn bitand(self, rhs: Self) -> Self {
7300         Self(self.0 & rhs.0)
7301     }
7302 }
7303 impl ::std::ops::BitOrAssign for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
bitor_assign(&mut self, rhs: Self)7304     fn bitor_assign(&mut self, rhs: Self) {
7305         self.0.bitor_assign(rhs.0)
7306     }
7307 }
7308 impl ::std::ops::BitAndAssign for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
bitand_assign(&mut self, rhs: Self)7309     fn bitand_assign(&mut self, rhs: Self) {
7310         self.0.bitand_assign(rhs.0)
7311     }
7312 }
7313 impl ::std::ops::Not for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
7314     type Output = Self;
not(self) -> Self7315     fn not(self) -> Self {
7316         Self(self.0.not())
7317     }
7318 }
7319 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7320 #[repr(C)]
7321 pub struct D3D12_NODE_MASK {
7322     pub NodeMask: u32,
7323 }
7324 impl D3D12_NODE_MASK {}
7325 impl ::std::default::Default for D3D12_NODE_MASK {
default() -> Self7326     fn default() -> Self {
7327         unsafe { ::std::mem::zeroed() }
7328     }
7329 }
7330 impl ::std::fmt::Debug for D3D12_NODE_MASK {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7331     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7332         fmt.debug_struct("D3D12_NODE_MASK").field("NodeMask", &self.NodeMask).finish()
7333     }
7334 }
7335 impl ::std::cmp::PartialEq for D3D12_NODE_MASK {
eq(&self, other: &Self) -> bool7336     fn eq(&self, other: &Self) -> bool {
7337         self.NodeMask == other.NodeMask
7338     }
7339 }
7340 impl ::std::cmp::Eq for D3D12_NODE_MASK {}
7341 unsafe impl ::windows::runtime::Abi for D3D12_NODE_MASK {
7342     type Abi = Self;
7343     type DefaultType = Self;
7344 }
7345 pub const D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT: u32 = 0u32;
7346 pub const D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END: u32 = 4294967295u32;
7347 pub const D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START: u32 = 4294967288u32;
7348 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7349 #[repr(C)]
7350 pub struct D3D12_PACKED_MIP_INFO {
7351     pub NumStandardMips: u8,
7352     pub NumPackedMips: u8,
7353     pub NumTilesForPackedMips: u32,
7354     pub StartTileIndexInOverallResource: u32,
7355 }
7356 impl D3D12_PACKED_MIP_INFO {}
7357 impl ::std::default::Default for D3D12_PACKED_MIP_INFO {
default() -> Self7358     fn default() -> Self {
7359         unsafe { ::std::mem::zeroed() }
7360     }
7361 }
7362 impl ::std::fmt::Debug for D3D12_PACKED_MIP_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7363     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7364         fmt.debug_struct("D3D12_PACKED_MIP_INFO").field("NumStandardMips", &self.NumStandardMips).field("NumPackedMips", &self.NumPackedMips).field("NumTilesForPackedMips", &self.NumTilesForPackedMips).field("StartTileIndexInOverallResource", &self.StartTileIndexInOverallResource).finish()
7365     }
7366 }
7367 impl ::std::cmp::PartialEq for D3D12_PACKED_MIP_INFO {
eq(&self, other: &Self) -> bool7368     fn eq(&self, other: &Self) -> bool {
7369         self.NumStandardMips == other.NumStandardMips && self.NumPackedMips == other.NumPackedMips && self.NumTilesForPackedMips == other.NumTilesForPackedMips && self.StartTileIndexInOverallResource == other.StartTileIndexInOverallResource
7370     }
7371 }
7372 impl ::std::cmp::Eq for D3D12_PACKED_MIP_INFO {}
7373 unsafe impl ::windows::runtime::Abi for D3D12_PACKED_MIP_INFO {
7374     type Abi = Self;
7375     type DefaultType = Self;
7376 }
7377 pub const D3D12_PACKED_TILE: u32 = 4294967295u32;
7378 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7379 #[repr(C)]
7380 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
7381 pub struct D3D12_PARAMETER_DESC {
7382     pub Name: super::super::Foundation::PSTR,
7383     pub SemanticName: super::super::Foundation::PSTR,
7384     pub Type: super::Direct3D11::D3D_SHADER_VARIABLE_TYPE,
7385     pub Class: super::Direct3D11::D3D_SHADER_VARIABLE_CLASS,
7386     pub Rows: u32,
7387     pub Columns: u32,
7388     pub InterpolationMode: super::Direct3D11::D3D_INTERPOLATION_MODE,
7389     pub Flags: super::Direct3D11::D3D_PARAMETER_FLAGS,
7390     pub FirstInRegister: u32,
7391     pub FirstInComponent: u32,
7392     pub FirstOutRegister: u32,
7393     pub FirstOutComponent: u32,
7394 }
7395 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
7396 impl D3D12_PARAMETER_DESC {}
7397 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
7398 impl ::std::default::Default for D3D12_PARAMETER_DESC {
default() -> Self7399     fn default() -> Self {
7400         unsafe { ::std::mem::zeroed() }
7401     }
7402 }
7403 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
7404 impl ::std::fmt::Debug for D3D12_PARAMETER_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7405     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7406         fmt.debug_struct("D3D12_PARAMETER_DESC")
7407             .field("Name", &self.Name)
7408             .field("SemanticName", &self.SemanticName)
7409             .field("Type", &self.Type)
7410             .field("Class", &self.Class)
7411             .field("Rows", &self.Rows)
7412             .field("Columns", &self.Columns)
7413             .field("InterpolationMode", &self.InterpolationMode)
7414             .field("Flags", &self.Flags)
7415             .field("FirstInRegister", &self.FirstInRegister)
7416             .field("FirstInComponent", &self.FirstInComponent)
7417             .field("FirstOutRegister", &self.FirstOutRegister)
7418             .field("FirstOutComponent", &self.FirstOutComponent)
7419             .finish()
7420     }
7421 }
7422 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
7423 impl ::std::cmp::PartialEq for D3D12_PARAMETER_DESC {
eq(&self, other: &Self) -> bool7424     fn eq(&self, other: &Self) -> bool {
7425         self.Name == other.Name && self.SemanticName == other.SemanticName && self.Type == other.Type && self.Class == other.Class && self.Rows == other.Rows && self.Columns == other.Columns && self.InterpolationMode == other.InterpolationMode && self.Flags == other.Flags && self.FirstInRegister == other.FirstInRegister && self.FirstInComponent == other.FirstInComponent && self.FirstOutRegister == other.FirstOutRegister && self.FirstOutComponent == other.FirstOutComponent
7426     }
7427 }
7428 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
7429 impl ::std::cmp::Eq for D3D12_PARAMETER_DESC {}
7430 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
7431 unsafe impl ::windows::runtime::Abi for D3D12_PARAMETER_DESC {
7432     type Abi = Self;
7433     type DefaultType = Self;
7434 }
7435 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7436 #[repr(transparent)]
7437 pub struct D3D12_PIPELINE_STATE_FLAGS(pub u32);
7438 pub const D3D12_PIPELINE_STATE_FLAG_NONE: D3D12_PIPELINE_STATE_FLAGS = D3D12_PIPELINE_STATE_FLAGS(0u32);
7439 pub const D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG: D3D12_PIPELINE_STATE_FLAGS = D3D12_PIPELINE_STATE_FLAGS(1u32);
7440 impl ::std::convert::From<u32> for D3D12_PIPELINE_STATE_FLAGS {
from(value: u32) -> Self7441     fn from(value: u32) -> Self {
7442         Self(value)
7443     }
7444 }
7445 unsafe impl ::windows::runtime::Abi for D3D12_PIPELINE_STATE_FLAGS {
7446     type Abi = Self;
7447     type DefaultType = Self;
7448 }
7449 impl ::std::ops::BitOr for D3D12_PIPELINE_STATE_FLAGS {
7450     type Output = Self;
bitor(self, rhs: Self) -> Self7451     fn bitor(self, rhs: Self) -> Self {
7452         Self(self.0 | rhs.0)
7453     }
7454 }
7455 impl ::std::ops::BitAnd for D3D12_PIPELINE_STATE_FLAGS {
7456     type Output = Self;
bitand(self, rhs: Self) -> Self7457     fn bitand(self, rhs: Self) -> Self {
7458         Self(self.0 & rhs.0)
7459     }
7460 }
7461 impl ::std::ops::BitOrAssign for D3D12_PIPELINE_STATE_FLAGS {
bitor_assign(&mut self, rhs: Self)7462     fn bitor_assign(&mut self, rhs: Self) {
7463         self.0.bitor_assign(rhs.0)
7464     }
7465 }
7466 impl ::std::ops::BitAndAssign for D3D12_PIPELINE_STATE_FLAGS {
bitand_assign(&mut self, rhs: Self)7467     fn bitand_assign(&mut self, rhs: Self) {
7468         self.0.bitand_assign(rhs.0)
7469     }
7470 }
7471 impl ::std::ops::Not for D3D12_PIPELINE_STATE_FLAGS {
7472     type Output = Self;
not(self) -> Self7473     fn not(self) -> Self {
7474         Self(self.0.not())
7475     }
7476 }
7477 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7478 #[repr(C)]
7479 pub struct D3D12_PIPELINE_STATE_STREAM_DESC {
7480     pub SizeInBytes: usize,
7481     pub pPipelineStateSubobjectStream: *mut ::std::ffi::c_void,
7482 }
7483 impl D3D12_PIPELINE_STATE_STREAM_DESC {}
7484 impl ::std::default::Default for D3D12_PIPELINE_STATE_STREAM_DESC {
default() -> Self7485     fn default() -> Self {
7486         unsafe { ::std::mem::zeroed() }
7487     }
7488 }
7489 impl ::std::fmt::Debug for D3D12_PIPELINE_STATE_STREAM_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7490     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7491         fmt.debug_struct("D3D12_PIPELINE_STATE_STREAM_DESC").field("SizeInBytes", &self.SizeInBytes).field("pPipelineStateSubobjectStream", &self.pPipelineStateSubobjectStream).finish()
7492     }
7493 }
7494 impl ::std::cmp::PartialEq for D3D12_PIPELINE_STATE_STREAM_DESC {
eq(&self, other: &Self) -> bool7495     fn eq(&self, other: &Self) -> bool {
7496         self.SizeInBytes == other.SizeInBytes && self.pPipelineStateSubobjectStream == other.pPipelineStateSubobjectStream
7497     }
7498 }
7499 impl ::std::cmp::Eq for D3D12_PIPELINE_STATE_STREAM_DESC {}
7500 unsafe impl ::windows::runtime::Abi for D3D12_PIPELINE_STATE_STREAM_DESC {
7501     type Abi = Self;
7502     type DefaultType = Self;
7503 }
7504 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7505 #[repr(transparent)]
7506 pub struct D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(pub i32);
7507 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(0i32);
7508 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(1i32);
7509 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(2i32);
7510 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(3i32);
7511 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(4i32);
7512 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(5i32);
7513 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(6i32);
7514 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(7i32);
7515 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(8i32);
7516 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(9i32);
7517 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(10i32);
7518 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(11i32);
7519 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(12i32);
7520 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(13i32);
7521 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(14i32);
7522 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(15i32);
7523 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(16i32);
7524 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(17i32);
7525 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(18i32);
7526 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(19i32);
7527 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(20i32);
7528 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(21i32);
7529 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(22i32);
7530 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(24i32);
7531 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(25i32);
7532 pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(26i32);
7533 impl ::std::convert::From<i32> for D3D12_PIPELINE_STATE_SUBOBJECT_TYPE {
from(value: i32) -> Self7534     fn from(value: i32) -> Self {
7535         Self(value)
7536     }
7537 }
7538 unsafe impl ::windows::runtime::Abi for D3D12_PIPELINE_STATE_SUBOBJECT_TYPE {
7539     type Abi = Self;
7540     type DefaultType = Self;
7541 }
7542 pub const D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT: u32 = 15u32;
7543 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7544 #[repr(C)]
7545 #[cfg(feature = "Win32_Graphics_Dxgi")]
7546 pub struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT {
7547     pub Offset: u64,
7548     pub Footprint: D3D12_SUBRESOURCE_FOOTPRINT,
7549 }
7550 #[cfg(feature = "Win32_Graphics_Dxgi")]
7551 impl D3D12_PLACED_SUBRESOURCE_FOOTPRINT {}
7552 #[cfg(feature = "Win32_Graphics_Dxgi")]
7553 impl ::std::default::Default for D3D12_PLACED_SUBRESOURCE_FOOTPRINT {
default() -> Self7554     fn default() -> Self {
7555         unsafe { ::std::mem::zeroed() }
7556     }
7557 }
7558 #[cfg(feature = "Win32_Graphics_Dxgi")]
7559 impl ::std::fmt::Debug for D3D12_PLACED_SUBRESOURCE_FOOTPRINT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7560     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7561         fmt.debug_struct("D3D12_PLACED_SUBRESOURCE_FOOTPRINT").field("Offset", &self.Offset).field("Footprint", &self.Footprint).finish()
7562     }
7563 }
7564 #[cfg(feature = "Win32_Graphics_Dxgi")]
7565 impl ::std::cmp::PartialEq for D3D12_PLACED_SUBRESOURCE_FOOTPRINT {
eq(&self, other: &Self) -> bool7566     fn eq(&self, other: &Self) -> bool {
7567         self.Offset == other.Offset && self.Footprint == other.Footprint
7568     }
7569 }
7570 #[cfg(feature = "Win32_Graphics_Dxgi")]
7571 impl ::std::cmp::Eq for D3D12_PLACED_SUBRESOURCE_FOOTPRINT {}
7572 #[cfg(feature = "Win32_Graphics_Dxgi")]
7573 unsafe impl ::windows::runtime::Abi for D3D12_PLACED_SUBRESOURCE_FOOTPRINT {
7574     type Abi = Self;
7575     type DefaultType = Self;
7576 }
7577 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7578 #[repr(transparent)]
7579 pub struct D3D12_PREDICATION_OP(pub i32);
7580 pub const D3D12_PREDICATION_OP_EQUAL_ZERO: D3D12_PREDICATION_OP = D3D12_PREDICATION_OP(0i32);
7581 pub const D3D12_PREDICATION_OP_NOT_EQUAL_ZERO: D3D12_PREDICATION_OP = D3D12_PREDICATION_OP(1i32);
7582 impl ::std::convert::From<i32> for D3D12_PREDICATION_OP {
from(value: i32) -> Self7583     fn from(value: i32) -> Self {
7584         Self(value)
7585     }
7586 }
7587 unsafe impl ::windows::runtime::Abi for D3D12_PREDICATION_OP {
7588     type Abi = Self;
7589     type DefaultType = Self;
7590 }
7591 pub const D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT: u32 = 16u32;
7592 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7593 #[repr(transparent)]
7594 pub struct D3D12_PRIMITIVE_TOPOLOGY_TYPE(pub i32);
7595 pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED: D3D12_PRIMITIVE_TOPOLOGY_TYPE = D3D12_PRIMITIVE_TOPOLOGY_TYPE(0i32);
7596 pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT: D3D12_PRIMITIVE_TOPOLOGY_TYPE = D3D12_PRIMITIVE_TOPOLOGY_TYPE(1i32);
7597 pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE: D3D12_PRIMITIVE_TOPOLOGY_TYPE = D3D12_PRIMITIVE_TOPOLOGY_TYPE(2i32);
7598 pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE: D3D12_PRIMITIVE_TOPOLOGY_TYPE = D3D12_PRIMITIVE_TOPOLOGY_TYPE(3i32);
7599 pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH: D3D12_PRIMITIVE_TOPOLOGY_TYPE = D3D12_PRIMITIVE_TOPOLOGY_TYPE(4i32);
7600 impl ::std::convert::From<i32> for D3D12_PRIMITIVE_TOPOLOGY_TYPE {
from(value: i32) -> Self7601     fn from(value: i32) -> Self {
7602         Self(value)
7603     }
7604 }
7605 unsafe impl ::windows::runtime::Abi for D3D12_PRIMITIVE_TOPOLOGY_TYPE {
7606     type Abi = Self;
7607     type DefaultType = Self;
7608 }
7609 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7610 #[repr(transparent)]
7611 pub struct D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER(pub i32);
7612 pub const D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED: D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER = D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER(0i32);
7613 pub const D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1: D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER = D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER(1i32);
7614 pub const D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2: D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER = D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER(2i32);
7615 impl ::std::convert::From<i32> for D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER {
from(value: i32) -> Self7616     fn from(value: i32) -> Self {
7617         Self(value)
7618     }
7619 }
7620 unsafe impl ::windows::runtime::Abi for D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER {
7621     type Abi = Self;
7622     type DefaultType = Self;
7623 }
7624 pub const D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1655703630, 50958, 19882, [161, 9, 48, 255, 141, 90, 4, 130]);
7625 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7626 #[repr(C)]
7627 pub struct D3D12_PROTECTED_RESOURCE_SESSION_DESC {
7628     pub NodeMask: u32,
7629     pub Flags: D3D12_PROTECTED_RESOURCE_SESSION_FLAGS,
7630 }
7631 impl D3D12_PROTECTED_RESOURCE_SESSION_DESC {}
7632 impl ::std::default::Default for D3D12_PROTECTED_RESOURCE_SESSION_DESC {
default() -> Self7633     fn default() -> Self {
7634         unsafe { ::std::mem::zeroed() }
7635     }
7636 }
7637 impl ::std::fmt::Debug for D3D12_PROTECTED_RESOURCE_SESSION_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7638     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7639         fmt.debug_struct("D3D12_PROTECTED_RESOURCE_SESSION_DESC").field("NodeMask", &self.NodeMask).field("Flags", &self.Flags).finish()
7640     }
7641 }
7642 impl ::std::cmp::PartialEq for D3D12_PROTECTED_RESOURCE_SESSION_DESC {
eq(&self, other: &Self) -> bool7643     fn eq(&self, other: &Self) -> bool {
7644         self.NodeMask == other.NodeMask && self.Flags == other.Flags
7645     }
7646 }
7647 impl ::std::cmp::Eq for D3D12_PROTECTED_RESOURCE_SESSION_DESC {}
7648 unsafe impl ::windows::runtime::Abi for D3D12_PROTECTED_RESOURCE_SESSION_DESC {
7649     type Abi = Self;
7650     type DefaultType = Self;
7651 }
7652 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7653 #[repr(C)]
7654 pub struct D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {
7655     pub NodeMask: u32,
7656     pub Flags: D3D12_PROTECTED_RESOURCE_SESSION_FLAGS,
7657     pub ProtectionType: ::windows::runtime::GUID,
7658 }
7659 impl D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {}
7660 impl ::std::default::Default for D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {
default() -> Self7661     fn default() -> Self {
7662         unsafe { ::std::mem::zeroed() }
7663     }
7664 }
7665 impl ::std::fmt::Debug for D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7666     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7667         fmt.debug_struct("D3D12_PROTECTED_RESOURCE_SESSION_DESC1").field("NodeMask", &self.NodeMask).field("Flags", &self.Flags).field("ProtectionType", &self.ProtectionType).finish()
7668     }
7669 }
7670 impl ::std::cmp::PartialEq for D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {
eq(&self, other: &Self) -> bool7671     fn eq(&self, other: &Self) -> bool {
7672         self.NodeMask == other.NodeMask && self.Flags == other.Flags && self.ProtectionType == other.ProtectionType
7673     }
7674 }
7675 impl ::std::cmp::Eq for D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {}
7676 unsafe impl ::windows::runtime::Abi for D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {
7677     type Abi = Self;
7678     type DefaultType = Self;
7679 }
7680 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7681 #[repr(transparent)]
7682 pub struct D3D12_PROTECTED_RESOURCE_SESSION_FLAGS(pub u32);
7683 pub const D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE: D3D12_PROTECTED_RESOURCE_SESSION_FLAGS = D3D12_PROTECTED_RESOURCE_SESSION_FLAGS(0u32);
7684 impl ::std::convert::From<u32> for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
from(value: u32) -> Self7685     fn from(value: u32) -> Self {
7686         Self(value)
7687     }
7688 }
7689 unsafe impl ::windows::runtime::Abi for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
7690     type Abi = Self;
7691     type DefaultType = Self;
7692 }
7693 impl ::std::ops::BitOr for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
7694     type Output = Self;
bitor(self, rhs: Self) -> Self7695     fn bitor(self, rhs: Self) -> Self {
7696         Self(self.0 | rhs.0)
7697     }
7698 }
7699 impl ::std::ops::BitAnd for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
7700     type Output = Self;
bitand(self, rhs: Self) -> Self7701     fn bitand(self, rhs: Self) -> Self {
7702         Self(self.0 & rhs.0)
7703     }
7704 }
7705 impl ::std::ops::BitOrAssign for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
bitor_assign(&mut self, rhs: Self)7706     fn bitor_assign(&mut self, rhs: Self) {
7707         self.0.bitor_assign(rhs.0)
7708     }
7709 }
7710 impl ::std::ops::BitAndAssign for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
bitand_assign(&mut self, rhs: Self)7711     fn bitand_assign(&mut self, rhs: Self) {
7712         self.0.bitand_assign(rhs.0)
7713     }
7714 }
7715 impl ::std::ops::Not for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
7716     type Output = Self;
not(self) -> Self7717     fn not(self) -> Self {
7718         Self(self.0.not())
7719     }
7720 }
7721 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7722 #[repr(transparent)]
7723 pub struct D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS(pub u32);
7724 pub const D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE: D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS = D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS(0u32);
7725 pub const D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_SUPPORTED: D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS = D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS(1u32);
7726 impl ::std::convert::From<u32> for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
from(value: u32) -> Self7727     fn from(value: u32) -> Self {
7728         Self(value)
7729     }
7730 }
7731 unsafe impl ::windows::runtime::Abi for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
7732     type Abi = Self;
7733     type DefaultType = Self;
7734 }
7735 impl ::std::ops::BitOr for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
7736     type Output = Self;
bitor(self, rhs: Self) -> Self7737     fn bitor(self, rhs: Self) -> Self {
7738         Self(self.0 | rhs.0)
7739     }
7740 }
7741 impl ::std::ops::BitAnd for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
7742     type Output = Self;
bitand(self, rhs: Self) -> Self7743     fn bitand(self, rhs: Self) -> Self {
7744         Self(self.0 & rhs.0)
7745     }
7746 }
7747 impl ::std::ops::BitOrAssign for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
bitor_assign(&mut self, rhs: Self)7748     fn bitor_assign(&mut self, rhs: Self) {
7749         self.0.bitor_assign(rhs.0)
7750     }
7751 }
7752 impl ::std::ops::BitAndAssign for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
bitand_assign(&mut self, rhs: Self)7753     fn bitand_assign(&mut self, rhs: Self) {
7754         self.0.bitand_assign(rhs.0)
7755     }
7756 }
7757 impl ::std::ops::Not for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
7758     type Output = Self;
not(self) -> Self7759     fn not(self) -> Self {
7760         Self(self.0.not())
7761     }
7762 }
7763 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7764 #[repr(transparent)]
7765 pub struct D3D12_PROTECTED_SESSION_STATUS(pub i32);
7766 pub const D3D12_PROTECTED_SESSION_STATUS_OK: D3D12_PROTECTED_SESSION_STATUS = D3D12_PROTECTED_SESSION_STATUS(0i32);
7767 pub const D3D12_PROTECTED_SESSION_STATUS_INVALID: D3D12_PROTECTED_SESSION_STATUS = D3D12_PROTECTED_SESSION_STATUS(1i32);
7768 impl ::std::convert::From<i32> for D3D12_PROTECTED_SESSION_STATUS {
from(value: i32) -> Self7769     fn from(value: i32) -> Self {
7770         Self(value)
7771     }
7772 }
7773 unsafe impl ::windows::runtime::Abi for D3D12_PROTECTED_SESSION_STATUS {
7774     type Abi = Self;
7775     type DefaultType = Self;
7776 }
7777 pub const D3D12_PS_CS_UAV_REGISTER_COMPONENTS: u32 = 1u32;
7778 pub const D3D12_PS_CS_UAV_REGISTER_COUNT: u32 = 8u32;
7779 pub const D3D12_PS_CS_UAV_REGISTER_READS_PER_INST: u32 = 1u32;
7780 pub const D3D12_PS_CS_UAV_REGISTER_READ_PORTS: u32 = 1u32;
7781 pub const D3D12_PS_FRONTFACING_DEFAULT_VALUE: u32 = 4294967295u32;
7782 pub const D3D12_PS_FRONTFACING_FALSE_VALUE: u32 = 0u32;
7783 pub const D3D12_PS_FRONTFACING_TRUE_VALUE: u32 = 4294967295u32;
7784 pub const D3D12_PS_INPUT_REGISTER_COMPONENTS: u32 = 4u32;
7785 pub const D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
7786 pub const D3D12_PS_INPUT_REGISTER_COUNT: u32 = 32u32;
7787 pub const D3D12_PS_INPUT_REGISTER_READS_PER_INST: u32 = 2u32;
7788 pub const D3D12_PS_INPUT_REGISTER_READ_PORTS: u32 = 1u32;
7789 pub const D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT: f32 = 0f32;
7790 pub const D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS: u32 = 1u32;
7791 pub const D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
7792 pub const D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT: u32 = 1u32;
7793 pub const D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS: u32 = 1u32;
7794 pub const D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
7795 pub const D3D12_PS_OUTPUT_MASK_REGISTER_COUNT: u32 = 1u32;
7796 pub const D3D12_PS_OUTPUT_REGISTER_COMPONENTS: u32 = 4u32;
7797 pub const D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
7798 pub const D3D12_PS_OUTPUT_REGISTER_COUNT: u32 = 8u32;
7799 pub const D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT: f32 = 0.5f32;
7800 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7801 #[repr(C)]
7802 pub struct D3D12_QUERY_DATA_PIPELINE_STATISTICS {
7803     pub IAVertices: u64,
7804     pub IAPrimitives: u64,
7805     pub VSInvocations: u64,
7806     pub GSInvocations: u64,
7807     pub GSPrimitives: u64,
7808     pub CInvocations: u64,
7809     pub CPrimitives: u64,
7810     pub PSInvocations: u64,
7811     pub HSInvocations: u64,
7812     pub DSInvocations: u64,
7813     pub CSInvocations: u64,
7814 }
7815 impl D3D12_QUERY_DATA_PIPELINE_STATISTICS {}
7816 impl ::std::default::Default for D3D12_QUERY_DATA_PIPELINE_STATISTICS {
default() -> Self7817     fn default() -> Self {
7818         unsafe { ::std::mem::zeroed() }
7819     }
7820 }
7821 impl ::std::fmt::Debug for D3D12_QUERY_DATA_PIPELINE_STATISTICS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7822     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7823         fmt.debug_struct("D3D12_QUERY_DATA_PIPELINE_STATISTICS")
7824             .field("IAVertices", &self.IAVertices)
7825             .field("IAPrimitives", &self.IAPrimitives)
7826             .field("VSInvocations", &self.VSInvocations)
7827             .field("GSInvocations", &self.GSInvocations)
7828             .field("GSPrimitives", &self.GSPrimitives)
7829             .field("CInvocations", &self.CInvocations)
7830             .field("CPrimitives", &self.CPrimitives)
7831             .field("PSInvocations", &self.PSInvocations)
7832             .field("HSInvocations", &self.HSInvocations)
7833             .field("DSInvocations", &self.DSInvocations)
7834             .field("CSInvocations", &self.CSInvocations)
7835             .finish()
7836     }
7837 }
7838 impl ::std::cmp::PartialEq for D3D12_QUERY_DATA_PIPELINE_STATISTICS {
eq(&self, other: &Self) -> bool7839     fn eq(&self, other: &Self) -> bool {
7840         self.IAVertices == other.IAVertices && self.IAPrimitives == other.IAPrimitives && self.VSInvocations == other.VSInvocations && self.GSInvocations == other.GSInvocations && self.GSPrimitives == other.GSPrimitives && self.CInvocations == other.CInvocations && self.CPrimitives == other.CPrimitives && self.PSInvocations == other.PSInvocations && self.HSInvocations == other.HSInvocations && self.DSInvocations == other.DSInvocations && self.CSInvocations == other.CSInvocations
7841     }
7842 }
7843 impl ::std::cmp::Eq for D3D12_QUERY_DATA_PIPELINE_STATISTICS {}
7844 unsafe impl ::windows::runtime::Abi for D3D12_QUERY_DATA_PIPELINE_STATISTICS {
7845     type Abi = Self;
7846     type DefaultType = Self;
7847 }
7848 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7849 #[repr(C)]
7850 pub struct D3D12_QUERY_DATA_PIPELINE_STATISTICS1 {
7851     pub IAVertices: u64,
7852     pub IAPrimitives: u64,
7853     pub VSInvocations: u64,
7854     pub GSInvocations: u64,
7855     pub GSPrimitives: u64,
7856     pub CInvocations: u64,
7857     pub CPrimitives: u64,
7858     pub PSInvocations: u64,
7859     pub HSInvocations: u64,
7860     pub DSInvocations: u64,
7861     pub CSInvocations: u64,
7862     pub ASInvocations: u64,
7863     pub MSInvocations: u64,
7864     pub MSPrimitives: u64,
7865 }
7866 impl D3D12_QUERY_DATA_PIPELINE_STATISTICS1 {}
7867 impl ::std::default::Default for D3D12_QUERY_DATA_PIPELINE_STATISTICS1 {
default() -> Self7868     fn default() -> Self {
7869         unsafe { ::std::mem::zeroed() }
7870     }
7871 }
7872 impl ::std::fmt::Debug for D3D12_QUERY_DATA_PIPELINE_STATISTICS1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7873     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7874         fmt.debug_struct("D3D12_QUERY_DATA_PIPELINE_STATISTICS1")
7875             .field("IAVertices", &self.IAVertices)
7876             .field("IAPrimitives", &self.IAPrimitives)
7877             .field("VSInvocations", &self.VSInvocations)
7878             .field("GSInvocations", &self.GSInvocations)
7879             .field("GSPrimitives", &self.GSPrimitives)
7880             .field("CInvocations", &self.CInvocations)
7881             .field("CPrimitives", &self.CPrimitives)
7882             .field("PSInvocations", &self.PSInvocations)
7883             .field("HSInvocations", &self.HSInvocations)
7884             .field("DSInvocations", &self.DSInvocations)
7885             .field("CSInvocations", &self.CSInvocations)
7886             .field("ASInvocations", &self.ASInvocations)
7887             .field("MSInvocations", &self.MSInvocations)
7888             .field("MSPrimitives", &self.MSPrimitives)
7889             .finish()
7890     }
7891 }
7892 impl ::std::cmp::PartialEq for D3D12_QUERY_DATA_PIPELINE_STATISTICS1 {
eq(&self, other: &Self) -> bool7893     fn eq(&self, other: &Self) -> bool {
7894         self.IAVertices == other.IAVertices
7895             && self.IAPrimitives == other.IAPrimitives
7896             && self.VSInvocations == other.VSInvocations
7897             && self.GSInvocations == other.GSInvocations
7898             && self.GSPrimitives == other.GSPrimitives
7899             && self.CInvocations == other.CInvocations
7900             && self.CPrimitives == other.CPrimitives
7901             && self.PSInvocations == other.PSInvocations
7902             && self.HSInvocations == other.HSInvocations
7903             && self.DSInvocations == other.DSInvocations
7904             && self.CSInvocations == other.CSInvocations
7905             && self.ASInvocations == other.ASInvocations
7906             && self.MSInvocations == other.MSInvocations
7907             && self.MSPrimitives == other.MSPrimitives
7908     }
7909 }
7910 impl ::std::cmp::Eq for D3D12_QUERY_DATA_PIPELINE_STATISTICS1 {}
7911 unsafe impl ::windows::runtime::Abi for D3D12_QUERY_DATA_PIPELINE_STATISTICS1 {
7912     type Abi = Self;
7913     type DefaultType = Self;
7914 }
7915 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7916 #[repr(C)]
7917 pub struct D3D12_QUERY_DATA_SO_STATISTICS {
7918     pub NumPrimitivesWritten: u64,
7919     pub PrimitivesStorageNeeded: u64,
7920 }
7921 impl D3D12_QUERY_DATA_SO_STATISTICS {}
7922 impl ::std::default::Default for D3D12_QUERY_DATA_SO_STATISTICS {
default() -> Self7923     fn default() -> Self {
7924         unsafe { ::std::mem::zeroed() }
7925     }
7926 }
7927 impl ::std::fmt::Debug for D3D12_QUERY_DATA_SO_STATISTICS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7928     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7929         fmt.debug_struct("D3D12_QUERY_DATA_SO_STATISTICS").field("NumPrimitivesWritten", &self.NumPrimitivesWritten).field("PrimitivesStorageNeeded", &self.PrimitivesStorageNeeded).finish()
7930     }
7931 }
7932 impl ::std::cmp::PartialEq for D3D12_QUERY_DATA_SO_STATISTICS {
eq(&self, other: &Self) -> bool7933     fn eq(&self, other: &Self) -> bool {
7934         self.NumPrimitivesWritten == other.NumPrimitivesWritten && self.PrimitivesStorageNeeded == other.PrimitivesStorageNeeded
7935     }
7936 }
7937 impl ::std::cmp::Eq for D3D12_QUERY_DATA_SO_STATISTICS {}
7938 unsafe impl ::windows::runtime::Abi for D3D12_QUERY_DATA_SO_STATISTICS {
7939     type Abi = Self;
7940     type DefaultType = Self;
7941 }
7942 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
7943 #[repr(C)]
7944 pub struct D3D12_QUERY_HEAP_DESC {
7945     pub Type: D3D12_QUERY_HEAP_TYPE,
7946     pub Count: u32,
7947     pub NodeMask: u32,
7948 }
7949 impl D3D12_QUERY_HEAP_DESC {}
7950 impl ::std::default::Default for D3D12_QUERY_HEAP_DESC {
default() -> Self7951     fn default() -> Self {
7952         unsafe { ::std::mem::zeroed() }
7953     }
7954 }
7955 impl ::std::fmt::Debug for D3D12_QUERY_HEAP_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result7956     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7957         fmt.debug_struct("D3D12_QUERY_HEAP_DESC").field("Type", &self.Type).field("Count", &self.Count).field("NodeMask", &self.NodeMask).finish()
7958     }
7959 }
7960 impl ::std::cmp::PartialEq for D3D12_QUERY_HEAP_DESC {
eq(&self, other: &Self) -> bool7961     fn eq(&self, other: &Self) -> bool {
7962         self.Type == other.Type && self.Count == other.Count && self.NodeMask == other.NodeMask
7963     }
7964 }
7965 impl ::std::cmp::Eq for D3D12_QUERY_HEAP_DESC {}
7966 unsafe impl ::windows::runtime::Abi for D3D12_QUERY_HEAP_DESC {
7967     type Abi = Self;
7968     type DefaultType = Self;
7969 }
7970 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7971 #[repr(transparent)]
7972 pub struct D3D12_QUERY_HEAP_TYPE(pub i32);
7973 pub const D3D12_QUERY_HEAP_TYPE_OCCLUSION: D3D12_QUERY_HEAP_TYPE = D3D12_QUERY_HEAP_TYPE(0i32);
7974 pub const D3D12_QUERY_HEAP_TYPE_TIMESTAMP: D3D12_QUERY_HEAP_TYPE = D3D12_QUERY_HEAP_TYPE(1i32);
7975 pub const D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS: D3D12_QUERY_HEAP_TYPE = D3D12_QUERY_HEAP_TYPE(2i32);
7976 pub const D3D12_QUERY_HEAP_TYPE_SO_STATISTICS: D3D12_QUERY_HEAP_TYPE = D3D12_QUERY_HEAP_TYPE(3i32);
7977 pub const D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS: D3D12_QUERY_HEAP_TYPE = D3D12_QUERY_HEAP_TYPE(4i32);
7978 pub const D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP: D3D12_QUERY_HEAP_TYPE = D3D12_QUERY_HEAP_TYPE(5i32);
7979 pub const D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS1: D3D12_QUERY_HEAP_TYPE = D3D12_QUERY_HEAP_TYPE(7i32);
7980 impl ::std::convert::From<i32> for D3D12_QUERY_HEAP_TYPE {
from(value: i32) -> Self7981     fn from(value: i32) -> Self {
7982         Self(value)
7983     }
7984 }
7985 unsafe impl ::windows::runtime::Abi for D3D12_QUERY_HEAP_TYPE {
7986     type Abi = Self;
7987     type DefaultType = Self;
7988 }
7989 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7990 #[repr(transparent)]
7991 pub struct D3D12_QUERY_TYPE(pub i32);
7992 pub const D3D12_QUERY_TYPE_OCCLUSION: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(0i32);
7993 pub const D3D12_QUERY_TYPE_BINARY_OCCLUSION: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(1i32);
7994 pub const D3D12_QUERY_TYPE_TIMESTAMP: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(2i32);
7995 pub const D3D12_QUERY_TYPE_PIPELINE_STATISTICS: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(3i32);
7996 pub const D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(4i32);
7997 pub const D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(5i32);
7998 pub const D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(6i32);
7999 pub const D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(7i32);
8000 pub const D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(8i32);
8001 pub const D3D12_QUERY_TYPE_PIPELINE_STATISTICS1: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(10i32);
8002 impl ::std::convert::From<i32> for D3D12_QUERY_TYPE {
from(value: i32) -> Self8003     fn from(value: i32) -> Self {
8004         Self(value)
8005     }
8006 }
8007 unsafe impl ::windows::runtime::Abi for D3D12_QUERY_TYPE {
8008     type Abi = Self;
8009     type DefaultType = Self;
8010 }
8011 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8012 #[repr(C)]
8013 pub struct D3D12_RANGE {
8014     pub Begin: usize,
8015     pub End: usize,
8016 }
8017 impl D3D12_RANGE {}
8018 impl ::std::default::Default for D3D12_RANGE {
default() -> Self8019     fn default() -> Self {
8020         unsafe { ::std::mem::zeroed() }
8021     }
8022 }
8023 impl ::std::fmt::Debug for D3D12_RANGE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8024     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8025         fmt.debug_struct("D3D12_RANGE").field("Begin", &self.Begin).field("End", &self.End).finish()
8026     }
8027 }
8028 impl ::std::cmp::PartialEq for D3D12_RANGE {
eq(&self, other: &Self) -> bool8029     fn eq(&self, other: &Self) -> bool {
8030         self.Begin == other.Begin && self.End == other.End
8031     }
8032 }
8033 impl ::std::cmp::Eq for D3D12_RANGE {}
8034 unsafe impl ::windows::runtime::Abi for D3D12_RANGE {
8035     type Abi = Self;
8036     type DefaultType = Self;
8037 }
8038 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8039 #[repr(C)]
8040 pub struct D3D12_RANGE_UINT64 {
8041     pub Begin: u64,
8042     pub End: u64,
8043 }
8044 impl D3D12_RANGE_UINT64 {}
8045 impl ::std::default::Default for D3D12_RANGE_UINT64 {
default() -> Self8046     fn default() -> Self {
8047         unsafe { ::std::mem::zeroed() }
8048     }
8049 }
8050 impl ::std::fmt::Debug for D3D12_RANGE_UINT64 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8051     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8052         fmt.debug_struct("D3D12_RANGE_UINT64").field("Begin", &self.Begin).field("End", &self.End).finish()
8053     }
8054 }
8055 impl ::std::cmp::PartialEq for D3D12_RANGE_UINT64 {
eq(&self, other: &Self) -> bool8056     fn eq(&self, other: &Self) -> bool {
8057         self.Begin == other.Begin && self.End == other.End
8058     }
8059 }
8060 impl ::std::cmp::Eq for D3D12_RANGE_UINT64 {}
8061 unsafe impl ::windows::runtime::Abi for D3D12_RANGE_UINT64 {
8062     type Abi = Self;
8063     type DefaultType = Self;
8064 }
8065 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8066 #[repr(C)]
8067 #[cfg(feature = "Win32_Foundation")]
8068 pub struct D3D12_RASTERIZER_DESC {
8069     pub FillMode: D3D12_FILL_MODE,
8070     pub CullMode: D3D12_CULL_MODE,
8071     pub FrontCounterClockwise: super::super::Foundation::BOOL,
8072     pub DepthBias: i32,
8073     pub DepthBiasClamp: f32,
8074     pub SlopeScaledDepthBias: f32,
8075     pub DepthClipEnable: super::super::Foundation::BOOL,
8076     pub MultisampleEnable: super::super::Foundation::BOOL,
8077     pub AntialiasedLineEnable: super::super::Foundation::BOOL,
8078     pub ForcedSampleCount: u32,
8079     pub ConservativeRaster: D3D12_CONSERVATIVE_RASTERIZATION_MODE,
8080 }
8081 #[cfg(feature = "Win32_Foundation")]
8082 impl D3D12_RASTERIZER_DESC {}
8083 #[cfg(feature = "Win32_Foundation")]
8084 impl ::std::default::Default for D3D12_RASTERIZER_DESC {
default() -> Self8085     fn default() -> Self {
8086         unsafe { ::std::mem::zeroed() }
8087     }
8088 }
8089 #[cfg(feature = "Win32_Foundation")]
8090 impl ::std::fmt::Debug for D3D12_RASTERIZER_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8091     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8092         fmt.debug_struct("D3D12_RASTERIZER_DESC")
8093             .field("FillMode", &self.FillMode)
8094             .field("CullMode", &self.CullMode)
8095             .field("FrontCounterClockwise", &self.FrontCounterClockwise)
8096             .field("DepthBias", &self.DepthBias)
8097             .field("DepthBiasClamp", &self.DepthBiasClamp)
8098             .field("SlopeScaledDepthBias", &self.SlopeScaledDepthBias)
8099             .field("DepthClipEnable", &self.DepthClipEnable)
8100             .field("MultisampleEnable", &self.MultisampleEnable)
8101             .field("AntialiasedLineEnable", &self.AntialiasedLineEnable)
8102             .field("ForcedSampleCount", &self.ForcedSampleCount)
8103             .field("ConservativeRaster", &self.ConservativeRaster)
8104             .finish()
8105     }
8106 }
8107 #[cfg(feature = "Win32_Foundation")]
8108 impl ::std::cmp::PartialEq for D3D12_RASTERIZER_DESC {
eq(&self, other: &Self) -> bool8109     fn eq(&self, other: &Self) -> bool {
8110         self.FillMode == other.FillMode
8111             && self.CullMode == other.CullMode
8112             && self.FrontCounterClockwise == other.FrontCounterClockwise
8113             && self.DepthBias == other.DepthBias
8114             && self.DepthBiasClamp == other.DepthBiasClamp
8115             && self.SlopeScaledDepthBias == other.SlopeScaledDepthBias
8116             && self.DepthClipEnable == other.DepthClipEnable
8117             && self.MultisampleEnable == other.MultisampleEnable
8118             && self.AntialiasedLineEnable == other.AntialiasedLineEnable
8119             && self.ForcedSampleCount == other.ForcedSampleCount
8120             && self.ConservativeRaster == other.ConservativeRaster
8121     }
8122 }
8123 #[cfg(feature = "Win32_Foundation")]
8124 impl ::std::cmp::Eq for D3D12_RASTERIZER_DESC {}
8125 #[cfg(feature = "Win32_Foundation")]
8126 unsafe impl ::windows::runtime::Abi for D3D12_RASTERIZER_DESC {
8127     type Abi = Self;
8128     type DefaultType = Self;
8129 }
8130 pub const D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT: u32 = 16u32;
8131 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8132 #[repr(C)]
8133 pub struct D3D12_RAYTRACING_AABB {
8134     pub MinX: f32,
8135     pub MinY: f32,
8136     pub MinZ: f32,
8137     pub MaxX: f32,
8138     pub MaxY: f32,
8139     pub MaxZ: f32,
8140 }
8141 impl D3D12_RAYTRACING_AABB {}
8142 impl ::std::default::Default for D3D12_RAYTRACING_AABB {
default() -> Self8143     fn default() -> Self {
8144         unsafe { ::std::mem::zeroed() }
8145     }
8146 }
8147 impl ::std::fmt::Debug for D3D12_RAYTRACING_AABB {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8148     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8149         fmt.debug_struct("D3D12_RAYTRACING_AABB").field("MinX", &self.MinX).field("MinY", &self.MinY).field("MinZ", &self.MinZ).field("MaxX", &self.MaxX).field("MaxY", &self.MaxY).field("MaxZ", &self.MaxZ).finish()
8150     }
8151 }
8152 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_AABB {
eq(&self, other: &Self) -> bool8153     fn eq(&self, other: &Self) -> bool {
8154         self.MinX == other.MinX && self.MinY == other.MinY && self.MinZ == other.MinZ && self.MaxX == other.MaxX && self.MaxY == other.MaxY && self.MaxZ == other.MaxZ
8155     }
8156 }
8157 impl ::std::cmp::Eq for D3D12_RAYTRACING_AABB {}
8158 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_AABB {
8159     type Abi = Self;
8160     type DefaultType = Self;
8161 }
8162 pub const D3D12_RAYTRACING_AABB_BYTE_ALIGNMENT: u32 = 8u32;
8163 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8164 #[repr(transparent)]
8165 pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(pub u32);
8166 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(0u32);
8167 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(1u32);
8168 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(2u32);
8169 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(4u32);
8170 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(8u32);
8171 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(16u32);
8172 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(32u32);
8173 impl ::std::convert::From<u32> for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
from(value: u32) -> Self8174     fn from(value: u32) -> Self {
8175         Self(value)
8176     }
8177 }
8178 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
8179     type Abi = Self;
8180     type DefaultType = Self;
8181 }
8182 impl ::std::ops::BitOr for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
8183     type Output = Self;
bitor(self, rhs: Self) -> Self8184     fn bitor(self, rhs: Self) -> Self {
8185         Self(self.0 | rhs.0)
8186     }
8187 }
8188 impl ::std::ops::BitAnd for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
8189     type Output = Self;
bitand(self, rhs: Self) -> Self8190     fn bitand(self, rhs: Self) -> Self {
8191         Self(self.0 & rhs.0)
8192     }
8193 }
8194 impl ::std::ops::BitOrAssign for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
bitor_assign(&mut self, rhs: Self)8195     fn bitor_assign(&mut self, rhs: Self) {
8196         self.0.bitor_assign(rhs.0)
8197     }
8198 }
8199 impl ::std::ops::BitAndAssign for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
bitand_assign(&mut self, rhs: Self)8200     fn bitand_assign(&mut self, rhs: Self) {
8201         self.0.bitand_assign(rhs.0)
8202     }
8203 }
8204 impl ::std::ops::Not for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
8205     type Output = Self;
not(self) -> Self8206     fn not(self) -> Self {
8207         Self(self.0.not())
8208     }
8209 }
8210 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT: u32 = 256u32;
8211 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8212 #[repr(transparent)]
8213 pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE(pub i32);
8214 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE(0i32);
8215 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE(1i32);
8216 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_VISUALIZATION_DECODE_FOR_TOOLS: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE(2i32);
8217 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE(3i32);
8218 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_DESERIALIZE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE(4i32);
8219 impl ::std::convert::From<i32> for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE {
from(value: i32) -> Self8220     fn from(value: i32) -> Self {
8221         Self(value)
8222     }
8223 }
8224 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE {
8225     type Abi = Self;
8226     type DefaultType = Self;
8227 }
8228 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8229 #[repr(C)]
8230 pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {
8231     pub CompactedSizeInBytes: u64,
8232 }
8233 impl D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {}
8234 impl ::std::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {
default() -> Self8235     fn default() -> Self {
8236         unsafe { ::std::mem::zeroed() }
8237     }
8238 }
8239 impl ::std::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8240     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8241         fmt.debug_struct("D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC").field("CompactedSizeInBytes", &self.CompactedSizeInBytes).finish()
8242     }
8243 }
8244 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {
eq(&self, other: &Self) -> bool8245     fn eq(&self, other: &Self) -> bool {
8246         self.CompactedSizeInBytes == other.CompactedSizeInBytes
8247     }
8248 }
8249 impl ::std::cmp::Eq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {}
8250 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {
8251     type Abi = Self;
8252     type DefaultType = Self;
8253 }
8254 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8255 #[repr(C)]
8256 pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {
8257     pub CurrentSizeInBytes: u64,
8258 }
8259 impl D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {}
8260 impl ::std::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {
default() -> Self8261     fn default() -> Self {
8262         unsafe { ::std::mem::zeroed() }
8263     }
8264 }
8265 impl ::std::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8266     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8267         fmt.debug_struct("D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC").field("CurrentSizeInBytes", &self.CurrentSizeInBytes).finish()
8268     }
8269 }
8270 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {
eq(&self, other: &Self) -> bool8271     fn eq(&self, other: &Self) -> bool {
8272         self.CurrentSizeInBytes == other.CurrentSizeInBytes
8273     }
8274 }
8275 impl ::std::cmp::Eq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {}
8276 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {
8277     type Abi = Self;
8278     type DefaultType = Self;
8279 }
8280 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8281 #[repr(C)]
8282 pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {
8283     pub DestBuffer: u64,
8284     pub InfoType: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE,
8285 }
8286 impl D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {}
8287 impl ::std::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {
default() -> Self8288     fn default() -> Self {
8289         unsafe { ::std::mem::zeroed() }
8290     }
8291 }
8292 impl ::std::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8293     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8294         fmt.debug_struct("D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC").field("DestBuffer", &self.DestBuffer).field("InfoType", &self.InfoType).finish()
8295     }
8296 }
8297 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {
eq(&self, other: &Self) -> bool8298     fn eq(&self, other: &Self) -> bool {
8299         self.DestBuffer == other.DestBuffer && self.InfoType == other.InfoType
8300     }
8301 }
8302 impl ::std::cmp::Eq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {}
8303 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {
8304     type Abi = Self;
8305     type DefaultType = Self;
8306 }
8307 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8308 #[repr(C)]
8309 pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {
8310     pub SerializedSizeInBytes: u64,
8311     pub NumBottomLevelAccelerationStructurePointers: u64,
8312 }
8313 impl D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {}
8314 impl ::std::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {
default() -> Self8315     fn default() -> Self {
8316         unsafe { ::std::mem::zeroed() }
8317     }
8318 }
8319 impl ::std::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8320     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8321         fmt.debug_struct("D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC").field("SerializedSizeInBytes", &self.SerializedSizeInBytes).field("NumBottomLevelAccelerationStructurePointers", &self.NumBottomLevelAccelerationStructurePointers).finish()
8322     }
8323 }
8324 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {
eq(&self, other: &Self) -> bool8325     fn eq(&self, other: &Self) -> bool {
8326         self.SerializedSizeInBytes == other.SerializedSizeInBytes && self.NumBottomLevelAccelerationStructurePointers == other.NumBottomLevelAccelerationStructurePointers
8327     }
8328 }
8329 impl ::std::cmp::Eq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {}
8330 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {
8331     type Abi = Self;
8332     type DefaultType = Self;
8333 }
8334 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8335 #[repr(C)]
8336 pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {
8337     pub DecodedSizeInBytes: u64,
8338 }
8339 impl D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {}
8340 impl ::std::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {
default() -> Self8341     fn default() -> Self {
8342         unsafe { ::std::mem::zeroed() }
8343     }
8344 }
8345 impl ::std::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8346     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8347         fmt.debug_struct("D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC").field("DecodedSizeInBytes", &self.DecodedSizeInBytes).finish()
8348     }
8349 }
8350 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {
eq(&self, other: &Self) -> bool8351     fn eq(&self, other: &Self) -> bool {
8352         self.DecodedSizeInBytes == other.DecodedSizeInBytes
8353     }
8354 }
8355 impl ::std::cmp::Eq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {}
8356 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {
8357     type Abi = Self;
8358     type DefaultType = Self;
8359 }
8360 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8361 #[repr(transparent)]
8362 pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE(pub i32);
8363 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE(0i32);
8364 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE(1i32);
8365 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE(2i32);
8366 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE(3i32);
8367 impl ::std::convert::From<i32> for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE {
from(value: i32) -> Self8368     fn from(value: i32) -> Self {
8369         Self(value)
8370     }
8371 }
8372 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE {
8373     type Abi = Self;
8374     type DefaultType = Self;
8375 }
8376 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8377 #[repr(C)]
8378 pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {
8379     pub ResultDataMaxSizeInBytes: u64,
8380     pub ScratchDataSizeInBytes: u64,
8381     pub UpdateScratchDataSizeInBytes: u64,
8382 }
8383 impl D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {}
8384 impl ::std::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {
default() -> Self8385     fn default() -> Self {
8386         unsafe { ::std::mem::zeroed() }
8387     }
8388 }
8389 impl ::std::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8390     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8391         fmt.debug_struct("D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO").field("ResultDataMaxSizeInBytes", &self.ResultDataMaxSizeInBytes).field("ScratchDataSizeInBytes", &self.ScratchDataSizeInBytes).field("UpdateScratchDataSizeInBytes", &self.UpdateScratchDataSizeInBytes).finish()
8392     }
8393 }
8394 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {
eq(&self, other: &Self) -> bool8395     fn eq(&self, other: &Self) -> bool {
8396         self.ResultDataMaxSizeInBytes == other.ResultDataMaxSizeInBytes && self.ScratchDataSizeInBytes == other.ScratchDataSizeInBytes && self.UpdateScratchDataSizeInBytes == other.UpdateScratchDataSizeInBytes
8397     }
8398 }
8399 impl ::std::cmp::Eq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {}
8400 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {
8401     type Abi = Self;
8402     type DefaultType = Self;
8403 }
8404 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8405 #[repr(C)]
8406 pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV {
8407     pub Location: u64,
8408 }
8409 impl D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV {}
8410 impl ::std::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV {
default() -> Self8411     fn default() -> Self {
8412         unsafe { ::std::mem::zeroed() }
8413     }
8414 }
8415 impl ::std::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8416     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8417         fmt.debug_struct("D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV").field("Location", &self.Location).finish()
8418     }
8419 }
8420 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV {
eq(&self, other: &Self) -> bool8421     fn eq(&self, other: &Self) -> bool {
8422         self.Location == other.Location
8423     }
8424 }
8425 impl ::std::cmp::Eq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV {}
8426 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV {
8427     type Abi = Self;
8428     type DefaultType = Self;
8429 }
8430 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8431 #[repr(transparent)]
8432 pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE(pub i32);
8433 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE(0i32);
8434 pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE(1i32);
8435 impl ::std::convert::From<i32> for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE {
from(value: i32) -> Self8436     fn from(value: i32) -> Self {
8437         Self(value)
8438     }
8439 }
8440 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE {
8441     type Abi = Self;
8442     type DefaultType = Self;
8443 }
8444 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8445 #[repr(C)]
8446 pub struct D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {
8447     pub AABBCount: u64,
8448     pub AABBs: D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE,
8449 }
8450 impl D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {}
8451 impl ::std::default::Default for D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {
default() -> Self8452     fn default() -> Self {
8453         unsafe { ::std::mem::zeroed() }
8454     }
8455 }
8456 impl ::std::fmt::Debug for D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8457     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8458         fmt.debug_struct("D3D12_RAYTRACING_GEOMETRY_AABBS_DESC").field("AABBCount", &self.AABBCount).field("AABBs", &self.AABBs).finish()
8459     }
8460 }
8461 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {
eq(&self, other: &Self) -> bool8462     fn eq(&self, other: &Self) -> bool {
8463         self.AABBCount == other.AABBCount && self.AABBs == other.AABBs
8464     }
8465 }
8466 impl ::std::cmp::Eq for D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {}
8467 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {
8468     type Abi = Self;
8469     type DefaultType = Self;
8470 }
8471 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8472 #[repr(C)]
8473 #[cfg(feature = "Win32_Graphics_Dxgi")]
8474 pub struct D3D12_RAYTRACING_GEOMETRY_DESC {
8475     pub Type: D3D12_RAYTRACING_GEOMETRY_TYPE,
8476     pub Flags: D3D12_RAYTRACING_GEOMETRY_FLAGS,
8477     pub Anonymous: D3D12_RAYTRACING_GEOMETRY_DESC_0,
8478 }
8479 #[cfg(feature = "Win32_Graphics_Dxgi")]
8480 impl D3D12_RAYTRACING_GEOMETRY_DESC {}
8481 #[cfg(feature = "Win32_Graphics_Dxgi")]
8482 impl ::std::default::Default for D3D12_RAYTRACING_GEOMETRY_DESC {
default() -> Self8483     fn default() -> Self {
8484         unsafe { ::std::mem::zeroed() }
8485     }
8486 }
8487 #[cfg(feature = "Win32_Graphics_Dxgi")]
8488 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_GEOMETRY_DESC {
eq(&self, _other: &Self) -> bool8489     fn eq(&self, _other: &Self) -> bool {
8490         unimplemented!()
8491     }
8492 }
8493 #[cfg(feature = "Win32_Graphics_Dxgi")]
8494 impl ::std::cmp::Eq for D3D12_RAYTRACING_GEOMETRY_DESC {}
8495 #[cfg(feature = "Win32_Graphics_Dxgi")]
8496 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_GEOMETRY_DESC {
8497     type Abi = Self;
8498     type DefaultType = Self;
8499 }
8500 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8501 #[repr(C)]
8502 #[cfg(feature = "Win32_Graphics_Dxgi")]
8503 pub union D3D12_RAYTRACING_GEOMETRY_DESC_0 {
8504     pub Triangles: D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC,
8505     pub AABBs: D3D12_RAYTRACING_GEOMETRY_AABBS_DESC,
8506 }
8507 #[cfg(feature = "Win32_Graphics_Dxgi")]
8508 impl D3D12_RAYTRACING_GEOMETRY_DESC_0 {}
8509 #[cfg(feature = "Win32_Graphics_Dxgi")]
8510 impl ::std::default::Default for D3D12_RAYTRACING_GEOMETRY_DESC_0 {
default() -> Self8511     fn default() -> Self {
8512         unsafe { ::std::mem::zeroed() }
8513     }
8514 }
8515 #[cfg(feature = "Win32_Graphics_Dxgi")]
8516 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_GEOMETRY_DESC_0 {
eq(&self, _other: &Self) -> bool8517     fn eq(&self, _other: &Self) -> bool {
8518         unimplemented!()
8519     }
8520 }
8521 #[cfg(feature = "Win32_Graphics_Dxgi")]
8522 impl ::std::cmp::Eq for D3D12_RAYTRACING_GEOMETRY_DESC_0 {}
8523 #[cfg(feature = "Win32_Graphics_Dxgi")]
8524 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_GEOMETRY_DESC_0 {
8525     type Abi = Self;
8526     type DefaultType = Self;
8527 }
8528 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8529 #[repr(transparent)]
8530 pub struct D3D12_RAYTRACING_GEOMETRY_FLAGS(pub u32);
8531 pub const D3D12_RAYTRACING_GEOMETRY_FLAG_NONE: D3D12_RAYTRACING_GEOMETRY_FLAGS = D3D12_RAYTRACING_GEOMETRY_FLAGS(0u32);
8532 pub const D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE: D3D12_RAYTRACING_GEOMETRY_FLAGS = D3D12_RAYTRACING_GEOMETRY_FLAGS(1u32);
8533 pub const D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION: D3D12_RAYTRACING_GEOMETRY_FLAGS = D3D12_RAYTRACING_GEOMETRY_FLAGS(2u32);
8534 impl ::std::convert::From<u32> for D3D12_RAYTRACING_GEOMETRY_FLAGS {
from(value: u32) -> Self8535     fn from(value: u32) -> Self {
8536         Self(value)
8537     }
8538 }
8539 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_GEOMETRY_FLAGS {
8540     type Abi = Self;
8541     type DefaultType = Self;
8542 }
8543 impl ::std::ops::BitOr for D3D12_RAYTRACING_GEOMETRY_FLAGS {
8544     type Output = Self;
bitor(self, rhs: Self) -> Self8545     fn bitor(self, rhs: Self) -> Self {
8546         Self(self.0 | rhs.0)
8547     }
8548 }
8549 impl ::std::ops::BitAnd for D3D12_RAYTRACING_GEOMETRY_FLAGS {
8550     type Output = Self;
bitand(self, rhs: Self) -> Self8551     fn bitand(self, rhs: Self) -> Self {
8552         Self(self.0 & rhs.0)
8553     }
8554 }
8555 impl ::std::ops::BitOrAssign for D3D12_RAYTRACING_GEOMETRY_FLAGS {
bitor_assign(&mut self, rhs: Self)8556     fn bitor_assign(&mut self, rhs: Self) {
8557         self.0.bitor_assign(rhs.0)
8558     }
8559 }
8560 impl ::std::ops::BitAndAssign for D3D12_RAYTRACING_GEOMETRY_FLAGS {
bitand_assign(&mut self, rhs: Self)8561     fn bitand_assign(&mut self, rhs: Self) {
8562         self.0.bitand_assign(rhs.0)
8563     }
8564 }
8565 impl ::std::ops::Not for D3D12_RAYTRACING_GEOMETRY_FLAGS {
8566     type Output = Self;
not(self) -> Self8567     fn not(self) -> Self {
8568         Self(self.0.not())
8569     }
8570 }
8571 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8572 #[repr(C)]
8573 #[cfg(feature = "Win32_Graphics_Dxgi")]
8574 pub struct D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {
8575     pub Transform3x4: u64,
8576     pub IndexFormat: super::Dxgi::DXGI_FORMAT,
8577     pub VertexFormat: super::Dxgi::DXGI_FORMAT,
8578     pub IndexCount: u32,
8579     pub VertexCount: u32,
8580     pub IndexBuffer: u64,
8581     pub VertexBuffer: D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE,
8582 }
8583 #[cfg(feature = "Win32_Graphics_Dxgi")]
8584 impl D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {}
8585 #[cfg(feature = "Win32_Graphics_Dxgi")]
8586 impl ::std::default::Default for D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {
default() -> Self8587     fn default() -> Self {
8588         unsafe { ::std::mem::zeroed() }
8589     }
8590 }
8591 #[cfg(feature = "Win32_Graphics_Dxgi")]
8592 impl ::std::fmt::Debug for D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8593     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8594         fmt.debug_struct("D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC")
8595             .field("Transform3x4", &self.Transform3x4)
8596             .field("IndexFormat", &self.IndexFormat)
8597             .field("VertexFormat", &self.VertexFormat)
8598             .field("IndexCount", &self.IndexCount)
8599             .field("VertexCount", &self.VertexCount)
8600             .field("IndexBuffer", &self.IndexBuffer)
8601             .field("VertexBuffer", &self.VertexBuffer)
8602             .finish()
8603     }
8604 }
8605 #[cfg(feature = "Win32_Graphics_Dxgi")]
8606 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {
eq(&self, other: &Self) -> bool8607     fn eq(&self, other: &Self) -> bool {
8608         self.Transform3x4 == other.Transform3x4 && self.IndexFormat == other.IndexFormat && self.VertexFormat == other.VertexFormat && self.IndexCount == other.IndexCount && self.VertexCount == other.VertexCount && self.IndexBuffer == other.IndexBuffer && self.VertexBuffer == other.VertexBuffer
8609     }
8610 }
8611 #[cfg(feature = "Win32_Graphics_Dxgi")]
8612 impl ::std::cmp::Eq for D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {}
8613 #[cfg(feature = "Win32_Graphics_Dxgi")]
8614 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {
8615     type Abi = Self;
8616     type DefaultType = Self;
8617 }
8618 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8619 #[repr(transparent)]
8620 pub struct D3D12_RAYTRACING_GEOMETRY_TYPE(pub i32);
8621 pub const D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES: D3D12_RAYTRACING_GEOMETRY_TYPE = D3D12_RAYTRACING_GEOMETRY_TYPE(0i32);
8622 pub const D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS: D3D12_RAYTRACING_GEOMETRY_TYPE = D3D12_RAYTRACING_GEOMETRY_TYPE(1i32);
8623 impl ::std::convert::From<i32> for D3D12_RAYTRACING_GEOMETRY_TYPE {
from(value: i32) -> Self8624     fn from(value: i32) -> Self {
8625         Self(value)
8626     }
8627 }
8628 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_GEOMETRY_TYPE {
8629     type Abi = Self;
8630     type DefaultType = Self;
8631 }
8632 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8633 #[repr(C)]
8634 pub struct D3D12_RAYTRACING_INSTANCE_DESC {
8635     pub Transform: [f32; 12],
8636     pub _bitfield1: u32,
8637     pub _bitfield2: u32,
8638     pub AccelerationStructure: u64,
8639 }
8640 impl D3D12_RAYTRACING_INSTANCE_DESC {}
8641 impl ::std::default::Default for D3D12_RAYTRACING_INSTANCE_DESC {
default() -> Self8642     fn default() -> Self {
8643         unsafe { ::std::mem::zeroed() }
8644     }
8645 }
8646 impl ::std::fmt::Debug for D3D12_RAYTRACING_INSTANCE_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8647     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8648         fmt.debug_struct("D3D12_RAYTRACING_INSTANCE_DESC").field("Transform", &self.Transform).field("_bitfield1", &self._bitfield1).field("_bitfield2", &self._bitfield2).field("AccelerationStructure", &self.AccelerationStructure).finish()
8649     }
8650 }
8651 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_INSTANCE_DESC {
eq(&self, other: &Self) -> bool8652     fn eq(&self, other: &Self) -> bool {
8653         self.Transform == other.Transform && self._bitfield1 == other._bitfield1 && self._bitfield2 == other._bitfield2 && self.AccelerationStructure == other.AccelerationStructure
8654     }
8655 }
8656 impl ::std::cmp::Eq for D3D12_RAYTRACING_INSTANCE_DESC {}
8657 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_INSTANCE_DESC {
8658     type Abi = Self;
8659     type DefaultType = Self;
8660 }
8661 pub const D3D12_RAYTRACING_INSTANCE_DESCS_BYTE_ALIGNMENT: u32 = 16u32;
8662 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8663 #[repr(transparent)]
8664 pub struct D3D12_RAYTRACING_INSTANCE_FLAGS(pub u32);
8665 pub const D3D12_RAYTRACING_INSTANCE_FLAG_NONE: D3D12_RAYTRACING_INSTANCE_FLAGS = D3D12_RAYTRACING_INSTANCE_FLAGS(0u32);
8666 pub const D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE: D3D12_RAYTRACING_INSTANCE_FLAGS = D3D12_RAYTRACING_INSTANCE_FLAGS(1u32);
8667 pub const D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE: D3D12_RAYTRACING_INSTANCE_FLAGS = D3D12_RAYTRACING_INSTANCE_FLAGS(2u32);
8668 pub const D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE: D3D12_RAYTRACING_INSTANCE_FLAGS = D3D12_RAYTRACING_INSTANCE_FLAGS(4u32);
8669 pub const D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE: D3D12_RAYTRACING_INSTANCE_FLAGS = D3D12_RAYTRACING_INSTANCE_FLAGS(8u32);
8670 impl ::std::convert::From<u32> for D3D12_RAYTRACING_INSTANCE_FLAGS {
from(value: u32) -> Self8671     fn from(value: u32) -> Self {
8672         Self(value)
8673     }
8674 }
8675 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_INSTANCE_FLAGS {
8676     type Abi = Self;
8677     type DefaultType = Self;
8678 }
8679 impl ::std::ops::BitOr for D3D12_RAYTRACING_INSTANCE_FLAGS {
8680     type Output = Self;
bitor(self, rhs: Self) -> Self8681     fn bitor(self, rhs: Self) -> Self {
8682         Self(self.0 | rhs.0)
8683     }
8684 }
8685 impl ::std::ops::BitAnd for D3D12_RAYTRACING_INSTANCE_FLAGS {
8686     type Output = Self;
bitand(self, rhs: Self) -> Self8687     fn bitand(self, rhs: Self) -> Self {
8688         Self(self.0 & rhs.0)
8689     }
8690 }
8691 impl ::std::ops::BitOrAssign for D3D12_RAYTRACING_INSTANCE_FLAGS {
bitor_assign(&mut self, rhs: Self)8692     fn bitor_assign(&mut self, rhs: Self) {
8693         self.0.bitor_assign(rhs.0)
8694     }
8695 }
8696 impl ::std::ops::BitAndAssign for D3D12_RAYTRACING_INSTANCE_FLAGS {
bitand_assign(&mut self, rhs: Self)8697     fn bitand_assign(&mut self, rhs: Self) {
8698         self.0.bitand_assign(rhs.0)
8699     }
8700 }
8701 impl ::std::ops::Not for D3D12_RAYTRACING_INSTANCE_FLAGS {
8702     type Output = Self;
not(self) -> Self8703     fn not(self) -> Self {
8704         Self(self.0.not())
8705     }
8706 }
8707 pub const D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES: u32 = 32u32;
8708 pub const D3D12_RAYTRACING_MAX_DECLARABLE_TRACE_RECURSION_DEPTH: u32 = 31u32;
8709 pub const D3D12_RAYTRACING_MAX_GEOMETRIES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE: u32 = 16777216u32;
8710 pub const D3D12_RAYTRACING_MAX_INSTANCES_PER_TOP_LEVEL_ACCELERATION_STRUCTURE: u32 = 16777216u32;
8711 pub const D3D12_RAYTRACING_MAX_PRIMITIVES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE: u32 = 536870912u32;
8712 pub const D3D12_RAYTRACING_MAX_RAY_GENERATION_SHADER_THREADS: u32 = 1073741824u32;
8713 pub const D3D12_RAYTRACING_MAX_SHADER_RECORD_STRIDE: u32 = 4096u32;
8714 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8715 #[repr(C)]
8716 pub struct D3D12_RAYTRACING_PIPELINE_CONFIG {
8717     pub MaxTraceRecursionDepth: u32,
8718 }
8719 impl D3D12_RAYTRACING_PIPELINE_CONFIG {}
8720 impl ::std::default::Default for D3D12_RAYTRACING_PIPELINE_CONFIG {
default() -> Self8721     fn default() -> Self {
8722         unsafe { ::std::mem::zeroed() }
8723     }
8724 }
8725 impl ::std::fmt::Debug for D3D12_RAYTRACING_PIPELINE_CONFIG {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8726     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8727         fmt.debug_struct("D3D12_RAYTRACING_PIPELINE_CONFIG").field("MaxTraceRecursionDepth", &self.MaxTraceRecursionDepth).finish()
8728     }
8729 }
8730 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_PIPELINE_CONFIG {
eq(&self, other: &Self) -> bool8731     fn eq(&self, other: &Self) -> bool {
8732         self.MaxTraceRecursionDepth == other.MaxTraceRecursionDepth
8733     }
8734 }
8735 impl ::std::cmp::Eq for D3D12_RAYTRACING_PIPELINE_CONFIG {}
8736 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_PIPELINE_CONFIG {
8737     type Abi = Self;
8738     type DefaultType = Self;
8739 }
8740 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8741 #[repr(C)]
8742 pub struct D3D12_RAYTRACING_PIPELINE_CONFIG1 {
8743     pub MaxTraceRecursionDepth: u32,
8744     pub Flags: D3D12_RAYTRACING_PIPELINE_FLAGS,
8745 }
8746 impl D3D12_RAYTRACING_PIPELINE_CONFIG1 {}
8747 impl ::std::default::Default for D3D12_RAYTRACING_PIPELINE_CONFIG1 {
default() -> Self8748     fn default() -> Self {
8749         unsafe { ::std::mem::zeroed() }
8750     }
8751 }
8752 impl ::std::fmt::Debug for D3D12_RAYTRACING_PIPELINE_CONFIG1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8753     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8754         fmt.debug_struct("D3D12_RAYTRACING_PIPELINE_CONFIG1").field("MaxTraceRecursionDepth", &self.MaxTraceRecursionDepth).field("Flags", &self.Flags).finish()
8755     }
8756 }
8757 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_PIPELINE_CONFIG1 {
eq(&self, other: &Self) -> bool8758     fn eq(&self, other: &Self) -> bool {
8759         self.MaxTraceRecursionDepth == other.MaxTraceRecursionDepth && self.Flags == other.Flags
8760     }
8761 }
8762 impl ::std::cmp::Eq for D3D12_RAYTRACING_PIPELINE_CONFIG1 {}
8763 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_PIPELINE_CONFIG1 {
8764     type Abi = Self;
8765     type DefaultType = Self;
8766 }
8767 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8768 #[repr(transparent)]
8769 pub struct D3D12_RAYTRACING_PIPELINE_FLAGS(pub u32);
8770 pub const D3D12_RAYTRACING_PIPELINE_FLAG_NONE: D3D12_RAYTRACING_PIPELINE_FLAGS = D3D12_RAYTRACING_PIPELINE_FLAGS(0u32);
8771 pub const D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES: D3D12_RAYTRACING_PIPELINE_FLAGS = D3D12_RAYTRACING_PIPELINE_FLAGS(256u32);
8772 pub const D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES: D3D12_RAYTRACING_PIPELINE_FLAGS = D3D12_RAYTRACING_PIPELINE_FLAGS(512u32);
8773 impl ::std::convert::From<u32> for D3D12_RAYTRACING_PIPELINE_FLAGS {
from(value: u32) -> Self8774     fn from(value: u32) -> Self {
8775         Self(value)
8776     }
8777 }
8778 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_PIPELINE_FLAGS {
8779     type Abi = Self;
8780     type DefaultType = Self;
8781 }
8782 impl ::std::ops::BitOr for D3D12_RAYTRACING_PIPELINE_FLAGS {
8783     type Output = Self;
bitor(self, rhs: Self) -> Self8784     fn bitor(self, rhs: Self) -> Self {
8785         Self(self.0 | rhs.0)
8786     }
8787 }
8788 impl ::std::ops::BitAnd for D3D12_RAYTRACING_PIPELINE_FLAGS {
8789     type Output = Self;
bitand(self, rhs: Self) -> Self8790     fn bitand(self, rhs: Self) -> Self {
8791         Self(self.0 & rhs.0)
8792     }
8793 }
8794 impl ::std::ops::BitOrAssign for D3D12_RAYTRACING_PIPELINE_FLAGS {
bitor_assign(&mut self, rhs: Self)8795     fn bitor_assign(&mut self, rhs: Self) {
8796         self.0.bitor_assign(rhs.0)
8797     }
8798 }
8799 impl ::std::ops::BitAndAssign for D3D12_RAYTRACING_PIPELINE_FLAGS {
bitand_assign(&mut self, rhs: Self)8800     fn bitand_assign(&mut self, rhs: Self) {
8801         self.0.bitand_assign(rhs.0)
8802     }
8803 }
8804 impl ::std::ops::Not for D3D12_RAYTRACING_PIPELINE_FLAGS {
8805     type Output = Self;
not(self) -> Self8806     fn not(self) -> Self {
8807         Self(self.0.not())
8808     }
8809 }
8810 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8811 #[repr(C)]
8812 pub struct D3D12_RAYTRACING_SHADER_CONFIG {
8813     pub MaxPayloadSizeInBytes: u32,
8814     pub MaxAttributeSizeInBytes: u32,
8815 }
8816 impl D3D12_RAYTRACING_SHADER_CONFIG {}
8817 impl ::std::default::Default for D3D12_RAYTRACING_SHADER_CONFIG {
default() -> Self8818     fn default() -> Self {
8819         unsafe { ::std::mem::zeroed() }
8820     }
8821 }
8822 impl ::std::fmt::Debug for D3D12_RAYTRACING_SHADER_CONFIG {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8823     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8824         fmt.debug_struct("D3D12_RAYTRACING_SHADER_CONFIG").field("MaxPayloadSizeInBytes", &self.MaxPayloadSizeInBytes).field("MaxAttributeSizeInBytes", &self.MaxAttributeSizeInBytes).finish()
8825     }
8826 }
8827 impl ::std::cmp::PartialEq for D3D12_RAYTRACING_SHADER_CONFIG {
eq(&self, other: &Self) -> bool8828     fn eq(&self, other: &Self) -> bool {
8829         self.MaxPayloadSizeInBytes == other.MaxPayloadSizeInBytes && self.MaxAttributeSizeInBytes == other.MaxAttributeSizeInBytes
8830     }
8831 }
8832 impl ::std::cmp::Eq for D3D12_RAYTRACING_SHADER_CONFIG {}
8833 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_SHADER_CONFIG {
8834     type Abi = Self;
8835     type DefaultType = Self;
8836 }
8837 pub const D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT: u32 = 32u32;
8838 pub const D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT: u32 = 64u32;
8839 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8840 #[repr(transparent)]
8841 pub struct D3D12_RAYTRACING_TIER(pub i32);
8842 pub const D3D12_RAYTRACING_TIER_NOT_SUPPORTED: D3D12_RAYTRACING_TIER = D3D12_RAYTRACING_TIER(0i32);
8843 pub const D3D12_RAYTRACING_TIER_1_0: D3D12_RAYTRACING_TIER = D3D12_RAYTRACING_TIER(10i32);
8844 pub const D3D12_RAYTRACING_TIER_1_1: D3D12_RAYTRACING_TIER = D3D12_RAYTRACING_TIER(11i32);
8845 impl ::std::convert::From<i32> for D3D12_RAYTRACING_TIER {
from(value: i32) -> Self8846     fn from(value: i32) -> Self {
8847         Self(value)
8848     }
8849 }
8850 unsafe impl ::windows::runtime::Abi for D3D12_RAYTRACING_TIER {
8851     type Abi = Self;
8852     type DefaultType = Self;
8853 }
8854 pub const D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT: u32 = 16u32;
8855 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8856 #[repr(transparent)]
8857 pub struct D3D12_RAY_FLAGS(pub u32);
8858 pub const D3D12_RAY_FLAG_NONE: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(0u32);
8859 pub const D3D12_RAY_FLAG_FORCE_OPAQUE: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(1u32);
8860 pub const D3D12_RAY_FLAG_FORCE_NON_OPAQUE: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(2u32);
8861 pub const D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(4u32);
8862 pub const D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(8u32);
8863 pub const D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(16u32);
8864 pub const D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(32u32);
8865 pub const D3D12_RAY_FLAG_CULL_OPAQUE: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(64u32);
8866 pub const D3D12_RAY_FLAG_CULL_NON_OPAQUE: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(128u32);
8867 pub const D3D12_RAY_FLAG_SKIP_TRIANGLES: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(256u32);
8868 pub const D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(512u32);
8869 impl ::std::convert::From<u32> for D3D12_RAY_FLAGS {
from(value: u32) -> Self8870     fn from(value: u32) -> Self {
8871         Self(value)
8872     }
8873 }
8874 unsafe impl ::windows::runtime::Abi for D3D12_RAY_FLAGS {
8875     type Abi = Self;
8876     type DefaultType = Self;
8877 }
8878 impl ::std::ops::BitOr for D3D12_RAY_FLAGS {
8879     type Output = Self;
bitor(self, rhs: Self) -> Self8880     fn bitor(self, rhs: Self) -> Self {
8881         Self(self.0 | rhs.0)
8882     }
8883 }
8884 impl ::std::ops::BitAnd for D3D12_RAY_FLAGS {
8885     type Output = Self;
bitand(self, rhs: Self) -> Self8886     fn bitand(self, rhs: Self) -> Self {
8887         Self(self.0 & rhs.0)
8888     }
8889 }
8890 impl ::std::ops::BitOrAssign for D3D12_RAY_FLAGS {
bitor_assign(&mut self, rhs: Self)8891     fn bitor_assign(&mut self, rhs: Self) {
8892         self.0.bitor_assign(rhs.0)
8893     }
8894 }
8895 impl ::std::ops::BitAndAssign for D3D12_RAY_FLAGS {
bitand_assign(&mut self, rhs: Self)8896     fn bitand_assign(&mut self, rhs: Self) {
8897         self.0.bitand_assign(rhs.0)
8898     }
8899 }
8900 impl ::std::ops::Not for D3D12_RAY_FLAGS {
8901     type Output = Self;
not(self) -> Self8902     fn not(self) -> Self {
8903         Self(self.0.not())
8904     }
8905 }
8906 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8907 #[repr(transparent)]
8908 pub struct D3D12_REFLECT_SHARED_PROPERTY(pub i32);
8909 pub const D3D12_REFLECT_SHARED_PROPERTY_D3D11_RESOURCE_FLAGS: D3D12_REFLECT_SHARED_PROPERTY = D3D12_REFLECT_SHARED_PROPERTY(0i32);
8910 pub const D3D12_REFELCT_SHARED_PROPERTY_COMPATIBILITY_SHARED_FLAGS: D3D12_REFLECT_SHARED_PROPERTY = D3D12_REFLECT_SHARED_PROPERTY(1i32);
8911 pub const D3D12_REFLECT_SHARED_PROPERTY_NON_NT_SHARED_HANDLE: D3D12_REFLECT_SHARED_PROPERTY = D3D12_REFLECT_SHARED_PROPERTY(2i32);
8912 impl ::std::convert::From<i32> for D3D12_REFLECT_SHARED_PROPERTY {
from(value: i32) -> Self8913     fn from(value: i32) -> Self {
8914         Self(value)
8915     }
8916 }
8917 unsafe impl ::windows::runtime::Abi for D3D12_REFLECT_SHARED_PROPERTY {
8918     type Abi = Self;
8919     type DefaultType = Self;
8920 }
8921 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8922 #[repr(C)]
8923 #[cfg(feature = "Win32_Graphics_Dxgi")]
8924 pub struct D3D12_RENDER_PASS_BEGINNING_ACCESS {
8925     pub Type: D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE,
8926     pub Anonymous: D3D12_RENDER_PASS_BEGINNING_ACCESS_0,
8927 }
8928 #[cfg(feature = "Win32_Graphics_Dxgi")]
8929 impl D3D12_RENDER_PASS_BEGINNING_ACCESS {}
8930 #[cfg(feature = "Win32_Graphics_Dxgi")]
8931 impl ::std::default::Default for D3D12_RENDER_PASS_BEGINNING_ACCESS {
default() -> Self8932     fn default() -> Self {
8933         unsafe { ::std::mem::zeroed() }
8934     }
8935 }
8936 #[cfg(feature = "Win32_Graphics_Dxgi")]
8937 impl ::std::cmp::PartialEq for D3D12_RENDER_PASS_BEGINNING_ACCESS {
eq(&self, _other: &Self) -> bool8938     fn eq(&self, _other: &Self) -> bool {
8939         unimplemented!()
8940     }
8941 }
8942 #[cfg(feature = "Win32_Graphics_Dxgi")]
8943 impl ::std::cmp::Eq for D3D12_RENDER_PASS_BEGINNING_ACCESS {}
8944 #[cfg(feature = "Win32_Graphics_Dxgi")]
8945 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_PASS_BEGINNING_ACCESS {
8946     type Abi = Self;
8947     type DefaultType = Self;
8948 }
8949 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8950 #[repr(C)]
8951 #[cfg(feature = "Win32_Graphics_Dxgi")]
8952 pub union D3D12_RENDER_PASS_BEGINNING_ACCESS_0 {
8953     pub Clear: D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS,
8954 }
8955 #[cfg(feature = "Win32_Graphics_Dxgi")]
8956 impl D3D12_RENDER_PASS_BEGINNING_ACCESS_0 {}
8957 #[cfg(feature = "Win32_Graphics_Dxgi")]
8958 impl ::std::default::Default for D3D12_RENDER_PASS_BEGINNING_ACCESS_0 {
default() -> Self8959     fn default() -> Self {
8960         unsafe { ::std::mem::zeroed() }
8961     }
8962 }
8963 #[cfg(feature = "Win32_Graphics_Dxgi")]
8964 impl ::std::cmp::PartialEq for D3D12_RENDER_PASS_BEGINNING_ACCESS_0 {
eq(&self, _other: &Self) -> bool8965     fn eq(&self, _other: &Self) -> bool {
8966         unimplemented!()
8967     }
8968 }
8969 #[cfg(feature = "Win32_Graphics_Dxgi")]
8970 impl ::std::cmp::Eq for D3D12_RENDER_PASS_BEGINNING_ACCESS_0 {}
8971 #[cfg(feature = "Win32_Graphics_Dxgi")]
8972 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_PASS_BEGINNING_ACCESS_0 {
8973     type Abi = Self;
8974     type DefaultType = Self;
8975 }
8976 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8977 #[repr(C)]
8978 #[cfg(feature = "Win32_Graphics_Dxgi")]
8979 pub struct D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS {
8980     pub ClearValue: D3D12_CLEAR_VALUE,
8981 }
8982 #[cfg(feature = "Win32_Graphics_Dxgi")]
8983 impl D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS {}
8984 #[cfg(feature = "Win32_Graphics_Dxgi")]
8985 impl ::std::default::Default for D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS {
default() -> Self8986     fn default() -> Self {
8987         unsafe { ::std::mem::zeroed() }
8988     }
8989 }
8990 #[cfg(feature = "Win32_Graphics_Dxgi")]
8991 impl ::std::cmp::PartialEq for D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS {
eq(&self, _other: &Self) -> bool8992     fn eq(&self, _other: &Self) -> bool {
8993         unimplemented!()
8994     }
8995 }
8996 #[cfg(feature = "Win32_Graphics_Dxgi")]
8997 impl ::std::cmp::Eq for D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS {}
8998 #[cfg(feature = "Win32_Graphics_Dxgi")]
8999 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS {
9000     type Abi = Self;
9001     type DefaultType = Self;
9002 }
9003 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9004 #[repr(transparent)]
9005 pub struct D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE(pub i32);
9006 pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD: D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE(0i32);
9007 pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE: D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE(1i32);
9008 pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR: D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE(2i32);
9009 pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS: D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE(3i32);
9010 impl ::std::convert::From<i32> for D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE {
from(value: i32) -> Self9011     fn from(value: i32) -> Self {
9012         Self(value)
9013     }
9014 }
9015 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE {
9016     type Abi = Self;
9017     type DefaultType = Self;
9018 }
9019 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9020 impl ::std::clone::Clone for D3D12_RENDER_PASS_DEPTH_STENCIL_DESC {
clone(&self) -> Self9021     fn clone(&self) -> Self {
9022         unimplemented!()
9023     }
9024 }
9025 #[repr(C)]
9026 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9027 pub struct D3D12_RENDER_PASS_DEPTH_STENCIL_DESC {
9028     pub cpuDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
9029     pub DepthBeginningAccess: D3D12_RENDER_PASS_BEGINNING_ACCESS,
9030     pub StencilBeginningAccess: D3D12_RENDER_PASS_BEGINNING_ACCESS,
9031     pub DepthEndingAccess: D3D12_RENDER_PASS_ENDING_ACCESS,
9032     pub StencilEndingAccess: D3D12_RENDER_PASS_ENDING_ACCESS,
9033 }
9034 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9035 impl D3D12_RENDER_PASS_DEPTH_STENCIL_DESC {}
9036 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9037 impl ::std::default::Default for D3D12_RENDER_PASS_DEPTH_STENCIL_DESC {
default() -> Self9038     fn default() -> Self {
9039         unsafe { ::std::mem::zeroed() }
9040     }
9041 }
9042 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9043 impl ::std::cmp::PartialEq for D3D12_RENDER_PASS_DEPTH_STENCIL_DESC {
eq(&self, _other: &Self) -> bool9044     fn eq(&self, _other: &Self) -> bool {
9045         unimplemented!()
9046     }
9047 }
9048 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9049 impl ::std::cmp::Eq for D3D12_RENDER_PASS_DEPTH_STENCIL_DESC {}
9050 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9051 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_PASS_DEPTH_STENCIL_DESC {
9052     type Abi = ::std::mem::ManuallyDrop<Self>;
9053     type DefaultType = Self;
9054 }
9055 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9056 impl ::std::clone::Clone for D3D12_RENDER_PASS_ENDING_ACCESS {
clone(&self) -> Self9057     fn clone(&self) -> Self {
9058         unimplemented!()
9059     }
9060 }
9061 #[repr(C)]
9062 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9063 pub struct D3D12_RENDER_PASS_ENDING_ACCESS {
9064     pub Type: D3D12_RENDER_PASS_ENDING_ACCESS_TYPE,
9065     pub Anonymous: D3D12_RENDER_PASS_ENDING_ACCESS_0,
9066 }
9067 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9068 impl D3D12_RENDER_PASS_ENDING_ACCESS {}
9069 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9070 impl ::std::default::Default for D3D12_RENDER_PASS_ENDING_ACCESS {
default() -> Self9071     fn default() -> Self {
9072         unsafe { ::std::mem::zeroed() }
9073     }
9074 }
9075 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9076 impl ::std::cmp::PartialEq for D3D12_RENDER_PASS_ENDING_ACCESS {
eq(&self, _other: &Self) -> bool9077     fn eq(&self, _other: &Self) -> bool {
9078         unimplemented!()
9079     }
9080 }
9081 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9082 impl ::std::cmp::Eq for D3D12_RENDER_PASS_ENDING_ACCESS {}
9083 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9084 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_PASS_ENDING_ACCESS {
9085     type Abi = ::std::mem::ManuallyDrop<Self>;
9086     type DefaultType = Self;
9087 }
9088 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9089 impl ::std::clone::Clone for D3D12_RENDER_PASS_ENDING_ACCESS_0 {
clone(&self) -> Self9090     fn clone(&self) -> Self {
9091         unimplemented!()
9092     }
9093 }
9094 #[repr(C)]
9095 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9096 pub union D3D12_RENDER_PASS_ENDING_ACCESS_0 {
9097     pub Resolve: ::std::mem::ManuallyDrop<D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS>,
9098 }
9099 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9100 impl D3D12_RENDER_PASS_ENDING_ACCESS_0 {}
9101 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9102 impl ::std::default::Default for D3D12_RENDER_PASS_ENDING_ACCESS_0 {
default() -> Self9103     fn default() -> Self {
9104         unsafe { ::std::mem::zeroed() }
9105     }
9106 }
9107 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9108 impl ::std::cmp::PartialEq for D3D12_RENDER_PASS_ENDING_ACCESS_0 {
eq(&self, _other: &Self) -> bool9109     fn eq(&self, _other: &Self) -> bool {
9110         unimplemented!()
9111     }
9112 }
9113 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9114 impl ::std::cmp::Eq for D3D12_RENDER_PASS_ENDING_ACCESS_0 {}
9115 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9116 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_PASS_ENDING_ACCESS_0 {
9117     type Abi = ::std::mem::ManuallyDrop<Self>;
9118     type DefaultType = Self;
9119 }
9120 #[derive(:: std :: clone :: Clone)]
9121 #[repr(C)]
9122 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9123 pub struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS {
9124     pub pSrcResource: ::std::option::Option<ID3D12Resource>,
9125     pub pDstResource: ::std::option::Option<ID3D12Resource>,
9126     pub SubresourceCount: u32,
9127     pub pSubresourceParameters: *mut D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS,
9128     pub Format: super::Dxgi::DXGI_FORMAT,
9129     pub ResolveMode: D3D12_RESOLVE_MODE,
9130     pub PreserveResolveSource: super::super::Foundation::BOOL,
9131 }
9132 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9133 impl D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS {}
9134 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9135 impl ::std::default::Default for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS {
default() -> Self9136     fn default() -> Self {
9137         unsafe { ::std::mem::zeroed() }
9138     }
9139 }
9140 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9141 impl ::std::fmt::Debug for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9142     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9143         fmt.debug_struct("D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS")
9144             .field("pSrcResource", &self.pSrcResource)
9145             .field("pDstResource", &self.pDstResource)
9146             .field("SubresourceCount", &self.SubresourceCount)
9147             .field("pSubresourceParameters", &self.pSubresourceParameters)
9148             .field("Format", &self.Format)
9149             .field("ResolveMode", &self.ResolveMode)
9150             .field("PreserveResolveSource", &self.PreserveResolveSource)
9151             .finish()
9152     }
9153 }
9154 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9155 impl ::std::cmp::PartialEq for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS {
eq(&self, other: &Self) -> bool9156     fn eq(&self, other: &Self) -> bool {
9157         self.pSrcResource == other.pSrcResource && self.pDstResource == other.pDstResource && self.SubresourceCount == other.SubresourceCount && self.pSubresourceParameters == other.pSubresourceParameters && self.Format == other.Format && self.ResolveMode == other.ResolveMode && self.PreserveResolveSource == other.PreserveResolveSource
9158     }
9159 }
9160 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9161 impl ::std::cmp::Eq for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS {}
9162 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9163 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS {
9164     type Abi = ::std::mem::ManuallyDrop<Self>;
9165     type DefaultType = Self;
9166 }
9167 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9168 #[repr(C)]
9169 #[cfg(feature = "Win32_Foundation")]
9170 pub struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {
9171     pub SrcSubresource: u32,
9172     pub DstSubresource: u32,
9173     pub DstX: u32,
9174     pub DstY: u32,
9175     pub SrcRect: super::super::Foundation::RECT,
9176 }
9177 #[cfg(feature = "Win32_Foundation")]
9178 impl D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {}
9179 #[cfg(feature = "Win32_Foundation")]
9180 impl ::std::default::Default for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {
default() -> Self9181     fn default() -> Self {
9182         unsafe { ::std::mem::zeroed() }
9183     }
9184 }
9185 #[cfg(feature = "Win32_Foundation")]
9186 impl ::std::fmt::Debug for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9187     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9188         fmt.debug_struct("D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS").field("SrcSubresource", &self.SrcSubresource).field("DstSubresource", &self.DstSubresource).field("DstX", &self.DstX).field("DstY", &self.DstY).field("SrcRect", &self.SrcRect).finish()
9189     }
9190 }
9191 #[cfg(feature = "Win32_Foundation")]
9192 impl ::std::cmp::PartialEq for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {
eq(&self, other: &Self) -> bool9193     fn eq(&self, other: &Self) -> bool {
9194         self.SrcSubresource == other.SrcSubresource && self.DstSubresource == other.DstSubresource && self.DstX == other.DstX && self.DstY == other.DstY && self.SrcRect == other.SrcRect
9195     }
9196 }
9197 #[cfg(feature = "Win32_Foundation")]
9198 impl ::std::cmp::Eq for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {}
9199 #[cfg(feature = "Win32_Foundation")]
9200 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {
9201     type Abi = Self;
9202     type DefaultType = Self;
9203 }
9204 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9205 #[repr(transparent)]
9206 pub struct D3D12_RENDER_PASS_ENDING_ACCESS_TYPE(pub i32);
9207 pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD: D3D12_RENDER_PASS_ENDING_ACCESS_TYPE = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE(0i32);
9208 pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE: D3D12_RENDER_PASS_ENDING_ACCESS_TYPE = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE(1i32);
9209 pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE: D3D12_RENDER_PASS_ENDING_ACCESS_TYPE = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE(2i32);
9210 pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS: D3D12_RENDER_PASS_ENDING_ACCESS_TYPE = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE(3i32);
9211 impl ::std::convert::From<i32> for D3D12_RENDER_PASS_ENDING_ACCESS_TYPE {
from(value: i32) -> Self9212     fn from(value: i32) -> Self {
9213         Self(value)
9214     }
9215 }
9216 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_PASS_ENDING_ACCESS_TYPE {
9217     type Abi = Self;
9218     type DefaultType = Self;
9219 }
9220 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9221 #[repr(transparent)]
9222 pub struct D3D12_RENDER_PASS_FLAGS(pub u32);
9223 pub const D3D12_RENDER_PASS_FLAG_NONE: D3D12_RENDER_PASS_FLAGS = D3D12_RENDER_PASS_FLAGS(0u32);
9224 pub const D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES: D3D12_RENDER_PASS_FLAGS = D3D12_RENDER_PASS_FLAGS(1u32);
9225 pub const D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS: D3D12_RENDER_PASS_FLAGS = D3D12_RENDER_PASS_FLAGS(2u32);
9226 pub const D3D12_RENDER_PASS_FLAG_RESUMING_PASS: D3D12_RENDER_PASS_FLAGS = D3D12_RENDER_PASS_FLAGS(4u32);
9227 impl ::std::convert::From<u32> for D3D12_RENDER_PASS_FLAGS {
from(value: u32) -> Self9228     fn from(value: u32) -> Self {
9229         Self(value)
9230     }
9231 }
9232 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_PASS_FLAGS {
9233     type Abi = Self;
9234     type DefaultType = Self;
9235 }
9236 impl ::std::ops::BitOr for D3D12_RENDER_PASS_FLAGS {
9237     type Output = Self;
bitor(self, rhs: Self) -> Self9238     fn bitor(self, rhs: Self) -> Self {
9239         Self(self.0 | rhs.0)
9240     }
9241 }
9242 impl ::std::ops::BitAnd for D3D12_RENDER_PASS_FLAGS {
9243     type Output = Self;
bitand(self, rhs: Self) -> Self9244     fn bitand(self, rhs: Self) -> Self {
9245         Self(self.0 & rhs.0)
9246     }
9247 }
9248 impl ::std::ops::BitOrAssign for D3D12_RENDER_PASS_FLAGS {
bitor_assign(&mut self, rhs: Self)9249     fn bitor_assign(&mut self, rhs: Self) {
9250         self.0.bitor_assign(rhs.0)
9251     }
9252 }
9253 impl ::std::ops::BitAndAssign for D3D12_RENDER_PASS_FLAGS {
bitand_assign(&mut self, rhs: Self)9254     fn bitand_assign(&mut self, rhs: Self) {
9255         self.0.bitand_assign(rhs.0)
9256     }
9257 }
9258 impl ::std::ops::Not for D3D12_RENDER_PASS_FLAGS {
9259     type Output = Self;
not(self) -> Self9260     fn not(self) -> Self {
9261         Self(self.0.not())
9262     }
9263 }
9264 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9265 impl ::std::clone::Clone for D3D12_RENDER_PASS_RENDER_TARGET_DESC {
clone(&self) -> Self9266     fn clone(&self) -> Self {
9267         unimplemented!()
9268     }
9269 }
9270 #[repr(C)]
9271 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9272 pub struct D3D12_RENDER_PASS_RENDER_TARGET_DESC {
9273     pub cpuDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
9274     pub BeginningAccess: D3D12_RENDER_PASS_BEGINNING_ACCESS,
9275     pub EndingAccess: D3D12_RENDER_PASS_ENDING_ACCESS,
9276 }
9277 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9278 impl D3D12_RENDER_PASS_RENDER_TARGET_DESC {}
9279 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9280 impl ::std::default::Default for D3D12_RENDER_PASS_RENDER_TARGET_DESC {
default() -> Self9281     fn default() -> Self {
9282         unsafe { ::std::mem::zeroed() }
9283     }
9284 }
9285 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9286 impl ::std::cmp::PartialEq for D3D12_RENDER_PASS_RENDER_TARGET_DESC {
eq(&self, _other: &Self) -> bool9287     fn eq(&self, _other: &Self) -> bool {
9288         unimplemented!()
9289     }
9290 }
9291 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9292 impl ::std::cmp::Eq for D3D12_RENDER_PASS_RENDER_TARGET_DESC {}
9293 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
9294 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_PASS_RENDER_TARGET_DESC {
9295     type Abi = ::std::mem::ManuallyDrop<Self>;
9296     type DefaultType = Self;
9297 }
9298 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9299 #[repr(transparent)]
9300 pub struct D3D12_RENDER_PASS_TIER(pub i32);
9301 pub const D3D12_RENDER_PASS_TIER_0: D3D12_RENDER_PASS_TIER = D3D12_RENDER_PASS_TIER(0i32);
9302 pub const D3D12_RENDER_PASS_TIER_1: D3D12_RENDER_PASS_TIER = D3D12_RENDER_PASS_TIER(1i32);
9303 pub const D3D12_RENDER_PASS_TIER_2: D3D12_RENDER_PASS_TIER = D3D12_RENDER_PASS_TIER(2i32);
9304 impl ::std::convert::From<i32> for D3D12_RENDER_PASS_TIER {
from(value: i32) -> Self9305     fn from(value: i32) -> Self {
9306         Self(value)
9307     }
9308 }
9309 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_PASS_TIER {
9310     type Abi = Self;
9311     type DefaultType = Self;
9312 }
9313 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9314 #[repr(C)]
9315 #[cfg(feature = "Win32_Foundation")]
9316 pub struct D3D12_RENDER_TARGET_BLEND_DESC {
9317     pub BlendEnable: super::super::Foundation::BOOL,
9318     pub LogicOpEnable: super::super::Foundation::BOOL,
9319     pub SrcBlend: D3D12_BLEND,
9320     pub DestBlend: D3D12_BLEND,
9321     pub BlendOp: D3D12_BLEND_OP,
9322     pub SrcBlendAlpha: D3D12_BLEND,
9323     pub DestBlendAlpha: D3D12_BLEND,
9324     pub BlendOpAlpha: D3D12_BLEND_OP,
9325     pub LogicOp: D3D12_LOGIC_OP,
9326     pub RenderTargetWriteMask: u8,
9327 }
9328 #[cfg(feature = "Win32_Foundation")]
9329 impl D3D12_RENDER_TARGET_BLEND_DESC {}
9330 #[cfg(feature = "Win32_Foundation")]
9331 impl ::std::default::Default for D3D12_RENDER_TARGET_BLEND_DESC {
default() -> Self9332     fn default() -> Self {
9333         unsafe { ::std::mem::zeroed() }
9334     }
9335 }
9336 #[cfg(feature = "Win32_Foundation")]
9337 impl ::std::fmt::Debug for D3D12_RENDER_TARGET_BLEND_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9338     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9339         fmt.debug_struct("D3D12_RENDER_TARGET_BLEND_DESC")
9340             .field("BlendEnable", &self.BlendEnable)
9341             .field("LogicOpEnable", &self.LogicOpEnable)
9342             .field("SrcBlend", &self.SrcBlend)
9343             .field("DestBlend", &self.DestBlend)
9344             .field("BlendOp", &self.BlendOp)
9345             .field("SrcBlendAlpha", &self.SrcBlendAlpha)
9346             .field("DestBlendAlpha", &self.DestBlendAlpha)
9347             .field("BlendOpAlpha", &self.BlendOpAlpha)
9348             .field("LogicOp", &self.LogicOp)
9349             .field("RenderTargetWriteMask", &self.RenderTargetWriteMask)
9350             .finish()
9351     }
9352 }
9353 #[cfg(feature = "Win32_Foundation")]
9354 impl ::std::cmp::PartialEq for D3D12_RENDER_TARGET_BLEND_DESC {
eq(&self, other: &Self) -> bool9355     fn eq(&self, other: &Self) -> bool {
9356         self.BlendEnable == other.BlendEnable && self.LogicOpEnable == other.LogicOpEnable && self.SrcBlend == other.SrcBlend && self.DestBlend == other.DestBlend && self.BlendOp == other.BlendOp && self.SrcBlendAlpha == other.SrcBlendAlpha && self.DestBlendAlpha == other.DestBlendAlpha && self.BlendOpAlpha == other.BlendOpAlpha && self.LogicOp == other.LogicOp && self.RenderTargetWriteMask == other.RenderTargetWriteMask
9357     }
9358 }
9359 #[cfg(feature = "Win32_Foundation")]
9360 impl ::std::cmp::Eq for D3D12_RENDER_TARGET_BLEND_DESC {}
9361 #[cfg(feature = "Win32_Foundation")]
9362 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_TARGET_BLEND_DESC {
9363     type Abi = Self;
9364     type DefaultType = Self;
9365 }
9366 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9367 #[repr(C)]
9368 #[cfg(feature = "Win32_Graphics_Dxgi")]
9369 pub struct D3D12_RENDER_TARGET_VIEW_DESC {
9370     pub Format: super::Dxgi::DXGI_FORMAT,
9371     pub ViewDimension: D3D12_RTV_DIMENSION,
9372     pub Anonymous: D3D12_RENDER_TARGET_VIEW_DESC_0,
9373 }
9374 #[cfg(feature = "Win32_Graphics_Dxgi")]
9375 impl D3D12_RENDER_TARGET_VIEW_DESC {}
9376 #[cfg(feature = "Win32_Graphics_Dxgi")]
9377 impl ::std::default::Default for D3D12_RENDER_TARGET_VIEW_DESC {
default() -> Self9378     fn default() -> Self {
9379         unsafe { ::std::mem::zeroed() }
9380     }
9381 }
9382 #[cfg(feature = "Win32_Graphics_Dxgi")]
9383 impl ::std::cmp::PartialEq for D3D12_RENDER_TARGET_VIEW_DESC {
eq(&self, _other: &Self) -> bool9384     fn eq(&self, _other: &Self) -> bool {
9385         unimplemented!()
9386     }
9387 }
9388 #[cfg(feature = "Win32_Graphics_Dxgi")]
9389 impl ::std::cmp::Eq for D3D12_RENDER_TARGET_VIEW_DESC {}
9390 #[cfg(feature = "Win32_Graphics_Dxgi")]
9391 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_TARGET_VIEW_DESC {
9392     type Abi = Self;
9393     type DefaultType = Self;
9394 }
9395 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9396 #[repr(C)]
9397 pub union D3D12_RENDER_TARGET_VIEW_DESC_0 {
9398     pub Buffer: D3D12_BUFFER_RTV,
9399     pub Texture1D: D3D12_TEX1D_RTV,
9400     pub Texture1DArray: D3D12_TEX1D_ARRAY_RTV,
9401     pub Texture2D: D3D12_TEX2D_RTV,
9402     pub Texture2DArray: D3D12_TEX2D_ARRAY_RTV,
9403     pub Texture2DMS: D3D12_TEX2DMS_RTV,
9404     pub Texture2DMSArray: D3D12_TEX2DMS_ARRAY_RTV,
9405     pub Texture3D: D3D12_TEX3D_RTV,
9406 }
9407 impl D3D12_RENDER_TARGET_VIEW_DESC_0 {}
9408 impl ::std::default::Default for D3D12_RENDER_TARGET_VIEW_DESC_0 {
default() -> Self9409     fn default() -> Self {
9410         unsafe { ::std::mem::zeroed() }
9411     }
9412 }
9413 impl ::std::cmp::PartialEq for D3D12_RENDER_TARGET_VIEW_DESC_0 {
eq(&self, _other: &Self) -> bool9414     fn eq(&self, _other: &Self) -> bool {
9415         unimplemented!()
9416     }
9417 }
9418 impl ::std::cmp::Eq for D3D12_RENDER_TARGET_VIEW_DESC_0 {}
9419 unsafe impl ::windows::runtime::Abi for D3D12_RENDER_TARGET_VIEW_DESC_0 {
9420     type Abi = Self;
9421     type DefaultType = Self;
9422 }
9423 pub const D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE: u32 = 4096u32;
9424 pub const D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP: u32 = 27u32;
9425 pub const D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT: u32 = 4096u32;
9426 pub const D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE: u32 = 4096u32;
9427 pub const D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: u32 = 32u32;
9428 pub const D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP: u32 = 32u32;
9429 pub const D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION: u32 = 16384u32;
9430 pub const D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT: u32 = 1024u32;
9431 pub const D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT: u32 = 4096u32;
9432 pub const D3D12_REQ_MAXANISOTROPY: u32 = 16u32;
9433 pub const D3D12_REQ_MIP_LEVELS: u32 = 15u32;
9434 pub const D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES: u32 = 2048u32;
9435 pub const D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE: u32 = 4096u32;
9436 pub const D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH: u32 = 16384u32;
9437 pub const D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM: u32 = 128u32;
9438 pub const D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM: f32 = 0.25f32;
9439 pub const D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM: u32 = 2048u32;
9440 pub const D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP: u32 = 20u32;
9441 pub const D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE: u32 = 4096u32;
9442 pub const D3D12_REQ_SUBRESOURCES: u32 = 30720u32;
9443 pub const D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION: u32 = 2048u32;
9444 pub const D3D12_REQ_TEXTURE1D_U_DIMENSION: u32 = 16384u32;
9445 pub const D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION: u32 = 2048u32;
9446 pub const D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION: u32 = 16384u32;
9447 pub const D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION: u32 = 2048u32;
9448 pub const D3D12_REQ_TEXTURECUBE_DIMENSION: u32 = 16384u32;
9449 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9450 #[repr(transparent)]
9451 pub struct D3D12_RESIDENCY_FLAGS(pub u32);
9452 pub const D3D12_RESIDENCY_FLAG_NONE: D3D12_RESIDENCY_FLAGS = D3D12_RESIDENCY_FLAGS(0u32);
9453 pub const D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET: D3D12_RESIDENCY_FLAGS = D3D12_RESIDENCY_FLAGS(1u32);
9454 impl ::std::convert::From<u32> for D3D12_RESIDENCY_FLAGS {
from(value: u32) -> Self9455     fn from(value: u32) -> Self {
9456         Self(value)
9457     }
9458 }
9459 unsafe impl ::windows::runtime::Abi for D3D12_RESIDENCY_FLAGS {
9460     type Abi = Self;
9461     type DefaultType = Self;
9462 }
9463 impl ::std::ops::BitOr for D3D12_RESIDENCY_FLAGS {
9464     type Output = Self;
bitor(self, rhs: Self) -> Self9465     fn bitor(self, rhs: Self) -> Self {
9466         Self(self.0 | rhs.0)
9467     }
9468 }
9469 impl ::std::ops::BitAnd for D3D12_RESIDENCY_FLAGS {
9470     type Output = Self;
bitand(self, rhs: Self) -> Self9471     fn bitand(self, rhs: Self) -> Self {
9472         Self(self.0 & rhs.0)
9473     }
9474 }
9475 impl ::std::ops::BitOrAssign for D3D12_RESIDENCY_FLAGS {
bitor_assign(&mut self, rhs: Self)9476     fn bitor_assign(&mut self, rhs: Self) {
9477         self.0.bitor_assign(rhs.0)
9478     }
9479 }
9480 impl ::std::ops::BitAndAssign for D3D12_RESIDENCY_FLAGS {
bitand_assign(&mut self, rhs: Self)9481     fn bitand_assign(&mut self, rhs: Self) {
9482         self.0.bitand_assign(rhs.0)
9483     }
9484 }
9485 impl ::std::ops::Not for D3D12_RESIDENCY_FLAGS {
9486     type Output = Self;
not(self) -> Self9487     fn not(self) -> Self {
9488         Self(self.0.not())
9489     }
9490 }
9491 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9492 #[repr(transparent)]
9493 pub struct D3D12_RESIDENCY_PRIORITY(pub i32);
9494 pub const D3D12_RESIDENCY_PRIORITY_MINIMUM: D3D12_RESIDENCY_PRIORITY = D3D12_RESIDENCY_PRIORITY(671088640i32);
9495 pub const D3D12_RESIDENCY_PRIORITY_LOW: D3D12_RESIDENCY_PRIORITY = D3D12_RESIDENCY_PRIORITY(1342177280i32);
9496 pub const D3D12_RESIDENCY_PRIORITY_NORMAL: D3D12_RESIDENCY_PRIORITY = D3D12_RESIDENCY_PRIORITY(2013265920i32);
9497 pub const D3D12_RESIDENCY_PRIORITY_HIGH: D3D12_RESIDENCY_PRIORITY = D3D12_RESIDENCY_PRIORITY(-1610547200i32);
9498 pub const D3D12_RESIDENCY_PRIORITY_MAXIMUM: D3D12_RESIDENCY_PRIORITY = D3D12_RESIDENCY_PRIORITY(-939524096i32);
9499 impl ::std::convert::From<i32> for D3D12_RESIDENCY_PRIORITY {
from(value: i32) -> Self9500     fn from(value: i32) -> Self {
9501         Self(value)
9502     }
9503 }
9504 unsafe impl ::windows::runtime::Abi for D3D12_RESIDENCY_PRIORITY {
9505     type Abi = Self;
9506     type DefaultType = Self;
9507 }
9508 pub const D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL: u32 = 0u32;
9509 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9510 #[repr(transparent)]
9511 pub struct D3D12_RESOLVE_MODE(pub i32);
9512 pub const D3D12_RESOLVE_MODE_DECOMPRESS: D3D12_RESOLVE_MODE = D3D12_RESOLVE_MODE(0i32);
9513 pub const D3D12_RESOLVE_MODE_MIN: D3D12_RESOLVE_MODE = D3D12_RESOLVE_MODE(1i32);
9514 pub const D3D12_RESOLVE_MODE_MAX: D3D12_RESOLVE_MODE = D3D12_RESOLVE_MODE(2i32);
9515 pub const D3D12_RESOLVE_MODE_AVERAGE: D3D12_RESOLVE_MODE = D3D12_RESOLVE_MODE(3i32);
9516 pub const D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK: D3D12_RESOLVE_MODE = D3D12_RESOLVE_MODE(4i32);
9517 pub const D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK: D3D12_RESOLVE_MODE = D3D12_RESOLVE_MODE(5i32);
9518 impl ::std::convert::From<i32> for D3D12_RESOLVE_MODE {
from(value: i32) -> Self9519     fn from(value: i32) -> Self {
9520         Self(value)
9521     }
9522 }
9523 unsafe impl ::windows::runtime::Abi for D3D12_RESOLVE_MODE {
9524     type Abi = Self;
9525     type DefaultType = Self;
9526 }
9527 #[derive(:: std :: clone :: Clone)]
9528 #[repr(C)]
9529 pub struct D3D12_RESOURCE_ALIASING_BARRIER {
9530     pub pResourceBefore: ::std::option::Option<ID3D12Resource>,
9531     pub pResourceAfter: ::std::option::Option<ID3D12Resource>,
9532 }
9533 impl D3D12_RESOURCE_ALIASING_BARRIER {}
9534 impl ::std::default::Default for D3D12_RESOURCE_ALIASING_BARRIER {
default() -> Self9535     fn default() -> Self {
9536         unsafe { ::std::mem::zeroed() }
9537     }
9538 }
9539 impl ::std::fmt::Debug for D3D12_RESOURCE_ALIASING_BARRIER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9540     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9541         fmt.debug_struct("D3D12_RESOURCE_ALIASING_BARRIER").field("pResourceBefore", &self.pResourceBefore).field("pResourceAfter", &self.pResourceAfter).finish()
9542     }
9543 }
9544 impl ::std::cmp::PartialEq for D3D12_RESOURCE_ALIASING_BARRIER {
eq(&self, other: &Self) -> bool9545     fn eq(&self, other: &Self) -> bool {
9546         self.pResourceBefore == other.pResourceBefore && self.pResourceAfter == other.pResourceAfter
9547     }
9548 }
9549 impl ::std::cmp::Eq for D3D12_RESOURCE_ALIASING_BARRIER {}
9550 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_ALIASING_BARRIER {
9551     type Abi = ::std::mem::ManuallyDrop<Self>;
9552     type DefaultType = Self;
9553 }
9554 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9555 #[repr(C)]
9556 pub struct D3D12_RESOURCE_ALLOCATION_INFO {
9557     pub SizeInBytes: u64,
9558     pub Alignment: u64,
9559 }
9560 impl D3D12_RESOURCE_ALLOCATION_INFO {}
9561 impl ::std::default::Default for D3D12_RESOURCE_ALLOCATION_INFO {
default() -> Self9562     fn default() -> Self {
9563         unsafe { ::std::mem::zeroed() }
9564     }
9565 }
9566 impl ::std::fmt::Debug for D3D12_RESOURCE_ALLOCATION_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9567     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9568         fmt.debug_struct("D3D12_RESOURCE_ALLOCATION_INFO").field("SizeInBytes", &self.SizeInBytes).field("Alignment", &self.Alignment).finish()
9569     }
9570 }
9571 impl ::std::cmp::PartialEq for D3D12_RESOURCE_ALLOCATION_INFO {
eq(&self, other: &Self) -> bool9572     fn eq(&self, other: &Self) -> bool {
9573         self.SizeInBytes == other.SizeInBytes && self.Alignment == other.Alignment
9574     }
9575 }
9576 impl ::std::cmp::Eq for D3D12_RESOURCE_ALLOCATION_INFO {}
9577 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_ALLOCATION_INFO {
9578     type Abi = Self;
9579     type DefaultType = Self;
9580 }
9581 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9582 #[repr(C)]
9583 pub struct D3D12_RESOURCE_ALLOCATION_INFO1 {
9584     pub Offset: u64,
9585     pub Alignment: u64,
9586     pub SizeInBytes: u64,
9587 }
9588 impl D3D12_RESOURCE_ALLOCATION_INFO1 {}
9589 impl ::std::default::Default for D3D12_RESOURCE_ALLOCATION_INFO1 {
default() -> Self9590     fn default() -> Self {
9591         unsafe { ::std::mem::zeroed() }
9592     }
9593 }
9594 impl ::std::fmt::Debug for D3D12_RESOURCE_ALLOCATION_INFO1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9595     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9596         fmt.debug_struct("D3D12_RESOURCE_ALLOCATION_INFO1").field("Offset", &self.Offset).field("Alignment", &self.Alignment).field("SizeInBytes", &self.SizeInBytes).finish()
9597     }
9598 }
9599 impl ::std::cmp::PartialEq for D3D12_RESOURCE_ALLOCATION_INFO1 {
eq(&self, other: &Self) -> bool9600     fn eq(&self, other: &Self) -> bool {
9601         self.Offset == other.Offset && self.Alignment == other.Alignment && self.SizeInBytes == other.SizeInBytes
9602     }
9603 }
9604 impl ::std::cmp::Eq for D3D12_RESOURCE_ALLOCATION_INFO1 {}
9605 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_ALLOCATION_INFO1 {
9606     type Abi = Self;
9607     type DefaultType = Self;
9608 }
9609 impl ::std::clone::Clone for D3D12_RESOURCE_BARRIER {
clone(&self) -> Self9610     fn clone(&self) -> Self {
9611         unimplemented!()
9612     }
9613 }
9614 #[repr(C)]
9615 pub struct D3D12_RESOURCE_BARRIER {
9616     pub Type: D3D12_RESOURCE_BARRIER_TYPE,
9617     pub Flags: D3D12_RESOURCE_BARRIER_FLAGS,
9618     pub Anonymous: D3D12_RESOURCE_BARRIER_0,
9619 }
9620 impl D3D12_RESOURCE_BARRIER {}
9621 impl ::std::default::Default for D3D12_RESOURCE_BARRIER {
default() -> Self9622     fn default() -> Self {
9623         unsafe { ::std::mem::zeroed() }
9624     }
9625 }
9626 impl ::std::cmp::PartialEq for D3D12_RESOURCE_BARRIER {
eq(&self, _other: &Self) -> bool9627     fn eq(&self, _other: &Self) -> bool {
9628         unimplemented!()
9629     }
9630 }
9631 impl ::std::cmp::Eq for D3D12_RESOURCE_BARRIER {}
9632 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_BARRIER {
9633     type Abi = ::std::mem::ManuallyDrop<Self>;
9634     type DefaultType = Self;
9635 }
9636 impl ::std::clone::Clone for D3D12_RESOURCE_BARRIER_0 {
clone(&self) -> Self9637     fn clone(&self) -> Self {
9638         unimplemented!()
9639     }
9640 }
9641 #[repr(C)]
9642 pub union D3D12_RESOURCE_BARRIER_0 {
9643     pub Transition: ::std::mem::ManuallyDrop<D3D12_RESOURCE_TRANSITION_BARRIER>,
9644     pub Aliasing: ::std::mem::ManuallyDrop<D3D12_RESOURCE_ALIASING_BARRIER>,
9645     pub UAV: ::std::mem::ManuallyDrop<D3D12_RESOURCE_UAV_BARRIER>,
9646 }
9647 impl D3D12_RESOURCE_BARRIER_0 {}
9648 impl ::std::default::Default for D3D12_RESOURCE_BARRIER_0 {
default() -> Self9649     fn default() -> Self {
9650         unsafe { ::std::mem::zeroed() }
9651     }
9652 }
9653 impl ::std::cmp::PartialEq for D3D12_RESOURCE_BARRIER_0 {
eq(&self, _other: &Self) -> bool9654     fn eq(&self, _other: &Self) -> bool {
9655         unimplemented!()
9656     }
9657 }
9658 impl ::std::cmp::Eq for D3D12_RESOURCE_BARRIER_0 {}
9659 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_BARRIER_0 {
9660     type Abi = ::std::mem::ManuallyDrop<Self>;
9661     type DefaultType = Self;
9662 }
9663 pub const D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES: u32 = 4294967295u32;
9664 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9665 #[repr(transparent)]
9666 pub struct D3D12_RESOURCE_BARRIER_FLAGS(pub u32);
9667 pub const D3D12_RESOURCE_BARRIER_FLAG_NONE: D3D12_RESOURCE_BARRIER_FLAGS = D3D12_RESOURCE_BARRIER_FLAGS(0u32);
9668 pub const D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY: D3D12_RESOURCE_BARRIER_FLAGS = D3D12_RESOURCE_BARRIER_FLAGS(1u32);
9669 pub const D3D12_RESOURCE_BARRIER_FLAG_END_ONLY: D3D12_RESOURCE_BARRIER_FLAGS = D3D12_RESOURCE_BARRIER_FLAGS(2u32);
9670 impl ::std::convert::From<u32> for D3D12_RESOURCE_BARRIER_FLAGS {
from(value: u32) -> Self9671     fn from(value: u32) -> Self {
9672         Self(value)
9673     }
9674 }
9675 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_BARRIER_FLAGS {
9676     type Abi = Self;
9677     type DefaultType = Self;
9678 }
9679 impl ::std::ops::BitOr for D3D12_RESOURCE_BARRIER_FLAGS {
9680     type Output = Self;
bitor(self, rhs: Self) -> Self9681     fn bitor(self, rhs: Self) -> Self {
9682         Self(self.0 | rhs.0)
9683     }
9684 }
9685 impl ::std::ops::BitAnd for D3D12_RESOURCE_BARRIER_FLAGS {
9686     type Output = Self;
bitand(self, rhs: Self) -> Self9687     fn bitand(self, rhs: Self) -> Self {
9688         Self(self.0 & rhs.0)
9689     }
9690 }
9691 impl ::std::ops::BitOrAssign for D3D12_RESOURCE_BARRIER_FLAGS {
bitor_assign(&mut self, rhs: Self)9692     fn bitor_assign(&mut self, rhs: Self) {
9693         self.0.bitor_assign(rhs.0)
9694     }
9695 }
9696 impl ::std::ops::BitAndAssign for D3D12_RESOURCE_BARRIER_FLAGS {
bitand_assign(&mut self, rhs: Self)9697     fn bitand_assign(&mut self, rhs: Self) {
9698         self.0.bitand_assign(rhs.0)
9699     }
9700 }
9701 impl ::std::ops::Not for D3D12_RESOURCE_BARRIER_FLAGS {
9702     type Output = Self;
not(self) -> Self9703     fn not(self) -> Self {
9704         Self(self.0.not())
9705     }
9706 }
9707 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9708 #[repr(transparent)]
9709 pub struct D3D12_RESOURCE_BARRIER_TYPE(pub i32);
9710 pub const D3D12_RESOURCE_BARRIER_TYPE_TRANSITION: D3D12_RESOURCE_BARRIER_TYPE = D3D12_RESOURCE_BARRIER_TYPE(0i32);
9711 pub const D3D12_RESOURCE_BARRIER_TYPE_ALIASING: D3D12_RESOURCE_BARRIER_TYPE = D3D12_RESOURCE_BARRIER_TYPE(1i32);
9712 pub const D3D12_RESOURCE_BARRIER_TYPE_UAV: D3D12_RESOURCE_BARRIER_TYPE = D3D12_RESOURCE_BARRIER_TYPE(2i32);
9713 impl ::std::convert::From<i32> for D3D12_RESOURCE_BARRIER_TYPE {
from(value: i32) -> Self9714     fn from(value: i32) -> Self {
9715         Self(value)
9716     }
9717 }
9718 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_BARRIER_TYPE {
9719     type Abi = Self;
9720     type DefaultType = Self;
9721 }
9722 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9723 #[repr(transparent)]
9724 pub struct D3D12_RESOURCE_BINDING_TIER(pub i32);
9725 pub const D3D12_RESOURCE_BINDING_TIER_1: D3D12_RESOURCE_BINDING_TIER = D3D12_RESOURCE_BINDING_TIER(1i32);
9726 pub const D3D12_RESOURCE_BINDING_TIER_2: D3D12_RESOURCE_BINDING_TIER = D3D12_RESOURCE_BINDING_TIER(2i32);
9727 pub const D3D12_RESOURCE_BINDING_TIER_3: D3D12_RESOURCE_BINDING_TIER = D3D12_RESOURCE_BINDING_TIER(3i32);
9728 impl ::std::convert::From<i32> for D3D12_RESOURCE_BINDING_TIER {
from(value: i32) -> Self9729     fn from(value: i32) -> Self {
9730         Self(value)
9731     }
9732 }
9733 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_BINDING_TIER {
9734     type Abi = Self;
9735     type DefaultType = Self;
9736 }
9737 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9738 #[repr(C)]
9739 #[cfg(feature = "Win32_Graphics_Dxgi")]
9740 pub struct D3D12_RESOURCE_DESC {
9741     pub Dimension: D3D12_RESOURCE_DIMENSION,
9742     pub Alignment: u64,
9743     pub Width: u64,
9744     pub Height: u32,
9745     pub DepthOrArraySize: u16,
9746     pub MipLevels: u16,
9747     pub Format: super::Dxgi::DXGI_FORMAT,
9748     pub SampleDesc: super::Dxgi::DXGI_SAMPLE_DESC,
9749     pub Layout: D3D12_TEXTURE_LAYOUT,
9750     pub Flags: D3D12_RESOURCE_FLAGS,
9751 }
9752 #[cfg(feature = "Win32_Graphics_Dxgi")]
9753 impl D3D12_RESOURCE_DESC {}
9754 #[cfg(feature = "Win32_Graphics_Dxgi")]
9755 impl ::std::default::Default for D3D12_RESOURCE_DESC {
default() -> Self9756     fn default() -> Self {
9757         unsafe { ::std::mem::zeroed() }
9758     }
9759 }
9760 #[cfg(feature = "Win32_Graphics_Dxgi")]
9761 impl ::std::fmt::Debug for D3D12_RESOURCE_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9762     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9763         fmt.debug_struct("D3D12_RESOURCE_DESC")
9764             .field("Dimension", &self.Dimension)
9765             .field("Alignment", &self.Alignment)
9766             .field("Width", &self.Width)
9767             .field("Height", &self.Height)
9768             .field("DepthOrArraySize", &self.DepthOrArraySize)
9769             .field("MipLevels", &self.MipLevels)
9770             .field("Format", &self.Format)
9771             .field("SampleDesc", &self.SampleDesc)
9772             .field("Layout", &self.Layout)
9773             .field("Flags", &self.Flags)
9774             .finish()
9775     }
9776 }
9777 #[cfg(feature = "Win32_Graphics_Dxgi")]
9778 impl ::std::cmp::PartialEq for D3D12_RESOURCE_DESC {
eq(&self, other: &Self) -> bool9779     fn eq(&self, other: &Self) -> bool {
9780         self.Dimension == other.Dimension && self.Alignment == other.Alignment && self.Width == other.Width && self.Height == other.Height && self.DepthOrArraySize == other.DepthOrArraySize && self.MipLevels == other.MipLevels && self.Format == other.Format && self.SampleDesc == other.SampleDesc && self.Layout == other.Layout && self.Flags == other.Flags
9781     }
9782 }
9783 #[cfg(feature = "Win32_Graphics_Dxgi")]
9784 impl ::std::cmp::Eq for D3D12_RESOURCE_DESC {}
9785 #[cfg(feature = "Win32_Graphics_Dxgi")]
9786 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_DESC {
9787     type Abi = Self;
9788     type DefaultType = Self;
9789 }
9790 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9791 #[repr(C)]
9792 #[cfg(feature = "Win32_Graphics_Dxgi")]
9793 pub struct D3D12_RESOURCE_DESC1 {
9794     pub Dimension: D3D12_RESOURCE_DIMENSION,
9795     pub Alignment: u64,
9796     pub Width: u64,
9797     pub Height: u32,
9798     pub DepthOrArraySize: u16,
9799     pub MipLevels: u16,
9800     pub Format: super::Dxgi::DXGI_FORMAT,
9801     pub SampleDesc: super::Dxgi::DXGI_SAMPLE_DESC,
9802     pub Layout: D3D12_TEXTURE_LAYOUT,
9803     pub Flags: D3D12_RESOURCE_FLAGS,
9804     pub SamplerFeedbackMipRegion: D3D12_MIP_REGION,
9805 }
9806 #[cfg(feature = "Win32_Graphics_Dxgi")]
9807 impl D3D12_RESOURCE_DESC1 {}
9808 #[cfg(feature = "Win32_Graphics_Dxgi")]
9809 impl ::std::default::Default for D3D12_RESOURCE_DESC1 {
default() -> Self9810     fn default() -> Self {
9811         unsafe { ::std::mem::zeroed() }
9812     }
9813 }
9814 #[cfg(feature = "Win32_Graphics_Dxgi")]
9815 impl ::std::fmt::Debug for D3D12_RESOURCE_DESC1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9816     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9817         fmt.debug_struct("D3D12_RESOURCE_DESC1")
9818             .field("Dimension", &self.Dimension)
9819             .field("Alignment", &self.Alignment)
9820             .field("Width", &self.Width)
9821             .field("Height", &self.Height)
9822             .field("DepthOrArraySize", &self.DepthOrArraySize)
9823             .field("MipLevels", &self.MipLevels)
9824             .field("Format", &self.Format)
9825             .field("SampleDesc", &self.SampleDesc)
9826             .field("Layout", &self.Layout)
9827             .field("Flags", &self.Flags)
9828             .field("SamplerFeedbackMipRegion", &self.SamplerFeedbackMipRegion)
9829             .finish()
9830     }
9831 }
9832 #[cfg(feature = "Win32_Graphics_Dxgi")]
9833 impl ::std::cmp::PartialEq for D3D12_RESOURCE_DESC1 {
eq(&self, other: &Self) -> bool9834     fn eq(&self, other: &Self) -> bool {
9835         self.Dimension == other.Dimension && self.Alignment == other.Alignment && self.Width == other.Width && self.Height == other.Height && self.DepthOrArraySize == other.DepthOrArraySize && self.MipLevels == other.MipLevels && self.Format == other.Format && self.SampleDesc == other.SampleDesc && self.Layout == other.Layout && self.Flags == other.Flags && self.SamplerFeedbackMipRegion == other.SamplerFeedbackMipRegion
9836     }
9837 }
9838 #[cfg(feature = "Win32_Graphics_Dxgi")]
9839 impl ::std::cmp::Eq for D3D12_RESOURCE_DESC1 {}
9840 #[cfg(feature = "Win32_Graphics_Dxgi")]
9841 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_DESC1 {
9842     type Abi = Self;
9843     type DefaultType = Self;
9844 }
9845 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9846 #[repr(transparent)]
9847 pub struct D3D12_RESOURCE_DIMENSION(pub i32);
9848 pub const D3D12_RESOURCE_DIMENSION_UNKNOWN: D3D12_RESOURCE_DIMENSION = D3D12_RESOURCE_DIMENSION(0i32);
9849 pub const D3D12_RESOURCE_DIMENSION_BUFFER: D3D12_RESOURCE_DIMENSION = D3D12_RESOURCE_DIMENSION(1i32);
9850 pub const D3D12_RESOURCE_DIMENSION_TEXTURE1D: D3D12_RESOURCE_DIMENSION = D3D12_RESOURCE_DIMENSION(2i32);
9851 pub const D3D12_RESOURCE_DIMENSION_TEXTURE2D: D3D12_RESOURCE_DIMENSION = D3D12_RESOURCE_DIMENSION(3i32);
9852 pub const D3D12_RESOURCE_DIMENSION_TEXTURE3D: D3D12_RESOURCE_DIMENSION = D3D12_RESOURCE_DIMENSION(4i32);
9853 impl ::std::convert::From<i32> for D3D12_RESOURCE_DIMENSION {
from(value: i32) -> Self9854     fn from(value: i32) -> Self {
9855         Self(value)
9856     }
9857 }
9858 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_DIMENSION {
9859     type Abi = Self;
9860     type DefaultType = Self;
9861 }
9862 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9863 #[repr(transparent)]
9864 pub struct D3D12_RESOURCE_FLAGS(pub u32);
9865 pub const D3D12_RESOURCE_FLAG_NONE: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(0u32);
9866 pub const D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(1u32);
9867 pub const D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(2u32);
9868 pub const D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(4u32);
9869 pub const D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(8u32);
9870 pub const D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(16u32);
9871 pub const D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(32u32);
9872 pub const D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(64u32);
9873 pub const D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(128u32);
9874 impl ::std::convert::From<u32> for D3D12_RESOURCE_FLAGS {
from(value: u32) -> Self9875     fn from(value: u32) -> Self {
9876         Self(value)
9877     }
9878 }
9879 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_FLAGS {
9880     type Abi = Self;
9881     type DefaultType = Self;
9882 }
9883 impl ::std::ops::BitOr for D3D12_RESOURCE_FLAGS {
9884     type Output = Self;
bitor(self, rhs: Self) -> Self9885     fn bitor(self, rhs: Self) -> Self {
9886         Self(self.0 | rhs.0)
9887     }
9888 }
9889 impl ::std::ops::BitAnd for D3D12_RESOURCE_FLAGS {
9890     type Output = Self;
bitand(self, rhs: Self) -> Self9891     fn bitand(self, rhs: Self) -> Self {
9892         Self(self.0 & rhs.0)
9893     }
9894 }
9895 impl ::std::ops::BitOrAssign for D3D12_RESOURCE_FLAGS {
bitor_assign(&mut self, rhs: Self)9896     fn bitor_assign(&mut self, rhs: Self) {
9897         self.0.bitor_assign(rhs.0)
9898     }
9899 }
9900 impl ::std::ops::BitAndAssign for D3D12_RESOURCE_FLAGS {
bitand_assign(&mut self, rhs: Self)9901     fn bitand_assign(&mut self, rhs: Self) {
9902         self.0.bitand_assign(rhs.0)
9903     }
9904 }
9905 impl ::std::ops::Not for D3D12_RESOURCE_FLAGS {
9906     type Output = Self;
not(self) -> Self9907     fn not(self) -> Self {
9908         Self(self.0.not())
9909     }
9910 }
9911 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9912 #[repr(transparent)]
9913 pub struct D3D12_RESOURCE_HEAP_TIER(pub i32);
9914 pub const D3D12_RESOURCE_HEAP_TIER_1: D3D12_RESOURCE_HEAP_TIER = D3D12_RESOURCE_HEAP_TIER(1i32);
9915 pub const D3D12_RESOURCE_HEAP_TIER_2: D3D12_RESOURCE_HEAP_TIER = D3D12_RESOURCE_HEAP_TIER(2i32);
9916 impl ::std::convert::From<i32> for D3D12_RESOURCE_HEAP_TIER {
from(value: i32) -> Self9917     fn from(value: i32) -> Self {
9918         Self(value)
9919     }
9920 }
9921 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_HEAP_TIER {
9922     type Abi = Self;
9923     type DefaultType = Self;
9924 }
9925 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9926 #[repr(transparent)]
9927 pub struct D3D12_RESOURCE_STATES(pub u32);
9928 pub const D3D12_RESOURCE_STATE_COMMON: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(0u32);
9929 pub const D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(1u32);
9930 pub const D3D12_RESOURCE_STATE_INDEX_BUFFER: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(2u32);
9931 pub const D3D12_RESOURCE_STATE_RENDER_TARGET: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(4u32);
9932 pub const D3D12_RESOURCE_STATE_UNORDERED_ACCESS: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(8u32);
9933 pub const D3D12_RESOURCE_STATE_DEPTH_WRITE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(16u32);
9934 pub const D3D12_RESOURCE_STATE_DEPTH_READ: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(32u32);
9935 pub const D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(64u32);
9936 pub const D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(128u32);
9937 pub const D3D12_RESOURCE_STATE_STREAM_OUT: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(256u32);
9938 pub const D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(512u32);
9939 pub const D3D12_RESOURCE_STATE_COPY_DEST: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(1024u32);
9940 pub const D3D12_RESOURCE_STATE_COPY_SOURCE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(2048u32);
9941 pub const D3D12_RESOURCE_STATE_RESOLVE_DEST: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(4096u32);
9942 pub const D3D12_RESOURCE_STATE_RESOLVE_SOURCE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(8192u32);
9943 pub const D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(4194304u32);
9944 pub const D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(16777216u32);
9945 pub const D3D12_RESOURCE_STATE_GENERIC_READ: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(2755u32);
9946 pub const D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(192u32);
9947 pub const D3D12_RESOURCE_STATE_PRESENT: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(0u32);
9948 pub const D3D12_RESOURCE_STATE_PREDICATION: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(512u32);
9949 pub const D3D12_RESOURCE_STATE_VIDEO_DECODE_READ: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(65536u32);
9950 pub const D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(131072u32);
9951 pub const D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(262144u32);
9952 pub const D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(524288u32);
9953 pub const D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(2097152u32);
9954 pub const D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(8388608u32);
9955 impl ::std::convert::From<u32> for D3D12_RESOURCE_STATES {
from(value: u32) -> Self9956     fn from(value: u32) -> Self {
9957         Self(value)
9958     }
9959 }
9960 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_STATES {
9961     type Abi = Self;
9962     type DefaultType = Self;
9963 }
9964 impl ::std::ops::BitOr for D3D12_RESOURCE_STATES {
9965     type Output = Self;
bitor(self, rhs: Self) -> Self9966     fn bitor(self, rhs: Self) -> Self {
9967         Self(self.0 | rhs.0)
9968     }
9969 }
9970 impl ::std::ops::BitAnd for D3D12_RESOURCE_STATES {
9971     type Output = Self;
bitand(self, rhs: Self) -> Self9972     fn bitand(self, rhs: Self) -> Self {
9973         Self(self.0 & rhs.0)
9974     }
9975 }
9976 impl ::std::ops::BitOrAssign for D3D12_RESOURCE_STATES {
bitor_assign(&mut self, rhs: Self)9977     fn bitor_assign(&mut self, rhs: Self) {
9978         self.0.bitor_assign(rhs.0)
9979     }
9980 }
9981 impl ::std::ops::BitAndAssign for D3D12_RESOURCE_STATES {
bitand_assign(&mut self, rhs: Self)9982     fn bitand_assign(&mut self, rhs: Self) {
9983         self.0.bitand_assign(rhs.0)
9984     }
9985 }
9986 impl ::std::ops::Not for D3D12_RESOURCE_STATES {
9987     type Output = Self;
not(self) -> Self9988     fn not(self) -> Self {
9989         Self(self.0.not())
9990     }
9991 }
9992 #[derive(:: std :: clone :: Clone)]
9993 #[repr(C)]
9994 pub struct D3D12_RESOURCE_TRANSITION_BARRIER {
9995     pub pResource: ::std::option::Option<ID3D12Resource>,
9996     pub Subresource: u32,
9997     pub StateBefore: D3D12_RESOURCE_STATES,
9998     pub StateAfter: D3D12_RESOURCE_STATES,
9999 }
10000 impl D3D12_RESOURCE_TRANSITION_BARRIER {}
10001 impl ::std::default::Default for D3D12_RESOURCE_TRANSITION_BARRIER {
default() -> Self10002     fn default() -> Self {
10003         unsafe { ::std::mem::zeroed() }
10004     }
10005 }
10006 impl ::std::fmt::Debug for D3D12_RESOURCE_TRANSITION_BARRIER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10007     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10008         fmt.debug_struct("D3D12_RESOURCE_TRANSITION_BARRIER").field("pResource", &self.pResource).field("Subresource", &self.Subresource).field("StateBefore", &self.StateBefore).field("StateAfter", &self.StateAfter).finish()
10009     }
10010 }
10011 impl ::std::cmp::PartialEq for D3D12_RESOURCE_TRANSITION_BARRIER {
eq(&self, other: &Self) -> bool10012     fn eq(&self, other: &Self) -> bool {
10013         self.pResource == other.pResource && self.Subresource == other.Subresource && self.StateBefore == other.StateBefore && self.StateAfter == other.StateAfter
10014     }
10015 }
10016 impl ::std::cmp::Eq for D3D12_RESOURCE_TRANSITION_BARRIER {}
10017 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_TRANSITION_BARRIER {
10018     type Abi = ::std::mem::ManuallyDrop<Self>;
10019     type DefaultType = Self;
10020 }
10021 #[derive(:: std :: clone :: Clone)]
10022 #[repr(C)]
10023 pub struct D3D12_RESOURCE_UAV_BARRIER {
10024     pub pResource: ::std::option::Option<ID3D12Resource>,
10025 }
10026 impl D3D12_RESOURCE_UAV_BARRIER {}
10027 impl ::std::default::Default for D3D12_RESOURCE_UAV_BARRIER {
default() -> Self10028     fn default() -> Self {
10029         unsafe { ::std::mem::zeroed() }
10030     }
10031 }
10032 impl ::std::fmt::Debug for D3D12_RESOURCE_UAV_BARRIER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10033     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10034         fmt.debug_struct("D3D12_RESOURCE_UAV_BARRIER").field("pResource", &self.pResource).finish()
10035     }
10036 }
10037 impl ::std::cmp::PartialEq for D3D12_RESOURCE_UAV_BARRIER {
eq(&self, other: &Self) -> bool10038     fn eq(&self, other: &Self) -> bool {
10039         self.pResource == other.pResource
10040     }
10041 }
10042 impl ::std::cmp::Eq for D3D12_RESOURCE_UAV_BARRIER {}
10043 unsafe impl ::windows::runtime::Abi for D3D12_RESOURCE_UAV_BARRIER {
10044     type Abi = ::std::mem::ManuallyDrop<Self>;
10045     type DefaultType = Self;
10046 }
10047 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10048 #[repr(transparent)]
10049 pub struct D3D12_RLDO_FLAGS(pub i32);
10050 pub const D3D12_RLDO_NONE: D3D12_RLDO_FLAGS = D3D12_RLDO_FLAGS(0i32);
10051 pub const D3D12_RLDO_SUMMARY: D3D12_RLDO_FLAGS = D3D12_RLDO_FLAGS(1i32);
10052 pub const D3D12_RLDO_DETAIL: D3D12_RLDO_FLAGS = D3D12_RLDO_FLAGS(2i32);
10053 pub const D3D12_RLDO_IGNORE_INTERNAL: D3D12_RLDO_FLAGS = D3D12_RLDO_FLAGS(4i32);
10054 impl ::std::convert::From<i32> for D3D12_RLDO_FLAGS {
from(value: i32) -> Self10055     fn from(value: i32) -> Self {
10056         Self(value)
10057     }
10058 }
10059 unsafe impl ::windows::runtime::Abi for D3D12_RLDO_FLAGS {
10060     type Abi = Self;
10061     type DefaultType = Self;
10062 }
10063 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10064 #[repr(C)]
10065 pub struct D3D12_ROOT_CONSTANTS {
10066     pub ShaderRegister: u32,
10067     pub RegisterSpace: u32,
10068     pub Num32BitValues: u32,
10069 }
10070 impl D3D12_ROOT_CONSTANTS {}
10071 impl ::std::default::Default for D3D12_ROOT_CONSTANTS {
default() -> Self10072     fn default() -> Self {
10073         unsafe { ::std::mem::zeroed() }
10074     }
10075 }
10076 impl ::std::fmt::Debug for D3D12_ROOT_CONSTANTS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10077     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10078         fmt.debug_struct("D3D12_ROOT_CONSTANTS").field("ShaderRegister", &self.ShaderRegister).field("RegisterSpace", &self.RegisterSpace).field("Num32BitValues", &self.Num32BitValues).finish()
10079     }
10080 }
10081 impl ::std::cmp::PartialEq for D3D12_ROOT_CONSTANTS {
eq(&self, other: &Self) -> bool10082     fn eq(&self, other: &Self) -> bool {
10083         self.ShaderRegister == other.ShaderRegister && self.RegisterSpace == other.RegisterSpace && self.Num32BitValues == other.Num32BitValues
10084     }
10085 }
10086 impl ::std::cmp::Eq for D3D12_ROOT_CONSTANTS {}
10087 unsafe impl ::windows::runtime::Abi for D3D12_ROOT_CONSTANTS {
10088     type Abi = Self;
10089     type DefaultType = Self;
10090 }
10091 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10092 #[repr(C)]
10093 pub struct D3D12_ROOT_DESCRIPTOR {
10094     pub ShaderRegister: u32,
10095     pub RegisterSpace: u32,
10096 }
10097 impl D3D12_ROOT_DESCRIPTOR {}
10098 impl ::std::default::Default for D3D12_ROOT_DESCRIPTOR {
default() -> Self10099     fn default() -> Self {
10100         unsafe { ::std::mem::zeroed() }
10101     }
10102 }
10103 impl ::std::fmt::Debug for D3D12_ROOT_DESCRIPTOR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10104     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10105         fmt.debug_struct("D3D12_ROOT_DESCRIPTOR").field("ShaderRegister", &self.ShaderRegister).field("RegisterSpace", &self.RegisterSpace).finish()
10106     }
10107 }
10108 impl ::std::cmp::PartialEq for D3D12_ROOT_DESCRIPTOR {
eq(&self, other: &Self) -> bool10109     fn eq(&self, other: &Self) -> bool {
10110         self.ShaderRegister == other.ShaderRegister && self.RegisterSpace == other.RegisterSpace
10111     }
10112 }
10113 impl ::std::cmp::Eq for D3D12_ROOT_DESCRIPTOR {}
10114 unsafe impl ::windows::runtime::Abi for D3D12_ROOT_DESCRIPTOR {
10115     type Abi = Self;
10116     type DefaultType = Self;
10117 }
10118 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10119 #[repr(C)]
10120 pub struct D3D12_ROOT_DESCRIPTOR1 {
10121     pub ShaderRegister: u32,
10122     pub RegisterSpace: u32,
10123     pub Flags: D3D12_ROOT_DESCRIPTOR_FLAGS,
10124 }
10125 impl D3D12_ROOT_DESCRIPTOR1 {}
10126 impl ::std::default::Default for D3D12_ROOT_DESCRIPTOR1 {
default() -> Self10127     fn default() -> Self {
10128         unsafe { ::std::mem::zeroed() }
10129     }
10130 }
10131 impl ::std::fmt::Debug for D3D12_ROOT_DESCRIPTOR1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10132     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10133         fmt.debug_struct("D3D12_ROOT_DESCRIPTOR1").field("ShaderRegister", &self.ShaderRegister).field("RegisterSpace", &self.RegisterSpace).field("Flags", &self.Flags).finish()
10134     }
10135 }
10136 impl ::std::cmp::PartialEq for D3D12_ROOT_DESCRIPTOR1 {
eq(&self, other: &Self) -> bool10137     fn eq(&self, other: &Self) -> bool {
10138         self.ShaderRegister == other.ShaderRegister && self.RegisterSpace == other.RegisterSpace && self.Flags == other.Flags
10139     }
10140 }
10141 impl ::std::cmp::Eq for D3D12_ROOT_DESCRIPTOR1 {}
10142 unsafe impl ::windows::runtime::Abi for D3D12_ROOT_DESCRIPTOR1 {
10143     type Abi = Self;
10144     type DefaultType = Self;
10145 }
10146 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10147 #[repr(transparent)]
10148 pub struct D3D12_ROOT_DESCRIPTOR_FLAGS(pub u32);
10149 pub const D3D12_ROOT_DESCRIPTOR_FLAG_NONE: D3D12_ROOT_DESCRIPTOR_FLAGS = D3D12_ROOT_DESCRIPTOR_FLAGS(0u32);
10150 pub const D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE: D3D12_ROOT_DESCRIPTOR_FLAGS = D3D12_ROOT_DESCRIPTOR_FLAGS(2u32);
10151 pub const D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE: D3D12_ROOT_DESCRIPTOR_FLAGS = D3D12_ROOT_DESCRIPTOR_FLAGS(4u32);
10152 pub const D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC: D3D12_ROOT_DESCRIPTOR_FLAGS = D3D12_ROOT_DESCRIPTOR_FLAGS(8u32);
10153 impl ::std::convert::From<u32> for D3D12_ROOT_DESCRIPTOR_FLAGS {
from(value: u32) -> Self10154     fn from(value: u32) -> Self {
10155         Self(value)
10156     }
10157 }
10158 unsafe impl ::windows::runtime::Abi for D3D12_ROOT_DESCRIPTOR_FLAGS {
10159     type Abi = Self;
10160     type DefaultType = Self;
10161 }
10162 impl ::std::ops::BitOr for D3D12_ROOT_DESCRIPTOR_FLAGS {
10163     type Output = Self;
bitor(self, rhs: Self) -> Self10164     fn bitor(self, rhs: Self) -> Self {
10165         Self(self.0 | rhs.0)
10166     }
10167 }
10168 impl ::std::ops::BitAnd for D3D12_ROOT_DESCRIPTOR_FLAGS {
10169     type Output = Self;
bitand(self, rhs: Self) -> Self10170     fn bitand(self, rhs: Self) -> Self {
10171         Self(self.0 & rhs.0)
10172     }
10173 }
10174 impl ::std::ops::BitOrAssign for D3D12_ROOT_DESCRIPTOR_FLAGS {
bitor_assign(&mut self, rhs: Self)10175     fn bitor_assign(&mut self, rhs: Self) {
10176         self.0.bitor_assign(rhs.0)
10177     }
10178 }
10179 impl ::std::ops::BitAndAssign for D3D12_ROOT_DESCRIPTOR_FLAGS {
bitand_assign(&mut self, rhs: Self)10180     fn bitand_assign(&mut self, rhs: Self) {
10181         self.0.bitand_assign(rhs.0)
10182     }
10183 }
10184 impl ::std::ops::Not for D3D12_ROOT_DESCRIPTOR_FLAGS {
10185     type Output = Self;
not(self) -> Self10186     fn not(self) -> Self {
10187         Self(self.0.not())
10188     }
10189 }
10190 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10191 #[repr(C)]
10192 pub struct D3D12_ROOT_DESCRIPTOR_TABLE {
10193     pub NumDescriptorRanges: u32,
10194     pub pDescriptorRanges: *mut D3D12_DESCRIPTOR_RANGE,
10195 }
10196 impl D3D12_ROOT_DESCRIPTOR_TABLE {}
10197 impl ::std::default::Default for D3D12_ROOT_DESCRIPTOR_TABLE {
default() -> Self10198     fn default() -> Self {
10199         unsafe { ::std::mem::zeroed() }
10200     }
10201 }
10202 impl ::std::fmt::Debug for D3D12_ROOT_DESCRIPTOR_TABLE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10203     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10204         fmt.debug_struct("D3D12_ROOT_DESCRIPTOR_TABLE").field("NumDescriptorRanges", &self.NumDescriptorRanges).field("pDescriptorRanges", &self.pDescriptorRanges).finish()
10205     }
10206 }
10207 impl ::std::cmp::PartialEq for D3D12_ROOT_DESCRIPTOR_TABLE {
eq(&self, other: &Self) -> bool10208     fn eq(&self, other: &Self) -> bool {
10209         self.NumDescriptorRanges == other.NumDescriptorRanges && self.pDescriptorRanges == other.pDescriptorRanges
10210     }
10211 }
10212 impl ::std::cmp::Eq for D3D12_ROOT_DESCRIPTOR_TABLE {}
10213 unsafe impl ::windows::runtime::Abi for D3D12_ROOT_DESCRIPTOR_TABLE {
10214     type Abi = Self;
10215     type DefaultType = Self;
10216 }
10217 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10218 #[repr(C)]
10219 pub struct D3D12_ROOT_DESCRIPTOR_TABLE1 {
10220     pub NumDescriptorRanges: u32,
10221     pub pDescriptorRanges: *mut D3D12_DESCRIPTOR_RANGE1,
10222 }
10223 impl D3D12_ROOT_DESCRIPTOR_TABLE1 {}
10224 impl ::std::default::Default for D3D12_ROOT_DESCRIPTOR_TABLE1 {
default() -> Self10225     fn default() -> Self {
10226         unsafe { ::std::mem::zeroed() }
10227     }
10228 }
10229 impl ::std::fmt::Debug for D3D12_ROOT_DESCRIPTOR_TABLE1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10230     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10231         fmt.debug_struct("D3D12_ROOT_DESCRIPTOR_TABLE1").field("NumDescriptorRanges", &self.NumDescriptorRanges).field("pDescriptorRanges", &self.pDescriptorRanges).finish()
10232     }
10233 }
10234 impl ::std::cmp::PartialEq for D3D12_ROOT_DESCRIPTOR_TABLE1 {
eq(&self, other: &Self) -> bool10235     fn eq(&self, other: &Self) -> bool {
10236         self.NumDescriptorRanges == other.NumDescriptorRanges && self.pDescriptorRanges == other.pDescriptorRanges
10237     }
10238 }
10239 impl ::std::cmp::Eq for D3D12_ROOT_DESCRIPTOR_TABLE1 {}
10240 unsafe impl ::windows::runtime::Abi for D3D12_ROOT_DESCRIPTOR_TABLE1 {
10241     type Abi = Self;
10242     type DefaultType = Self;
10243 }
10244 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10245 #[repr(C)]
10246 pub struct D3D12_ROOT_PARAMETER {
10247     pub ParameterType: D3D12_ROOT_PARAMETER_TYPE,
10248     pub Anonymous: D3D12_ROOT_PARAMETER_0,
10249     pub ShaderVisibility: D3D12_SHADER_VISIBILITY,
10250 }
10251 impl D3D12_ROOT_PARAMETER {}
10252 impl ::std::default::Default for D3D12_ROOT_PARAMETER {
default() -> Self10253     fn default() -> Self {
10254         unsafe { ::std::mem::zeroed() }
10255     }
10256 }
10257 impl ::std::cmp::PartialEq for D3D12_ROOT_PARAMETER {
eq(&self, _other: &Self) -> bool10258     fn eq(&self, _other: &Self) -> bool {
10259         unimplemented!()
10260     }
10261 }
10262 impl ::std::cmp::Eq for D3D12_ROOT_PARAMETER {}
10263 unsafe impl ::windows::runtime::Abi for D3D12_ROOT_PARAMETER {
10264     type Abi = Self;
10265     type DefaultType = Self;
10266 }
10267 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10268 #[repr(C)]
10269 pub union D3D12_ROOT_PARAMETER_0 {
10270     pub DescriptorTable: D3D12_ROOT_DESCRIPTOR_TABLE,
10271     pub Constants: D3D12_ROOT_CONSTANTS,
10272     pub Descriptor: D3D12_ROOT_DESCRIPTOR,
10273 }
10274 impl D3D12_ROOT_PARAMETER_0 {}
10275 impl ::std::default::Default for D3D12_ROOT_PARAMETER_0 {
default() -> Self10276     fn default() -> Self {
10277         unsafe { ::std::mem::zeroed() }
10278     }
10279 }
10280 impl ::std::cmp::PartialEq for D3D12_ROOT_PARAMETER_0 {
eq(&self, _other: &Self) -> bool10281     fn eq(&self, _other: &Self) -> bool {
10282         unimplemented!()
10283     }
10284 }
10285 impl ::std::cmp::Eq for D3D12_ROOT_PARAMETER_0 {}
10286 unsafe impl ::windows::runtime::Abi for D3D12_ROOT_PARAMETER_0 {
10287     type Abi = Self;
10288     type DefaultType = Self;
10289 }
10290 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10291 #[repr(C)]
10292 pub struct D3D12_ROOT_PARAMETER1 {
10293     pub ParameterType: D3D12_ROOT_PARAMETER_TYPE,
10294     pub Anonymous: D3D12_ROOT_PARAMETER1_0,
10295     pub ShaderVisibility: D3D12_SHADER_VISIBILITY,
10296 }
10297 impl D3D12_ROOT_PARAMETER1 {}
10298 impl ::std::default::Default for D3D12_ROOT_PARAMETER1 {
default() -> Self10299     fn default() -> Self {
10300         unsafe { ::std::mem::zeroed() }
10301     }
10302 }
10303 impl ::std::cmp::PartialEq for D3D12_ROOT_PARAMETER1 {
eq(&self, _other: &Self) -> bool10304     fn eq(&self, _other: &Self) -> bool {
10305         unimplemented!()
10306     }
10307 }
10308 impl ::std::cmp::Eq for D3D12_ROOT_PARAMETER1 {}
10309 unsafe impl ::windows::runtime::Abi for D3D12_ROOT_PARAMETER1 {
10310     type Abi = Self;
10311     type DefaultType = Self;
10312 }
10313 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10314 #[repr(C)]
10315 pub union D3D12_ROOT_PARAMETER1_0 {
10316     pub DescriptorTable: D3D12_ROOT_DESCRIPTOR_TABLE1,
10317     pub Constants: D3D12_ROOT_CONSTANTS,
10318     pub Descriptor: D3D12_ROOT_DESCRIPTOR1,
10319 }
10320 impl D3D12_ROOT_PARAMETER1_0 {}
10321 impl ::std::default::Default for D3D12_ROOT_PARAMETER1_0 {
default() -> Self10322     fn default() -> Self {
10323         unsafe { ::std::mem::zeroed() }
10324     }
10325 }
10326 impl ::std::cmp::PartialEq for D3D12_ROOT_PARAMETER1_0 {
eq(&self, _other: &Self) -> bool10327     fn eq(&self, _other: &Self) -> bool {
10328         unimplemented!()
10329     }
10330 }
10331 impl ::std::cmp::Eq for D3D12_ROOT_PARAMETER1_0 {}
10332 unsafe impl ::windows::runtime::Abi for D3D12_ROOT_PARAMETER1_0 {
10333     type Abi = Self;
10334     type DefaultType = Self;
10335 }
10336 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10337 #[repr(transparent)]
10338 pub struct D3D12_ROOT_PARAMETER_TYPE(pub i32);
10339 pub const D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE: D3D12_ROOT_PARAMETER_TYPE = D3D12_ROOT_PARAMETER_TYPE(0i32);
10340 pub const D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS: D3D12_ROOT_PARAMETER_TYPE = D3D12_ROOT_PARAMETER_TYPE(1i32);
10341 pub const D3D12_ROOT_PARAMETER_TYPE_CBV: D3D12_ROOT_PARAMETER_TYPE = D3D12_ROOT_PARAMETER_TYPE(2i32);
10342 pub const D3D12_ROOT_PARAMETER_TYPE_SRV: D3D12_ROOT_PARAMETER_TYPE = D3D12_ROOT_PARAMETER_TYPE(3i32);
10343 pub const D3D12_ROOT_PARAMETER_TYPE_UAV: D3D12_ROOT_PARAMETER_TYPE = D3D12_ROOT_PARAMETER_TYPE(4i32);
10344 impl ::std::convert::From<i32> for D3D12_ROOT_PARAMETER_TYPE {
from(value: i32) -> Self10345     fn from(value: i32) -> Self {
10346         Self(value)
10347     }
10348 }
10349 unsafe impl ::windows::runtime::Abi for D3D12_ROOT_PARAMETER_TYPE {
10350     type Abi = Self;
10351     type DefaultType = Self;
10352 }
10353 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10354 #[repr(C)]
10355 pub struct D3D12_ROOT_SIGNATURE_DESC {
10356     pub NumParameters: u32,
10357     pub pParameters: *mut D3D12_ROOT_PARAMETER,
10358     pub NumStaticSamplers: u32,
10359     pub pStaticSamplers: *mut D3D12_STATIC_SAMPLER_DESC,
10360     pub Flags: D3D12_ROOT_SIGNATURE_FLAGS,
10361 }
10362 impl D3D12_ROOT_SIGNATURE_DESC {}
10363 impl ::std::default::Default for D3D12_ROOT_SIGNATURE_DESC {
default() -> Self10364     fn default() -> Self {
10365         unsafe { ::std::mem::zeroed() }
10366     }
10367 }
10368 impl ::std::fmt::Debug for D3D12_ROOT_SIGNATURE_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10369     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10370         fmt.debug_struct("D3D12_ROOT_SIGNATURE_DESC").field("NumParameters", &self.NumParameters).field("pParameters", &self.pParameters).field("NumStaticSamplers", &self.NumStaticSamplers).field("pStaticSamplers", &self.pStaticSamplers).field("Flags", &self.Flags).finish()
10371     }
10372 }
10373 impl ::std::cmp::PartialEq for D3D12_ROOT_SIGNATURE_DESC {
eq(&self, other: &Self) -> bool10374     fn eq(&self, other: &Self) -> bool {
10375         self.NumParameters == other.NumParameters && self.pParameters == other.pParameters && self.NumStaticSamplers == other.NumStaticSamplers && self.pStaticSamplers == other.pStaticSamplers && self.Flags == other.Flags
10376     }
10377 }
10378 impl ::std::cmp::Eq for D3D12_ROOT_SIGNATURE_DESC {}
10379 unsafe impl ::windows::runtime::Abi for D3D12_ROOT_SIGNATURE_DESC {
10380     type Abi = Self;
10381     type DefaultType = Self;
10382 }
10383 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10384 #[repr(C)]
10385 pub struct D3D12_ROOT_SIGNATURE_DESC1 {
10386     pub NumParameters: u32,
10387     pub pParameters: *mut D3D12_ROOT_PARAMETER1,
10388     pub NumStaticSamplers: u32,
10389     pub pStaticSamplers: *mut D3D12_STATIC_SAMPLER_DESC,
10390     pub Flags: D3D12_ROOT_SIGNATURE_FLAGS,
10391 }
10392 impl D3D12_ROOT_SIGNATURE_DESC1 {}
10393 impl ::std::default::Default for D3D12_ROOT_SIGNATURE_DESC1 {
default() -> Self10394     fn default() -> Self {
10395         unsafe { ::std::mem::zeroed() }
10396     }
10397 }
10398 impl ::std::fmt::Debug for D3D12_ROOT_SIGNATURE_DESC1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10399     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10400         fmt.debug_struct("D3D12_ROOT_SIGNATURE_DESC1").field("NumParameters", &self.NumParameters).field("pParameters", &self.pParameters).field("NumStaticSamplers", &self.NumStaticSamplers).field("pStaticSamplers", &self.pStaticSamplers).field("Flags", &self.Flags).finish()
10401     }
10402 }
10403 impl ::std::cmp::PartialEq for D3D12_ROOT_SIGNATURE_DESC1 {
eq(&self, other: &Self) -> bool10404     fn eq(&self, other: &Self) -> bool {
10405         self.NumParameters == other.NumParameters && self.pParameters == other.pParameters && self.NumStaticSamplers == other.NumStaticSamplers && self.pStaticSamplers == other.pStaticSamplers && self.Flags == other.Flags
10406     }
10407 }
10408 impl ::std::cmp::Eq for D3D12_ROOT_SIGNATURE_DESC1 {}
10409 unsafe impl ::windows::runtime::Abi for D3D12_ROOT_SIGNATURE_DESC1 {
10410     type Abi = Self;
10411     type DefaultType = Self;
10412 }
10413 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10414 #[repr(transparent)]
10415 pub struct D3D12_ROOT_SIGNATURE_FLAGS(pub u32);
10416 pub const D3D12_ROOT_SIGNATURE_FLAG_NONE: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(0u32);
10417 pub const D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(1u32);
10418 pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(2u32);
10419 pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(4u32);
10420 pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(8u32);
10421 pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(16u32);
10422 pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(32u32);
10423 pub const D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(64u32);
10424 pub const D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(128u32);
10425 pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(256u32);
10426 pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(512u32);
10427 pub const D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(1024u32);
10428 pub const D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(2048u32);
10429 impl ::std::convert::From<u32> for D3D12_ROOT_SIGNATURE_FLAGS {
from(value: u32) -> Self10430     fn from(value: u32) -> Self {
10431         Self(value)
10432     }
10433 }
10434 unsafe impl ::windows::runtime::Abi for D3D12_ROOT_SIGNATURE_FLAGS {
10435     type Abi = Self;
10436     type DefaultType = Self;
10437 }
10438 impl ::std::ops::BitOr for D3D12_ROOT_SIGNATURE_FLAGS {
10439     type Output = Self;
bitor(self, rhs: Self) -> Self10440     fn bitor(self, rhs: Self) -> Self {
10441         Self(self.0 | rhs.0)
10442     }
10443 }
10444 impl ::std::ops::BitAnd for D3D12_ROOT_SIGNATURE_FLAGS {
10445     type Output = Self;
bitand(self, rhs: Self) -> Self10446     fn bitand(self, rhs: Self) -> Self {
10447         Self(self.0 & rhs.0)
10448     }
10449 }
10450 impl ::std::ops::BitOrAssign for D3D12_ROOT_SIGNATURE_FLAGS {
bitor_assign(&mut self, rhs: Self)10451     fn bitor_assign(&mut self, rhs: Self) {
10452         self.0.bitor_assign(rhs.0)
10453     }
10454 }
10455 impl ::std::ops::BitAndAssign for D3D12_ROOT_SIGNATURE_FLAGS {
bitand_assign(&mut self, rhs: Self)10456     fn bitand_assign(&mut self, rhs: Self) {
10457         self.0.bitand_assign(rhs.0)
10458     }
10459 }
10460 impl ::std::ops::Not for D3D12_ROOT_SIGNATURE_FLAGS {
10461     type Output = Self;
not(self) -> Self10462     fn not(self) -> Self {
10463         Self(self.0.not())
10464     }
10465 }
10466 pub const D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT: u32 = 2u32;
10467 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10468 #[repr(transparent)]
10469 pub struct D3D12_RTV_DIMENSION(pub i32);
10470 pub const D3D12_RTV_DIMENSION_UNKNOWN: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(0i32);
10471 pub const D3D12_RTV_DIMENSION_BUFFER: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(1i32);
10472 pub const D3D12_RTV_DIMENSION_TEXTURE1D: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(2i32);
10473 pub const D3D12_RTV_DIMENSION_TEXTURE1DARRAY: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(3i32);
10474 pub const D3D12_RTV_DIMENSION_TEXTURE2D: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(4i32);
10475 pub const D3D12_RTV_DIMENSION_TEXTURE2DARRAY: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(5i32);
10476 pub const D3D12_RTV_DIMENSION_TEXTURE2DMS: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(6i32);
10477 pub const D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(7i32);
10478 pub const D3D12_RTV_DIMENSION_TEXTURE3D: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(8i32);
10479 impl ::std::convert::From<i32> for D3D12_RTV_DIMENSION {
from(value: i32) -> Self10480     fn from(value: i32) -> Self {
10481         Self(value)
10482     }
10483 }
10484 unsafe impl ::windows::runtime::Abi for D3D12_RTV_DIMENSION {
10485     type Abi = Self;
10486     type DefaultType = Self;
10487 }
10488 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10489 #[repr(C)]
10490 #[cfg(feature = "Win32_Graphics_Dxgi")]
10491 pub struct D3D12_RT_FORMAT_ARRAY {
10492     pub RTFormats: [super::Dxgi::DXGI_FORMAT; 8],
10493     pub NumRenderTargets: u32,
10494 }
10495 #[cfg(feature = "Win32_Graphics_Dxgi")]
10496 impl D3D12_RT_FORMAT_ARRAY {}
10497 #[cfg(feature = "Win32_Graphics_Dxgi")]
10498 impl ::std::default::Default for D3D12_RT_FORMAT_ARRAY {
default() -> Self10499     fn default() -> Self {
10500         unsafe { ::std::mem::zeroed() }
10501     }
10502 }
10503 #[cfg(feature = "Win32_Graphics_Dxgi")]
10504 impl ::std::fmt::Debug for D3D12_RT_FORMAT_ARRAY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10505     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10506         fmt.debug_struct("D3D12_RT_FORMAT_ARRAY").field("RTFormats", &self.RTFormats).field("NumRenderTargets", &self.NumRenderTargets).finish()
10507     }
10508 }
10509 #[cfg(feature = "Win32_Graphics_Dxgi")]
10510 impl ::std::cmp::PartialEq for D3D12_RT_FORMAT_ARRAY {
eq(&self, other: &Self) -> bool10511     fn eq(&self, other: &Self) -> bool {
10512         self.RTFormats == other.RTFormats && self.NumRenderTargets == other.NumRenderTargets
10513     }
10514 }
10515 #[cfg(feature = "Win32_Graphics_Dxgi")]
10516 impl ::std::cmp::Eq for D3D12_RT_FORMAT_ARRAY {}
10517 #[cfg(feature = "Win32_Graphics_Dxgi")]
10518 unsafe impl ::windows::runtime::Abi for D3D12_RT_FORMAT_ARRAY {
10519     type Abi = Self;
10520     type DefaultType = Self;
10521 }
10522 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10523 #[repr(C)]
10524 pub struct D3D12_SAMPLER_DESC {
10525     pub Filter: D3D12_FILTER,
10526     pub AddressU: D3D12_TEXTURE_ADDRESS_MODE,
10527     pub AddressV: D3D12_TEXTURE_ADDRESS_MODE,
10528     pub AddressW: D3D12_TEXTURE_ADDRESS_MODE,
10529     pub MipLODBias: f32,
10530     pub MaxAnisotropy: u32,
10531     pub ComparisonFunc: D3D12_COMPARISON_FUNC,
10532     pub BorderColor: [f32; 4],
10533     pub MinLOD: f32,
10534     pub MaxLOD: f32,
10535 }
10536 impl D3D12_SAMPLER_DESC {}
10537 impl ::std::default::Default for D3D12_SAMPLER_DESC {
default() -> Self10538     fn default() -> Self {
10539         unsafe { ::std::mem::zeroed() }
10540     }
10541 }
10542 impl ::std::fmt::Debug for D3D12_SAMPLER_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10543     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10544         fmt.debug_struct("D3D12_SAMPLER_DESC")
10545             .field("Filter", &self.Filter)
10546             .field("AddressU", &self.AddressU)
10547             .field("AddressV", &self.AddressV)
10548             .field("AddressW", &self.AddressW)
10549             .field("MipLODBias", &self.MipLODBias)
10550             .field("MaxAnisotropy", &self.MaxAnisotropy)
10551             .field("ComparisonFunc", &self.ComparisonFunc)
10552             .field("BorderColor", &self.BorderColor)
10553             .field("MinLOD", &self.MinLOD)
10554             .field("MaxLOD", &self.MaxLOD)
10555             .finish()
10556     }
10557 }
10558 impl ::std::cmp::PartialEq for D3D12_SAMPLER_DESC {
eq(&self, other: &Self) -> bool10559     fn eq(&self, other: &Self) -> bool {
10560         self.Filter == other.Filter && self.AddressU == other.AddressU && self.AddressV == other.AddressV && self.AddressW == other.AddressW && self.MipLODBias == other.MipLODBias && self.MaxAnisotropy == other.MaxAnisotropy && self.ComparisonFunc == other.ComparisonFunc && self.BorderColor == other.BorderColor && self.MinLOD == other.MinLOD && self.MaxLOD == other.MaxLOD
10561     }
10562 }
10563 impl ::std::cmp::Eq for D3D12_SAMPLER_DESC {}
10564 unsafe impl ::windows::runtime::Abi for D3D12_SAMPLER_DESC {
10565     type Abi = Self;
10566     type DefaultType = Self;
10567 }
10568 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10569 #[repr(transparent)]
10570 pub struct D3D12_SAMPLER_FEEDBACK_TIER(pub i32);
10571 pub const D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED: D3D12_SAMPLER_FEEDBACK_TIER = D3D12_SAMPLER_FEEDBACK_TIER(0i32);
10572 pub const D3D12_SAMPLER_FEEDBACK_TIER_0_9: D3D12_SAMPLER_FEEDBACK_TIER = D3D12_SAMPLER_FEEDBACK_TIER(90i32);
10573 pub const D3D12_SAMPLER_FEEDBACK_TIER_1_0: D3D12_SAMPLER_FEEDBACK_TIER = D3D12_SAMPLER_FEEDBACK_TIER(100i32);
10574 impl ::std::convert::From<i32> for D3D12_SAMPLER_FEEDBACK_TIER {
from(value: i32) -> Self10575     fn from(value: i32) -> Self {
10576         Self(value)
10577     }
10578 }
10579 unsafe impl ::windows::runtime::Abi for D3D12_SAMPLER_FEEDBACK_TIER {
10580     type Abi = Self;
10581     type DefaultType = Self;
10582 }
10583 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10584 #[repr(C)]
10585 pub struct D3D12_SAMPLE_POSITION {
10586     pub X: i8,
10587     pub Y: i8,
10588 }
10589 impl D3D12_SAMPLE_POSITION {}
10590 impl ::std::default::Default for D3D12_SAMPLE_POSITION {
default() -> Self10591     fn default() -> Self {
10592         unsafe { ::std::mem::zeroed() }
10593     }
10594 }
10595 impl ::std::fmt::Debug for D3D12_SAMPLE_POSITION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10596     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10597         fmt.debug_struct("D3D12_SAMPLE_POSITION").field("X", &self.X).field("Y", &self.Y).finish()
10598     }
10599 }
10600 impl ::std::cmp::PartialEq for D3D12_SAMPLE_POSITION {
eq(&self, other: &Self) -> bool10601     fn eq(&self, other: &Self) -> bool {
10602         self.X == other.X && self.Y == other.Y
10603     }
10604 }
10605 impl ::std::cmp::Eq for D3D12_SAMPLE_POSITION {}
10606 unsafe impl ::windows::runtime::Abi for D3D12_SAMPLE_POSITION {
10607     type Abi = Self;
10608     type DefaultType = Self;
10609 }
10610 pub const D3D12_SDK_VERSION: u32 = 5u32;
10611 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10612 #[repr(C)]
10613 pub struct D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {
10614     pub DriverOpaqueGUID: ::windows::runtime::GUID,
10615     pub DriverOpaqueVersioningData: [u8; 16],
10616 }
10617 impl D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {}
10618 impl ::std::default::Default for D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {
default() -> Self10619     fn default() -> Self {
10620         unsafe { ::std::mem::zeroed() }
10621     }
10622 }
10623 impl ::std::fmt::Debug for D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10624     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10625         fmt.debug_struct("D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER").field("DriverOpaqueGUID", &self.DriverOpaqueGUID).field("DriverOpaqueVersioningData", &self.DriverOpaqueVersioningData).finish()
10626     }
10627 }
10628 impl ::std::cmp::PartialEq for D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {
eq(&self, other: &Self) -> bool10629     fn eq(&self, other: &Self) -> bool {
10630         self.DriverOpaqueGUID == other.DriverOpaqueGUID && self.DriverOpaqueVersioningData == other.DriverOpaqueVersioningData
10631     }
10632 }
10633 impl ::std::cmp::Eq for D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {}
10634 unsafe impl ::windows::runtime::Abi for D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {
10635     type Abi = Self;
10636     type DefaultType = Self;
10637 }
10638 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10639 #[repr(transparent)]
10640 pub struct D3D12_SERIALIZED_DATA_TYPE(pub i32);
10641 pub const D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE: D3D12_SERIALIZED_DATA_TYPE = D3D12_SERIALIZED_DATA_TYPE(0i32);
10642 impl ::std::convert::From<i32> for D3D12_SERIALIZED_DATA_TYPE {
from(value: i32) -> Self10643     fn from(value: i32) -> Self {
10644         Self(value)
10645     }
10646 }
10647 unsafe impl ::windows::runtime::Abi for D3D12_SERIALIZED_DATA_TYPE {
10648     type Abi = Self;
10649     type DefaultType = Self;
10650 }
10651 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10652 #[repr(C)]
10653 pub struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {
10654     pub DriverMatchingIdentifier: D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER,
10655     pub SerializedSizeInBytesIncludingHeader: u64,
10656     pub DeserializedSizeInBytes: u64,
10657     pub NumBottomLevelAccelerationStructurePointersAfterHeader: u64,
10658 }
10659 impl D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {}
10660 impl ::std::default::Default for D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {
default() -> Self10661     fn default() -> Self {
10662         unsafe { ::std::mem::zeroed() }
10663     }
10664 }
10665 impl ::std::fmt::Debug for D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10666     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10667         fmt.debug_struct("D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER")
10668             .field("DriverMatchingIdentifier", &self.DriverMatchingIdentifier)
10669             .field("SerializedSizeInBytesIncludingHeader", &self.SerializedSizeInBytesIncludingHeader)
10670             .field("DeserializedSizeInBytes", &self.DeserializedSizeInBytes)
10671             .field("NumBottomLevelAccelerationStructurePointersAfterHeader", &self.NumBottomLevelAccelerationStructurePointersAfterHeader)
10672             .finish()
10673     }
10674 }
10675 impl ::std::cmp::PartialEq for D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {
eq(&self, other: &Self) -> bool10676     fn eq(&self, other: &Self) -> bool {
10677         self.DriverMatchingIdentifier == other.DriverMatchingIdentifier && self.SerializedSizeInBytesIncludingHeader == other.SerializedSizeInBytesIncludingHeader && self.DeserializedSizeInBytes == other.DeserializedSizeInBytes && self.NumBottomLevelAccelerationStructurePointersAfterHeader == other.NumBottomLevelAccelerationStructurePointersAfterHeader
10678     }
10679 }
10680 impl ::std::cmp::Eq for D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {}
10681 unsafe impl ::windows::runtime::Abi for D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {
10682     type Abi = Self;
10683     type DefaultType = Self;
10684 }
10685 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10686 #[repr(C)]
10687 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
10688 pub struct D3D12_SHADER_BUFFER_DESC {
10689     pub Name: super::super::Foundation::PSTR,
10690     pub Type: super::Direct3D11::D3D_CBUFFER_TYPE,
10691     pub Variables: u32,
10692     pub Size: u32,
10693     pub uFlags: u32,
10694 }
10695 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
10696 impl D3D12_SHADER_BUFFER_DESC {}
10697 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
10698 impl ::std::default::Default for D3D12_SHADER_BUFFER_DESC {
default() -> Self10699     fn default() -> Self {
10700         unsafe { ::std::mem::zeroed() }
10701     }
10702 }
10703 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
10704 impl ::std::fmt::Debug for D3D12_SHADER_BUFFER_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10705     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10706         fmt.debug_struct("D3D12_SHADER_BUFFER_DESC").field("Name", &self.Name).field("Type", &self.Type).field("Variables", &self.Variables).field("Size", &self.Size).field("uFlags", &self.uFlags).finish()
10707     }
10708 }
10709 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
10710 impl ::std::cmp::PartialEq for D3D12_SHADER_BUFFER_DESC {
eq(&self, other: &Self) -> bool10711     fn eq(&self, other: &Self) -> bool {
10712         self.Name == other.Name && self.Type == other.Type && self.Variables == other.Variables && self.Size == other.Size && self.uFlags == other.uFlags
10713     }
10714 }
10715 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
10716 impl ::std::cmp::Eq for D3D12_SHADER_BUFFER_DESC {}
10717 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
10718 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_BUFFER_DESC {
10719     type Abi = Self;
10720     type DefaultType = Self;
10721 }
10722 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10723 #[repr(C)]
10724 pub struct D3D12_SHADER_BYTECODE {
10725     pub pShaderBytecode: *mut ::std::ffi::c_void,
10726     pub BytecodeLength: usize,
10727 }
10728 impl D3D12_SHADER_BYTECODE {}
10729 impl ::std::default::Default for D3D12_SHADER_BYTECODE {
default() -> Self10730     fn default() -> Self {
10731         unsafe { ::std::mem::zeroed() }
10732     }
10733 }
10734 impl ::std::fmt::Debug for D3D12_SHADER_BYTECODE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10735     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10736         fmt.debug_struct("D3D12_SHADER_BYTECODE").field("pShaderBytecode", &self.pShaderBytecode).field("BytecodeLength", &self.BytecodeLength).finish()
10737     }
10738 }
10739 impl ::std::cmp::PartialEq for D3D12_SHADER_BYTECODE {
eq(&self, other: &Self) -> bool10740     fn eq(&self, other: &Self) -> bool {
10741         self.pShaderBytecode == other.pShaderBytecode && self.BytecodeLength == other.BytecodeLength
10742     }
10743 }
10744 impl ::std::cmp::Eq for D3D12_SHADER_BYTECODE {}
10745 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_BYTECODE {
10746     type Abi = Self;
10747     type DefaultType = Self;
10748 }
10749 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10750 #[repr(transparent)]
10751 pub struct D3D12_SHADER_CACHE_CONTROL_FLAGS(pub u32);
10752 pub const D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE: D3D12_SHADER_CACHE_CONTROL_FLAGS = D3D12_SHADER_CACHE_CONTROL_FLAGS(1u32);
10753 pub const D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE: D3D12_SHADER_CACHE_CONTROL_FLAGS = D3D12_SHADER_CACHE_CONTROL_FLAGS(2u32);
10754 pub const D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR: D3D12_SHADER_CACHE_CONTROL_FLAGS = D3D12_SHADER_CACHE_CONTROL_FLAGS(4u32);
10755 impl ::std::convert::From<u32> for D3D12_SHADER_CACHE_CONTROL_FLAGS {
from(value: u32) -> Self10756     fn from(value: u32) -> Self {
10757         Self(value)
10758     }
10759 }
10760 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_CACHE_CONTROL_FLAGS {
10761     type Abi = Self;
10762     type DefaultType = Self;
10763 }
10764 impl ::std::ops::BitOr for D3D12_SHADER_CACHE_CONTROL_FLAGS {
10765     type Output = Self;
bitor(self, rhs: Self) -> Self10766     fn bitor(self, rhs: Self) -> Self {
10767         Self(self.0 | rhs.0)
10768     }
10769 }
10770 impl ::std::ops::BitAnd for D3D12_SHADER_CACHE_CONTROL_FLAGS {
10771     type Output = Self;
bitand(self, rhs: Self) -> Self10772     fn bitand(self, rhs: Self) -> Self {
10773         Self(self.0 & rhs.0)
10774     }
10775 }
10776 impl ::std::ops::BitOrAssign for D3D12_SHADER_CACHE_CONTROL_FLAGS {
bitor_assign(&mut self, rhs: Self)10777     fn bitor_assign(&mut self, rhs: Self) {
10778         self.0.bitor_assign(rhs.0)
10779     }
10780 }
10781 impl ::std::ops::BitAndAssign for D3D12_SHADER_CACHE_CONTROL_FLAGS {
bitand_assign(&mut self, rhs: Self)10782     fn bitand_assign(&mut self, rhs: Self) {
10783         self.0.bitand_assign(rhs.0)
10784     }
10785 }
10786 impl ::std::ops::Not for D3D12_SHADER_CACHE_CONTROL_FLAGS {
10787     type Output = Self;
not(self) -> Self10788     fn not(self) -> Self {
10789         Self(self.0.not())
10790     }
10791 }
10792 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10793 #[repr(transparent)]
10794 pub struct D3D12_SHADER_CACHE_FLAGS(pub u32);
10795 pub const D3D12_SHADER_CACHE_FLAG_NONE: D3D12_SHADER_CACHE_FLAGS = D3D12_SHADER_CACHE_FLAGS(0u32);
10796 pub const D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED: D3D12_SHADER_CACHE_FLAGS = D3D12_SHADER_CACHE_FLAGS(1u32);
10797 pub const D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR: D3D12_SHADER_CACHE_FLAGS = D3D12_SHADER_CACHE_FLAGS(2u32);
10798 impl ::std::convert::From<u32> for D3D12_SHADER_CACHE_FLAGS {
from(value: u32) -> Self10799     fn from(value: u32) -> Self {
10800         Self(value)
10801     }
10802 }
10803 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_CACHE_FLAGS {
10804     type Abi = Self;
10805     type DefaultType = Self;
10806 }
10807 impl ::std::ops::BitOr for D3D12_SHADER_CACHE_FLAGS {
10808     type Output = Self;
bitor(self, rhs: Self) -> Self10809     fn bitor(self, rhs: Self) -> Self {
10810         Self(self.0 | rhs.0)
10811     }
10812 }
10813 impl ::std::ops::BitAnd for D3D12_SHADER_CACHE_FLAGS {
10814     type Output = Self;
bitand(self, rhs: Self) -> Self10815     fn bitand(self, rhs: Self) -> Self {
10816         Self(self.0 & rhs.0)
10817     }
10818 }
10819 impl ::std::ops::BitOrAssign for D3D12_SHADER_CACHE_FLAGS {
bitor_assign(&mut self, rhs: Self)10820     fn bitor_assign(&mut self, rhs: Self) {
10821         self.0.bitor_assign(rhs.0)
10822     }
10823 }
10824 impl ::std::ops::BitAndAssign for D3D12_SHADER_CACHE_FLAGS {
bitand_assign(&mut self, rhs: Self)10825     fn bitand_assign(&mut self, rhs: Self) {
10826         self.0.bitand_assign(rhs.0)
10827     }
10828 }
10829 impl ::std::ops::Not for D3D12_SHADER_CACHE_FLAGS {
10830     type Output = Self;
not(self) -> Self10831     fn not(self) -> Self {
10832         Self(self.0.not())
10833     }
10834 }
10835 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10836 #[repr(transparent)]
10837 pub struct D3D12_SHADER_CACHE_KIND_FLAGS(pub u32);
10838 pub const D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER: D3D12_SHADER_CACHE_KIND_FLAGS = D3D12_SHADER_CACHE_KIND_FLAGS(1u32);
10839 pub const D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS: D3D12_SHADER_CACHE_KIND_FLAGS = D3D12_SHADER_CACHE_KIND_FLAGS(2u32);
10840 pub const D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED: D3D12_SHADER_CACHE_KIND_FLAGS = D3D12_SHADER_CACHE_KIND_FLAGS(4u32);
10841 pub const D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED: D3D12_SHADER_CACHE_KIND_FLAGS = D3D12_SHADER_CACHE_KIND_FLAGS(8u32);
10842 impl ::std::convert::From<u32> for D3D12_SHADER_CACHE_KIND_FLAGS {
from(value: u32) -> Self10843     fn from(value: u32) -> Self {
10844         Self(value)
10845     }
10846 }
10847 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_CACHE_KIND_FLAGS {
10848     type Abi = Self;
10849     type DefaultType = Self;
10850 }
10851 impl ::std::ops::BitOr for D3D12_SHADER_CACHE_KIND_FLAGS {
10852     type Output = Self;
bitor(self, rhs: Self) -> Self10853     fn bitor(self, rhs: Self) -> Self {
10854         Self(self.0 | rhs.0)
10855     }
10856 }
10857 impl ::std::ops::BitAnd for D3D12_SHADER_CACHE_KIND_FLAGS {
10858     type Output = Self;
bitand(self, rhs: Self) -> Self10859     fn bitand(self, rhs: Self) -> Self {
10860         Self(self.0 & rhs.0)
10861     }
10862 }
10863 impl ::std::ops::BitOrAssign for D3D12_SHADER_CACHE_KIND_FLAGS {
bitor_assign(&mut self, rhs: Self)10864     fn bitor_assign(&mut self, rhs: Self) {
10865         self.0.bitor_assign(rhs.0)
10866     }
10867 }
10868 impl ::std::ops::BitAndAssign for D3D12_SHADER_CACHE_KIND_FLAGS {
bitand_assign(&mut self, rhs: Self)10869     fn bitand_assign(&mut self, rhs: Self) {
10870         self.0.bitand_assign(rhs.0)
10871     }
10872 }
10873 impl ::std::ops::Not for D3D12_SHADER_CACHE_KIND_FLAGS {
10874     type Output = Self;
not(self) -> Self10875     fn not(self) -> Self {
10876         Self(self.0.not())
10877     }
10878 }
10879 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10880 #[repr(transparent)]
10881 pub struct D3D12_SHADER_CACHE_MODE(pub i32);
10882 pub const D3D12_SHADER_CACHE_MODE_MEMORY: D3D12_SHADER_CACHE_MODE = D3D12_SHADER_CACHE_MODE(0i32);
10883 pub const D3D12_SHADER_CACHE_MODE_DISK: D3D12_SHADER_CACHE_MODE = D3D12_SHADER_CACHE_MODE(1i32);
10884 impl ::std::convert::From<i32> for D3D12_SHADER_CACHE_MODE {
from(value: i32) -> Self10885     fn from(value: i32) -> Self {
10886         Self(value)
10887     }
10888 }
10889 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_CACHE_MODE {
10890     type Abi = Self;
10891     type DefaultType = Self;
10892 }
10893 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10894 #[repr(C)]
10895 pub struct D3D12_SHADER_CACHE_SESSION_DESC {
10896     pub Identifier: ::windows::runtime::GUID,
10897     pub Mode: D3D12_SHADER_CACHE_MODE,
10898     pub Flags: D3D12_SHADER_CACHE_FLAGS,
10899     pub MaximumInMemoryCacheSizeBytes: u32,
10900     pub MaximumInMemoryCacheEntries: u32,
10901     pub MaximumValueFileSizeBytes: u32,
10902     pub Version: u64,
10903 }
10904 impl D3D12_SHADER_CACHE_SESSION_DESC {}
10905 impl ::std::default::Default for D3D12_SHADER_CACHE_SESSION_DESC {
default() -> Self10906     fn default() -> Self {
10907         unsafe { ::std::mem::zeroed() }
10908     }
10909 }
10910 impl ::std::fmt::Debug for D3D12_SHADER_CACHE_SESSION_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10911     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10912         fmt.debug_struct("D3D12_SHADER_CACHE_SESSION_DESC")
10913             .field("Identifier", &self.Identifier)
10914             .field("Mode", &self.Mode)
10915             .field("Flags", &self.Flags)
10916             .field("MaximumInMemoryCacheSizeBytes", &self.MaximumInMemoryCacheSizeBytes)
10917             .field("MaximumInMemoryCacheEntries", &self.MaximumInMemoryCacheEntries)
10918             .field("MaximumValueFileSizeBytes", &self.MaximumValueFileSizeBytes)
10919             .field("Version", &self.Version)
10920             .finish()
10921     }
10922 }
10923 impl ::std::cmp::PartialEq for D3D12_SHADER_CACHE_SESSION_DESC {
eq(&self, other: &Self) -> bool10924     fn eq(&self, other: &Self) -> bool {
10925         self.Identifier == other.Identifier && self.Mode == other.Mode && self.Flags == other.Flags && self.MaximumInMemoryCacheSizeBytes == other.MaximumInMemoryCacheSizeBytes && self.MaximumInMemoryCacheEntries == other.MaximumInMemoryCacheEntries && self.MaximumValueFileSizeBytes == other.MaximumValueFileSizeBytes && self.Version == other.Version
10926     }
10927 }
10928 impl ::std::cmp::Eq for D3D12_SHADER_CACHE_SESSION_DESC {}
10929 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_CACHE_SESSION_DESC {
10930     type Abi = Self;
10931     type DefaultType = Self;
10932 }
10933 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10934 #[repr(transparent)]
10935 pub struct D3D12_SHADER_CACHE_SUPPORT_FLAGS(pub u32);
10936 pub const D3D12_SHADER_CACHE_SUPPORT_NONE: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(0u32);
10937 pub const D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(1u32);
10938 pub const D3D12_SHADER_CACHE_SUPPORT_LIBRARY: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(2u32);
10939 pub const D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(4u32);
10940 pub const D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(8u32);
10941 pub const D3D12_SHADER_CACHE_SUPPORT_DRIVER_MANAGED_CACHE: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(16u32);
10942 pub const D3D12_SHADER_CACHE_SUPPORT_SHADER_CONTROL_CLEAR: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(32u32);
10943 pub const D3D12_SHADER_CACHE_SUPPORT_SHADER_SESSION_DELETE: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(64u32);
10944 impl ::std::convert::From<u32> for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
from(value: u32) -> Self10945     fn from(value: u32) -> Self {
10946         Self(value)
10947     }
10948 }
10949 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
10950     type Abi = Self;
10951     type DefaultType = Self;
10952 }
10953 impl ::std::ops::BitOr for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
10954     type Output = Self;
bitor(self, rhs: Self) -> Self10955     fn bitor(self, rhs: Self) -> Self {
10956         Self(self.0 | rhs.0)
10957     }
10958 }
10959 impl ::std::ops::BitAnd for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
10960     type Output = Self;
bitand(self, rhs: Self) -> Self10961     fn bitand(self, rhs: Self) -> Self {
10962         Self(self.0 & rhs.0)
10963     }
10964 }
10965 impl ::std::ops::BitOrAssign for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
bitor_assign(&mut self, rhs: Self)10966     fn bitor_assign(&mut self, rhs: Self) {
10967         self.0.bitor_assign(rhs.0)
10968     }
10969 }
10970 impl ::std::ops::BitAndAssign for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
bitand_assign(&mut self, rhs: Self)10971     fn bitand_assign(&mut self, rhs: Self) {
10972         self.0.bitand_assign(rhs.0)
10973     }
10974 }
10975 impl ::std::ops::Not for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
10976     type Output = Self;
not(self) -> Self10977     fn not(self) -> Self {
10978         Self(self.0.not())
10979     }
10980 }
10981 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10982 #[repr(transparent)]
10983 pub struct D3D12_SHADER_COMPONENT_MAPPING(pub i32);
10984 pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0: D3D12_SHADER_COMPONENT_MAPPING = D3D12_SHADER_COMPONENT_MAPPING(0i32);
10985 pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1: D3D12_SHADER_COMPONENT_MAPPING = D3D12_SHADER_COMPONENT_MAPPING(1i32);
10986 pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2: D3D12_SHADER_COMPONENT_MAPPING = D3D12_SHADER_COMPONENT_MAPPING(2i32);
10987 pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3: D3D12_SHADER_COMPONENT_MAPPING = D3D12_SHADER_COMPONENT_MAPPING(3i32);
10988 pub const D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0: D3D12_SHADER_COMPONENT_MAPPING = D3D12_SHADER_COMPONENT_MAPPING(4i32);
10989 pub const D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1: D3D12_SHADER_COMPONENT_MAPPING = D3D12_SHADER_COMPONENT_MAPPING(5i32);
10990 impl ::std::convert::From<i32> for D3D12_SHADER_COMPONENT_MAPPING {
from(value: i32) -> Self10991     fn from(value: i32) -> Self {
10992         Self(value)
10993     }
10994 }
10995 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_COMPONENT_MAPPING {
10996     type Abi = Self;
10997     type DefaultType = Self;
10998 }
10999 pub const D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES: u32 = 4096u32;
11000 pub const D3D12_SHADER_COMPONENT_MAPPING_MASK: u32 = 7u32;
11001 pub const D3D12_SHADER_COMPONENT_MAPPING_SHIFT: u32 = 3u32;
11002 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11003 #[repr(C)]
11004 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11005 pub struct D3D12_SHADER_DESC {
11006     pub Version: u32,
11007     pub Creator: super::super::Foundation::PSTR,
11008     pub Flags: u32,
11009     pub ConstantBuffers: u32,
11010     pub BoundResources: u32,
11011     pub InputParameters: u32,
11012     pub OutputParameters: u32,
11013     pub InstructionCount: u32,
11014     pub TempRegisterCount: u32,
11015     pub TempArrayCount: u32,
11016     pub DefCount: u32,
11017     pub DclCount: u32,
11018     pub TextureNormalInstructions: u32,
11019     pub TextureLoadInstructions: u32,
11020     pub TextureCompInstructions: u32,
11021     pub TextureBiasInstructions: u32,
11022     pub TextureGradientInstructions: u32,
11023     pub FloatInstructionCount: u32,
11024     pub IntInstructionCount: u32,
11025     pub UintInstructionCount: u32,
11026     pub StaticFlowControlCount: u32,
11027     pub DynamicFlowControlCount: u32,
11028     pub MacroInstructionCount: u32,
11029     pub ArrayInstructionCount: u32,
11030     pub CutInstructionCount: u32,
11031     pub EmitInstructionCount: u32,
11032     pub GSOutputTopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY,
11033     pub GSMaxOutputVertexCount: u32,
11034     pub InputPrimitive: super::Direct3D11::D3D_PRIMITIVE,
11035     pub PatchConstantParameters: u32,
11036     pub cGSInstanceCount: u32,
11037     pub cControlPoints: u32,
11038     pub HSOutputPrimitive: super::Direct3D11::D3D_TESSELLATOR_OUTPUT_PRIMITIVE,
11039     pub HSPartitioning: super::Direct3D11::D3D_TESSELLATOR_PARTITIONING,
11040     pub TessellatorDomain: super::Direct3D11::D3D_TESSELLATOR_DOMAIN,
11041     pub cBarrierInstructions: u32,
11042     pub cInterlockedInstructions: u32,
11043     pub cTextureStoreInstructions: u32,
11044 }
11045 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11046 impl D3D12_SHADER_DESC {}
11047 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11048 impl ::std::default::Default for D3D12_SHADER_DESC {
default() -> Self11049     fn default() -> Self {
11050         unsafe { ::std::mem::zeroed() }
11051     }
11052 }
11053 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11054 impl ::std::fmt::Debug for D3D12_SHADER_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11055     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11056         fmt.debug_struct("D3D12_SHADER_DESC")
11057             .field("Version", &self.Version)
11058             .field("Creator", &self.Creator)
11059             .field("Flags", &self.Flags)
11060             .field("ConstantBuffers", &self.ConstantBuffers)
11061             .field("BoundResources", &self.BoundResources)
11062             .field("InputParameters", &self.InputParameters)
11063             .field("OutputParameters", &self.OutputParameters)
11064             .field("InstructionCount", &self.InstructionCount)
11065             .field("TempRegisterCount", &self.TempRegisterCount)
11066             .field("TempArrayCount", &self.TempArrayCount)
11067             .field("DefCount", &self.DefCount)
11068             .field("DclCount", &self.DclCount)
11069             .field("TextureNormalInstructions", &self.TextureNormalInstructions)
11070             .field("TextureLoadInstructions", &self.TextureLoadInstructions)
11071             .field("TextureCompInstructions", &self.TextureCompInstructions)
11072             .field("TextureBiasInstructions", &self.TextureBiasInstructions)
11073             .field("TextureGradientInstructions", &self.TextureGradientInstructions)
11074             .field("FloatInstructionCount", &self.FloatInstructionCount)
11075             .field("IntInstructionCount", &self.IntInstructionCount)
11076             .field("UintInstructionCount", &self.UintInstructionCount)
11077             .field("StaticFlowControlCount", &self.StaticFlowControlCount)
11078             .field("DynamicFlowControlCount", &self.DynamicFlowControlCount)
11079             .field("MacroInstructionCount", &self.MacroInstructionCount)
11080             .field("ArrayInstructionCount", &self.ArrayInstructionCount)
11081             .field("CutInstructionCount", &self.CutInstructionCount)
11082             .field("EmitInstructionCount", &self.EmitInstructionCount)
11083             .field("GSOutputTopology", &self.GSOutputTopology)
11084             .field("GSMaxOutputVertexCount", &self.GSMaxOutputVertexCount)
11085             .field("InputPrimitive", &self.InputPrimitive)
11086             .field("PatchConstantParameters", &self.PatchConstantParameters)
11087             .field("cGSInstanceCount", &self.cGSInstanceCount)
11088             .field("cControlPoints", &self.cControlPoints)
11089             .field("HSOutputPrimitive", &self.HSOutputPrimitive)
11090             .field("HSPartitioning", &self.HSPartitioning)
11091             .field("TessellatorDomain", &self.TessellatorDomain)
11092             .field("cBarrierInstructions", &self.cBarrierInstructions)
11093             .field("cInterlockedInstructions", &self.cInterlockedInstructions)
11094             .field("cTextureStoreInstructions", &self.cTextureStoreInstructions)
11095             .finish()
11096     }
11097 }
11098 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11099 impl ::std::cmp::PartialEq for D3D12_SHADER_DESC {
eq(&self, other: &Self) -> bool11100     fn eq(&self, other: &Self) -> bool {
11101         self.Version == other.Version
11102             && self.Creator == other.Creator
11103             && self.Flags == other.Flags
11104             && self.ConstantBuffers == other.ConstantBuffers
11105             && self.BoundResources == other.BoundResources
11106             && self.InputParameters == other.InputParameters
11107             && self.OutputParameters == other.OutputParameters
11108             && self.InstructionCount == other.InstructionCount
11109             && self.TempRegisterCount == other.TempRegisterCount
11110             && self.TempArrayCount == other.TempArrayCount
11111             && self.DefCount == other.DefCount
11112             && self.DclCount == other.DclCount
11113             && self.TextureNormalInstructions == other.TextureNormalInstructions
11114             && self.TextureLoadInstructions == other.TextureLoadInstructions
11115             && self.TextureCompInstructions == other.TextureCompInstructions
11116             && self.TextureBiasInstructions == other.TextureBiasInstructions
11117             && self.TextureGradientInstructions == other.TextureGradientInstructions
11118             && self.FloatInstructionCount == other.FloatInstructionCount
11119             && self.IntInstructionCount == other.IntInstructionCount
11120             && self.UintInstructionCount == other.UintInstructionCount
11121             && self.StaticFlowControlCount == other.StaticFlowControlCount
11122             && self.DynamicFlowControlCount == other.DynamicFlowControlCount
11123             && self.MacroInstructionCount == other.MacroInstructionCount
11124             && self.ArrayInstructionCount == other.ArrayInstructionCount
11125             && self.CutInstructionCount == other.CutInstructionCount
11126             && self.EmitInstructionCount == other.EmitInstructionCount
11127             && self.GSOutputTopology == other.GSOutputTopology
11128             && self.GSMaxOutputVertexCount == other.GSMaxOutputVertexCount
11129             && self.InputPrimitive == other.InputPrimitive
11130             && self.PatchConstantParameters == other.PatchConstantParameters
11131             && self.cGSInstanceCount == other.cGSInstanceCount
11132             && self.cControlPoints == other.cControlPoints
11133             && self.HSOutputPrimitive == other.HSOutputPrimitive
11134             && self.HSPartitioning == other.HSPartitioning
11135             && self.TessellatorDomain == other.TessellatorDomain
11136             && self.cBarrierInstructions == other.cBarrierInstructions
11137             && self.cInterlockedInstructions == other.cInterlockedInstructions
11138             && self.cTextureStoreInstructions == other.cTextureStoreInstructions
11139     }
11140 }
11141 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11142 impl ::std::cmp::Eq for D3D12_SHADER_DESC {}
11143 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11144 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_DESC {
11145     type Abi = Self;
11146     type DefaultType = Self;
11147 }
11148 pub const D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES: u32 = 32u32;
11149 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11150 #[repr(C)]
11151 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11152 pub struct D3D12_SHADER_INPUT_BIND_DESC {
11153     pub Name: super::super::Foundation::PSTR,
11154     pub Type: super::Direct3D11::D3D_SHADER_INPUT_TYPE,
11155     pub BindPoint: u32,
11156     pub BindCount: u32,
11157     pub uFlags: u32,
11158     pub ReturnType: super::Direct3D11::D3D_RESOURCE_RETURN_TYPE,
11159     pub Dimension: super::Direct3D11::D3D_SRV_DIMENSION,
11160     pub NumSamples: u32,
11161     pub Space: u32,
11162     pub uID: u32,
11163 }
11164 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11165 impl D3D12_SHADER_INPUT_BIND_DESC {}
11166 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11167 impl ::std::default::Default for D3D12_SHADER_INPUT_BIND_DESC {
default() -> Self11168     fn default() -> Self {
11169         unsafe { ::std::mem::zeroed() }
11170     }
11171 }
11172 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11173 impl ::std::fmt::Debug for D3D12_SHADER_INPUT_BIND_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11174     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11175         fmt.debug_struct("D3D12_SHADER_INPUT_BIND_DESC")
11176             .field("Name", &self.Name)
11177             .field("Type", &self.Type)
11178             .field("BindPoint", &self.BindPoint)
11179             .field("BindCount", &self.BindCount)
11180             .field("uFlags", &self.uFlags)
11181             .field("ReturnType", &self.ReturnType)
11182             .field("Dimension", &self.Dimension)
11183             .field("NumSamples", &self.NumSamples)
11184             .field("Space", &self.Space)
11185             .field("uID", &self.uID)
11186             .finish()
11187     }
11188 }
11189 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11190 impl ::std::cmp::PartialEq for D3D12_SHADER_INPUT_BIND_DESC {
eq(&self, other: &Self) -> bool11191     fn eq(&self, other: &Self) -> bool {
11192         self.Name == other.Name && self.Type == other.Type && self.BindPoint == other.BindPoint && self.BindCount == other.BindCount && self.uFlags == other.uFlags && self.ReturnType == other.ReturnType && self.Dimension == other.Dimension && self.NumSamples == other.NumSamples && self.Space == other.Space && self.uID == other.uID
11193     }
11194 }
11195 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11196 impl ::std::cmp::Eq for D3D12_SHADER_INPUT_BIND_DESC {}
11197 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11198 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_INPUT_BIND_DESC {
11199     type Abi = Self;
11200     type DefaultType = Self;
11201 }
11202 pub const D3D12_SHADER_MAJOR_VERSION: u32 = 5u32;
11203 pub const D3D12_SHADER_MAX_INSTANCES: u32 = 65535u32;
11204 pub const D3D12_SHADER_MAX_INTERFACES: u32 = 253u32;
11205 pub const D3D12_SHADER_MAX_INTERFACE_CALL_SITES: u32 = 4096u32;
11206 pub const D3D12_SHADER_MAX_TYPES: u32 = 65535u32;
11207 pub const D3D12_SHADER_MINOR_VERSION: u32 = 1u32;
11208 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11209 #[repr(transparent)]
11210 pub struct D3D12_SHADER_MIN_PRECISION_SUPPORT(pub u32);
11211 pub const D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE: D3D12_SHADER_MIN_PRECISION_SUPPORT = D3D12_SHADER_MIN_PRECISION_SUPPORT(0u32);
11212 pub const D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT: D3D12_SHADER_MIN_PRECISION_SUPPORT = D3D12_SHADER_MIN_PRECISION_SUPPORT(1u32);
11213 pub const D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT: D3D12_SHADER_MIN_PRECISION_SUPPORT = D3D12_SHADER_MIN_PRECISION_SUPPORT(2u32);
11214 impl ::std::convert::From<u32> for D3D12_SHADER_MIN_PRECISION_SUPPORT {
from(value: u32) -> Self11215     fn from(value: u32) -> Self {
11216         Self(value)
11217     }
11218 }
11219 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_MIN_PRECISION_SUPPORT {
11220     type Abi = Self;
11221     type DefaultType = Self;
11222 }
11223 impl ::std::ops::BitOr for D3D12_SHADER_MIN_PRECISION_SUPPORT {
11224     type Output = Self;
bitor(self, rhs: Self) -> Self11225     fn bitor(self, rhs: Self) -> Self {
11226         Self(self.0 | rhs.0)
11227     }
11228 }
11229 impl ::std::ops::BitAnd for D3D12_SHADER_MIN_PRECISION_SUPPORT {
11230     type Output = Self;
bitand(self, rhs: Self) -> Self11231     fn bitand(self, rhs: Self) -> Self {
11232         Self(self.0 & rhs.0)
11233     }
11234 }
11235 impl ::std::ops::BitOrAssign for D3D12_SHADER_MIN_PRECISION_SUPPORT {
bitor_assign(&mut self, rhs: Self)11236     fn bitor_assign(&mut self, rhs: Self) {
11237         self.0.bitor_assign(rhs.0)
11238     }
11239 }
11240 impl ::std::ops::BitAndAssign for D3D12_SHADER_MIN_PRECISION_SUPPORT {
bitand_assign(&mut self, rhs: Self)11241     fn bitand_assign(&mut self, rhs: Self) {
11242         self.0.bitand_assign(rhs.0)
11243     }
11244 }
11245 impl ::std::ops::Not for D3D12_SHADER_MIN_PRECISION_SUPPORT {
11246     type Output = Self;
not(self) -> Self11247     fn not(self) -> Self {
11248         Self(self.0.not())
11249     }
11250 }
11251 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11252 #[repr(C)]
11253 #[cfg(feature = "Win32_Graphics_Dxgi")]
11254 pub struct D3D12_SHADER_RESOURCE_VIEW_DESC {
11255     pub Format: super::Dxgi::DXGI_FORMAT,
11256     pub ViewDimension: D3D12_SRV_DIMENSION,
11257     pub Shader4ComponentMapping: u32,
11258     pub Anonymous: D3D12_SHADER_RESOURCE_VIEW_DESC_0,
11259 }
11260 #[cfg(feature = "Win32_Graphics_Dxgi")]
11261 impl D3D12_SHADER_RESOURCE_VIEW_DESC {}
11262 #[cfg(feature = "Win32_Graphics_Dxgi")]
11263 impl ::std::default::Default for D3D12_SHADER_RESOURCE_VIEW_DESC {
default() -> Self11264     fn default() -> Self {
11265         unsafe { ::std::mem::zeroed() }
11266     }
11267 }
11268 #[cfg(feature = "Win32_Graphics_Dxgi")]
11269 impl ::std::cmp::PartialEq for D3D12_SHADER_RESOURCE_VIEW_DESC {
eq(&self, _other: &Self) -> bool11270     fn eq(&self, _other: &Self) -> bool {
11271         unimplemented!()
11272     }
11273 }
11274 #[cfg(feature = "Win32_Graphics_Dxgi")]
11275 impl ::std::cmp::Eq for D3D12_SHADER_RESOURCE_VIEW_DESC {}
11276 #[cfg(feature = "Win32_Graphics_Dxgi")]
11277 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_RESOURCE_VIEW_DESC {
11278     type Abi = Self;
11279     type DefaultType = Self;
11280 }
11281 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11282 #[repr(C)]
11283 pub union D3D12_SHADER_RESOURCE_VIEW_DESC_0 {
11284     pub Buffer: D3D12_BUFFER_SRV,
11285     pub Texture1D: D3D12_TEX1D_SRV,
11286     pub Texture1DArray: D3D12_TEX1D_ARRAY_SRV,
11287     pub Texture2D: D3D12_TEX2D_SRV,
11288     pub Texture2DArray: D3D12_TEX2D_ARRAY_SRV,
11289     pub Texture2DMS: D3D12_TEX2DMS_SRV,
11290     pub Texture2DMSArray: D3D12_TEX2DMS_ARRAY_SRV,
11291     pub Texture3D: D3D12_TEX3D_SRV,
11292     pub TextureCube: D3D12_TEXCUBE_SRV,
11293     pub TextureCubeArray: D3D12_TEXCUBE_ARRAY_SRV,
11294     pub RaytracingAccelerationStructure: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV,
11295 }
11296 impl D3D12_SHADER_RESOURCE_VIEW_DESC_0 {}
11297 impl ::std::default::Default for D3D12_SHADER_RESOURCE_VIEW_DESC_0 {
default() -> Self11298     fn default() -> Self {
11299         unsafe { ::std::mem::zeroed() }
11300     }
11301 }
11302 impl ::std::cmp::PartialEq for D3D12_SHADER_RESOURCE_VIEW_DESC_0 {
eq(&self, _other: &Self) -> bool11303     fn eq(&self, _other: &Self) -> bool {
11304         unimplemented!()
11305     }
11306 }
11307 impl ::std::cmp::Eq for D3D12_SHADER_RESOURCE_VIEW_DESC_0 {}
11308 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_RESOURCE_VIEW_DESC_0 {
11309     type Abi = Self;
11310     type DefaultType = Self;
11311 }
11312 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11313 #[repr(C)]
11314 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11315 pub struct D3D12_SHADER_TYPE_DESC {
11316     pub Class: super::Direct3D11::D3D_SHADER_VARIABLE_CLASS,
11317     pub Type: super::Direct3D11::D3D_SHADER_VARIABLE_TYPE,
11318     pub Rows: u32,
11319     pub Columns: u32,
11320     pub Elements: u32,
11321     pub Members: u32,
11322     pub Offset: u32,
11323     pub Name: super::super::Foundation::PSTR,
11324 }
11325 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11326 impl D3D12_SHADER_TYPE_DESC {}
11327 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11328 impl ::std::default::Default for D3D12_SHADER_TYPE_DESC {
default() -> Self11329     fn default() -> Self {
11330         unsafe { ::std::mem::zeroed() }
11331     }
11332 }
11333 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11334 impl ::std::fmt::Debug for D3D12_SHADER_TYPE_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11335     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11336         fmt.debug_struct("D3D12_SHADER_TYPE_DESC").field("Class", &self.Class).field("Type", &self.Type).field("Rows", &self.Rows).field("Columns", &self.Columns).field("Elements", &self.Elements).field("Members", &self.Members).field("Offset", &self.Offset).field("Name", &self.Name).finish()
11337     }
11338 }
11339 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11340 impl ::std::cmp::PartialEq for D3D12_SHADER_TYPE_DESC {
eq(&self, other: &Self) -> bool11341     fn eq(&self, other: &Self) -> bool {
11342         self.Class == other.Class && self.Type == other.Type && self.Rows == other.Rows && self.Columns == other.Columns && self.Elements == other.Elements && self.Members == other.Members && self.Offset == other.Offset && self.Name == other.Name
11343     }
11344 }
11345 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11346 impl ::std::cmp::Eq for D3D12_SHADER_TYPE_DESC {}
11347 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11348 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_TYPE_DESC {
11349     type Abi = Self;
11350     type DefaultType = Self;
11351 }
11352 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11353 #[repr(C)]
11354 #[cfg(feature = "Win32_Foundation")]
11355 pub struct D3D12_SHADER_VARIABLE_DESC {
11356     pub Name: super::super::Foundation::PSTR,
11357     pub StartOffset: u32,
11358     pub Size: u32,
11359     pub uFlags: u32,
11360     pub DefaultValue: *mut ::std::ffi::c_void,
11361     pub StartTexture: u32,
11362     pub TextureSize: u32,
11363     pub StartSampler: u32,
11364     pub SamplerSize: u32,
11365 }
11366 #[cfg(feature = "Win32_Foundation")]
11367 impl D3D12_SHADER_VARIABLE_DESC {}
11368 #[cfg(feature = "Win32_Foundation")]
11369 impl ::std::default::Default for D3D12_SHADER_VARIABLE_DESC {
default() -> Self11370     fn default() -> Self {
11371         unsafe { ::std::mem::zeroed() }
11372     }
11373 }
11374 #[cfg(feature = "Win32_Foundation")]
11375 impl ::std::fmt::Debug for D3D12_SHADER_VARIABLE_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11376     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11377         fmt.debug_struct("D3D12_SHADER_VARIABLE_DESC")
11378             .field("Name", &self.Name)
11379             .field("StartOffset", &self.StartOffset)
11380             .field("Size", &self.Size)
11381             .field("uFlags", &self.uFlags)
11382             .field("DefaultValue", &self.DefaultValue)
11383             .field("StartTexture", &self.StartTexture)
11384             .field("TextureSize", &self.TextureSize)
11385             .field("StartSampler", &self.StartSampler)
11386             .field("SamplerSize", &self.SamplerSize)
11387             .finish()
11388     }
11389 }
11390 #[cfg(feature = "Win32_Foundation")]
11391 impl ::std::cmp::PartialEq for D3D12_SHADER_VARIABLE_DESC {
eq(&self, other: &Self) -> bool11392     fn eq(&self, other: &Self) -> bool {
11393         self.Name == other.Name && self.StartOffset == other.StartOffset && self.Size == other.Size && self.uFlags == other.uFlags && self.DefaultValue == other.DefaultValue && self.StartTexture == other.StartTexture && self.TextureSize == other.TextureSize && self.StartSampler == other.StartSampler && self.SamplerSize == other.SamplerSize
11394     }
11395 }
11396 #[cfg(feature = "Win32_Foundation")]
11397 impl ::std::cmp::Eq for D3D12_SHADER_VARIABLE_DESC {}
11398 #[cfg(feature = "Win32_Foundation")]
11399 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_VARIABLE_DESC {
11400     type Abi = Self;
11401     type DefaultType = Self;
11402 }
11403 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11404 #[repr(transparent)]
11405 pub struct D3D12_SHADER_VERSION_TYPE(pub i32);
11406 pub const D3D12_SHVER_PIXEL_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(0i32);
11407 pub const D3D12_SHVER_VERTEX_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(1i32);
11408 pub const D3D12_SHVER_GEOMETRY_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(2i32);
11409 pub const D3D12_SHVER_HULL_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(3i32);
11410 pub const D3D12_SHVER_DOMAIN_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(4i32);
11411 pub const D3D12_SHVER_COMPUTE_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(5i32);
11412 pub const D3D12_SHVER_RESERVED0: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(65520i32);
11413 impl ::std::convert::From<i32> for D3D12_SHADER_VERSION_TYPE {
from(value: i32) -> Self11414     fn from(value: i32) -> Self {
11415         Self(value)
11416     }
11417 }
11418 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_VERSION_TYPE {
11419     type Abi = Self;
11420     type DefaultType = Self;
11421 }
11422 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11423 #[repr(transparent)]
11424 pub struct D3D12_SHADER_VISIBILITY(pub i32);
11425 pub const D3D12_SHADER_VISIBILITY_ALL: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(0i32);
11426 pub const D3D12_SHADER_VISIBILITY_VERTEX: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(1i32);
11427 pub const D3D12_SHADER_VISIBILITY_HULL: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(2i32);
11428 pub const D3D12_SHADER_VISIBILITY_DOMAIN: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(3i32);
11429 pub const D3D12_SHADER_VISIBILITY_GEOMETRY: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(4i32);
11430 pub const D3D12_SHADER_VISIBILITY_PIXEL: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(5i32);
11431 pub const D3D12_SHADER_VISIBILITY_AMPLIFICATION: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(6i32);
11432 pub const D3D12_SHADER_VISIBILITY_MESH: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(7i32);
11433 impl ::std::convert::From<i32> for D3D12_SHADER_VISIBILITY {
from(value: i32) -> Self11434     fn from(value: i32) -> Self {
11435         Self(value)
11436     }
11437 }
11438 unsafe impl ::windows::runtime::Abi for D3D12_SHADER_VISIBILITY {
11439     type Abi = Self;
11440     type DefaultType = Self;
11441 }
11442 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11443 #[repr(transparent)]
11444 pub struct D3D12_SHADING_RATE(pub i32);
11445 pub const D3D12_SHADING_RATE_1X1: D3D12_SHADING_RATE = D3D12_SHADING_RATE(0i32);
11446 pub const D3D12_SHADING_RATE_1X2: D3D12_SHADING_RATE = D3D12_SHADING_RATE(1i32);
11447 pub const D3D12_SHADING_RATE_2X1: D3D12_SHADING_RATE = D3D12_SHADING_RATE(4i32);
11448 pub const D3D12_SHADING_RATE_2X2: D3D12_SHADING_RATE = D3D12_SHADING_RATE(5i32);
11449 pub const D3D12_SHADING_RATE_2X4: D3D12_SHADING_RATE = D3D12_SHADING_RATE(6i32);
11450 pub const D3D12_SHADING_RATE_4X2: D3D12_SHADING_RATE = D3D12_SHADING_RATE(9i32);
11451 pub const D3D12_SHADING_RATE_4X4: D3D12_SHADING_RATE = D3D12_SHADING_RATE(10i32);
11452 impl ::std::convert::From<i32> for D3D12_SHADING_RATE {
from(value: i32) -> Self11453     fn from(value: i32) -> Self {
11454         Self(value)
11455     }
11456 }
11457 unsafe impl ::windows::runtime::Abi for D3D12_SHADING_RATE {
11458     type Abi = Self;
11459     type DefaultType = Self;
11460 }
11461 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11462 #[repr(transparent)]
11463 pub struct D3D12_SHADING_RATE_COMBINER(pub i32);
11464 pub const D3D12_SHADING_RATE_COMBINER_PASSTHROUGH: D3D12_SHADING_RATE_COMBINER = D3D12_SHADING_RATE_COMBINER(0i32);
11465 pub const D3D12_SHADING_RATE_COMBINER_OVERRIDE: D3D12_SHADING_RATE_COMBINER = D3D12_SHADING_RATE_COMBINER(1i32);
11466 pub const D3D12_SHADING_RATE_COMBINER_MIN: D3D12_SHADING_RATE_COMBINER = D3D12_SHADING_RATE_COMBINER(2i32);
11467 pub const D3D12_SHADING_RATE_COMBINER_MAX: D3D12_SHADING_RATE_COMBINER = D3D12_SHADING_RATE_COMBINER(3i32);
11468 pub const D3D12_SHADING_RATE_COMBINER_SUM: D3D12_SHADING_RATE_COMBINER = D3D12_SHADING_RATE_COMBINER(4i32);
11469 impl ::std::convert::From<i32> for D3D12_SHADING_RATE_COMBINER {
from(value: i32) -> Self11470     fn from(value: i32) -> Self {
11471         Self(value)
11472     }
11473 }
11474 unsafe impl ::windows::runtime::Abi for D3D12_SHADING_RATE_COMBINER {
11475     type Abi = Self;
11476     type DefaultType = Self;
11477 }
11478 pub const D3D12_SHADING_RATE_VALID_MASK: u32 = 3u32;
11479 pub const D3D12_SHADING_RATE_X_AXIS_SHIFT: u32 = 2u32;
11480 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11481 #[repr(transparent)]
11482 pub struct D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER(pub i32);
11483 pub const D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0: D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER = D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER(0i32);
11484 pub const D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1: D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER = D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER(1i32);
11485 pub const D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2: D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER = D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER(2i32);
11486 impl ::std::convert::From<i32> for D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER {
from(value: i32) -> Self11487     fn from(value: i32) -> Self {
11488         Self(value)
11489     }
11490 }
11491 unsafe impl ::windows::runtime::Abi for D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER {
11492     type Abi = Self;
11493     type DefaultType = Self;
11494 }
11495 pub const D3D12_SHIFT_INSTRUCTION_PAD_VALUE: u32 = 0u32;
11496 pub const D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT: u32 = 5u32;
11497 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11498 #[repr(C)]
11499 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11500 pub struct D3D12_SIGNATURE_PARAMETER_DESC {
11501     pub SemanticName: super::super::Foundation::PSTR,
11502     pub SemanticIndex: u32,
11503     pub Register: u32,
11504     pub SystemValueType: super::Direct3D11::D3D_NAME,
11505     pub ComponentType: super::Direct3D11::D3D_REGISTER_COMPONENT_TYPE,
11506     pub Mask: u8,
11507     pub ReadWriteMask: u8,
11508     pub Stream: u32,
11509     pub MinPrecision: super::Direct3D11::D3D_MIN_PRECISION,
11510 }
11511 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11512 impl D3D12_SIGNATURE_PARAMETER_DESC {}
11513 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11514 impl ::std::default::Default for D3D12_SIGNATURE_PARAMETER_DESC {
default() -> Self11515     fn default() -> Self {
11516         unsafe { ::std::mem::zeroed() }
11517     }
11518 }
11519 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11520 impl ::std::fmt::Debug for D3D12_SIGNATURE_PARAMETER_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11521     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11522         fmt.debug_struct("D3D12_SIGNATURE_PARAMETER_DESC")
11523             .field("SemanticName", &self.SemanticName)
11524             .field("SemanticIndex", &self.SemanticIndex)
11525             .field("Register", &self.Register)
11526             .field("SystemValueType", &self.SystemValueType)
11527             .field("ComponentType", &self.ComponentType)
11528             .field("Mask", &self.Mask)
11529             .field("ReadWriteMask", &self.ReadWriteMask)
11530             .field("Stream", &self.Stream)
11531             .field("MinPrecision", &self.MinPrecision)
11532             .finish()
11533     }
11534 }
11535 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11536 impl ::std::cmp::PartialEq for D3D12_SIGNATURE_PARAMETER_DESC {
eq(&self, other: &Self) -> bool11537     fn eq(&self, other: &Self) -> bool {
11538         self.SemanticName == other.SemanticName && self.SemanticIndex == other.SemanticIndex && self.Register == other.Register && self.SystemValueType == other.SystemValueType && self.ComponentType == other.ComponentType && self.Mask == other.Mask && self.ReadWriteMask == other.ReadWriteMask && self.Stream == other.Stream && self.MinPrecision == other.MinPrecision
11539     }
11540 }
11541 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11542 impl ::std::cmp::Eq for D3D12_SIGNATURE_PARAMETER_DESC {}
11543 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
11544 unsafe impl ::windows::runtime::Abi for D3D12_SIGNATURE_PARAMETER_DESC {
11545     type Abi = Self;
11546     type DefaultType = Self;
11547 }
11548 pub const D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT: u32 = 8u32;
11549 pub const D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT: u32 = 65536u32;
11550 pub const D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT: u32 = 4096u32;
11551 pub const D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES: u32 = 2048u32;
11552 pub const D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES: u32 = 512u32;
11553 pub const D3D12_SO_BUFFER_SLOT_COUNT: u32 = 4u32;
11554 pub const D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP: u32 = 4294967295u32;
11555 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11556 #[repr(C)]
11557 #[cfg(feature = "Win32_Foundation")]
11558 pub struct D3D12_SO_DECLARATION_ENTRY {
11559     pub Stream: u32,
11560     pub SemanticName: super::super::Foundation::PSTR,
11561     pub SemanticIndex: u32,
11562     pub StartComponent: u8,
11563     pub ComponentCount: u8,
11564     pub OutputSlot: u8,
11565 }
11566 #[cfg(feature = "Win32_Foundation")]
11567 impl D3D12_SO_DECLARATION_ENTRY {}
11568 #[cfg(feature = "Win32_Foundation")]
11569 impl ::std::default::Default for D3D12_SO_DECLARATION_ENTRY {
default() -> Self11570     fn default() -> Self {
11571         unsafe { ::std::mem::zeroed() }
11572     }
11573 }
11574 #[cfg(feature = "Win32_Foundation")]
11575 impl ::std::fmt::Debug for D3D12_SO_DECLARATION_ENTRY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11576     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11577         fmt.debug_struct("D3D12_SO_DECLARATION_ENTRY")
11578             .field("Stream", &self.Stream)
11579             .field("SemanticName", &self.SemanticName)
11580             .field("SemanticIndex", &self.SemanticIndex)
11581             .field("StartComponent", &self.StartComponent)
11582             .field("ComponentCount", &self.ComponentCount)
11583             .field("OutputSlot", &self.OutputSlot)
11584             .finish()
11585     }
11586 }
11587 #[cfg(feature = "Win32_Foundation")]
11588 impl ::std::cmp::PartialEq for D3D12_SO_DECLARATION_ENTRY {
eq(&self, other: &Self) -> bool11589     fn eq(&self, other: &Self) -> bool {
11590         self.Stream == other.Stream && self.SemanticName == other.SemanticName && self.SemanticIndex == other.SemanticIndex && self.StartComponent == other.StartComponent && self.ComponentCount == other.ComponentCount && self.OutputSlot == other.OutputSlot
11591     }
11592 }
11593 #[cfg(feature = "Win32_Foundation")]
11594 impl ::std::cmp::Eq for D3D12_SO_DECLARATION_ENTRY {}
11595 #[cfg(feature = "Win32_Foundation")]
11596 unsafe impl ::windows::runtime::Abi for D3D12_SO_DECLARATION_ENTRY {
11597     type Abi = Self;
11598     type DefaultType = Self;
11599 }
11600 pub const D3D12_SO_NO_RASTERIZED_STREAM: u32 = 4294967295u32;
11601 pub const D3D12_SO_OUTPUT_COMPONENT_COUNT: u32 = 128u32;
11602 pub const D3D12_SO_STREAM_COUNT: u32 = 4u32;
11603 pub const D3D12_SPEC_DATE_DAY: u32 = 14u32;
11604 pub const D3D12_SPEC_DATE_MONTH: u32 = 11u32;
11605 pub const D3D12_SPEC_DATE_YEAR: u32 = 2014u32;
11606 pub const D3D12_SPEC_VERSION: f64 = 1.16f64;
11607 pub const D3D12_SRGB_GAMMA: f32 = 2.2f32;
11608 pub const D3D12_SRGB_TO_FLOAT_DENOMINATOR_1: f32 = 12.92f32;
11609 pub const D3D12_SRGB_TO_FLOAT_DENOMINATOR_2: f32 = 1.055f32;
11610 pub const D3D12_SRGB_TO_FLOAT_EXPONENT: f32 = 2.4f32;
11611 pub const D3D12_SRGB_TO_FLOAT_OFFSET: f32 = 0.055f32;
11612 pub const D3D12_SRGB_TO_FLOAT_THRESHOLD: f32 = 0.04045f32;
11613 pub const D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP: f32 = 0.5f32;
11614 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11615 #[repr(transparent)]
11616 pub struct D3D12_SRV_DIMENSION(pub i32);
11617 pub const D3D12_SRV_DIMENSION_UNKNOWN: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(0i32);
11618 pub const D3D12_SRV_DIMENSION_BUFFER: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(1i32);
11619 pub const D3D12_SRV_DIMENSION_TEXTURE1D: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(2i32);
11620 pub const D3D12_SRV_DIMENSION_TEXTURE1DARRAY: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(3i32);
11621 pub const D3D12_SRV_DIMENSION_TEXTURE2D: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(4i32);
11622 pub const D3D12_SRV_DIMENSION_TEXTURE2DARRAY: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(5i32);
11623 pub const D3D12_SRV_DIMENSION_TEXTURE2DMS: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(6i32);
11624 pub const D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(7i32);
11625 pub const D3D12_SRV_DIMENSION_TEXTURE3D: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(8i32);
11626 pub const D3D12_SRV_DIMENSION_TEXTURECUBE: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(9i32);
11627 pub const D3D12_SRV_DIMENSION_TEXTURECUBEARRAY: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(10i32);
11628 pub const D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(11i32);
11629 impl ::std::convert::From<i32> for D3D12_SRV_DIMENSION {
from(value: i32) -> Self11630     fn from(value: i32) -> Self {
11631         Self(value)
11632     }
11633 }
11634 unsafe impl ::windows::runtime::Abi for D3D12_SRV_DIMENSION {
11635     type Abi = Self;
11636     type DefaultType = Self;
11637 }
11638 pub const D3D12_STANDARD_COMPONENT_BIT_COUNT: u32 = 32u32;
11639 pub const D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED: u32 = 64u32;
11640 pub const D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE: u32 = 4u32;
11641 pub const D3D12_STANDARD_PIXEL_COMPONENT_COUNT: u32 = 128u32;
11642 pub const D3D12_STANDARD_PIXEL_ELEMENT_COUNT: u32 = 32u32;
11643 pub const D3D12_STANDARD_VECTOR_SIZE: u32 = 4u32;
11644 pub const D3D12_STANDARD_VERTEX_ELEMENT_COUNT: u32 = 32u32;
11645 pub const D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT: u32 = 64u32;
11646 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11647 #[repr(C)]
11648 pub struct D3D12_STATE_OBJECT_CONFIG {
11649     pub Flags: D3D12_STATE_OBJECT_FLAGS,
11650 }
11651 impl D3D12_STATE_OBJECT_CONFIG {}
11652 impl ::std::default::Default for D3D12_STATE_OBJECT_CONFIG {
default() -> Self11653     fn default() -> Self {
11654         unsafe { ::std::mem::zeroed() }
11655     }
11656 }
11657 impl ::std::fmt::Debug for D3D12_STATE_OBJECT_CONFIG {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11658     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11659         fmt.debug_struct("D3D12_STATE_OBJECT_CONFIG").field("Flags", &self.Flags).finish()
11660     }
11661 }
11662 impl ::std::cmp::PartialEq for D3D12_STATE_OBJECT_CONFIG {
eq(&self, other: &Self) -> bool11663     fn eq(&self, other: &Self) -> bool {
11664         self.Flags == other.Flags
11665     }
11666 }
11667 impl ::std::cmp::Eq for D3D12_STATE_OBJECT_CONFIG {}
11668 unsafe impl ::windows::runtime::Abi for D3D12_STATE_OBJECT_CONFIG {
11669     type Abi = Self;
11670     type DefaultType = Self;
11671 }
11672 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11673 #[repr(C)]
11674 pub struct D3D12_STATE_OBJECT_DESC {
11675     pub Type: D3D12_STATE_OBJECT_TYPE,
11676     pub NumSubobjects: u32,
11677     pub pSubobjects: *mut D3D12_STATE_SUBOBJECT,
11678 }
11679 impl D3D12_STATE_OBJECT_DESC {}
11680 impl ::std::default::Default for D3D12_STATE_OBJECT_DESC {
default() -> Self11681     fn default() -> Self {
11682         unsafe { ::std::mem::zeroed() }
11683     }
11684 }
11685 impl ::std::fmt::Debug for D3D12_STATE_OBJECT_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11686     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11687         fmt.debug_struct("D3D12_STATE_OBJECT_DESC").field("Type", &self.Type).field("NumSubobjects", &self.NumSubobjects).field("pSubobjects", &self.pSubobjects).finish()
11688     }
11689 }
11690 impl ::std::cmp::PartialEq for D3D12_STATE_OBJECT_DESC {
eq(&self, other: &Self) -> bool11691     fn eq(&self, other: &Self) -> bool {
11692         self.Type == other.Type && self.NumSubobjects == other.NumSubobjects && self.pSubobjects == other.pSubobjects
11693     }
11694 }
11695 impl ::std::cmp::Eq for D3D12_STATE_OBJECT_DESC {}
11696 unsafe impl ::windows::runtime::Abi for D3D12_STATE_OBJECT_DESC {
11697     type Abi = Self;
11698     type DefaultType = Self;
11699 }
11700 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11701 #[repr(transparent)]
11702 pub struct D3D12_STATE_OBJECT_FLAGS(pub u32);
11703 pub const D3D12_STATE_OBJECT_FLAG_NONE: D3D12_STATE_OBJECT_FLAGS = D3D12_STATE_OBJECT_FLAGS(0u32);
11704 pub const D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS: D3D12_STATE_OBJECT_FLAGS = D3D12_STATE_OBJECT_FLAGS(1u32);
11705 pub const D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS: D3D12_STATE_OBJECT_FLAGS = D3D12_STATE_OBJECT_FLAGS(2u32);
11706 pub const D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS: D3D12_STATE_OBJECT_FLAGS = D3D12_STATE_OBJECT_FLAGS(4u32);
11707 impl ::std::convert::From<u32> for D3D12_STATE_OBJECT_FLAGS {
from(value: u32) -> Self11708     fn from(value: u32) -> Self {
11709         Self(value)
11710     }
11711 }
11712 unsafe impl ::windows::runtime::Abi for D3D12_STATE_OBJECT_FLAGS {
11713     type Abi = Self;
11714     type DefaultType = Self;
11715 }
11716 impl ::std::ops::BitOr for D3D12_STATE_OBJECT_FLAGS {
11717     type Output = Self;
bitor(self, rhs: Self) -> Self11718     fn bitor(self, rhs: Self) -> Self {
11719         Self(self.0 | rhs.0)
11720     }
11721 }
11722 impl ::std::ops::BitAnd for D3D12_STATE_OBJECT_FLAGS {
11723     type Output = Self;
bitand(self, rhs: Self) -> Self11724     fn bitand(self, rhs: Self) -> Self {
11725         Self(self.0 & rhs.0)
11726     }
11727 }
11728 impl ::std::ops::BitOrAssign for D3D12_STATE_OBJECT_FLAGS {
bitor_assign(&mut self, rhs: Self)11729     fn bitor_assign(&mut self, rhs: Self) {
11730         self.0.bitor_assign(rhs.0)
11731     }
11732 }
11733 impl ::std::ops::BitAndAssign for D3D12_STATE_OBJECT_FLAGS {
bitand_assign(&mut self, rhs: Self)11734     fn bitand_assign(&mut self, rhs: Self) {
11735         self.0.bitand_assign(rhs.0)
11736     }
11737 }
11738 impl ::std::ops::Not for D3D12_STATE_OBJECT_FLAGS {
11739     type Output = Self;
not(self) -> Self11740     fn not(self) -> Self {
11741         Self(self.0.not())
11742     }
11743 }
11744 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11745 #[repr(transparent)]
11746 pub struct D3D12_STATE_OBJECT_TYPE(pub i32);
11747 pub const D3D12_STATE_OBJECT_TYPE_COLLECTION: D3D12_STATE_OBJECT_TYPE = D3D12_STATE_OBJECT_TYPE(0i32);
11748 pub const D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE: D3D12_STATE_OBJECT_TYPE = D3D12_STATE_OBJECT_TYPE(3i32);
11749 impl ::std::convert::From<i32> for D3D12_STATE_OBJECT_TYPE {
from(value: i32) -> Self11750     fn from(value: i32) -> Self {
11751         Self(value)
11752     }
11753 }
11754 unsafe impl ::windows::runtime::Abi for D3D12_STATE_OBJECT_TYPE {
11755     type Abi = Self;
11756     type DefaultType = Self;
11757 }
11758 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11759 #[repr(C)]
11760 pub struct D3D12_STATE_SUBOBJECT {
11761     pub Type: D3D12_STATE_SUBOBJECT_TYPE,
11762     pub pDesc: *mut ::std::ffi::c_void,
11763 }
11764 impl D3D12_STATE_SUBOBJECT {}
11765 impl ::std::default::Default for D3D12_STATE_SUBOBJECT {
default() -> Self11766     fn default() -> Self {
11767         unsafe { ::std::mem::zeroed() }
11768     }
11769 }
11770 impl ::std::fmt::Debug for D3D12_STATE_SUBOBJECT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11771     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11772         fmt.debug_struct("D3D12_STATE_SUBOBJECT").field("Type", &self.Type).field("pDesc", &self.pDesc).finish()
11773     }
11774 }
11775 impl ::std::cmp::PartialEq for D3D12_STATE_SUBOBJECT {
eq(&self, other: &Self) -> bool11776     fn eq(&self, other: &Self) -> bool {
11777         self.Type == other.Type && self.pDesc == other.pDesc
11778     }
11779 }
11780 impl ::std::cmp::Eq for D3D12_STATE_SUBOBJECT {}
11781 unsafe impl ::windows::runtime::Abi for D3D12_STATE_SUBOBJECT {
11782     type Abi = Self;
11783     type DefaultType = Self;
11784 }
11785 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11786 #[repr(transparent)]
11787 pub struct D3D12_STATE_SUBOBJECT_TYPE(pub i32);
11788 pub const D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(0i32);
11789 pub const D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(1i32);
11790 pub const D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(2i32);
11791 pub const D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(3i32);
11792 pub const D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(5i32);
11793 pub const D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(6i32);
11794 pub const D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(7i32);
11795 pub const D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(8i32);
11796 pub const D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(9i32);
11797 pub const D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(10i32);
11798 pub const D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(11i32);
11799 pub const D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(12i32);
11800 pub const D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(13i32);
11801 impl ::std::convert::From<i32> for D3D12_STATE_SUBOBJECT_TYPE {
from(value: i32) -> Self11802     fn from(value: i32) -> Self {
11803         Self(value)
11804     }
11805 }
11806 unsafe impl ::windows::runtime::Abi for D3D12_STATE_SUBOBJECT_TYPE {
11807     type Abi = Self;
11808     type DefaultType = Self;
11809 }
11810 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11811 #[repr(transparent)]
11812 pub struct D3D12_STATIC_BORDER_COLOR(pub i32);
11813 pub const D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK: D3D12_STATIC_BORDER_COLOR = D3D12_STATIC_BORDER_COLOR(0i32);
11814 pub const D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK: D3D12_STATIC_BORDER_COLOR = D3D12_STATIC_BORDER_COLOR(1i32);
11815 pub const D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE: D3D12_STATIC_BORDER_COLOR = D3D12_STATIC_BORDER_COLOR(2i32);
11816 impl ::std::convert::From<i32> for D3D12_STATIC_BORDER_COLOR {
from(value: i32) -> Self11817     fn from(value: i32) -> Self {
11818         Self(value)
11819     }
11820 }
11821 unsafe impl ::windows::runtime::Abi for D3D12_STATIC_BORDER_COLOR {
11822     type Abi = Self;
11823     type DefaultType = Self;
11824 }
11825 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11826 #[repr(C)]
11827 pub struct D3D12_STATIC_SAMPLER_DESC {
11828     pub Filter: D3D12_FILTER,
11829     pub AddressU: D3D12_TEXTURE_ADDRESS_MODE,
11830     pub AddressV: D3D12_TEXTURE_ADDRESS_MODE,
11831     pub AddressW: D3D12_TEXTURE_ADDRESS_MODE,
11832     pub MipLODBias: f32,
11833     pub MaxAnisotropy: u32,
11834     pub ComparisonFunc: D3D12_COMPARISON_FUNC,
11835     pub BorderColor: D3D12_STATIC_BORDER_COLOR,
11836     pub MinLOD: f32,
11837     pub MaxLOD: f32,
11838     pub ShaderRegister: u32,
11839     pub RegisterSpace: u32,
11840     pub ShaderVisibility: D3D12_SHADER_VISIBILITY,
11841 }
11842 impl D3D12_STATIC_SAMPLER_DESC {}
11843 impl ::std::default::Default for D3D12_STATIC_SAMPLER_DESC {
default() -> Self11844     fn default() -> Self {
11845         unsafe { ::std::mem::zeroed() }
11846     }
11847 }
11848 impl ::std::fmt::Debug for D3D12_STATIC_SAMPLER_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11849     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11850         fmt.debug_struct("D3D12_STATIC_SAMPLER_DESC")
11851             .field("Filter", &self.Filter)
11852             .field("AddressU", &self.AddressU)
11853             .field("AddressV", &self.AddressV)
11854             .field("AddressW", &self.AddressW)
11855             .field("MipLODBias", &self.MipLODBias)
11856             .field("MaxAnisotropy", &self.MaxAnisotropy)
11857             .field("ComparisonFunc", &self.ComparisonFunc)
11858             .field("BorderColor", &self.BorderColor)
11859             .field("MinLOD", &self.MinLOD)
11860             .field("MaxLOD", &self.MaxLOD)
11861             .field("ShaderRegister", &self.ShaderRegister)
11862             .field("RegisterSpace", &self.RegisterSpace)
11863             .field("ShaderVisibility", &self.ShaderVisibility)
11864             .finish()
11865     }
11866 }
11867 impl ::std::cmp::PartialEq for D3D12_STATIC_SAMPLER_DESC {
eq(&self, other: &Self) -> bool11868     fn eq(&self, other: &Self) -> bool {
11869         self.Filter == other.Filter
11870             && self.AddressU == other.AddressU
11871             && self.AddressV == other.AddressV
11872             && self.AddressW == other.AddressW
11873             && self.MipLODBias == other.MipLODBias
11874             && self.MaxAnisotropy == other.MaxAnisotropy
11875             && self.ComparisonFunc == other.ComparisonFunc
11876             && self.BorderColor == other.BorderColor
11877             && self.MinLOD == other.MinLOD
11878             && self.MaxLOD == other.MaxLOD
11879             && self.ShaderRegister == other.ShaderRegister
11880             && self.RegisterSpace == other.RegisterSpace
11881             && self.ShaderVisibility == other.ShaderVisibility
11882     }
11883 }
11884 impl ::std::cmp::Eq for D3D12_STATIC_SAMPLER_DESC {}
11885 unsafe impl ::windows::runtime::Abi for D3D12_STATIC_SAMPLER_DESC {
11886     type Abi = Self;
11887     type DefaultType = Self;
11888 }
11889 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
11890 #[repr(transparent)]
11891 pub struct D3D12_STENCIL_OP(pub i32);
11892 pub const D3D12_STENCIL_OP_KEEP: D3D12_STENCIL_OP = D3D12_STENCIL_OP(1i32);
11893 pub const D3D12_STENCIL_OP_ZERO: D3D12_STENCIL_OP = D3D12_STENCIL_OP(2i32);
11894 pub const D3D12_STENCIL_OP_REPLACE: D3D12_STENCIL_OP = D3D12_STENCIL_OP(3i32);
11895 pub const D3D12_STENCIL_OP_INCR_SAT: D3D12_STENCIL_OP = D3D12_STENCIL_OP(4i32);
11896 pub const D3D12_STENCIL_OP_DECR_SAT: D3D12_STENCIL_OP = D3D12_STENCIL_OP(5i32);
11897 pub const D3D12_STENCIL_OP_INVERT: D3D12_STENCIL_OP = D3D12_STENCIL_OP(6i32);
11898 pub const D3D12_STENCIL_OP_INCR: D3D12_STENCIL_OP = D3D12_STENCIL_OP(7i32);
11899 pub const D3D12_STENCIL_OP_DECR: D3D12_STENCIL_OP = D3D12_STENCIL_OP(8i32);
11900 impl ::std::convert::From<i32> for D3D12_STENCIL_OP {
from(value: i32) -> Self11901     fn from(value: i32) -> Self {
11902         Self(value)
11903     }
11904 }
11905 unsafe impl ::windows::runtime::Abi for D3D12_STENCIL_OP {
11906     type Abi = Self;
11907     type DefaultType = Self;
11908 }
11909 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11910 #[repr(C)]
11911 pub struct D3D12_STREAM_OUTPUT_BUFFER_VIEW {
11912     pub BufferLocation: u64,
11913     pub SizeInBytes: u64,
11914     pub BufferFilledSizeLocation: u64,
11915 }
11916 impl D3D12_STREAM_OUTPUT_BUFFER_VIEW {}
11917 impl ::std::default::Default for D3D12_STREAM_OUTPUT_BUFFER_VIEW {
default() -> Self11918     fn default() -> Self {
11919         unsafe { ::std::mem::zeroed() }
11920     }
11921 }
11922 impl ::std::fmt::Debug for D3D12_STREAM_OUTPUT_BUFFER_VIEW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11923     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11924         fmt.debug_struct("D3D12_STREAM_OUTPUT_BUFFER_VIEW").field("BufferLocation", &self.BufferLocation).field("SizeInBytes", &self.SizeInBytes).field("BufferFilledSizeLocation", &self.BufferFilledSizeLocation).finish()
11925     }
11926 }
11927 impl ::std::cmp::PartialEq for D3D12_STREAM_OUTPUT_BUFFER_VIEW {
eq(&self, other: &Self) -> bool11928     fn eq(&self, other: &Self) -> bool {
11929         self.BufferLocation == other.BufferLocation && self.SizeInBytes == other.SizeInBytes && self.BufferFilledSizeLocation == other.BufferFilledSizeLocation
11930     }
11931 }
11932 impl ::std::cmp::Eq for D3D12_STREAM_OUTPUT_BUFFER_VIEW {}
11933 unsafe impl ::windows::runtime::Abi for D3D12_STREAM_OUTPUT_BUFFER_VIEW {
11934     type Abi = Self;
11935     type DefaultType = Self;
11936 }
11937 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11938 #[repr(C)]
11939 #[cfg(feature = "Win32_Foundation")]
11940 pub struct D3D12_STREAM_OUTPUT_DESC {
11941     pub pSODeclaration: *mut D3D12_SO_DECLARATION_ENTRY,
11942     pub NumEntries: u32,
11943     pub pBufferStrides: *mut u32,
11944     pub NumStrides: u32,
11945     pub RasterizedStream: u32,
11946 }
11947 #[cfg(feature = "Win32_Foundation")]
11948 impl D3D12_STREAM_OUTPUT_DESC {}
11949 #[cfg(feature = "Win32_Foundation")]
11950 impl ::std::default::Default for D3D12_STREAM_OUTPUT_DESC {
default() -> Self11951     fn default() -> Self {
11952         unsafe { ::std::mem::zeroed() }
11953     }
11954 }
11955 #[cfg(feature = "Win32_Foundation")]
11956 impl ::std::fmt::Debug for D3D12_STREAM_OUTPUT_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11957     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11958         fmt.debug_struct("D3D12_STREAM_OUTPUT_DESC").field("pSODeclaration", &self.pSODeclaration).field("NumEntries", &self.NumEntries).field("pBufferStrides", &self.pBufferStrides).field("NumStrides", &self.NumStrides).field("RasterizedStream", &self.RasterizedStream).finish()
11959     }
11960 }
11961 #[cfg(feature = "Win32_Foundation")]
11962 impl ::std::cmp::PartialEq for D3D12_STREAM_OUTPUT_DESC {
eq(&self, other: &Self) -> bool11963     fn eq(&self, other: &Self) -> bool {
11964         self.pSODeclaration == other.pSODeclaration && self.NumEntries == other.NumEntries && self.pBufferStrides == other.pBufferStrides && self.NumStrides == other.NumStrides && self.RasterizedStream == other.RasterizedStream
11965     }
11966 }
11967 #[cfg(feature = "Win32_Foundation")]
11968 impl ::std::cmp::Eq for D3D12_STREAM_OUTPUT_DESC {}
11969 #[cfg(feature = "Win32_Foundation")]
11970 unsafe impl ::windows::runtime::Abi for D3D12_STREAM_OUTPUT_DESC {
11971     type Abi = Self;
11972     type DefaultType = Self;
11973 }
11974 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
11975 #[repr(C)]
11976 #[cfg(feature = "Win32_Foundation")]
11977 pub struct D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
11978     pub pSubobjectToAssociate: *mut D3D12_STATE_SUBOBJECT,
11979     pub NumExports: u32,
11980     pub pExports: *mut super::super::Foundation::PWSTR,
11981 }
11982 #[cfg(feature = "Win32_Foundation")]
11983 impl D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {}
11984 #[cfg(feature = "Win32_Foundation")]
11985 impl ::std::default::Default for D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
default() -> Self11986     fn default() -> Self {
11987         unsafe { ::std::mem::zeroed() }
11988     }
11989 }
11990 #[cfg(feature = "Win32_Foundation")]
11991 impl ::std::fmt::Debug for D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result11992     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11993         fmt.debug_struct("D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION").field("pSubobjectToAssociate", &self.pSubobjectToAssociate).field("NumExports", &self.NumExports).field("pExports", &self.pExports).finish()
11994     }
11995 }
11996 #[cfg(feature = "Win32_Foundation")]
11997 impl ::std::cmp::PartialEq for D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
eq(&self, other: &Self) -> bool11998     fn eq(&self, other: &Self) -> bool {
11999         self.pSubobjectToAssociate == other.pSubobjectToAssociate && self.NumExports == other.NumExports && self.pExports == other.pExports
12000     }
12001 }
12002 #[cfg(feature = "Win32_Foundation")]
12003 impl ::std::cmp::Eq for D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {}
12004 #[cfg(feature = "Win32_Foundation")]
12005 unsafe impl ::windows::runtime::Abi for D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
12006     type Abi = Self;
12007     type DefaultType = Self;
12008 }
12009 pub const D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT: u32 = 8u32;
12010 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12011 #[repr(C)]
12012 pub struct D3D12_SUBRESOURCE_DATA {
12013     pub pData: *mut ::std::ffi::c_void,
12014     pub RowPitch: isize,
12015     pub SlicePitch: isize,
12016 }
12017 impl D3D12_SUBRESOURCE_DATA {}
12018 impl ::std::default::Default for D3D12_SUBRESOURCE_DATA {
default() -> Self12019     fn default() -> Self {
12020         unsafe { ::std::mem::zeroed() }
12021     }
12022 }
12023 impl ::std::fmt::Debug for D3D12_SUBRESOURCE_DATA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12024     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12025         fmt.debug_struct("D3D12_SUBRESOURCE_DATA").field("pData", &self.pData).field("RowPitch", &self.RowPitch).field("SlicePitch", &self.SlicePitch).finish()
12026     }
12027 }
12028 impl ::std::cmp::PartialEq for D3D12_SUBRESOURCE_DATA {
eq(&self, other: &Self) -> bool12029     fn eq(&self, other: &Self) -> bool {
12030         self.pData == other.pData && self.RowPitch == other.RowPitch && self.SlicePitch == other.SlicePitch
12031     }
12032 }
12033 impl ::std::cmp::Eq for D3D12_SUBRESOURCE_DATA {}
12034 unsafe impl ::windows::runtime::Abi for D3D12_SUBRESOURCE_DATA {
12035     type Abi = Self;
12036     type DefaultType = Self;
12037 }
12038 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12039 #[repr(C)]
12040 #[cfg(feature = "Win32_Graphics_Dxgi")]
12041 pub struct D3D12_SUBRESOURCE_FOOTPRINT {
12042     pub Format: super::Dxgi::DXGI_FORMAT,
12043     pub Width: u32,
12044     pub Height: u32,
12045     pub Depth: u32,
12046     pub RowPitch: u32,
12047 }
12048 #[cfg(feature = "Win32_Graphics_Dxgi")]
12049 impl D3D12_SUBRESOURCE_FOOTPRINT {}
12050 #[cfg(feature = "Win32_Graphics_Dxgi")]
12051 impl ::std::default::Default for D3D12_SUBRESOURCE_FOOTPRINT {
default() -> Self12052     fn default() -> Self {
12053         unsafe { ::std::mem::zeroed() }
12054     }
12055 }
12056 #[cfg(feature = "Win32_Graphics_Dxgi")]
12057 impl ::std::fmt::Debug for D3D12_SUBRESOURCE_FOOTPRINT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12058     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12059         fmt.debug_struct("D3D12_SUBRESOURCE_FOOTPRINT").field("Format", &self.Format).field("Width", &self.Width).field("Height", &self.Height).field("Depth", &self.Depth).field("RowPitch", &self.RowPitch).finish()
12060     }
12061 }
12062 #[cfg(feature = "Win32_Graphics_Dxgi")]
12063 impl ::std::cmp::PartialEq for D3D12_SUBRESOURCE_FOOTPRINT {
eq(&self, other: &Self) -> bool12064     fn eq(&self, other: &Self) -> bool {
12065         self.Format == other.Format && self.Width == other.Width && self.Height == other.Height && self.Depth == other.Depth && self.RowPitch == other.RowPitch
12066     }
12067 }
12068 #[cfg(feature = "Win32_Graphics_Dxgi")]
12069 impl ::std::cmp::Eq for D3D12_SUBRESOURCE_FOOTPRINT {}
12070 #[cfg(feature = "Win32_Graphics_Dxgi")]
12071 unsafe impl ::windows::runtime::Abi for D3D12_SUBRESOURCE_FOOTPRINT {
12072     type Abi = Self;
12073     type DefaultType = Self;
12074 }
12075 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12076 #[repr(C)]
12077 pub struct D3D12_SUBRESOURCE_INFO {
12078     pub Offset: u64,
12079     pub RowPitch: u32,
12080     pub DepthPitch: u32,
12081 }
12082 impl D3D12_SUBRESOURCE_INFO {}
12083 impl ::std::default::Default for D3D12_SUBRESOURCE_INFO {
default() -> Self12084     fn default() -> Self {
12085         unsafe { ::std::mem::zeroed() }
12086     }
12087 }
12088 impl ::std::fmt::Debug for D3D12_SUBRESOURCE_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12089     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12090         fmt.debug_struct("D3D12_SUBRESOURCE_INFO").field("Offset", &self.Offset).field("RowPitch", &self.RowPitch).field("DepthPitch", &self.DepthPitch).finish()
12091     }
12092 }
12093 impl ::std::cmp::PartialEq for D3D12_SUBRESOURCE_INFO {
eq(&self, other: &Self) -> bool12094     fn eq(&self, other: &Self) -> bool {
12095         self.Offset == other.Offset && self.RowPitch == other.RowPitch && self.DepthPitch == other.DepthPitch
12096     }
12097 }
12098 impl ::std::cmp::Eq for D3D12_SUBRESOURCE_INFO {}
12099 unsafe impl ::windows::runtime::Abi for D3D12_SUBRESOURCE_INFO {
12100     type Abi = Self;
12101     type DefaultType = Self;
12102 }
12103 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12104 #[repr(C)]
12105 pub struct D3D12_SUBRESOURCE_RANGE_UINT64 {
12106     pub Subresource: u32,
12107     pub Range: D3D12_RANGE_UINT64,
12108 }
12109 impl D3D12_SUBRESOURCE_RANGE_UINT64 {}
12110 impl ::std::default::Default for D3D12_SUBRESOURCE_RANGE_UINT64 {
default() -> Self12111     fn default() -> Self {
12112         unsafe { ::std::mem::zeroed() }
12113     }
12114 }
12115 impl ::std::fmt::Debug for D3D12_SUBRESOURCE_RANGE_UINT64 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12116     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12117         fmt.debug_struct("D3D12_SUBRESOURCE_RANGE_UINT64").field("Subresource", &self.Subresource).field("Range", &self.Range).finish()
12118     }
12119 }
12120 impl ::std::cmp::PartialEq for D3D12_SUBRESOURCE_RANGE_UINT64 {
eq(&self, other: &Self) -> bool12121     fn eq(&self, other: &Self) -> bool {
12122         self.Subresource == other.Subresource && self.Range == other.Range
12123     }
12124 }
12125 impl ::std::cmp::Eq for D3D12_SUBRESOURCE_RANGE_UINT64 {}
12126 unsafe impl ::windows::runtime::Abi for D3D12_SUBRESOURCE_RANGE_UINT64 {
12127     type Abi = Self;
12128     type DefaultType = Self;
12129 }
12130 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12131 #[repr(C)]
12132 pub struct D3D12_SUBRESOURCE_TILING {
12133     pub WidthInTiles: u32,
12134     pub HeightInTiles: u16,
12135     pub DepthInTiles: u16,
12136     pub StartTileIndexInOverallResource: u32,
12137 }
12138 impl D3D12_SUBRESOURCE_TILING {}
12139 impl ::std::default::Default for D3D12_SUBRESOURCE_TILING {
default() -> Self12140     fn default() -> Self {
12141         unsafe { ::std::mem::zeroed() }
12142     }
12143 }
12144 impl ::std::fmt::Debug for D3D12_SUBRESOURCE_TILING {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12145     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12146         fmt.debug_struct("D3D12_SUBRESOURCE_TILING").field("WidthInTiles", &self.WidthInTiles).field("HeightInTiles", &self.HeightInTiles).field("DepthInTiles", &self.DepthInTiles).field("StartTileIndexInOverallResource", &self.StartTileIndexInOverallResource).finish()
12147     }
12148 }
12149 impl ::std::cmp::PartialEq for D3D12_SUBRESOURCE_TILING {
eq(&self, other: &Self) -> bool12150     fn eq(&self, other: &Self) -> bool {
12151         self.WidthInTiles == other.WidthInTiles && self.HeightInTiles == other.HeightInTiles && self.DepthInTiles == other.DepthInTiles && self.StartTileIndexInOverallResource == other.StartTileIndexInOverallResource
12152     }
12153 }
12154 impl ::std::cmp::Eq for D3D12_SUBRESOURCE_TILING {}
12155 unsafe impl ::windows::runtime::Abi for D3D12_SUBRESOURCE_TILING {
12156     type Abi = Self;
12157     type DefaultType = Self;
12158 }
12159 pub const D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT: u32 = 8u32;
12160 pub const D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END: u32 = 4294967295u32;
12161 pub const D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START: u32 = 4294967280u32;
12162 pub const D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR: u32 = 64u32;
12163 pub const D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR: u32 = 64u32;
12164 pub const D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR: u32 = 63u32;
12165 pub const D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR: u32 = 64u32;
12166 pub const D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR: u32 = 2u32;
12167 pub const D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR: u32 = 1u32;
12168 pub const D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR: u32 = 1u32;
12169 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12170 #[repr(C)]
12171 pub struct D3D12_TEX1D_ARRAY_DSV {
12172     pub MipSlice: u32,
12173     pub FirstArraySlice: u32,
12174     pub ArraySize: u32,
12175 }
12176 impl D3D12_TEX1D_ARRAY_DSV {}
12177 impl ::std::default::Default for D3D12_TEX1D_ARRAY_DSV {
default() -> Self12178     fn default() -> Self {
12179         unsafe { ::std::mem::zeroed() }
12180     }
12181 }
12182 impl ::std::fmt::Debug for D3D12_TEX1D_ARRAY_DSV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12183     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12184         fmt.debug_struct("D3D12_TEX1D_ARRAY_DSV").field("MipSlice", &self.MipSlice).field("FirstArraySlice", &self.FirstArraySlice).field("ArraySize", &self.ArraySize).finish()
12185     }
12186 }
12187 impl ::std::cmp::PartialEq for D3D12_TEX1D_ARRAY_DSV {
eq(&self, other: &Self) -> bool12188     fn eq(&self, other: &Self) -> bool {
12189         self.MipSlice == other.MipSlice && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize
12190     }
12191 }
12192 impl ::std::cmp::Eq for D3D12_TEX1D_ARRAY_DSV {}
12193 unsafe impl ::windows::runtime::Abi for D3D12_TEX1D_ARRAY_DSV {
12194     type Abi = Self;
12195     type DefaultType = Self;
12196 }
12197 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12198 #[repr(C)]
12199 pub struct D3D12_TEX1D_ARRAY_RTV {
12200     pub MipSlice: u32,
12201     pub FirstArraySlice: u32,
12202     pub ArraySize: u32,
12203 }
12204 impl D3D12_TEX1D_ARRAY_RTV {}
12205 impl ::std::default::Default for D3D12_TEX1D_ARRAY_RTV {
default() -> Self12206     fn default() -> Self {
12207         unsafe { ::std::mem::zeroed() }
12208     }
12209 }
12210 impl ::std::fmt::Debug for D3D12_TEX1D_ARRAY_RTV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12211     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12212         fmt.debug_struct("D3D12_TEX1D_ARRAY_RTV").field("MipSlice", &self.MipSlice).field("FirstArraySlice", &self.FirstArraySlice).field("ArraySize", &self.ArraySize).finish()
12213     }
12214 }
12215 impl ::std::cmp::PartialEq for D3D12_TEX1D_ARRAY_RTV {
eq(&self, other: &Self) -> bool12216     fn eq(&self, other: &Self) -> bool {
12217         self.MipSlice == other.MipSlice && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize
12218     }
12219 }
12220 impl ::std::cmp::Eq for D3D12_TEX1D_ARRAY_RTV {}
12221 unsafe impl ::windows::runtime::Abi for D3D12_TEX1D_ARRAY_RTV {
12222     type Abi = Self;
12223     type DefaultType = Self;
12224 }
12225 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12226 #[repr(C)]
12227 pub struct D3D12_TEX1D_ARRAY_SRV {
12228     pub MostDetailedMip: u32,
12229     pub MipLevels: u32,
12230     pub FirstArraySlice: u32,
12231     pub ArraySize: u32,
12232     pub ResourceMinLODClamp: f32,
12233 }
12234 impl D3D12_TEX1D_ARRAY_SRV {}
12235 impl ::std::default::Default for D3D12_TEX1D_ARRAY_SRV {
default() -> Self12236     fn default() -> Self {
12237         unsafe { ::std::mem::zeroed() }
12238     }
12239 }
12240 impl ::std::fmt::Debug for D3D12_TEX1D_ARRAY_SRV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12241     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12242         fmt.debug_struct("D3D12_TEX1D_ARRAY_SRV").field("MostDetailedMip", &self.MostDetailedMip).field("MipLevels", &self.MipLevels).field("FirstArraySlice", &self.FirstArraySlice).field("ArraySize", &self.ArraySize).field("ResourceMinLODClamp", &self.ResourceMinLODClamp).finish()
12243     }
12244 }
12245 impl ::std::cmp::PartialEq for D3D12_TEX1D_ARRAY_SRV {
eq(&self, other: &Self) -> bool12246     fn eq(&self, other: &Self) -> bool {
12247         self.MostDetailedMip == other.MostDetailedMip && self.MipLevels == other.MipLevels && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize && self.ResourceMinLODClamp == other.ResourceMinLODClamp
12248     }
12249 }
12250 impl ::std::cmp::Eq for D3D12_TEX1D_ARRAY_SRV {}
12251 unsafe impl ::windows::runtime::Abi for D3D12_TEX1D_ARRAY_SRV {
12252     type Abi = Self;
12253     type DefaultType = Self;
12254 }
12255 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12256 #[repr(C)]
12257 pub struct D3D12_TEX1D_ARRAY_UAV {
12258     pub MipSlice: u32,
12259     pub FirstArraySlice: u32,
12260     pub ArraySize: u32,
12261 }
12262 impl D3D12_TEX1D_ARRAY_UAV {}
12263 impl ::std::default::Default for D3D12_TEX1D_ARRAY_UAV {
default() -> Self12264     fn default() -> Self {
12265         unsafe { ::std::mem::zeroed() }
12266     }
12267 }
12268 impl ::std::fmt::Debug for D3D12_TEX1D_ARRAY_UAV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12269     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12270         fmt.debug_struct("D3D12_TEX1D_ARRAY_UAV").field("MipSlice", &self.MipSlice).field("FirstArraySlice", &self.FirstArraySlice).field("ArraySize", &self.ArraySize).finish()
12271     }
12272 }
12273 impl ::std::cmp::PartialEq for D3D12_TEX1D_ARRAY_UAV {
eq(&self, other: &Self) -> bool12274     fn eq(&self, other: &Self) -> bool {
12275         self.MipSlice == other.MipSlice && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize
12276     }
12277 }
12278 impl ::std::cmp::Eq for D3D12_TEX1D_ARRAY_UAV {}
12279 unsafe impl ::windows::runtime::Abi for D3D12_TEX1D_ARRAY_UAV {
12280     type Abi = Self;
12281     type DefaultType = Self;
12282 }
12283 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12284 #[repr(C)]
12285 pub struct D3D12_TEX1D_DSV {
12286     pub MipSlice: u32,
12287 }
12288 impl D3D12_TEX1D_DSV {}
12289 impl ::std::default::Default for D3D12_TEX1D_DSV {
default() -> Self12290     fn default() -> Self {
12291         unsafe { ::std::mem::zeroed() }
12292     }
12293 }
12294 impl ::std::fmt::Debug for D3D12_TEX1D_DSV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12295     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12296         fmt.debug_struct("D3D12_TEX1D_DSV").field("MipSlice", &self.MipSlice).finish()
12297     }
12298 }
12299 impl ::std::cmp::PartialEq for D3D12_TEX1D_DSV {
eq(&self, other: &Self) -> bool12300     fn eq(&self, other: &Self) -> bool {
12301         self.MipSlice == other.MipSlice
12302     }
12303 }
12304 impl ::std::cmp::Eq for D3D12_TEX1D_DSV {}
12305 unsafe impl ::windows::runtime::Abi for D3D12_TEX1D_DSV {
12306     type Abi = Self;
12307     type DefaultType = Self;
12308 }
12309 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12310 #[repr(C)]
12311 pub struct D3D12_TEX1D_RTV {
12312     pub MipSlice: u32,
12313 }
12314 impl D3D12_TEX1D_RTV {}
12315 impl ::std::default::Default for D3D12_TEX1D_RTV {
default() -> Self12316     fn default() -> Self {
12317         unsafe { ::std::mem::zeroed() }
12318     }
12319 }
12320 impl ::std::fmt::Debug for D3D12_TEX1D_RTV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12321     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12322         fmt.debug_struct("D3D12_TEX1D_RTV").field("MipSlice", &self.MipSlice).finish()
12323     }
12324 }
12325 impl ::std::cmp::PartialEq for D3D12_TEX1D_RTV {
eq(&self, other: &Self) -> bool12326     fn eq(&self, other: &Self) -> bool {
12327         self.MipSlice == other.MipSlice
12328     }
12329 }
12330 impl ::std::cmp::Eq for D3D12_TEX1D_RTV {}
12331 unsafe impl ::windows::runtime::Abi for D3D12_TEX1D_RTV {
12332     type Abi = Self;
12333     type DefaultType = Self;
12334 }
12335 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12336 #[repr(C)]
12337 pub struct D3D12_TEX1D_SRV {
12338     pub MostDetailedMip: u32,
12339     pub MipLevels: u32,
12340     pub ResourceMinLODClamp: f32,
12341 }
12342 impl D3D12_TEX1D_SRV {}
12343 impl ::std::default::Default for D3D12_TEX1D_SRV {
default() -> Self12344     fn default() -> Self {
12345         unsafe { ::std::mem::zeroed() }
12346     }
12347 }
12348 impl ::std::fmt::Debug for D3D12_TEX1D_SRV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12349     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12350         fmt.debug_struct("D3D12_TEX1D_SRV").field("MostDetailedMip", &self.MostDetailedMip).field("MipLevels", &self.MipLevels).field("ResourceMinLODClamp", &self.ResourceMinLODClamp).finish()
12351     }
12352 }
12353 impl ::std::cmp::PartialEq for D3D12_TEX1D_SRV {
eq(&self, other: &Self) -> bool12354     fn eq(&self, other: &Self) -> bool {
12355         self.MostDetailedMip == other.MostDetailedMip && self.MipLevels == other.MipLevels && self.ResourceMinLODClamp == other.ResourceMinLODClamp
12356     }
12357 }
12358 impl ::std::cmp::Eq for D3D12_TEX1D_SRV {}
12359 unsafe impl ::windows::runtime::Abi for D3D12_TEX1D_SRV {
12360     type Abi = Self;
12361     type DefaultType = Self;
12362 }
12363 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12364 #[repr(C)]
12365 pub struct D3D12_TEX1D_UAV {
12366     pub MipSlice: u32,
12367 }
12368 impl D3D12_TEX1D_UAV {}
12369 impl ::std::default::Default for D3D12_TEX1D_UAV {
default() -> Self12370     fn default() -> Self {
12371         unsafe { ::std::mem::zeroed() }
12372     }
12373 }
12374 impl ::std::fmt::Debug for D3D12_TEX1D_UAV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12375     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12376         fmt.debug_struct("D3D12_TEX1D_UAV").field("MipSlice", &self.MipSlice).finish()
12377     }
12378 }
12379 impl ::std::cmp::PartialEq for D3D12_TEX1D_UAV {
eq(&self, other: &Self) -> bool12380     fn eq(&self, other: &Self) -> bool {
12381         self.MipSlice == other.MipSlice
12382     }
12383 }
12384 impl ::std::cmp::Eq for D3D12_TEX1D_UAV {}
12385 unsafe impl ::windows::runtime::Abi for D3D12_TEX1D_UAV {
12386     type Abi = Self;
12387     type DefaultType = Self;
12388 }
12389 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12390 #[repr(C)]
12391 pub struct D3D12_TEX2DMS_ARRAY_DSV {
12392     pub FirstArraySlice: u32,
12393     pub ArraySize: u32,
12394 }
12395 impl D3D12_TEX2DMS_ARRAY_DSV {}
12396 impl ::std::default::Default for D3D12_TEX2DMS_ARRAY_DSV {
default() -> Self12397     fn default() -> Self {
12398         unsafe { ::std::mem::zeroed() }
12399     }
12400 }
12401 impl ::std::fmt::Debug for D3D12_TEX2DMS_ARRAY_DSV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12402     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12403         fmt.debug_struct("D3D12_TEX2DMS_ARRAY_DSV").field("FirstArraySlice", &self.FirstArraySlice).field("ArraySize", &self.ArraySize).finish()
12404     }
12405 }
12406 impl ::std::cmp::PartialEq for D3D12_TEX2DMS_ARRAY_DSV {
eq(&self, other: &Self) -> bool12407     fn eq(&self, other: &Self) -> bool {
12408         self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize
12409     }
12410 }
12411 impl ::std::cmp::Eq for D3D12_TEX2DMS_ARRAY_DSV {}
12412 unsafe impl ::windows::runtime::Abi for D3D12_TEX2DMS_ARRAY_DSV {
12413     type Abi = Self;
12414     type DefaultType = Self;
12415 }
12416 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12417 #[repr(C)]
12418 pub struct D3D12_TEX2DMS_ARRAY_RTV {
12419     pub FirstArraySlice: u32,
12420     pub ArraySize: u32,
12421 }
12422 impl D3D12_TEX2DMS_ARRAY_RTV {}
12423 impl ::std::default::Default for D3D12_TEX2DMS_ARRAY_RTV {
default() -> Self12424     fn default() -> Self {
12425         unsafe { ::std::mem::zeroed() }
12426     }
12427 }
12428 impl ::std::fmt::Debug for D3D12_TEX2DMS_ARRAY_RTV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12429     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12430         fmt.debug_struct("D3D12_TEX2DMS_ARRAY_RTV").field("FirstArraySlice", &self.FirstArraySlice).field("ArraySize", &self.ArraySize).finish()
12431     }
12432 }
12433 impl ::std::cmp::PartialEq for D3D12_TEX2DMS_ARRAY_RTV {
eq(&self, other: &Self) -> bool12434     fn eq(&self, other: &Self) -> bool {
12435         self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize
12436     }
12437 }
12438 impl ::std::cmp::Eq for D3D12_TEX2DMS_ARRAY_RTV {}
12439 unsafe impl ::windows::runtime::Abi for D3D12_TEX2DMS_ARRAY_RTV {
12440     type Abi = Self;
12441     type DefaultType = Self;
12442 }
12443 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12444 #[repr(C)]
12445 pub struct D3D12_TEX2DMS_ARRAY_SRV {
12446     pub FirstArraySlice: u32,
12447     pub ArraySize: u32,
12448 }
12449 impl D3D12_TEX2DMS_ARRAY_SRV {}
12450 impl ::std::default::Default for D3D12_TEX2DMS_ARRAY_SRV {
default() -> Self12451     fn default() -> Self {
12452         unsafe { ::std::mem::zeroed() }
12453     }
12454 }
12455 impl ::std::fmt::Debug for D3D12_TEX2DMS_ARRAY_SRV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12456     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12457         fmt.debug_struct("D3D12_TEX2DMS_ARRAY_SRV").field("FirstArraySlice", &self.FirstArraySlice).field("ArraySize", &self.ArraySize).finish()
12458     }
12459 }
12460 impl ::std::cmp::PartialEq for D3D12_TEX2DMS_ARRAY_SRV {
eq(&self, other: &Self) -> bool12461     fn eq(&self, other: &Self) -> bool {
12462         self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize
12463     }
12464 }
12465 impl ::std::cmp::Eq for D3D12_TEX2DMS_ARRAY_SRV {}
12466 unsafe impl ::windows::runtime::Abi for D3D12_TEX2DMS_ARRAY_SRV {
12467     type Abi = Self;
12468     type DefaultType = Self;
12469 }
12470 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12471 #[repr(C)]
12472 pub struct D3D12_TEX2DMS_DSV {
12473     pub UnusedField_NothingToDefine: u32,
12474 }
12475 impl D3D12_TEX2DMS_DSV {}
12476 impl ::std::default::Default for D3D12_TEX2DMS_DSV {
default() -> Self12477     fn default() -> Self {
12478         unsafe { ::std::mem::zeroed() }
12479     }
12480 }
12481 impl ::std::fmt::Debug for D3D12_TEX2DMS_DSV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12482     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12483         fmt.debug_struct("D3D12_TEX2DMS_DSV").field("UnusedField_NothingToDefine", &self.UnusedField_NothingToDefine).finish()
12484     }
12485 }
12486 impl ::std::cmp::PartialEq for D3D12_TEX2DMS_DSV {
eq(&self, other: &Self) -> bool12487     fn eq(&self, other: &Self) -> bool {
12488         self.UnusedField_NothingToDefine == other.UnusedField_NothingToDefine
12489     }
12490 }
12491 impl ::std::cmp::Eq for D3D12_TEX2DMS_DSV {}
12492 unsafe impl ::windows::runtime::Abi for D3D12_TEX2DMS_DSV {
12493     type Abi = Self;
12494     type DefaultType = Self;
12495 }
12496 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12497 #[repr(C)]
12498 pub struct D3D12_TEX2DMS_RTV {
12499     pub UnusedField_NothingToDefine: u32,
12500 }
12501 impl D3D12_TEX2DMS_RTV {}
12502 impl ::std::default::Default for D3D12_TEX2DMS_RTV {
default() -> Self12503     fn default() -> Self {
12504         unsafe { ::std::mem::zeroed() }
12505     }
12506 }
12507 impl ::std::fmt::Debug for D3D12_TEX2DMS_RTV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12508     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12509         fmt.debug_struct("D3D12_TEX2DMS_RTV").field("UnusedField_NothingToDefine", &self.UnusedField_NothingToDefine).finish()
12510     }
12511 }
12512 impl ::std::cmp::PartialEq for D3D12_TEX2DMS_RTV {
eq(&self, other: &Self) -> bool12513     fn eq(&self, other: &Self) -> bool {
12514         self.UnusedField_NothingToDefine == other.UnusedField_NothingToDefine
12515     }
12516 }
12517 impl ::std::cmp::Eq for D3D12_TEX2DMS_RTV {}
12518 unsafe impl ::windows::runtime::Abi for D3D12_TEX2DMS_RTV {
12519     type Abi = Self;
12520     type DefaultType = Self;
12521 }
12522 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12523 #[repr(C)]
12524 pub struct D3D12_TEX2DMS_SRV {
12525     pub UnusedField_NothingToDefine: u32,
12526 }
12527 impl D3D12_TEX2DMS_SRV {}
12528 impl ::std::default::Default for D3D12_TEX2DMS_SRV {
default() -> Self12529     fn default() -> Self {
12530         unsafe { ::std::mem::zeroed() }
12531     }
12532 }
12533 impl ::std::fmt::Debug for D3D12_TEX2DMS_SRV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12534     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12535         fmt.debug_struct("D3D12_TEX2DMS_SRV").field("UnusedField_NothingToDefine", &self.UnusedField_NothingToDefine).finish()
12536     }
12537 }
12538 impl ::std::cmp::PartialEq for D3D12_TEX2DMS_SRV {
eq(&self, other: &Self) -> bool12539     fn eq(&self, other: &Self) -> bool {
12540         self.UnusedField_NothingToDefine == other.UnusedField_NothingToDefine
12541     }
12542 }
12543 impl ::std::cmp::Eq for D3D12_TEX2DMS_SRV {}
12544 unsafe impl ::windows::runtime::Abi for D3D12_TEX2DMS_SRV {
12545     type Abi = Self;
12546     type DefaultType = Self;
12547 }
12548 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12549 #[repr(C)]
12550 pub struct D3D12_TEX2D_ARRAY_DSV {
12551     pub MipSlice: u32,
12552     pub FirstArraySlice: u32,
12553     pub ArraySize: u32,
12554 }
12555 impl D3D12_TEX2D_ARRAY_DSV {}
12556 impl ::std::default::Default for D3D12_TEX2D_ARRAY_DSV {
default() -> Self12557     fn default() -> Self {
12558         unsafe { ::std::mem::zeroed() }
12559     }
12560 }
12561 impl ::std::fmt::Debug for D3D12_TEX2D_ARRAY_DSV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12562     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12563         fmt.debug_struct("D3D12_TEX2D_ARRAY_DSV").field("MipSlice", &self.MipSlice).field("FirstArraySlice", &self.FirstArraySlice).field("ArraySize", &self.ArraySize).finish()
12564     }
12565 }
12566 impl ::std::cmp::PartialEq for D3D12_TEX2D_ARRAY_DSV {
eq(&self, other: &Self) -> bool12567     fn eq(&self, other: &Self) -> bool {
12568         self.MipSlice == other.MipSlice && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize
12569     }
12570 }
12571 impl ::std::cmp::Eq for D3D12_TEX2D_ARRAY_DSV {}
12572 unsafe impl ::windows::runtime::Abi for D3D12_TEX2D_ARRAY_DSV {
12573     type Abi = Self;
12574     type DefaultType = Self;
12575 }
12576 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12577 #[repr(C)]
12578 pub struct D3D12_TEX2D_ARRAY_RTV {
12579     pub MipSlice: u32,
12580     pub FirstArraySlice: u32,
12581     pub ArraySize: u32,
12582     pub PlaneSlice: u32,
12583 }
12584 impl D3D12_TEX2D_ARRAY_RTV {}
12585 impl ::std::default::Default for D3D12_TEX2D_ARRAY_RTV {
default() -> Self12586     fn default() -> Self {
12587         unsafe { ::std::mem::zeroed() }
12588     }
12589 }
12590 impl ::std::fmt::Debug for D3D12_TEX2D_ARRAY_RTV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12591     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12592         fmt.debug_struct("D3D12_TEX2D_ARRAY_RTV").field("MipSlice", &self.MipSlice).field("FirstArraySlice", &self.FirstArraySlice).field("ArraySize", &self.ArraySize).field("PlaneSlice", &self.PlaneSlice).finish()
12593     }
12594 }
12595 impl ::std::cmp::PartialEq for D3D12_TEX2D_ARRAY_RTV {
eq(&self, other: &Self) -> bool12596     fn eq(&self, other: &Self) -> bool {
12597         self.MipSlice == other.MipSlice && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize && self.PlaneSlice == other.PlaneSlice
12598     }
12599 }
12600 impl ::std::cmp::Eq for D3D12_TEX2D_ARRAY_RTV {}
12601 unsafe impl ::windows::runtime::Abi for D3D12_TEX2D_ARRAY_RTV {
12602     type Abi = Self;
12603     type DefaultType = Self;
12604 }
12605 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12606 #[repr(C)]
12607 pub struct D3D12_TEX2D_ARRAY_SRV {
12608     pub MostDetailedMip: u32,
12609     pub MipLevels: u32,
12610     pub FirstArraySlice: u32,
12611     pub ArraySize: u32,
12612     pub PlaneSlice: u32,
12613     pub ResourceMinLODClamp: f32,
12614 }
12615 impl D3D12_TEX2D_ARRAY_SRV {}
12616 impl ::std::default::Default for D3D12_TEX2D_ARRAY_SRV {
default() -> Self12617     fn default() -> Self {
12618         unsafe { ::std::mem::zeroed() }
12619     }
12620 }
12621 impl ::std::fmt::Debug for D3D12_TEX2D_ARRAY_SRV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12622     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12623         fmt.debug_struct("D3D12_TEX2D_ARRAY_SRV")
12624             .field("MostDetailedMip", &self.MostDetailedMip)
12625             .field("MipLevels", &self.MipLevels)
12626             .field("FirstArraySlice", &self.FirstArraySlice)
12627             .field("ArraySize", &self.ArraySize)
12628             .field("PlaneSlice", &self.PlaneSlice)
12629             .field("ResourceMinLODClamp", &self.ResourceMinLODClamp)
12630             .finish()
12631     }
12632 }
12633 impl ::std::cmp::PartialEq for D3D12_TEX2D_ARRAY_SRV {
eq(&self, other: &Self) -> bool12634     fn eq(&self, other: &Self) -> bool {
12635         self.MostDetailedMip == other.MostDetailedMip && self.MipLevels == other.MipLevels && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize && self.PlaneSlice == other.PlaneSlice && self.ResourceMinLODClamp == other.ResourceMinLODClamp
12636     }
12637 }
12638 impl ::std::cmp::Eq for D3D12_TEX2D_ARRAY_SRV {}
12639 unsafe impl ::windows::runtime::Abi for D3D12_TEX2D_ARRAY_SRV {
12640     type Abi = Self;
12641     type DefaultType = Self;
12642 }
12643 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12644 #[repr(C)]
12645 pub struct D3D12_TEX2D_ARRAY_UAV {
12646     pub MipSlice: u32,
12647     pub FirstArraySlice: u32,
12648     pub ArraySize: u32,
12649     pub PlaneSlice: u32,
12650 }
12651 impl D3D12_TEX2D_ARRAY_UAV {}
12652 impl ::std::default::Default for D3D12_TEX2D_ARRAY_UAV {
default() -> Self12653     fn default() -> Self {
12654         unsafe { ::std::mem::zeroed() }
12655     }
12656 }
12657 impl ::std::fmt::Debug for D3D12_TEX2D_ARRAY_UAV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12658     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12659         fmt.debug_struct("D3D12_TEX2D_ARRAY_UAV").field("MipSlice", &self.MipSlice).field("FirstArraySlice", &self.FirstArraySlice).field("ArraySize", &self.ArraySize).field("PlaneSlice", &self.PlaneSlice).finish()
12660     }
12661 }
12662 impl ::std::cmp::PartialEq for D3D12_TEX2D_ARRAY_UAV {
eq(&self, other: &Self) -> bool12663     fn eq(&self, other: &Self) -> bool {
12664         self.MipSlice == other.MipSlice && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize && self.PlaneSlice == other.PlaneSlice
12665     }
12666 }
12667 impl ::std::cmp::Eq for D3D12_TEX2D_ARRAY_UAV {}
12668 unsafe impl ::windows::runtime::Abi for D3D12_TEX2D_ARRAY_UAV {
12669     type Abi = Self;
12670     type DefaultType = Self;
12671 }
12672 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12673 #[repr(C)]
12674 pub struct D3D12_TEX2D_DSV {
12675     pub MipSlice: u32,
12676 }
12677 impl D3D12_TEX2D_DSV {}
12678 impl ::std::default::Default for D3D12_TEX2D_DSV {
default() -> Self12679     fn default() -> Self {
12680         unsafe { ::std::mem::zeroed() }
12681     }
12682 }
12683 impl ::std::fmt::Debug for D3D12_TEX2D_DSV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12684     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12685         fmt.debug_struct("D3D12_TEX2D_DSV").field("MipSlice", &self.MipSlice).finish()
12686     }
12687 }
12688 impl ::std::cmp::PartialEq for D3D12_TEX2D_DSV {
eq(&self, other: &Self) -> bool12689     fn eq(&self, other: &Self) -> bool {
12690         self.MipSlice == other.MipSlice
12691     }
12692 }
12693 impl ::std::cmp::Eq for D3D12_TEX2D_DSV {}
12694 unsafe impl ::windows::runtime::Abi for D3D12_TEX2D_DSV {
12695     type Abi = Self;
12696     type DefaultType = Self;
12697 }
12698 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12699 #[repr(C)]
12700 pub struct D3D12_TEX2D_RTV {
12701     pub MipSlice: u32,
12702     pub PlaneSlice: u32,
12703 }
12704 impl D3D12_TEX2D_RTV {}
12705 impl ::std::default::Default for D3D12_TEX2D_RTV {
default() -> Self12706     fn default() -> Self {
12707         unsafe { ::std::mem::zeroed() }
12708     }
12709 }
12710 impl ::std::fmt::Debug for D3D12_TEX2D_RTV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12711     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12712         fmt.debug_struct("D3D12_TEX2D_RTV").field("MipSlice", &self.MipSlice).field("PlaneSlice", &self.PlaneSlice).finish()
12713     }
12714 }
12715 impl ::std::cmp::PartialEq for D3D12_TEX2D_RTV {
eq(&self, other: &Self) -> bool12716     fn eq(&self, other: &Self) -> bool {
12717         self.MipSlice == other.MipSlice && self.PlaneSlice == other.PlaneSlice
12718     }
12719 }
12720 impl ::std::cmp::Eq for D3D12_TEX2D_RTV {}
12721 unsafe impl ::windows::runtime::Abi for D3D12_TEX2D_RTV {
12722     type Abi = Self;
12723     type DefaultType = Self;
12724 }
12725 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12726 #[repr(C)]
12727 pub struct D3D12_TEX2D_SRV {
12728     pub MostDetailedMip: u32,
12729     pub MipLevels: u32,
12730     pub PlaneSlice: u32,
12731     pub ResourceMinLODClamp: f32,
12732 }
12733 impl D3D12_TEX2D_SRV {}
12734 impl ::std::default::Default for D3D12_TEX2D_SRV {
default() -> Self12735     fn default() -> Self {
12736         unsafe { ::std::mem::zeroed() }
12737     }
12738 }
12739 impl ::std::fmt::Debug for D3D12_TEX2D_SRV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12740     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12741         fmt.debug_struct("D3D12_TEX2D_SRV").field("MostDetailedMip", &self.MostDetailedMip).field("MipLevels", &self.MipLevels).field("PlaneSlice", &self.PlaneSlice).field("ResourceMinLODClamp", &self.ResourceMinLODClamp).finish()
12742     }
12743 }
12744 impl ::std::cmp::PartialEq for D3D12_TEX2D_SRV {
eq(&self, other: &Self) -> bool12745     fn eq(&self, other: &Self) -> bool {
12746         self.MostDetailedMip == other.MostDetailedMip && self.MipLevels == other.MipLevels && self.PlaneSlice == other.PlaneSlice && self.ResourceMinLODClamp == other.ResourceMinLODClamp
12747     }
12748 }
12749 impl ::std::cmp::Eq for D3D12_TEX2D_SRV {}
12750 unsafe impl ::windows::runtime::Abi for D3D12_TEX2D_SRV {
12751     type Abi = Self;
12752     type DefaultType = Self;
12753 }
12754 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12755 #[repr(C)]
12756 pub struct D3D12_TEX2D_UAV {
12757     pub MipSlice: u32,
12758     pub PlaneSlice: u32,
12759 }
12760 impl D3D12_TEX2D_UAV {}
12761 impl ::std::default::Default for D3D12_TEX2D_UAV {
default() -> Self12762     fn default() -> Self {
12763         unsafe { ::std::mem::zeroed() }
12764     }
12765 }
12766 impl ::std::fmt::Debug for D3D12_TEX2D_UAV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12767     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12768         fmt.debug_struct("D3D12_TEX2D_UAV").field("MipSlice", &self.MipSlice).field("PlaneSlice", &self.PlaneSlice).finish()
12769     }
12770 }
12771 impl ::std::cmp::PartialEq for D3D12_TEX2D_UAV {
eq(&self, other: &Self) -> bool12772     fn eq(&self, other: &Self) -> bool {
12773         self.MipSlice == other.MipSlice && self.PlaneSlice == other.PlaneSlice
12774     }
12775 }
12776 impl ::std::cmp::Eq for D3D12_TEX2D_UAV {}
12777 unsafe impl ::windows::runtime::Abi for D3D12_TEX2D_UAV {
12778     type Abi = Self;
12779     type DefaultType = Self;
12780 }
12781 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12782 #[repr(C)]
12783 pub struct D3D12_TEX3D_RTV {
12784     pub MipSlice: u32,
12785     pub FirstWSlice: u32,
12786     pub WSize: u32,
12787 }
12788 impl D3D12_TEX3D_RTV {}
12789 impl ::std::default::Default for D3D12_TEX3D_RTV {
default() -> Self12790     fn default() -> Self {
12791         unsafe { ::std::mem::zeroed() }
12792     }
12793 }
12794 impl ::std::fmt::Debug for D3D12_TEX3D_RTV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12795     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12796         fmt.debug_struct("D3D12_TEX3D_RTV").field("MipSlice", &self.MipSlice).field("FirstWSlice", &self.FirstWSlice).field("WSize", &self.WSize).finish()
12797     }
12798 }
12799 impl ::std::cmp::PartialEq for D3D12_TEX3D_RTV {
eq(&self, other: &Self) -> bool12800     fn eq(&self, other: &Self) -> bool {
12801         self.MipSlice == other.MipSlice && self.FirstWSlice == other.FirstWSlice && self.WSize == other.WSize
12802     }
12803 }
12804 impl ::std::cmp::Eq for D3D12_TEX3D_RTV {}
12805 unsafe impl ::windows::runtime::Abi for D3D12_TEX3D_RTV {
12806     type Abi = Self;
12807     type DefaultType = Self;
12808 }
12809 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12810 #[repr(C)]
12811 pub struct D3D12_TEX3D_SRV {
12812     pub MostDetailedMip: u32,
12813     pub MipLevels: u32,
12814     pub ResourceMinLODClamp: f32,
12815 }
12816 impl D3D12_TEX3D_SRV {}
12817 impl ::std::default::Default for D3D12_TEX3D_SRV {
default() -> Self12818     fn default() -> Self {
12819         unsafe { ::std::mem::zeroed() }
12820     }
12821 }
12822 impl ::std::fmt::Debug for D3D12_TEX3D_SRV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12823     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12824         fmt.debug_struct("D3D12_TEX3D_SRV").field("MostDetailedMip", &self.MostDetailedMip).field("MipLevels", &self.MipLevels).field("ResourceMinLODClamp", &self.ResourceMinLODClamp).finish()
12825     }
12826 }
12827 impl ::std::cmp::PartialEq for D3D12_TEX3D_SRV {
eq(&self, other: &Self) -> bool12828     fn eq(&self, other: &Self) -> bool {
12829         self.MostDetailedMip == other.MostDetailedMip && self.MipLevels == other.MipLevels && self.ResourceMinLODClamp == other.ResourceMinLODClamp
12830     }
12831 }
12832 impl ::std::cmp::Eq for D3D12_TEX3D_SRV {}
12833 unsafe impl ::windows::runtime::Abi for D3D12_TEX3D_SRV {
12834     type Abi = Self;
12835     type DefaultType = Self;
12836 }
12837 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12838 #[repr(C)]
12839 pub struct D3D12_TEX3D_UAV {
12840     pub MipSlice: u32,
12841     pub FirstWSlice: u32,
12842     pub WSize: u32,
12843 }
12844 impl D3D12_TEX3D_UAV {}
12845 impl ::std::default::Default for D3D12_TEX3D_UAV {
default() -> Self12846     fn default() -> Self {
12847         unsafe { ::std::mem::zeroed() }
12848     }
12849 }
12850 impl ::std::fmt::Debug for D3D12_TEX3D_UAV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12851     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12852         fmt.debug_struct("D3D12_TEX3D_UAV").field("MipSlice", &self.MipSlice).field("FirstWSlice", &self.FirstWSlice).field("WSize", &self.WSize).finish()
12853     }
12854 }
12855 impl ::std::cmp::PartialEq for D3D12_TEX3D_UAV {
eq(&self, other: &Self) -> bool12856     fn eq(&self, other: &Self) -> bool {
12857         self.MipSlice == other.MipSlice && self.FirstWSlice == other.FirstWSlice && self.WSize == other.WSize
12858     }
12859 }
12860 impl ::std::cmp::Eq for D3D12_TEX3D_UAV {}
12861 unsafe impl ::windows::runtime::Abi for D3D12_TEX3D_UAV {
12862     type Abi = Self;
12863     type DefaultType = Self;
12864 }
12865 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12866 #[repr(C)]
12867 pub struct D3D12_TEXCUBE_ARRAY_SRV {
12868     pub MostDetailedMip: u32,
12869     pub MipLevels: u32,
12870     pub First2DArrayFace: u32,
12871     pub NumCubes: u32,
12872     pub ResourceMinLODClamp: f32,
12873 }
12874 impl D3D12_TEXCUBE_ARRAY_SRV {}
12875 impl ::std::default::Default for D3D12_TEXCUBE_ARRAY_SRV {
default() -> Self12876     fn default() -> Self {
12877         unsafe { ::std::mem::zeroed() }
12878     }
12879 }
12880 impl ::std::fmt::Debug for D3D12_TEXCUBE_ARRAY_SRV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12881     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12882         fmt.debug_struct("D3D12_TEXCUBE_ARRAY_SRV").field("MostDetailedMip", &self.MostDetailedMip).field("MipLevels", &self.MipLevels).field("First2DArrayFace", &self.First2DArrayFace).field("NumCubes", &self.NumCubes).field("ResourceMinLODClamp", &self.ResourceMinLODClamp).finish()
12883     }
12884 }
12885 impl ::std::cmp::PartialEq for D3D12_TEXCUBE_ARRAY_SRV {
eq(&self, other: &Self) -> bool12886     fn eq(&self, other: &Self) -> bool {
12887         self.MostDetailedMip == other.MostDetailedMip && self.MipLevels == other.MipLevels && self.First2DArrayFace == other.First2DArrayFace && self.NumCubes == other.NumCubes && self.ResourceMinLODClamp == other.ResourceMinLODClamp
12888     }
12889 }
12890 impl ::std::cmp::Eq for D3D12_TEXCUBE_ARRAY_SRV {}
12891 unsafe impl ::windows::runtime::Abi for D3D12_TEXCUBE_ARRAY_SRV {
12892     type Abi = Self;
12893     type DefaultType = Self;
12894 }
12895 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12896 #[repr(C)]
12897 pub struct D3D12_TEXCUBE_SRV {
12898     pub MostDetailedMip: u32,
12899     pub MipLevels: u32,
12900     pub ResourceMinLODClamp: f32,
12901 }
12902 impl D3D12_TEXCUBE_SRV {}
12903 impl ::std::default::Default for D3D12_TEXCUBE_SRV {
default() -> Self12904     fn default() -> Self {
12905         unsafe { ::std::mem::zeroed() }
12906     }
12907 }
12908 impl ::std::fmt::Debug for D3D12_TEXCUBE_SRV {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result12909     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12910         fmt.debug_struct("D3D12_TEXCUBE_SRV").field("MostDetailedMip", &self.MostDetailedMip).field("MipLevels", &self.MipLevels).field("ResourceMinLODClamp", &self.ResourceMinLODClamp).finish()
12911     }
12912 }
12913 impl ::std::cmp::PartialEq for D3D12_TEXCUBE_SRV {
eq(&self, other: &Self) -> bool12914     fn eq(&self, other: &Self) -> bool {
12915         self.MostDetailedMip == other.MostDetailedMip && self.MipLevels == other.MipLevels && self.ResourceMinLODClamp == other.ResourceMinLODClamp
12916     }
12917 }
12918 impl ::std::cmp::Eq for D3D12_TEXCUBE_SRV {}
12919 unsafe impl ::windows::runtime::Abi for D3D12_TEXCUBE_SRV {
12920     type Abi = Self;
12921     type DefaultType = Self;
12922 }
12923 pub const D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT: u32 = 16u32;
12924 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
12925 #[repr(transparent)]
12926 pub struct D3D12_TEXTURE_ADDRESS_MODE(pub i32);
12927 pub const D3D12_TEXTURE_ADDRESS_MODE_WRAP: D3D12_TEXTURE_ADDRESS_MODE = D3D12_TEXTURE_ADDRESS_MODE(1i32);
12928 pub const D3D12_TEXTURE_ADDRESS_MODE_MIRROR: D3D12_TEXTURE_ADDRESS_MODE = D3D12_TEXTURE_ADDRESS_MODE(2i32);
12929 pub const D3D12_TEXTURE_ADDRESS_MODE_CLAMP: D3D12_TEXTURE_ADDRESS_MODE = D3D12_TEXTURE_ADDRESS_MODE(3i32);
12930 pub const D3D12_TEXTURE_ADDRESS_MODE_BORDER: D3D12_TEXTURE_ADDRESS_MODE = D3D12_TEXTURE_ADDRESS_MODE(4i32);
12931 pub const D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE: D3D12_TEXTURE_ADDRESS_MODE = D3D12_TEXTURE_ADDRESS_MODE(5i32);
12932 impl ::std::convert::From<i32> for D3D12_TEXTURE_ADDRESS_MODE {
from(value: i32) -> Self12933     fn from(value: i32) -> Self {
12934         Self(value)
12935     }
12936 }
12937 unsafe impl ::windows::runtime::Abi for D3D12_TEXTURE_ADDRESS_MODE {
12938     type Abi = Self;
12939     type DefaultType = Self;
12940 }
12941 #[cfg(feature = "Win32_Graphics_Dxgi")]
12942 impl ::std::clone::Clone for D3D12_TEXTURE_COPY_LOCATION {
clone(&self) -> Self12943     fn clone(&self) -> Self {
12944         unimplemented!()
12945     }
12946 }
12947 #[repr(C)]
12948 #[cfg(feature = "Win32_Graphics_Dxgi")]
12949 pub struct D3D12_TEXTURE_COPY_LOCATION {
12950     pub pResource: ::std::option::Option<ID3D12Resource>,
12951     pub Type: D3D12_TEXTURE_COPY_TYPE,
12952     pub Anonymous: D3D12_TEXTURE_COPY_LOCATION_0,
12953 }
12954 #[cfg(feature = "Win32_Graphics_Dxgi")]
12955 impl D3D12_TEXTURE_COPY_LOCATION {}
12956 #[cfg(feature = "Win32_Graphics_Dxgi")]
12957 impl ::std::default::Default for D3D12_TEXTURE_COPY_LOCATION {
default() -> Self12958     fn default() -> Self {
12959         unsafe { ::std::mem::zeroed() }
12960     }
12961 }
12962 #[cfg(feature = "Win32_Graphics_Dxgi")]
12963 impl ::std::cmp::PartialEq for D3D12_TEXTURE_COPY_LOCATION {
eq(&self, _other: &Self) -> bool12964     fn eq(&self, _other: &Self) -> bool {
12965         unimplemented!()
12966     }
12967 }
12968 #[cfg(feature = "Win32_Graphics_Dxgi")]
12969 impl ::std::cmp::Eq for D3D12_TEXTURE_COPY_LOCATION {}
12970 #[cfg(feature = "Win32_Graphics_Dxgi")]
12971 unsafe impl ::windows::runtime::Abi for D3D12_TEXTURE_COPY_LOCATION {
12972     type Abi = ::std::mem::ManuallyDrop<Self>;
12973     type DefaultType = Self;
12974 }
12975 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
12976 #[repr(C)]
12977 #[cfg(feature = "Win32_Graphics_Dxgi")]
12978 pub union D3D12_TEXTURE_COPY_LOCATION_0 {
12979     pub PlacedFootprint: D3D12_PLACED_SUBRESOURCE_FOOTPRINT,
12980     pub SubresourceIndex: u32,
12981 }
12982 #[cfg(feature = "Win32_Graphics_Dxgi")]
12983 impl D3D12_TEXTURE_COPY_LOCATION_0 {}
12984 #[cfg(feature = "Win32_Graphics_Dxgi")]
12985 impl ::std::default::Default for D3D12_TEXTURE_COPY_LOCATION_0 {
default() -> Self12986     fn default() -> Self {
12987         unsafe { ::std::mem::zeroed() }
12988     }
12989 }
12990 #[cfg(feature = "Win32_Graphics_Dxgi")]
12991 impl ::std::cmp::PartialEq for D3D12_TEXTURE_COPY_LOCATION_0 {
eq(&self, _other: &Self) -> bool12992     fn eq(&self, _other: &Self) -> bool {
12993         unimplemented!()
12994     }
12995 }
12996 #[cfg(feature = "Win32_Graphics_Dxgi")]
12997 impl ::std::cmp::Eq for D3D12_TEXTURE_COPY_LOCATION_0 {}
12998 #[cfg(feature = "Win32_Graphics_Dxgi")]
12999 unsafe impl ::windows::runtime::Abi for D3D12_TEXTURE_COPY_LOCATION_0 {
13000     type Abi = Self;
13001     type DefaultType = Self;
13002 }
13003 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13004 #[repr(transparent)]
13005 pub struct D3D12_TEXTURE_COPY_TYPE(pub i32);
13006 pub const D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX: D3D12_TEXTURE_COPY_TYPE = D3D12_TEXTURE_COPY_TYPE(0i32);
13007 pub const D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT: D3D12_TEXTURE_COPY_TYPE = D3D12_TEXTURE_COPY_TYPE(1i32);
13008 impl ::std::convert::From<i32> for D3D12_TEXTURE_COPY_TYPE {
from(value: i32) -> Self13009     fn from(value: i32) -> Self {
13010         Self(value)
13011     }
13012 }
13013 unsafe impl ::windows::runtime::Abi for D3D12_TEXTURE_COPY_TYPE {
13014     type Abi = Self;
13015     type DefaultType = Self;
13016 }
13017 pub const D3D12_TEXTURE_DATA_PITCH_ALIGNMENT: u32 = 256u32;
13018 pub const D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT: u32 = 512u32;
13019 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13020 #[repr(transparent)]
13021 pub struct D3D12_TEXTURE_LAYOUT(pub i32);
13022 pub const D3D12_TEXTURE_LAYOUT_UNKNOWN: D3D12_TEXTURE_LAYOUT = D3D12_TEXTURE_LAYOUT(0i32);
13023 pub const D3D12_TEXTURE_LAYOUT_ROW_MAJOR: D3D12_TEXTURE_LAYOUT = D3D12_TEXTURE_LAYOUT(1i32);
13024 pub const D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE: D3D12_TEXTURE_LAYOUT = D3D12_TEXTURE_LAYOUT(2i32);
13025 pub const D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE: D3D12_TEXTURE_LAYOUT = D3D12_TEXTURE_LAYOUT(3i32);
13026 impl ::std::convert::From<i32> for D3D12_TEXTURE_LAYOUT {
from(value: i32) -> Self13027     fn from(value: i32) -> Self {
13028         Self(value)
13029     }
13030 }
13031 unsafe impl ::windows::runtime::Abi for D3D12_TEXTURE_LAYOUT {
13032     type Abi = Self;
13033     type DefaultType = Self;
13034 }
13035 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13036 #[repr(transparent)]
13037 pub struct D3D12_TILED_RESOURCES_TIER(pub i32);
13038 pub const D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED: D3D12_TILED_RESOURCES_TIER = D3D12_TILED_RESOURCES_TIER(0i32);
13039 pub const D3D12_TILED_RESOURCES_TIER_1: D3D12_TILED_RESOURCES_TIER = D3D12_TILED_RESOURCES_TIER(1i32);
13040 pub const D3D12_TILED_RESOURCES_TIER_2: D3D12_TILED_RESOURCES_TIER = D3D12_TILED_RESOURCES_TIER(2i32);
13041 pub const D3D12_TILED_RESOURCES_TIER_3: D3D12_TILED_RESOURCES_TIER = D3D12_TILED_RESOURCES_TIER(3i32);
13042 pub const D3D12_TILED_RESOURCES_TIER_4: D3D12_TILED_RESOURCES_TIER = D3D12_TILED_RESOURCES_TIER(4i32);
13043 impl ::std::convert::From<i32> for D3D12_TILED_RESOURCES_TIER {
from(value: i32) -> Self13044     fn from(value: i32) -> Self {
13045         Self(value)
13046     }
13047 }
13048 unsafe impl ::windows::runtime::Abi for D3D12_TILED_RESOURCES_TIER {
13049     type Abi = Self;
13050     type DefaultType = Self;
13051 }
13052 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13053 #[repr(C)]
13054 pub struct D3D12_TILED_RESOURCE_COORDINATE {
13055     pub X: u32,
13056     pub Y: u32,
13057     pub Z: u32,
13058     pub Subresource: u32,
13059 }
13060 impl D3D12_TILED_RESOURCE_COORDINATE {}
13061 impl ::std::default::Default for D3D12_TILED_RESOURCE_COORDINATE {
default() -> Self13062     fn default() -> Self {
13063         unsafe { ::std::mem::zeroed() }
13064     }
13065 }
13066 impl ::std::fmt::Debug for D3D12_TILED_RESOURCE_COORDINATE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13067     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13068         fmt.debug_struct("D3D12_TILED_RESOURCE_COORDINATE").field("X", &self.X).field("Y", &self.Y).field("Z", &self.Z).field("Subresource", &self.Subresource).finish()
13069     }
13070 }
13071 impl ::std::cmp::PartialEq for D3D12_TILED_RESOURCE_COORDINATE {
eq(&self, other: &Self) -> bool13072     fn eq(&self, other: &Self) -> bool {
13073         self.X == other.X && self.Y == other.Y && self.Z == other.Z && self.Subresource == other.Subresource
13074     }
13075 }
13076 impl ::std::cmp::Eq for D3D12_TILED_RESOURCE_COORDINATE {}
13077 unsafe impl ::windows::runtime::Abi for D3D12_TILED_RESOURCE_COORDINATE {
13078     type Abi = Self;
13079     type DefaultType = Self;
13080 }
13081 pub const D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES: u32 = 65536u32;
13082 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13083 #[repr(transparent)]
13084 pub struct D3D12_TILE_COPY_FLAGS(pub u32);
13085 pub const D3D12_TILE_COPY_FLAG_NONE: D3D12_TILE_COPY_FLAGS = D3D12_TILE_COPY_FLAGS(0u32);
13086 pub const D3D12_TILE_COPY_FLAG_NO_HAZARD: D3D12_TILE_COPY_FLAGS = D3D12_TILE_COPY_FLAGS(1u32);
13087 pub const D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE: D3D12_TILE_COPY_FLAGS = D3D12_TILE_COPY_FLAGS(2u32);
13088 pub const D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER: D3D12_TILE_COPY_FLAGS = D3D12_TILE_COPY_FLAGS(4u32);
13089 impl ::std::convert::From<u32> for D3D12_TILE_COPY_FLAGS {
from(value: u32) -> Self13090     fn from(value: u32) -> Self {
13091         Self(value)
13092     }
13093 }
13094 unsafe impl ::windows::runtime::Abi for D3D12_TILE_COPY_FLAGS {
13095     type Abi = Self;
13096     type DefaultType = Self;
13097 }
13098 impl ::std::ops::BitOr for D3D12_TILE_COPY_FLAGS {
13099     type Output = Self;
bitor(self, rhs: Self) -> Self13100     fn bitor(self, rhs: Self) -> Self {
13101         Self(self.0 | rhs.0)
13102     }
13103 }
13104 impl ::std::ops::BitAnd for D3D12_TILE_COPY_FLAGS {
13105     type Output = Self;
bitand(self, rhs: Self) -> Self13106     fn bitand(self, rhs: Self) -> Self {
13107         Self(self.0 & rhs.0)
13108     }
13109 }
13110 impl ::std::ops::BitOrAssign for D3D12_TILE_COPY_FLAGS {
bitor_assign(&mut self, rhs: Self)13111     fn bitor_assign(&mut self, rhs: Self) {
13112         self.0.bitor_assign(rhs.0)
13113     }
13114 }
13115 impl ::std::ops::BitAndAssign for D3D12_TILE_COPY_FLAGS {
bitand_assign(&mut self, rhs: Self)13116     fn bitand_assign(&mut self, rhs: Self) {
13117         self.0.bitand_assign(rhs.0)
13118     }
13119 }
13120 impl ::std::ops::Not for D3D12_TILE_COPY_FLAGS {
13121     type Output = Self;
not(self) -> Self13122     fn not(self) -> Self {
13123         Self(self.0.not())
13124     }
13125 }
13126 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13127 #[repr(transparent)]
13128 pub struct D3D12_TILE_MAPPING_FLAGS(pub u32);
13129 pub const D3D12_TILE_MAPPING_FLAG_NONE: D3D12_TILE_MAPPING_FLAGS = D3D12_TILE_MAPPING_FLAGS(0u32);
13130 pub const D3D12_TILE_MAPPING_FLAG_NO_HAZARD: D3D12_TILE_MAPPING_FLAGS = D3D12_TILE_MAPPING_FLAGS(1u32);
13131 impl ::std::convert::From<u32> for D3D12_TILE_MAPPING_FLAGS {
from(value: u32) -> Self13132     fn from(value: u32) -> Self {
13133         Self(value)
13134     }
13135 }
13136 unsafe impl ::windows::runtime::Abi for D3D12_TILE_MAPPING_FLAGS {
13137     type Abi = Self;
13138     type DefaultType = Self;
13139 }
13140 impl ::std::ops::BitOr for D3D12_TILE_MAPPING_FLAGS {
13141     type Output = Self;
bitor(self, rhs: Self) -> Self13142     fn bitor(self, rhs: Self) -> Self {
13143         Self(self.0 | rhs.0)
13144     }
13145 }
13146 impl ::std::ops::BitAnd for D3D12_TILE_MAPPING_FLAGS {
13147     type Output = Self;
bitand(self, rhs: Self) -> Self13148     fn bitand(self, rhs: Self) -> Self {
13149         Self(self.0 & rhs.0)
13150     }
13151 }
13152 impl ::std::ops::BitOrAssign for D3D12_TILE_MAPPING_FLAGS {
bitor_assign(&mut self, rhs: Self)13153     fn bitor_assign(&mut self, rhs: Self) {
13154         self.0.bitor_assign(rhs.0)
13155     }
13156 }
13157 impl ::std::ops::BitAndAssign for D3D12_TILE_MAPPING_FLAGS {
bitand_assign(&mut self, rhs: Self)13158     fn bitand_assign(&mut self, rhs: Self) {
13159         self.0.bitand_assign(rhs.0)
13160     }
13161 }
13162 impl ::std::ops::Not for D3D12_TILE_MAPPING_FLAGS {
13163     type Output = Self;
not(self) -> Self13164     fn not(self) -> Self {
13165         Self(self.0.not())
13166     }
13167 }
13168 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13169 #[repr(transparent)]
13170 pub struct D3D12_TILE_RANGE_FLAGS(pub i32);
13171 pub const D3D12_TILE_RANGE_FLAG_NONE: D3D12_TILE_RANGE_FLAGS = D3D12_TILE_RANGE_FLAGS(0i32);
13172 pub const D3D12_TILE_RANGE_FLAG_NULL: D3D12_TILE_RANGE_FLAGS = D3D12_TILE_RANGE_FLAGS(1i32);
13173 pub const D3D12_TILE_RANGE_FLAG_SKIP: D3D12_TILE_RANGE_FLAGS = D3D12_TILE_RANGE_FLAGS(2i32);
13174 pub const D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE: D3D12_TILE_RANGE_FLAGS = D3D12_TILE_RANGE_FLAGS(4i32);
13175 impl ::std::convert::From<i32> for D3D12_TILE_RANGE_FLAGS {
from(value: i32) -> Self13176     fn from(value: i32) -> Self {
13177         Self(value)
13178     }
13179 }
13180 unsafe impl ::windows::runtime::Abi for D3D12_TILE_RANGE_FLAGS {
13181     type Abi = Self;
13182     type DefaultType = Self;
13183 }
13184 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13185 #[repr(C)]
13186 #[cfg(feature = "Win32_Foundation")]
13187 pub struct D3D12_TILE_REGION_SIZE {
13188     pub NumTiles: u32,
13189     pub UseBox: super::super::Foundation::BOOL,
13190     pub Width: u32,
13191     pub Height: u16,
13192     pub Depth: u16,
13193 }
13194 #[cfg(feature = "Win32_Foundation")]
13195 impl D3D12_TILE_REGION_SIZE {}
13196 #[cfg(feature = "Win32_Foundation")]
13197 impl ::std::default::Default for D3D12_TILE_REGION_SIZE {
default() -> Self13198     fn default() -> Self {
13199         unsafe { ::std::mem::zeroed() }
13200     }
13201 }
13202 #[cfg(feature = "Win32_Foundation")]
13203 impl ::std::fmt::Debug for D3D12_TILE_REGION_SIZE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13204     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13205         fmt.debug_struct("D3D12_TILE_REGION_SIZE").field("NumTiles", &self.NumTiles).field("UseBox", &self.UseBox).field("Width", &self.Width).field("Height", &self.Height).field("Depth", &self.Depth).finish()
13206     }
13207 }
13208 #[cfg(feature = "Win32_Foundation")]
13209 impl ::std::cmp::PartialEq for D3D12_TILE_REGION_SIZE {
eq(&self, other: &Self) -> bool13210     fn eq(&self, other: &Self) -> bool {
13211         self.NumTiles == other.NumTiles && self.UseBox == other.UseBox && self.Width == other.Width && self.Height == other.Height && self.Depth == other.Depth
13212     }
13213 }
13214 #[cfg(feature = "Win32_Foundation")]
13215 impl ::std::cmp::Eq for D3D12_TILE_REGION_SIZE {}
13216 #[cfg(feature = "Win32_Foundation")]
13217 unsafe impl ::windows::runtime::Abi for D3D12_TILE_REGION_SIZE {
13218     type Abi = Self;
13219     type DefaultType = Self;
13220 }
13221 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13222 #[repr(C)]
13223 pub struct D3D12_TILE_SHAPE {
13224     pub WidthInTexels: u32,
13225     pub HeightInTexels: u32,
13226     pub DepthInTexels: u32,
13227 }
13228 impl D3D12_TILE_SHAPE {}
13229 impl ::std::default::Default for D3D12_TILE_SHAPE {
default() -> Self13230     fn default() -> Self {
13231         unsafe { ::std::mem::zeroed() }
13232     }
13233 }
13234 impl ::std::fmt::Debug for D3D12_TILE_SHAPE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13235     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13236         fmt.debug_struct("D3D12_TILE_SHAPE").field("WidthInTexels", &self.WidthInTexels).field("HeightInTexels", &self.HeightInTexels).field("DepthInTexels", &self.DepthInTexels).finish()
13237     }
13238 }
13239 impl ::std::cmp::PartialEq for D3D12_TILE_SHAPE {
eq(&self, other: &Self) -> bool13240     fn eq(&self, other: &Self) -> bool {
13241         self.WidthInTexels == other.WidthInTexels && self.HeightInTexels == other.HeightInTexels && self.DepthInTexels == other.DepthInTexels
13242     }
13243 }
13244 impl ::std::cmp::Eq for D3D12_TILE_SHAPE {}
13245 unsafe impl ::windows::runtime::Abi for D3D12_TILE_SHAPE {
13246     type Abi = Self;
13247     type DefaultType = Self;
13248 }
13249 pub const D3D12_TRACKED_WORKLOAD_MAX_INSTANCES: u32 = 32u32;
13250 pub const D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT: u32 = 4096u32;
13251 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13252 #[repr(transparent)]
13253 pub struct D3D12_UAV_DIMENSION(pub i32);
13254 pub const D3D12_UAV_DIMENSION_UNKNOWN: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(0i32);
13255 pub const D3D12_UAV_DIMENSION_BUFFER: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(1i32);
13256 pub const D3D12_UAV_DIMENSION_TEXTURE1D: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(2i32);
13257 pub const D3D12_UAV_DIMENSION_TEXTURE1DARRAY: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(3i32);
13258 pub const D3D12_UAV_DIMENSION_TEXTURE2D: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(4i32);
13259 pub const D3D12_UAV_DIMENSION_TEXTURE2DARRAY: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(5i32);
13260 pub const D3D12_UAV_DIMENSION_TEXTURE3D: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(8i32);
13261 impl ::std::convert::From<i32> for D3D12_UAV_DIMENSION {
from(value: i32) -> Self13262     fn from(value: i32) -> Self {
13263         Self(value)
13264     }
13265 }
13266 unsafe impl ::windows::runtime::Abi for D3D12_UAV_DIMENSION {
13267     type Abi = Self;
13268     type DefaultType = Self;
13269 }
13270 pub const D3D12_UAV_SLOT_COUNT: u32 = 64u32;
13271 pub const D3D12_UNBOUND_MEMORY_ACCESS_RESULT: u32 = 0u32;
13272 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13273 #[repr(C)]
13274 #[cfg(feature = "Win32_Graphics_Dxgi")]
13275 pub struct D3D12_UNORDERED_ACCESS_VIEW_DESC {
13276     pub Format: super::Dxgi::DXGI_FORMAT,
13277     pub ViewDimension: D3D12_UAV_DIMENSION,
13278     pub Anonymous: D3D12_UNORDERED_ACCESS_VIEW_DESC_0,
13279 }
13280 #[cfg(feature = "Win32_Graphics_Dxgi")]
13281 impl D3D12_UNORDERED_ACCESS_VIEW_DESC {}
13282 #[cfg(feature = "Win32_Graphics_Dxgi")]
13283 impl ::std::default::Default for D3D12_UNORDERED_ACCESS_VIEW_DESC {
default() -> Self13284     fn default() -> Self {
13285         unsafe { ::std::mem::zeroed() }
13286     }
13287 }
13288 #[cfg(feature = "Win32_Graphics_Dxgi")]
13289 impl ::std::cmp::PartialEq for D3D12_UNORDERED_ACCESS_VIEW_DESC {
eq(&self, _other: &Self) -> bool13290     fn eq(&self, _other: &Self) -> bool {
13291         unimplemented!()
13292     }
13293 }
13294 #[cfg(feature = "Win32_Graphics_Dxgi")]
13295 impl ::std::cmp::Eq for D3D12_UNORDERED_ACCESS_VIEW_DESC {}
13296 #[cfg(feature = "Win32_Graphics_Dxgi")]
13297 unsafe impl ::windows::runtime::Abi for D3D12_UNORDERED_ACCESS_VIEW_DESC {
13298     type Abi = Self;
13299     type DefaultType = Self;
13300 }
13301 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13302 #[repr(C)]
13303 pub union D3D12_UNORDERED_ACCESS_VIEW_DESC_0 {
13304     pub Buffer: D3D12_BUFFER_UAV,
13305     pub Texture1D: D3D12_TEX1D_UAV,
13306     pub Texture1DArray: D3D12_TEX1D_ARRAY_UAV,
13307     pub Texture2D: D3D12_TEX2D_UAV,
13308     pub Texture2DArray: D3D12_TEX2D_ARRAY_UAV,
13309     pub Texture3D: D3D12_TEX3D_UAV,
13310 }
13311 impl D3D12_UNORDERED_ACCESS_VIEW_DESC_0 {}
13312 impl ::std::default::Default for D3D12_UNORDERED_ACCESS_VIEW_DESC_0 {
default() -> Self13313     fn default() -> Self {
13314         unsafe { ::std::mem::zeroed() }
13315     }
13316 }
13317 impl ::std::cmp::PartialEq for D3D12_UNORDERED_ACCESS_VIEW_DESC_0 {
eq(&self, _other: &Self) -> bool13318     fn eq(&self, _other: &Self) -> bool {
13319         unimplemented!()
13320     }
13321 }
13322 impl ::std::cmp::Eq for D3D12_UNORDERED_ACCESS_VIEW_DESC_0 {}
13323 unsafe impl ::windows::runtime::Abi for D3D12_UNORDERED_ACCESS_VIEW_DESC_0 {
13324     type Abi = Self;
13325     type DefaultType = Self;
13326 }
13327 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13328 #[repr(transparent)]
13329 pub struct D3D12_VARIABLE_SHADING_RATE_TIER(pub i32);
13330 pub const D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED: D3D12_VARIABLE_SHADING_RATE_TIER = D3D12_VARIABLE_SHADING_RATE_TIER(0i32);
13331 pub const D3D12_VARIABLE_SHADING_RATE_TIER_1: D3D12_VARIABLE_SHADING_RATE_TIER = D3D12_VARIABLE_SHADING_RATE_TIER(1i32);
13332 pub const D3D12_VARIABLE_SHADING_RATE_TIER_2: D3D12_VARIABLE_SHADING_RATE_TIER = D3D12_VARIABLE_SHADING_RATE_TIER(2i32);
13333 impl ::std::convert::From<i32> for D3D12_VARIABLE_SHADING_RATE_TIER {
from(value: i32) -> Self13334     fn from(value: i32) -> Self {
13335         Self(value)
13336     }
13337 }
13338 unsafe impl ::windows::runtime::Abi for D3D12_VARIABLE_SHADING_RATE_TIER {
13339     type Abi = Self;
13340     type DefaultType = Self;
13341 }
13342 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13343 #[repr(C)]
13344 #[cfg(feature = "Win32_Foundation")]
13345 pub struct D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA {
13346     pub Version: D3D12_DRED_VERSION,
13347     pub Anonymous: D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA_0,
13348 }
13349 #[cfg(feature = "Win32_Foundation")]
13350 impl D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA {}
13351 #[cfg(feature = "Win32_Foundation")]
13352 impl ::std::default::Default for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA {
default() -> Self13353     fn default() -> Self {
13354         unsafe { ::std::mem::zeroed() }
13355     }
13356 }
13357 #[cfg(feature = "Win32_Foundation")]
13358 impl ::std::cmp::PartialEq for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA {
eq(&self, _other: &Self) -> bool13359     fn eq(&self, _other: &Self) -> bool {
13360         unimplemented!()
13361     }
13362 }
13363 #[cfg(feature = "Win32_Foundation")]
13364 impl ::std::cmp::Eq for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA {}
13365 #[cfg(feature = "Win32_Foundation")]
13366 unsafe impl ::windows::runtime::Abi for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA {
13367     type Abi = Self;
13368     type DefaultType = Self;
13369 }
13370 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13371 #[repr(C)]
13372 #[cfg(feature = "Win32_Foundation")]
13373 pub union D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA_0 {
13374     pub Dred_1_0: D3D12_DEVICE_REMOVED_EXTENDED_DATA,
13375     pub Dred_1_1: D3D12_DEVICE_REMOVED_EXTENDED_DATA1,
13376     pub Dred_1_2: D3D12_DEVICE_REMOVED_EXTENDED_DATA2,
13377     pub Dred_1_3: D3D12_DEVICE_REMOVED_EXTENDED_DATA3,
13378 }
13379 #[cfg(feature = "Win32_Foundation")]
13380 impl D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA_0 {}
13381 #[cfg(feature = "Win32_Foundation")]
13382 impl ::std::default::Default for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA_0 {
default() -> Self13383     fn default() -> Self {
13384         unsafe { ::std::mem::zeroed() }
13385     }
13386 }
13387 #[cfg(feature = "Win32_Foundation")]
13388 impl ::std::cmp::PartialEq for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA_0 {
eq(&self, _other: &Self) -> bool13389     fn eq(&self, _other: &Self) -> bool {
13390         unimplemented!()
13391     }
13392 }
13393 #[cfg(feature = "Win32_Foundation")]
13394 impl ::std::cmp::Eq for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA_0 {}
13395 #[cfg(feature = "Win32_Foundation")]
13396 unsafe impl ::windows::runtime::Abi for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA_0 {
13397     type Abi = Self;
13398     type DefaultType = Self;
13399 }
13400 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13401 #[repr(C)]
13402 pub struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC {
13403     pub Version: D3D_ROOT_SIGNATURE_VERSION,
13404     pub Anonymous: D3D12_VERSIONED_ROOT_SIGNATURE_DESC_0,
13405 }
13406 impl D3D12_VERSIONED_ROOT_SIGNATURE_DESC {}
13407 impl ::std::default::Default for D3D12_VERSIONED_ROOT_SIGNATURE_DESC {
default() -> Self13408     fn default() -> Self {
13409         unsafe { ::std::mem::zeroed() }
13410     }
13411 }
13412 impl ::std::cmp::PartialEq for D3D12_VERSIONED_ROOT_SIGNATURE_DESC {
eq(&self, _other: &Self) -> bool13413     fn eq(&self, _other: &Self) -> bool {
13414         unimplemented!()
13415     }
13416 }
13417 impl ::std::cmp::Eq for D3D12_VERSIONED_ROOT_SIGNATURE_DESC {}
13418 unsafe impl ::windows::runtime::Abi for D3D12_VERSIONED_ROOT_SIGNATURE_DESC {
13419     type Abi = Self;
13420     type DefaultType = Self;
13421 }
13422 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13423 #[repr(C)]
13424 pub union D3D12_VERSIONED_ROOT_SIGNATURE_DESC_0 {
13425     pub Desc_1_0: D3D12_ROOT_SIGNATURE_DESC,
13426     pub Desc_1_1: D3D12_ROOT_SIGNATURE_DESC1,
13427 }
13428 impl D3D12_VERSIONED_ROOT_SIGNATURE_DESC_0 {}
13429 impl ::std::default::Default for D3D12_VERSIONED_ROOT_SIGNATURE_DESC_0 {
default() -> Self13430     fn default() -> Self {
13431         unsafe { ::std::mem::zeroed() }
13432     }
13433 }
13434 impl ::std::cmp::PartialEq for D3D12_VERSIONED_ROOT_SIGNATURE_DESC_0 {
eq(&self, _other: &Self) -> bool13435     fn eq(&self, _other: &Self) -> bool {
13436         unimplemented!()
13437     }
13438 }
13439 impl ::std::cmp::Eq for D3D12_VERSIONED_ROOT_SIGNATURE_DESC_0 {}
13440 unsafe impl ::windows::runtime::Abi for D3D12_VERSIONED_ROOT_SIGNATURE_DESC_0 {
13441     type Abi = Self;
13442     type DefaultType = Self;
13443 }
13444 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13445 #[repr(C)]
13446 pub struct D3D12_VERTEX_BUFFER_VIEW {
13447     pub BufferLocation: u64,
13448     pub SizeInBytes: u32,
13449     pub StrideInBytes: u32,
13450 }
13451 impl D3D12_VERTEX_BUFFER_VIEW {}
13452 impl ::std::default::Default for D3D12_VERTEX_BUFFER_VIEW {
default() -> Self13453     fn default() -> Self {
13454         unsafe { ::std::mem::zeroed() }
13455     }
13456 }
13457 impl ::std::fmt::Debug for D3D12_VERTEX_BUFFER_VIEW {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13458     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13459         fmt.debug_struct("D3D12_VERTEX_BUFFER_VIEW").field("BufferLocation", &self.BufferLocation).field("SizeInBytes", &self.SizeInBytes).field("StrideInBytes", &self.StrideInBytes).finish()
13460     }
13461 }
13462 impl ::std::cmp::PartialEq for D3D12_VERTEX_BUFFER_VIEW {
eq(&self, other: &Self) -> bool13463     fn eq(&self, other: &Self) -> bool {
13464         self.BufferLocation == other.BufferLocation && self.SizeInBytes == other.SizeInBytes && self.StrideInBytes == other.StrideInBytes
13465     }
13466 }
13467 impl ::std::cmp::Eq for D3D12_VERTEX_BUFFER_VIEW {}
13468 unsafe impl ::windows::runtime::Abi for D3D12_VERTEX_BUFFER_VIEW {
13469     type Abi = Self;
13470     type DefaultType = Self;
13471 }
13472 pub const D3D12_VIDEO_DECODE_MAX_ARGUMENTS: u32 = 10u32;
13473 pub const D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS: u32 = 4u32;
13474 pub const D3D12_VIDEO_DECODE_MIN_BITSTREAM_OFFSET_ALIGNMENT: u32 = 256u32;
13475 pub const D3D12_VIDEO_DECODE_MIN_HISTOGRAM_OFFSET_ALIGNMENT: u32 = 256u32;
13476 pub const D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN: u32 = 4294967295u32;
13477 pub const D3D12_VIDEO_PROCESS_MAX_FILTERS: u32 = 32u32;
13478 pub const D3D12_VIDEO_PROCESS_STEREO_VIEWS: u32 = 2u32;
13479 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13480 #[repr(C)]
13481 pub struct D3D12_VIEWPORT {
13482     pub TopLeftX: f32,
13483     pub TopLeftY: f32,
13484     pub Width: f32,
13485     pub Height: f32,
13486     pub MinDepth: f32,
13487     pub MaxDepth: f32,
13488 }
13489 impl D3D12_VIEWPORT {}
13490 impl ::std::default::Default for D3D12_VIEWPORT {
default() -> Self13491     fn default() -> Self {
13492         unsafe { ::std::mem::zeroed() }
13493     }
13494 }
13495 impl ::std::fmt::Debug for D3D12_VIEWPORT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13496     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13497         fmt.debug_struct("D3D12_VIEWPORT").field("TopLeftX", &self.TopLeftX).field("TopLeftY", &self.TopLeftY).field("Width", &self.Width).field("Height", &self.Height).field("MinDepth", &self.MinDepth).field("MaxDepth", &self.MaxDepth).finish()
13498     }
13499 }
13500 impl ::std::cmp::PartialEq for D3D12_VIEWPORT {
eq(&self, other: &Self) -> bool13501     fn eq(&self, other: &Self) -> bool {
13502         self.TopLeftX == other.TopLeftX && self.TopLeftY == other.TopLeftY && self.Width == other.Width && self.Height == other.Height && self.MinDepth == other.MinDepth && self.MaxDepth == other.MaxDepth
13503     }
13504 }
13505 impl ::std::cmp::Eq for D3D12_VIEWPORT {}
13506 unsafe impl ::windows::runtime::Abi for D3D12_VIEWPORT {
13507     type Abi = Self;
13508     type DefaultType = Self;
13509 }
13510 pub const D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX: u32 = 15u32;
13511 pub const D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE: u32 = 16u32;
13512 pub const D3D12_VIEWPORT_BOUNDS_MAX: u32 = 32767u32;
13513 pub const D3D12_VIEWPORT_BOUNDS_MIN: i32 = -32768i32;
13514 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13515 #[repr(C)]
13516 pub struct D3D12_VIEW_INSTANCE_LOCATION {
13517     pub ViewportArrayIndex: u32,
13518     pub RenderTargetArrayIndex: u32,
13519 }
13520 impl D3D12_VIEW_INSTANCE_LOCATION {}
13521 impl ::std::default::Default for D3D12_VIEW_INSTANCE_LOCATION {
default() -> Self13522     fn default() -> Self {
13523         unsafe { ::std::mem::zeroed() }
13524     }
13525 }
13526 impl ::std::fmt::Debug for D3D12_VIEW_INSTANCE_LOCATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13527     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13528         fmt.debug_struct("D3D12_VIEW_INSTANCE_LOCATION").field("ViewportArrayIndex", &self.ViewportArrayIndex).field("RenderTargetArrayIndex", &self.RenderTargetArrayIndex).finish()
13529     }
13530 }
13531 impl ::std::cmp::PartialEq for D3D12_VIEW_INSTANCE_LOCATION {
eq(&self, other: &Self) -> bool13532     fn eq(&self, other: &Self) -> bool {
13533         self.ViewportArrayIndex == other.ViewportArrayIndex && self.RenderTargetArrayIndex == other.RenderTargetArrayIndex
13534     }
13535 }
13536 impl ::std::cmp::Eq for D3D12_VIEW_INSTANCE_LOCATION {}
13537 unsafe impl ::windows::runtime::Abi for D3D12_VIEW_INSTANCE_LOCATION {
13538     type Abi = Self;
13539     type DefaultType = Self;
13540 }
13541 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13542 #[repr(C)]
13543 pub struct D3D12_VIEW_INSTANCING_DESC {
13544     pub ViewInstanceCount: u32,
13545     pub pViewInstanceLocations: *mut D3D12_VIEW_INSTANCE_LOCATION,
13546     pub Flags: D3D12_VIEW_INSTANCING_FLAGS,
13547 }
13548 impl D3D12_VIEW_INSTANCING_DESC {}
13549 impl ::std::default::Default for D3D12_VIEW_INSTANCING_DESC {
default() -> Self13550     fn default() -> Self {
13551         unsafe { ::std::mem::zeroed() }
13552     }
13553 }
13554 impl ::std::fmt::Debug for D3D12_VIEW_INSTANCING_DESC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13555     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13556         fmt.debug_struct("D3D12_VIEW_INSTANCING_DESC").field("ViewInstanceCount", &self.ViewInstanceCount).field("pViewInstanceLocations", &self.pViewInstanceLocations).field("Flags", &self.Flags).finish()
13557     }
13558 }
13559 impl ::std::cmp::PartialEq for D3D12_VIEW_INSTANCING_DESC {
eq(&self, other: &Self) -> bool13560     fn eq(&self, other: &Self) -> bool {
13561         self.ViewInstanceCount == other.ViewInstanceCount && self.pViewInstanceLocations == other.pViewInstanceLocations && self.Flags == other.Flags
13562     }
13563 }
13564 impl ::std::cmp::Eq for D3D12_VIEW_INSTANCING_DESC {}
13565 unsafe impl ::windows::runtime::Abi for D3D12_VIEW_INSTANCING_DESC {
13566     type Abi = Self;
13567     type DefaultType = Self;
13568 }
13569 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13570 #[repr(transparent)]
13571 pub struct D3D12_VIEW_INSTANCING_FLAGS(pub u32);
13572 pub const D3D12_VIEW_INSTANCING_FLAG_NONE: D3D12_VIEW_INSTANCING_FLAGS = D3D12_VIEW_INSTANCING_FLAGS(0u32);
13573 pub const D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING: D3D12_VIEW_INSTANCING_FLAGS = D3D12_VIEW_INSTANCING_FLAGS(1u32);
13574 impl ::std::convert::From<u32> for D3D12_VIEW_INSTANCING_FLAGS {
from(value: u32) -> Self13575     fn from(value: u32) -> Self {
13576         Self(value)
13577     }
13578 }
13579 unsafe impl ::windows::runtime::Abi for D3D12_VIEW_INSTANCING_FLAGS {
13580     type Abi = Self;
13581     type DefaultType = Self;
13582 }
13583 impl ::std::ops::BitOr for D3D12_VIEW_INSTANCING_FLAGS {
13584     type Output = Self;
bitor(self, rhs: Self) -> Self13585     fn bitor(self, rhs: Self) -> Self {
13586         Self(self.0 | rhs.0)
13587     }
13588 }
13589 impl ::std::ops::BitAnd for D3D12_VIEW_INSTANCING_FLAGS {
13590     type Output = Self;
bitand(self, rhs: Self) -> Self13591     fn bitand(self, rhs: Self) -> Self {
13592         Self(self.0 & rhs.0)
13593     }
13594 }
13595 impl ::std::ops::BitOrAssign for D3D12_VIEW_INSTANCING_FLAGS {
bitor_assign(&mut self, rhs: Self)13596     fn bitor_assign(&mut self, rhs: Self) {
13597         self.0.bitor_assign(rhs.0)
13598     }
13599 }
13600 impl ::std::ops::BitAndAssign for D3D12_VIEW_INSTANCING_FLAGS {
bitand_assign(&mut self, rhs: Self)13601     fn bitand_assign(&mut self, rhs: Self) {
13602         self.0.bitand_assign(rhs.0)
13603     }
13604 }
13605 impl ::std::ops::Not for D3D12_VIEW_INSTANCING_FLAGS {
13606     type Output = Self;
not(self) -> Self13607     fn not(self) -> Self {
13608         Self(self.0.not())
13609     }
13610 }
13611 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13612 #[repr(transparent)]
13613 pub struct D3D12_VIEW_INSTANCING_TIER(pub i32);
13614 pub const D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED: D3D12_VIEW_INSTANCING_TIER = D3D12_VIEW_INSTANCING_TIER(0i32);
13615 pub const D3D12_VIEW_INSTANCING_TIER_1: D3D12_VIEW_INSTANCING_TIER = D3D12_VIEW_INSTANCING_TIER(1i32);
13616 pub const D3D12_VIEW_INSTANCING_TIER_2: D3D12_VIEW_INSTANCING_TIER = D3D12_VIEW_INSTANCING_TIER(2i32);
13617 pub const D3D12_VIEW_INSTANCING_TIER_3: D3D12_VIEW_INSTANCING_TIER = D3D12_VIEW_INSTANCING_TIER(3i32);
13618 impl ::std::convert::From<i32> for D3D12_VIEW_INSTANCING_TIER {
from(value: i32) -> Self13619     fn from(value: i32) -> Self {
13620         Self(value)
13621     }
13622 }
13623 unsafe impl ::windows::runtime::Abi for D3D12_VIEW_INSTANCING_TIER {
13624     type Abi = Self;
13625     type DefaultType = Self;
13626 }
13627 pub const D3D12_VS_INPUT_REGISTER_COMPONENTS: u32 = 4u32;
13628 pub const D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13629 pub const D3D12_VS_INPUT_REGISTER_COUNT: u32 = 32u32;
13630 pub const D3D12_VS_INPUT_REGISTER_READS_PER_INST: u32 = 2u32;
13631 pub const D3D12_VS_INPUT_REGISTER_READ_PORTS: u32 = 1u32;
13632 pub const D3D12_VS_OUTPUT_REGISTER_COMPONENTS: u32 = 4u32;
13633 pub const D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13634 pub const D3D12_VS_OUTPUT_REGISTER_COUNT: u32 = 32u32;
13635 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13636 #[repr(transparent)]
13637 pub struct D3D12_WAVE_MMA_TIER(pub i32);
13638 pub const D3D12_WAVE_MMA_TIER_NOT_SUPPORTED: D3D12_WAVE_MMA_TIER = D3D12_WAVE_MMA_TIER(0i32);
13639 pub const D3D12_WAVE_MMA_TIER_1_0: D3D12_WAVE_MMA_TIER = D3D12_WAVE_MMA_TIER(10i32);
13640 impl ::std::convert::From<i32> for D3D12_WAVE_MMA_TIER {
from(value: i32) -> Self13641     fn from(value: i32) -> Self {
13642         Self(value)
13643     }
13644 }
13645 unsafe impl ::windows::runtime::Abi for D3D12_WAVE_MMA_TIER {
13646     type Abi = Self;
13647     type DefaultType = Self;
13648 }
13649 pub const D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT: u32 = 10u32;
13650 pub const D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: u32 = 25u32;
13651 pub const D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP: u32 = 25u32;
13652 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13653 #[repr(transparent)]
13654 pub struct D3D12_WRITEBUFFERIMMEDIATE_MODE(pub i32);
13655 pub const D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT: D3D12_WRITEBUFFERIMMEDIATE_MODE = D3D12_WRITEBUFFERIMMEDIATE_MODE(0i32);
13656 pub const D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN: D3D12_WRITEBUFFERIMMEDIATE_MODE = D3D12_WRITEBUFFERIMMEDIATE_MODE(1i32);
13657 pub const D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT: D3D12_WRITEBUFFERIMMEDIATE_MODE = D3D12_WRITEBUFFERIMMEDIATE_MODE(2i32);
13658 impl ::std::convert::From<i32> for D3D12_WRITEBUFFERIMMEDIATE_MODE {
from(value: i32) -> Self13659     fn from(value: i32) -> Self {
13660         Self(value)
13661     }
13662 }
13663 unsafe impl ::windows::runtime::Abi for D3D12_WRITEBUFFERIMMEDIATE_MODE {
13664     type Abi = Self;
13665     type DefaultType = Self;
13666 }
13667 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
13668 #[repr(C)]
13669 pub struct D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {
13670     pub Dest: u64,
13671     pub Value: u32,
13672 }
13673 impl D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {}
13674 impl ::std::default::Default for D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {
default() -> Self13675     fn default() -> Self {
13676         unsafe { ::std::mem::zeroed() }
13677     }
13678 }
13679 impl ::std::fmt::Debug for D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result13680     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13681         fmt.debug_struct("D3D12_WRITEBUFFERIMMEDIATE_PARAMETER").field("Dest", &self.Dest).field("Value", &self.Value).finish()
13682     }
13683 }
13684 impl ::std::cmp::PartialEq for D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {
eq(&self, other: &Self) -> bool13685     fn eq(&self, other: &Self) -> bool {
13686         self.Dest == other.Dest && self.Value == other.Value
13687     }
13688 }
13689 impl ::std::cmp::Eq for D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {}
13690 unsafe impl ::windows::runtime::Abi for D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {
13691     type Abi = Self;
13692     type DefaultType = Self;
13693 }
13694 #[derive(:: std :: clone :: Clone)]
13695 #[repr(C)]
13696 #[cfg(feature = "Win32_Foundation")]
13697 pub struct D3D9ON12_ARGS {
13698     pub Enable9On12: super::super::Foundation::BOOL,
13699     pub pD3D12Device: ::std::option::Option<::windows::runtime::IUnknown>,
13700     pub ppD3D12Queues: [::std::option::Option<::windows::runtime::IUnknown>; 2],
13701     pub NumQueues: u32,
13702     pub NodeMask: u32,
13703 }
13704 #[cfg(feature = "Win32_Foundation")]
13705 impl D3D9ON12_ARGS {}
13706 #[cfg(feature = "Win32_Foundation")]
13707 impl ::std::default::Default for D3D9ON12_ARGS {
default() -> Self13708     fn default() -> Self {
13709         unsafe { ::std::mem::zeroed() }
13710     }
13711 }
13712 #[cfg(feature = "Win32_Foundation")]
13713 impl ::std::cmp::PartialEq for D3D9ON12_ARGS {
eq(&self, _other: &Self) -> bool13714     fn eq(&self, _other: &Self) -> bool {
13715         unimplemented!()
13716     }
13717 }
13718 #[cfg(feature = "Win32_Foundation")]
13719 impl ::std::cmp::Eq for D3D9ON12_ARGS {}
13720 #[cfg(feature = "Win32_Foundation")]
13721 unsafe impl ::windows::runtime::Abi for D3D9ON12_ARGS {
13722     type Abi = ::std::mem::ManuallyDrop<Self>;
13723     type DefaultType = Self;
13724 }
13725 #[repr(transparent)]
13726 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
13727 pub struct D3D9On12CreatorID(::windows::runtime::IUnknown);
13728 impl D3D9On12CreatorID {}
13729 unsafe impl ::windows::runtime::Interface for D3D9On12CreatorID {
13730     type Vtable = D3D9On12CreatorID_abi;
13731     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4294753151, 5587, 17058, [132, 30, 157, 141, 50, 243, 125, 221]);
13732 }
13733 impl ::std::convert::From<D3D9On12CreatorID> for ::windows::runtime::IUnknown {
from(value: D3D9On12CreatorID) -> Self13734     fn from(value: D3D9On12CreatorID) -> Self {
13735         unsafe { ::std::mem::transmute(value) }
13736     }
13737 }
13738 impl ::std::convert::From<&D3D9On12CreatorID> for ::windows::runtime::IUnknown {
from(value: &D3D9On12CreatorID) -> Self13739     fn from(value: &D3D9On12CreatorID) -> Self {
13740         ::std::convert::From::from(::std::clone::Clone::clone(value))
13741     }
13742 }
13743 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for D3D9On12CreatorID {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13744     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13745         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
13746     }
13747 }
13748 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &D3D9On12CreatorID {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13749     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13750         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
13751     }
13752 }
13753 #[repr(C)]
13754 #[doc(hidden)]
13755 pub struct D3D9On12CreatorID_abi(
13756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
13758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
13759 );
13760 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13761 #[repr(transparent)]
13762 pub struct D3D_ROOT_SIGNATURE_VERSION(pub i32);
13763 pub const D3D_ROOT_SIGNATURE_VERSION_1: D3D_ROOT_SIGNATURE_VERSION = D3D_ROOT_SIGNATURE_VERSION(1i32);
13764 pub const D3D_ROOT_SIGNATURE_VERSION_1_0: D3D_ROOT_SIGNATURE_VERSION = D3D_ROOT_SIGNATURE_VERSION(1i32);
13765 pub const D3D_ROOT_SIGNATURE_VERSION_1_1: D3D_ROOT_SIGNATURE_VERSION = D3D_ROOT_SIGNATURE_VERSION(2i32);
13766 impl ::std::convert::From<i32> for D3D_ROOT_SIGNATURE_VERSION {
from(value: i32) -> Self13767     fn from(value: i32) -> Self {
13768         Self(value)
13769     }
13770 }
13771 unsafe impl ::windows::runtime::Abi for D3D_ROOT_SIGNATURE_VERSION {
13772     type Abi = Self;
13773     type DefaultType = Self;
13774 }
13775 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
13776 #[repr(transparent)]
13777 pub struct D3D_SHADER_MODEL(pub i32);
13778 pub const D3D_SHADER_MODEL_5_1: D3D_SHADER_MODEL = D3D_SHADER_MODEL(81i32);
13779 pub const D3D_SHADER_MODEL_6_0: D3D_SHADER_MODEL = D3D_SHADER_MODEL(96i32);
13780 pub const D3D_SHADER_MODEL_6_1: D3D_SHADER_MODEL = D3D_SHADER_MODEL(97i32);
13781 pub const D3D_SHADER_MODEL_6_2: D3D_SHADER_MODEL = D3D_SHADER_MODEL(98i32);
13782 pub const D3D_SHADER_MODEL_6_3: D3D_SHADER_MODEL = D3D_SHADER_MODEL(99i32);
13783 pub const D3D_SHADER_MODEL_6_4: D3D_SHADER_MODEL = D3D_SHADER_MODEL(100i32);
13784 pub const D3D_SHADER_MODEL_6_5: D3D_SHADER_MODEL = D3D_SHADER_MODEL(101i32);
13785 pub const D3D_SHADER_MODEL_6_6: D3D_SHADER_MODEL = D3D_SHADER_MODEL(102i32);
13786 pub const D3D_SHADER_MODEL_6_7: D3D_SHADER_MODEL = D3D_SHADER_MODEL(103i32);
13787 impl ::std::convert::From<i32> for D3D_SHADER_MODEL {
from(value: i32) -> Self13788     fn from(value: i32) -> Self {
13789         Self(value)
13790     }
13791 }
13792 unsafe impl ::windows::runtime::Abi for D3D_SHADER_MODEL {
13793     type Abi = Self;
13794     type DefaultType = Self;
13795 }
13796 pub const D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE: u32 = 268435456u32;
13797 pub const D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_GROUP_SHARED: u32 = 8388608u32;
13798 pub const D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_TYPED_RESOURCE: u32 = 4194304u32;
13799 pub const D3D_SHADER_REQUIRES_BARYCENTRICS: u32 = 131072u32;
13800 pub const D3D_SHADER_REQUIRES_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS: u32 = 16777216u32;
13801 pub const D3D_SHADER_REQUIRES_INNER_COVERAGE: u32 = 1024u32;
13802 pub const D3D_SHADER_REQUIRES_INT64_OPS: u32 = 32768u32;
13803 pub const D3D_SHADER_REQUIRES_NATIVE_16BIT_OPS: u32 = 262144u32;
13804 pub const D3D_SHADER_REQUIRES_RAYTRACING_TIER_1_1: u32 = 1048576u32;
13805 pub const D3D_SHADER_REQUIRES_RESOURCE_DESCRIPTOR_HEAP_INDEXING: u32 = 33554432u32;
13806 pub const D3D_SHADER_REQUIRES_ROVS: u32 = 4096u32;
13807 pub const D3D_SHADER_REQUIRES_SAMPLER_DESCRIPTOR_HEAP_INDEXING: u32 = 67108864u32;
13808 pub const D3D_SHADER_REQUIRES_SAMPLER_FEEDBACK: u32 = 2097152u32;
13809 pub const D3D_SHADER_REQUIRES_SHADING_RATE: u32 = 524288u32;
13810 pub const D3D_SHADER_REQUIRES_STENCIL_REF: u32 = 512u32;
13811 pub const D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS: u32 = 2048u32;
13812 pub const D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER: u32 = 8192u32;
13813 pub const D3D_SHADER_REQUIRES_VIEW_ID: u32 = 65536u32;
13814 pub const D3D_SHADER_REQUIRES_WAVE_MMA: u32 = 134217728u32;
13815 pub const D3D_SHADER_REQUIRES_WAVE_OPS: u32 = 16384u32;
13816 pub const DXGI_DEBUG_D3D12: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3478759820, 43344, 17190, [145, 239, 155, 186, 161, 123, 253, 149]);
13817 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
13818 #[inline]
Direct3DCreate9On12(sdkversion: u32, poverridelist: *mut D3D9ON12_ARGS, numoverrideentries: u32) -> ::std::option::Option<super::Direct3D9::IDirect3D9>13819 pub unsafe fn Direct3DCreate9On12(sdkversion: u32, poverridelist: *mut D3D9ON12_ARGS, numoverrideentries: u32) -> ::std::option::Option<super::Direct3D9::IDirect3D9> {
13820     #[cfg(windows)]
13821     {
13822         #[link(name = "windows")]
13823         extern "system" {
13824             fn Direct3DCreate9On12(sdkversion: u32, poverridelist: *mut ::std::mem::ManuallyDrop<D3D9ON12_ARGS>, numoverrideentries: u32) -> ::std::option::Option<super::Direct3D9::IDirect3D9>;
13825         }
13826         ::std::mem::transmute(Direct3DCreate9On12(::std::mem::transmute(sdkversion), ::std::mem::transmute(poverridelist), ::std::mem::transmute(numoverrideentries)))
13827     }
13828     #[cfg(not(windows))]
13829     unimplemented!("Unsupported target OS");
13830 }
13831 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
13832 #[inline]
Direct3DCreate9On12Ex(sdkversion: u32, poverridelist: *mut D3D9ON12_ARGS, numoverrideentries: u32, ppoutputinterface: *mut ::std::option::Option<super::Direct3D9::IDirect3D9Ex>) -> ::windows::runtime::Result<()>13833 pub unsafe fn Direct3DCreate9On12Ex(sdkversion: u32, poverridelist: *mut D3D9ON12_ARGS, numoverrideentries: u32, ppoutputinterface: *mut ::std::option::Option<super::Direct3D9::IDirect3D9Ex>) -> ::windows::runtime::Result<()> {
13834     #[cfg(windows)]
13835     {
13836         #[link(name = "windows")]
13837         extern "system" {
13838             fn Direct3DCreate9On12Ex(sdkversion: u32, poverridelist: *mut ::std::mem::ManuallyDrop<D3D9ON12_ARGS>, numoverrideentries: u32, ppoutputinterface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
13839         }
13840         Direct3DCreate9On12Ex(::std::mem::transmute(sdkversion), ::std::mem::transmute(poverridelist), ::std::mem::transmute(numoverrideentries), ::std::mem::transmute(ppoutputinterface)).ok()
13841     }
13842     #[cfg(not(windows))]
13843     unimplemented!("Unsupported target OS");
13844 }
13845 #[repr(transparent)]
13846 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
13847 pub struct DirectMLTensorFlowCreatorID(::windows::runtime::IUnknown);
13848 impl DirectMLTensorFlowCreatorID {}
13849 unsafe impl ::windows::runtime::Interface for DirectMLTensorFlowCreatorID {
13850     type Vtable = DirectMLTensorFlowCreatorID_abi;
13851     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3413414060, 35343, 17644, [155, 123, 111, 76, 175, 232, 233, 171]);
13852 }
13853 impl ::std::convert::From<DirectMLTensorFlowCreatorID> for ::windows::runtime::IUnknown {
from(value: DirectMLTensorFlowCreatorID) -> Self13854     fn from(value: DirectMLTensorFlowCreatorID) -> Self {
13855         unsafe { ::std::mem::transmute(value) }
13856     }
13857 }
13858 impl ::std::convert::From<&DirectMLTensorFlowCreatorID> for ::windows::runtime::IUnknown {
from(value: &DirectMLTensorFlowCreatorID) -> Self13859     fn from(value: &DirectMLTensorFlowCreatorID) -> Self {
13860         ::std::convert::From::from(::std::clone::Clone::clone(value))
13861     }
13862 }
13863 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DirectMLTensorFlowCreatorID {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13864     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13865         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
13866     }
13867 }
13868 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DirectMLTensorFlowCreatorID {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13869     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13870         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
13871     }
13872 }
13873 #[repr(C)]
13874 #[doc(hidden)]
13875 pub struct DirectMLTensorFlowCreatorID_abi(
13876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
13878     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
13879 );
13880 #[repr(transparent)]
13881 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
13882 pub struct ID3D11On12Device(::windows::runtime::IUnknown);
13883 impl ID3D11On12Device {
CreateWrappedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, T: ::windows::runtime::Interface>(&self, presource12: Param0, pflags11: *const D3D11_RESOURCE_FLAGS, instate: D3D12_RESOURCE_STATES, outstate: D3D12_RESOURCE_STATES, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>13884     pub unsafe fn CreateWrappedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, T: ::windows::runtime::Interface>(&self, presource12: Param0, pflags11: *const D3D11_RESOURCE_FLAGS, instate: D3D12_RESOURCE_STATES, outstate: D3D12_RESOURCE_STATES, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
13885         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), presource12.into_param().abi(), ::std::mem::transmute(pflags11), ::std::mem::transmute(instate), ::std::mem::transmute(outstate), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
13886     }
13887     #[cfg(feature = "Win32_Graphics_Direct3D11")]
ReleaseWrappedResources(&self, ppresources: *const ::std::option::Option<super::Direct3D11::ID3D11Resource>, numresources: u32)13888     pub unsafe fn ReleaseWrappedResources(&self, ppresources: *const ::std::option::Option<super::Direct3D11::ID3D11Resource>, numresources: u32) {
13889         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppresources), ::std::mem::transmute(numresources)))
13890     }
13891     #[cfg(feature = "Win32_Graphics_Direct3D11")]
AcquireWrappedResources(&self, ppresources: *const ::std::option::Option<super::Direct3D11::ID3D11Resource>, numresources: u32)13892     pub unsafe fn AcquireWrappedResources(&self, ppresources: *const ::std::option::Option<super::Direct3D11::ID3D11Resource>, numresources: u32) {
13893         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppresources), ::std::mem::transmute(numresources)))
13894     }
13895 }
13896 unsafe impl ::windows::runtime::Interface for ID3D11On12Device {
13897     type Vtable = ID3D11On12Device_abi;
13898     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2237734515, 28841, 18702, [150, 20, 169, 227, 2, 119, 121, 4]);
13899 }
13900 impl ::std::convert::From<ID3D11On12Device> for ::windows::runtime::IUnknown {
from(value: ID3D11On12Device) -> Self13901     fn from(value: ID3D11On12Device) -> Self {
13902         unsafe { ::std::mem::transmute(value) }
13903     }
13904 }
13905 impl ::std::convert::From<&ID3D11On12Device> for ::windows::runtime::IUnknown {
from(value: &ID3D11On12Device) -> Self13906     fn from(value: &ID3D11On12Device) -> Self {
13907         ::std::convert::From::from(::std::clone::Clone::clone(value))
13908     }
13909 }
13910 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D11On12Device {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13911     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13912         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
13913     }
13914 }
13915 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D11On12Device {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13916     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13917         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
13918     }
13919 }
13920 #[repr(C)]
13921 #[doc(hidden)]
13922 pub struct ID3D11On12Device_abi(
13923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
13925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
13926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource12: ::windows::runtime::RawPtr, pflags11: *const D3D11_RESOURCE_FLAGS, instate: D3D12_RESOURCE_STATES, outstate: D3D12_RESOURCE_STATES, riid: *const ::windows::runtime::GUID, ppresource11: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
13927     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppresources: *const ::windows::runtime::RawPtr, numresources: u32),
13928     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
13929     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppresources: *const ::windows::runtime::RawPtr, numresources: u32),
13930     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
13931 );
13932 #[repr(transparent)]
13933 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
13934 pub struct ID3D11On12Device1(::windows::runtime::IUnknown);
13935 impl ID3D11On12Device1 {
CreateWrappedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, T: ::windows::runtime::Interface>(&self, presource12: Param0, pflags11: *const D3D11_RESOURCE_FLAGS, instate: D3D12_RESOURCE_STATES, outstate: D3D12_RESOURCE_STATES, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>13936     pub unsafe fn CreateWrappedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, T: ::windows::runtime::Interface>(&self, presource12: Param0, pflags11: *const D3D11_RESOURCE_FLAGS, instate: D3D12_RESOURCE_STATES, outstate: D3D12_RESOURCE_STATES, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
13937         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), presource12.into_param().abi(), ::std::mem::transmute(pflags11), ::std::mem::transmute(instate), ::std::mem::transmute(outstate), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
13938     }
13939     #[cfg(feature = "Win32_Graphics_Direct3D11")]
ReleaseWrappedResources(&self, ppresources: *const ::std::option::Option<super::Direct3D11::ID3D11Resource>, numresources: u32)13940     pub unsafe fn ReleaseWrappedResources(&self, ppresources: *const ::std::option::Option<super::Direct3D11::ID3D11Resource>, numresources: u32) {
13941         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppresources), ::std::mem::transmute(numresources)))
13942     }
13943     #[cfg(feature = "Win32_Graphics_Direct3D11")]
AcquireWrappedResources(&self, ppresources: *const ::std::option::Option<super::Direct3D11::ID3D11Resource>, numresources: u32)13944     pub unsafe fn AcquireWrappedResources(&self, ppresources: *const ::std::option::Option<super::Direct3D11::ID3D11Resource>, numresources: u32) {
13945         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppresources), ::std::mem::transmute(numresources)))
13946     }
GetD3D12Device<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>13947     pub unsafe fn GetD3D12Device<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
13948         let mut result__ = ::std::option::Option::None;
13949         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
13950     }
13951 }
13952 unsafe impl ::windows::runtime::Interface for ID3D11On12Device1 {
13953     type Vtable = ID3D11On12Device1_abi;
13954     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3182841332, 59951, 19568, [184, 97, 170, 171, 18, 88, 187, 93]);
13955 }
13956 impl ::std::convert::From<ID3D11On12Device1> for ::windows::runtime::IUnknown {
from(value: ID3D11On12Device1) -> Self13957     fn from(value: ID3D11On12Device1) -> Self {
13958         unsafe { ::std::mem::transmute(value) }
13959     }
13960 }
13961 impl ::std::convert::From<&ID3D11On12Device1> for ::windows::runtime::IUnknown {
from(value: &ID3D11On12Device1) -> Self13962     fn from(value: &ID3D11On12Device1) -> Self {
13963         ::std::convert::From::from(::std::clone::Clone::clone(value))
13964     }
13965 }
13966 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D11On12Device1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13967     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13968         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
13969     }
13970 }
13971 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D11On12Device1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13972     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13973         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
13974     }
13975 }
13976 impl ::std::convert::From<ID3D11On12Device1> for ID3D11On12Device {
from(value: ID3D11On12Device1) -> Self13977     fn from(value: ID3D11On12Device1) -> Self {
13978         unsafe { ::std::mem::transmute(value) }
13979     }
13980 }
13981 impl ::std::convert::From<&ID3D11On12Device1> for ID3D11On12Device {
from(value: &ID3D11On12Device1) -> Self13982     fn from(value: &ID3D11On12Device1) -> Self {
13983         ::std::convert::From::from(::std::clone::Clone::clone(value))
13984     }
13985 }
13986 impl<'a> ::windows::runtime::IntoParam<'a, ID3D11On12Device> for ID3D11On12Device1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D11On12Device>13987     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D11On12Device> {
13988         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D11On12Device>::into(self))
13989     }
13990 }
13991 impl<'a> ::windows::runtime::IntoParam<'a, ID3D11On12Device> for &ID3D11On12Device1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D11On12Device>13992     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D11On12Device> {
13993         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D11On12Device>::into(::std::clone::Clone::clone(self)))
13994     }
13995 }
13996 #[repr(C)]
13997 #[doc(hidden)]
13998 pub struct ID3D11On12Device1_abi(
13999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource12: ::windows::runtime::RawPtr, pflags11: *const D3D11_RESOURCE_FLAGS, instate: D3D12_RESOURCE_STATES, outstate: D3D12_RESOURCE_STATES, riid: *const ::windows::runtime::GUID, ppresource11: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14003     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppresources: *const ::windows::runtime::RawPtr, numresources: u32),
14004     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
14005     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppresources: *const ::windows::runtime::RawPtr, numresources: u32),
14006     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
14007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14008 );
14009 #[repr(transparent)]
14010 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14011 pub struct ID3D11On12Device2(::windows::runtime::IUnknown);
14012 impl ID3D11On12Device2 {
CreateWrappedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, T: ::windows::runtime::Interface>(&self, presource12: Param0, pflags11: *const D3D11_RESOURCE_FLAGS, instate: D3D12_RESOURCE_STATES, outstate: D3D12_RESOURCE_STATES, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>14013     pub unsafe fn CreateWrappedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, T: ::windows::runtime::Interface>(&self, presource12: Param0, pflags11: *const D3D11_RESOURCE_FLAGS, instate: D3D12_RESOURCE_STATES, outstate: D3D12_RESOURCE_STATES, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
14014         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), presource12.into_param().abi(), ::std::mem::transmute(pflags11), ::std::mem::transmute(instate), ::std::mem::transmute(outstate), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
14015     }
14016     #[cfg(feature = "Win32_Graphics_Direct3D11")]
ReleaseWrappedResources(&self, ppresources: *const ::std::option::Option<super::Direct3D11::ID3D11Resource>, numresources: u32)14017     pub unsafe fn ReleaseWrappedResources(&self, ppresources: *const ::std::option::Option<super::Direct3D11::ID3D11Resource>, numresources: u32) {
14018         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppresources), ::std::mem::transmute(numresources)))
14019     }
14020     #[cfg(feature = "Win32_Graphics_Direct3D11")]
AcquireWrappedResources(&self, ppresources: *const ::std::option::Option<super::Direct3D11::ID3D11Resource>, numresources: u32)14021     pub unsafe fn AcquireWrappedResources(&self, ppresources: *const ::std::option::Option<super::Direct3D11::ID3D11Resource>, numresources: u32) {
14022         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppresources), ::std::mem::transmute(numresources)))
14023     }
GetD3D12Device<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>14024     pub unsafe fn GetD3D12Device<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
14025         let mut result__ = ::std::option::Option::None;
14026         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
14027     }
14028     #[cfg(feature = "Win32_Graphics_Direct3D11")]
UnwrapUnderlyingResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct3D11::ID3D11Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12CommandQueue>, T: ::windows::runtime::Interface>(&self, presource11: Param0, pcommandqueue: Param1) -> ::windows::runtime::Result<T>14029     pub unsafe fn UnwrapUnderlyingResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct3D11::ID3D11Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12CommandQueue>, T: ::windows::runtime::Interface>(&self, presource11: Param0, pcommandqueue: Param1) -> ::windows::runtime::Result<T> {
14030         let mut result__ = ::std::option::Option::None;
14031         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), presource11.into_param().abi(), pcommandqueue.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
14032     }
14033     #[cfg(feature = "Win32_Graphics_Direct3D11")]
ReturnUnderlyingResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct3D11::ID3D11Resource>>(&self, presource11: Param0, numsync: u32, psignalvalues: *const u64, ppfences: *const ::std::option::Option<ID3D12Fence>) -> ::windows::runtime::Result<()>14034     pub unsafe fn ReturnUnderlyingResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct3D11::ID3D11Resource>>(&self, presource11: Param0, numsync: u32, psignalvalues: *const u64, ppfences: *const ::std::option::Option<ID3D12Fence>) -> ::windows::runtime::Result<()> {
14035         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), presource11.into_param().abi(), ::std::mem::transmute(numsync), ::std::mem::transmute(psignalvalues), ::std::mem::transmute(ppfences)).ok()
14036     }
14037 }
14038 unsafe impl ::windows::runtime::Interface for ID3D11On12Device2 {
14039     type Vtable = ID3D11On12Device2_abi;
14040     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3700486961, 18240, 17402, [134, 110, 103, 241, 44, 181, 130, 35]);
14041 }
14042 impl ::std::convert::From<ID3D11On12Device2> for ::windows::runtime::IUnknown {
from(value: ID3D11On12Device2) -> Self14043     fn from(value: ID3D11On12Device2) -> Self {
14044         unsafe { ::std::mem::transmute(value) }
14045     }
14046 }
14047 impl ::std::convert::From<&ID3D11On12Device2> for ::windows::runtime::IUnknown {
from(value: &ID3D11On12Device2) -> Self14048     fn from(value: &ID3D11On12Device2) -> Self {
14049         ::std::convert::From::from(::std::clone::Clone::clone(value))
14050     }
14051 }
14052 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D11On12Device2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14053     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14054         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14055     }
14056 }
14057 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D11On12Device2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14058     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14059         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14060     }
14061 }
14062 impl ::std::convert::From<ID3D11On12Device2> for ID3D11On12Device1 {
from(value: ID3D11On12Device2) -> Self14063     fn from(value: ID3D11On12Device2) -> Self {
14064         unsafe { ::std::mem::transmute(value) }
14065     }
14066 }
14067 impl ::std::convert::From<&ID3D11On12Device2> for ID3D11On12Device1 {
from(value: &ID3D11On12Device2) -> Self14068     fn from(value: &ID3D11On12Device2) -> Self {
14069         ::std::convert::From::from(::std::clone::Clone::clone(value))
14070     }
14071 }
14072 impl<'a> ::windows::runtime::IntoParam<'a, ID3D11On12Device1> for ID3D11On12Device2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D11On12Device1>14073     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D11On12Device1> {
14074         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D11On12Device1>::into(self))
14075     }
14076 }
14077 impl<'a> ::windows::runtime::IntoParam<'a, ID3D11On12Device1> for &ID3D11On12Device2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D11On12Device1>14078     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D11On12Device1> {
14079         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D11On12Device1>::into(::std::clone::Clone::clone(self)))
14080     }
14081 }
14082 impl ::std::convert::From<ID3D11On12Device2> for ID3D11On12Device {
from(value: ID3D11On12Device2) -> Self14083     fn from(value: ID3D11On12Device2) -> Self {
14084         unsafe { ::std::mem::transmute(value) }
14085     }
14086 }
14087 impl ::std::convert::From<&ID3D11On12Device2> for ID3D11On12Device {
from(value: &ID3D11On12Device2) -> Self14088     fn from(value: &ID3D11On12Device2) -> Self {
14089         ::std::convert::From::from(::std::clone::Clone::clone(value))
14090     }
14091 }
14092 impl<'a> ::windows::runtime::IntoParam<'a, ID3D11On12Device> for ID3D11On12Device2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D11On12Device>14093     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D11On12Device> {
14094         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D11On12Device>::into(self))
14095     }
14096 }
14097 impl<'a> ::windows::runtime::IntoParam<'a, ID3D11On12Device> for &ID3D11On12Device2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D11On12Device>14098     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D11On12Device> {
14099         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D11On12Device>::into(::std::clone::Clone::clone(self)))
14100     }
14101 }
14102 #[repr(C)]
14103 #[doc(hidden)]
14104 pub struct ID3D11On12Device2_abi(
14105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14106     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource12: ::windows::runtime::RawPtr, pflags11: *const D3D11_RESOURCE_FLAGS, instate: D3D12_RESOURCE_STATES, outstate: D3D12_RESOURCE_STATES, riid: *const ::windows::runtime::GUID, ppresource11: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14109     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppresources: *const ::windows::runtime::RawPtr, numresources: u32),
14110     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
14111     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppresources: *const ::windows::runtime::RawPtr, numresources: u32),
14112     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
14113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14114     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource11: ::windows::runtime::RawPtr, pcommandqueue: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvresource12: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14115     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
14116     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource11: ::windows::runtime::RawPtr, numsync: u32, psignalvalues: *const u64, ppfences: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14117     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
14118 );
14119 #[repr(transparent)]
14120 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14121 pub struct ID3D12CommandAllocator(::windows::runtime::IUnknown);
14122 impl ID3D12CommandAllocator {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>14123     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
14124         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
14125     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>14126     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
14127         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
14128     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>14129     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
14130         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
14131     }
14132     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>14133     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
14134         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
14135     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>14136     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
14137         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
14138     }
Reset(&self) -> ::windows::runtime::Result<()>14139     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
14140         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
14141     }
14142 }
14143 unsafe impl ::windows::runtime::Interface for ID3D12CommandAllocator {
14144     type Vtable = ID3D12CommandAllocator_abi;
14145     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1627578084, 44889, 19209, [185, 153, 180, 77, 115, 240, 155, 36]);
14146 }
14147 impl ::std::convert::From<ID3D12CommandAllocator> for ::windows::runtime::IUnknown {
from(value: ID3D12CommandAllocator) -> Self14148     fn from(value: ID3D12CommandAllocator) -> Self {
14149         unsafe { ::std::mem::transmute(value) }
14150     }
14151 }
14152 impl ::std::convert::From<&ID3D12CommandAllocator> for ::windows::runtime::IUnknown {
from(value: &ID3D12CommandAllocator) -> Self14153     fn from(value: &ID3D12CommandAllocator) -> Self {
14154         ::std::convert::From::from(::std::clone::Clone::clone(value))
14155     }
14156 }
14157 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12CommandAllocator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14158     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14159         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14160     }
14161 }
14162 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12CommandAllocator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14163     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14164         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14165     }
14166 }
14167 impl ::std::convert::From<ID3D12CommandAllocator> for ID3D12Pageable {
from(value: ID3D12CommandAllocator) -> Self14168     fn from(value: ID3D12CommandAllocator) -> Self {
14169         unsafe { ::std::mem::transmute(value) }
14170     }
14171 }
14172 impl ::std::convert::From<&ID3D12CommandAllocator> for ID3D12Pageable {
from(value: &ID3D12CommandAllocator) -> Self14173     fn from(value: &ID3D12CommandAllocator) -> Self {
14174         ::std::convert::From::from(::std::clone::Clone::clone(value))
14175     }
14176 }
14177 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for ID3D12CommandAllocator {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>14178     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
14179         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(self))
14180     }
14181 }
14182 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for &ID3D12CommandAllocator {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>14183     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
14184         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(::std::clone::Clone::clone(self)))
14185     }
14186 }
14187 impl ::std::convert::From<ID3D12CommandAllocator> for ID3D12DeviceChild {
from(value: ID3D12CommandAllocator) -> Self14188     fn from(value: ID3D12CommandAllocator) -> Self {
14189         unsafe { ::std::mem::transmute(value) }
14190     }
14191 }
14192 impl ::std::convert::From<&ID3D12CommandAllocator> for ID3D12DeviceChild {
from(value: &ID3D12CommandAllocator) -> Self14193     fn from(value: &ID3D12CommandAllocator) -> Self {
14194         ::std::convert::From::from(::std::clone::Clone::clone(value))
14195     }
14196 }
14197 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12CommandAllocator {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>14198     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
14199         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
14200     }
14201 }
14202 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12CommandAllocator {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>14203     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
14204         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
14205     }
14206 }
14207 impl ::std::convert::From<ID3D12CommandAllocator> for ID3D12Object {
from(value: ID3D12CommandAllocator) -> Self14208     fn from(value: ID3D12CommandAllocator) -> Self {
14209         unsafe { ::std::mem::transmute(value) }
14210     }
14211 }
14212 impl ::std::convert::From<&ID3D12CommandAllocator> for ID3D12Object {
from(value: &ID3D12CommandAllocator) -> Self14213     fn from(value: &ID3D12CommandAllocator) -> Self {
14214         ::std::convert::From::from(::std::clone::Clone::clone(value))
14215     }
14216 }
14217 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12CommandAllocator {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>14218     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
14219         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
14220     }
14221 }
14222 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12CommandAllocator {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>14223     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
14224         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
14225     }
14226 }
14227 #[repr(C)]
14228 #[doc(hidden)]
14229 pub struct ID3D12CommandAllocator_abi(
14230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14234     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14235     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14236     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
14237     #[cfg(not(feature = "Win32_Foundation"))] usize,
14238     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14239     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14240 );
14241 #[repr(transparent)]
14242 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14243 pub struct ID3D12CommandList(::windows::runtime::IUnknown);
14244 impl ID3D12CommandList {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>14245     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
14246         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
14247     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>14248     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
14249         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
14250     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>14251     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
14252         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
14253     }
14254     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>14255     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
14256         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
14257     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>14258     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
14259         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
14260     }
GetType(&self) -> D3D12_COMMAND_LIST_TYPE14261     pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
14262         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
14263     }
14264 }
14265 unsafe impl ::windows::runtime::Interface for ID3D12CommandList {
14266     type Vtable = ID3D12CommandList_abi;
14267     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1897322780, 59364, 18382, [184, 198, 236, 129, 104, 244, 55, 229]);
14268 }
14269 impl ::std::convert::From<ID3D12CommandList> for ::windows::runtime::IUnknown {
from(value: ID3D12CommandList) -> Self14270     fn from(value: ID3D12CommandList) -> Self {
14271         unsafe { ::std::mem::transmute(value) }
14272     }
14273 }
14274 impl ::std::convert::From<&ID3D12CommandList> for ::windows::runtime::IUnknown {
from(value: &ID3D12CommandList) -> Self14275     fn from(value: &ID3D12CommandList) -> Self {
14276         ::std::convert::From::from(::std::clone::Clone::clone(value))
14277     }
14278 }
14279 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12CommandList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14280     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14281         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14282     }
14283 }
14284 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12CommandList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14285     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14286         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14287     }
14288 }
14289 impl ::std::convert::From<ID3D12CommandList> for ID3D12DeviceChild {
from(value: ID3D12CommandList) -> Self14290     fn from(value: ID3D12CommandList) -> Self {
14291         unsafe { ::std::mem::transmute(value) }
14292     }
14293 }
14294 impl ::std::convert::From<&ID3D12CommandList> for ID3D12DeviceChild {
from(value: &ID3D12CommandList) -> Self14295     fn from(value: &ID3D12CommandList) -> Self {
14296         ::std::convert::From::from(::std::clone::Clone::clone(value))
14297     }
14298 }
14299 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12CommandList {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>14300     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
14301         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
14302     }
14303 }
14304 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12CommandList {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>14305     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
14306         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
14307     }
14308 }
14309 impl ::std::convert::From<ID3D12CommandList> for ID3D12Object {
from(value: ID3D12CommandList) -> Self14310     fn from(value: ID3D12CommandList) -> Self {
14311         unsafe { ::std::mem::transmute(value) }
14312     }
14313 }
14314 impl ::std::convert::From<&ID3D12CommandList> for ID3D12Object {
from(value: &ID3D12CommandList) -> Self14315     fn from(value: &ID3D12CommandList) -> Self {
14316         ::std::convert::From::from(::std::clone::Clone::clone(value))
14317     }
14318 }
14319 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12CommandList {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>14320     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
14321         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
14322     }
14323 }
14324 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12CommandList {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>14325     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
14326         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
14327     }
14328 }
14329 #[repr(C)]
14330 #[doc(hidden)]
14331 pub struct ID3D12CommandList_abi(
14332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14333     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14337     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14338     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
14339     #[cfg(not(feature = "Win32_Foundation"))] usize,
14340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_COMMAND_LIST_TYPE,
14342 );
14343 #[repr(transparent)]
14344 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14345 pub struct ID3D12CommandQueue(::windows::runtime::IUnknown);
14346 impl ID3D12CommandQueue {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>14347     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
14348         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
14349     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>14350     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
14351         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
14352     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>14353     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
14354         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
14355     }
14356     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>14357     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
14358         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
14359     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>14360     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
14361         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
14362     }
14363     #[cfg(feature = "Win32_Foundation")]
UpdateTileMappings<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Heap>>( &self, presource: Param0, numresourceregions: u32, presourceregionstartcoordinates: *const D3D12_TILED_RESOURCE_COORDINATE, presourceregionsizes: *const D3D12_TILE_REGION_SIZE, pheap: Param4, numranges: u32, prangeflags: *const D3D12_TILE_RANGE_FLAGS, pheaprangestartoffsets: *const u32, prangetilecounts: *const u32, flags: D3D12_TILE_MAPPING_FLAGS, )14364     pub unsafe fn UpdateTileMappings<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Heap>>(
14365         &self,
14366         presource: Param0,
14367         numresourceregions: u32,
14368         presourceregionstartcoordinates: *const D3D12_TILED_RESOURCE_COORDINATE,
14369         presourceregionsizes: *const D3D12_TILE_REGION_SIZE,
14370         pheap: Param4,
14371         numranges: u32,
14372         prangeflags: *const D3D12_TILE_RANGE_FLAGS,
14373         pheaprangestartoffsets: *const u32,
14374         prangetilecounts: *const u32,
14375         flags: D3D12_TILE_MAPPING_FLAGS,
14376     ) {
14377         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(
14378             ::std::mem::transmute_copy(self),
14379             presource.into_param().abi(),
14380             ::std::mem::transmute(numresourceregions),
14381             ::std::mem::transmute(presourceregionstartcoordinates),
14382             ::std::mem::transmute(presourceregionsizes),
14383             pheap.into_param().abi(),
14384             ::std::mem::transmute(numranges),
14385             ::std::mem::transmute(prangeflags),
14386             ::std::mem::transmute(pheaprangestartoffsets),
14387             ::std::mem::transmute(prangetilecounts),
14388             ::std::mem::transmute(flags),
14389         ))
14390     }
14391     #[cfg(feature = "Win32_Foundation")]
CopyTileMappings<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, pdstregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, psrcresource: Param2, psrcregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, pregionsize: *const D3D12_TILE_REGION_SIZE, flags: D3D12_TILE_MAPPING_FLAGS)14392     pub unsafe fn CopyTileMappings<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, pdstregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, psrcresource: Param2, psrcregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, pregionsize: *const D3D12_TILE_REGION_SIZE, flags: D3D12_TILE_MAPPING_FLAGS) {
14393         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(
14394             ::std::mem::transmute_copy(self),
14395             pdstresource.into_param().abi(),
14396             ::std::mem::transmute(pdstregionstartcoordinate),
14397             psrcresource.into_param().abi(),
14398             ::std::mem::transmute(psrcregionstartcoordinate),
14399             ::std::mem::transmute(pregionsize),
14400             ::std::mem::transmute(flags),
14401         ))
14402     }
ExecuteCommandLists(&self, numcommandlists: u32, ppcommandlists: *const ::std::option::Option<ID3D12CommandList>)14403     pub unsafe fn ExecuteCommandLists(&self, numcommandlists: u32, ppcommandlists: *const ::std::option::Option<ID3D12CommandList>) {
14404         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(numcommandlists), ::std::mem::transmute(ppcommandlists)))
14405     }
SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)14406     pub unsafe fn SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
14407         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
14408     }
BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)14409     pub unsafe fn BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
14410         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
14411     }
EndEvent(&self)14412     pub unsafe fn EndEvent(&self) {
14413         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)))
14414     }
Signal<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, pfence: Param0, value: u64) -> ::windows::runtime::Result<()>14415     pub unsafe fn Signal<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, pfence: Param0, value: u64) -> ::windows::runtime::Result<()> {
14416         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), pfence.into_param().abi(), ::std::mem::transmute(value)).ok()
14417     }
Wait<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, pfence: Param0, value: u64) -> ::windows::runtime::Result<()>14418     pub unsafe fn Wait<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, pfence: Param0, value: u64) -> ::windows::runtime::Result<()> {
14419         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pfence.into_param().abi(), ::std::mem::transmute(value)).ok()
14420     }
GetTimestampFrequency(&self) -> ::windows::runtime::Result<u64>14421     pub unsafe fn GetTimestampFrequency(&self) -> ::windows::runtime::Result<u64> {
14422         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14423         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u64>(result__)
14424     }
GetClockCalibration(&self, pgputimestamp: *mut u64, pcputimestamp: *mut u64) -> ::windows::runtime::Result<()>14425     pub unsafe fn GetClockCalibration(&self, pgputimestamp: *mut u64, pcputimestamp: *mut u64) -> ::windows::runtime::Result<()> {
14426         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pgputimestamp), ::std::mem::transmute(pcputimestamp)).ok()
14427     }
GetDesc(&self) -> D3D12_COMMAND_QUEUE_DESC14428     pub unsafe fn GetDesc(&self) -> D3D12_COMMAND_QUEUE_DESC {
14429         let mut result__: D3D12_COMMAND_QUEUE_DESC = ::std::default::Default::default();
14430         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__);
14431         result__
14432     }
14433 }
14434 unsafe impl ::windows::runtime::Interface for ID3D12CommandQueue {
14435     type Vtable = ID3D12CommandQueue_abi;
14436     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(248017062, 23934, 19490, [140, 252, 91, 170, 224, 118, 22, 237]);
14437 }
14438 impl ::std::convert::From<ID3D12CommandQueue> for ::windows::runtime::IUnknown {
from(value: ID3D12CommandQueue) -> Self14439     fn from(value: ID3D12CommandQueue) -> Self {
14440         unsafe { ::std::mem::transmute(value) }
14441     }
14442 }
14443 impl ::std::convert::From<&ID3D12CommandQueue> for ::windows::runtime::IUnknown {
from(value: &ID3D12CommandQueue) -> Self14444     fn from(value: &ID3D12CommandQueue) -> Self {
14445         ::std::convert::From::from(::std::clone::Clone::clone(value))
14446     }
14447 }
14448 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12CommandQueue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14449     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14450         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14451     }
14452 }
14453 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12CommandQueue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14454     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14455         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14456     }
14457 }
14458 impl ::std::convert::From<ID3D12CommandQueue> for ID3D12Pageable {
from(value: ID3D12CommandQueue) -> Self14459     fn from(value: ID3D12CommandQueue) -> Self {
14460         unsafe { ::std::mem::transmute(value) }
14461     }
14462 }
14463 impl ::std::convert::From<&ID3D12CommandQueue> for ID3D12Pageable {
from(value: &ID3D12CommandQueue) -> Self14464     fn from(value: &ID3D12CommandQueue) -> Self {
14465         ::std::convert::From::from(::std::clone::Clone::clone(value))
14466     }
14467 }
14468 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for ID3D12CommandQueue {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>14469     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
14470         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(self))
14471     }
14472 }
14473 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for &ID3D12CommandQueue {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>14474     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
14475         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(::std::clone::Clone::clone(self)))
14476     }
14477 }
14478 impl ::std::convert::From<ID3D12CommandQueue> for ID3D12DeviceChild {
from(value: ID3D12CommandQueue) -> Self14479     fn from(value: ID3D12CommandQueue) -> Self {
14480         unsafe { ::std::mem::transmute(value) }
14481     }
14482 }
14483 impl ::std::convert::From<&ID3D12CommandQueue> for ID3D12DeviceChild {
from(value: &ID3D12CommandQueue) -> Self14484     fn from(value: &ID3D12CommandQueue) -> Self {
14485         ::std::convert::From::from(::std::clone::Clone::clone(value))
14486     }
14487 }
14488 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12CommandQueue {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>14489     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
14490         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
14491     }
14492 }
14493 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12CommandQueue {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>14494     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
14495         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
14496     }
14497 }
14498 impl ::std::convert::From<ID3D12CommandQueue> for ID3D12Object {
from(value: ID3D12CommandQueue) -> Self14499     fn from(value: ID3D12CommandQueue) -> Self {
14500         unsafe { ::std::mem::transmute(value) }
14501     }
14502 }
14503 impl ::std::convert::From<&ID3D12CommandQueue> for ID3D12Object {
from(value: &ID3D12CommandQueue) -> Self14504     fn from(value: &ID3D12CommandQueue) -> Self {
14505         ::std::convert::From::from(::std::clone::Clone::clone(value))
14506     }
14507 }
14508 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12CommandQueue {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>14509     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
14510         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
14511     }
14512 }
14513 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12CommandQueue {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>14514     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
14515         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
14516     }
14517 }
14518 #[repr(C)]
14519 #[doc(hidden)]
14520 pub struct ID3D12CommandQueue_abi(
14521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14527     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
14528     #[cfg(not(feature = "Win32_Foundation"))] usize,
14529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14530     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, numresourceregions: u32, presourceregionstartcoordinates: *const D3D12_TILED_RESOURCE_COORDINATE, presourceregionsizes: *const D3D12_TILE_REGION_SIZE, pheap: ::windows::runtime::RawPtr, numranges: u32, prangeflags: *const D3D12_TILE_RANGE_FLAGS, pheaprangestartoffsets: *const u32, prangetilecounts: *const u32, flags: D3D12_TILE_MAPPING_FLAGS),
14531     #[cfg(not(feature = "Win32_Foundation"))] usize,
14532     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, pdstregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, psrcresource: ::windows::runtime::RawPtr, psrcregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, pregionsize: *const D3D12_TILE_REGION_SIZE, flags: D3D12_TILE_MAPPING_FLAGS),
14533     #[cfg(not(feature = "Win32_Foundation"))] usize,
14534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numcommandlists: u32, ppcommandlists: *const ::windows::runtime::RawPtr),
14535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
14536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
14537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
14538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfence: ::windows::runtime::RawPtr, value: u64) -> ::windows::runtime::HRESULT,
14539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfence: ::windows::runtime::RawPtr, value: u64) -> ::windows::runtime::HRESULT,
14540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfrequency: *mut u64) -> ::windows::runtime::HRESULT,
14541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pgputimestamp: *mut u64, pcputimestamp: *mut u64) -> ::windows::runtime::HRESULT,
14542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_COMMAND_QUEUE_DESC),
14543 );
14544 #[repr(transparent)]
14545 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14546 pub struct ID3D12CommandSignature(::windows::runtime::IUnknown);
14547 impl ID3D12CommandSignature {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>14548     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
14549         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
14550     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>14551     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
14552         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
14553     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>14554     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
14555         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
14556     }
14557     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>14558     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
14559         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
14560     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>14561     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
14562         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
14563     }
14564 }
14565 unsafe impl ::windows::runtime::Interface for ID3D12CommandSignature {
14566     type Vtable = ID3D12CommandSignature_abi;
14567     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3278535036, 60544, 20234, [137, 133, 167, 178, 71, 80, 130, 209]);
14568 }
14569 impl ::std::convert::From<ID3D12CommandSignature> for ::windows::runtime::IUnknown {
from(value: ID3D12CommandSignature) -> Self14570     fn from(value: ID3D12CommandSignature) -> Self {
14571         unsafe { ::std::mem::transmute(value) }
14572     }
14573 }
14574 impl ::std::convert::From<&ID3D12CommandSignature> for ::windows::runtime::IUnknown {
from(value: &ID3D12CommandSignature) -> Self14575     fn from(value: &ID3D12CommandSignature) -> Self {
14576         ::std::convert::From::from(::std::clone::Clone::clone(value))
14577     }
14578 }
14579 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12CommandSignature {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14580     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14581         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14582     }
14583 }
14584 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12CommandSignature {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14585     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14586         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14587     }
14588 }
14589 impl ::std::convert::From<ID3D12CommandSignature> for ID3D12Pageable {
from(value: ID3D12CommandSignature) -> Self14590     fn from(value: ID3D12CommandSignature) -> Self {
14591         unsafe { ::std::mem::transmute(value) }
14592     }
14593 }
14594 impl ::std::convert::From<&ID3D12CommandSignature> for ID3D12Pageable {
from(value: &ID3D12CommandSignature) -> Self14595     fn from(value: &ID3D12CommandSignature) -> Self {
14596         ::std::convert::From::from(::std::clone::Clone::clone(value))
14597     }
14598 }
14599 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for ID3D12CommandSignature {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>14600     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
14601         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(self))
14602     }
14603 }
14604 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for &ID3D12CommandSignature {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>14605     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
14606         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(::std::clone::Clone::clone(self)))
14607     }
14608 }
14609 impl ::std::convert::From<ID3D12CommandSignature> for ID3D12DeviceChild {
from(value: ID3D12CommandSignature) -> Self14610     fn from(value: ID3D12CommandSignature) -> Self {
14611         unsafe { ::std::mem::transmute(value) }
14612     }
14613 }
14614 impl ::std::convert::From<&ID3D12CommandSignature> for ID3D12DeviceChild {
from(value: &ID3D12CommandSignature) -> Self14615     fn from(value: &ID3D12CommandSignature) -> Self {
14616         ::std::convert::From::from(::std::clone::Clone::clone(value))
14617     }
14618 }
14619 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12CommandSignature {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>14620     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
14621         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
14622     }
14623 }
14624 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12CommandSignature {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>14625     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
14626         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
14627     }
14628 }
14629 impl ::std::convert::From<ID3D12CommandSignature> for ID3D12Object {
from(value: ID3D12CommandSignature) -> Self14630     fn from(value: ID3D12CommandSignature) -> Self {
14631         unsafe { ::std::mem::transmute(value) }
14632     }
14633 }
14634 impl ::std::convert::From<&ID3D12CommandSignature> for ID3D12Object {
from(value: &ID3D12CommandSignature) -> Self14635     fn from(value: &ID3D12CommandSignature) -> Self {
14636         ::std::convert::From::from(::std::clone::Clone::clone(value))
14637     }
14638 }
14639 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12CommandSignature {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>14640     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
14641         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
14642     }
14643 }
14644 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12CommandSignature {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>14645     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
14646         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
14647     }
14648 }
14649 #[repr(C)]
14650 #[doc(hidden)]
14651 pub struct ID3D12CommandSignature_abi(
14652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14654     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14655     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14656     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14657     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14658     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
14659     #[cfg(not(feature = "Win32_Foundation"))] usize,
14660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14661 );
14662 #[repr(transparent)]
14663 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14664 pub struct ID3D12CompatibilityDevice(::windows::runtime::IUnknown);
14665 impl ID3D12CompatibilityDevice {
14666     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateSharedResource<'a, Param7: ::windows::runtime::IntoParam<'a, ID3D12LifetimeTracker>, Param8: ::windows::runtime::IntoParam<'a, ID3D12SwapChainAssistant>, T: ::windows::runtime::Interface>( &self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pflags11: *const D3D11_RESOURCE_FLAGS, compatibilityflags: D3D12_COMPATIBILITY_SHARED_FLAGS, plifetimetracker: Param7, powningswapchain: Param8, result__: *mut ::std::option::Option<T>, ) -> ::windows::runtime::Result<()>14667     pub unsafe fn CreateSharedResource<'a, Param7: ::windows::runtime::IntoParam<'a, ID3D12LifetimeTracker>, Param8: ::windows::runtime::IntoParam<'a, ID3D12SwapChainAssistant>, T: ::windows::runtime::Interface>(
14668         &self,
14669         pheapproperties: *const D3D12_HEAP_PROPERTIES,
14670         heapflags: D3D12_HEAP_FLAGS,
14671         pdesc: *const D3D12_RESOURCE_DESC,
14672         initialresourcestate: D3D12_RESOURCE_STATES,
14673         poptimizedclearvalue: *const D3D12_CLEAR_VALUE,
14674         pflags11: *const D3D11_RESOURCE_FLAGS,
14675         compatibilityflags: D3D12_COMPATIBILITY_SHARED_FLAGS,
14676         plifetimetracker: Param7,
14677         powningswapchain: Param8,
14678         result__: *mut ::std::option::Option<T>,
14679     ) -> ::windows::runtime::Result<()> {
14680         (::windows::runtime::Interface::vtable(self).3)(
14681             ::std::mem::transmute_copy(self),
14682             ::std::mem::transmute(pheapproperties),
14683             ::std::mem::transmute(heapflags),
14684             ::std::mem::transmute(pdesc),
14685             ::std::mem::transmute(initialresourcestate),
14686             ::std::mem::transmute(poptimizedclearvalue),
14687             ::std::mem::transmute(pflags11),
14688             ::std::mem::transmute(compatibilityflags),
14689             plifetimetracker.into_param().abi(),
14690             powningswapchain.into_param().abi(),
14691             &<T as ::windows::runtime::Interface>::IID,
14692             result__ as *mut _ as *mut _,
14693         )
14694         .ok()
14695     }
CreateSharedHeap<T: ::windows::runtime::Interface>(&self, pheapdesc: *const D3D12_HEAP_DESC, compatibilityflags: D3D12_COMPATIBILITY_SHARED_FLAGS, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>14696     pub unsafe fn CreateSharedHeap<T: ::windows::runtime::Interface>(&self, pheapdesc: *const D3D12_HEAP_DESC, compatibilityflags: D3D12_COMPATIBILITY_SHARED_FLAGS, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
14697         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pheapdesc), ::std::mem::transmute(compatibilityflags), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
14698     }
ReflectSharedProperties<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Object>>(&self, pheaporresource: Param0, reflecttype: D3D12_REFLECT_SHARED_PROPERTY, pdata: *mut ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()>14699     pub unsafe fn ReflectSharedProperties<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Object>>(&self, pheaporresource: Param0, reflecttype: D3D12_REFLECT_SHARED_PROPERTY, pdata: *mut ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()> {
14700         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pheaporresource.into_param().abi(), ::std::mem::transmute(reflecttype), ::std::mem::transmute(pdata), ::std::mem::transmute(datasize)).ok()
14701     }
14702 }
14703 unsafe impl ::windows::runtime::Interface for ID3D12CompatibilityDevice {
14704     type Vtable = ID3D12CompatibilityDevice_abi;
14705     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2400980540, 64227, 19074, [176, 152, 191, 225, 112, 130, 7, 255]);
14706 }
14707 impl ::std::convert::From<ID3D12CompatibilityDevice> for ::windows::runtime::IUnknown {
from(value: ID3D12CompatibilityDevice) -> Self14708     fn from(value: ID3D12CompatibilityDevice) -> Self {
14709         unsafe { ::std::mem::transmute(value) }
14710     }
14711 }
14712 impl ::std::convert::From<&ID3D12CompatibilityDevice> for ::windows::runtime::IUnknown {
from(value: &ID3D12CompatibilityDevice) -> Self14713     fn from(value: &ID3D12CompatibilityDevice) -> Self {
14714         ::std::convert::From::from(::std::clone::Clone::clone(value))
14715     }
14716 }
14717 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12CompatibilityDevice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14718     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14719         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14720     }
14721 }
14722 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12CompatibilityDevice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14723     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14724         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14725     }
14726 }
14727 #[repr(C)]
14728 #[doc(hidden)]
14729 pub struct ID3D12CompatibilityDevice_abi(
14730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14731     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14732     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14733     #[cfg(feature = "Win32_Graphics_Dxgi")]
14734     pub  unsafe extern "system" fn(
14735         this: ::windows::runtime::RawPtr,
14736         pheapproperties: *const D3D12_HEAP_PROPERTIES,
14737         heapflags: D3D12_HEAP_FLAGS,
14738         pdesc: *const D3D12_RESOURCE_DESC,
14739         initialresourcestate: D3D12_RESOURCE_STATES,
14740         poptimizedclearvalue: *const D3D12_CLEAR_VALUE,
14741         pflags11: *const D3D11_RESOURCE_FLAGS,
14742         compatibilityflags: D3D12_COMPATIBILITY_SHARED_FLAGS,
14743         plifetimetracker: ::windows::runtime::RawPtr,
14744         powningswapchain: ::windows::runtime::RawPtr,
14745         riid: *const ::windows::runtime::GUID,
14746         ppresource: *mut *mut ::std::ffi::c_void,
14747     ) -> ::windows::runtime::HRESULT,
14748     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
14749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapdesc: *const D3D12_HEAP_DESC, compatibilityflags: D3D12_COMPATIBILITY_SHARED_FLAGS, riid: *const ::windows::runtime::GUID, ppheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheaporresource: ::windows::runtime::RawPtr, reflecttype: D3D12_REFLECT_SHARED_PROPERTY, pdata: *mut ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::HRESULT,
14751 );
14752 #[repr(transparent)]
14753 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14754 pub struct ID3D12Debug(::windows::runtime::IUnknown);
14755 impl ID3D12Debug {
EnableDebugLayer(&self)14756     pub unsafe fn EnableDebugLayer(&self) {
14757         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)))
14758     }
14759 }
14760 unsafe impl ::windows::runtime::Interface for ID3D12Debug {
14761     type Vtable = ID3D12Debug_abi;
14762     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(876906679, 26694, 18251, [185, 137, 240, 39, 68, 130, 69, 224]);
14763 }
14764 impl ::std::convert::From<ID3D12Debug> for ::windows::runtime::IUnknown {
from(value: ID3D12Debug) -> Self14765     fn from(value: ID3D12Debug) -> Self {
14766         unsafe { ::std::mem::transmute(value) }
14767     }
14768 }
14769 impl ::std::convert::From<&ID3D12Debug> for ::windows::runtime::IUnknown {
from(value: &ID3D12Debug) -> Self14770     fn from(value: &ID3D12Debug) -> Self {
14771         ::std::convert::From::from(::std::clone::Clone::clone(value))
14772     }
14773 }
14774 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Debug {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14775     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14776         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14777     }
14778 }
14779 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Debug {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14780     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14781         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14782     }
14783 }
14784 #[repr(C)]
14785 #[doc(hidden)]
14786 pub struct ID3D12Debug_abi(
14787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
14791 );
14792 #[repr(transparent)]
14793 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14794 pub struct ID3D12Debug1(::windows::runtime::IUnknown);
14795 impl ID3D12Debug1 {
EnableDebugLayer(&self)14796     pub unsafe fn EnableDebugLayer(&self) {
14797         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)))
14798     }
14799     #[cfg(feature = "Win32_Foundation")]
SetEnableGPUBasedValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0)14800     pub unsafe fn SetEnableGPUBasedValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) {
14801         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), enable.into_param().abi()))
14802     }
14803     #[cfg(feature = "Win32_Foundation")]
SetEnableSynchronizedCommandQueueValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0)14804     pub unsafe fn SetEnableSynchronizedCommandQueueValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) {
14805         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), enable.into_param().abi()))
14806     }
14807 }
14808 unsafe impl ::windows::runtime::Interface for ID3D12Debug1 {
14809     type Vtable = ID3D12Debug1_abi;
14810     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2952438986, 25598, 19854, [184, 173, 21, 144, 0, 175, 67, 4]);
14811 }
14812 impl ::std::convert::From<ID3D12Debug1> for ::windows::runtime::IUnknown {
from(value: ID3D12Debug1) -> Self14813     fn from(value: ID3D12Debug1) -> Self {
14814         unsafe { ::std::mem::transmute(value) }
14815     }
14816 }
14817 impl ::std::convert::From<&ID3D12Debug1> for ::windows::runtime::IUnknown {
from(value: &ID3D12Debug1) -> Self14818     fn from(value: &ID3D12Debug1) -> Self {
14819         ::std::convert::From::from(::std::clone::Clone::clone(value))
14820     }
14821 }
14822 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Debug1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14823     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14824         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14825     }
14826 }
14827 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Debug1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14828     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14829         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14830     }
14831 }
14832 #[repr(C)]
14833 #[doc(hidden)]
14834 pub struct ID3D12Debug1_abi(
14835     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14836     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14837     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14838     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
14839     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL),
14840     #[cfg(not(feature = "Win32_Foundation"))] usize,
14841     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL),
14842     #[cfg(not(feature = "Win32_Foundation"))] usize,
14843 );
14844 #[repr(transparent)]
14845 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14846 pub struct ID3D12Debug2(::windows::runtime::IUnknown);
14847 impl ID3D12Debug2 {
SetGPUBasedValidationFlags(&self, flags: D3D12_GPU_BASED_VALIDATION_FLAGS)14848     pub unsafe fn SetGPUBasedValidationFlags(&self, flags: D3D12_GPU_BASED_VALIDATION_FLAGS) {
14849         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)))
14850     }
14851 }
14852 unsafe impl ::windows::runtime::Interface for ID3D12Debug2 {
14853     type Vtable = ID3D12Debug2_abi;
14854     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2477155780, 41906, 20061, [182, 146, 162, 106, 225, 78, 51, 116]);
14855 }
14856 impl ::std::convert::From<ID3D12Debug2> for ::windows::runtime::IUnknown {
from(value: ID3D12Debug2) -> Self14857     fn from(value: ID3D12Debug2) -> Self {
14858         unsafe { ::std::mem::transmute(value) }
14859     }
14860 }
14861 impl ::std::convert::From<&ID3D12Debug2> for ::windows::runtime::IUnknown {
from(value: &ID3D12Debug2) -> Self14862     fn from(value: &ID3D12Debug2) -> Self {
14863         ::std::convert::From::from(::std::clone::Clone::clone(value))
14864     }
14865 }
14866 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Debug2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14867     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14868         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14869     }
14870 }
14871 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Debug2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14872     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14873         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14874     }
14875 }
14876 #[repr(C)]
14877 #[doc(hidden)]
14878 pub struct ID3D12Debug2_abi(
14879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: D3D12_GPU_BASED_VALIDATION_FLAGS),
14883 );
14884 #[repr(transparent)]
14885 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14886 pub struct ID3D12Debug3(::windows::runtime::IUnknown);
14887 impl ID3D12Debug3 {
EnableDebugLayer(&self)14888     pub unsafe fn EnableDebugLayer(&self) {
14889         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)))
14890     }
14891     #[cfg(feature = "Win32_Foundation")]
SetEnableGPUBasedValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0)14892     pub unsafe fn SetEnableGPUBasedValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) {
14893         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), enable.into_param().abi()))
14894     }
14895     #[cfg(feature = "Win32_Foundation")]
SetEnableSynchronizedCommandQueueValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0)14896     pub unsafe fn SetEnableSynchronizedCommandQueueValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) {
14897         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), enable.into_param().abi()))
14898     }
SetGPUBasedValidationFlags(&self, flags: D3D12_GPU_BASED_VALIDATION_FLAGS)14899     pub unsafe fn SetGPUBasedValidationFlags(&self, flags: D3D12_GPU_BASED_VALIDATION_FLAGS) {
14900         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)))
14901     }
14902 }
14903 unsafe impl ::windows::runtime::Interface for ID3D12Debug3 {
14904     type Vtable = ID3D12Debug3_abi;
14905     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1559553423, 63089, 20465, [165, 66, 54, 134, 227, 209, 83, 209]);
14906 }
14907 impl ::std::convert::From<ID3D12Debug3> for ::windows::runtime::IUnknown {
from(value: ID3D12Debug3) -> Self14908     fn from(value: ID3D12Debug3) -> Self {
14909         unsafe { ::std::mem::transmute(value) }
14910     }
14911 }
14912 impl ::std::convert::From<&ID3D12Debug3> for ::windows::runtime::IUnknown {
from(value: &ID3D12Debug3) -> Self14913     fn from(value: &ID3D12Debug3) -> Self {
14914         ::std::convert::From::from(::std::clone::Clone::clone(value))
14915     }
14916 }
14917 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Debug3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14918     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14919         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14920     }
14921 }
14922 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Debug3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14923     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14924         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14925     }
14926 }
14927 impl ::std::convert::From<ID3D12Debug3> for ID3D12Debug {
from(value: ID3D12Debug3) -> Self14928     fn from(value: ID3D12Debug3) -> Self {
14929         unsafe { ::std::mem::transmute(value) }
14930     }
14931 }
14932 impl ::std::convert::From<&ID3D12Debug3> for ID3D12Debug {
from(value: &ID3D12Debug3) -> Self14933     fn from(value: &ID3D12Debug3) -> Self {
14934         ::std::convert::From::from(::std::clone::Clone::clone(value))
14935     }
14936 }
14937 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Debug> for ID3D12Debug3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug>14938     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug> {
14939         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Debug>::into(self))
14940     }
14941 }
14942 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Debug> for &ID3D12Debug3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug>14943     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug> {
14944         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Debug>::into(::std::clone::Clone::clone(self)))
14945     }
14946 }
14947 #[repr(C)]
14948 #[doc(hidden)]
14949 pub struct ID3D12Debug3_abi(
14950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
14954     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL),
14955     #[cfg(not(feature = "Win32_Foundation"))] usize,
14956     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL),
14957     #[cfg(not(feature = "Win32_Foundation"))] usize,
14958     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: D3D12_GPU_BASED_VALIDATION_FLAGS),
14959 );
14960 #[repr(transparent)]
14961 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14962 pub struct ID3D12Debug4(::windows::runtime::IUnknown);
14963 impl ID3D12Debug4 {
EnableDebugLayer(&self)14964     pub unsafe fn EnableDebugLayer(&self) {
14965         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)))
14966     }
14967     #[cfg(feature = "Win32_Foundation")]
SetEnableGPUBasedValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0)14968     pub unsafe fn SetEnableGPUBasedValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) {
14969         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), enable.into_param().abi()))
14970     }
14971     #[cfg(feature = "Win32_Foundation")]
SetEnableSynchronizedCommandQueueValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0)14972     pub unsafe fn SetEnableSynchronizedCommandQueueValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) {
14973         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), enable.into_param().abi()))
14974     }
SetGPUBasedValidationFlags(&self, flags: D3D12_GPU_BASED_VALIDATION_FLAGS)14975     pub unsafe fn SetGPUBasedValidationFlags(&self, flags: D3D12_GPU_BASED_VALIDATION_FLAGS) {
14976         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)))
14977     }
DisableDebugLayer(&self)14978     pub unsafe fn DisableDebugLayer(&self) {
14979         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
14980     }
14981 }
14982 unsafe impl ::windows::runtime::Interface for ID3D12Debug4 {
14983     type Vtable = ID3D12Debug4_abi;
14984     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(21725550, 40645, 18991, [168, 69, 255, 190, 68, 28, 225, 58]);
14985 }
14986 impl ::std::convert::From<ID3D12Debug4> for ::windows::runtime::IUnknown {
from(value: ID3D12Debug4) -> Self14987     fn from(value: ID3D12Debug4) -> Self {
14988         unsafe { ::std::mem::transmute(value) }
14989     }
14990 }
14991 impl ::std::convert::From<&ID3D12Debug4> for ::windows::runtime::IUnknown {
from(value: &ID3D12Debug4) -> Self14992     fn from(value: &ID3D12Debug4) -> Self {
14993         ::std::convert::From::from(::std::clone::Clone::clone(value))
14994     }
14995 }
14996 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Debug4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14997     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14998         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14999     }
15000 }
15001 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Debug4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15002     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15003         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15004     }
15005 }
15006 impl ::std::convert::From<ID3D12Debug4> for ID3D12Debug3 {
from(value: ID3D12Debug4) -> Self15007     fn from(value: ID3D12Debug4) -> Self {
15008         unsafe { ::std::mem::transmute(value) }
15009     }
15010 }
15011 impl ::std::convert::From<&ID3D12Debug4> for ID3D12Debug3 {
from(value: &ID3D12Debug4) -> Self15012     fn from(value: &ID3D12Debug4) -> Self {
15013         ::std::convert::From::from(::std::clone::Clone::clone(value))
15014     }
15015 }
15016 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Debug3> for ID3D12Debug4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug3>15017     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug3> {
15018         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Debug3>::into(self))
15019     }
15020 }
15021 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Debug3> for &ID3D12Debug4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug3>15022     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug3> {
15023         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Debug3>::into(::std::clone::Clone::clone(self)))
15024     }
15025 }
15026 impl ::std::convert::From<ID3D12Debug4> for ID3D12Debug {
from(value: ID3D12Debug4) -> Self15027     fn from(value: ID3D12Debug4) -> Self {
15028         unsafe { ::std::mem::transmute(value) }
15029     }
15030 }
15031 impl ::std::convert::From<&ID3D12Debug4> for ID3D12Debug {
from(value: &ID3D12Debug4) -> Self15032     fn from(value: &ID3D12Debug4) -> Self {
15033         ::std::convert::From::from(::std::clone::Clone::clone(value))
15034     }
15035 }
15036 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Debug> for ID3D12Debug4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug>15037     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug> {
15038         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Debug>::into(self))
15039     }
15040 }
15041 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Debug> for &ID3D12Debug4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug>15042     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug> {
15043         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Debug>::into(::std::clone::Clone::clone(self)))
15044     }
15045 }
15046 #[repr(C)]
15047 #[doc(hidden)]
15048 pub struct ID3D12Debug4_abi(
15049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
15053     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL),
15054     #[cfg(not(feature = "Win32_Foundation"))] usize,
15055     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL),
15056     #[cfg(not(feature = "Win32_Foundation"))] usize,
15057     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: D3D12_GPU_BASED_VALIDATION_FLAGS),
15058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
15059 );
15060 #[repr(transparent)]
15061 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15062 pub struct ID3D12Debug5(::windows::runtime::IUnknown);
15063 impl ID3D12Debug5 {
EnableDebugLayer(&self)15064     pub unsafe fn EnableDebugLayer(&self) {
15065         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)))
15066     }
15067     #[cfg(feature = "Win32_Foundation")]
SetEnableGPUBasedValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0)15068     pub unsafe fn SetEnableGPUBasedValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) {
15069         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), enable.into_param().abi()))
15070     }
15071     #[cfg(feature = "Win32_Foundation")]
SetEnableSynchronizedCommandQueueValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0)15072     pub unsafe fn SetEnableSynchronizedCommandQueueValidation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) {
15073         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), enable.into_param().abi()))
15074     }
SetGPUBasedValidationFlags(&self, flags: D3D12_GPU_BASED_VALIDATION_FLAGS)15075     pub unsafe fn SetGPUBasedValidationFlags(&self, flags: D3D12_GPU_BASED_VALIDATION_FLAGS) {
15076         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)))
15077     }
DisableDebugLayer(&self)15078     pub unsafe fn DisableDebugLayer(&self) {
15079         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
15080     }
15081     #[cfg(feature = "Win32_Foundation")]
SetEnableAutoName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0)15082     pub unsafe fn SetEnableAutoName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) {
15083         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), enable.into_param().abi()))
15084     }
15085 }
15086 unsafe impl ::windows::runtime::Interface for ID3D12Debug5 {
15087     type Vtable = ID3D12Debug5_abi;
15088     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1418554130, 2554, 16608, [144, 105, 93, 205, 88, 154, 82, 201]);
15089 }
15090 impl ::std::convert::From<ID3D12Debug5> for ::windows::runtime::IUnknown {
from(value: ID3D12Debug5) -> Self15091     fn from(value: ID3D12Debug5) -> Self {
15092         unsafe { ::std::mem::transmute(value) }
15093     }
15094 }
15095 impl ::std::convert::From<&ID3D12Debug5> for ::windows::runtime::IUnknown {
from(value: &ID3D12Debug5) -> Self15096     fn from(value: &ID3D12Debug5) -> Self {
15097         ::std::convert::From::from(::std::clone::Clone::clone(value))
15098     }
15099 }
15100 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Debug5 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15101     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15102         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15103     }
15104 }
15105 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Debug5 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15106     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15107         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15108     }
15109 }
15110 impl ::std::convert::From<ID3D12Debug5> for ID3D12Debug4 {
from(value: ID3D12Debug5) -> Self15111     fn from(value: ID3D12Debug5) -> Self {
15112         unsafe { ::std::mem::transmute(value) }
15113     }
15114 }
15115 impl ::std::convert::From<&ID3D12Debug5> for ID3D12Debug4 {
from(value: &ID3D12Debug5) -> Self15116     fn from(value: &ID3D12Debug5) -> Self {
15117         ::std::convert::From::from(::std::clone::Clone::clone(value))
15118     }
15119 }
15120 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Debug4> for ID3D12Debug5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug4>15121     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug4> {
15122         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Debug4>::into(self))
15123     }
15124 }
15125 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Debug4> for &ID3D12Debug5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug4>15126     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug4> {
15127         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Debug4>::into(::std::clone::Clone::clone(self)))
15128     }
15129 }
15130 impl ::std::convert::From<ID3D12Debug5> for ID3D12Debug3 {
from(value: ID3D12Debug5) -> Self15131     fn from(value: ID3D12Debug5) -> Self {
15132         unsafe { ::std::mem::transmute(value) }
15133     }
15134 }
15135 impl ::std::convert::From<&ID3D12Debug5> for ID3D12Debug3 {
from(value: &ID3D12Debug5) -> Self15136     fn from(value: &ID3D12Debug5) -> Self {
15137         ::std::convert::From::from(::std::clone::Clone::clone(value))
15138     }
15139 }
15140 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Debug3> for ID3D12Debug5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug3>15141     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug3> {
15142         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Debug3>::into(self))
15143     }
15144 }
15145 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Debug3> for &ID3D12Debug5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug3>15146     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug3> {
15147         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Debug3>::into(::std::clone::Clone::clone(self)))
15148     }
15149 }
15150 impl ::std::convert::From<ID3D12Debug5> for ID3D12Debug {
from(value: ID3D12Debug5) -> Self15151     fn from(value: ID3D12Debug5) -> Self {
15152         unsafe { ::std::mem::transmute(value) }
15153     }
15154 }
15155 impl ::std::convert::From<&ID3D12Debug5> for ID3D12Debug {
from(value: &ID3D12Debug5) -> Self15156     fn from(value: &ID3D12Debug5) -> Self {
15157         ::std::convert::From::from(::std::clone::Clone::clone(value))
15158     }
15159 }
15160 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Debug> for ID3D12Debug5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug>15161     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug> {
15162         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Debug>::into(self))
15163     }
15164 }
15165 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Debug> for &ID3D12Debug5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug>15166     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Debug> {
15167         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Debug>::into(::std::clone::Clone::clone(self)))
15168     }
15169 }
15170 #[repr(C)]
15171 #[doc(hidden)]
15172 pub struct ID3D12Debug5_abi(
15173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15176     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
15177     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL),
15178     #[cfg(not(feature = "Win32_Foundation"))] usize,
15179     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL),
15180     #[cfg(not(feature = "Win32_Foundation"))] usize,
15181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: D3D12_GPU_BASED_VALIDATION_FLAGS),
15182     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
15183     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL),
15184     #[cfg(not(feature = "Win32_Foundation"))] usize,
15185 );
15186 #[repr(transparent)]
15187 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15188 pub struct ID3D12DebugCommandList(::windows::runtime::IUnknown);
15189 impl ID3D12DebugCommandList {
15190     #[cfg(feature = "Win32_Foundation")]
AssertResourceState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, subresource: u32, state: u32) -> super::super::Foundation::BOOL15191     pub unsafe fn AssertResourceState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, subresource: u32, state: u32) -> super::super::Foundation::BOOL {
15192         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(subresource), ::std::mem::transmute(state)))
15193     }
SetFeatureMask(&self, mask: D3D12_DEBUG_FEATURE) -> ::windows::runtime::Result<()>15194     pub unsafe fn SetFeatureMask(&self, mask: D3D12_DEBUG_FEATURE) -> ::windows::runtime::Result<()> {
15195         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(mask)).ok()
15196     }
GetFeatureMask(&self) -> D3D12_DEBUG_FEATURE15197     pub unsafe fn GetFeatureMask(&self) -> D3D12_DEBUG_FEATURE {
15198         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)))
15199     }
15200 }
15201 unsafe impl ::windows::runtime::Interface for ID3D12DebugCommandList {
15202     type Vtable = ID3D12DebugCommandList_abi;
15203     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(165723958, 21676, 18511, [136, 71, 75, 174, 234, 182, 5, 63]);
15204 }
15205 impl ::std::convert::From<ID3D12DebugCommandList> for ::windows::runtime::IUnknown {
from(value: ID3D12DebugCommandList) -> Self15206     fn from(value: ID3D12DebugCommandList) -> Self {
15207         unsafe { ::std::mem::transmute(value) }
15208     }
15209 }
15210 impl ::std::convert::From<&ID3D12DebugCommandList> for ::windows::runtime::IUnknown {
from(value: &ID3D12DebugCommandList) -> Self15211     fn from(value: &ID3D12DebugCommandList) -> Self {
15212         ::std::convert::From::from(::std::clone::Clone::clone(value))
15213     }
15214 }
15215 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12DebugCommandList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15216     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15217         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15218     }
15219 }
15220 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12DebugCommandList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15221     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15222         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15223     }
15224 }
15225 #[repr(C)]
15226 #[doc(hidden)]
15227 pub struct ID3D12DebugCommandList_abi(
15228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15231     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, subresource: u32, state: u32) -> super::super::Foundation::BOOL,
15232     #[cfg(not(feature = "Win32_Foundation"))] usize,
15233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mask: D3D12_DEBUG_FEATURE) -> ::windows::runtime::HRESULT,
15234     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_DEBUG_FEATURE,
15235 );
15236 #[repr(transparent)]
15237 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15238 pub struct ID3D12DebugCommandList1(::windows::runtime::IUnknown);
15239 impl ID3D12DebugCommandList1 {
15240     #[cfg(feature = "Win32_Foundation")]
AssertResourceState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, subresource: u32, state: u32) -> super::super::Foundation::BOOL15241     pub unsafe fn AssertResourceState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, subresource: u32, state: u32) -> super::super::Foundation::BOOL {
15242         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(subresource), ::std::mem::transmute(state)))
15243     }
SetDebugParameter(&self, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *const ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()>15244     pub unsafe fn SetDebugParameter(&self, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *const ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()> {
15245         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), ::std::mem::transmute(pdata), ::std::mem::transmute(datasize)).ok()
15246     }
GetDebugParameter(&self, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *mut ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()>15247     pub unsafe fn GetDebugParameter(&self, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *mut ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()> {
15248         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), ::std::mem::transmute(pdata), ::std::mem::transmute(datasize)).ok()
15249     }
15250 }
15251 unsafe impl ::windows::runtime::Interface for ID3D12DebugCommandList1 {
15252     type Vtable = ID3D12DebugCommandList1_abi;
15253     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(271362385, 12571, 19201, [177, 31, 236, 184, 62, 6, 27, 55]);
15254 }
15255 impl ::std::convert::From<ID3D12DebugCommandList1> for ::windows::runtime::IUnknown {
from(value: ID3D12DebugCommandList1) -> Self15256     fn from(value: ID3D12DebugCommandList1) -> Self {
15257         unsafe { ::std::mem::transmute(value) }
15258     }
15259 }
15260 impl ::std::convert::From<&ID3D12DebugCommandList1> for ::windows::runtime::IUnknown {
from(value: &ID3D12DebugCommandList1) -> Self15261     fn from(value: &ID3D12DebugCommandList1) -> Self {
15262         ::std::convert::From::from(::std::clone::Clone::clone(value))
15263     }
15264 }
15265 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12DebugCommandList1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15266     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15267         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15268     }
15269 }
15270 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12DebugCommandList1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15271     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15272         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15273     }
15274 }
15275 #[repr(C)]
15276 #[doc(hidden)]
15277 pub struct ID3D12DebugCommandList1_abi(
15278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15281     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, subresource: u32, state: u32) -> super::super::Foundation::BOOL,
15282     #[cfg(not(feature = "Win32_Foundation"))] usize,
15283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *const ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::HRESULT,
15284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *mut ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::HRESULT,
15285 );
15286 #[repr(transparent)]
15287 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15288 pub struct ID3D12DebugCommandList2(::windows::runtime::IUnknown);
15289 impl ID3D12DebugCommandList2 {
15290     #[cfg(feature = "Win32_Foundation")]
AssertResourceState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, subresource: u32, state: u32) -> super::super::Foundation::BOOL15291     pub unsafe fn AssertResourceState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, subresource: u32, state: u32) -> super::super::Foundation::BOOL {
15292         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(subresource), ::std::mem::transmute(state)))
15293     }
SetFeatureMask(&self, mask: D3D12_DEBUG_FEATURE) -> ::windows::runtime::Result<()>15294     pub unsafe fn SetFeatureMask(&self, mask: D3D12_DEBUG_FEATURE) -> ::windows::runtime::Result<()> {
15295         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(mask)).ok()
15296     }
GetFeatureMask(&self) -> D3D12_DEBUG_FEATURE15297     pub unsafe fn GetFeatureMask(&self) -> D3D12_DEBUG_FEATURE {
15298         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)))
15299     }
SetDebugParameter(&self, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *const ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()>15300     pub unsafe fn SetDebugParameter(&self, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *const ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()> {
15301         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), ::std::mem::transmute(pdata), ::std::mem::transmute(datasize)).ok()
15302     }
GetDebugParameter(&self, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *mut ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()>15303     pub unsafe fn GetDebugParameter(&self, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *mut ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()> {
15304         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), ::std::mem::transmute(pdata), ::std::mem::transmute(datasize)).ok()
15305     }
15306 }
15307 unsafe impl ::windows::runtime::Interface for ID3D12DebugCommandList2 {
15308     type Vtable = ID3D12DebugCommandList2_abi;
15309     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2931127759, 19974, 18622, [186, 59, 196, 80, 252, 150, 101, 46]);
15310 }
15311 impl ::std::convert::From<ID3D12DebugCommandList2> for ::windows::runtime::IUnknown {
from(value: ID3D12DebugCommandList2) -> Self15312     fn from(value: ID3D12DebugCommandList2) -> Self {
15313         unsafe { ::std::mem::transmute(value) }
15314     }
15315 }
15316 impl ::std::convert::From<&ID3D12DebugCommandList2> for ::windows::runtime::IUnknown {
from(value: &ID3D12DebugCommandList2) -> Self15317     fn from(value: &ID3D12DebugCommandList2) -> Self {
15318         ::std::convert::From::from(::std::clone::Clone::clone(value))
15319     }
15320 }
15321 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12DebugCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15322     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15323         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15324     }
15325 }
15326 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12DebugCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15327     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15328         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15329     }
15330 }
15331 impl ::std::convert::From<ID3D12DebugCommandList2> for ID3D12DebugCommandList {
from(value: ID3D12DebugCommandList2) -> Self15332     fn from(value: ID3D12DebugCommandList2) -> Self {
15333         unsafe { ::std::mem::transmute(value) }
15334     }
15335 }
15336 impl ::std::convert::From<&ID3D12DebugCommandList2> for ID3D12DebugCommandList {
from(value: &ID3D12DebugCommandList2) -> Self15337     fn from(value: &ID3D12DebugCommandList2) -> Self {
15338         ::std::convert::From::from(::std::clone::Clone::clone(value))
15339     }
15340 }
15341 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DebugCommandList> for ID3D12DebugCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DebugCommandList>15342     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DebugCommandList> {
15343         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DebugCommandList>::into(self))
15344     }
15345 }
15346 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DebugCommandList> for &ID3D12DebugCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DebugCommandList>15347     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DebugCommandList> {
15348         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DebugCommandList>::into(::std::clone::Clone::clone(self)))
15349     }
15350 }
15351 #[repr(C)]
15352 #[doc(hidden)]
15353 pub struct ID3D12DebugCommandList2_abi(
15354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15355     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15356     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15357     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, subresource: u32, state: u32) -> super::super::Foundation::BOOL,
15358     #[cfg(not(feature = "Win32_Foundation"))] usize,
15359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mask: D3D12_DEBUG_FEATURE) -> ::windows::runtime::HRESULT,
15360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_DEBUG_FEATURE,
15361     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *const ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::HRESULT,
15362     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *mut ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::HRESULT,
15363 );
15364 #[repr(transparent)]
15365 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15366 pub struct ID3D12DebugCommandQueue(::windows::runtime::IUnknown);
15367 impl ID3D12DebugCommandQueue {
15368     #[cfg(feature = "Win32_Foundation")]
AssertResourceState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, subresource: u32, state: u32) -> super::super::Foundation::BOOL15369     pub unsafe fn AssertResourceState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, subresource: u32, state: u32) -> super::super::Foundation::BOOL {
15370         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(subresource), ::std::mem::transmute(state)))
15371     }
15372 }
15373 unsafe impl ::windows::runtime::Interface for ID3D12DebugCommandQueue {
15374     type Vtable = ID3D12DebugCommandQueue_abi;
15375     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(165723958, 21676, 18511, [136, 71, 75, 174, 234, 182, 5, 58]);
15376 }
15377 impl ::std::convert::From<ID3D12DebugCommandQueue> for ::windows::runtime::IUnknown {
from(value: ID3D12DebugCommandQueue) -> Self15378     fn from(value: ID3D12DebugCommandQueue) -> Self {
15379         unsafe { ::std::mem::transmute(value) }
15380     }
15381 }
15382 impl ::std::convert::From<&ID3D12DebugCommandQueue> for ::windows::runtime::IUnknown {
from(value: &ID3D12DebugCommandQueue) -> Self15383     fn from(value: &ID3D12DebugCommandQueue) -> Self {
15384         ::std::convert::From::from(::std::clone::Clone::clone(value))
15385     }
15386 }
15387 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12DebugCommandQueue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15388     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15389         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15390     }
15391 }
15392 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12DebugCommandQueue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15393     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15394         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15395     }
15396 }
15397 #[repr(C)]
15398 #[doc(hidden)]
15399 pub struct ID3D12DebugCommandQueue_abi(
15400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15403     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, subresource: u32, state: u32) -> super::super::Foundation::BOOL,
15404     #[cfg(not(feature = "Win32_Foundation"))] usize,
15405 );
15406 #[repr(transparent)]
15407 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15408 pub struct ID3D12DebugDevice(::windows::runtime::IUnknown);
15409 impl ID3D12DebugDevice {
SetFeatureMask(&self, mask: D3D12_DEBUG_FEATURE) -> ::windows::runtime::Result<()>15410     pub unsafe fn SetFeatureMask(&self, mask: D3D12_DEBUG_FEATURE) -> ::windows::runtime::Result<()> {
15411         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(mask)).ok()
15412     }
GetFeatureMask(&self) -> D3D12_DEBUG_FEATURE15413     pub unsafe fn GetFeatureMask(&self) -> D3D12_DEBUG_FEATURE {
15414         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)))
15415     }
ReportLiveDeviceObjects(&self, flags: D3D12_RLDO_FLAGS) -> ::windows::runtime::Result<()>15416     pub unsafe fn ReportLiveDeviceObjects(&self, flags: D3D12_RLDO_FLAGS) -> ::windows::runtime::Result<()> {
15417         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)).ok()
15418     }
15419 }
15420 unsafe impl ::windows::runtime::Interface for ID3D12DebugDevice {
15421     type Vtable = ID3D12DebugDevice_abi;
15422     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1072420573, 18803, 18311, [129, 148, 228, 95, 158, 40, 146, 62]);
15423 }
15424 impl ::std::convert::From<ID3D12DebugDevice> for ::windows::runtime::IUnknown {
from(value: ID3D12DebugDevice) -> Self15425     fn from(value: ID3D12DebugDevice) -> Self {
15426         unsafe { ::std::mem::transmute(value) }
15427     }
15428 }
15429 impl ::std::convert::From<&ID3D12DebugDevice> for ::windows::runtime::IUnknown {
from(value: &ID3D12DebugDevice) -> Self15430     fn from(value: &ID3D12DebugDevice) -> Self {
15431         ::std::convert::From::from(::std::clone::Clone::clone(value))
15432     }
15433 }
15434 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12DebugDevice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15435     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15436         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15437     }
15438 }
15439 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12DebugDevice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15440     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15441         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15442     }
15443 }
15444 #[repr(C)]
15445 #[doc(hidden)]
15446 pub struct ID3D12DebugDevice_abi(
15447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mask: D3D12_DEBUG_FEATURE) -> ::windows::runtime::HRESULT,
15451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_DEBUG_FEATURE,
15452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: D3D12_RLDO_FLAGS) -> ::windows::runtime::HRESULT,
15453 );
15454 #[repr(transparent)]
15455 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15456 pub struct ID3D12DebugDevice1(::windows::runtime::IUnknown);
15457 impl ID3D12DebugDevice1 {
SetDebugParameter(&self, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *const ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()>15458     pub unsafe fn SetDebugParameter(&self, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *const ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()> {
15459         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), ::std::mem::transmute(pdata), ::std::mem::transmute(datasize)).ok()
15460     }
GetDebugParameter(&self, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *mut ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()>15461     pub unsafe fn GetDebugParameter(&self, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *mut ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()> {
15462         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), ::std::mem::transmute(pdata), ::std::mem::transmute(datasize)).ok()
15463     }
ReportLiveDeviceObjects(&self, flags: D3D12_RLDO_FLAGS) -> ::windows::runtime::Result<()>15464     pub unsafe fn ReportLiveDeviceObjects(&self, flags: D3D12_RLDO_FLAGS) -> ::windows::runtime::Result<()> {
15465         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)).ok()
15466     }
15467 }
15468 unsafe impl ::windows::runtime::Interface for ID3D12DebugDevice1 {
15469     type Vtable = ID3D12DebugDevice1_abi;
15470     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2847348592, 53401, 19045, [166, 152, 61, 238, 16, 2, 15, 136]);
15471 }
15472 impl ::std::convert::From<ID3D12DebugDevice1> for ::windows::runtime::IUnknown {
from(value: ID3D12DebugDevice1) -> Self15473     fn from(value: ID3D12DebugDevice1) -> Self {
15474         unsafe { ::std::mem::transmute(value) }
15475     }
15476 }
15477 impl ::std::convert::From<&ID3D12DebugDevice1> for ::windows::runtime::IUnknown {
from(value: &ID3D12DebugDevice1) -> Self15478     fn from(value: &ID3D12DebugDevice1) -> Self {
15479         ::std::convert::From::from(::std::clone::Clone::clone(value))
15480     }
15481 }
15482 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12DebugDevice1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15483     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15484         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15485     }
15486 }
15487 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12DebugDevice1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15488     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15489         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15490     }
15491 }
15492 #[repr(C)]
15493 #[doc(hidden)]
15494 pub struct ID3D12DebugDevice1_abi(
15495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *const ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::HRESULT,
15499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *mut ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::HRESULT,
15500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: D3D12_RLDO_FLAGS) -> ::windows::runtime::HRESULT,
15501 );
15502 #[repr(transparent)]
15503 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15504 pub struct ID3D12DebugDevice2(::windows::runtime::IUnknown);
15505 impl ID3D12DebugDevice2 {
SetFeatureMask(&self, mask: D3D12_DEBUG_FEATURE) -> ::windows::runtime::Result<()>15506     pub unsafe fn SetFeatureMask(&self, mask: D3D12_DEBUG_FEATURE) -> ::windows::runtime::Result<()> {
15507         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(mask)).ok()
15508     }
GetFeatureMask(&self) -> D3D12_DEBUG_FEATURE15509     pub unsafe fn GetFeatureMask(&self) -> D3D12_DEBUG_FEATURE {
15510         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)))
15511     }
ReportLiveDeviceObjects(&self, flags: D3D12_RLDO_FLAGS) -> ::windows::runtime::Result<()>15512     pub unsafe fn ReportLiveDeviceObjects(&self, flags: D3D12_RLDO_FLAGS) -> ::windows::runtime::Result<()> {
15513         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)).ok()
15514     }
SetDebugParameter(&self, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *const ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()>15515     pub unsafe fn SetDebugParameter(&self, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *const ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()> {
15516         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), ::std::mem::transmute(pdata), ::std::mem::transmute(datasize)).ok()
15517     }
GetDebugParameter(&self, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *mut ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()>15518     pub unsafe fn GetDebugParameter(&self, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *mut ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::Result<()> {
15519         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), ::std::mem::transmute(pdata), ::std::mem::transmute(datasize)).ok()
15520     }
15521 }
15522 unsafe impl ::windows::runtime::Interface for ID3D12DebugDevice2 {
15523     type Vtable = ID3D12DebugDevice2_abi;
15524     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1626131393, 14221, 19953, [137, 76, 248, 172, 92, 228, 215, 221]);
15525 }
15526 impl ::std::convert::From<ID3D12DebugDevice2> for ::windows::runtime::IUnknown {
from(value: ID3D12DebugDevice2) -> Self15527     fn from(value: ID3D12DebugDevice2) -> Self {
15528         unsafe { ::std::mem::transmute(value) }
15529     }
15530 }
15531 impl ::std::convert::From<&ID3D12DebugDevice2> for ::windows::runtime::IUnknown {
from(value: &ID3D12DebugDevice2) -> Self15532     fn from(value: &ID3D12DebugDevice2) -> Self {
15533         ::std::convert::From::from(::std::clone::Clone::clone(value))
15534     }
15535 }
15536 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12DebugDevice2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15537     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15538         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15539     }
15540 }
15541 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12DebugDevice2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15542     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15543         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15544     }
15545 }
15546 impl ::std::convert::From<ID3D12DebugDevice2> for ID3D12DebugDevice {
from(value: ID3D12DebugDevice2) -> Self15547     fn from(value: ID3D12DebugDevice2) -> Self {
15548         unsafe { ::std::mem::transmute(value) }
15549     }
15550 }
15551 impl ::std::convert::From<&ID3D12DebugDevice2> for ID3D12DebugDevice {
from(value: &ID3D12DebugDevice2) -> Self15552     fn from(value: &ID3D12DebugDevice2) -> Self {
15553         ::std::convert::From::from(::std::clone::Clone::clone(value))
15554     }
15555 }
15556 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DebugDevice> for ID3D12DebugDevice2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DebugDevice>15557     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DebugDevice> {
15558         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DebugDevice>::into(self))
15559     }
15560 }
15561 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DebugDevice> for &ID3D12DebugDevice2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DebugDevice>15562     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DebugDevice> {
15563         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DebugDevice>::into(::std::clone::Clone::clone(self)))
15564     }
15565 }
15566 #[repr(C)]
15567 #[doc(hidden)]
15568 pub struct ID3D12DebugDevice2_abi(
15569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mask: D3D12_DEBUG_FEATURE) -> ::windows::runtime::HRESULT,
15573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_DEBUG_FEATURE,
15574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: D3D12_RLDO_FLAGS) -> ::windows::runtime::HRESULT,
15575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *const ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::HRESULT,
15576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *mut ::std::ffi::c_void, datasize: u32) -> ::windows::runtime::HRESULT,
15577 );
15578 #[repr(transparent)]
15579 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15580 pub struct ID3D12DescriptorHeap(::windows::runtime::IUnknown);
15581 impl ID3D12DescriptorHeap {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>15582     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
15583         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
15584     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>15585     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
15586         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
15587     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>15588     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
15589         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
15590     }
15591     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>15592     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
15593         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
15594     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>15595     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
15596         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
15597     }
GetDesc(&self) -> D3D12_DESCRIPTOR_HEAP_DESC15598     pub unsafe fn GetDesc(&self) -> D3D12_DESCRIPTOR_HEAP_DESC {
15599         let mut result__: D3D12_DESCRIPTOR_HEAP_DESC = ::std::default::Default::default();
15600         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__);
15601         result__
15602     }
GetCPUDescriptorHandleForHeapStart(&self) -> D3D12_CPU_DESCRIPTOR_HANDLE15603     pub unsafe fn GetCPUDescriptorHandleForHeapStart(&self) -> D3D12_CPU_DESCRIPTOR_HANDLE {
15604         let mut result__: D3D12_CPU_DESCRIPTOR_HANDLE = ::std::default::Default::default();
15605         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__);
15606         result__
15607     }
GetGPUDescriptorHandleForHeapStart(&self) -> D3D12_GPU_DESCRIPTOR_HANDLE15608     pub unsafe fn GetGPUDescriptorHandleForHeapStart(&self) -> D3D12_GPU_DESCRIPTOR_HANDLE {
15609         let mut result__: D3D12_GPU_DESCRIPTOR_HANDLE = ::std::default::Default::default();
15610         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__);
15611         result__
15612     }
15613 }
15614 unsafe impl ::windows::runtime::Interface for ID3D12DescriptorHeap {
15615     type Vtable = ID3D12DescriptorHeap_abi;
15616     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2398832413, 24940, 20297, [144, 247, 18, 123, 183, 99, 250, 81]);
15617 }
15618 impl ::std::convert::From<ID3D12DescriptorHeap> for ::windows::runtime::IUnknown {
from(value: ID3D12DescriptorHeap) -> Self15619     fn from(value: ID3D12DescriptorHeap) -> Self {
15620         unsafe { ::std::mem::transmute(value) }
15621     }
15622 }
15623 impl ::std::convert::From<&ID3D12DescriptorHeap> for ::windows::runtime::IUnknown {
from(value: &ID3D12DescriptorHeap) -> Self15624     fn from(value: &ID3D12DescriptorHeap) -> Self {
15625         ::std::convert::From::from(::std::clone::Clone::clone(value))
15626     }
15627 }
15628 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12DescriptorHeap {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15629     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15630         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15631     }
15632 }
15633 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12DescriptorHeap {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15634     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15635         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15636     }
15637 }
15638 impl ::std::convert::From<ID3D12DescriptorHeap> for ID3D12Pageable {
from(value: ID3D12DescriptorHeap) -> Self15639     fn from(value: ID3D12DescriptorHeap) -> Self {
15640         unsafe { ::std::mem::transmute(value) }
15641     }
15642 }
15643 impl ::std::convert::From<&ID3D12DescriptorHeap> for ID3D12Pageable {
from(value: &ID3D12DescriptorHeap) -> Self15644     fn from(value: &ID3D12DescriptorHeap) -> Self {
15645         ::std::convert::From::from(::std::clone::Clone::clone(value))
15646     }
15647 }
15648 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for ID3D12DescriptorHeap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>15649     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
15650         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(self))
15651     }
15652 }
15653 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for &ID3D12DescriptorHeap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>15654     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
15655         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(::std::clone::Clone::clone(self)))
15656     }
15657 }
15658 impl ::std::convert::From<ID3D12DescriptorHeap> for ID3D12DeviceChild {
from(value: ID3D12DescriptorHeap) -> Self15659     fn from(value: ID3D12DescriptorHeap) -> Self {
15660         unsafe { ::std::mem::transmute(value) }
15661     }
15662 }
15663 impl ::std::convert::From<&ID3D12DescriptorHeap> for ID3D12DeviceChild {
from(value: &ID3D12DescriptorHeap) -> Self15664     fn from(value: &ID3D12DescriptorHeap) -> Self {
15665         ::std::convert::From::from(::std::clone::Clone::clone(value))
15666     }
15667 }
15668 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12DescriptorHeap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>15669     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
15670         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
15671     }
15672 }
15673 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12DescriptorHeap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>15674     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
15675         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
15676     }
15677 }
15678 impl ::std::convert::From<ID3D12DescriptorHeap> for ID3D12Object {
from(value: ID3D12DescriptorHeap) -> Self15679     fn from(value: ID3D12DescriptorHeap) -> Self {
15680         unsafe { ::std::mem::transmute(value) }
15681     }
15682 }
15683 impl ::std::convert::From<&ID3D12DescriptorHeap> for ID3D12Object {
from(value: &ID3D12DescriptorHeap) -> Self15684     fn from(value: &ID3D12DescriptorHeap) -> Self {
15685         ::std::convert::From::from(::std::clone::Clone::clone(value))
15686     }
15687 }
15688 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12DescriptorHeap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>15689     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
15690         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
15691     }
15692 }
15693 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12DescriptorHeap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>15694     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
15695         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
15696     }
15697 }
15698 #[repr(C)]
15699 #[doc(hidden)]
15700 pub struct ID3D12DescriptorHeap_abi(
15701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15707     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
15708     #[cfg(not(feature = "Win32_Foundation"))] usize,
15709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_DESCRIPTOR_HEAP_DESC),
15711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_CPU_DESCRIPTOR_HANDLE),
15712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_GPU_DESCRIPTOR_HANDLE),
15713 );
15714 #[repr(transparent)]
15715 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15716 pub struct ID3D12Device(::windows::runtime::IUnknown);
15717 impl ID3D12Device {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>15718     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
15719         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
15720     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>15721     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
15722         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
15723     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>15724     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
15725         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
15726     }
15727     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>15728     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
15729         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
15730     }
GetNodeCount(&self) -> u3215731     pub unsafe fn GetNodeCount(&self) -> u32 {
15732         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
15733     }
CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T>15734     pub unsafe fn CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T> {
15735         let mut result__ = ::std::option::Option::None;
15736         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
15737     }
CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T>15738     pub unsafe fn CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T> {
15739         let mut result__ = ::std::option::Option::None;
15740         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
15741     }
15742     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>15743     pub unsafe fn CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
15744         let mut result__ = ::std::option::Option::None;
15745         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
15746     }
CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>15747     pub unsafe fn CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
15748         let mut result__ = ::std::option::Option::None;
15749         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
15750     }
CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T>15751     pub unsafe fn CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T> {
15752         let mut result__ = ::std::option::Option::None;
15753         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
15754     }
CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()>15755     pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()> {
15756         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(feature), ::std::mem::transmute(pfeaturesupportdata), ::std::mem::transmute(featuresupportdatasize)).ok()
15757     }
CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T>15758     pub unsafe fn CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T> {
15759         let mut result__ = ::std::option::Option::None;
15760         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdescriptorheapdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
15761     }
GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u3215762     pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
15763         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(descriptorheaptype)))
15764     }
CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T>15765     pub unsafe fn CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T> {
15766         let mut result__ = ::std::option::Option::None;
15767         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(pblobwithrootsignature), ::std::mem::transmute(bloblengthinbytes), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
15768     }
CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1)15769     pub unsafe fn CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1) {
15770         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
15771     }
15772     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2)15773     pub unsafe fn CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2) {
15774         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
15775     }
15776     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3)15777     pub unsafe fn CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3) {
15778         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
15779     }
15780     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2)15781     pub unsafe fn CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2) {
15782         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
15783     }
15784     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2)15785     pub unsafe fn CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2) {
15786         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
15787     }
CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1)15788     pub unsafe fn CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1) {
15789         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
15790     }
CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)15791     pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
15792         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(
15793             ::std::mem::transmute_copy(self),
15794             ::std::mem::transmute(numdestdescriptorranges),
15795             ::std::mem::transmute(pdestdescriptorrangestarts),
15796             ::std::mem::transmute(pdestdescriptorrangesizes),
15797             ::std::mem::transmute(numsrcdescriptorranges),
15798             ::std::mem::transmute(psrcdescriptorrangestarts),
15799             ::std::mem::transmute(psrcdescriptorrangesizes),
15800             ::std::mem::transmute(descriptorheapstype),
15801         ))
15802     }
CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)15803     pub unsafe fn CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
15804         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptors), destdescriptorrangestart.into_param().abi(), srcdescriptorrangestart.into_param().abi(), ::std::mem::transmute(descriptorheapstype)))
15805     }
15806     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO15807     pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO {
15808         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
15809         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs));
15810         result__
15811     }
GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES15812     pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
15813         let mut result__: D3D12_HEAP_PROPERTIES = ::std::default::Default::default();
15814         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(nodemask), ::std::mem::transmute(heaptype));
15815         result__
15816     }
15817     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>15818     pub unsafe fn CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
15819         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(pheapproperties), ::std::mem::transmute(heapflags), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialresourcestate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
15820     }
CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>15821     pub unsafe fn CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
15822         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
15823     }
15824     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>15825     pub unsafe fn CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
15826         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), pheap.into_param().abi(), ::std::mem::transmute(heapoffset), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
15827     }
15828     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>15829     pub unsafe fn CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
15830         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
15831     }
15832     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>15833     pub unsafe fn CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
15834         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15835         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), pobject.into_param().abi(), ::std::mem::transmute(pattributes), ::std::mem::transmute(access), name.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
15836     }
15837     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>15838     pub unsafe fn OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
15839         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), nthandle.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
15840     }
15841     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>15842     pub unsafe fn OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
15843         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15844         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), name.into_param().abi(), ::std::mem::transmute(access), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
15845     }
MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>15846     pub unsafe fn MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
15847         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
15848     }
Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>15849     pub unsafe fn Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
15850         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
15851     }
CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T>15852     pub unsafe fn CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T> {
15853         let mut result__ = ::std::option::Option::None;
15854         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvalue), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
15855     }
GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()>15856     pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()> {
15857         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self)).ok()
15858     }
15859     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64)15860     pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64) {
15861         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(
15862             ::std::mem::transmute_copy(self),
15863             ::std::mem::transmute(presourcedesc),
15864             ::std::mem::transmute(firstsubresource),
15865             ::std::mem::transmute(numsubresources),
15866             ::std::mem::transmute(baseoffset),
15867             ::std::mem::transmute(playouts),
15868             ::std::mem::transmute(pnumrows),
15869             ::std::mem::transmute(prowsizeinbytes),
15870             ::std::mem::transmute(ptotalbytes),
15871         ))
15872     }
CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>15873     pub unsafe fn CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
15874         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
15875     }
15876     #[cfg(feature = "Win32_Foundation")]
SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()>15877     pub unsafe fn SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()> {
15878         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), enable.into_param().abi()).ok()
15879     }
CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>15880     pub unsafe fn CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
15881         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), prootsignature.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
15882     }
GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)15883     pub unsafe fn GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING) {
15884         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(
15885             ::std::mem::transmute_copy(self),
15886             ptiledresource.into_param().abi(),
15887             ::std::mem::transmute(pnumtilesforentireresource),
15888             ::std::mem::transmute(ppackedmipdesc),
15889             ::std::mem::transmute(pstandardtileshapefornonpackedmips),
15890             ::std::mem::transmute(pnumsubresourcetilings),
15891             ::std::mem::transmute(firstsubresourcetilingtoget),
15892             ::std::mem::transmute(psubresourcetilingsfornonpackedmips),
15893         ))
15894     }
15895     #[cfg(feature = "Win32_Foundation")]
GetAdapterLuid(&self) -> super::super::Foundation::LUID15896     pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
15897         let mut result__: super::super::Foundation::LUID = ::std::default::Default::default();
15898         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__);
15899         result__
15900     }
15901 }
15902 unsafe impl ::windows::runtime::Interface for ID3D12Device {
15903     type Vtable = ID3D12Device_abi;
15904     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(412621297, 7606, 19287, [190, 84, 24, 33, 51, 155, 133, 247]);
15905 }
15906 impl ::std::convert::From<ID3D12Device> for ::windows::runtime::IUnknown {
from(value: ID3D12Device) -> Self15907     fn from(value: ID3D12Device) -> Self {
15908         unsafe { ::std::mem::transmute(value) }
15909     }
15910 }
15911 impl ::std::convert::From<&ID3D12Device> for ::windows::runtime::IUnknown {
from(value: &ID3D12Device) -> Self15912     fn from(value: &ID3D12Device) -> Self {
15913         ::std::convert::From::from(::std::clone::Clone::clone(value))
15914     }
15915 }
15916 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Device {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15917     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15918         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15919     }
15920 }
15921 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Device {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15922     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15923         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15924     }
15925 }
15926 impl ::std::convert::From<ID3D12Device> for ID3D12Object {
from(value: ID3D12Device) -> Self15927     fn from(value: ID3D12Device) -> Self {
15928         unsafe { ::std::mem::transmute(value) }
15929     }
15930 }
15931 impl ::std::convert::From<&ID3D12Device> for ID3D12Object {
from(value: &ID3D12Device) -> Self15932     fn from(value: &ID3D12Device) -> Self {
15933         ::std::convert::From::from(::std::clone::Clone::clone(value))
15934     }
15935 }
15936 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Device {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>15937     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
15938         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
15939     }
15940 }
15941 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Device {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>15942     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
15943         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
15944     }
15945 }
15946 #[repr(C)]
15947 #[doc(hidden)]
15948 pub struct ID3D12Device_abi(
15949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15955     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
15956     #[cfg(not(feature = "Win32_Foundation"))] usize,
15957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15958     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_QUEUE_DESC, riid: *const ::windows::runtime::GUID, ppcommandqueue: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_COMMAND_LIST_TYPE, riid: *const ::windows::runtime::GUID, ppcommandallocator: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15960     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_GRAPHICS_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15961     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
15962     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_COMPUTE_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15963     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::HRESULT,
15965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32,
15967     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize, riid: *const ::windows::runtime::GUID, ppvrootsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15968     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
15969     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
15970     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
15971     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pcounterresource: ::windows::runtime::RawPtr, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
15972     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
15973     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
15974     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
15975     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
15976     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
15977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
15978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
15979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
15980     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC),
15981     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
15982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_HEAP_PROPERTIES, nodemask: u32, heaptype: D3D12_HEAP_TYPE),
15983     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15984     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
15985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15986     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheap: ::windows::runtime::RawPtr, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15987     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
15988     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15989     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
15990     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pobject: ::windows::runtime::RawPtr, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: super::super::Foundation::PWSTR, phandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
15991     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Security")))] usize,
15992     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nthandle: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15993     #[cfg(not(feature = "Win32_Foundation"))] usize,
15994     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR, access: u32, pnthandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
15995     #[cfg(not(feature = "Win32_Foundation"))] usize,
15996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvalue: u64, flags: D3D12_FENCE_FLAGS, riid: *const ::windows::runtime::GUID, ppfence: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16000     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64),
16001     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_QUERY_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16003     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16004     #[cfg(not(feature = "Win32_Foundation"))] usize,
16005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvcommandsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING),
16007     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::LUID),
16008     #[cfg(not(feature = "Win32_Foundation"))] usize,
16009 );
16010 #[repr(transparent)]
16011 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16012 pub struct ID3D12Device1(::windows::runtime::IUnknown);
16013 impl ID3D12Device1 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>16014     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
16015         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
16016     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>16017     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
16018         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
16019     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>16020     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
16021         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
16022     }
16023     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>16024     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
16025         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
16026     }
GetNodeCount(&self) -> u3216027     pub unsafe fn GetNodeCount(&self) -> u32 {
16028         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
16029     }
CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T>16030     pub unsafe fn CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T> {
16031         let mut result__ = ::std::option::Option::None;
16032         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16033     }
CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T>16034     pub unsafe fn CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T> {
16035         let mut result__ = ::std::option::Option::None;
16036         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16037     }
16038     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>16039     pub unsafe fn CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
16040         let mut result__ = ::std::option::Option::None;
16041         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16042     }
CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>16043     pub unsafe fn CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
16044         let mut result__ = ::std::option::Option::None;
16045         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16046     }
CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T>16047     pub unsafe fn CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T> {
16048         let mut result__ = ::std::option::Option::None;
16049         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16050     }
CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()>16051     pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()> {
16052         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(feature), ::std::mem::transmute(pfeaturesupportdata), ::std::mem::transmute(featuresupportdatasize)).ok()
16053     }
CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T>16054     pub unsafe fn CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T> {
16055         let mut result__ = ::std::option::Option::None;
16056         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdescriptorheapdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16057     }
GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u3216058     pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
16059         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(descriptorheaptype)))
16060     }
CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T>16061     pub unsafe fn CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T> {
16062         let mut result__ = ::std::option::Option::None;
16063         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(pblobwithrootsignature), ::std::mem::transmute(bloblengthinbytes), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16064     }
CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1)16065     pub unsafe fn CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1) {
16066         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16067     }
16068     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2)16069     pub unsafe fn CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2) {
16070         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16071     }
16072     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3)16073     pub unsafe fn CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3) {
16074         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16075     }
16076     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2)16077     pub unsafe fn CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2) {
16078         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16079     }
16080     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2)16081     pub unsafe fn CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2) {
16082         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16083     }
CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1)16084     pub unsafe fn CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1) {
16085         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16086     }
CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)16087     pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
16088         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(
16089             ::std::mem::transmute_copy(self),
16090             ::std::mem::transmute(numdestdescriptorranges),
16091             ::std::mem::transmute(pdestdescriptorrangestarts),
16092             ::std::mem::transmute(pdestdescriptorrangesizes),
16093             ::std::mem::transmute(numsrcdescriptorranges),
16094             ::std::mem::transmute(psrcdescriptorrangestarts),
16095             ::std::mem::transmute(psrcdescriptorrangesizes),
16096             ::std::mem::transmute(descriptorheapstype),
16097         ))
16098     }
CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)16099     pub unsafe fn CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
16100         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptors), destdescriptorrangestart.into_param().abi(), srcdescriptorrangestart.into_param().abi(), ::std::mem::transmute(descriptorheapstype)))
16101     }
16102     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO16103     pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO {
16104         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
16105         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs));
16106         result__
16107     }
GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES16108     pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
16109         let mut result__: D3D12_HEAP_PROPERTIES = ::std::default::Default::default();
16110         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(nodemask), ::std::mem::transmute(heaptype));
16111         result__
16112     }
16113     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16114     pub unsafe fn CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16115         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(pheapproperties), ::std::mem::transmute(heapflags), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialresourcestate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16116     }
CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16117     pub unsafe fn CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16118         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16119     }
16120     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16121     pub unsafe fn CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16122         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), pheap.into_param().abi(), ::std::mem::transmute(heapoffset), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16123     }
16124     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16125     pub unsafe fn CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16126         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16127     }
16128     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>16129     pub unsafe fn CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
16130         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16131         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), pobject.into_param().abi(), ::std::mem::transmute(pattributes), ::std::mem::transmute(access), name.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
16132     }
16133     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16134     pub unsafe fn OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16135         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), nthandle.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16136     }
16137     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>16138     pub unsafe fn OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
16139         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16140         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), name.into_param().abi(), ::std::mem::transmute(access), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
16141     }
MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>16142     pub unsafe fn MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
16143         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
16144     }
Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>16145     pub unsafe fn Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
16146         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
16147     }
CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T>16148     pub unsafe fn CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T> {
16149         let mut result__ = ::std::option::Option::None;
16150         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvalue), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16151     }
GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()>16152     pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()> {
16153         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self)).ok()
16154     }
16155     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64)16156     pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64) {
16157         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(
16158             ::std::mem::transmute_copy(self),
16159             ::std::mem::transmute(presourcedesc),
16160             ::std::mem::transmute(firstsubresource),
16161             ::std::mem::transmute(numsubresources),
16162             ::std::mem::transmute(baseoffset),
16163             ::std::mem::transmute(playouts),
16164             ::std::mem::transmute(pnumrows),
16165             ::std::mem::transmute(prowsizeinbytes),
16166             ::std::mem::transmute(ptotalbytes),
16167         ))
16168     }
CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16169     pub unsafe fn CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16170         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16171     }
16172     #[cfg(feature = "Win32_Foundation")]
SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()>16173     pub unsafe fn SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()> {
16174         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), enable.into_param().abi()).ok()
16175     }
CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16176     pub unsafe fn CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16177         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), prootsignature.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16178     }
GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)16179     pub unsafe fn GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING) {
16180         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(
16181             ::std::mem::transmute_copy(self),
16182             ptiledresource.into_param().abi(),
16183             ::std::mem::transmute(pnumtilesforentireresource),
16184             ::std::mem::transmute(ppackedmipdesc),
16185             ::std::mem::transmute(pstandardtileshapefornonpackedmips),
16186             ::std::mem::transmute(pnumsubresourcetilings),
16187             ::std::mem::transmute(firstsubresourcetilingtoget),
16188             ::std::mem::transmute(psubresourcetilingsfornonpackedmips),
16189         ))
16190     }
16191     #[cfg(feature = "Win32_Foundation")]
GetAdapterLuid(&self) -> super::super::Foundation::LUID16192     pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
16193         let mut result__: super::super::Foundation::LUID = ::std::default::Default::default();
16194         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__);
16195         result__
16196     }
CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T>16197     pub unsafe fn CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T> {
16198         let mut result__ = ::std::option::Option::None;
16199         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(plibraryblob), ::std::mem::transmute(bloblength), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16200     }
16201     #[cfg(feature = "Win32_Foundation")]
SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()>16202     pub unsafe fn SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()> {
16203         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppfences), ::std::mem::transmute(pfencevalues), ::std::mem::transmute(numfences), ::std::mem::transmute(flags), hevent.into_param().abi()).ok()
16204     }
SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()>16205     pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()> {
16206         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), ::std::mem::transmute(ppriorities)).ok()
16207     }
16208 }
16209 unsafe impl ::windows::runtime::Interface for ID3D12Device1 {
16210     type Vtable = ID3D12Device1_abi;
16211     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2007813760, 25486, 20069, [136, 149, 193, 242, 51, 134, 134, 62]);
16212 }
16213 impl ::std::convert::From<ID3D12Device1> for ::windows::runtime::IUnknown {
from(value: ID3D12Device1) -> Self16214     fn from(value: ID3D12Device1) -> Self {
16215         unsafe { ::std::mem::transmute(value) }
16216     }
16217 }
16218 impl ::std::convert::From<&ID3D12Device1> for ::windows::runtime::IUnknown {
from(value: &ID3D12Device1) -> Self16219     fn from(value: &ID3D12Device1) -> Self {
16220         ::std::convert::From::from(::std::clone::Clone::clone(value))
16221     }
16222 }
16223 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Device1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>16224     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16225         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16226     }
16227 }
16228 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Device1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>16229     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16230         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16231     }
16232 }
16233 impl ::std::convert::From<ID3D12Device1> for ID3D12Device {
from(value: ID3D12Device1) -> Self16234     fn from(value: ID3D12Device1) -> Self {
16235         unsafe { ::std::mem::transmute(value) }
16236     }
16237 }
16238 impl ::std::convert::From<&ID3D12Device1> for ID3D12Device {
from(value: &ID3D12Device1) -> Self16239     fn from(value: &ID3D12Device1) -> Self {
16240         ::std::convert::From::from(::std::clone::Clone::clone(value))
16241     }
16242 }
16243 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for ID3D12Device1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>16244     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
16245         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(self))
16246     }
16247 }
16248 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for &ID3D12Device1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>16249     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
16250         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(::std::clone::Clone::clone(self)))
16251     }
16252 }
16253 impl ::std::convert::From<ID3D12Device1> for ID3D12Object {
from(value: ID3D12Device1) -> Self16254     fn from(value: ID3D12Device1) -> Self {
16255         unsafe { ::std::mem::transmute(value) }
16256     }
16257 }
16258 impl ::std::convert::From<&ID3D12Device1> for ID3D12Object {
from(value: &ID3D12Device1) -> Self16259     fn from(value: &ID3D12Device1) -> Self {
16260         ::std::convert::From::from(::std::clone::Clone::clone(value))
16261     }
16262 }
16263 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Device1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>16264     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
16265         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
16266     }
16267 }
16268 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Device1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>16269     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
16270         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
16271     }
16272 }
16273 #[repr(C)]
16274 #[doc(hidden)]
16275 pub struct ID3D12Device1_abi(
16276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16282     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
16283     #[cfg(not(feature = "Win32_Foundation"))] usize,
16284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_QUEUE_DESC, riid: *const ::windows::runtime::GUID, ppcommandqueue: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_COMMAND_LIST_TYPE, riid: *const ::windows::runtime::GUID, ppcommandallocator: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16287     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_GRAPHICS_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16288     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
16289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_COMPUTE_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::HRESULT,
16292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32,
16294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize, riid: *const ::windows::runtime::GUID, ppvrootsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16295     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
16296     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
16297     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16298     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pcounterresource: ::windows::runtime::RawPtr, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
16299     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16300     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
16301     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16302     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
16303     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
16305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
16306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
16307     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC),
16308     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_HEAP_PROPERTIES, nodemask: u32, heaptype: D3D12_HEAP_TYPE),
16310     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16311     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16312     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16313     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheap: ::windows::runtime::RawPtr, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16314     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16315     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16316     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16317     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pobject: ::windows::runtime::RawPtr, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: super::super::Foundation::PWSTR, phandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
16318     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Security")))] usize,
16319     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nthandle: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16320     #[cfg(not(feature = "Win32_Foundation"))] usize,
16321     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR, access: u32, pnthandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
16322     #[cfg(not(feature = "Win32_Foundation"))] usize,
16323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvalue: u64, flags: D3D12_FENCE_FLAGS, riid: *const ::windows::runtime::GUID, ppfence: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16327     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64),
16328     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_QUERY_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16330     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16331     #[cfg(not(feature = "Win32_Foundation"))] usize,
16332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvcommandsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16333     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING),
16334     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::LUID),
16335     #[cfg(not(feature = "Win32_Foundation"))] usize,
16336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plibraryblob: *const ::std::ffi::c_void, bloblength: usize, riid: *const ::windows::runtime::GUID, pppipelinelibrary: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16337     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppfences: *const ::windows::runtime::RawPtr, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
16338     #[cfg(not(feature = "Win32_Foundation"))] usize,
16339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::HRESULT,
16340 );
16341 #[repr(transparent)]
16342 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16343 pub struct ID3D12Device2(::windows::runtime::IUnknown);
16344 impl ID3D12Device2 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>16345     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
16346         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
16347     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>16348     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
16349         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
16350     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>16351     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
16352         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
16353     }
16354     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>16355     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
16356         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
16357     }
GetNodeCount(&self) -> u3216358     pub unsafe fn GetNodeCount(&self) -> u32 {
16359         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
16360     }
CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T>16361     pub unsafe fn CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T> {
16362         let mut result__ = ::std::option::Option::None;
16363         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16364     }
CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T>16365     pub unsafe fn CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T> {
16366         let mut result__ = ::std::option::Option::None;
16367         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16368     }
16369     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>16370     pub unsafe fn CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
16371         let mut result__ = ::std::option::Option::None;
16372         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16373     }
CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>16374     pub unsafe fn CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
16375         let mut result__ = ::std::option::Option::None;
16376         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16377     }
CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T>16378     pub unsafe fn CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T> {
16379         let mut result__ = ::std::option::Option::None;
16380         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16381     }
CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()>16382     pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()> {
16383         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(feature), ::std::mem::transmute(pfeaturesupportdata), ::std::mem::transmute(featuresupportdatasize)).ok()
16384     }
CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T>16385     pub unsafe fn CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T> {
16386         let mut result__ = ::std::option::Option::None;
16387         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdescriptorheapdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16388     }
GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u3216389     pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
16390         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(descriptorheaptype)))
16391     }
CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T>16392     pub unsafe fn CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T> {
16393         let mut result__ = ::std::option::Option::None;
16394         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(pblobwithrootsignature), ::std::mem::transmute(bloblengthinbytes), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16395     }
CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1)16396     pub unsafe fn CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1) {
16397         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16398     }
16399     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2)16400     pub unsafe fn CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2) {
16401         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16402     }
16403     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3)16404     pub unsafe fn CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3) {
16405         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16406     }
16407     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2)16408     pub unsafe fn CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2) {
16409         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16410     }
16411     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2)16412     pub unsafe fn CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2) {
16413         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16414     }
CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1)16415     pub unsafe fn CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1) {
16416         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16417     }
CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)16418     pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
16419         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(
16420             ::std::mem::transmute_copy(self),
16421             ::std::mem::transmute(numdestdescriptorranges),
16422             ::std::mem::transmute(pdestdescriptorrangestarts),
16423             ::std::mem::transmute(pdestdescriptorrangesizes),
16424             ::std::mem::transmute(numsrcdescriptorranges),
16425             ::std::mem::transmute(psrcdescriptorrangestarts),
16426             ::std::mem::transmute(psrcdescriptorrangesizes),
16427             ::std::mem::transmute(descriptorheapstype),
16428         ))
16429     }
CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)16430     pub unsafe fn CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
16431         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptors), destdescriptorrangestart.into_param().abi(), srcdescriptorrangestart.into_param().abi(), ::std::mem::transmute(descriptorheapstype)))
16432     }
16433     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO16434     pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO {
16435         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
16436         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs));
16437         result__
16438     }
GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES16439     pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
16440         let mut result__: D3D12_HEAP_PROPERTIES = ::std::default::Default::default();
16441         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(nodemask), ::std::mem::transmute(heaptype));
16442         result__
16443     }
16444     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16445     pub unsafe fn CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16446         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(pheapproperties), ::std::mem::transmute(heapflags), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialresourcestate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16447     }
CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16448     pub unsafe fn CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16449         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16450     }
16451     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16452     pub unsafe fn CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16453         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), pheap.into_param().abi(), ::std::mem::transmute(heapoffset), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16454     }
16455     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16456     pub unsafe fn CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16457         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16458     }
16459     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>16460     pub unsafe fn CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
16461         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16462         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), pobject.into_param().abi(), ::std::mem::transmute(pattributes), ::std::mem::transmute(access), name.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
16463     }
16464     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16465     pub unsafe fn OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16466         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), nthandle.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16467     }
16468     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>16469     pub unsafe fn OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
16470         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16471         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), name.into_param().abi(), ::std::mem::transmute(access), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
16472     }
MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>16473     pub unsafe fn MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
16474         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
16475     }
Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>16476     pub unsafe fn Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
16477         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
16478     }
CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T>16479     pub unsafe fn CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T> {
16480         let mut result__ = ::std::option::Option::None;
16481         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvalue), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16482     }
GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()>16483     pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()> {
16484         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self)).ok()
16485     }
16486     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64)16487     pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64) {
16488         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(
16489             ::std::mem::transmute_copy(self),
16490             ::std::mem::transmute(presourcedesc),
16491             ::std::mem::transmute(firstsubresource),
16492             ::std::mem::transmute(numsubresources),
16493             ::std::mem::transmute(baseoffset),
16494             ::std::mem::transmute(playouts),
16495             ::std::mem::transmute(pnumrows),
16496             ::std::mem::transmute(prowsizeinbytes),
16497             ::std::mem::transmute(ptotalbytes),
16498         ))
16499     }
CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16500     pub unsafe fn CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16501         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16502     }
16503     #[cfg(feature = "Win32_Foundation")]
SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()>16504     pub unsafe fn SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()> {
16505         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), enable.into_param().abi()).ok()
16506     }
CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16507     pub unsafe fn CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16508         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), prootsignature.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16509     }
GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)16510     pub unsafe fn GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING) {
16511         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(
16512             ::std::mem::transmute_copy(self),
16513             ptiledresource.into_param().abi(),
16514             ::std::mem::transmute(pnumtilesforentireresource),
16515             ::std::mem::transmute(ppackedmipdesc),
16516             ::std::mem::transmute(pstandardtileshapefornonpackedmips),
16517             ::std::mem::transmute(pnumsubresourcetilings),
16518             ::std::mem::transmute(firstsubresourcetilingtoget),
16519             ::std::mem::transmute(psubresourcetilingsfornonpackedmips),
16520         ))
16521     }
16522     #[cfg(feature = "Win32_Foundation")]
GetAdapterLuid(&self) -> super::super::Foundation::LUID16523     pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
16524         let mut result__: super::super::Foundation::LUID = ::std::default::Default::default();
16525         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__);
16526         result__
16527     }
CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T>16528     pub unsafe fn CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T> {
16529         let mut result__ = ::std::option::Option::None;
16530         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(plibraryblob), ::std::mem::transmute(bloblength), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16531     }
16532     #[cfg(feature = "Win32_Foundation")]
SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()>16533     pub unsafe fn SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()> {
16534         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppfences), ::std::mem::transmute(pfencevalues), ::std::mem::transmute(numfences), ::std::mem::transmute(flags), hevent.into_param().abi()).ok()
16535     }
SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()>16536     pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()> {
16537         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), ::std::mem::transmute(ppriorities)).ok()
16538     }
CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T>16539     pub unsafe fn CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T> {
16540         let mut result__ = ::std::option::Option::None;
16541         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16542     }
16543 }
16544 unsafe impl ::windows::runtime::Interface for ID3D12Device2 {
16545     type Vtable = ID3D12Device2_abi;
16546     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(817538078, 45403, 18268, [160, 187, 26, 245, 197, 182, 67, 40]);
16547 }
16548 impl ::std::convert::From<ID3D12Device2> for ::windows::runtime::IUnknown {
from(value: ID3D12Device2) -> Self16549     fn from(value: ID3D12Device2) -> Self {
16550         unsafe { ::std::mem::transmute(value) }
16551     }
16552 }
16553 impl ::std::convert::From<&ID3D12Device2> for ::windows::runtime::IUnknown {
from(value: &ID3D12Device2) -> Self16554     fn from(value: &ID3D12Device2) -> Self {
16555         ::std::convert::From::from(::std::clone::Clone::clone(value))
16556     }
16557 }
16558 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Device2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>16559     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16560         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16561     }
16562 }
16563 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Device2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>16564     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16565         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16566     }
16567 }
16568 impl ::std::convert::From<ID3D12Device2> for ID3D12Device1 {
from(value: ID3D12Device2) -> Self16569     fn from(value: ID3D12Device2) -> Self {
16570         unsafe { ::std::mem::transmute(value) }
16571     }
16572 }
16573 impl ::std::convert::From<&ID3D12Device2> for ID3D12Device1 {
from(value: &ID3D12Device2) -> Self16574     fn from(value: &ID3D12Device2) -> Self {
16575         ::std::convert::From::from(::std::clone::Clone::clone(value))
16576     }
16577 }
16578 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for ID3D12Device2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>16579     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
16580         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(self))
16581     }
16582 }
16583 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for &ID3D12Device2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>16584     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
16585         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(::std::clone::Clone::clone(self)))
16586     }
16587 }
16588 impl ::std::convert::From<ID3D12Device2> for ID3D12Device {
from(value: ID3D12Device2) -> Self16589     fn from(value: ID3D12Device2) -> Self {
16590         unsafe { ::std::mem::transmute(value) }
16591     }
16592 }
16593 impl ::std::convert::From<&ID3D12Device2> for ID3D12Device {
from(value: &ID3D12Device2) -> Self16594     fn from(value: &ID3D12Device2) -> Self {
16595         ::std::convert::From::from(::std::clone::Clone::clone(value))
16596     }
16597 }
16598 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for ID3D12Device2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>16599     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
16600         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(self))
16601     }
16602 }
16603 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for &ID3D12Device2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>16604     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
16605         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(::std::clone::Clone::clone(self)))
16606     }
16607 }
16608 impl ::std::convert::From<ID3D12Device2> for ID3D12Object {
from(value: ID3D12Device2) -> Self16609     fn from(value: ID3D12Device2) -> Self {
16610         unsafe { ::std::mem::transmute(value) }
16611     }
16612 }
16613 impl ::std::convert::From<&ID3D12Device2> for ID3D12Object {
from(value: &ID3D12Device2) -> Self16614     fn from(value: &ID3D12Device2) -> Self {
16615         ::std::convert::From::from(::std::clone::Clone::clone(value))
16616     }
16617 }
16618 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Device2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>16619     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
16620         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
16621     }
16622 }
16623 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Device2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>16624     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
16625         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
16626     }
16627 }
16628 #[repr(C)]
16629 #[doc(hidden)]
16630 pub struct ID3D12Device2_abi(
16631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16634     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16636     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16637     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
16638     #[cfg(not(feature = "Win32_Foundation"))] usize,
16639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_QUEUE_DESC, riid: *const ::windows::runtime::GUID, ppcommandqueue: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_COMMAND_LIST_TYPE, riid: *const ::windows::runtime::GUID, ppcommandallocator: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16642     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_GRAPHICS_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16643     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
16644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_COMPUTE_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::HRESULT,
16647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32,
16649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize, riid: *const ::windows::runtime::GUID, ppvrootsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
16651     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
16652     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16653     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pcounterresource: ::windows::runtime::RawPtr, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
16654     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16655     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
16656     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16657     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
16658     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16659     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
16660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
16661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
16662     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC),
16663     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_HEAP_PROPERTIES, nodemask: u32, heaptype: D3D12_HEAP_TYPE),
16665     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16666     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16668     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheap: ::windows::runtime::RawPtr, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16669     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16670     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16671     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16672     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pobject: ::windows::runtime::RawPtr, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: super::super::Foundation::PWSTR, phandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
16673     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Security")))] usize,
16674     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nthandle: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16675     #[cfg(not(feature = "Win32_Foundation"))] usize,
16676     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR, access: u32, pnthandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
16677     #[cfg(not(feature = "Win32_Foundation"))] usize,
16678     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16679     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvalue: u64, flags: D3D12_FENCE_FLAGS, riid: *const ::windows::runtime::GUID, ppfence: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16682     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64),
16683     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
16684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_QUERY_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16685     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16686     #[cfg(not(feature = "Win32_Foundation"))] usize,
16687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvcommandsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING),
16689     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::LUID),
16690     #[cfg(not(feature = "Win32_Foundation"))] usize,
16691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plibraryblob: *const ::std::ffi::c_void, bloblength: usize, riid: *const ::windows::runtime::GUID, pppipelinelibrary: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16692     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppfences: *const ::windows::runtime::RawPtr, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
16693     #[cfg(not(feature = "Win32_Foundation"))] usize,
16694     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::HRESULT,
16695     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
16696 );
16697 #[repr(transparent)]
16698 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16699 pub struct ID3D12Device3(::windows::runtime::IUnknown);
16700 impl ID3D12Device3 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>16701     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
16702         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
16703     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>16704     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
16705         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
16706     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>16707     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
16708         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
16709     }
16710     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>16711     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
16712         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
16713     }
GetNodeCount(&self) -> u3216714     pub unsafe fn GetNodeCount(&self) -> u32 {
16715         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
16716     }
CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T>16717     pub unsafe fn CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T> {
16718         let mut result__ = ::std::option::Option::None;
16719         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16720     }
CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T>16721     pub unsafe fn CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T> {
16722         let mut result__ = ::std::option::Option::None;
16723         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16724     }
16725     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>16726     pub unsafe fn CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
16727         let mut result__ = ::std::option::Option::None;
16728         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16729     }
CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>16730     pub unsafe fn CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
16731         let mut result__ = ::std::option::Option::None;
16732         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16733     }
CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T>16734     pub unsafe fn CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T> {
16735         let mut result__ = ::std::option::Option::None;
16736         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16737     }
CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()>16738     pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()> {
16739         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(feature), ::std::mem::transmute(pfeaturesupportdata), ::std::mem::transmute(featuresupportdatasize)).ok()
16740     }
CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T>16741     pub unsafe fn CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T> {
16742         let mut result__ = ::std::option::Option::None;
16743         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdescriptorheapdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16744     }
GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u3216745     pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
16746         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(descriptorheaptype)))
16747     }
CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T>16748     pub unsafe fn CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T> {
16749         let mut result__ = ::std::option::Option::None;
16750         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(pblobwithrootsignature), ::std::mem::transmute(bloblengthinbytes), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16751     }
CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1)16752     pub unsafe fn CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1) {
16753         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16754     }
16755     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2)16756     pub unsafe fn CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2) {
16757         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16758     }
16759     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3)16760     pub unsafe fn CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3) {
16761         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16762     }
16763     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2)16764     pub unsafe fn CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2) {
16765         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16766     }
16767     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2)16768     pub unsafe fn CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2) {
16769         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16770     }
CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1)16771     pub unsafe fn CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1) {
16772         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
16773     }
CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)16774     pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
16775         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(
16776             ::std::mem::transmute_copy(self),
16777             ::std::mem::transmute(numdestdescriptorranges),
16778             ::std::mem::transmute(pdestdescriptorrangestarts),
16779             ::std::mem::transmute(pdestdescriptorrangesizes),
16780             ::std::mem::transmute(numsrcdescriptorranges),
16781             ::std::mem::transmute(psrcdescriptorrangestarts),
16782             ::std::mem::transmute(psrcdescriptorrangesizes),
16783             ::std::mem::transmute(descriptorheapstype),
16784         ))
16785     }
CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)16786     pub unsafe fn CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
16787         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptors), destdescriptorrangestart.into_param().abi(), srcdescriptorrangestart.into_param().abi(), ::std::mem::transmute(descriptorheapstype)))
16788     }
16789     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO16790     pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO {
16791         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
16792         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs));
16793         result__
16794     }
GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES16795     pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
16796         let mut result__: D3D12_HEAP_PROPERTIES = ::std::default::Default::default();
16797         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(nodemask), ::std::mem::transmute(heaptype));
16798         result__
16799     }
16800     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16801     pub unsafe fn CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16802         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(pheapproperties), ::std::mem::transmute(heapflags), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialresourcestate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16803     }
CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16804     pub unsafe fn CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16805         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16806     }
16807     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16808     pub unsafe fn CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16809         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), pheap.into_param().abi(), ::std::mem::transmute(heapoffset), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16810     }
16811     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16812     pub unsafe fn CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16813         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16814     }
16815     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>16816     pub unsafe fn CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
16817         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16818         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), pobject.into_param().abi(), ::std::mem::transmute(pattributes), ::std::mem::transmute(access), name.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
16819     }
16820     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16821     pub unsafe fn OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16822         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), nthandle.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16823     }
16824     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>16825     pub unsafe fn OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
16826         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16827         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), name.into_param().abi(), ::std::mem::transmute(access), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
16828     }
MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>16829     pub unsafe fn MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
16830         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
16831     }
Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>16832     pub unsafe fn Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
16833         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
16834     }
CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T>16835     pub unsafe fn CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T> {
16836         let mut result__ = ::std::option::Option::None;
16837         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvalue), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16838     }
GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()>16839     pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()> {
16840         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self)).ok()
16841     }
16842     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64)16843     pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64) {
16844         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(
16845             ::std::mem::transmute_copy(self),
16846             ::std::mem::transmute(presourcedesc),
16847             ::std::mem::transmute(firstsubresource),
16848             ::std::mem::transmute(numsubresources),
16849             ::std::mem::transmute(baseoffset),
16850             ::std::mem::transmute(playouts),
16851             ::std::mem::transmute(pnumrows),
16852             ::std::mem::transmute(prowsizeinbytes),
16853             ::std::mem::transmute(ptotalbytes),
16854         ))
16855     }
CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16856     pub unsafe fn CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16857         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16858     }
16859     #[cfg(feature = "Win32_Foundation")]
SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()>16860     pub unsafe fn SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()> {
16861         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), enable.into_param().abi()).ok()
16862     }
CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>16863     pub unsafe fn CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
16864         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), prootsignature.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
16865     }
GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)16866     pub unsafe fn GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING) {
16867         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(
16868             ::std::mem::transmute_copy(self),
16869             ptiledresource.into_param().abi(),
16870             ::std::mem::transmute(pnumtilesforentireresource),
16871             ::std::mem::transmute(ppackedmipdesc),
16872             ::std::mem::transmute(pstandardtileshapefornonpackedmips),
16873             ::std::mem::transmute(pnumsubresourcetilings),
16874             ::std::mem::transmute(firstsubresourcetilingtoget),
16875             ::std::mem::transmute(psubresourcetilingsfornonpackedmips),
16876         ))
16877     }
16878     #[cfg(feature = "Win32_Foundation")]
GetAdapterLuid(&self) -> super::super::Foundation::LUID16879     pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
16880         let mut result__: super::super::Foundation::LUID = ::std::default::Default::default();
16881         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__);
16882         result__
16883     }
CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T>16884     pub unsafe fn CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T> {
16885         let mut result__ = ::std::option::Option::None;
16886         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(plibraryblob), ::std::mem::transmute(bloblength), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16887     }
16888     #[cfg(feature = "Win32_Foundation")]
SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()>16889     pub unsafe fn SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()> {
16890         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppfences), ::std::mem::transmute(pfencevalues), ::std::mem::transmute(numfences), ::std::mem::transmute(flags), hevent.into_param().abi()).ok()
16891     }
SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()>16892     pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()> {
16893         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), ::std::mem::transmute(ppriorities)).ok()
16894     }
CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T>16895     pub unsafe fn CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T> {
16896         let mut result__ = ::std::option::Option::None;
16897         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16898     }
OpenExistingHeapFromAddress<T: ::windows::runtime::Interface>(&self, paddress: *const ::std::ffi::c_void) -> ::windows::runtime::Result<T>16899     pub unsafe fn OpenExistingHeapFromAddress<T: ::windows::runtime::Interface>(&self, paddress: *const ::std::ffi::c_void) -> ::windows::runtime::Result<T> {
16900         let mut result__ = ::std::option::Option::None;
16901         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), ::std::mem::transmute(paddress), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16902     }
16903     #[cfg(feature = "Win32_Foundation")]
OpenExistingHeapFromFileMapping<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, hfilemapping: Param0) -> ::windows::runtime::Result<T>16904     pub unsafe fn OpenExistingHeapFromFileMapping<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, hfilemapping: Param0) -> ::windows::runtime::Result<T> {
16905         let mut result__ = ::std::option::Option::None;
16906         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), hfilemapping.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
16907     }
EnqueueMakeResident<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, pfencetosignal: Param3, fencevaluetosignal: u64) -> ::windows::runtime::Result<()>16908     pub unsafe fn EnqueueMakeResident<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, pfencetosignal: Param3, fencevaluetosignal: u64) -> ::windows::runtime::Result<()> {
16909         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), pfencetosignal.into_param().abi(), ::std::mem::transmute(fencevaluetosignal)).ok()
16910     }
16911 }
16912 unsafe impl ::windows::runtime::Interface for ID3D12Device3 {
16913     type Vtable = ID3D12Device3_abi;
16914     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2178604053, 11181, 17298, [147, 197, 16, 19, 69, 196, 170, 152]);
16915 }
16916 impl ::std::convert::From<ID3D12Device3> for ::windows::runtime::IUnknown {
from(value: ID3D12Device3) -> Self16917     fn from(value: ID3D12Device3) -> Self {
16918         unsafe { ::std::mem::transmute(value) }
16919     }
16920 }
16921 impl ::std::convert::From<&ID3D12Device3> for ::windows::runtime::IUnknown {
from(value: &ID3D12Device3) -> Self16922     fn from(value: &ID3D12Device3) -> Self {
16923         ::std::convert::From::from(::std::clone::Clone::clone(value))
16924     }
16925 }
16926 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Device3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>16927     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16928         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16929     }
16930 }
16931 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Device3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>16932     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16933         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16934     }
16935 }
16936 impl ::std::convert::From<ID3D12Device3> for ID3D12Device2 {
from(value: ID3D12Device3) -> Self16937     fn from(value: ID3D12Device3) -> Self {
16938         unsafe { ::std::mem::transmute(value) }
16939     }
16940 }
16941 impl ::std::convert::From<&ID3D12Device3> for ID3D12Device2 {
from(value: &ID3D12Device3) -> Self16942     fn from(value: &ID3D12Device3) -> Self {
16943         ::std::convert::From::from(::std::clone::Clone::clone(value))
16944     }
16945 }
16946 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device2> for ID3D12Device3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2>16947     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2> {
16948         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device2>::into(self))
16949     }
16950 }
16951 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device2> for &ID3D12Device3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2>16952     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2> {
16953         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device2>::into(::std::clone::Clone::clone(self)))
16954     }
16955 }
16956 impl ::std::convert::From<ID3D12Device3> for ID3D12Device1 {
from(value: ID3D12Device3) -> Self16957     fn from(value: ID3D12Device3) -> Self {
16958         unsafe { ::std::mem::transmute(value) }
16959     }
16960 }
16961 impl ::std::convert::From<&ID3D12Device3> for ID3D12Device1 {
from(value: &ID3D12Device3) -> Self16962     fn from(value: &ID3D12Device3) -> Self {
16963         ::std::convert::From::from(::std::clone::Clone::clone(value))
16964     }
16965 }
16966 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for ID3D12Device3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>16967     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
16968         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(self))
16969     }
16970 }
16971 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for &ID3D12Device3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>16972     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
16973         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(::std::clone::Clone::clone(self)))
16974     }
16975 }
16976 impl ::std::convert::From<ID3D12Device3> for ID3D12Device {
from(value: ID3D12Device3) -> Self16977     fn from(value: ID3D12Device3) -> Self {
16978         unsafe { ::std::mem::transmute(value) }
16979     }
16980 }
16981 impl ::std::convert::From<&ID3D12Device3> for ID3D12Device {
from(value: &ID3D12Device3) -> Self16982     fn from(value: &ID3D12Device3) -> Self {
16983         ::std::convert::From::from(::std::clone::Clone::clone(value))
16984     }
16985 }
16986 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for ID3D12Device3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>16987     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
16988         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(self))
16989     }
16990 }
16991 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for &ID3D12Device3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>16992     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
16993         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(::std::clone::Clone::clone(self)))
16994     }
16995 }
16996 impl ::std::convert::From<ID3D12Device3> for ID3D12Object {
from(value: ID3D12Device3) -> Self16997     fn from(value: ID3D12Device3) -> Self {
16998         unsafe { ::std::mem::transmute(value) }
16999     }
17000 }
17001 impl ::std::convert::From<&ID3D12Device3> for ID3D12Object {
from(value: &ID3D12Device3) -> Self17002     fn from(value: &ID3D12Device3) -> Self {
17003         ::std::convert::From::from(::std::clone::Clone::clone(value))
17004     }
17005 }
17006 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Device3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>17007     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
17008         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
17009     }
17010 }
17011 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Device3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>17012     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
17013         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
17014     }
17015 }
17016 #[repr(C)]
17017 #[doc(hidden)]
17018 pub struct ID3D12Device3_abi(
17019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17025     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
17026     #[cfg(not(feature = "Win32_Foundation"))] usize,
17027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_QUEUE_DESC, riid: *const ::windows::runtime::GUID, ppcommandqueue: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_COMMAND_LIST_TYPE, riid: *const ::windows::runtime::GUID, ppcommandallocator: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17030     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_GRAPHICS_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17031     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
17032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_COMPUTE_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::HRESULT,
17035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32,
17037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize, riid: *const ::windows::runtime::GUID, ppvrootsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17039     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17040     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17041     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pcounterresource: ::windows::runtime::RawPtr, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17042     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17043     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17044     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17045     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17046     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
17049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
17050     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC),
17051     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_HEAP_PROPERTIES, nodemask: u32, heaptype: D3D12_HEAP_TYPE),
17053     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17054     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17055     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17056     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheap: ::windows::runtime::RawPtr, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17057     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17058     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17059     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17060     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pobject: ::windows::runtime::RawPtr, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: super::super::Foundation::PWSTR, phandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
17061     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Security")))] usize,
17062     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nthandle: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17063     #[cfg(not(feature = "Win32_Foundation"))] usize,
17064     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR, access: u32, pnthandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
17065     #[cfg(not(feature = "Win32_Foundation"))] usize,
17066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvalue: u64, flags: D3D12_FENCE_FLAGS, riid: *const ::windows::runtime::GUID, ppfence: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17070     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64),
17071     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_QUERY_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17073     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
17074     #[cfg(not(feature = "Win32_Foundation"))] usize,
17075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvcommandsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING),
17077     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::LUID),
17078     #[cfg(not(feature = "Win32_Foundation"))] usize,
17079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plibraryblob: *const ::std::ffi::c_void, bloblength: usize, riid: *const ::windows::runtime::GUID, pppipelinelibrary: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17080     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppfences: *const ::windows::runtime::RawPtr, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
17081     #[cfg(not(feature = "Win32_Foundation"))] usize,
17082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::HRESULT,
17083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17084     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddress: *const ::std::ffi::c_void, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17085     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hfilemapping: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17086     #[cfg(not(feature = "Win32_Foundation"))] usize,
17087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, pfencetosignal: ::windows::runtime::RawPtr, fencevaluetosignal: u64) -> ::windows::runtime::HRESULT,
17088 );
17089 #[repr(transparent)]
17090 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17091 pub struct ID3D12Device4(::windows::runtime::IUnknown);
17092 impl ID3D12Device4 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>17093     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
17094         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
17095     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>17096     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
17097         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
17098     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>17099     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
17100         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
17101     }
17102     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>17103     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
17104         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
17105     }
GetNodeCount(&self) -> u3217106     pub unsafe fn GetNodeCount(&self) -> u32 {
17107         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
17108     }
CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T>17109     pub unsafe fn CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T> {
17110         let mut result__ = ::std::option::Option::None;
17111         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17112     }
CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T>17113     pub unsafe fn CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T> {
17114         let mut result__ = ::std::option::Option::None;
17115         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17116     }
17117     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>17118     pub unsafe fn CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
17119         let mut result__ = ::std::option::Option::None;
17120         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17121     }
CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>17122     pub unsafe fn CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
17123         let mut result__ = ::std::option::Option::None;
17124         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17125     }
CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T>17126     pub unsafe fn CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T> {
17127         let mut result__ = ::std::option::Option::None;
17128         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17129     }
CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()>17130     pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()> {
17131         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(feature), ::std::mem::transmute(pfeaturesupportdata), ::std::mem::transmute(featuresupportdatasize)).ok()
17132     }
CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T>17133     pub unsafe fn CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T> {
17134         let mut result__ = ::std::option::Option::None;
17135         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdescriptorheapdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17136     }
GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u3217137     pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
17138         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(descriptorheaptype)))
17139     }
CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T>17140     pub unsafe fn CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T> {
17141         let mut result__ = ::std::option::Option::None;
17142         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(pblobwithrootsignature), ::std::mem::transmute(bloblengthinbytes), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17143     }
CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1)17144     pub unsafe fn CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1) {
17145         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
17146     }
17147     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2)17148     pub unsafe fn CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2) {
17149         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
17150     }
17151     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3)17152     pub unsafe fn CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3) {
17153         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
17154     }
17155     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2)17156     pub unsafe fn CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2) {
17157         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
17158     }
17159     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2)17160     pub unsafe fn CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2) {
17161         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
17162     }
CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1)17163     pub unsafe fn CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1) {
17164         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
17165     }
CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)17166     pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
17167         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(
17168             ::std::mem::transmute_copy(self),
17169             ::std::mem::transmute(numdestdescriptorranges),
17170             ::std::mem::transmute(pdestdescriptorrangestarts),
17171             ::std::mem::transmute(pdestdescriptorrangesizes),
17172             ::std::mem::transmute(numsrcdescriptorranges),
17173             ::std::mem::transmute(psrcdescriptorrangestarts),
17174             ::std::mem::transmute(psrcdescriptorrangesizes),
17175             ::std::mem::transmute(descriptorheapstype),
17176         ))
17177     }
CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)17178     pub unsafe fn CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
17179         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptors), destdescriptorrangestart.into_param().abi(), srcdescriptorrangestart.into_param().abi(), ::std::mem::transmute(descriptorheapstype)))
17180     }
17181     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO17182     pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO {
17183         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
17184         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs));
17185         result__
17186     }
GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES17187     pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
17188         let mut result__: D3D12_HEAP_PROPERTIES = ::std::default::Default::default();
17189         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(nodemask), ::std::mem::transmute(heaptype));
17190         result__
17191     }
17192     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17193     pub unsafe fn CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17194         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(pheapproperties), ::std::mem::transmute(heapflags), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialresourcestate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17195     }
CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17196     pub unsafe fn CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17197         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17198     }
17199     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17200     pub unsafe fn CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17201         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), pheap.into_param().abi(), ::std::mem::transmute(heapoffset), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17202     }
17203     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17204     pub unsafe fn CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17205         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17206     }
17207     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>17208     pub unsafe fn CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
17209         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17210         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), pobject.into_param().abi(), ::std::mem::transmute(pattributes), ::std::mem::transmute(access), name.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
17211     }
17212     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17213     pub unsafe fn OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17214         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), nthandle.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17215     }
17216     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>17217     pub unsafe fn OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
17218         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17219         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), name.into_param().abi(), ::std::mem::transmute(access), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
17220     }
MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>17221     pub unsafe fn MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
17222         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
17223     }
Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>17224     pub unsafe fn Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
17225         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
17226     }
CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T>17227     pub unsafe fn CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T> {
17228         let mut result__ = ::std::option::Option::None;
17229         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvalue), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17230     }
GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()>17231     pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()> {
17232         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self)).ok()
17233     }
17234     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64)17235     pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64) {
17236         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(
17237             ::std::mem::transmute_copy(self),
17238             ::std::mem::transmute(presourcedesc),
17239             ::std::mem::transmute(firstsubresource),
17240             ::std::mem::transmute(numsubresources),
17241             ::std::mem::transmute(baseoffset),
17242             ::std::mem::transmute(playouts),
17243             ::std::mem::transmute(pnumrows),
17244             ::std::mem::transmute(prowsizeinbytes),
17245             ::std::mem::transmute(ptotalbytes),
17246         ))
17247     }
CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17248     pub unsafe fn CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17249         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17250     }
17251     #[cfg(feature = "Win32_Foundation")]
SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()>17252     pub unsafe fn SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()> {
17253         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), enable.into_param().abi()).ok()
17254     }
CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17255     pub unsafe fn CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17256         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), prootsignature.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17257     }
GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)17258     pub unsafe fn GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING) {
17259         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(
17260             ::std::mem::transmute_copy(self),
17261             ptiledresource.into_param().abi(),
17262             ::std::mem::transmute(pnumtilesforentireresource),
17263             ::std::mem::transmute(ppackedmipdesc),
17264             ::std::mem::transmute(pstandardtileshapefornonpackedmips),
17265             ::std::mem::transmute(pnumsubresourcetilings),
17266             ::std::mem::transmute(firstsubresourcetilingtoget),
17267             ::std::mem::transmute(psubresourcetilingsfornonpackedmips),
17268         ))
17269     }
17270     #[cfg(feature = "Win32_Foundation")]
GetAdapterLuid(&self) -> super::super::Foundation::LUID17271     pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
17272         let mut result__: super::super::Foundation::LUID = ::std::default::Default::default();
17273         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__);
17274         result__
17275     }
CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T>17276     pub unsafe fn CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T> {
17277         let mut result__ = ::std::option::Option::None;
17278         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(plibraryblob), ::std::mem::transmute(bloblength), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17279     }
17280     #[cfg(feature = "Win32_Foundation")]
SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()>17281     pub unsafe fn SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()> {
17282         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppfences), ::std::mem::transmute(pfencevalues), ::std::mem::transmute(numfences), ::std::mem::transmute(flags), hevent.into_param().abi()).ok()
17283     }
SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()>17284     pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()> {
17285         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), ::std::mem::transmute(ppriorities)).ok()
17286     }
CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T>17287     pub unsafe fn CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T> {
17288         let mut result__ = ::std::option::Option::None;
17289         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17290     }
OpenExistingHeapFromAddress<T: ::windows::runtime::Interface>(&self, paddress: *const ::std::ffi::c_void) -> ::windows::runtime::Result<T>17291     pub unsafe fn OpenExistingHeapFromAddress<T: ::windows::runtime::Interface>(&self, paddress: *const ::std::ffi::c_void) -> ::windows::runtime::Result<T> {
17292         let mut result__ = ::std::option::Option::None;
17293         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), ::std::mem::transmute(paddress), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17294     }
17295     #[cfg(feature = "Win32_Foundation")]
OpenExistingHeapFromFileMapping<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, hfilemapping: Param0) -> ::windows::runtime::Result<T>17296     pub unsafe fn OpenExistingHeapFromFileMapping<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, hfilemapping: Param0) -> ::windows::runtime::Result<T> {
17297         let mut result__ = ::std::option::Option::None;
17298         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), hfilemapping.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17299     }
EnqueueMakeResident<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, pfencetosignal: Param3, fencevaluetosignal: u64) -> ::windows::runtime::Result<()>17300     pub unsafe fn EnqueueMakeResident<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, pfencetosignal: Param3, fencevaluetosignal: u64) -> ::windows::runtime::Result<()> {
17301         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), pfencetosignal.into_param().abi(), ::std::mem::transmute(fencevaluetosignal)).ok()
17302     }
CreateCommandList1<T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows::runtime::Result<T>17303     pub unsafe fn CreateCommandList1<T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows::runtime::Result<T> {
17304         let mut result__ = ::std::option::Option::None;
17305         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17306     }
CreateProtectedResourceSession<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows::runtime::Result<T>17307     pub unsafe fn CreateProtectedResourceSession<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows::runtime::Result<T> {
17308         let mut result__ = ::std::option::Option::None;
17309         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17310     }
17311     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource1<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17312     pub unsafe fn CreateCommittedResource1<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17313         (::windows::runtime::Interface::vtable(self).53)(
17314             ::std::mem::transmute_copy(self),
17315             ::std::mem::transmute(pheapproperties),
17316             ::std::mem::transmute(heapflags),
17317             ::std::mem::transmute(pdesc),
17318             ::std::mem::transmute(initialresourcestate),
17319             ::std::mem::transmute(poptimizedclearvalue),
17320             pprotectedsession.into_param().abi(),
17321             &<T as ::windows::runtime::Interface>::IID,
17322             result__ as *mut _ as *mut _,
17323         )
17324         .ok()
17325     }
CreateHeap1<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17326     pub unsafe fn CreateHeap1<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17327         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), pprotectedsession.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17328     }
17329     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource1<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param3, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17330     pub unsafe fn CreateReservedResource1<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param3, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17331         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), pprotectedsession.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17332     }
17333     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO17334     pub unsafe fn GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO {
17335         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
17336         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs), ::std::mem::transmute(presourceallocationinfo1));
17337         result__
17338     }
17339 }
17340 unsafe impl ::windows::runtime::Interface for ID3D12Device4 {
17341     type Vtable = ID3D12Device4_abi;
17342     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3898990359, 43502, 18169, [164, 99, 48, 152, 49, 90, 162, 229]);
17343 }
17344 impl ::std::convert::From<ID3D12Device4> for ::windows::runtime::IUnknown {
from(value: ID3D12Device4) -> Self17345     fn from(value: ID3D12Device4) -> Self {
17346         unsafe { ::std::mem::transmute(value) }
17347     }
17348 }
17349 impl ::std::convert::From<&ID3D12Device4> for ::windows::runtime::IUnknown {
from(value: &ID3D12Device4) -> Self17350     fn from(value: &ID3D12Device4) -> Self {
17351         ::std::convert::From::from(::std::clone::Clone::clone(value))
17352     }
17353 }
17354 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Device4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>17355     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17356         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17357     }
17358 }
17359 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Device4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>17360     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17361         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17362     }
17363 }
17364 impl ::std::convert::From<ID3D12Device4> for ID3D12Device3 {
from(value: ID3D12Device4) -> Self17365     fn from(value: ID3D12Device4) -> Self {
17366         unsafe { ::std::mem::transmute(value) }
17367     }
17368 }
17369 impl ::std::convert::From<&ID3D12Device4> for ID3D12Device3 {
from(value: &ID3D12Device4) -> Self17370     fn from(value: &ID3D12Device4) -> Self {
17371         ::std::convert::From::from(::std::clone::Clone::clone(value))
17372     }
17373 }
17374 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device3> for ID3D12Device4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3>17375     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3> {
17376         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device3>::into(self))
17377     }
17378 }
17379 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device3> for &ID3D12Device4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3>17380     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3> {
17381         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device3>::into(::std::clone::Clone::clone(self)))
17382     }
17383 }
17384 impl ::std::convert::From<ID3D12Device4> for ID3D12Device2 {
from(value: ID3D12Device4) -> Self17385     fn from(value: ID3D12Device4) -> Self {
17386         unsafe { ::std::mem::transmute(value) }
17387     }
17388 }
17389 impl ::std::convert::From<&ID3D12Device4> for ID3D12Device2 {
from(value: &ID3D12Device4) -> Self17390     fn from(value: &ID3D12Device4) -> Self {
17391         ::std::convert::From::from(::std::clone::Clone::clone(value))
17392     }
17393 }
17394 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device2> for ID3D12Device4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2>17395     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2> {
17396         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device2>::into(self))
17397     }
17398 }
17399 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device2> for &ID3D12Device4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2>17400     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2> {
17401         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device2>::into(::std::clone::Clone::clone(self)))
17402     }
17403 }
17404 impl ::std::convert::From<ID3D12Device4> for ID3D12Device1 {
from(value: ID3D12Device4) -> Self17405     fn from(value: ID3D12Device4) -> Self {
17406         unsafe { ::std::mem::transmute(value) }
17407     }
17408 }
17409 impl ::std::convert::From<&ID3D12Device4> for ID3D12Device1 {
from(value: &ID3D12Device4) -> Self17410     fn from(value: &ID3D12Device4) -> Self {
17411         ::std::convert::From::from(::std::clone::Clone::clone(value))
17412     }
17413 }
17414 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for ID3D12Device4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>17415     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
17416         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(self))
17417     }
17418 }
17419 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for &ID3D12Device4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>17420     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
17421         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(::std::clone::Clone::clone(self)))
17422     }
17423 }
17424 impl ::std::convert::From<ID3D12Device4> for ID3D12Device {
from(value: ID3D12Device4) -> Self17425     fn from(value: ID3D12Device4) -> Self {
17426         unsafe { ::std::mem::transmute(value) }
17427     }
17428 }
17429 impl ::std::convert::From<&ID3D12Device4> for ID3D12Device {
from(value: &ID3D12Device4) -> Self17430     fn from(value: &ID3D12Device4) -> Self {
17431         ::std::convert::From::from(::std::clone::Clone::clone(value))
17432     }
17433 }
17434 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for ID3D12Device4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>17435     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
17436         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(self))
17437     }
17438 }
17439 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for &ID3D12Device4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>17440     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
17441         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(::std::clone::Clone::clone(self)))
17442     }
17443 }
17444 impl ::std::convert::From<ID3D12Device4> for ID3D12Object {
from(value: ID3D12Device4) -> Self17445     fn from(value: ID3D12Device4) -> Self {
17446         unsafe { ::std::mem::transmute(value) }
17447     }
17448 }
17449 impl ::std::convert::From<&ID3D12Device4> for ID3D12Object {
from(value: &ID3D12Device4) -> Self17450     fn from(value: &ID3D12Device4) -> Self {
17451         ::std::convert::From::from(::std::clone::Clone::clone(value))
17452     }
17453 }
17454 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Device4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>17455     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
17456         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
17457     }
17458 }
17459 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Device4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>17460     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
17461         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
17462     }
17463 }
17464 #[repr(C)]
17465 #[doc(hidden)]
17466 pub struct ID3D12Device4_abi(
17467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17471     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17473     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
17474     #[cfg(not(feature = "Win32_Foundation"))] usize,
17475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_QUEUE_DESC, riid: *const ::windows::runtime::GUID, ppcommandqueue: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_COMMAND_LIST_TYPE, riid: *const ::windows::runtime::GUID, ppcommandallocator: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17478     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_GRAPHICS_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17479     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
17480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_COMPUTE_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::HRESULT,
17483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32,
17485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize, riid: *const ::windows::runtime::GUID, ppvrootsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17487     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17488     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17489     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pcounterresource: ::windows::runtime::RawPtr, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17490     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17491     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17492     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17493     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17494     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
17497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
17498     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC),
17499     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_HEAP_PROPERTIES, nodemask: u32, heaptype: D3D12_HEAP_TYPE),
17501     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17502     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17503     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17504     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheap: ::windows::runtime::RawPtr, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17505     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17506     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17507     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17508     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pobject: ::windows::runtime::RawPtr, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: super::super::Foundation::PWSTR, phandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
17509     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Security")))] usize,
17510     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nthandle: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17511     #[cfg(not(feature = "Win32_Foundation"))] usize,
17512     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR, access: u32, pnthandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
17513     #[cfg(not(feature = "Win32_Foundation"))] usize,
17514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvalue: u64, flags: D3D12_FENCE_FLAGS, riid: *const ::windows::runtime::GUID, ppfence: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17518     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64),
17519     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_QUERY_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17521     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
17522     #[cfg(not(feature = "Win32_Foundation"))] usize,
17523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvcommandsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING),
17525     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::LUID),
17526     #[cfg(not(feature = "Win32_Foundation"))] usize,
17527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plibraryblob: *const ::std::ffi::c_void, bloblength: usize, riid: *const ::windows::runtime::GUID, pppipelinelibrary: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17528     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppfences: *const ::windows::runtime::RawPtr, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
17529     #[cfg(not(feature = "Win32_Foundation"))] usize,
17530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::HRESULT,
17531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddress: *const ::std::ffi::c_void, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17533     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hfilemapping: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17534     #[cfg(not(feature = "Win32_Foundation"))] usize,
17535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, pfencetosignal: ::windows::runtime::RawPtr, fencevaluetosignal: u64) -> ::windows::runtime::HRESULT,
17536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC, riid: *const ::windows::runtime::GUID, ppsession: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17538     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: ::windows::runtime::RawPtr, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17539     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17541     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17542     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17543     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1),
17544     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17545 );
17546 #[repr(transparent)]
17547 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17548 pub struct ID3D12Device5(::windows::runtime::IUnknown);
17549 impl ID3D12Device5 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>17550     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
17551         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
17552     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>17553     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
17554         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
17555     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>17556     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
17557         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
17558     }
17559     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>17560     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
17561         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
17562     }
GetNodeCount(&self) -> u3217563     pub unsafe fn GetNodeCount(&self) -> u32 {
17564         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
17565     }
CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T>17566     pub unsafe fn CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T> {
17567         let mut result__ = ::std::option::Option::None;
17568         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17569     }
CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T>17570     pub unsafe fn CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T> {
17571         let mut result__ = ::std::option::Option::None;
17572         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17573     }
17574     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>17575     pub unsafe fn CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
17576         let mut result__ = ::std::option::Option::None;
17577         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17578     }
CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>17579     pub unsafe fn CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
17580         let mut result__ = ::std::option::Option::None;
17581         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17582     }
CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T>17583     pub unsafe fn CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T> {
17584         let mut result__ = ::std::option::Option::None;
17585         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17586     }
CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()>17587     pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()> {
17588         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(feature), ::std::mem::transmute(pfeaturesupportdata), ::std::mem::transmute(featuresupportdatasize)).ok()
17589     }
CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T>17590     pub unsafe fn CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T> {
17591         let mut result__ = ::std::option::Option::None;
17592         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdescriptorheapdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17593     }
GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u3217594     pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
17595         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(descriptorheaptype)))
17596     }
CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T>17597     pub unsafe fn CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T> {
17598         let mut result__ = ::std::option::Option::None;
17599         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(pblobwithrootsignature), ::std::mem::transmute(bloblengthinbytes), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17600     }
CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1)17601     pub unsafe fn CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1) {
17602         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
17603     }
17604     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2)17605     pub unsafe fn CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2) {
17606         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
17607     }
17608     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3)17609     pub unsafe fn CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3) {
17610         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
17611     }
17612     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2)17613     pub unsafe fn CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2) {
17614         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
17615     }
17616     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2)17617     pub unsafe fn CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2) {
17618         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
17619     }
CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1)17620     pub unsafe fn CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1) {
17621         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
17622     }
CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)17623     pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
17624         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(
17625             ::std::mem::transmute_copy(self),
17626             ::std::mem::transmute(numdestdescriptorranges),
17627             ::std::mem::transmute(pdestdescriptorrangestarts),
17628             ::std::mem::transmute(pdestdescriptorrangesizes),
17629             ::std::mem::transmute(numsrcdescriptorranges),
17630             ::std::mem::transmute(psrcdescriptorrangestarts),
17631             ::std::mem::transmute(psrcdescriptorrangesizes),
17632             ::std::mem::transmute(descriptorheapstype),
17633         ))
17634     }
CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)17635     pub unsafe fn CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
17636         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptors), destdescriptorrangestart.into_param().abi(), srcdescriptorrangestart.into_param().abi(), ::std::mem::transmute(descriptorheapstype)))
17637     }
17638     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO17639     pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO {
17640         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
17641         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs));
17642         result__
17643     }
GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES17644     pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
17645         let mut result__: D3D12_HEAP_PROPERTIES = ::std::default::Default::default();
17646         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(nodemask), ::std::mem::transmute(heaptype));
17647         result__
17648     }
17649     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17650     pub unsafe fn CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17651         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(pheapproperties), ::std::mem::transmute(heapflags), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialresourcestate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17652     }
CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17653     pub unsafe fn CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17654         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17655     }
17656     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17657     pub unsafe fn CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17658         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), pheap.into_param().abi(), ::std::mem::transmute(heapoffset), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17659     }
17660     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17661     pub unsafe fn CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17662         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17663     }
17664     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>17665     pub unsafe fn CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
17666         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17667         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), pobject.into_param().abi(), ::std::mem::transmute(pattributes), ::std::mem::transmute(access), name.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
17668     }
17669     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17670     pub unsafe fn OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17671         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), nthandle.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17672     }
17673     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>17674     pub unsafe fn OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
17675         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17676         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), name.into_param().abi(), ::std::mem::transmute(access), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
17677     }
MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>17678     pub unsafe fn MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
17679         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
17680     }
Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>17681     pub unsafe fn Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
17682         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
17683     }
CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T>17684     pub unsafe fn CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T> {
17685         let mut result__ = ::std::option::Option::None;
17686         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvalue), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17687     }
GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()>17688     pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()> {
17689         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self)).ok()
17690     }
17691     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64)17692     pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64) {
17693         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(
17694             ::std::mem::transmute_copy(self),
17695             ::std::mem::transmute(presourcedesc),
17696             ::std::mem::transmute(firstsubresource),
17697             ::std::mem::transmute(numsubresources),
17698             ::std::mem::transmute(baseoffset),
17699             ::std::mem::transmute(playouts),
17700             ::std::mem::transmute(pnumrows),
17701             ::std::mem::transmute(prowsizeinbytes),
17702             ::std::mem::transmute(ptotalbytes),
17703         ))
17704     }
CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17705     pub unsafe fn CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17706         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17707     }
17708     #[cfg(feature = "Win32_Foundation")]
SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()>17709     pub unsafe fn SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()> {
17710         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), enable.into_param().abi()).ok()
17711     }
CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17712     pub unsafe fn CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17713         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), prootsignature.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17714     }
GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)17715     pub unsafe fn GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING) {
17716         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(
17717             ::std::mem::transmute_copy(self),
17718             ptiledresource.into_param().abi(),
17719             ::std::mem::transmute(pnumtilesforentireresource),
17720             ::std::mem::transmute(ppackedmipdesc),
17721             ::std::mem::transmute(pstandardtileshapefornonpackedmips),
17722             ::std::mem::transmute(pnumsubresourcetilings),
17723             ::std::mem::transmute(firstsubresourcetilingtoget),
17724             ::std::mem::transmute(psubresourcetilingsfornonpackedmips),
17725         ))
17726     }
17727     #[cfg(feature = "Win32_Foundation")]
GetAdapterLuid(&self) -> super::super::Foundation::LUID17728     pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
17729         let mut result__: super::super::Foundation::LUID = ::std::default::Default::default();
17730         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__);
17731         result__
17732     }
CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T>17733     pub unsafe fn CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T> {
17734         let mut result__ = ::std::option::Option::None;
17735         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(plibraryblob), ::std::mem::transmute(bloblength), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17736     }
17737     #[cfg(feature = "Win32_Foundation")]
SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()>17738     pub unsafe fn SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()> {
17739         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppfences), ::std::mem::transmute(pfencevalues), ::std::mem::transmute(numfences), ::std::mem::transmute(flags), hevent.into_param().abi()).ok()
17740     }
SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()>17741     pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()> {
17742         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), ::std::mem::transmute(ppriorities)).ok()
17743     }
CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T>17744     pub unsafe fn CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T> {
17745         let mut result__ = ::std::option::Option::None;
17746         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17747     }
OpenExistingHeapFromAddress<T: ::windows::runtime::Interface>(&self, paddress: *const ::std::ffi::c_void) -> ::windows::runtime::Result<T>17748     pub unsafe fn OpenExistingHeapFromAddress<T: ::windows::runtime::Interface>(&self, paddress: *const ::std::ffi::c_void) -> ::windows::runtime::Result<T> {
17749         let mut result__ = ::std::option::Option::None;
17750         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), ::std::mem::transmute(paddress), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17751     }
17752     #[cfg(feature = "Win32_Foundation")]
OpenExistingHeapFromFileMapping<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, hfilemapping: Param0) -> ::windows::runtime::Result<T>17753     pub unsafe fn OpenExistingHeapFromFileMapping<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, hfilemapping: Param0) -> ::windows::runtime::Result<T> {
17754         let mut result__ = ::std::option::Option::None;
17755         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), hfilemapping.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17756     }
EnqueueMakeResident<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, pfencetosignal: Param3, fencevaluetosignal: u64) -> ::windows::runtime::Result<()>17757     pub unsafe fn EnqueueMakeResident<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, pfencetosignal: Param3, fencevaluetosignal: u64) -> ::windows::runtime::Result<()> {
17758         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), pfencetosignal.into_param().abi(), ::std::mem::transmute(fencevaluetosignal)).ok()
17759     }
CreateCommandList1<T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows::runtime::Result<T>17760     pub unsafe fn CreateCommandList1<T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows::runtime::Result<T> {
17761         let mut result__ = ::std::option::Option::None;
17762         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17763     }
CreateProtectedResourceSession<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows::runtime::Result<T>17764     pub unsafe fn CreateProtectedResourceSession<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows::runtime::Result<T> {
17765         let mut result__ = ::std::option::Option::None;
17766         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17767     }
17768     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource1<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17769     pub unsafe fn CreateCommittedResource1<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17770         (::windows::runtime::Interface::vtable(self).53)(
17771             ::std::mem::transmute_copy(self),
17772             ::std::mem::transmute(pheapproperties),
17773             ::std::mem::transmute(heapflags),
17774             ::std::mem::transmute(pdesc),
17775             ::std::mem::transmute(initialresourcestate),
17776             ::std::mem::transmute(poptimizedclearvalue),
17777             pprotectedsession.into_param().abi(),
17778             &<T as ::windows::runtime::Interface>::IID,
17779             result__ as *mut _ as *mut _,
17780         )
17781         .ok()
17782     }
CreateHeap1<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17783     pub unsafe fn CreateHeap1<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17784         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), pprotectedsession.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17785     }
17786     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource1<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param3, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>17787     pub unsafe fn CreateReservedResource1<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param3, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
17788         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), pprotectedsession.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
17789     }
17790     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO17791     pub unsafe fn GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO {
17792         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
17793         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs), ::std::mem::transmute(presourceallocationinfo1));
17794         result__
17795     }
CreateLifetimeTracker<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12LifetimeOwner>, T: ::windows::runtime::Interface>(&self, powner: Param0) -> ::windows::runtime::Result<T>17796     pub unsafe fn CreateLifetimeTracker<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12LifetimeOwner>, T: ::windows::runtime::Interface>(&self, powner: Param0) -> ::windows::runtime::Result<T> {
17797         let mut result__ = ::std::option::Option::None;
17798         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), powner.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17799     }
RemoveDevice(&self)17800     pub unsafe fn RemoveDevice(&self) {
17801         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self)))
17802     }
17803     #[cfg(feature = "Win32_Foundation")]
EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows::runtime::Result<()>17804     pub unsafe fn EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows::runtime::Result<()> {
17805         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), ::std::mem::transmute(pnummetacommands), ::std::mem::transmute(pdescs)).ok()
17806     }
17807     #[cfg(feature = "Win32_Foundation")]
EnumerateMetaCommandParameters(&self, commandid: *const ::windows::runtime::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows::runtime::Result<()>17808     pub unsafe fn EnumerateMetaCommandParameters(&self, commandid: *const ::windows::runtime::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows::runtime::Result<()> {
17809         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), ::std::mem::transmute(commandid), ::std::mem::transmute(stage), ::std::mem::transmute(ptotalstructuresizeinbytes), ::std::mem::transmute(pparametercount), ::std::mem::transmute(pparameterdescs)).ok()
17810     }
CreateMetaCommand<T: ::windows::runtime::Interface>(&self, commandid: *const ::windows::runtime::GUID, nodemask: u32, pcreationparametersdata: *const ::std::ffi::c_void, creationparametersdatasizeinbytes: usize) -> ::windows::runtime::Result<T>17811     pub unsafe fn CreateMetaCommand<T: ::windows::runtime::Interface>(&self, commandid: *const ::windows::runtime::GUID, nodemask: u32, pcreationparametersdata: *const ::std::ffi::c_void, creationparametersdatasizeinbytes: usize) -> ::windows::runtime::Result<T> {
17812         let mut result__ = ::std::option::Option::None;
17813         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), ::std::mem::transmute(commandid), ::std::mem::transmute(nodemask), ::std::mem::transmute(pcreationparametersdata), ::std::mem::transmute(creationparametersdatasizeinbytes), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17814     }
CreateStateObject<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows::runtime::Result<T>17815     pub unsafe fn CreateStateObject<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows::runtime::Result<T> {
17816         let mut result__ = ::std::option::Option::None;
17817         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
17818     }
17819     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO)17820     pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) {
17821         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(pinfo)))
17822     }
CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS17823     pub unsafe fn CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
17824         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), ::std::mem::transmute(serializeddatatype), ::std::mem::transmute(pidentifiertocheck)))
17825     }
17826 }
17827 unsafe impl ::windows::runtime::Interface for ID3D12Device5 {
17828     type Vtable = ID3D12Device5_abi;
17829     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2337216315, 12266, 19328, [143, 88, 67, 7, 25, 26, 185, 93]);
17830 }
17831 impl ::std::convert::From<ID3D12Device5> for ::windows::runtime::IUnknown {
from(value: ID3D12Device5) -> Self17832     fn from(value: ID3D12Device5) -> Self {
17833         unsafe { ::std::mem::transmute(value) }
17834     }
17835 }
17836 impl ::std::convert::From<&ID3D12Device5> for ::windows::runtime::IUnknown {
from(value: &ID3D12Device5) -> Self17837     fn from(value: &ID3D12Device5) -> Self {
17838         ::std::convert::From::from(::std::clone::Clone::clone(value))
17839     }
17840 }
17841 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Device5 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>17842     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17843         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17844     }
17845 }
17846 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Device5 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>17847     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17848         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17849     }
17850 }
17851 impl ::std::convert::From<ID3D12Device5> for ID3D12Device4 {
from(value: ID3D12Device5) -> Self17852     fn from(value: ID3D12Device5) -> Self {
17853         unsafe { ::std::mem::transmute(value) }
17854     }
17855 }
17856 impl ::std::convert::From<&ID3D12Device5> for ID3D12Device4 {
from(value: &ID3D12Device5) -> Self17857     fn from(value: &ID3D12Device5) -> Self {
17858         ::std::convert::From::from(::std::clone::Clone::clone(value))
17859     }
17860 }
17861 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device4> for ID3D12Device5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4>17862     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4> {
17863         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device4>::into(self))
17864     }
17865 }
17866 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device4> for &ID3D12Device5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4>17867     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4> {
17868         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device4>::into(::std::clone::Clone::clone(self)))
17869     }
17870 }
17871 impl ::std::convert::From<ID3D12Device5> for ID3D12Device3 {
from(value: ID3D12Device5) -> Self17872     fn from(value: ID3D12Device5) -> Self {
17873         unsafe { ::std::mem::transmute(value) }
17874     }
17875 }
17876 impl ::std::convert::From<&ID3D12Device5> for ID3D12Device3 {
from(value: &ID3D12Device5) -> Self17877     fn from(value: &ID3D12Device5) -> Self {
17878         ::std::convert::From::from(::std::clone::Clone::clone(value))
17879     }
17880 }
17881 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device3> for ID3D12Device5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3>17882     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3> {
17883         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device3>::into(self))
17884     }
17885 }
17886 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device3> for &ID3D12Device5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3>17887     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3> {
17888         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device3>::into(::std::clone::Clone::clone(self)))
17889     }
17890 }
17891 impl ::std::convert::From<ID3D12Device5> for ID3D12Device2 {
from(value: ID3D12Device5) -> Self17892     fn from(value: ID3D12Device5) -> Self {
17893         unsafe { ::std::mem::transmute(value) }
17894     }
17895 }
17896 impl ::std::convert::From<&ID3D12Device5> for ID3D12Device2 {
from(value: &ID3D12Device5) -> Self17897     fn from(value: &ID3D12Device5) -> Self {
17898         ::std::convert::From::from(::std::clone::Clone::clone(value))
17899     }
17900 }
17901 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device2> for ID3D12Device5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2>17902     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2> {
17903         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device2>::into(self))
17904     }
17905 }
17906 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device2> for &ID3D12Device5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2>17907     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2> {
17908         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device2>::into(::std::clone::Clone::clone(self)))
17909     }
17910 }
17911 impl ::std::convert::From<ID3D12Device5> for ID3D12Device1 {
from(value: ID3D12Device5) -> Self17912     fn from(value: ID3D12Device5) -> Self {
17913         unsafe { ::std::mem::transmute(value) }
17914     }
17915 }
17916 impl ::std::convert::From<&ID3D12Device5> for ID3D12Device1 {
from(value: &ID3D12Device5) -> Self17917     fn from(value: &ID3D12Device5) -> Self {
17918         ::std::convert::From::from(::std::clone::Clone::clone(value))
17919     }
17920 }
17921 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for ID3D12Device5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>17922     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
17923         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(self))
17924     }
17925 }
17926 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for &ID3D12Device5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>17927     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
17928         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(::std::clone::Clone::clone(self)))
17929     }
17930 }
17931 impl ::std::convert::From<ID3D12Device5> for ID3D12Device {
from(value: ID3D12Device5) -> Self17932     fn from(value: ID3D12Device5) -> Self {
17933         unsafe { ::std::mem::transmute(value) }
17934     }
17935 }
17936 impl ::std::convert::From<&ID3D12Device5> for ID3D12Device {
from(value: &ID3D12Device5) -> Self17937     fn from(value: &ID3D12Device5) -> Self {
17938         ::std::convert::From::from(::std::clone::Clone::clone(value))
17939     }
17940 }
17941 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for ID3D12Device5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>17942     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
17943         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(self))
17944     }
17945 }
17946 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for &ID3D12Device5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>17947     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
17948         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(::std::clone::Clone::clone(self)))
17949     }
17950 }
17951 impl ::std::convert::From<ID3D12Device5> for ID3D12Object {
from(value: ID3D12Device5) -> Self17952     fn from(value: ID3D12Device5) -> Self {
17953         unsafe { ::std::mem::transmute(value) }
17954     }
17955 }
17956 impl ::std::convert::From<&ID3D12Device5> for ID3D12Object {
from(value: &ID3D12Device5) -> Self17957     fn from(value: &ID3D12Device5) -> Self {
17958         ::std::convert::From::from(::std::clone::Clone::clone(value))
17959     }
17960 }
17961 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Device5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>17962     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
17963         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
17964     }
17965 }
17966 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Device5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>17967     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
17968         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
17969     }
17970 }
17971 #[repr(C)]
17972 #[doc(hidden)]
17973 pub struct ID3D12Device5_abi(
17974     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17980     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
17981     #[cfg(not(feature = "Win32_Foundation"))] usize,
17982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_QUEUE_DESC, riid: *const ::windows::runtime::GUID, ppcommandqueue: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_COMMAND_LIST_TYPE, riid: *const ::windows::runtime::GUID, ppcommandallocator: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17985     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_GRAPHICS_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17986     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
17987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_COMPUTE_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::HRESULT,
17990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32,
17992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize, riid: *const ::windows::runtime::GUID, ppvrootsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
17993     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17994     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17995     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17996     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pcounterresource: ::windows::runtime::RawPtr, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17997     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
17998     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
17999     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18000     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
18001     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
18003     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
18004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
18005     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC),
18006     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_HEAP_PROPERTIES, nodemask: u32, heaptype: D3D12_HEAP_TYPE),
18008     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18009     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18010     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18011     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheap: ::windows::runtime::RawPtr, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18012     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18013     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18014     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18015     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pobject: ::windows::runtime::RawPtr, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: super::super::Foundation::PWSTR, phandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
18016     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Security")))] usize,
18017     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nthandle: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18018     #[cfg(not(feature = "Win32_Foundation"))] usize,
18019     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR, access: u32, pnthandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
18020     #[cfg(not(feature = "Win32_Foundation"))] usize,
18021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvalue: u64, flags: D3D12_FENCE_FLAGS, riid: *const ::windows::runtime::GUID, ppfence: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18025     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64),
18026     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_QUERY_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18028     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18029     #[cfg(not(feature = "Win32_Foundation"))] usize,
18030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvcommandsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING),
18032     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::LUID),
18033     #[cfg(not(feature = "Win32_Foundation"))] usize,
18034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plibraryblob: *const ::std::ffi::c_void, bloblength: usize, riid: *const ::windows::runtime::GUID, pppipelinelibrary: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18035     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppfences: *const ::windows::runtime::RawPtr, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
18036     #[cfg(not(feature = "Win32_Foundation"))] usize,
18037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::HRESULT,
18038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddress: *const ::std::ffi::c_void, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18040     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hfilemapping: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18041     #[cfg(not(feature = "Win32_Foundation"))] usize,
18042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, pfencetosignal: ::windows::runtime::RawPtr, fencevaluetosignal: u64) -> ::windows::runtime::HRESULT,
18043     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18044     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC, riid: *const ::windows::runtime::GUID, ppsession: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18045     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: ::windows::runtime::RawPtr, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18046     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18048     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18049     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18050     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1),
18051     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, powner: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvtracker: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
18054     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows::runtime::HRESULT,
18055     #[cfg(not(feature = "Win32_Foundation"))] usize,
18056     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandid: *const ::windows::runtime::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows::runtime::HRESULT,
18057     #[cfg(not(feature = "Win32_Foundation"))] usize,
18058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandid: *const ::windows::runtime::GUID, nodemask: u32, pcreationparametersdata: *const ::std::ffi::c_void, creationparametersdatasizeinbytes: usize, riid: *const ::windows::runtime::GUID, ppmetacommand: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_STATE_OBJECT_DESC, riid: *const ::windows::runtime::GUID, ppstateobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18060     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO),
18061     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS,
18063 );
18064 #[repr(transparent)]
18065 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
18066 pub struct ID3D12Device6(::windows::runtime::IUnknown);
18067 impl ID3D12Device6 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>18068     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
18069         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
18070     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>18071     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
18072         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
18073     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>18074     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
18075         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
18076     }
18077     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>18078     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
18079         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
18080     }
GetNodeCount(&self) -> u3218081     pub unsafe fn GetNodeCount(&self) -> u32 {
18082         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
18083     }
CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T>18084     pub unsafe fn CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T> {
18085         let mut result__ = ::std::option::Option::None;
18086         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18087     }
CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T>18088     pub unsafe fn CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T> {
18089         let mut result__ = ::std::option::Option::None;
18090         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18091     }
18092     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>18093     pub unsafe fn CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
18094         let mut result__ = ::std::option::Option::None;
18095         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18096     }
CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>18097     pub unsafe fn CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
18098         let mut result__ = ::std::option::Option::None;
18099         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18100     }
CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T>18101     pub unsafe fn CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T> {
18102         let mut result__ = ::std::option::Option::None;
18103         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18104     }
CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()>18105     pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()> {
18106         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(feature), ::std::mem::transmute(pfeaturesupportdata), ::std::mem::transmute(featuresupportdatasize)).ok()
18107     }
CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T>18108     pub unsafe fn CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T> {
18109         let mut result__ = ::std::option::Option::None;
18110         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdescriptorheapdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18111     }
GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u3218112     pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
18113         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(descriptorheaptype)))
18114     }
CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T>18115     pub unsafe fn CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T> {
18116         let mut result__ = ::std::option::Option::None;
18117         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(pblobwithrootsignature), ::std::mem::transmute(bloblengthinbytes), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18118     }
CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1)18119     pub unsafe fn CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1) {
18120         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
18121     }
18122     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2)18123     pub unsafe fn CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2) {
18124         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
18125     }
18126     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3)18127     pub unsafe fn CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3) {
18128         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
18129     }
18130     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2)18131     pub unsafe fn CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2) {
18132         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
18133     }
18134     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2)18135     pub unsafe fn CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2) {
18136         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
18137     }
CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1)18138     pub unsafe fn CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1) {
18139         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
18140     }
CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)18141     pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
18142         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(
18143             ::std::mem::transmute_copy(self),
18144             ::std::mem::transmute(numdestdescriptorranges),
18145             ::std::mem::transmute(pdestdescriptorrangestarts),
18146             ::std::mem::transmute(pdestdescriptorrangesizes),
18147             ::std::mem::transmute(numsrcdescriptorranges),
18148             ::std::mem::transmute(psrcdescriptorrangestarts),
18149             ::std::mem::transmute(psrcdescriptorrangesizes),
18150             ::std::mem::transmute(descriptorheapstype),
18151         ))
18152     }
CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)18153     pub unsafe fn CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
18154         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptors), destdescriptorrangestart.into_param().abi(), srcdescriptorrangestart.into_param().abi(), ::std::mem::transmute(descriptorheapstype)))
18155     }
18156     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO18157     pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO {
18158         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
18159         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs));
18160         result__
18161     }
GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES18162     pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
18163         let mut result__: D3D12_HEAP_PROPERTIES = ::std::default::Default::default();
18164         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(nodemask), ::std::mem::transmute(heaptype));
18165         result__
18166     }
18167     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18168     pub unsafe fn CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18169         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(pheapproperties), ::std::mem::transmute(heapflags), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialresourcestate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18170     }
CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18171     pub unsafe fn CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18172         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18173     }
18174     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18175     pub unsafe fn CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18176         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), pheap.into_param().abi(), ::std::mem::transmute(heapoffset), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18177     }
18178     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18179     pub unsafe fn CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18180         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18181     }
18182     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>18183     pub unsafe fn CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
18184         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18185         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), pobject.into_param().abi(), ::std::mem::transmute(pattributes), ::std::mem::transmute(access), name.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
18186     }
18187     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18188     pub unsafe fn OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18189         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), nthandle.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18190     }
18191     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>18192     pub unsafe fn OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
18193         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18194         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), name.into_param().abi(), ::std::mem::transmute(access), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
18195     }
MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>18196     pub unsafe fn MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
18197         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
18198     }
Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>18199     pub unsafe fn Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
18200         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
18201     }
CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T>18202     pub unsafe fn CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T> {
18203         let mut result__ = ::std::option::Option::None;
18204         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvalue), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18205     }
GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()>18206     pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()> {
18207         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self)).ok()
18208     }
18209     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64)18210     pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64) {
18211         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(
18212             ::std::mem::transmute_copy(self),
18213             ::std::mem::transmute(presourcedesc),
18214             ::std::mem::transmute(firstsubresource),
18215             ::std::mem::transmute(numsubresources),
18216             ::std::mem::transmute(baseoffset),
18217             ::std::mem::transmute(playouts),
18218             ::std::mem::transmute(pnumrows),
18219             ::std::mem::transmute(prowsizeinbytes),
18220             ::std::mem::transmute(ptotalbytes),
18221         ))
18222     }
CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18223     pub unsafe fn CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18224         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18225     }
18226     #[cfg(feature = "Win32_Foundation")]
SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()>18227     pub unsafe fn SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()> {
18228         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), enable.into_param().abi()).ok()
18229     }
CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18230     pub unsafe fn CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18231         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), prootsignature.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18232     }
GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)18233     pub unsafe fn GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING) {
18234         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(
18235             ::std::mem::transmute_copy(self),
18236             ptiledresource.into_param().abi(),
18237             ::std::mem::transmute(pnumtilesforentireresource),
18238             ::std::mem::transmute(ppackedmipdesc),
18239             ::std::mem::transmute(pstandardtileshapefornonpackedmips),
18240             ::std::mem::transmute(pnumsubresourcetilings),
18241             ::std::mem::transmute(firstsubresourcetilingtoget),
18242             ::std::mem::transmute(psubresourcetilingsfornonpackedmips),
18243         ))
18244     }
18245     #[cfg(feature = "Win32_Foundation")]
GetAdapterLuid(&self) -> super::super::Foundation::LUID18246     pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
18247         let mut result__: super::super::Foundation::LUID = ::std::default::Default::default();
18248         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__);
18249         result__
18250     }
CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T>18251     pub unsafe fn CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T> {
18252         let mut result__ = ::std::option::Option::None;
18253         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(plibraryblob), ::std::mem::transmute(bloblength), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18254     }
18255     #[cfg(feature = "Win32_Foundation")]
SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()>18256     pub unsafe fn SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()> {
18257         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppfences), ::std::mem::transmute(pfencevalues), ::std::mem::transmute(numfences), ::std::mem::transmute(flags), hevent.into_param().abi()).ok()
18258     }
SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()>18259     pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()> {
18260         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), ::std::mem::transmute(ppriorities)).ok()
18261     }
CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T>18262     pub unsafe fn CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T> {
18263         let mut result__ = ::std::option::Option::None;
18264         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18265     }
OpenExistingHeapFromAddress<T: ::windows::runtime::Interface>(&self, paddress: *const ::std::ffi::c_void) -> ::windows::runtime::Result<T>18266     pub unsafe fn OpenExistingHeapFromAddress<T: ::windows::runtime::Interface>(&self, paddress: *const ::std::ffi::c_void) -> ::windows::runtime::Result<T> {
18267         let mut result__ = ::std::option::Option::None;
18268         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), ::std::mem::transmute(paddress), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18269     }
18270     #[cfg(feature = "Win32_Foundation")]
OpenExistingHeapFromFileMapping<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, hfilemapping: Param0) -> ::windows::runtime::Result<T>18271     pub unsafe fn OpenExistingHeapFromFileMapping<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, hfilemapping: Param0) -> ::windows::runtime::Result<T> {
18272         let mut result__ = ::std::option::Option::None;
18273         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), hfilemapping.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18274     }
EnqueueMakeResident<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, pfencetosignal: Param3, fencevaluetosignal: u64) -> ::windows::runtime::Result<()>18275     pub unsafe fn EnqueueMakeResident<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, pfencetosignal: Param3, fencevaluetosignal: u64) -> ::windows::runtime::Result<()> {
18276         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), pfencetosignal.into_param().abi(), ::std::mem::transmute(fencevaluetosignal)).ok()
18277     }
CreateCommandList1<T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows::runtime::Result<T>18278     pub unsafe fn CreateCommandList1<T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows::runtime::Result<T> {
18279         let mut result__ = ::std::option::Option::None;
18280         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18281     }
CreateProtectedResourceSession<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows::runtime::Result<T>18282     pub unsafe fn CreateProtectedResourceSession<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows::runtime::Result<T> {
18283         let mut result__ = ::std::option::Option::None;
18284         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18285     }
18286     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource1<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18287     pub unsafe fn CreateCommittedResource1<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18288         (::windows::runtime::Interface::vtable(self).53)(
18289             ::std::mem::transmute_copy(self),
18290             ::std::mem::transmute(pheapproperties),
18291             ::std::mem::transmute(heapflags),
18292             ::std::mem::transmute(pdesc),
18293             ::std::mem::transmute(initialresourcestate),
18294             ::std::mem::transmute(poptimizedclearvalue),
18295             pprotectedsession.into_param().abi(),
18296             &<T as ::windows::runtime::Interface>::IID,
18297             result__ as *mut _ as *mut _,
18298         )
18299         .ok()
18300     }
CreateHeap1<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18301     pub unsafe fn CreateHeap1<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18302         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), pprotectedsession.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18303     }
18304     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource1<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param3, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18305     pub unsafe fn CreateReservedResource1<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param3, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18306         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), pprotectedsession.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18307     }
18308     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO18309     pub unsafe fn GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO {
18310         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
18311         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs), ::std::mem::transmute(presourceallocationinfo1));
18312         result__
18313     }
CreateLifetimeTracker<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12LifetimeOwner>, T: ::windows::runtime::Interface>(&self, powner: Param0) -> ::windows::runtime::Result<T>18314     pub unsafe fn CreateLifetimeTracker<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12LifetimeOwner>, T: ::windows::runtime::Interface>(&self, powner: Param0) -> ::windows::runtime::Result<T> {
18315         let mut result__ = ::std::option::Option::None;
18316         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), powner.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18317     }
RemoveDevice(&self)18318     pub unsafe fn RemoveDevice(&self) {
18319         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self)))
18320     }
18321     #[cfg(feature = "Win32_Foundation")]
EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows::runtime::Result<()>18322     pub unsafe fn EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows::runtime::Result<()> {
18323         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), ::std::mem::transmute(pnummetacommands), ::std::mem::transmute(pdescs)).ok()
18324     }
18325     #[cfg(feature = "Win32_Foundation")]
EnumerateMetaCommandParameters(&self, commandid: *const ::windows::runtime::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows::runtime::Result<()>18326     pub unsafe fn EnumerateMetaCommandParameters(&self, commandid: *const ::windows::runtime::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows::runtime::Result<()> {
18327         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), ::std::mem::transmute(commandid), ::std::mem::transmute(stage), ::std::mem::transmute(ptotalstructuresizeinbytes), ::std::mem::transmute(pparametercount), ::std::mem::transmute(pparameterdescs)).ok()
18328     }
CreateMetaCommand<T: ::windows::runtime::Interface>(&self, commandid: *const ::windows::runtime::GUID, nodemask: u32, pcreationparametersdata: *const ::std::ffi::c_void, creationparametersdatasizeinbytes: usize) -> ::windows::runtime::Result<T>18329     pub unsafe fn CreateMetaCommand<T: ::windows::runtime::Interface>(&self, commandid: *const ::windows::runtime::GUID, nodemask: u32, pcreationparametersdata: *const ::std::ffi::c_void, creationparametersdatasizeinbytes: usize) -> ::windows::runtime::Result<T> {
18330         let mut result__ = ::std::option::Option::None;
18331         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), ::std::mem::transmute(commandid), ::std::mem::transmute(nodemask), ::std::mem::transmute(pcreationparametersdata), ::std::mem::transmute(creationparametersdatasizeinbytes), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18332     }
CreateStateObject<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows::runtime::Result<T>18333     pub unsafe fn CreateStateObject<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows::runtime::Result<T> {
18334         let mut result__ = ::std::option::Option::None;
18335         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18336     }
18337     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO)18338     pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) {
18339         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(pinfo)))
18340     }
CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS18341     pub unsafe fn CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
18342         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), ::std::mem::transmute(serializeddatatype), ::std::mem::transmute(pidentifiertocheck)))
18343     }
18344     #[cfg(feature = "Win32_Foundation")]
SetBackgroundProcessingMode<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: Param2) -> ::windows::runtime::Result<super::super::Foundation::BOOL>18345     pub unsafe fn SetBackgroundProcessingMode<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: Param2) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18346         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18347         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), ::std::mem::transmute(mode), ::std::mem::transmute(measurementsaction), heventtosignaluponcompletion.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18348     }
18349 }
18350 unsafe impl ::windows::runtime::Interface for ID3D12Device6 {
18351     type Vtable = ID3D12Device6_abi;
18352     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3339395611, 16612, 18967, [137, 175, 2, 90, 7, 39, 166, 220]);
18353 }
18354 impl ::std::convert::From<ID3D12Device6> for ::windows::runtime::IUnknown {
from(value: ID3D12Device6) -> Self18355     fn from(value: ID3D12Device6) -> Self {
18356         unsafe { ::std::mem::transmute(value) }
18357     }
18358 }
18359 impl ::std::convert::From<&ID3D12Device6> for ::windows::runtime::IUnknown {
from(value: &ID3D12Device6) -> Self18360     fn from(value: &ID3D12Device6) -> Self {
18361         ::std::convert::From::from(::std::clone::Clone::clone(value))
18362     }
18363 }
18364 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>18365     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18366         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
18367     }
18368 }
18369 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>18370     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18371         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
18372     }
18373 }
18374 impl ::std::convert::From<ID3D12Device6> for ID3D12Device5 {
from(value: ID3D12Device6) -> Self18375     fn from(value: ID3D12Device6) -> Self {
18376         unsafe { ::std::mem::transmute(value) }
18377     }
18378 }
18379 impl ::std::convert::From<&ID3D12Device6> for ID3D12Device5 {
from(value: &ID3D12Device6) -> Self18380     fn from(value: &ID3D12Device6) -> Self {
18381         ::std::convert::From::from(::std::clone::Clone::clone(value))
18382     }
18383 }
18384 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device5> for ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5>18385     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5> {
18386         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device5>::into(self))
18387     }
18388 }
18389 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device5> for &ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5>18390     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5> {
18391         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device5>::into(::std::clone::Clone::clone(self)))
18392     }
18393 }
18394 impl ::std::convert::From<ID3D12Device6> for ID3D12Device4 {
from(value: ID3D12Device6) -> Self18395     fn from(value: ID3D12Device6) -> Self {
18396         unsafe { ::std::mem::transmute(value) }
18397     }
18398 }
18399 impl ::std::convert::From<&ID3D12Device6> for ID3D12Device4 {
from(value: &ID3D12Device6) -> Self18400     fn from(value: &ID3D12Device6) -> Self {
18401         ::std::convert::From::from(::std::clone::Clone::clone(value))
18402     }
18403 }
18404 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device4> for ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4>18405     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4> {
18406         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device4>::into(self))
18407     }
18408 }
18409 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device4> for &ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4>18410     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4> {
18411         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device4>::into(::std::clone::Clone::clone(self)))
18412     }
18413 }
18414 impl ::std::convert::From<ID3D12Device6> for ID3D12Device3 {
from(value: ID3D12Device6) -> Self18415     fn from(value: ID3D12Device6) -> Self {
18416         unsafe { ::std::mem::transmute(value) }
18417     }
18418 }
18419 impl ::std::convert::From<&ID3D12Device6> for ID3D12Device3 {
from(value: &ID3D12Device6) -> Self18420     fn from(value: &ID3D12Device6) -> Self {
18421         ::std::convert::From::from(::std::clone::Clone::clone(value))
18422     }
18423 }
18424 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device3> for ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3>18425     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3> {
18426         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device3>::into(self))
18427     }
18428 }
18429 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device3> for &ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3>18430     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3> {
18431         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device3>::into(::std::clone::Clone::clone(self)))
18432     }
18433 }
18434 impl ::std::convert::From<ID3D12Device6> for ID3D12Device2 {
from(value: ID3D12Device6) -> Self18435     fn from(value: ID3D12Device6) -> Self {
18436         unsafe { ::std::mem::transmute(value) }
18437     }
18438 }
18439 impl ::std::convert::From<&ID3D12Device6> for ID3D12Device2 {
from(value: &ID3D12Device6) -> Self18440     fn from(value: &ID3D12Device6) -> Self {
18441         ::std::convert::From::from(::std::clone::Clone::clone(value))
18442     }
18443 }
18444 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device2> for ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2>18445     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2> {
18446         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device2>::into(self))
18447     }
18448 }
18449 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device2> for &ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2>18450     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2> {
18451         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device2>::into(::std::clone::Clone::clone(self)))
18452     }
18453 }
18454 impl ::std::convert::From<ID3D12Device6> for ID3D12Device1 {
from(value: ID3D12Device6) -> Self18455     fn from(value: ID3D12Device6) -> Self {
18456         unsafe { ::std::mem::transmute(value) }
18457     }
18458 }
18459 impl ::std::convert::From<&ID3D12Device6> for ID3D12Device1 {
from(value: &ID3D12Device6) -> Self18460     fn from(value: &ID3D12Device6) -> Self {
18461         ::std::convert::From::from(::std::clone::Clone::clone(value))
18462     }
18463 }
18464 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>18465     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
18466         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(self))
18467     }
18468 }
18469 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for &ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>18470     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
18471         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(::std::clone::Clone::clone(self)))
18472     }
18473 }
18474 impl ::std::convert::From<ID3D12Device6> for ID3D12Device {
from(value: ID3D12Device6) -> Self18475     fn from(value: ID3D12Device6) -> Self {
18476         unsafe { ::std::mem::transmute(value) }
18477     }
18478 }
18479 impl ::std::convert::From<&ID3D12Device6> for ID3D12Device {
from(value: &ID3D12Device6) -> Self18480     fn from(value: &ID3D12Device6) -> Self {
18481         ::std::convert::From::from(::std::clone::Clone::clone(value))
18482     }
18483 }
18484 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>18485     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
18486         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(self))
18487     }
18488 }
18489 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for &ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>18490     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
18491         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(::std::clone::Clone::clone(self)))
18492     }
18493 }
18494 impl ::std::convert::From<ID3D12Device6> for ID3D12Object {
from(value: ID3D12Device6) -> Self18495     fn from(value: ID3D12Device6) -> Self {
18496         unsafe { ::std::mem::transmute(value) }
18497     }
18498 }
18499 impl ::std::convert::From<&ID3D12Device6> for ID3D12Object {
from(value: &ID3D12Device6) -> Self18500     fn from(value: &ID3D12Device6) -> Self {
18501         ::std::convert::From::from(::std::clone::Clone::clone(value))
18502     }
18503 }
18504 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>18505     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
18506         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
18507     }
18508 }
18509 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Device6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>18510     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
18511         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
18512     }
18513 }
18514 #[repr(C)]
18515 #[doc(hidden)]
18516 pub struct ID3D12Device6_abi(
18517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18523     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
18524     #[cfg(not(feature = "Win32_Foundation"))] usize,
18525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_QUEUE_DESC, riid: *const ::windows::runtime::GUID, ppcommandqueue: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_COMMAND_LIST_TYPE, riid: *const ::windows::runtime::GUID, ppcommandallocator: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18528     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_GRAPHICS_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18529     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
18530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_COMPUTE_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::HRESULT,
18533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32,
18535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize, riid: *const ::windows::runtime::GUID, ppvrootsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
18537     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
18538     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18539     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pcounterresource: ::windows::runtime::RawPtr, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
18540     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18541     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
18542     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18543     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
18544     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18545     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
18546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
18547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
18548     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC),
18549     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_HEAP_PROPERTIES, nodemask: u32, heaptype: D3D12_HEAP_TYPE),
18551     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18552     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18554     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheap: ::windows::runtime::RawPtr, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18555     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18556     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18557     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18558     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pobject: ::windows::runtime::RawPtr, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: super::super::Foundation::PWSTR, phandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
18559     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Security")))] usize,
18560     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nthandle: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18561     #[cfg(not(feature = "Win32_Foundation"))] usize,
18562     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR, access: u32, pnthandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
18563     #[cfg(not(feature = "Win32_Foundation"))] usize,
18564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvalue: u64, flags: D3D12_FENCE_FLAGS, riid: *const ::windows::runtime::GUID, ppfence: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18568     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64),
18569     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_QUERY_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18571     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18572     #[cfg(not(feature = "Win32_Foundation"))] usize,
18573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvcommandsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING),
18575     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::LUID),
18576     #[cfg(not(feature = "Win32_Foundation"))] usize,
18577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plibraryblob: *const ::std::ffi::c_void, bloblength: usize, riid: *const ::windows::runtime::GUID, pppipelinelibrary: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18578     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppfences: *const ::windows::runtime::RawPtr, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
18579     #[cfg(not(feature = "Win32_Foundation"))] usize,
18580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::HRESULT,
18581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddress: *const ::std::ffi::c_void, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18583     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hfilemapping: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18584     #[cfg(not(feature = "Win32_Foundation"))] usize,
18585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, pfencetosignal: ::windows::runtime::RawPtr, fencevaluetosignal: u64) -> ::windows::runtime::HRESULT,
18586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC, riid: *const ::windows::runtime::GUID, ppsession: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18588     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: ::windows::runtime::RawPtr, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18589     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18591     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18592     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18593     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1),
18594     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, powner: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvtracker: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
18597     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows::runtime::HRESULT,
18598     #[cfg(not(feature = "Win32_Foundation"))] usize,
18599     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandid: *const ::windows::runtime::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows::runtime::HRESULT,
18600     #[cfg(not(feature = "Win32_Foundation"))] usize,
18601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandid: *const ::windows::runtime::GUID, nodemask: u32, pcreationparametersdata: *const ::std::ffi::c_void, creationparametersdatasizeinbytes: usize, riid: *const ::windows::runtime::GUID, ppmetacommand: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_STATE_OBJECT_DESC, riid: *const ::windows::runtime::GUID, ppstateobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
18603     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO),
18604     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
18605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS,
18606     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: super::super::Foundation::HANDLE, pbfurthermeasurementsdesired: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18607     #[cfg(not(feature = "Win32_Foundation"))] usize,
18608 );
18609 #[repr(transparent)]
18610 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
18611 pub struct ID3D12Device7(::windows::runtime::IUnknown);
18612 impl ID3D12Device7 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>18613     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
18614         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
18615     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>18616     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
18617         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
18618     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>18619     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
18620         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
18621     }
18622     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>18623     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
18624         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
18625     }
GetNodeCount(&self) -> u3218626     pub unsafe fn GetNodeCount(&self) -> u32 {
18627         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
18628     }
CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T>18629     pub unsafe fn CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T> {
18630         let mut result__ = ::std::option::Option::None;
18631         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18632     }
CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T>18633     pub unsafe fn CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T> {
18634         let mut result__ = ::std::option::Option::None;
18635         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18636     }
18637     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>18638     pub unsafe fn CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
18639         let mut result__ = ::std::option::Option::None;
18640         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18641     }
CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>18642     pub unsafe fn CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
18643         let mut result__ = ::std::option::Option::None;
18644         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18645     }
CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T>18646     pub unsafe fn CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T> {
18647         let mut result__ = ::std::option::Option::None;
18648         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18649     }
CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()>18650     pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()> {
18651         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(feature), ::std::mem::transmute(pfeaturesupportdata), ::std::mem::transmute(featuresupportdatasize)).ok()
18652     }
CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T>18653     pub unsafe fn CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T> {
18654         let mut result__ = ::std::option::Option::None;
18655         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdescriptorheapdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18656     }
GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u3218657     pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
18658         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(descriptorheaptype)))
18659     }
CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T>18660     pub unsafe fn CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T> {
18661         let mut result__ = ::std::option::Option::None;
18662         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(pblobwithrootsignature), ::std::mem::transmute(bloblengthinbytes), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18663     }
CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1)18664     pub unsafe fn CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1) {
18665         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
18666     }
18667     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2)18668     pub unsafe fn CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2) {
18669         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
18670     }
18671     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3)18672     pub unsafe fn CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3) {
18673         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
18674     }
18675     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2)18676     pub unsafe fn CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2) {
18677         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
18678     }
18679     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2)18680     pub unsafe fn CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2) {
18681         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
18682     }
CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1)18683     pub unsafe fn CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1) {
18684         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
18685     }
CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)18686     pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
18687         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(
18688             ::std::mem::transmute_copy(self),
18689             ::std::mem::transmute(numdestdescriptorranges),
18690             ::std::mem::transmute(pdestdescriptorrangestarts),
18691             ::std::mem::transmute(pdestdescriptorrangesizes),
18692             ::std::mem::transmute(numsrcdescriptorranges),
18693             ::std::mem::transmute(psrcdescriptorrangestarts),
18694             ::std::mem::transmute(psrcdescriptorrangesizes),
18695             ::std::mem::transmute(descriptorheapstype),
18696         ))
18697     }
CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)18698     pub unsafe fn CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
18699         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptors), destdescriptorrangestart.into_param().abi(), srcdescriptorrangestart.into_param().abi(), ::std::mem::transmute(descriptorheapstype)))
18700     }
18701     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO18702     pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO {
18703         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
18704         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs));
18705         result__
18706     }
GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES18707     pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
18708         let mut result__: D3D12_HEAP_PROPERTIES = ::std::default::Default::default();
18709         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(nodemask), ::std::mem::transmute(heaptype));
18710         result__
18711     }
18712     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18713     pub unsafe fn CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18714         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(pheapproperties), ::std::mem::transmute(heapflags), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialresourcestate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18715     }
CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18716     pub unsafe fn CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18717         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18718     }
18719     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18720     pub unsafe fn CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18721         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), pheap.into_param().abi(), ::std::mem::transmute(heapoffset), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18722     }
18723     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18724     pub unsafe fn CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18725         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18726     }
18727     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>18728     pub unsafe fn CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
18729         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18730         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), pobject.into_param().abi(), ::std::mem::transmute(pattributes), ::std::mem::transmute(access), name.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
18731     }
18732     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18733     pub unsafe fn OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18734         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), nthandle.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18735     }
18736     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>18737     pub unsafe fn OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
18738         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18739         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), name.into_param().abi(), ::std::mem::transmute(access), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
18740     }
MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>18741     pub unsafe fn MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
18742         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
18743     }
Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>18744     pub unsafe fn Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
18745         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
18746     }
CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T>18747     pub unsafe fn CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T> {
18748         let mut result__ = ::std::option::Option::None;
18749         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvalue), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18750     }
GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()>18751     pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()> {
18752         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self)).ok()
18753     }
18754     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64)18755     pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64) {
18756         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(
18757             ::std::mem::transmute_copy(self),
18758             ::std::mem::transmute(presourcedesc),
18759             ::std::mem::transmute(firstsubresource),
18760             ::std::mem::transmute(numsubresources),
18761             ::std::mem::transmute(baseoffset),
18762             ::std::mem::transmute(playouts),
18763             ::std::mem::transmute(pnumrows),
18764             ::std::mem::transmute(prowsizeinbytes),
18765             ::std::mem::transmute(ptotalbytes),
18766         ))
18767     }
CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18768     pub unsafe fn CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18769         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18770     }
18771     #[cfg(feature = "Win32_Foundation")]
SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()>18772     pub unsafe fn SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()> {
18773         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), enable.into_param().abi()).ok()
18774     }
CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18775     pub unsafe fn CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18776         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), prootsignature.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18777     }
GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)18778     pub unsafe fn GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING) {
18779         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(
18780             ::std::mem::transmute_copy(self),
18781             ptiledresource.into_param().abi(),
18782             ::std::mem::transmute(pnumtilesforentireresource),
18783             ::std::mem::transmute(ppackedmipdesc),
18784             ::std::mem::transmute(pstandardtileshapefornonpackedmips),
18785             ::std::mem::transmute(pnumsubresourcetilings),
18786             ::std::mem::transmute(firstsubresourcetilingtoget),
18787             ::std::mem::transmute(psubresourcetilingsfornonpackedmips),
18788         ))
18789     }
18790     #[cfg(feature = "Win32_Foundation")]
GetAdapterLuid(&self) -> super::super::Foundation::LUID18791     pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
18792         let mut result__: super::super::Foundation::LUID = ::std::default::Default::default();
18793         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__);
18794         result__
18795     }
CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T>18796     pub unsafe fn CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T> {
18797         let mut result__ = ::std::option::Option::None;
18798         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(plibraryblob), ::std::mem::transmute(bloblength), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18799     }
18800     #[cfg(feature = "Win32_Foundation")]
SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()>18801     pub unsafe fn SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()> {
18802         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppfences), ::std::mem::transmute(pfencevalues), ::std::mem::transmute(numfences), ::std::mem::transmute(flags), hevent.into_param().abi()).ok()
18803     }
SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()>18804     pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()> {
18805         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), ::std::mem::transmute(ppriorities)).ok()
18806     }
CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T>18807     pub unsafe fn CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T> {
18808         let mut result__ = ::std::option::Option::None;
18809         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18810     }
OpenExistingHeapFromAddress<T: ::windows::runtime::Interface>(&self, paddress: *const ::std::ffi::c_void) -> ::windows::runtime::Result<T>18811     pub unsafe fn OpenExistingHeapFromAddress<T: ::windows::runtime::Interface>(&self, paddress: *const ::std::ffi::c_void) -> ::windows::runtime::Result<T> {
18812         let mut result__ = ::std::option::Option::None;
18813         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), ::std::mem::transmute(paddress), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18814     }
18815     #[cfg(feature = "Win32_Foundation")]
OpenExistingHeapFromFileMapping<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, hfilemapping: Param0) -> ::windows::runtime::Result<T>18816     pub unsafe fn OpenExistingHeapFromFileMapping<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, hfilemapping: Param0) -> ::windows::runtime::Result<T> {
18817         let mut result__ = ::std::option::Option::None;
18818         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), hfilemapping.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18819     }
EnqueueMakeResident<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, pfencetosignal: Param3, fencevaluetosignal: u64) -> ::windows::runtime::Result<()>18820     pub unsafe fn EnqueueMakeResident<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, pfencetosignal: Param3, fencevaluetosignal: u64) -> ::windows::runtime::Result<()> {
18821         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), pfencetosignal.into_param().abi(), ::std::mem::transmute(fencevaluetosignal)).ok()
18822     }
CreateCommandList1<T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows::runtime::Result<T>18823     pub unsafe fn CreateCommandList1<T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows::runtime::Result<T> {
18824         let mut result__ = ::std::option::Option::None;
18825         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18826     }
CreateProtectedResourceSession<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows::runtime::Result<T>18827     pub unsafe fn CreateProtectedResourceSession<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows::runtime::Result<T> {
18828         let mut result__ = ::std::option::Option::None;
18829         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18830     }
18831     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource1<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18832     pub unsafe fn CreateCommittedResource1<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18833         (::windows::runtime::Interface::vtable(self).53)(
18834             ::std::mem::transmute_copy(self),
18835             ::std::mem::transmute(pheapproperties),
18836             ::std::mem::transmute(heapflags),
18837             ::std::mem::transmute(pdesc),
18838             ::std::mem::transmute(initialresourcestate),
18839             ::std::mem::transmute(poptimizedclearvalue),
18840             pprotectedsession.into_param().abi(),
18841             &<T as ::windows::runtime::Interface>::IID,
18842             result__ as *mut _ as *mut _,
18843         )
18844         .ok()
18845     }
CreateHeap1<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18846     pub unsafe fn CreateHeap1<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18847         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), pprotectedsession.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18848     }
18849     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource1<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param3, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>18850     pub unsafe fn CreateReservedResource1<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param3, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
18851         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), pprotectedsession.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
18852     }
18853     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO18854     pub unsafe fn GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO {
18855         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
18856         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs), ::std::mem::transmute(presourceallocationinfo1));
18857         result__
18858     }
CreateLifetimeTracker<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12LifetimeOwner>, T: ::windows::runtime::Interface>(&self, powner: Param0) -> ::windows::runtime::Result<T>18859     pub unsafe fn CreateLifetimeTracker<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12LifetimeOwner>, T: ::windows::runtime::Interface>(&self, powner: Param0) -> ::windows::runtime::Result<T> {
18860         let mut result__ = ::std::option::Option::None;
18861         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), powner.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18862     }
RemoveDevice(&self)18863     pub unsafe fn RemoveDevice(&self) {
18864         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self)))
18865     }
18866     #[cfg(feature = "Win32_Foundation")]
EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows::runtime::Result<()>18867     pub unsafe fn EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows::runtime::Result<()> {
18868         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), ::std::mem::transmute(pnummetacommands), ::std::mem::transmute(pdescs)).ok()
18869     }
18870     #[cfg(feature = "Win32_Foundation")]
EnumerateMetaCommandParameters(&self, commandid: *const ::windows::runtime::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows::runtime::Result<()>18871     pub unsafe fn EnumerateMetaCommandParameters(&self, commandid: *const ::windows::runtime::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows::runtime::Result<()> {
18872         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), ::std::mem::transmute(commandid), ::std::mem::transmute(stage), ::std::mem::transmute(ptotalstructuresizeinbytes), ::std::mem::transmute(pparametercount), ::std::mem::transmute(pparameterdescs)).ok()
18873     }
CreateMetaCommand<T: ::windows::runtime::Interface>(&self, commandid: *const ::windows::runtime::GUID, nodemask: u32, pcreationparametersdata: *const ::std::ffi::c_void, creationparametersdatasizeinbytes: usize) -> ::windows::runtime::Result<T>18874     pub unsafe fn CreateMetaCommand<T: ::windows::runtime::Interface>(&self, commandid: *const ::windows::runtime::GUID, nodemask: u32, pcreationparametersdata: *const ::std::ffi::c_void, creationparametersdatasizeinbytes: usize) -> ::windows::runtime::Result<T> {
18875         let mut result__ = ::std::option::Option::None;
18876         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), ::std::mem::transmute(commandid), ::std::mem::transmute(nodemask), ::std::mem::transmute(pcreationparametersdata), ::std::mem::transmute(creationparametersdatasizeinbytes), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18877     }
CreateStateObject<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows::runtime::Result<T>18878     pub unsafe fn CreateStateObject<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows::runtime::Result<T> {
18879         let mut result__ = ::std::option::Option::None;
18880         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18881     }
18882     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO)18883     pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) {
18884         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(pinfo)))
18885     }
CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS18886     pub unsafe fn CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
18887         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), ::std::mem::transmute(serializeddatatype), ::std::mem::transmute(pidentifiertocheck)))
18888     }
18889     #[cfg(feature = "Win32_Foundation")]
SetBackgroundProcessingMode<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: Param2) -> ::windows::runtime::Result<super::super::Foundation::BOOL>18890     pub unsafe fn SetBackgroundProcessingMode<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: Param2) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18891         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18892         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), ::std::mem::transmute(mode), ::std::mem::transmute(measurementsaction), heventtosignaluponcompletion.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18893     }
AddToStateObject<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12StateObject>, T: ::windows::runtime::Interface>(&self, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: Param1) -> ::windows::runtime::Result<T>18894     pub unsafe fn AddToStateObject<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12StateObject>, T: ::windows::runtime::Interface>(&self, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: Param1) -> ::windows::runtime::Result<T> {
18895         let mut result__ = ::std::option::Option::None;
18896         (::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), ::std::mem::transmute(paddition), pstateobjecttogrowfrom.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18897     }
CreateProtectedResourceSession1<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows::runtime::Result<T>18898     pub unsafe fn CreateProtectedResourceSession1<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows::runtime::Result<T> {
18899         let mut result__ = ::std::option::Option::None;
18900         (::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
18901     }
18902 }
18903 unsafe impl ::windows::runtime::Interface for ID3D12Device7 {
18904     type Vtable = ID3D12Device7_abi;
18905     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1543588691, 26785, 19355, [139, 209, 221, 96, 70, 185, 53, 139]);
18906 }
18907 impl ::std::convert::From<ID3D12Device7> for ::windows::runtime::IUnknown {
from(value: ID3D12Device7) -> Self18908     fn from(value: ID3D12Device7) -> Self {
18909         unsafe { ::std::mem::transmute(value) }
18910     }
18911 }
18912 impl ::std::convert::From<&ID3D12Device7> for ::windows::runtime::IUnknown {
from(value: &ID3D12Device7) -> Self18913     fn from(value: &ID3D12Device7) -> Self {
18914         ::std::convert::From::from(::std::clone::Clone::clone(value))
18915     }
18916 }
18917 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>18918     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18919         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
18920     }
18921 }
18922 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>18923     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18924         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
18925     }
18926 }
18927 impl ::std::convert::From<ID3D12Device7> for ID3D12Device6 {
from(value: ID3D12Device7) -> Self18928     fn from(value: ID3D12Device7) -> Self {
18929         unsafe { ::std::mem::transmute(value) }
18930     }
18931 }
18932 impl ::std::convert::From<&ID3D12Device7> for ID3D12Device6 {
from(value: &ID3D12Device7) -> Self18933     fn from(value: &ID3D12Device7) -> Self {
18934         ::std::convert::From::from(::std::clone::Clone::clone(value))
18935     }
18936 }
18937 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device6> for ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device6>18938     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device6> {
18939         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device6>::into(self))
18940     }
18941 }
18942 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device6> for &ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device6>18943     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device6> {
18944         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device6>::into(::std::clone::Clone::clone(self)))
18945     }
18946 }
18947 impl ::std::convert::From<ID3D12Device7> for ID3D12Device5 {
from(value: ID3D12Device7) -> Self18948     fn from(value: ID3D12Device7) -> Self {
18949         unsafe { ::std::mem::transmute(value) }
18950     }
18951 }
18952 impl ::std::convert::From<&ID3D12Device7> for ID3D12Device5 {
from(value: &ID3D12Device7) -> Self18953     fn from(value: &ID3D12Device7) -> Self {
18954         ::std::convert::From::from(::std::clone::Clone::clone(value))
18955     }
18956 }
18957 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device5> for ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5>18958     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5> {
18959         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device5>::into(self))
18960     }
18961 }
18962 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device5> for &ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5>18963     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5> {
18964         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device5>::into(::std::clone::Clone::clone(self)))
18965     }
18966 }
18967 impl ::std::convert::From<ID3D12Device7> for ID3D12Device4 {
from(value: ID3D12Device7) -> Self18968     fn from(value: ID3D12Device7) -> Self {
18969         unsafe { ::std::mem::transmute(value) }
18970     }
18971 }
18972 impl ::std::convert::From<&ID3D12Device7> for ID3D12Device4 {
from(value: &ID3D12Device7) -> Self18973     fn from(value: &ID3D12Device7) -> Self {
18974         ::std::convert::From::from(::std::clone::Clone::clone(value))
18975     }
18976 }
18977 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device4> for ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4>18978     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4> {
18979         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device4>::into(self))
18980     }
18981 }
18982 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device4> for &ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4>18983     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4> {
18984         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device4>::into(::std::clone::Clone::clone(self)))
18985     }
18986 }
18987 impl ::std::convert::From<ID3D12Device7> for ID3D12Device3 {
from(value: ID3D12Device7) -> Self18988     fn from(value: ID3D12Device7) -> Self {
18989         unsafe { ::std::mem::transmute(value) }
18990     }
18991 }
18992 impl ::std::convert::From<&ID3D12Device7> for ID3D12Device3 {
from(value: &ID3D12Device7) -> Self18993     fn from(value: &ID3D12Device7) -> Self {
18994         ::std::convert::From::from(::std::clone::Clone::clone(value))
18995     }
18996 }
18997 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device3> for ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3>18998     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3> {
18999         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device3>::into(self))
19000     }
19001 }
19002 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device3> for &ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3>19003     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3> {
19004         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device3>::into(::std::clone::Clone::clone(self)))
19005     }
19006 }
19007 impl ::std::convert::From<ID3D12Device7> for ID3D12Device2 {
from(value: ID3D12Device7) -> Self19008     fn from(value: ID3D12Device7) -> Self {
19009         unsafe { ::std::mem::transmute(value) }
19010     }
19011 }
19012 impl ::std::convert::From<&ID3D12Device7> for ID3D12Device2 {
from(value: &ID3D12Device7) -> Self19013     fn from(value: &ID3D12Device7) -> Self {
19014         ::std::convert::From::from(::std::clone::Clone::clone(value))
19015     }
19016 }
19017 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device2> for ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2>19018     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2> {
19019         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device2>::into(self))
19020     }
19021 }
19022 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device2> for &ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2>19023     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2> {
19024         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device2>::into(::std::clone::Clone::clone(self)))
19025     }
19026 }
19027 impl ::std::convert::From<ID3D12Device7> for ID3D12Device1 {
from(value: ID3D12Device7) -> Self19028     fn from(value: ID3D12Device7) -> Self {
19029         unsafe { ::std::mem::transmute(value) }
19030     }
19031 }
19032 impl ::std::convert::From<&ID3D12Device7> for ID3D12Device1 {
from(value: &ID3D12Device7) -> Self19033     fn from(value: &ID3D12Device7) -> Self {
19034         ::std::convert::From::from(::std::clone::Clone::clone(value))
19035     }
19036 }
19037 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>19038     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
19039         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(self))
19040     }
19041 }
19042 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for &ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>19043     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
19044         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(::std::clone::Clone::clone(self)))
19045     }
19046 }
19047 impl ::std::convert::From<ID3D12Device7> for ID3D12Device {
from(value: ID3D12Device7) -> Self19048     fn from(value: ID3D12Device7) -> Self {
19049         unsafe { ::std::mem::transmute(value) }
19050     }
19051 }
19052 impl ::std::convert::From<&ID3D12Device7> for ID3D12Device {
from(value: &ID3D12Device7) -> Self19053     fn from(value: &ID3D12Device7) -> Self {
19054         ::std::convert::From::from(::std::clone::Clone::clone(value))
19055     }
19056 }
19057 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>19058     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
19059         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(self))
19060     }
19061 }
19062 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for &ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>19063     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
19064         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(::std::clone::Clone::clone(self)))
19065     }
19066 }
19067 impl ::std::convert::From<ID3D12Device7> for ID3D12Object {
from(value: ID3D12Device7) -> Self19068     fn from(value: ID3D12Device7) -> Self {
19069         unsafe { ::std::mem::transmute(value) }
19070     }
19071 }
19072 impl ::std::convert::From<&ID3D12Device7> for ID3D12Object {
from(value: &ID3D12Device7) -> Self19073     fn from(value: &ID3D12Device7) -> Self {
19074         ::std::convert::From::from(::std::clone::Clone::clone(value))
19075     }
19076 }
19077 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>19078     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
19079         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
19080     }
19081 }
19082 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Device7 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>19083     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
19084         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
19085     }
19086 }
19087 #[repr(C)]
19088 #[doc(hidden)]
19089 pub struct ID3D12Device7_abi(
19090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
19091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
19092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
19093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
19096     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
19097     #[cfg(not(feature = "Win32_Foundation"))] usize,
19098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
19099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_QUEUE_DESC, riid: *const ::windows::runtime::GUID, ppcommandqueue: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_COMMAND_LIST_TYPE, riid: *const ::windows::runtime::GUID, ppcommandallocator: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19101     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_GRAPHICS_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19102     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
19103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_COMPUTE_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::HRESULT,
19106     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32,
19108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize, riid: *const ::windows::runtime::GUID, ppvrootsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
19110     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
19111     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19112     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pcounterresource: ::windows::runtime::RawPtr, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
19113     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19114     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
19115     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19116     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
19117     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
19119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
19120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
19121     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC),
19122     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_HEAP_PROPERTIES, nodemask: u32, heaptype: D3D12_HEAP_TYPE),
19124     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19125     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19126     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19127     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheap: ::windows::runtime::RawPtr, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19128     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19129     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19130     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19131     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pobject: ::windows::runtime::RawPtr, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: super::super::Foundation::PWSTR, phandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
19132     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Security")))] usize,
19133     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nthandle: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19134     #[cfg(not(feature = "Win32_Foundation"))] usize,
19135     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR, access: u32, pnthandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
19136     #[cfg(not(feature = "Win32_Foundation"))] usize,
19137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
19138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
19139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvalue: u64, flags: D3D12_FENCE_FLAGS, riid: *const ::windows::runtime::GUID, ppfence: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
19141     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64),
19142     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_QUERY_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19144     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
19145     #[cfg(not(feature = "Win32_Foundation"))] usize,
19146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvcommandsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING),
19148     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::LUID),
19149     #[cfg(not(feature = "Win32_Foundation"))] usize,
19150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plibraryblob: *const ::std::ffi::c_void, bloblength: usize, riid: *const ::windows::runtime::GUID, pppipelinelibrary: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19151     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppfences: *const ::windows::runtime::RawPtr, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
19152     #[cfg(not(feature = "Win32_Foundation"))] usize,
19153     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::HRESULT,
19154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddress: *const ::std::ffi::c_void, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19156     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hfilemapping: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19157     #[cfg(not(feature = "Win32_Foundation"))] usize,
19158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, pfencetosignal: ::windows::runtime::RawPtr, fencevaluetosignal: u64) -> ::windows::runtime::HRESULT,
19159     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19160     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC, riid: *const ::windows::runtime::GUID, ppsession: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19161     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: ::windows::runtime::RawPtr, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19162     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19163     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19164     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19165     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19166     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1),
19167     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19168     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, powner: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvtracker: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
19170     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows::runtime::HRESULT,
19171     #[cfg(not(feature = "Win32_Foundation"))] usize,
19172     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandid: *const ::windows::runtime::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows::runtime::HRESULT,
19173     #[cfg(not(feature = "Win32_Foundation"))] usize,
19174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandid: *const ::windows::runtime::GUID, nodemask: u32, pcreationparametersdata: *const ::std::ffi::c_void, creationparametersdatasizeinbytes: usize, riid: *const ::windows::runtime::GUID, ppmetacommand: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_STATE_OBJECT_DESC, riid: *const ::windows::runtime::GUID, ppstateobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19176     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO),
19177     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS,
19179     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: super::super::Foundation::HANDLE, pbfurthermeasurementsdesired: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
19180     #[cfg(not(feature = "Win32_Foundation"))] usize,
19181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppnewstateobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19182     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1, riid: *const ::windows::runtime::GUID, ppsession: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19183 );
19184 #[repr(transparent)]
19185 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
19186 pub struct ID3D12Device8(::windows::runtime::IUnknown);
19187 impl ID3D12Device8 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>19188     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
19189         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
19190     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>19191     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
19192         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
19193     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>19194     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
19195         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
19196     }
19197     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>19198     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
19199         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
19200     }
GetNodeCount(&self) -> u3219201     pub unsafe fn GetNodeCount(&self) -> u32 {
19202         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
19203     }
CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T>19204     pub unsafe fn CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T> {
19205         let mut result__ = ::std::option::Option::None;
19206         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19207     }
CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T>19208     pub unsafe fn CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T> {
19209         let mut result__ = ::std::option::Option::None;
19210         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19211     }
19212     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>19213     pub unsafe fn CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
19214         let mut result__ = ::std::option::Option::None;
19215         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19216     }
CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>19217     pub unsafe fn CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
19218         let mut result__ = ::std::option::Option::None;
19219         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19220     }
CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T>19221     pub unsafe fn CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T> {
19222         let mut result__ = ::std::option::Option::None;
19223         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19224     }
CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()>19225     pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()> {
19226         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(feature), ::std::mem::transmute(pfeaturesupportdata), ::std::mem::transmute(featuresupportdatasize)).ok()
19227     }
CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T>19228     pub unsafe fn CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T> {
19229         let mut result__ = ::std::option::Option::None;
19230         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdescriptorheapdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19231     }
GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u3219232     pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
19233         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(descriptorheaptype)))
19234     }
CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T>19235     pub unsafe fn CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T> {
19236         let mut result__ = ::std::option::Option::None;
19237         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(pblobwithrootsignature), ::std::mem::transmute(bloblengthinbytes), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19238     }
CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1)19239     pub unsafe fn CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1) {
19240         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
19241     }
19242     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2)19243     pub unsafe fn CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2) {
19244         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
19245     }
19246     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3)19247     pub unsafe fn CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3) {
19248         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
19249     }
19250     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2)19251     pub unsafe fn CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2) {
19252         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
19253     }
19254     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2)19255     pub unsafe fn CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2) {
19256         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
19257     }
CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1)19258     pub unsafe fn CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1) {
19259         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
19260     }
CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)19261     pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
19262         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(
19263             ::std::mem::transmute_copy(self),
19264             ::std::mem::transmute(numdestdescriptorranges),
19265             ::std::mem::transmute(pdestdescriptorrangestarts),
19266             ::std::mem::transmute(pdestdescriptorrangesizes),
19267             ::std::mem::transmute(numsrcdescriptorranges),
19268             ::std::mem::transmute(psrcdescriptorrangestarts),
19269             ::std::mem::transmute(psrcdescriptorrangesizes),
19270             ::std::mem::transmute(descriptorheapstype),
19271         ))
19272     }
CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)19273     pub unsafe fn CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
19274         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptors), destdescriptorrangestart.into_param().abi(), srcdescriptorrangestart.into_param().abi(), ::std::mem::transmute(descriptorheapstype)))
19275     }
19276     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO19277     pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO {
19278         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
19279         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs));
19280         result__
19281     }
GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES19282     pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
19283         let mut result__: D3D12_HEAP_PROPERTIES = ::std::default::Default::default();
19284         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(nodemask), ::std::mem::transmute(heaptype));
19285         result__
19286     }
19287     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19288     pub unsafe fn CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19289         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(pheapproperties), ::std::mem::transmute(heapflags), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialresourcestate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19290     }
CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19291     pub unsafe fn CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19292         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19293     }
19294     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19295     pub unsafe fn CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19296         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), pheap.into_param().abi(), ::std::mem::transmute(heapoffset), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19297     }
19298     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19299     pub unsafe fn CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19300         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19301     }
19302     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>19303     pub unsafe fn CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
19304         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
19305         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), pobject.into_param().abi(), ::std::mem::transmute(pattributes), ::std::mem::transmute(access), name.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
19306     }
19307     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19308     pub unsafe fn OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19309         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), nthandle.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19310     }
19311     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>19312     pub unsafe fn OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
19313         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
19314         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), name.into_param().abi(), ::std::mem::transmute(access), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
19315     }
MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>19316     pub unsafe fn MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
19317         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
19318     }
Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>19319     pub unsafe fn Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
19320         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
19321     }
CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T>19322     pub unsafe fn CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T> {
19323         let mut result__ = ::std::option::Option::None;
19324         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvalue), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19325     }
GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()>19326     pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()> {
19327         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self)).ok()
19328     }
19329     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64)19330     pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64) {
19331         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(
19332             ::std::mem::transmute_copy(self),
19333             ::std::mem::transmute(presourcedesc),
19334             ::std::mem::transmute(firstsubresource),
19335             ::std::mem::transmute(numsubresources),
19336             ::std::mem::transmute(baseoffset),
19337             ::std::mem::transmute(playouts),
19338             ::std::mem::transmute(pnumrows),
19339             ::std::mem::transmute(prowsizeinbytes),
19340             ::std::mem::transmute(ptotalbytes),
19341         ))
19342     }
CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19343     pub unsafe fn CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19344         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19345     }
19346     #[cfg(feature = "Win32_Foundation")]
SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()>19347     pub unsafe fn SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()> {
19348         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), enable.into_param().abi()).ok()
19349     }
CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19350     pub unsafe fn CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19351         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), prootsignature.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19352     }
GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)19353     pub unsafe fn GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING) {
19354         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(
19355             ::std::mem::transmute_copy(self),
19356             ptiledresource.into_param().abi(),
19357             ::std::mem::transmute(pnumtilesforentireresource),
19358             ::std::mem::transmute(ppackedmipdesc),
19359             ::std::mem::transmute(pstandardtileshapefornonpackedmips),
19360             ::std::mem::transmute(pnumsubresourcetilings),
19361             ::std::mem::transmute(firstsubresourcetilingtoget),
19362             ::std::mem::transmute(psubresourcetilingsfornonpackedmips),
19363         ))
19364     }
19365     #[cfg(feature = "Win32_Foundation")]
GetAdapterLuid(&self) -> super::super::Foundation::LUID19366     pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
19367         let mut result__: super::super::Foundation::LUID = ::std::default::Default::default();
19368         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__);
19369         result__
19370     }
CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T>19371     pub unsafe fn CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T> {
19372         let mut result__ = ::std::option::Option::None;
19373         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(plibraryblob), ::std::mem::transmute(bloblength), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19374     }
19375     #[cfg(feature = "Win32_Foundation")]
SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()>19376     pub unsafe fn SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()> {
19377         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppfences), ::std::mem::transmute(pfencevalues), ::std::mem::transmute(numfences), ::std::mem::transmute(flags), hevent.into_param().abi()).ok()
19378     }
SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()>19379     pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()> {
19380         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), ::std::mem::transmute(ppriorities)).ok()
19381     }
CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T>19382     pub unsafe fn CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T> {
19383         let mut result__ = ::std::option::Option::None;
19384         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19385     }
OpenExistingHeapFromAddress<T: ::windows::runtime::Interface>(&self, paddress: *const ::std::ffi::c_void) -> ::windows::runtime::Result<T>19386     pub unsafe fn OpenExistingHeapFromAddress<T: ::windows::runtime::Interface>(&self, paddress: *const ::std::ffi::c_void) -> ::windows::runtime::Result<T> {
19387         let mut result__ = ::std::option::Option::None;
19388         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), ::std::mem::transmute(paddress), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19389     }
19390     #[cfg(feature = "Win32_Foundation")]
OpenExistingHeapFromFileMapping<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, hfilemapping: Param0) -> ::windows::runtime::Result<T>19391     pub unsafe fn OpenExistingHeapFromFileMapping<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, hfilemapping: Param0) -> ::windows::runtime::Result<T> {
19392         let mut result__ = ::std::option::Option::None;
19393         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), hfilemapping.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19394     }
EnqueueMakeResident<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, pfencetosignal: Param3, fencevaluetosignal: u64) -> ::windows::runtime::Result<()>19395     pub unsafe fn EnqueueMakeResident<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, pfencetosignal: Param3, fencevaluetosignal: u64) -> ::windows::runtime::Result<()> {
19396         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), pfencetosignal.into_param().abi(), ::std::mem::transmute(fencevaluetosignal)).ok()
19397     }
CreateCommandList1<T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows::runtime::Result<T>19398     pub unsafe fn CreateCommandList1<T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows::runtime::Result<T> {
19399         let mut result__ = ::std::option::Option::None;
19400         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19401     }
CreateProtectedResourceSession<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows::runtime::Result<T>19402     pub unsafe fn CreateProtectedResourceSession<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows::runtime::Result<T> {
19403         let mut result__ = ::std::option::Option::None;
19404         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19405     }
19406     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource1<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19407     pub unsafe fn CreateCommittedResource1<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19408         (::windows::runtime::Interface::vtable(self).53)(
19409             ::std::mem::transmute_copy(self),
19410             ::std::mem::transmute(pheapproperties),
19411             ::std::mem::transmute(heapflags),
19412             ::std::mem::transmute(pdesc),
19413             ::std::mem::transmute(initialresourcestate),
19414             ::std::mem::transmute(poptimizedclearvalue),
19415             pprotectedsession.into_param().abi(),
19416             &<T as ::windows::runtime::Interface>::IID,
19417             result__ as *mut _ as *mut _,
19418         )
19419         .ok()
19420     }
CreateHeap1<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19421     pub unsafe fn CreateHeap1<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19422         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), pprotectedsession.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19423     }
19424     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource1<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param3, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19425     pub unsafe fn CreateReservedResource1<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param3, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19426         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), pprotectedsession.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19427     }
19428     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO19429     pub unsafe fn GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO {
19430         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
19431         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs), ::std::mem::transmute(presourceallocationinfo1));
19432         result__
19433     }
CreateLifetimeTracker<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12LifetimeOwner>, T: ::windows::runtime::Interface>(&self, powner: Param0) -> ::windows::runtime::Result<T>19434     pub unsafe fn CreateLifetimeTracker<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12LifetimeOwner>, T: ::windows::runtime::Interface>(&self, powner: Param0) -> ::windows::runtime::Result<T> {
19435         let mut result__ = ::std::option::Option::None;
19436         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), powner.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19437     }
RemoveDevice(&self)19438     pub unsafe fn RemoveDevice(&self) {
19439         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self)))
19440     }
19441     #[cfg(feature = "Win32_Foundation")]
EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows::runtime::Result<()>19442     pub unsafe fn EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows::runtime::Result<()> {
19443         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), ::std::mem::transmute(pnummetacommands), ::std::mem::transmute(pdescs)).ok()
19444     }
19445     #[cfg(feature = "Win32_Foundation")]
EnumerateMetaCommandParameters(&self, commandid: *const ::windows::runtime::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows::runtime::Result<()>19446     pub unsafe fn EnumerateMetaCommandParameters(&self, commandid: *const ::windows::runtime::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows::runtime::Result<()> {
19447         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), ::std::mem::transmute(commandid), ::std::mem::transmute(stage), ::std::mem::transmute(ptotalstructuresizeinbytes), ::std::mem::transmute(pparametercount), ::std::mem::transmute(pparameterdescs)).ok()
19448     }
CreateMetaCommand<T: ::windows::runtime::Interface>(&self, commandid: *const ::windows::runtime::GUID, nodemask: u32, pcreationparametersdata: *const ::std::ffi::c_void, creationparametersdatasizeinbytes: usize) -> ::windows::runtime::Result<T>19449     pub unsafe fn CreateMetaCommand<T: ::windows::runtime::Interface>(&self, commandid: *const ::windows::runtime::GUID, nodemask: u32, pcreationparametersdata: *const ::std::ffi::c_void, creationparametersdatasizeinbytes: usize) -> ::windows::runtime::Result<T> {
19450         let mut result__ = ::std::option::Option::None;
19451         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), ::std::mem::transmute(commandid), ::std::mem::transmute(nodemask), ::std::mem::transmute(pcreationparametersdata), ::std::mem::transmute(creationparametersdatasizeinbytes), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19452     }
CreateStateObject<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows::runtime::Result<T>19453     pub unsafe fn CreateStateObject<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows::runtime::Result<T> {
19454         let mut result__ = ::std::option::Option::None;
19455         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19456     }
19457     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO)19458     pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) {
19459         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(pinfo)))
19460     }
CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS19461     pub unsafe fn CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
19462         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), ::std::mem::transmute(serializeddatatype), ::std::mem::transmute(pidentifiertocheck)))
19463     }
19464     #[cfg(feature = "Win32_Foundation")]
SetBackgroundProcessingMode<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: Param2) -> ::windows::runtime::Result<super::super::Foundation::BOOL>19465     pub unsafe fn SetBackgroundProcessingMode<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: Param2) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
19466         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
19467         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), ::std::mem::transmute(mode), ::std::mem::transmute(measurementsaction), heventtosignaluponcompletion.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
19468     }
AddToStateObject<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12StateObject>, T: ::windows::runtime::Interface>(&self, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: Param1) -> ::windows::runtime::Result<T>19469     pub unsafe fn AddToStateObject<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12StateObject>, T: ::windows::runtime::Interface>(&self, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: Param1) -> ::windows::runtime::Result<T> {
19470         let mut result__ = ::std::option::Option::None;
19471         (::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), ::std::mem::transmute(paddition), pstateobjecttogrowfrom.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19472     }
CreateProtectedResourceSession1<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows::runtime::Result<T>19473     pub unsafe fn CreateProtectedResourceSession1<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows::runtime::Result<T> {
19474         let mut result__ = ::std::option::Option::None;
19475         (::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19476     }
19477     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo2(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO19478     pub unsafe fn GetResourceAllocationInfo2(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO {
19479         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
19480         (::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs), ::std::mem::transmute(presourceallocationinfo1));
19481         result__
19482     }
19483     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource2<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19484     pub unsafe fn CreateCommittedResource2<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19485         (::windows::runtime::Interface::vtable(self).69)(
19486             ::std::mem::transmute_copy(self),
19487             ::std::mem::transmute(pheapproperties),
19488             ::std::mem::transmute(heapflags),
19489             ::std::mem::transmute(pdesc),
19490             ::std::mem::transmute(initialresourcestate),
19491             ::std::mem::transmute(poptimizedclearvalue),
19492             pprotectedsession.into_param().abi(),
19493             &<T as ::windows::runtime::Interface>::IID,
19494             result__ as *mut _ as *mut _,
19495         )
19496         .ok()
19497     }
19498     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreatePlacedResource1<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19499     pub unsafe fn CreatePlacedResource1<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19500         (::windows::runtime::Interface::vtable(self).70)(::std::mem::transmute_copy(self), pheap.into_param().abi(), ::std::mem::transmute(heapoffset), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19501     }
CreateSamplerFeedbackUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, ptargetedresource: Param0, pfeedbackresource: Param1, destdescriptor: Param2)19502     pub unsafe fn CreateSamplerFeedbackUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, ptargetedresource: Param0, pfeedbackresource: Param1, destdescriptor: Param2) {
19503         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).71)(::std::mem::transmute_copy(self), ptargetedresource.into_param().abi(), pfeedbackresource.into_param().abi(), destdescriptor.into_param().abi()))
19504     }
19505     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetCopyableFootprints1(&self, presourcedesc: *const D3D12_RESOURCE_DESC1, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64)19506     pub unsafe fn GetCopyableFootprints1(&self, presourcedesc: *const D3D12_RESOURCE_DESC1, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64) {
19507         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).72)(
19508             ::std::mem::transmute_copy(self),
19509             ::std::mem::transmute(presourcedesc),
19510             ::std::mem::transmute(firstsubresource),
19511             ::std::mem::transmute(numsubresources),
19512             ::std::mem::transmute(baseoffset),
19513             ::std::mem::transmute(playouts),
19514             ::std::mem::transmute(pnumrows),
19515             ::std::mem::transmute(prowsizeinbytes),
19516             ::std::mem::transmute(ptotalbytes),
19517         ))
19518     }
19519 }
19520 unsafe impl ::windows::runtime::Interface for ID3D12Device8 {
19521     type Vtable = ID3D12Device8_abi;
19522     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2451105467, 63812, 20350, [167, 92, 177, 178, 199, 183, 1, 243]);
19523 }
19524 impl ::std::convert::From<ID3D12Device8> for ::windows::runtime::IUnknown {
from(value: ID3D12Device8) -> Self19525     fn from(value: ID3D12Device8) -> Self {
19526         unsafe { ::std::mem::transmute(value) }
19527     }
19528 }
19529 impl ::std::convert::From<&ID3D12Device8> for ::windows::runtime::IUnknown {
from(value: &ID3D12Device8) -> Self19530     fn from(value: &ID3D12Device8) -> Self {
19531         ::std::convert::From::from(::std::clone::Clone::clone(value))
19532     }
19533 }
19534 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>19535     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
19536         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
19537     }
19538 }
19539 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>19540     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
19541         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
19542     }
19543 }
19544 impl ::std::convert::From<ID3D12Device8> for ID3D12Device7 {
from(value: ID3D12Device8) -> Self19545     fn from(value: ID3D12Device8) -> Self {
19546         unsafe { ::std::mem::transmute(value) }
19547     }
19548 }
19549 impl ::std::convert::From<&ID3D12Device8> for ID3D12Device7 {
from(value: &ID3D12Device8) -> Self19550     fn from(value: &ID3D12Device8) -> Self {
19551         ::std::convert::From::from(::std::clone::Clone::clone(value))
19552     }
19553 }
19554 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device7> for ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device7>19555     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device7> {
19556         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device7>::into(self))
19557     }
19558 }
19559 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device7> for &ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device7>19560     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device7> {
19561         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device7>::into(::std::clone::Clone::clone(self)))
19562     }
19563 }
19564 impl ::std::convert::From<ID3D12Device8> for ID3D12Device6 {
from(value: ID3D12Device8) -> Self19565     fn from(value: ID3D12Device8) -> Self {
19566         unsafe { ::std::mem::transmute(value) }
19567     }
19568 }
19569 impl ::std::convert::From<&ID3D12Device8> for ID3D12Device6 {
from(value: &ID3D12Device8) -> Self19570     fn from(value: &ID3D12Device8) -> Self {
19571         ::std::convert::From::from(::std::clone::Clone::clone(value))
19572     }
19573 }
19574 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device6> for ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device6>19575     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device6> {
19576         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device6>::into(self))
19577     }
19578 }
19579 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device6> for &ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device6>19580     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device6> {
19581         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device6>::into(::std::clone::Clone::clone(self)))
19582     }
19583 }
19584 impl ::std::convert::From<ID3D12Device8> for ID3D12Device5 {
from(value: ID3D12Device8) -> Self19585     fn from(value: ID3D12Device8) -> Self {
19586         unsafe { ::std::mem::transmute(value) }
19587     }
19588 }
19589 impl ::std::convert::From<&ID3D12Device8> for ID3D12Device5 {
from(value: &ID3D12Device8) -> Self19590     fn from(value: &ID3D12Device8) -> Self {
19591         ::std::convert::From::from(::std::clone::Clone::clone(value))
19592     }
19593 }
19594 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device5> for ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5>19595     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5> {
19596         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device5>::into(self))
19597     }
19598 }
19599 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device5> for &ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5>19600     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5> {
19601         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device5>::into(::std::clone::Clone::clone(self)))
19602     }
19603 }
19604 impl ::std::convert::From<ID3D12Device8> for ID3D12Device4 {
from(value: ID3D12Device8) -> Self19605     fn from(value: ID3D12Device8) -> Self {
19606         unsafe { ::std::mem::transmute(value) }
19607     }
19608 }
19609 impl ::std::convert::From<&ID3D12Device8> for ID3D12Device4 {
from(value: &ID3D12Device8) -> Self19610     fn from(value: &ID3D12Device8) -> Self {
19611         ::std::convert::From::from(::std::clone::Clone::clone(value))
19612     }
19613 }
19614 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device4> for ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4>19615     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4> {
19616         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device4>::into(self))
19617     }
19618 }
19619 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device4> for &ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4>19620     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4> {
19621         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device4>::into(::std::clone::Clone::clone(self)))
19622     }
19623 }
19624 impl ::std::convert::From<ID3D12Device8> for ID3D12Device3 {
from(value: ID3D12Device8) -> Self19625     fn from(value: ID3D12Device8) -> Self {
19626         unsafe { ::std::mem::transmute(value) }
19627     }
19628 }
19629 impl ::std::convert::From<&ID3D12Device8> for ID3D12Device3 {
from(value: &ID3D12Device8) -> Self19630     fn from(value: &ID3D12Device8) -> Self {
19631         ::std::convert::From::from(::std::clone::Clone::clone(value))
19632     }
19633 }
19634 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device3> for ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3>19635     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3> {
19636         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device3>::into(self))
19637     }
19638 }
19639 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device3> for &ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3>19640     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3> {
19641         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device3>::into(::std::clone::Clone::clone(self)))
19642     }
19643 }
19644 impl ::std::convert::From<ID3D12Device8> for ID3D12Device2 {
from(value: ID3D12Device8) -> Self19645     fn from(value: ID3D12Device8) -> Self {
19646         unsafe { ::std::mem::transmute(value) }
19647     }
19648 }
19649 impl ::std::convert::From<&ID3D12Device8> for ID3D12Device2 {
from(value: &ID3D12Device8) -> Self19650     fn from(value: &ID3D12Device8) -> Self {
19651         ::std::convert::From::from(::std::clone::Clone::clone(value))
19652     }
19653 }
19654 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device2> for ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2>19655     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2> {
19656         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device2>::into(self))
19657     }
19658 }
19659 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device2> for &ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2>19660     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2> {
19661         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device2>::into(::std::clone::Clone::clone(self)))
19662     }
19663 }
19664 impl ::std::convert::From<ID3D12Device8> for ID3D12Device1 {
from(value: ID3D12Device8) -> Self19665     fn from(value: ID3D12Device8) -> Self {
19666         unsafe { ::std::mem::transmute(value) }
19667     }
19668 }
19669 impl ::std::convert::From<&ID3D12Device8> for ID3D12Device1 {
from(value: &ID3D12Device8) -> Self19670     fn from(value: &ID3D12Device8) -> Self {
19671         ::std::convert::From::from(::std::clone::Clone::clone(value))
19672     }
19673 }
19674 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>19675     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
19676         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(self))
19677     }
19678 }
19679 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for &ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>19680     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
19681         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(::std::clone::Clone::clone(self)))
19682     }
19683 }
19684 impl ::std::convert::From<ID3D12Device8> for ID3D12Device {
from(value: ID3D12Device8) -> Self19685     fn from(value: ID3D12Device8) -> Self {
19686         unsafe { ::std::mem::transmute(value) }
19687     }
19688 }
19689 impl ::std::convert::From<&ID3D12Device8> for ID3D12Device {
from(value: &ID3D12Device8) -> Self19690     fn from(value: &ID3D12Device8) -> Self {
19691         ::std::convert::From::from(::std::clone::Clone::clone(value))
19692     }
19693 }
19694 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>19695     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
19696         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(self))
19697     }
19698 }
19699 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for &ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>19700     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
19701         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(::std::clone::Clone::clone(self)))
19702     }
19703 }
19704 impl ::std::convert::From<ID3D12Device8> for ID3D12Object {
from(value: ID3D12Device8) -> Self19705     fn from(value: ID3D12Device8) -> Self {
19706         unsafe { ::std::mem::transmute(value) }
19707     }
19708 }
19709 impl ::std::convert::From<&ID3D12Device8> for ID3D12Object {
from(value: &ID3D12Device8) -> Self19710     fn from(value: &ID3D12Device8) -> Self {
19711         ::std::convert::From::from(::std::clone::Clone::clone(value))
19712     }
19713 }
19714 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>19715     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
19716         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
19717     }
19718 }
19719 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Device8 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>19720     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
19721         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
19722     }
19723 }
19724 #[repr(C)]
19725 #[doc(hidden)]
19726 pub struct ID3D12Device8_abi(
19727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
19728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
19729     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
19730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19731     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19732     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
19733     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
19734     #[cfg(not(feature = "Win32_Foundation"))] usize,
19735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
19736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_QUEUE_DESC, riid: *const ::windows::runtime::GUID, ppcommandqueue: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_COMMAND_LIST_TYPE, riid: *const ::windows::runtime::GUID, ppcommandallocator: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19738     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_GRAPHICS_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19739     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
19740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_COMPUTE_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19741     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::HRESULT,
19743     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32,
19745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize, riid: *const ::windows::runtime::GUID, ppvrootsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
19747     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
19748     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19749     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pcounterresource: ::windows::runtime::RawPtr, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
19750     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19751     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
19752     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19753     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
19754     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
19756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
19757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
19758     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC),
19759     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_HEAP_PROPERTIES, nodemask: u32, heaptype: D3D12_HEAP_TYPE),
19761     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19762     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19763     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19764     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheap: ::windows::runtime::RawPtr, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19765     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19766     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19767     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19768     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pobject: ::windows::runtime::RawPtr, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: super::super::Foundation::PWSTR, phandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
19769     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Security")))] usize,
19770     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nthandle: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19771     #[cfg(not(feature = "Win32_Foundation"))] usize,
19772     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR, access: u32, pnthandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
19773     #[cfg(not(feature = "Win32_Foundation"))] usize,
19774     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
19775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
19776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvalue: u64, flags: D3D12_FENCE_FLAGS, riid: *const ::windows::runtime::GUID, ppfence: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
19778     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64),
19779     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_QUERY_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19781     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
19782     #[cfg(not(feature = "Win32_Foundation"))] usize,
19783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvcommandsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING),
19785     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::LUID),
19786     #[cfg(not(feature = "Win32_Foundation"))] usize,
19787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plibraryblob: *const ::std::ffi::c_void, bloblength: usize, riid: *const ::windows::runtime::GUID, pppipelinelibrary: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19788     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppfences: *const ::windows::runtime::RawPtr, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
19789     #[cfg(not(feature = "Win32_Foundation"))] usize,
19790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::HRESULT,
19791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddress: *const ::std::ffi::c_void, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19793     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hfilemapping: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19794     #[cfg(not(feature = "Win32_Foundation"))] usize,
19795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, pfencetosignal: ::windows::runtime::RawPtr, fencevaluetosignal: u64) -> ::windows::runtime::HRESULT,
19796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC, riid: *const ::windows::runtime::GUID, ppsession: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19798     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: ::windows::runtime::RawPtr, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19799     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19801     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19802     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19803     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1),
19804     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, powner: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvtracker: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
19807     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows::runtime::HRESULT,
19808     #[cfg(not(feature = "Win32_Foundation"))] usize,
19809     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandid: *const ::windows::runtime::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows::runtime::HRESULT,
19810     #[cfg(not(feature = "Win32_Foundation"))] usize,
19811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandid: *const ::windows::runtime::GUID, nodemask: u32, pcreationparametersdata: *const ::std::ffi::c_void, creationparametersdatasizeinbytes: usize, riid: *const ::windows::runtime::GUID, ppmetacommand: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_STATE_OBJECT_DESC, riid: *const ::windows::runtime::GUID, ppstateobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19813     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO),
19814     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19815     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS,
19816     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: super::super::Foundation::HANDLE, pbfurthermeasurementsdesired: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
19817     #[cfg(not(feature = "Win32_Foundation"))] usize,
19818     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppnewstateobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1, riid: *const ::windows::runtime::GUID, ppsession: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19820     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1),
19821     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19822     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: ::windows::runtime::RawPtr, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19823     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19824     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheap: ::windows::runtime::RawPtr, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
19825     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptargetedresource: ::windows::runtime::RawPtr, pfeedbackresource: ::windows::runtime::RawPtr, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
19827     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presourcedesc: *const D3D12_RESOURCE_DESC1, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64),
19828     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
19829 );
19830 #[repr(transparent)]
19831 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
19832 pub struct ID3D12Device9(::windows::runtime::IUnknown);
19833 impl ID3D12Device9 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>19834     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
19835         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
19836     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>19837     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
19838         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
19839     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>19840     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
19841         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
19842     }
19843     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>19844     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
19845         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
19846     }
GetNodeCount(&self) -> u3219847     pub unsafe fn GetNodeCount(&self) -> u32 {
19848         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
19849     }
CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T>19850     pub unsafe fn CreateCommandQueue<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows::runtime::Result<T> {
19851         let mut result__ = ::std::option::Option::None;
19852         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19853     }
CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T>19854     pub unsafe fn CreateCommandAllocator<T: ::windows::runtime::Interface>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows::runtime::Result<T> {
19855         let mut result__ = ::std::option::Option::None;
19856         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(r#type), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19857     }
19858     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>19859     pub unsafe fn CreateGraphicsPipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
19860         let mut result__ = ::std::option::Option::None;
19861         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19862     }
CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>19863     pub unsafe fn CreateComputePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
19864         let mut result__ = ::std::option::Option::None;
19865         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19866     }
CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T>19867     pub unsafe fn CreateCommandList<'a, Param2: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param3: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>, T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: Param2, pinitialstate: Param3) -> ::windows::runtime::Result<T> {
19868         let mut result__ = ::std::option::Option::None;
19869         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19870     }
CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()>19871     pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::Result<()> {
19872         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(feature), ::std::mem::transmute(pfeaturesupportdata), ::std::mem::transmute(featuresupportdatasize)).ok()
19873     }
CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T>19874     pub unsafe fn CreateDescriptorHeap<T: ::windows::runtime::Interface>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows::runtime::Result<T> {
19875         let mut result__ = ::std::option::Option::None;
19876         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdescriptorheapdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19877     }
GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u3219878     pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
19879         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(descriptorheaptype)))
19880     }
CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T>19881     pub unsafe fn CreateRootSignature<T: ::windows::runtime::Interface>(&self, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize) -> ::windows::runtime::Result<T> {
19882         let mut result__ = ::std::option::Option::None;
19883         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(pblobwithrootsignature), ::std::mem::transmute(bloblengthinbytes), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19884     }
CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1)19885     pub unsafe fn CreateConstantBufferView<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: Param1) {
19886         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
19887     }
19888     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2)19889     pub unsafe fn CreateShaderResourceView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: Param2) {
19890         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
19891     }
19892     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3)19893     pub unsafe fn CreateUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pcounterresource: Param1, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: Param3) {
19894         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
19895     }
19896     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2)19897     pub unsafe fn CreateRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: Param2) {
19898         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
19899     }
19900     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2)19901     pub unsafe fn CreateDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, presource: Param0, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: Param2) {
19902         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
19903     }
CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1)19904     pub unsafe fn CreateSampler<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: Param1) {
19905         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), destdescriptor.into_param().abi()))
19906     }
CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)19907     pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
19908         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(
19909             ::std::mem::transmute_copy(self),
19910             ::std::mem::transmute(numdestdescriptorranges),
19911             ::std::mem::transmute(pdestdescriptorrangestarts),
19912             ::std::mem::transmute(pdestdescriptorrangesizes),
19913             ::std::mem::transmute(numsrcdescriptorranges),
19914             ::std::mem::transmute(psrcdescriptorrangestarts),
19915             ::std::mem::transmute(psrcdescriptorrangesizes),
19916             ::std::mem::transmute(descriptorheapstype),
19917         ))
19918     }
CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE)19919     pub unsafe fn CopyDescriptorsSimple<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, numdescriptors: u32, destdescriptorrangestart: Param1, srcdescriptorrangestart: Param2, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
19920         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptors), destdescriptorrangestart.into_param().abi(), srcdescriptorrangestart.into_param().abi(), ::std::mem::transmute(descriptorheapstype)))
19921     }
19922     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO19923     pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC) -> D3D12_RESOURCE_ALLOCATION_INFO {
19924         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
19925         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs));
19926         result__
19927     }
GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES19928     pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
19929         let mut result__: D3D12_HEAP_PROPERTIES = ::std::default::Default::default();
19930         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(nodemask), ::std::mem::transmute(heaptype));
19931         result__
19932     }
19933     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19934     pub unsafe fn CreateCommittedResource<T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19935         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(pheapproperties), ::std::mem::transmute(heapflags), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialresourcestate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19936     }
CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19937     pub unsafe fn CreateHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19938         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19939     }
19940     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19941     pub unsafe fn CreatePlacedResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19942         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), pheap.into_param().abi(), ::std::mem::transmute(heapoffset), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19943     }
19944     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19945     pub unsafe fn CreateReservedResource<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19946         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19947     }
19948     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>19949     pub unsafe fn CreateSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobject: Param0, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: Param3) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
19950         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
19951         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), pobject.into_param().abi(), ::std::mem::transmute(pattributes), ::std::mem::transmute(access), name.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
19952     }
19953     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19954     pub unsafe fn OpenSharedHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, nthandle: Param0, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19955         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), nthandle.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19956     }
19957     #[cfg(feature = "Win32_Foundation")]
OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>19958     pub unsafe fn OpenSharedHandleByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0, access: u32) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
19959         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
19960         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), name.into_param().abi(), ::std::mem::transmute(access), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
19961     }
MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>19962     pub unsafe fn MakeResident(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
19963         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
19964     }
Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()>19965     pub unsafe fn Evict(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>) -> ::windows::runtime::Result<()> {
19966         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects)).ok()
19967     }
CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T>19968     pub unsafe fn CreateFence<T: ::windows::runtime::Interface>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows::runtime::Result<T> {
19969         let mut result__ = ::std::option::Option::None;
19970         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvalue), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
19971     }
GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()>19972     pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows::runtime::Result<()> {
19973         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self)).ok()
19974     }
19975     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64)19976     pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64) {
19977         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(
19978             ::std::mem::transmute_copy(self),
19979             ::std::mem::transmute(presourcedesc),
19980             ::std::mem::transmute(firstsubresource),
19981             ::std::mem::transmute(numsubresources),
19982             ::std::mem::transmute(baseoffset),
19983             ::std::mem::transmute(playouts),
19984             ::std::mem::transmute(pnumrows),
19985             ::std::mem::transmute(prowsizeinbytes),
19986             ::std::mem::transmute(ptotalbytes),
19987         ))
19988     }
CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19989     pub unsafe fn CreateQueryHeap<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19990         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19991     }
19992     #[cfg(feature = "Win32_Foundation")]
SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()>19993     pub unsafe fn SetStablePowerState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, enable: Param0) -> ::windows::runtime::Result<()> {
19994         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), enable.into_param().abi()).ok()
19995     }
CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>19996     pub unsafe fn CreateCommandSignature<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
19997         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), prootsignature.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
19998     }
GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)19999     pub unsafe fn GetResourceTiling<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING) {
20000         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(
20001             ::std::mem::transmute_copy(self),
20002             ptiledresource.into_param().abi(),
20003             ::std::mem::transmute(pnumtilesforentireresource),
20004             ::std::mem::transmute(ppackedmipdesc),
20005             ::std::mem::transmute(pstandardtileshapefornonpackedmips),
20006             ::std::mem::transmute(pnumsubresourcetilings),
20007             ::std::mem::transmute(firstsubresourcetilingtoget),
20008             ::std::mem::transmute(psubresourcetilingsfornonpackedmips),
20009         ))
20010     }
20011     #[cfg(feature = "Win32_Foundation")]
GetAdapterLuid(&self) -> super::super::Foundation::LUID20012     pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
20013         let mut result__: super::super::Foundation::LUID = ::std::default::Default::default();
20014         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__);
20015         result__
20016     }
CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T>20017     pub unsafe fn CreatePipelineLibrary<T: ::windows::runtime::Interface>(&self, plibraryblob: *const ::std::ffi::c_void, bloblength: usize) -> ::windows::runtime::Result<T> {
20018         let mut result__ = ::std::option::Option::None;
20019         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(plibraryblob), ::std::mem::transmute(bloblength), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
20020     }
20021     #[cfg(feature = "Win32_Foundation")]
SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()>20022     pub unsafe fn SetEventOnMultipleFenceCompletion<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, ppfences: *const ::std::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: Param4) -> ::windows::runtime::Result<()> {
20023         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppfences), ::std::mem::transmute(pfencevalues), ::std::mem::transmute(numfences), ::std::mem::transmute(flags), hevent.into_param().abi()).ok()
20024     }
SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()>20025     pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::Result<()> {
20026         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), ::std::mem::transmute(ppriorities)).ok()
20027     }
CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T>20028     pub unsafe fn CreatePipelineState<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T> {
20029         let mut result__ = ::std::option::Option::None;
20030         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
20031     }
OpenExistingHeapFromAddress<T: ::windows::runtime::Interface>(&self, paddress: *const ::std::ffi::c_void) -> ::windows::runtime::Result<T>20032     pub unsafe fn OpenExistingHeapFromAddress<T: ::windows::runtime::Interface>(&self, paddress: *const ::std::ffi::c_void) -> ::windows::runtime::Result<T> {
20033         let mut result__ = ::std::option::Option::None;
20034         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), ::std::mem::transmute(paddress), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
20035     }
20036     #[cfg(feature = "Win32_Foundation")]
OpenExistingHeapFromFileMapping<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, hfilemapping: Param0) -> ::windows::runtime::Result<T>20037     pub unsafe fn OpenExistingHeapFromFileMapping<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>, T: ::windows::runtime::Interface>(&self, hfilemapping: Param0) -> ::windows::runtime::Result<T> {
20038         let mut result__ = ::std::option::Option::None;
20039         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), hfilemapping.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
20040     }
EnqueueMakeResident<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, pfencetosignal: Param3, fencevaluetosignal: u64) -> ::windows::runtime::Result<()>20041     pub unsafe fn EnqueueMakeResident<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::std::option::Option<ID3D12Pageable>, pfencetosignal: Param3, fencevaluetosignal: u64) -> ::windows::runtime::Result<()> {
20042         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags), ::std::mem::transmute(numobjects), ::std::mem::transmute(ppobjects), pfencetosignal.into_param().abi(), ::std::mem::transmute(fencevaluetosignal)).ok()
20043     }
CreateCommandList1<T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows::runtime::Result<T>20044     pub unsafe fn CreateCommandList1<T: ::windows::runtime::Interface>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows::runtime::Result<T> {
20045         let mut result__ = ::std::option::Option::None;
20046         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), ::std::mem::transmute(nodemask), ::std::mem::transmute(r#type), ::std::mem::transmute(flags), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
20047     }
CreateProtectedResourceSession<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows::runtime::Result<T>20048     pub unsafe fn CreateProtectedResourceSession<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows::runtime::Result<T> {
20049         let mut result__ = ::std::option::Option::None;
20050         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
20051     }
20052     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource1<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>20053     pub unsafe fn CreateCommittedResource1<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
20054         (::windows::runtime::Interface::vtable(self).53)(
20055             ::std::mem::transmute_copy(self),
20056             ::std::mem::transmute(pheapproperties),
20057             ::std::mem::transmute(heapflags),
20058             ::std::mem::transmute(pdesc),
20059             ::std::mem::transmute(initialresourcestate),
20060             ::std::mem::transmute(poptimizedclearvalue),
20061             pprotectedsession.into_param().abi(),
20062             &<T as ::windows::runtime::Interface>::IID,
20063             result__ as *mut _ as *mut _,
20064         )
20065         .ok()
20066     }
CreateHeap1<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>20067     pub unsafe fn CreateHeap1<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: Param1, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
20068         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), pprotectedsession.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
20069     }
20070     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateReservedResource1<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param3, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>20071     pub unsafe fn CreateReservedResource1<'a, Param3: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param3, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
20072         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), pprotectedsession.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
20073     }
20074     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO20075     pub unsafe fn GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO {
20076         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
20077         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs), ::std::mem::transmute(presourceallocationinfo1));
20078         result__
20079     }
CreateLifetimeTracker<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12LifetimeOwner>, T: ::windows::runtime::Interface>(&self, powner: Param0) -> ::windows::runtime::Result<T>20080     pub unsafe fn CreateLifetimeTracker<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12LifetimeOwner>, T: ::windows::runtime::Interface>(&self, powner: Param0) -> ::windows::runtime::Result<T> {
20081         let mut result__ = ::std::option::Option::None;
20082         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), powner.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
20083     }
RemoveDevice(&self)20084     pub unsafe fn RemoveDevice(&self) {
20085         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self)))
20086     }
20087     #[cfg(feature = "Win32_Foundation")]
EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows::runtime::Result<()>20088     pub unsafe fn EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows::runtime::Result<()> {
20089         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), ::std::mem::transmute(pnummetacommands), ::std::mem::transmute(pdescs)).ok()
20090     }
20091     #[cfg(feature = "Win32_Foundation")]
EnumerateMetaCommandParameters(&self, commandid: *const ::windows::runtime::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows::runtime::Result<()>20092     pub unsafe fn EnumerateMetaCommandParameters(&self, commandid: *const ::windows::runtime::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows::runtime::Result<()> {
20093         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), ::std::mem::transmute(commandid), ::std::mem::transmute(stage), ::std::mem::transmute(ptotalstructuresizeinbytes), ::std::mem::transmute(pparametercount), ::std::mem::transmute(pparameterdescs)).ok()
20094     }
CreateMetaCommand<T: ::windows::runtime::Interface>(&self, commandid: *const ::windows::runtime::GUID, nodemask: u32, pcreationparametersdata: *const ::std::ffi::c_void, creationparametersdatasizeinbytes: usize) -> ::windows::runtime::Result<T>20095     pub unsafe fn CreateMetaCommand<T: ::windows::runtime::Interface>(&self, commandid: *const ::windows::runtime::GUID, nodemask: u32, pcreationparametersdata: *const ::std::ffi::c_void, creationparametersdatasizeinbytes: usize) -> ::windows::runtime::Result<T> {
20096         let mut result__ = ::std::option::Option::None;
20097         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), ::std::mem::transmute(commandid), ::std::mem::transmute(nodemask), ::std::mem::transmute(pcreationparametersdata), ::std::mem::transmute(creationparametersdatasizeinbytes), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
20098     }
CreateStateObject<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows::runtime::Result<T>20099     pub unsafe fn CreateStateObject<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows::runtime::Result<T> {
20100         let mut result__ = ::std::option::Option::None;
20101         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
20102     }
20103     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO)20104     pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) {
20105         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(pinfo)))
20106     }
CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS20107     pub unsafe fn CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
20108         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), ::std::mem::transmute(serializeddatatype), ::std::mem::transmute(pidentifiertocheck)))
20109     }
20110     #[cfg(feature = "Win32_Foundation")]
SetBackgroundProcessingMode<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: Param2) -> ::windows::runtime::Result<super::super::Foundation::BOOL>20111     pub unsafe fn SetBackgroundProcessingMode<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: Param2) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
20112         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
20113         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), ::std::mem::transmute(mode), ::std::mem::transmute(measurementsaction), heventtosignaluponcompletion.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
20114     }
AddToStateObject<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12StateObject>, T: ::windows::runtime::Interface>(&self, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: Param1) -> ::windows::runtime::Result<T>20115     pub unsafe fn AddToStateObject<'a, Param1: ::windows::runtime::IntoParam<'a, ID3D12StateObject>, T: ::windows::runtime::Interface>(&self, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: Param1) -> ::windows::runtime::Result<T> {
20116         let mut result__ = ::std::option::Option::None;
20117         (::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), ::std::mem::transmute(paddition), pstateobjecttogrowfrom.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
20118     }
CreateProtectedResourceSession1<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows::runtime::Result<T>20119     pub unsafe fn CreateProtectedResourceSession1<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows::runtime::Result<T> {
20120         let mut result__ = ::std::option::Option::None;
20121         (::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
20122     }
20123     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetResourceAllocationInfo2(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO20124     pub unsafe fn GetResourceAllocationInfo2(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1) -> D3D12_RESOURCE_ALLOCATION_INFO {
20125         let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::std::default::Default::default();
20126         (::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), &mut result__, ::std::mem::transmute(visiblemask), ::std::mem::transmute(numresourcedescs), ::std::mem::transmute(presourcedescs), ::std::mem::transmute(presourceallocationinfo1));
20127         result__
20128     }
20129     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreateCommittedResource2<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>20130     pub unsafe fn CreateCommittedResource2<'a, Param5: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>, T: ::windows::runtime::Interface>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: Param5, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
20131         (::windows::runtime::Interface::vtable(self).69)(
20132             ::std::mem::transmute_copy(self),
20133             ::std::mem::transmute(pheapproperties),
20134             ::std::mem::transmute(heapflags),
20135             ::std::mem::transmute(pdesc),
20136             ::std::mem::transmute(initialresourcestate),
20137             ::std::mem::transmute(poptimizedclearvalue),
20138             pprotectedsession.into_param().abi(),
20139             &<T as ::windows::runtime::Interface>::IID,
20140             result__ as *mut _ as *mut _,
20141         )
20142         .ok()
20143     }
20144     #[cfg(feature = "Win32_Graphics_Dxgi")]
CreatePlacedResource1<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>20145     pub unsafe fn CreatePlacedResource1<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Heap>, T: ::windows::runtime::Interface>(&self, pheap: Param0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
20146         (::windows::runtime::Interface::vtable(self).70)(::std::mem::transmute_copy(self), pheap.into_param().abi(), ::std::mem::transmute(heapoffset), ::std::mem::transmute(pdesc), ::std::mem::transmute(initialstate), ::std::mem::transmute(poptimizedclearvalue), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
20147     }
CreateSamplerFeedbackUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, ptargetedresource: Param0, pfeedbackresource: Param1, destdescriptor: Param2)20148     pub unsafe fn CreateSamplerFeedbackUnorderedAccessView<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, ptargetedresource: Param0, pfeedbackresource: Param1, destdescriptor: Param2) {
20149         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).71)(::std::mem::transmute_copy(self), ptargetedresource.into_param().abi(), pfeedbackresource.into_param().abi(), destdescriptor.into_param().abi()))
20150     }
20151     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetCopyableFootprints1(&self, presourcedesc: *const D3D12_RESOURCE_DESC1, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64)20152     pub unsafe fn GetCopyableFootprints1(&self, presourcedesc: *const D3D12_RESOURCE_DESC1, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64) {
20153         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).72)(
20154             ::std::mem::transmute_copy(self),
20155             ::std::mem::transmute(presourcedesc),
20156             ::std::mem::transmute(firstsubresource),
20157             ::std::mem::transmute(numsubresources),
20158             ::std::mem::transmute(baseoffset),
20159             ::std::mem::transmute(playouts),
20160             ::std::mem::transmute(pnumrows),
20161             ::std::mem::transmute(prowsizeinbytes),
20162             ::std::mem::transmute(ptotalbytes),
20163         ))
20164     }
CreateShaderCacheSession<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_SHADER_CACHE_SESSION_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>20165     pub unsafe fn CreateShaderCacheSession<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_SHADER_CACHE_SESSION_DESC, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
20166         (::windows::runtime::Interface::vtable(self).73)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
20167     }
ShaderCacheControl(&self, kinds: D3D12_SHADER_CACHE_KIND_FLAGS, control: D3D12_SHADER_CACHE_CONTROL_FLAGS) -> ::windows::runtime::Result<()>20168     pub unsafe fn ShaderCacheControl(&self, kinds: D3D12_SHADER_CACHE_KIND_FLAGS, control: D3D12_SHADER_CACHE_CONTROL_FLAGS) -> ::windows::runtime::Result<()> {
20169         (::windows::runtime::Interface::vtable(self).74)(::std::mem::transmute_copy(self), ::std::mem::transmute(kinds), ::std::mem::transmute(control)).ok()
20170     }
CreateCommandQueue1<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC, creatorid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<T>20171     pub unsafe fn CreateCommandQueue1<T: ::windows::runtime::Interface>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC, creatorid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<T> {
20172         let mut result__ = ::std::option::Option::None;
20173         (::windows::runtime::Interface::vtable(self).75)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(creatorid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
20174     }
20175 }
20176 unsafe impl ::windows::runtime::Interface for ID3D12Device9 {
20177     type Vtable = ID3D12Device9_abi;
20178     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1283516770, 61490, 20320, [188, 158, 235, 194, 207, 161, 216, 60]);
20179 }
20180 impl ::std::convert::From<ID3D12Device9> for ::windows::runtime::IUnknown {
from(value: ID3D12Device9) -> Self20181     fn from(value: ID3D12Device9) -> Self {
20182         unsafe { ::std::mem::transmute(value) }
20183     }
20184 }
20185 impl ::std::convert::From<&ID3D12Device9> for ::windows::runtime::IUnknown {
from(value: &ID3D12Device9) -> Self20186     fn from(value: &ID3D12Device9) -> Self {
20187         ::std::convert::From::from(::std::clone::Clone::clone(value))
20188     }
20189 }
20190 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20191     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20192         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
20193     }
20194 }
20195 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20196     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20197         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
20198     }
20199 }
20200 impl ::std::convert::From<ID3D12Device9> for ID3D12Device8 {
from(value: ID3D12Device9) -> Self20201     fn from(value: ID3D12Device9) -> Self {
20202         unsafe { ::std::mem::transmute(value) }
20203     }
20204 }
20205 impl ::std::convert::From<&ID3D12Device9> for ID3D12Device8 {
from(value: &ID3D12Device9) -> Self20206     fn from(value: &ID3D12Device9) -> Self {
20207         ::std::convert::From::from(::std::clone::Clone::clone(value))
20208     }
20209 }
20210 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device8> for ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device8>20211     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device8> {
20212         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device8>::into(self))
20213     }
20214 }
20215 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device8> for &ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device8>20216     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device8> {
20217         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device8>::into(::std::clone::Clone::clone(self)))
20218     }
20219 }
20220 impl ::std::convert::From<ID3D12Device9> for ID3D12Device7 {
from(value: ID3D12Device9) -> Self20221     fn from(value: ID3D12Device9) -> Self {
20222         unsafe { ::std::mem::transmute(value) }
20223     }
20224 }
20225 impl ::std::convert::From<&ID3D12Device9> for ID3D12Device7 {
from(value: &ID3D12Device9) -> Self20226     fn from(value: &ID3D12Device9) -> Self {
20227         ::std::convert::From::from(::std::clone::Clone::clone(value))
20228     }
20229 }
20230 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device7> for ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device7>20231     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device7> {
20232         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device7>::into(self))
20233     }
20234 }
20235 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device7> for &ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device7>20236     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device7> {
20237         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device7>::into(::std::clone::Clone::clone(self)))
20238     }
20239 }
20240 impl ::std::convert::From<ID3D12Device9> for ID3D12Device6 {
from(value: ID3D12Device9) -> Self20241     fn from(value: ID3D12Device9) -> Self {
20242         unsafe { ::std::mem::transmute(value) }
20243     }
20244 }
20245 impl ::std::convert::From<&ID3D12Device9> for ID3D12Device6 {
from(value: &ID3D12Device9) -> Self20246     fn from(value: &ID3D12Device9) -> Self {
20247         ::std::convert::From::from(::std::clone::Clone::clone(value))
20248     }
20249 }
20250 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device6> for ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device6>20251     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device6> {
20252         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device6>::into(self))
20253     }
20254 }
20255 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device6> for &ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device6>20256     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device6> {
20257         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device6>::into(::std::clone::Clone::clone(self)))
20258     }
20259 }
20260 impl ::std::convert::From<ID3D12Device9> for ID3D12Device5 {
from(value: ID3D12Device9) -> Self20261     fn from(value: ID3D12Device9) -> Self {
20262         unsafe { ::std::mem::transmute(value) }
20263     }
20264 }
20265 impl ::std::convert::From<&ID3D12Device9> for ID3D12Device5 {
from(value: &ID3D12Device9) -> Self20266     fn from(value: &ID3D12Device9) -> Self {
20267         ::std::convert::From::from(::std::clone::Clone::clone(value))
20268     }
20269 }
20270 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device5> for ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5>20271     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5> {
20272         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device5>::into(self))
20273     }
20274 }
20275 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device5> for &ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5>20276     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device5> {
20277         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device5>::into(::std::clone::Clone::clone(self)))
20278     }
20279 }
20280 impl ::std::convert::From<ID3D12Device9> for ID3D12Device4 {
from(value: ID3D12Device9) -> Self20281     fn from(value: ID3D12Device9) -> Self {
20282         unsafe { ::std::mem::transmute(value) }
20283     }
20284 }
20285 impl ::std::convert::From<&ID3D12Device9> for ID3D12Device4 {
from(value: &ID3D12Device9) -> Self20286     fn from(value: &ID3D12Device9) -> Self {
20287         ::std::convert::From::from(::std::clone::Clone::clone(value))
20288     }
20289 }
20290 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device4> for ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4>20291     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4> {
20292         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device4>::into(self))
20293     }
20294 }
20295 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device4> for &ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4>20296     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device4> {
20297         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device4>::into(::std::clone::Clone::clone(self)))
20298     }
20299 }
20300 impl ::std::convert::From<ID3D12Device9> for ID3D12Device3 {
from(value: ID3D12Device9) -> Self20301     fn from(value: ID3D12Device9) -> Self {
20302         unsafe { ::std::mem::transmute(value) }
20303     }
20304 }
20305 impl ::std::convert::From<&ID3D12Device9> for ID3D12Device3 {
from(value: &ID3D12Device9) -> Self20306     fn from(value: &ID3D12Device9) -> Self {
20307         ::std::convert::From::from(::std::clone::Clone::clone(value))
20308     }
20309 }
20310 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device3> for ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3>20311     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3> {
20312         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device3>::into(self))
20313     }
20314 }
20315 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device3> for &ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3>20316     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device3> {
20317         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device3>::into(::std::clone::Clone::clone(self)))
20318     }
20319 }
20320 impl ::std::convert::From<ID3D12Device9> for ID3D12Device2 {
from(value: ID3D12Device9) -> Self20321     fn from(value: ID3D12Device9) -> Self {
20322         unsafe { ::std::mem::transmute(value) }
20323     }
20324 }
20325 impl ::std::convert::From<&ID3D12Device9> for ID3D12Device2 {
from(value: &ID3D12Device9) -> Self20326     fn from(value: &ID3D12Device9) -> Self {
20327         ::std::convert::From::from(::std::clone::Clone::clone(value))
20328     }
20329 }
20330 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device2> for ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2>20331     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2> {
20332         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device2>::into(self))
20333     }
20334 }
20335 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device2> for &ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2>20336     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device2> {
20337         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device2>::into(::std::clone::Clone::clone(self)))
20338     }
20339 }
20340 impl ::std::convert::From<ID3D12Device9> for ID3D12Device1 {
from(value: ID3D12Device9) -> Self20341     fn from(value: ID3D12Device9) -> Self {
20342         unsafe { ::std::mem::transmute(value) }
20343     }
20344 }
20345 impl ::std::convert::From<&ID3D12Device9> for ID3D12Device1 {
from(value: &ID3D12Device9) -> Self20346     fn from(value: &ID3D12Device9) -> Self {
20347         ::std::convert::From::from(::std::clone::Clone::clone(value))
20348     }
20349 }
20350 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>20351     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
20352         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(self))
20353     }
20354 }
20355 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device1> for &ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1>20356     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device1> {
20357         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device1>::into(::std::clone::Clone::clone(self)))
20358     }
20359 }
20360 impl ::std::convert::From<ID3D12Device9> for ID3D12Device {
from(value: ID3D12Device9) -> Self20361     fn from(value: ID3D12Device9) -> Self {
20362         unsafe { ::std::mem::transmute(value) }
20363     }
20364 }
20365 impl ::std::convert::From<&ID3D12Device9> for ID3D12Device {
from(value: &ID3D12Device9) -> Self20366     fn from(value: &ID3D12Device9) -> Self {
20367         ::std::convert::From::from(::std::clone::Clone::clone(value))
20368     }
20369 }
20370 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>20371     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
20372         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(self))
20373     }
20374 }
20375 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Device> for &ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device>20376     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Device> {
20377         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Device>::into(::std::clone::Clone::clone(self)))
20378     }
20379 }
20380 impl ::std::convert::From<ID3D12Device9> for ID3D12Object {
from(value: ID3D12Device9) -> Self20381     fn from(value: ID3D12Device9) -> Self {
20382         unsafe { ::std::mem::transmute(value) }
20383     }
20384 }
20385 impl ::std::convert::From<&ID3D12Device9> for ID3D12Object {
from(value: &ID3D12Device9) -> Self20386     fn from(value: &ID3D12Device9) -> Self {
20387         ::std::convert::From::from(::std::clone::Clone::clone(value))
20388     }
20389 }
20390 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>20391     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
20392         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
20393     }
20394 }
20395 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Device9 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>20396     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
20397         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
20398     }
20399 }
20400 #[repr(C)]
20401 #[doc(hidden)]
20402 pub struct ID3D12Device9_abi(
20403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
20404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
20405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
20406     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20408     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
20409     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
20410     #[cfg(not(feature = "Win32_Foundation"))] usize,
20411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
20412     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_QUEUE_DESC, riid: *const ::windows::runtime::GUID, ppcommandqueue: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: D3D12_COMMAND_LIST_TYPE, riid: *const ::windows::runtime::GUID, ppcommandallocator: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20414     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_GRAPHICS_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20415     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
20416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const ::std::mem::ManuallyDrop<D3D12_COMPUTE_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::std::ffi::c_void, featuresupportdatasize: u32) -> ::windows::runtime::HRESULT,
20419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32,
20421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, pblobwithrootsignature: *const ::std::ffi::c_void, bloblengthinbytes: usize, riid: *const ::windows::runtime::GUID, ppvrootsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
20423     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
20424     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20425     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pcounterresource: ::windows::runtime::RawPtr, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
20426     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20427     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
20428     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20429     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
20430     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
20432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: *const u32, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: *const u32, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
20433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
20434     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC),
20435     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_HEAP_PROPERTIES, nodemask: u32, heaptype: D3D12_HEAP_TYPE),
20437     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20438     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20440     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheap: ::windows::runtime::RawPtr, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20441     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20442     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20443     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20444     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pobject: ::windows::runtime::RawPtr, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: super::super::Foundation::PWSTR, phandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
20445     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Security")))] usize,
20446     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nthandle: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20447     #[cfg(not(feature = "Win32_Foundation"))] usize,
20448     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR, access: u32, pnthandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
20449     #[cfg(not(feature = "Win32_Foundation"))] usize,
20450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
20451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
20452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvalue: u64, flags: D3D12_FENCE_FLAGS, riid: *const ::windows::runtime::GUID, ppfence: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
20454     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64),
20455     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_QUERY_HEAP_DESC, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20457     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
20458     #[cfg(not(feature = "Win32_Foundation"))] usize,
20459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvcommandsignature: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING),
20461     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::LUID),
20462     #[cfg(not(feature = "Win32_Foundation"))] usize,
20463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plibraryblob: *const ::std::ffi::c_void, bloblength: usize, riid: *const ::windows::runtime::GUID, pppipelinelibrary: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20464     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppfences: *const ::windows::runtime::RawPtr, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
20465     #[cfg(not(feature = "Win32_Foundation"))] usize,
20466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows::runtime::HRESULT,
20467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddress: *const ::std::ffi::c_void, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20469     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hfilemapping: super::super::Foundation::HANDLE, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20470     #[cfg(not(feature = "Win32_Foundation"))] usize,
20471     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const ::windows::runtime::RawPtr, pfencetosignal: ::windows::runtime::RawPtr, fencevaluetosignal: u64) -> ::windows::runtime::HRESULT,
20472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS, riid: *const ::windows::runtime::GUID, ppcommandlist: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC, riid: *const ::windows::runtime::GUID, ppsession: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20474     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: ::windows::runtime::RawPtr, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20475     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvheap: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20477     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20478     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20479     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1),
20480     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, powner: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvtracker: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
20483     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows::runtime::HRESULT,
20484     #[cfg(not(feature = "Win32_Foundation"))] usize,
20485     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandid: *const ::windows::runtime::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows::runtime::HRESULT,
20486     #[cfg(not(feature = "Win32_Foundation"))] usize,
20487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandid: *const ::windows::runtime::GUID, nodemask: u32, pcreationparametersdata: *const ::std::ffi::c_void, creationparametersdatasizeinbytes: usize, riid: *const ::windows::runtime::GUID, ppmetacommand: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_STATE_OBJECT_DESC, riid: *const ::windows::runtime::GUID, ppstateobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20489     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO),
20490     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS,
20492     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: super::super::Foundation::HANDLE, pbfurthermeasurementsdesired: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
20493     #[cfg(not(feature = "Win32_Foundation"))] usize,
20494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppnewstateobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1, riid: *const ::windows::runtime::GUID, ppsession: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20496     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1),
20497     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20498     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: ::windows::runtime::RawPtr, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20499     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20500     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheap: ::windows::runtime::RawPtr, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20501     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptargetedresource: ::windows::runtime::RawPtr, pfeedbackresource: ::windows::runtime::RawPtr, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
20503     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presourcedesc: *const D3D12_RESOURCE_DESC1, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pnumrows: *mut u32, prowsizeinbytes: *mut u64, ptotalbytes: *mut u64),
20504     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
20505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_SHADER_CACHE_SESSION_DESC, riid: *const ::windows::runtime::GUID, ppvsession: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, kinds: D3D12_SHADER_CACHE_KIND_FLAGS, control: D3D12_SHADER_CACHE_CONTROL_FLAGS) -> ::windows::runtime::HRESULT,
20507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_COMMAND_QUEUE_DESC, creatorid: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, ppcommandqueue: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20508 );
20509 #[repr(transparent)]
20510 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
20511 pub struct ID3D12DeviceChild(::windows::runtime::IUnknown);
20512 impl ID3D12DeviceChild {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>20513     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
20514         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
20515     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>20516     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
20517         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
20518     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>20519     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
20520         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
20521     }
20522     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>20523     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
20524         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
20525     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>20526     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
20527         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
20528     }
20529 }
20530 unsafe impl ::windows::runtime::Interface for ID3D12DeviceChild {
20531     type Vtable = ID3D12DeviceChild_abi;
20532     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2422061387, 40972, 16704, [157, 245, 43, 100, 202, 158, 163, 87]);
20533 }
20534 impl ::std::convert::From<ID3D12DeviceChild> for ::windows::runtime::IUnknown {
from(value: ID3D12DeviceChild) -> Self20535     fn from(value: ID3D12DeviceChild) -> Self {
20536         unsafe { ::std::mem::transmute(value) }
20537     }
20538 }
20539 impl ::std::convert::From<&ID3D12DeviceChild> for ::windows::runtime::IUnknown {
from(value: &ID3D12DeviceChild) -> Self20540     fn from(value: &ID3D12DeviceChild) -> Self {
20541         ::std::convert::From::from(::std::clone::Clone::clone(value))
20542     }
20543 }
20544 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12DeviceChild {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20545     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20546         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
20547     }
20548 }
20549 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12DeviceChild {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20550     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20551         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
20552     }
20553 }
20554 impl ::std::convert::From<ID3D12DeviceChild> for ID3D12Object {
from(value: ID3D12DeviceChild) -> Self20555     fn from(value: ID3D12DeviceChild) -> Self {
20556         unsafe { ::std::mem::transmute(value) }
20557     }
20558 }
20559 impl ::std::convert::From<&ID3D12DeviceChild> for ID3D12Object {
from(value: &ID3D12DeviceChild) -> Self20560     fn from(value: &ID3D12DeviceChild) -> Self {
20561         ::std::convert::From::from(::std::clone::Clone::clone(value))
20562     }
20563 }
20564 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12DeviceChild {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>20565     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
20566         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
20567     }
20568 }
20569 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12DeviceChild {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>20570     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
20571         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
20572     }
20573 }
20574 #[repr(C)]
20575 #[doc(hidden)]
20576 pub struct ID3D12DeviceChild_abi(
20577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
20578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
20579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
20580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
20583     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
20584     #[cfg(not(feature = "Win32_Foundation"))] usize,
20585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
20586 );
20587 #[repr(transparent)]
20588 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
20589 pub struct ID3D12DeviceRemovedExtendedData(::windows::runtime::IUnknown);
20590 impl ID3D12DeviceRemovedExtendedData {
20591     #[cfg(feature = "Win32_Foundation")]
GetAutoBreadcrumbsOutput(&self) -> ::windows::runtime::Result<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT>20592     pub unsafe fn GetAutoBreadcrumbsOutput(&self) -> ::windows::runtime::Result<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT> {
20593         let mut result__: <D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
20594         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT>(result__)
20595     }
20596     #[cfg(feature = "Win32_Foundation")]
GetPageFaultAllocationOutput(&self) -> ::windows::runtime::Result<D3D12_DRED_PAGE_FAULT_OUTPUT>20597     pub unsafe fn GetPageFaultAllocationOutput(&self) -> ::windows::runtime::Result<D3D12_DRED_PAGE_FAULT_OUTPUT> {
20598         let mut result__: <D3D12_DRED_PAGE_FAULT_OUTPUT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
20599         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_DRED_PAGE_FAULT_OUTPUT>(result__)
20600     }
20601 }
20602 unsafe impl ::windows::runtime::Interface for ID3D12DeviceRemovedExtendedData {
20603     type Vtable = ID3D12DeviceRemovedExtendedData_abi;
20604     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2559778099, 23272, 18321, [170, 60, 26, 115, 162, 147, 78, 113]);
20605 }
20606 impl ::std::convert::From<ID3D12DeviceRemovedExtendedData> for ::windows::runtime::IUnknown {
from(value: ID3D12DeviceRemovedExtendedData) -> Self20607     fn from(value: ID3D12DeviceRemovedExtendedData) -> Self {
20608         unsafe { ::std::mem::transmute(value) }
20609     }
20610 }
20611 impl ::std::convert::From<&ID3D12DeviceRemovedExtendedData> for ::windows::runtime::IUnknown {
from(value: &ID3D12DeviceRemovedExtendedData) -> Self20612     fn from(value: &ID3D12DeviceRemovedExtendedData) -> Self {
20613         ::std::convert::From::from(::std::clone::Clone::clone(value))
20614     }
20615 }
20616 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12DeviceRemovedExtendedData {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20617     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20618         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
20619     }
20620 }
20621 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12DeviceRemovedExtendedData {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20622     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20623         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
20624     }
20625 }
20626 #[repr(C)]
20627 #[doc(hidden)]
20628 pub struct ID3D12DeviceRemovedExtendedData_abi(
20629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
20630     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
20631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
20632     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poutput: *mut D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT) -> ::windows::runtime::HRESULT,
20633     #[cfg(not(feature = "Win32_Foundation"))] usize,
20634     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poutput: *mut D3D12_DRED_PAGE_FAULT_OUTPUT) -> ::windows::runtime::HRESULT,
20635     #[cfg(not(feature = "Win32_Foundation"))] usize,
20636 );
20637 #[repr(transparent)]
20638 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
20639 pub struct ID3D12DeviceRemovedExtendedData1(::windows::runtime::IUnknown);
20640 impl ID3D12DeviceRemovedExtendedData1 {
20641     #[cfg(feature = "Win32_Foundation")]
GetAutoBreadcrumbsOutput(&self) -> ::windows::runtime::Result<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT>20642     pub unsafe fn GetAutoBreadcrumbsOutput(&self) -> ::windows::runtime::Result<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT> {
20643         let mut result__: <D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
20644         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT>(result__)
20645     }
20646     #[cfg(feature = "Win32_Foundation")]
GetPageFaultAllocationOutput(&self) -> ::windows::runtime::Result<D3D12_DRED_PAGE_FAULT_OUTPUT>20647     pub unsafe fn GetPageFaultAllocationOutput(&self) -> ::windows::runtime::Result<D3D12_DRED_PAGE_FAULT_OUTPUT> {
20648         let mut result__: <D3D12_DRED_PAGE_FAULT_OUTPUT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
20649         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_DRED_PAGE_FAULT_OUTPUT>(result__)
20650     }
20651     #[cfg(feature = "Win32_Foundation")]
GetAutoBreadcrumbsOutput1(&self) -> ::windows::runtime::Result<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1>20652     pub unsafe fn GetAutoBreadcrumbsOutput1(&self) -> ::windows::runtime::Result<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1> {
20653         let mut result__: <D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
20654         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1>(result__)
20655     }
20656     #[cfg(feature = "Win32_Foundation")]
GetPageFaultAllocationOutput1(&self) -> ::windows::runtime::Result<D3D12_DRED_PAGE_FAULT_OUTPUT1>20657     pub unsafe fn GetPageFaultAllocationOutput1(&self) -> ::windows::runtime::Result<D3D12_DRED_PAGE_FAULT_OUTPUT1> {
20658         let mut result__: <D3D12_DRED_PAGE_FAULT_OUTPUT1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
20659         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_DRED_PAGE_FAULT_OUTPUT1>(result__)
20660     }
20661 }
20662 unsafe impl ::windows::runtime::Interface for ID3D12DeviceRemovedExtendedData1 {
20663     type Vtable = ID3D12DeviceRemovedExtendedData1_abi;
20664     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2535956514, 53021, 19930, [158, 186, 239, 250, 101, 63, 197, 6]);
20665 }
20666 impl ::std::convert::From<ID3D12DeviceRemovedExtendedData1> for ::windows::runtime::IUnknown {
from(value: ID3D12DeviceRemovedExtendedData1) -> Self20667     fn from(value: ID3D12DeviceRemovedExtendedData1) -> Self {
20668         unsafe { ::std::mem::transmute(value) }
20669     }
20670 }
20671 impl ::std::convert::From<&ID3D12DeviceRemovedExtendedData1> for ::windows::runtime::IUnknown {
from(value: &ID3D12DeviceRemovedExtendedData1) -> Self20672     fn from(value: &ID3D12DeviceRemovedExtendedData1) -> Self {
20673         ::std::convert::From::from(::std::clone::Clone::clone(value))
20674     }
20675 }
20676 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12DeviceRemovedExtendedData1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20677     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20678         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
20679     }
20680 }
20681 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12DeviceRemovedExtendedData1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20682     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20683         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
20684     }
20685 }
20686 impl ::std::convert::From<ID3D12DeviceRemovedExtendedData1> for ID3D12DeviceRemovedExtendedData {
from(value: ID3D12DeviceRemovedExtendedData1) -> Self20687     fn from(value: ID3D12DeviceRemovedExtendedData1) -> Self {
20688         unsafe { ::std::mem::transmute(value) }
20689     }
20690 }
20691 impl ::std::convert::From<&ID3D12DeviceRemovedExtendedData1> for ID3D12DeviceRemovedExtendedData {
from(value: &ID3D12DeviceRemovedExtendedData1) -> Self20692     fn from(value: &ID3D12DeviceRemovedExtendedData1) -> Self {
20693         ::std::convert::From::from(::std::clone::Clone::clone(value))
20694     }
20695 }
20696 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceRemovedExtendedData> for ID3D12DeviceRemovedExtendedData1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedData>20697     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedData> {
20698         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceRemovedExtendedData>::into(self))
20699     }
20700 }
20701 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceRemovedExtendedData> for &ID3D12DeviceRemovedExtendedData1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedData>20702     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedData> {
20703         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceRemovedExtendedData>::into(::std::clone::Clone::clone(self)))
20704     }
20705 }
20706 #[repr(C)]
20707 #[doc(hidden)]
20708 pub struct ID3D12DeviceRemovedExtendedData1_abi(
20709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
20710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
20711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
20712     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poutput: *mut D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT) -> ::windows::runtime::HRESULT,
20713     #[cfg(not(feature = "Win32_Foundation"))] usize,
20714     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poutput: *mut D3D12_DRED_PAGE_FAULT_OUTPUT) -> ::windows::runtime::HRESULT,
20715     #[cfg(not(feature = "Win32_Foundation"))] usize,
20716     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poutput: *mut D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1) -> ::windows::runtime::HRESULT,
20717     #[cfg(not(feature = "Win32_Foundation"))] usize,
20718     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poutput: *mut D3D12_DRED_PAGE_FAULT_OUTPUT1) -> ::windows::runtime::HRESULT,
20719     #[cfg(not(feature = "Win32_Foundation"))] usize,
20720 );
20721 #[repr(transparent)]
20722 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
20723 pub struct ID3D12DeviceRemovedExtendedData2(::windows::runtime::IUnknown);
20724 impl ID3D12DeviceRemovedExtendedData2 {
20725     #[cfg(feature = "Win32_Foundation")]
GetAutoBreadcrumbsOutput(&self) -> ::windows::runtime::Result<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT>20726     pub unsafe fn GetAutoBreadcrumbsOutput(&self) -> ::windows::runtime::Result<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT> {
20727         let mut result__: <D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
20728         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT>(result__)
20729     }
20730     #[cfg(feature = "Win32_Foundation")]
GetPageFaultAllocationOutput(&self) -> ::windows::runtime::Result<D3D12_DRED_PAGE_FAULT_OUTPUT>20731     pub unsafe fn GetPageFaultAllocationOutput(&self) -> ::windows::runtime::Result<D3D12_DRED_PAGE_FAULT_OUTPUT> {
20732         let mut result__: <D3D12_DRED_PAGE_FAULT_OUTPUT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
20733         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_DRED_PAGE_FAULT_OUTPUT>(result__)
20734     }
20735     #[cfg(feature = "Win32_Foundation")]
GetAutoBreadcrumbsOutput1(&self) -> ::windows::runtime::Result<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1>20736     pub unsafe fn GetAutoBreadcrumbsOutput1(&self) -> ::windows::runtime::Result<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1> {
20737         let mut result__: <D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
20738         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1>(result__)
20739     }
20740     #[cfg(feature = "Win32_Foundation")]
GetPageFaultAllocationOutput1(&self) -> ::windows::runtime::Result<D3D12_DRED_PAGE_FAULT_OUTPUT1>20741     pub unsafe fn GetPageFaultAllocationOutput1(&self) -> ::windows::runtime::Result<D3D12_DRED_PAGE_FAULT_OUTPUT1> {
20742         let mut result__: <D3D12_DRED_PAGE_FAULT_OUTPUT1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
20743         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_DRED_PAGE_FAULT_OUTPUT1>(result__)
20744     }
20745     #[cfg(feature = "Win32_Foundation")]
GetPageFaultAllocationOutput2(&self) -> ::windows::runtime::Result<D3D12_DRED_PAGE_FAULT_OUTPUT2>20746     pub unsafe fn GetPageFaultAllocationOutput2(&self) -> ::windows::runtime::Result<D3D12_DRED_PAGE_FAULT_OUTPUT2> {
20747         let mut result__: <D3D12_DRED_PAGE_FAULT_OUTPUT2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
20748         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_DRED_PAGE_FAULT_OUTPUT2>(result__)
20749     }
GetDeviceState(&self) -> D3D12_DRED_DEVICE_STATE20750     pub unsafe fn GetDeviceState(&self) -> D3D12_DRED_DEVICE_STATE {
20751         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
20752     }
20753 }
20754 unsafe impl ::windows::runtime::Interface for ID3D12DeviceRemovedExtendedData2 {
20755     type Vtable = ID3D12DeviceRemovedExtendedData2_abi;
20756     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1744590870, 58570, 18709, [191, 24, 66, 84, 18, 114, 218, 84]);
20757 }
20758 impl ::std::convert::From<ID3D12DeviceRemovedExtendedData2> for ::windows::runtime::IUnknown {
from(value: ID3D12DeviceRemovedExtendedData2) -> Self20759     fn from(value: ID3D12DeviceRemovedExtendedData2) -> Self {
20760         unsafe { ::std::mem::transmute(value) }
20761     }
20762 }
20763 impl ::std::convert::From<&ID3D12DeviceRemovedExtendedData2> for ::windows::runtime::IUnknown {
from(value: &ID3D12DeviceRemovedExtendedData2) -> Self20764     fn from(value: &ID3D12DeviceRemovedExtendedData2) -> Self {
20765         ::std::convert::From::from(::std::clone::Clone::clone(value))
20766     }
20767 }
20768 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12DeviceRemovedExtendedData2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20769     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20770         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
20771     }
20772 }
20773 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12DeviceRemovedExtendedData2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20774     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20775         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
20776     }
20777 }
20778 impl ::std::convert::From<ID3D12DeviceRemovedExtendedData2> for ID3D12DeviceRemovedExtendedData1 {
from(value: ID3D12DeviceRemovedExtendedData2) -> Self20779     fn from(value: ID3D12DeviceRemovedExtendedData2) -> Self {
20780         unsafe { ::std::mem::transmute(value) }
20781     }
20782 }
20783 impl ::std::convert::From<&ID3D12DeviceRemovedExtendedData2> for ID3D12DeviceRemovedExtendedData1 {
from(value: &ID3D12DeviceRemovedExtendedData2) -> Self20784     fn from(value: &ID3D12DeviceRemovedExtendedData2) -> Self {
20785         ::std::convert::From::from(::std::clone::Clone::clone(value))
20786     }
20787 }
20788 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceRemovedExtendedData1> for ID3D12DeviceRemovedExtendedData2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedData1>20789     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedData1> {
20790         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceRemovedExtendedData1>::into(self))
20791     }
20792 }
20793 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceRemovedExtendedData1> for &ID3D12DeviceRemovedExtendedData2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedData1>20794     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedData1> {
20795         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceRemovedExtendedData1>::into(::std::clone::Clone::clone(self)))
20796     }
20797 }
20798 impl ::std::convert::From<ID3D12DeviceRemovedExtendedData2> for ID3D12DeviceRemovedExtendedData {
from(value: ID3D12DeviceRemovedExtendedData2) -> Self20799     fn from(value: ID3D12DeviceRemovedExtendedData2) -> Self {
20800         unsafe { ::std::mem::transmute(value) }
20801     }
20802 }
20803 impl ::std::convert::From<&ID3D12DeviceRemovedExtendedData2> for ID3D12DeviceRemovedExtendedData {
from(value: &ID3D12DeviceRemovedExtendedData2) -> Self20804     fn from(value: &ID3D12DeviceRemovedExtendedData2) -> Self {
20805         ::std::convert::From::from(::std::clone::Clone::clone(value))
20806     }
20807 }
20808 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceRemovedExtendedData> for ID3D12DeviceRemovedExtendedData2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedData>20809     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedData> {
20810         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceRemovedExtendedData>::into(self))
20811     }
20812 }
20813 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceRemovedExtendedData> for &ID3D12DeviceRemovedExtendedData2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedData>20814     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedData> {
20815         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceRemovedExtendedData>::into(::std::clone::Clone::clone(self)))
20816     }
20817 }
20818 #[repr(C)]
20819 #[doc(hidden)]
20820 pub struct ID3D12DeviceRemovedExtendedData2_abi(
20821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
20822     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
20823     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
20824     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poutput: *mut D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT) -> ::windows::runtime::HRESULT,
20825     #[cfg(not(feature = "Win32_Foundation"))] usize,
20826     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poutput: *mut D3D12_DRED_PAGE_FAULT_OUTPUT) -> ::windows::runtime::HRESULT,
20827     #[cfg(not(feature = "Win32_Foundation"))] usize,
20828     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poutput: *mut D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1) -> ::windows::runtime::HRESULT,
20829     #[cfg(not(feature = "Win32_Foundation"))] usize,
20830     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poutput: *mut D3D12_DRED_PAGE_FAULT_OUTPUT1) -> ::windows::runtime::HRESULT,
20831     #[cfg(not(feature = "Win32_Foundation"))] usize,
20832     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poutput: *mut D3D12_DRED_PAGE_FAULT_OUTPUT2) -> ::windows::runtime::HRESULT,
20833     #[cfg(not(feature = "Win32_Foundation"))] usize,
20834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_DRED_DEVICE_STATE,
20835 );
20836 #[repr(transparent)]
20837 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
20838 pub struct ID3D12DeviceRemovedExtendedDataSettings(::windows::runtime::IUnknown);
20839 impl ID3D12DeviceRemovedExtendedDataSettings {
SetAutoBreadcrumbsEnablement(&self, enablement: D3D12_DRED_ENABLEMENT)20840     pub unsafe fn SetAutoBreadcrumbsEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
20841         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(enablement)))
20842     }
SetPageFaultEnablement(&self, enablement: D3D12_DRED_ENABLEMENT)20843     pub unsafe fn SetPageFaultEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
20844         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(enablement)))
20845     }
SetWatsonDumpEnablement(&self, enablement: D3D12_DRED_ENABLEMENT)20846     pub unsafe fn SetWatsonDumpEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
20847         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(enablement)))
20848     }
20849 }
20850 unsafe impl ::windows::runtime::Interface for ID3D12DeviceRemovedExtendedDataSettings {
20851     type Vtable = ID3D12DeviceRemovedExtendedDataSettings_abi;
20852     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2193377308, 27547, 16432, [174, 219, 126, 227, 209, 223, 30, 99]);
20853 }
20854 impl ::std::convert::From<ID3D12DeviceRemovedExtendedDataSettings> for ::windows::runtime::IUnknown {
from(value: ID3D12DeviceRemovedExtendedDataSettings) -> Self20855     fn from(value: ID3D12DeviceRemovedExtendedDataSettings) -> Self {
20856         unsafe { ::std::mem::transmute(value) }
20857     }
20858 }
20859 impl ::std::convert::From<&ID3D12DeviceRemovedExtendedDataSettings> for ::windows::runtime::IUnknown {
from(value: &ID3D12DeviceRemovedExtendedDataSettings) -> Self20860     fn from(value: &ID3D12DeviceRemovedExtendedDataSettings) -> Self {
20861         ::std::convert::From::from(::std::clone::Clone::clone(value))
20862     }
20863 }
20864 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12DeviceRemovedExtendedDataSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20865     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20866         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
20867     }
20868 }
20869 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12DeviceRemovedExtendedDataSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20870     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20871         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
20872     }
20873 }
20874 #[repr(C)]
20875 #[doc(hidden)]
20876 pub struct ID3D12DeviceRemovedExtendedDataSettings_abi(
20877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
20878     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
20879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
20880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enablement: D3D12_DRED_ENABLEMENT),
20881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enablement: D3D12_DRED_ENABLEMENT),
20882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enablement: D3D12_DRED_ENABLEMENT),
20883 );
20884 #[repr(transparent)]
20885 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
20886 pub struct ID3D12DeviceRemovedExtendedDataSettings1(::windows::runtime::IUnknown);
20887 impl ID3D12DeviceRemovedExtendedDataSettings1 {
SetAutoBreadcrumbsEnablement(&self, enablement: D3D12_DRED_ENABLEMENT)20888     pub unsafe fn SetAutoBreadcrumbsEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
20889         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(enablement)))
20890     }
SetPageFaultEnablement(&self, enablement: D3D12_DRED_ENABLEMENT)20891     pub unsafe fn SetPageFaultEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
20892         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(enablement)))
20893     }
SetWatsonDumpEnablement(&self, enablement: D3D12_DRED_ENABLEMENT)20894     pub unsafe fn SetWatsonDumpEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
20895         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(enablement)))
20896     }
SetBreadcrumbContextEnablement(&self, enablement: D3D12_DRED_ENABLEMENT)20897     pub unsafe fn SetBreadcrumbContextEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
20898         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(enablement)))
20899     }
20900 }
20901 unsafe impl ::windows::runtime::Interface for ID3D12DeviceRemovedExtendedDataSettings1 {
20902     type Vtable = ID3D12DeviceRemovedExtendedDataSettings1_abi;
20903     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3688214097, 13079, 20234, [173, 249, 29, 124, 237, 202, 174, 11]);
20904 }
20905 impl ::std::convert::From<ID3D12DeviceRemovedExtendedDataSettings1> for ::windows::runtime::IUnknown {
from(value: ID3D12DeviceRemovedExtendedDataSettings1) -> Self20906     fn from(value: ID3D12DeviceRemovedExtendedDataSettings1) -> Self {
20907         unsafe { ::std::mem::transmute(value) }
20908     }
20909 }
20910 impl ::std::convert::From<&ID3D12DeviceRemovedExtendedDataSettings1> for ::windows::runtime::IUnknown {
from(value: &ID3D12DeviceRemovedExtendedDataSettings1) -> Self20911     fn from(value: &ID3D12DeviceRemovedExtendedDataSettings1) -> Self {
20912         ::std::convert::From::from(::std::clone::Clone::clone(value))
20913     }
20914 }
20915 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12DeviceRemovedExtendedDataSettings1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20916     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20917         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
20918     }
20919 }
20920 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12DeviceRemovedExtendedDataSettings1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20921     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20922         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
20923     }
20924 }
20925 impl ::std::convert::From<ID3D12DeviceRemovedExtendedDataSettings1> for ID3D12DeviceRemovedExtendedDataSettings {
from(value: ID3D12DeviceRemovedExtendedDataSettings1) -> Self20926     fn from(value: ID3D12DeviceRemovedExtendedDataSettings1) -> Self {
20927         unsafe { ::std::mem::transmute(value) }
20928     }
20929 }
20930 impl ::std::convert::From<&ID3D12DeviceRemovedExtendedDataSettings1> for ID3D12DeviceRemovedExtendedDataSettings {
from(value: &ID3D12DeviceRemovedExtendedDataSettings1) -> Self20931     fn from(value: &ID3D12DeviceRemovedExtendedDataSettings1) -> Self {
20932         ::std::convert::From::from(::std::clone::Clone::clone(value))
20933     }
20934 }
20935 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceRemovedExtendedDataSettings> for ID3D12DeviceRemovedExtendedDataSettings1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedDataSettings>20936     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedDataSettings> {
20937         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceRemovedExtendedDataSettings>::into(self))
20938     }
20939 }
20940 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceRemovedExtendedDataSettings> for &ID3D12DeviceRemovedExtendedDataSettings1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedDataSettings>20941     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceRemovedExtendedDataSettings> {
20942         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceRemovedExtendedDataSettings>::into(::std::clone::Clone::clone(self)))
20943     }
20944 }
20945 #[repr(C)]
20946 #[doc(hidden)]
20947 pub struct ID3D12DeviceRemovedExtendedDataSettings1_abi(
20948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
20949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
20950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
20951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enablement: D3D12_DRED_ENABLEMENT),
20952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enablement: D3D12_DRED_ENABLEMENT),
20953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enablement: D3D12_DRED_ENABLEMENT),
20954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enablement: D3D12_DRED_ENABLEMENT),
20955 );
20956 #[repr(transparent)]
20957 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
20958 pub struct ID3D12Fence(::windows::runtime::IUnknown);
20959 impl ID3D12Fence {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>20960     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
20961         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
20962     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>20963     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
20964         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
20965     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>20966     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
20967         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
20968     }
20969     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>20970     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
20971         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
20972     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>20973     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
20974         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
20975     }
GetCompletedValue(&self) -> u6420976     pub unsafe fn GetCompletedValue(&self) -> u64 {
20977         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
20978     }
20979     #[cfg(feature = "Win32_Foundation")]
SetEventOnCompletion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, value: u64, hevent: Param1) -> ::windows::runtime::Result<()>20980     pub unsafe fn SetEventOnCompletion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, value: u64, hevent: Param1) -> ::windows::runtime::Result<()> {
20981         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(value), hevent.into_param().abi()).ok()
20982     }
Signal(&self, value: u64) -> ::windows::runtime::Result<()>20983     pub unsafe fn Signal(&self, value: u64) -> ::windows::runtime::Result<()> {
20984         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
20985     }
20986 }
20987 unsafe impl ::windows::runtime::Interface for ID3D12Fence {
20988     type Vtable = ID3D12Fence_abi;
20989     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(175455695, 50392, 19345, [173, 246, 190, 90, 96, 217, 90, 118]);
20990 }
20991 impl ::std::convert::From<ID3D12Fence> for ::windows::runtime::IUnknown {
from(value: ID3D12Fence) -> Self20992     fn from(value: ID3D12Fence) -> Self {
20993         unsafe { ::std::mem::transmute(value) }
20994     }
20995 }
20996 impl ::std::convert::From<&ID3D12Fence> for ::windows::runtime::IUnknown {
from(value: &ID3D12Fence) -> Self20997     fn from(value: &ID3D12Fence) -> Self {
20998         ::std::convert::From::from(::std::clone::Clone::clone(value))
20999     }
21000 }
21001 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Fence {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21002     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21003         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
21004     }
21005 }
21006 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Fence {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21007     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21008         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
21009     }
21010 }
21011 impl ::std::convert::From<ID3D12Fence> for ID3D12Pageable {
from(value: ID3D12Fence) -> Self21012     fn from(value: ID3D12Fence) -> Self {
21013         unsafe { ::std::mem::transmute(value) }
21014     }
21015 }
21016 impl ::std::convert::From<&ID3D12Fence> for ID3D12Pageable {
from(value: &ID3D12Fence) -> Self21017     fn from(value: &ID3D12Fence) -> Self {
21018         ::std::convert::From::from(::std::clone::Clone::clone(value))
21019     }
21020 }
21021 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for ID3D12Fence {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>21022     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
21023         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(self))
21024     }
21025 }
21026 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for &ID3D12Fence {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>21027     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
21028         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(::std::clone::Clone::clone(self)))
21029     }
21030 }
21031 impl ::std::convert::From<ID3D12Fence> for ID3D12DeviceChild {
from(value: ID3D12Fence) -> Self21032     fn from(value: ID3D12Fence) -> Self {
21033         unsafe { ::std::mem::transmute(value) }
21034     }
21035 }
21036 impl ::std::convert::From<&ID3D12Fence> for ID3D12DeviceChild {
from(value: &ID3D12Fence) -> Self21037     fn from(value: &ID3D12Fence) -> Self {
21038         ::std::convert::From::from(::std::clone::Clone::clone(value))
21039     }
21040 }
21041 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12Fence {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>21042     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
21043         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
21044     }
21045 }
21046 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12Fence {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>21047     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
21048         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
21049     }
21050 }
21051 impl ::std::convert::From<ID3D12Fence> for ID3D12Object {
from(value: ID3D12Fence) -> Self21052     fn from(value: ID3D12Fence) -> Self {
21053         unsafe { ::std::mem::transmute(value) }
21054     }
21055 }
21056 impl ::std::convert::From<&ID3D12Fence> for ID3D12Object {
from(value: &ID3D12Fence) -> Self21057     fn from(value: &ID3D12Fence) -> Self {
21058         ::std::convert::From::from(::std::clone::Clone::clone(value))
21059     }
21060 }
21061 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Fence {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>21062     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
21063         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
21064     }
21065 }
21066 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Fence {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>21067     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
21068         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
21069     }
21070 }
21071 #[repr(C)]
21072 #[doc(hidden)]
21073 pub struct ID3D12Fence_abi(
21074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
21078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
21079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21080     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
21081     #[cfg(not(feature = "Win32_Foundation"))] usize,
21082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
21083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
21084     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u64, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
21085     #[cfg(not(feature = "Win32_Foundation"))] usize,
21086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u64) -> ::windows::runtime::HRESULT,
21087 );
21088 #[repr(transparent)]
21089 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21090 pub struct ID3D12Fence1(::windows::runtime::IUnknown);
21091 impl ID3D12Fence1 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>21092     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
21093         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
21094     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>21095     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
21096         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
21097     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>21098     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
21099         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
21100     }
21101     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>21102     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
21103         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
21104     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>21105     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
21106         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
21107     }
GetCompletedValue(&self) -> u6421108     pub unsafe fn GetCompletedValue(&self) -> u64 {
21109         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
21110     }
21111     #[cfg(feature = "Win32_Foundation")]
SetEventOnCompletion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, value: u64, hevent: Param1) -> ::windows::runtime::Result<()>21112     pub unsafe fn SetEventOnCompletion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, value: u64, hevent: Param1) -> ::windows::runtime::Result<()> {
21113         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(value), hevent.into_param().abi()).ok()
21114     }
Signal(&self, value: u64) -> ::windows::runtime::Result<()>21115     pub unsafe fn Signal(&self, value: u64) -> ::windows::runtime::Result<()> {
21116         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
21117     }
GetCreationFlags(&self) -> D3D12_FENCE_FLAGS21118     pub unsafe fn GetCreationFlags(&self) -> D3D12_FENCE_FLAGS {
21119         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)))
21120     }
21121 }
21122 unsafe impl ::windows::runtime::Interface for ID3D12Fence1 {
21123     type Vtable = ID3D12Fence1_abi;
21124     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1127646718, 57899, 19616, [168, 219, 181, 180, 244, 221, 14, 74]);
21125 }
21126 impl ::std::convert::From<ID3D12Fence1> for ::windows::runtime::IUnknown {
from(value: ID3D12Fence1) -> Self21127     fn from(value: ID3D12Fence1) -> Self {
21128         unsafe { ::std::mem::transmute(value) }
21129     }
21130 }
21131 impl ::std::convert::From<&ID3D12Fence1> for ::windows::runtime::IUnknown {
from(value: &ID3D12Fence1) -> Self21132     fn from(value: &ID3D12Fence1) -> Self {
21133         ::std::convert::From::from(::std::clone::Clone::clone(value))
21134     }
21135 }
21136 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Fence1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21137     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21138         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
21139     }
21140 }
21141 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Fence1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21142     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21143         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
21144     }
21145 }
21146 impl ::std::convert::From<ID3D12Fence1> for ID3D12Fence {
from(value: ID3D12Fence1) -> Self21147     fn from(value: ID3D12Fence1) -> Self {
21148         unsafe { ::std::mem::transmute(value) }
21149     }
21150 }
21151 impl ::std::convert::From<&ID3D12Fence1> for ID3D12Fence {
from(value: &ID3D12Fence1) -> Self21152     fn from(value: &ID3D12Fence1) -> Self {
21153         ::std::convert::From::from(::std::clone::Clone::clone(value))
21154     }
21155 }
21156 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Fence> for ID3D12Fence1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Fence>21157     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Fence> {
21158         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Fence>::into(self))
21159     }
21160 }
21161 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Fence> for &ID3D12Fence1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Fence>21162     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Fence> {
21163         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Fence>::into(::std::clone::Clone::clone(self)))
21164     }
21165 }
21166 impl ::std::convert::From<ID3D12Fence1> for ID3D12Pageable {
from(value: ID3D12Fence1) -> Self21167     fn from(value: ID3D12Fence1) -> Self {
21168         unsafe { ::std::mem::transmute(value) }
21169     }
21170 }
21171 impl ::std::convert::From<&ID3D12Fence1> for ID3D12Pageable {
from(value: &ID3D12Fence1) -> Self21172     fn from(value: &ID3D12Fence1) -> Self {
21173         ::std::convert::From::from(::std::clone::Clone::clone(value))
21174     }
21175 }
21176 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for ID3D12Fence1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>21177     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
21178         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(self))
21179     }
21180 }
21181 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for &ID3D12Fence1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>21182     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
21183         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(::std::clone::Clone::clone(self)))
21184     }
21185 }
21186 impl ::std::convert::From<ID3D12Fence1> for ID3D12DeviceChild {
from(value: ID3D12Fence1) -> Self21187     fn from(value: ID3D12Fence1) -> Self {
21188         unsafe { ::std::mem::transmute(value) }
21189     }
21190 }
21191 impl ::std::convert::From<&ID3D12Fence1> for ID3D12DeviceChild {
from(value: &ID3D12Fence1) -> Self21192     fn from(value: &ID3D12Fence1) -> Self {
21193         ::std::convert::From::from(::std::clone::Clone::clone(value))
21194     }
21195 }
21196 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12Fence1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>21197     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
21198         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
21199     }
21200 }
21201 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12Fence1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>21202     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
21203         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
21204     }
21205 }
21206 impl ::std::convert::From<ID3D12Fence1> for ID3D12Object {
from(value: ID3D12Fence1) -> Self21207     fn from(value: ID3D12Fence1) -> Self {
21208         unsafe { ::std::mem::transmute(value) }
21209     }
21210 }
21211 impl ::std::convert::From<&ID3D12Fence1> for ID3D12Object {
from(value: &ID3D12Fence1) -> Self21212     fn from(value: &ID3D12Fence1) -> Self {
21213         ::std::convert::From::from(::std::clone::Clone::clone(value))
21214     }
21215 }
21216 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Fence1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>21217     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
21218         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
21219     }
21220 }
21221 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Fence1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>21222     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
21223         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
21224     }
21225 }
21226 #[repr(C)]
21227 #[doc(hidden)]
21228 pub struct ID3D12Fence1_abi(
21229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
21233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
21234     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21235     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
21236     #[cfg(not(feature = "Win32_Foundation"))] usize,
21237     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
21238     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
21239     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u64, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
21240     #[cfg(not(feature = "Win32_Foundation"))] usize,
21241     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u64) -> ::windows::runtime::HRESULT,
21242     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_FENCE_FLAGS,
21243 );
21244 #[repr(transparent)]
21245 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21246 pub struct ID3D12FunctionParameterReflection(::windows::runtime::IUnknown);
21247 impl ID3D12FunctionParameterReflection {
21248     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
GetDesc(&self) -> ::windows::runtime::Result<D3D12_PARAMETER_DESC>21249     pub unsafe fn GetDesc(&self) -> ::windows::runtime::Result<D3D12_PARAMETER_DESC> {
21250         let mut result__: <D3D12_PARAMETER_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
21251         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_PARAMETER_DESC>(result__)
21252     }
21253 }
21254 unsafe impl ::windows::runtime::Interface for ID3D12FunctionParameterReflection {
21255     type Vtable = ID3D12FunctionParameterReflection_abi;
21256     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3961910317, 28678, 20267, [179, 62, 2, 204, 51, 117, 115, 63]);
21257 }
21258 impl ::std::convert::From<ID3D12FunctionParameterReflection> for ::windows::runtime::IUnknown {
from(value: ID3D12FunctionParameterReflection) -> Self21259     fn from(value: ID3D12FunctionParameterReflection) -> Self {
21260         unsafe { ::std::mem::transmute(value) }
21261     }
21262 }
21263 impl ::std::convert::From<&ID3D12FunctionParameterReflection> for ::windows::runtime::IUnknown {
from(value: &ID3D12FunctionParameterReflection) -> Self21264     fn from(value: &ID3D12FunctionParameterReflection) -> Self {
21265         ::std::convert::From::from(::std::clone::Clone::clone(value))
21266     }
21267 }
21268 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12FunctionParameterReflection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21269     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21270         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
21271     }
21272 }
21273 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12FunctionParameterReflection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21274     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21275         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
21276     }
21277 }
21278 #[repr(C)]
21279 #[doc(hidden)]
21280 pub struct ID3D12FunctionParameterReflection_abi(
21281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21284     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut D3D12_PARAMETER_DESC) -> ::windows::runtime::HRESULT,
21285     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11")))] usize,
21286 );
21287 #[repr(transparent)]
21288 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21289 pub struct ID3D12FunctionReflection(::windows::runtime::IUnknown);
21290 impl ID3D12FunctionReflection {
21291     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
GetDesc(&self) -> ::windows::runtime::Result<D3D12_FUNCTION_DESC>21292     pub unsafe fn GetDesc(&self) -> ::windows::runtime::Result<D3D12_FUNCTION_DESC> {
21293         let mut result__: <D3D12_FUNCTION_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
21294         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_FUNCTION_DESC>(result__)
21295     }
GetConstantBufferByIndex(&self, bufferindex: u32) -> ::std::option::Option<ID3D12ShaderReflectionConstantBuffer>21296     pub unsafe fn GetConstantBufferByIndex(&self, bufferindex: u32) -> ::std::option::Option<ID3D12ShaderReflectionConstantBuffer> {
21297         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(bufferindex)))
21298     }
21299     #[cfg(feature = "Win32_Foundation")]
GetConstantBufferByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::std::option::Option<ID3D12ShaderReflectionConstantBuffer>21300     pub unsafe fn GetConstantBufferByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::std::option::Option<ID3D12ShaderReflectionConstantBuffer> {
21301         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), name.into_param().abi()))
21302     }
21303     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
GetResourceBindingDesc(&self, resourceindex: u32) -> ::windows::runtime::Result<D3D12_SHADER_INPUT_BIND_DESC>21304     pub unsafe fn GetResourceBindingDesc(&self, resourceindex: u32) -> ::windows::runtime::Result<D3D12_SHADER_INPUT_BIND_DESC> {
21305         let mut result__: <D3D12_SHADER_INPUT_BIND_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
21306         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(resourceindex), &mut result__).from_abi::<D3D12_SHADER_INPUT_BIND_DESC>(result__)
21307     }
21308     #[cfg(feature = "Win32_Foundation")]
GetVariableByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::std::option::Option<ID3D12ShaderReflectionVariable>21309     pub unsafe fn GetVariableByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::std::option::Option<ID3D12ShaderReflectionVariable> {
21310         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), name.into_param().abi()))
21311     }
21312     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
GetResourceBindingDescByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::windows::runtime::Result<D3D12_SHADER_INPUT_BIND_DESC>21313     pub unsafe fn GetResourceBindingDescByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::windows::runtime::Result<D3D12_SHADER_INPUT_BIND_DESC> {
21314         let mut result__: <D3D12_SHADER_INPUT_BIND_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
21315         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<D3D12_SHADER_INPUT_BIND_DESC>(result__)
21316     }
GetFunctionParameter(&self, parameterindex: i32) -> ::std::option::Option<ID3D12FunctionParameterReflection>21317     pub unsafe fn GetFunctionParameter(&self, parameterindex: i32) -> ::std::option::Option<ID3D12FunctionParameterReflection> {
21318         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(parameterindex)))
21319     }
21320 }
21321 unsafe impl ::windows::runtime::Interface for ID3D12FunctionReflection {
21322     type Vtable = ID3D12FunctionReflection_abi;
21323     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(285768028, 10098, 19369, [178, 168, 212, 100, 220, 126, 39, 153]);
21324 }
21325 impl ::std::convert::From<ID3D12FunctionReflection> for ::windows::runtime::IUnknown {
from(value: ID3D12FunctionReflection) -> Self21326     fn from(value: ID3D12FunctionReflection) -> Self {
21327         unsafe { ::std::mem::transmute(value) }
21328     }
21329 }
21330 impl ::std::convert::From<&ID3D12FunctionReflection> for ::windows::runtime::IUnknown {
from(value: &ID3D12FunctionReflection) -> Self21331     fn from(value: &ID3D12FunctionReflection) -> Self {
21332         ::std::convert::From::from(::std::clone::Clone::clone(value))
21333     }
21334 }
21335 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12FunctionReflection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21336     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21337         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
21338     }
21339 }
21340 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12FunctionReflection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21341     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21342         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
21343     }
21344 }
21345 #[repr(C)]
21346 #[doc(hidden)]
21347 pub struct ID3D12FunctionReflection_abi(
21348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21351     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut D3D12_FUNCTION_DESC) -> ::windows::runtime::HRESULT,
21352     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11")))] usize,
21353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bufferindex: u32) -> ::windows::runtime::RawPtr,
21354     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PSTR) -> ::windows::runtime::RawPtr,
21355     #[cfg(not(feature = "Win32_Foundation"))] usize,
21356     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resourceindex: u32, pdesc: *mut D3D12_SHADER_INPUT_BIND_DESC) -> ::windows::runtime::HRESULT,
21357     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11")))] usize,
21358     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PSTR) -> ::windows::runtime::RawPtr,
21359     #[cfg(not(feature = "Win32_Foundation"))] usize,
21360     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PSTR, pdesc: *mut D3D12_SHADER_INPUT_BIND_DESC) -> ::windows::runtime::HRESULT,
21361     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11")))] usize,
21362     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameterindex: i32) -> ::windows::runtime::RawPtr,
21363 );
21364 #[repr(transparent)]
21365 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21366 pub struct ID3D12GraphicsCommandList(::windows::runtime::IUnknown);
21367 impl ID3D12GraphicsCommandList {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>21368     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
21369         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
21370     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>21371     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
21372         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
21373     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>21374     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
21375         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
21376     }
21377     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>21378     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
21379         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
21380     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>21381     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
21382         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
21383     }
GetType(&self) -> D3D12_COMMAND_LIST_TYPE21384     pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
21385         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
21386     }
Close(&self) -> ::windows::runtime::Result<()>21387     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
21388         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
21389     }
Reset<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pallocator: Param0, pinitialstate: Param1) -> ::windows::runtime::Result<()>21390     pub unsafe fn Reset<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pallocator: Param0, pinitialstate: Param1) -> ::windows::runtime::Result<()> {
21391         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
21392     }
ClearState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0)21393     pub unsafe fn ClearState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0) {
21394         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ppipelinestate.into_param().abi()))
21395     }
DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32)21396     pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
21397         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(vertexcountperinstance), ::std::mem::transmute(instancecount), ::std::mem::transmute(startvertexlocation), ::std::mem::transmute(startinstancelocation)))
21398     }
DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32)21399     pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
21400         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(indexcountperinstance), ::std::mem::transmute(instancecount), ::std::mem::transmute(startindexlocation), ::std::mem::transmute(basevertexlocation), ::std::mem::transmute(startinstancelocation)))
21401     }
Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32)21402     pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
21403         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(threadgroupcountx), ::std::mem::transmute(threadgroupcounty), ::std::mem::transmute(threadgroupcountz)))
21404     }
CopyBufferRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, numbytes: u64)21405     pub unsafe fn CopyBufferRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, numbytes: u64) {
21406         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdstbuffer.into_param().abi(), ::std::mem::transmute(dstoffset), psrcbuffer.into_param().abi(), ::std::mem::transmute(srcoffset), ::std::mem::transmute(numbytes)))
21407     }
21408     #[cfg(feature = "Win32_Graphics_Dxgi")]
CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX)21409     pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX) {
21410         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdst), ::std::mem::transmute(dstx), ::std::mem::transmute(dsty), ::std::mem::transmute(dstz), ::std::mem::transmute(psrc), ::std::mem::transmute(psrcbox)))
21411     }
CopyResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, psrcresource: Param1)21412     pub unsafe fn CopyResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, psrcresource: Param1) {
21413         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pdstresource.into_param().abi(), psrcresource.into_param().abi()))
21414     }
21415     #[cfg(feature = "Win32_Foundation")]
CopyTiles<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: Param3, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)21416     pub unsafe fn CopyTiles<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: Param3, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS) {
21417         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(
21418             ::std::mem::transmute_copy(self),
21419             ptiledresource.into_param().abi(),
21420             ::std::mem::transmute(ptileregionstartcoordinate),
21421             ::std::mem::transmute(ptileregionsize),
21422             pbuffer.into_param().abi(),
21423             ::std::mem::transmute(bufferstartoffsetinbytes),
21424             ::std::mem::transmute(flags),
21425         ))
21426     }
21427     #[cfg(feature = "Win32_Graphics_Dxgi")]
ResolveSubresource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, psrcresource: Param2, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT)21428     pub unsafe fn ResolveSubresource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, psrcresource: Param2, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT) {
21429         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), pdstresource.into_param().abi(), ::std::mem::transmute(dstsubresource), psrcresource.into_param().abi(), ::std::mem::transmute(srcsubresource), ::std::mem::transmute(format)))
21430     }
21431     #[cfg(feature = "Win32_Graphics_Direct3D11")]
IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY)21432     pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY) {
21433         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(primitivetopology)))
21434     }
RSSetViewports(&self, numviewports: u32, pviewports: *const D3D12_VIEWPORT)21435     pub unsafe fn RSSetViewports(&self, numviewports: u32, pviewports: *const D3D12_VIEWPORT) {
21436         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(numviewports), ::std::mem::transmute(pviewports)))
21437     }
21438     #[cfg(feature = "Win32_Foundation")]
RSSetScissorRects(&self, numrects: u32, prects: *const super::super::Foundation::RECT)21439     pub unsafe fn RSSetScissorRects(&self, numrects: u32, prects: *const super::super::Foundation::RECT) {
21440         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
21441     }
OMSetBlendFactor(&self, blendfactor: *const f32)21442     pub unsafe fn OMSetBlendFactor(&self, blendfactor: *const f32) {
21443         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(blendfactor)))
21444     }
OMSetStencilRef(&self, stencilref: u32)21445     pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
21446         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(stencilref)))
21447     }
SetPipelineState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0)21448     pub unsafe fn SetPipelineState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0) {
21449         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ppipelinestate.into_param().abi()))
21450     }
ResourceBarrier(&self, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER)21451     pub unsafe fn ResourceBarrier(&self, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER) {
21452         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(numbarriers), ::std::mem::transmute(pbarriers)))
21453     }
ExecuteBundle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList>>(&self, pcommandlist: Param0)21454     pub unsafe fn ExecuteBundle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList>>(&self, pcommandlist: Param0) {
21455         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), pcommandlist.into_param().abi()))
21456     }
SetDescriptorHeaps(&self, numdescriptorheaps: u32, ppdescriptorheaps: *const ::std::option::Option<ID3D12DescriptorHeap>)21457     pub unsafe fn SetDescriptorHeaps(&self, numdescriptorheaps: u32, ppdescriptorheaps: *const ::std::option::Option<ID3D12DescriptorHeap>) {
21458         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptorheaps), ::std::mem::transmute(ppdescriptorheaps)))
21459     }
SetComputeRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0)21460     pub unsafe fn SetComputeRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0) {
21461         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), prootsignature.into_param().abi()))
21462     }
SetGraphicsRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0)21463     pub unsafe fn SetGraphicsRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0) {
21464         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), prootsignature.into_param().abi()))
21465     }
SetComputeRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1)21466     pub unsafe fn SetComputeRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1) {
21467         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), basedescriptor.into_param().abi()))
21468     }
SetGraphicsRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1)21469     pub unsafe fn SetGraphicsRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1) {
21470         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), basedescriptor.into_param().abi()))
21471     }
SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32)21472     pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
21473         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(srcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
21474     }
SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32)21475     pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
21476         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(srcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
21477     }
SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32)21478     pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32) {
21479         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(num32bitvaluestoset), ::std::mem::transmute(psrcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
21480     }
SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32)21481     pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32) {
21482         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(num32bitvaluestoset), ::std::mem::transmute(psrcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
21483     }
SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64)21484     pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
21485         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
21486     }
SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64)21487     pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
21488         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
21489     }
SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64)21490     pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
21491         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
21492     }
SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64)21493     pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
21494         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
21495     }
SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64)21496     pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
21497         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
21498     }
SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64)21499     pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
21500         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
21501     }
21502     #[cfg(feature = "Win32_Graphics_Dxgi")]
IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW)21503     pub unsafe fn IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW) {
21504         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(pview)))
21505     }
IASetVertexBuffers(&self, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW)21506     pub unsafe fn IASetVertexBuffers(&self, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW) {
21507         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(startslot), ::std::mem::transmute(numviews), ::std::mem::transmute(pviews)))
21508     }
SOSetTargets(&self, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW)21509     pub unsafe fn SOSetTargets(&self, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW) {
21510         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(startslot), ::std::mem::transmute(numviews), ::std::mem::transmute(pviews)))
21511     }
21512     #[cfg(feature = "Win32_Foundation")]
OMSetRenderTargets<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: Param2, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE)21513     pub unsafe fn OMSetRenderTargets<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: Param2, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE) {
21514         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrendertargetdescriptors), ::std::mem::transmute(prendertargetdescriptors), rtssinglehandletodescriptorrange.into_param().abi(), ::std::mem::transmute(pdepthstencildescriptor)))
21515     }
21516     #[cfg(feature = "Win32_Foundation")]
ClearDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, depthstencilview: Param0, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT)21517     pub unsafe fn ClearDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, depthstencilview: Param0, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT) {
21518         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), depthstencilview.into_param().abi(), ::std::mem::transmute(clearflags), ::std::mem::transmute(depth), ::std::mem::transmute(stencil), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
21519     }
21520     #[cfg(feature = "Win32_Foundation")]
ClearRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, rendertargetview: Param0, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT)21521     pub unsafe fn ClearRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, rendertargetview: Param0, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT) {
21522         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), rendertargetview.into_param().abi(), ::std::mem::transmute(colorrgba), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
21523     }
21524     #[cfg(feature = "Win32_Foundation")]
ClearUnorderedAccessViewUint<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT)21525     pub unsafe fn ClearUnorderedAccessViewUint<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT) {
21526         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), viewgpuhandleincurrentheap.into_param().abi(), viewcpuhandle.into_param().abi(), presource.into_param().abi(), ::std::mem::transmute(values), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
21527     }
21528     #[cfg(feature = "Win32_Foundation")]
ClearUnorderedAccessViewFloat<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT)21529     pub unsafe fn ClearUnorderedAccessViewFloat<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT) {
21530         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), viewgpuhandleincurrentheap.into_param().abi(), viewcpuhandle.into_param().abi(), presource.into_param().abi(), ::std::mem::transmute(values), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
21531     }
21532     #[cfg(feature = "Win32_Foundation")]
DiscardResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, pregion: *const D3D12_DISCARD_REGION)21533     pub unsafe fn DiscardResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, pregion: *const D3D12_DISCARD_REGION) {
21534         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pregion)))
21535     }
BeginQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32)21536     pub unsafe fn BeginQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32) {
21537         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), pqueryheap.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(index)))
21538     }
EndQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32)21539     pub unsafe fn EndQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32) {
21540         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), pqueryheap.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(index)))
21541     }
ResolveQueryData<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: Param4, aligneddestinationbufferoffset: u64)21542     pub unsafe fn ResolveQueryData<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: Param4, aligneddestinationbufferoffset: u64) {
21543         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).54)(
21544             ::std::mem::transmute_copy(self),
21545             pqueryheap.into_param().abi(),
21546             ::std::mem::transmute(r#type),
21547             ::std::mem::transmute(startindex),
21548             ::std::mem::transmute(numqueries),
21549             pdestinationbuffer.into_param().abi(),
21550             ::std::mem::transmute(aligneddestinationbufferoffset),
21551         ))
21552     }
SetPredication<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pbuffer: Param0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)21553     pub unsafe fn SetPredication<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pbuffer: Param0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP) {
21554         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), pbuffer.into_param().abi(), ::std::mem::transmute(alignedbufferoffset), ::std::mem::transmute(operation)))
21555     }
SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)21556     pub unsafe fn SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
21557         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
21558     }
BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)21559     pub unsafe fn BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
21560         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
21561     }
EndEvent(&self)21562     pub unsafe fn EndEvent(&self) {
21563         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self)))
21564     }
ExecuteIndirect<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandSignature>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pcommandsignature: Param0, maxcommandcount: u32, pargumentbuffer: Param2, argumentbufferoffset: u64, pcountbuffer: Param4, countbufferoffset: u64)21565     pub unsafe fn ExecuteIndirect<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandSignature>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pcommandsignature: Param0, maxcommandcount: u32, pargumentbuffer: Param2, argumentbufferoffset: u64, pcountbuffer: Param4, countbufferoffset: u64) {
21566         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).59)(
21567             ::std::mem::transmute_copy(self),
21568             pcommandsignature.into_param().abi(),
21569             ::std::mem::transmute(maxcommandcount),
21570             pargumentbuffer.into_param().abi(),
21571             ::std::mem::transmute(argumentbufferoffset),
21572             pcountbuffer.into_param().abi(),
21573             ::std::mem::transmute(countbufferoffset),
21574         ))
21575     }
21576 }
21577 unsafe impl ::windows::runtime::Interface for ID3D12GraphicsCommandList {
21578     type Vtable = ID3D12GraphicsCommandList_abi;
21579     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1528171791, 44059, 16773, [139, 168, 179, 174, 66, 165, 164, 85]);
21580 }
21581 impl ::std::convert::From<ID3D12GraphicsCommandList> for ::windows::runtime::IUnknown {
from(value: ID3D12GraphicsCommandList) -> Self21582     fn from(value: ID3D12GraphicsCommandList) -> Self {
21583         unsafe { ::std::mem::transmute(value) }
21584     }
21585 }
21586 impl ::std::convert::From<&ID3D12GraphicsCommandList> for ::windows::runtime::IUnknown {
from(value: &ID3D12GraphicsCommandList) -> Self21587     fn from(value: &ID3D12GraphicsCommandList) -> Self {
21588         ::std::convert::From::from(::std::clone::Clone::clone(value))
21589     }
21590 }
21591 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12GraphicsCommandList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21592     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21593         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
21594     }
21595 }
21596 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12GraphicsCommandList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21597     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21598         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
21599     }
21600 }
21601 impl ::std::convert::From<ID3D12GraphicsCommandList> for ID3D12CommandList {
from(value: ID3D12GraphicsCommandList) -> Self21602     fn from(value: ID3D12GraphicsCommandList) -> Self {
21603         unsafe { ::std::mem::transmute(value) }
21604     }
21605 }
21606 impl ::std::convert::From<&ID3D12GraphicsCommandList> for ID3D12CommandList {
from(value: &ID3D12GraphicsCommandList) -> Self21607     fn from(value: &ID3D12GraphicsCommandList) -> Self {
21608         ::std::convert::From::from(::std::clone::Clone::clone(value))
21609     }
21610 }
21611 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12CommandList> for ID3D12GraphicsCommandList {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList>21612     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList> {
21613         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12CommandList>::into(self))
21614     }
21615 }
21616 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12CommandList> for &ID3D12GraphicsCommandList {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList>21617     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList> {
21618         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12CommandList>::into(::std::clone::Clone::clone(self)))
21619     }
21620 }
21621 impl ::std::convert::From<ID3D12GraphicsCommandList> for ID3D12DeviceChild {
from(value: ID3D12GraphicsCommandList) -> Self21622     fn from(value: ID3D12GraphicsCommandList) -> Self {
21623         unsafe { ::std::mem::transmute(value) }
21624     }
21625 }
21626 impl ::std::convert::From<&ID3D12GraphicsCommandList> for ID3D12DeviceChild {
from(value: &ID3D12GraphicsCommandList) -> Self21627     fn from(value: &ID3D12GraphicsCommandList) -> Self {
21628         ::std::convert::From::from(::std::clone::Clone::clone(value))
21629     }
21630 }
21631 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12GraphicsCommandList {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>21632     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
21633         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
21634     }
21635 }
21636 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12GraphicsCommandList {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>21637     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
21638         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
21639     }
21640 }
21641 impl ::std::convert::From<ID3D12GraphicsCommandList> for ID3D12Object {
from(value: ID3D12GraphicsCommandList) -> Self21642     fn from(value: ID3D12GraphicsCommandList) -> Self {
21643         unsafe { ::std::mem::transmute(value) }
21644     }
21645 }
21646 impl ::std::convert::From<&ID3D12GraphicsCommandList> for ID3D12Object {
from(value: &ID3D12GraphicsCommandList) -> Self21647     fn from(value: &ID3D12GraphicsCommandList) -> Self {
21648         ::std::convert::From::from(::std::clone::Clone::clone(value))
21649     }
21650 }
21651 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12GraphicsCommandList {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>21652     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
21653         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
21654     }
21655 }
21656 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12GraphicsCommandList {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>21657     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
21658         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
21659     }
21660 }
21661 #[repr(C)]
21662 #[doc(hidden)]
21663 pub struct ID3D12GraphicsCommandList_abi(
21664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
21668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
21669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21670     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
21671     #[cfg(not(feature = "Win32_Foundation"))] usize,
21672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
21673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_COMMAND_LIST_TYPE,
21674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21675     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21676     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipelinestate: ::windows::runtime::RawPtr),
21677     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32),
21678     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32),
21679     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32),
21680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, numbytes: u64),
21681     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdst: *const ::std::mem::ManuallyDrop<D3D12_TEXTURE_COPY_LOCATION>, dstx: u32, dsty: u32, dstz: u32, psrc: *const ::std::mem::ManuallyDrop<D3D12_TEXTURE_COPY_LOCATION>, psrcbox: *const D3D12_BOX),
21682     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
21683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, psrcresource: ::windows::runtime::RawPtr),
21684     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: ::windows::runtime::RawPtr, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS),
21685     #[cfg(not(feature = "Win32_Foundation"))] usize,
21686     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, dstsubresource: u32, psrcresource: ::windows::runtime::RawPtr, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT),
21687     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
21688     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY),
21689     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
21690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numviewports: u32, pviewports: *const D3D12_VIEWPORT),
21691     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrects: u32, prects: *const super::super::Foundation::RECT),
21692     #[cfg(not(feature = "Win32_Foundation"))] usize,
21693     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blendfactor: *const f32),
21694     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stencilref: u32),
21695     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipelinestate: ::windows::runtime::RawPtr),
21696     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numbarriers: u32, pbarriers: *const ::std::mem::ManuallyDrop<D3D12_RESOURCE_BARRIER>),
21697     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcommandlist: ::windows::runtime::RawPtr),
21698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptorheaps: u32, ppdescriptorheaps: *const ::windows::runtime::RawPtr),
21699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prootsignature: ::windows::runtime::RawPtr),
21700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prootsignature: ::windows::runtime::RawPtr),
21701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
21702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
21703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
21704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
21705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32),
21706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32),
21707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
21708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
21709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
21710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
21711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
21712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
21713     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pview: *const D3D12_INDEX_BUFFER_VIEW),
21714     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
21715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW),
21716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW),
21717     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: super::super::Foundation::BOOL, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE),
21718     #[cfg(not(feature = "Win32_Foundation"))] usize,
21719     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT),
21720     #[cfg(not(feature = "Win32_Foundation"))] usize,
21721     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
21722     #[cfg(not(feature = "Win32_Foundation"))] usize,
21723     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: ::windows::runtime::RawPtr, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT),
21724     #[cfg(not(feature = "Win32_Foundation"))] usize,
21725     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: ::windows::runtime::RawPtr, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
21726     #[cfg(not(feature = "Win32_Foundation"))] usize,
21727     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pregion: *const D3D12_DISCARD_REGION),
21728     #[cfg(not(feature = "Win32_Foundation"))] usize,
21729     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, index: u32),
21730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, index: u32),
21731     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: ::windows::runtime::RawPtr, aligneddestinationbufferoffset: u64),
21732     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbuffer: ::windows::runtime::RawPtr, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP),
21733     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
21734     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
21735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
21736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcommandsignature: ::windows::runtime::RawPtr, maxcommandcount: u32, pargumentbuffer: ::windows::runtime::RawPtr, argumentbufferoffset: u64, pcountbuffer: ::windows::runtime::RawPtr, countbufferoffset: u64),
21737 );
21738 #[repr(transparent)]
21739 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21740 pub struct ID3D12GraphicsCommandList1(::windows::runtime::IUnknown);
21741 impl ID3D12GraphicsCommandList1 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>21742     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
21743         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
21744     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>21745     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
21746         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
21747     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>21748     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
21749         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
21750     }
21751     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>21752     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
21753         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
21754     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>21755     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
21756         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
21757     }
GetType(&self) -> D3D12_COMMAND_LIST_TYPE21758     pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
21759         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
21760     }
Close(&self) -> ::windows::runtime::Result<()>21761     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
21762         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
21763     }
Reset<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pallocator: Param0, pinitialstate: Param1) -> ::windows::runtime::Result<()>21764     pub unsafe fn Reset<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pallocator: Param0, pinitialstate: Param1) -> ::windows::runtime::Result<()> {
21765         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
21766     }
ClearState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0)21767     pub unsafe fn ClearState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0) {
21768         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ppipelinestate.into_param().abi()))
21769     }
DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32)21770     pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
21771         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(vertexcountperinstance), ::std::mem::transmute(instancecount), ::std::mem::transmute(startvertexlocation), ::std::mem::transmute(startinstancelocation)))
21772     }
DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32)21773     pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
21774         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(indexcountperinstance), ::std::mem::transmute(instancecount), ::std::mem::transmute(startindexlocation), ::std::mem::transmute(basevertexlocation), ::std::mem::transmute(startinstancelocation)))
21775     }
Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32)21776     pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
21777         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(threadgroupcountx), ::std::mem::transmute(threadgroupcounty), ::std::mem::transmute(threadgroupcountz)))
21778     }
CopyBufferRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, numbytes: u64)21779     pub unsafe fn CopyBufferRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, numbytes: u64) {
21780         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdstbuffer.into_param().abi(), ::std::mem::transmute(dstoffset), psrcbuffer.into_param().abi(), ::std::mem::transmute(srcoffset), ::std::mem::transmute(numbytes)))
21781     }
21782     #[cfg(feature = "Win32_Graphics_Dxgi")]
CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX)21783     pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX) {
21784         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdst), ::std::mem::transmute(dstx), ::std::mem::transmute(dsty), ::std::mem::transmute(dstz), ::std::mem::transmute(psrc), ::std::mem::transmute(psrcbox)))
21785     }
CopyResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, psrcresource: Param1)21786     pub unsafe fn CopyResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, psrcresource: Param1) {
21787         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pdstresource.into_param().abi(), psrcresource.into_param().abi()))
21788     }
21789     #[cfg(feature = "Win32_Foundation")]
CopyTiles<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: Param3, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)21790     pub unsafe fn CopyTiles<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: Param3, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS) {
21791         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(
21792             ::std::mem::transmute_copy(self),
21793             ptiledresource.into_param().abi(),
21794             ::std::mem::transmute(ptileregionstartcoordinate),
21795             ::std::mem::transmute(ptileregionsize),
21796             pbuffer.into_param().abi(),
21797             ::std::mem::transmute(bufferstartoffsetinbytes),
21798             ::std::mem::transmute(flags),
21799         ))
21800     }
21801     #[cfg(feature = "Win32_Graphics_Dxgi")]
ResolveSubresource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, psrcresource: Param2, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT)21802     pub unsafe fn ResolveSubresource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, psrcresource: Param2, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT) {
21803         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), pdstresource.into_param().abi(), ::std::mem::transmute(dstsubresource), psrcresource.into_param().abi(), ::std::mem::transmute(srcsubresource), ::std::mem::transmute(format)))
21804     }
21805     #[cfg(feature = "Win32_Graphics_Direct3D11")]
IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY)21806     pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY) {
21807         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(primitivetopology)))
21808     }
RSSetViewports(&self, numviewports: u32, pviewports: *const D3D12_VIEWPORT)21809     pub unsafe fn RSSetViewports(&self, numviewports: u32, pviewports: *const D3D12_VIEWPORT) {
21810         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(numviewports), ::std::mem::transmute(pviewports)))
21811     }
21812     #[cfg(feature = "Win32_Foundation")]
RSSetScissorRects(&self, numrects: u32, prects: *const super::super::Foundation::RECT)21813     pub unsafe fn RSSetScissorRects(&self, numrects: u32, prects: *const super::super::Foundation::RECT) {
21814         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
21815     }
OMSetBlendFactor(&self, blendfactor: *const f32)21816     pub unsafe fn OMSetBlendFactor(&self, blendfactor: *const f32) {
21817         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(blendfactor)))
21818     }
OMSetStencilRef(&self, stencilref: u32)21819     pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
21820         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(stencilref)))
21821     }
SetPipelineState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0)21822     pub unsafe fn SetPipelineState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0) {
21823         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ppipelinestate.into_param().abi()))
21824     }
ResourceBarrier(&self, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER)21825     pub unsafe fn ResourceBarrier(&self, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER) {
21826         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(numbarriers), ::std::mem::transmute(pbarriers)))
21827     }
ExecuteBundle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList>>(&self, pcommandlist: Param0)21828     pub unsafe fn ExecuteBundle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList>>(&self, pcommandlist: Param0) {
21829         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), pcommandlist.into_param().abi()))
21830     }
SetDescriptorHeaps(&self, numdescriptorheaps: u32, ppdescriptorheaps: *const ::std::option::Option<ID3D12DescriptorHeap>)21831     pub unsafe fn SetDescriptorHeaps(&self, numdescriptorheaps: u32, ppdescriptorheaps: *const ::std::option::Option<ID3D12DescriptorHeap>) {
21832         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptorheaps), ::std::mem::transmute(ppdescriptorheaps)))
21833     }
SetComputeRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0)21834     pub unsafe fn SetComputeRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0) {
21835         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), prootsignature.into_param().abi()))
21836     }
SetGraphicsRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0)21837     pub unsafe fn SetGraphicsRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0) {
21838         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), prootsignature.into_param().abi()))
21839     }
SetComputeRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1)21840     pub unsafe fn SetComputeRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1) {
21841         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), basedescriptor.into_param().abi()))
21842     }
SetGraphicsRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1)21843     pub unsafe fn SetGraphicsRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1) {
21844         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), basedescriptor.into_param().abi()))
21845     }
SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32)21846     pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
21847         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(srcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
21848     }
SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32)21849     pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
21850         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(srcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
21851     }
SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32)21852     pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32) {
21853         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(num32bitvaluestoset), ::std::mem::transmute(psrcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
21854     }
SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32)21855     pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32) {
21856         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(num32bitvaluestoset), ::std::mem::transmute(psrcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
21857     }
SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64)21858     pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
21859         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
21860     }
SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64)21861     pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
21862         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
21863     }
SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64)21864     pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
21865         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
21866     }
SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64)21867     pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
21868         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
21869     }
SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64)21870     pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
21871         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
21872     }
SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64)21873     pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
21874         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
21875     }
21876     #[cfg(feature = "Win32_Graphics_Dxgi")]
IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW)21877     pub unsafe fn IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW) {
21878         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(pview)))
21879     }
IASetVertexBuffers(&self, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW)21880     pub unsafe fn IASetVertexBuffers(&self, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW) {
21881         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(startslot), ::std::mem::transmute(numviews), ::std::mem::transmute(pviews)))
21882     }
SOSetTargets(&self, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW)21883     pub unsafe fn SOSetTargets(&self, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW) {
21884         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(startslot), ::std::mem::transmute(numviews), ::std::mem::transmute(pviews)))
21885     }
21886     #[cfg(feature = "Win32_Foundation")]
OMSetRenderTargets<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: Param2, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE)21887     pub unsafe fn OMSetRenderTargets<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: Param2, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE) {
21888         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrendertargetdescriptors), ::std::mem::transmute(prendertargetdescriptors), rtssinglehandletodescriptorrange.into_param().abi(), ::std::mem::transmute(pdepthstencildescriptor)))
21889     }
21890     #[cfg(feature = "Win32_Foundation")]
ClearDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, depthstencilview: Param0, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT)21891     pub unsafe fn ClearDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, depthstencilview: Param0, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT) {
21892         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), depthstencilview.into_param().abi(), ::std::mem::transmute(clearflags), ::std::mem::transmute(depth), ::std::mem::transmute(stencil), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
21893     }
21894     #[cfg(feature = "Win32_Foundation")]
ClearRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, rendertargetview: Param0, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT)21895     pub unsafe fn ClearRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, rendertargetview: Param0, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT) {
21896         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), rendertargetview.into_param().abi(), ::std::mem::transmute(colorrgba), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
21897     }
21898     #[cfg(feature = "Win32_Foundation")]
ClearUnorderedAccessViewUint<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT)21899     pub unsafe fn ClearUnorderedAccessViewUint<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT) {
21900         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), viewgpuhandleincurrentheap.into_param().abi(), viewcpuhandle.into_param().abi(), presource.into_param().abi(), ::std::mem::transmute(values), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
21901     }
21902     #[cfg(feature = "Win32_Foundation")]
ClearUnorderedAccessViewFloat<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT)21903     pub unsafe fn ClearUnorderedAccessViewFloat<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT) {
21904         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), viewgpuhandleincurrentheap.into_param().abi(), viewcpuhandle.into_param().abi(), presource.into_param().abi(), ::std::mem::transmute(values), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
21905     }
21906     #[cfg(feature = "Win32_Foundation")]
DiscardResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, pregion: *const D3D12_DISCARD_REGION)21907     pub unsafe fn DiscardResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, pregion: *const D3D12_DISCARD_REGION) {
21908         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pregion)))
21909     }
BeginQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32)21910     pub unsafe fn BeginQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32) {
21911         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), pqueryheap.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(index)))
21912     }
EndQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32)21913     pub unsafe fn EndQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32) {
21914         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), pqueryheap.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(index)))
21915     }
ResolveQueryData<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: Param4, aligneddestinationbufferoffset: u64)21916     pub unsafe fn ResolveQueryData<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: Param4, aligneddestinationbufferoffset: u64) {
21917         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).54)(
21918             ::std::mem::transmute_copy(self),
21919             pqueryheap.into_param().abi(),
21920             ::std::mem::transmute(r#type),
21921             ::std::mem::transmute(startindex),
21922             ::std::mem::transmute(numqueries),
21923             pdestinationbuffer.into_param().abi(),
21924             ::std::mem::transmute(aligneddestinationbufferoffset),
21925         ))
21926     }
SetPredication<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pbuffer: Param0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)21927     pub unsafe fn SetPredication<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pbuffer: Param0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP) {
21928         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), pbuffer.into_param().abi(), ::std::mem::transmute(alignedbufferoffset), ::std::mem::transmute(operation)))
21929     }
SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)21930     pub unsafe fn SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
21931         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
21932     }
BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)21933     pub unsafe fn BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
21934         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
21935     }
EndEvent(&self)21936     pub unsafe fn EndEvent(&self) {
21937         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self)))
21938     }
ExecuteIndirect<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandSignature>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pcommandsignature: Param0, maxcommandcount: u32, pargumentbuffer: Param2, argumentbufferoffset: u64, pcountbuffer: Param4, countbufferoffset: u64)21939     pub unsafe fn ExecuteIndirect<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandSignature>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pcommandsignature: Param0, maxcommandcount: u32, pargumentbuffer: Param2, argumentbufferoffset: u64, pcountbuffer: Param4, countbufferoffset: u64) {
21940         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).59)(
21941             ::std::mem::transmute_copy(self),
21942             pcommandsignature.into_param().abi(),
21943             ::std::mem::transmute(maxcommandcount),
21944             pargumentbuffer.into_param().abi(),
21945             ::std::mem::transmute(argumentbufferoffset),
21946             pcountbuffer.into_param().abi(),
21947             ::std::mem::transmute(countbufferoffset),
21948         ))
21949     }
AtomicCopyBufferUINT<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)21950     pub unsafe fn AtomicCopyBufferUINT<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64) {
21951         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).60)(
21952             ::std::mem::transmute_copy(self),
21953             pdstbuffer.into_param().abi(),
21954             ::std::mem::transmute(dstoffset),
21955             psrcbuffer.into_param().abi(),
21956             ::std::mem::transmute(srcoffset),
21957             ::std::mem::transmute(dependencies),
21958             ::std::mem::transmute(ppdependentresources),
21959             ::std::mem::transmute(pdependentsubresourceranges),
21960         ))
21961     }
AtomicCopyBufferUINT64<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)21962     pub unsafe fn AtomicCopyBufferUINT64<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64) {
21963         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).61)(
21964             ::std::mem::transmute_copy(self),
21965             pdstbuffer.into_param().abi(),
21966             ::std::mem::transmute(dstoffset),
21967             psrcbuffer.into_param().abi(),
21968             ::std::mem::transmute(srcoffset),
21969             ::std::mem::transmute(dependencies),
21970             ::std::mem::transmute(ppdependentresources),
21971             ::std::mem::transmute(pdependentsubresourceranges),
21972         ))
21973     }
OMSetDepthBounds(&self, min: f32, max: f32)21974     pub unsafe fn OMSetDepthBounds(&self, min: f32, max: f32) {
21975         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), ::std::mem::transmute(min), ::std::mem::transmute(max)))
21976     }
SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION)21977     pub unsafe fn SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION) {
21978         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(numsamplesperpixel), ::std::mem::transmute(numpixels), ::std::mem::transmute(psamplepositions)))
21979     }
21980     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
ResolveSubresourceRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: Param4, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE)21981     pub unsafe fn ResolveSubresourceRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: Param4, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE) {
21982         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).64)(
21983             ::std::mem::transmute_copy(self),
21984             pdstresource.into_param().abi(),
21985             ::std::mem::transmute(dstsubresource),
21986             ::std::mem::transmute(dstx),
21987             ::std::mem::transmute(dsty),
21988             psrcresource.into_param().abi(),
21989             ::std::mem::transmute(srcsubresource),
21990             ::std::mem::transmute(psrcrect),
21991             ::std::mem::transmute(format),
21992             ::std::mem::transmute(resolvemode),
21993         ))
21994     }
SetViewInstanceMask(&self, mask: u32)21995     pub unsafe fn SetViewInstanceMask(&self, mask: u32) {
21996         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), ::std::mem::transmute(mask)))
21997     }
21998 }
21999 unsafe impl ::windows::runtime::Interface for ID3D12GraphicsCommandList1 {
22000     type Vtable = ID3D12GraphicsCommandList1_abi;
22001     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1429275643, 8167, 17751, [187, 56, 148, 109, 125, 14, 124, 167]);
22002 }
22003 impl ::std::convert::From<ID3D12GraphicsCommandList1> for ::windows::runtime::IUnknown {
from(value: ID3D12GraphicsCommandList1) -> Self22004     fn from(value: ID3D12GraphicsCommandList1) -> Self {
22005         unsafe { ::std::mem::transmute(value) }
22006     }
22007 }
22008 impl ::std::convert::From<&ID3D12GraphicsCommandList1> for ::windows::runtime::IUnknown {
from(value: &ID3D12GraphicsCommandList1) -> Self22009     fn from(value: &ID3D12GraphicsCommandList1) -> Self {
22010         ::std::convert::From::from(::std::clone::Clone::clone(value))
22011     }
22012 }
22013 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12GraphicsCommandList1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>22014     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
22015         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
22016     }
22017 }
22018 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12GraphicsCommandList1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>22019     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
22020         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
22021     }
22022 }
22023 impl ::std::convert::From<ID3D12GraphicsCommandList1> for ID3D12GraphicsCommandList {
from(value: ID3D12GraphicsCommandList1) -> Self22024     fn from(value: ID3D12GraphicsCommandList1) -> Self {
22025         unsafe { ::std::mem::transmute(value) }
22026     }
22027 }
22028 impl ::std::convert::From<&ID3D12GraphicsCommandList1> for ID3D12GraphicsCommandList {
from(value: &ID3D12GraphicsCommandList1) -> Self22029     fn from(value: &ID3D12GraphicsCommandList1) -> Self {
22030         ::std::convert::From::from(::std::clone::Clone::clone(value))
22031     }
22032 }
22033 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList> for ID3D12GraphicsCommandList1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList>22034     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList> {
22035         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList>::into(self))
22036     }
22037 }
22038 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList> for &ID3D12GraphicsCommandList1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList>22039     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList> {
22040         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList>::into(::std::clone::Clone::clone(self)))
22041     }
22042 }
22043 impl ::std::convert::From<ID3D12GraphicsCommandList1> for ID3D12CommandList {
from(value: ID3D12GraphicsCommandList1) -> Self22044     fn from(value: ID3D12GraphicsCommandList1) -> Self {
22045         unsafe { ::std::mem::transmute(value) }
22046     }
22047 }
22048 impl ::std::convert::From<&ID3D12GraphicsCommandList1> for ID3D12CommandList {
from(value: &ID3D12GraphicsCommandList1) -> Self22049     fn from(value: &ID3D12GraphicsCommandList1) -> Self {
22050         ::std::convert::From::from(::std::clone::Clone::clone(value))
22051     }
22052 }
22053 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12CommandList> for ID3D12GraphicsCommandList1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList>22054     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList> {
22055         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12CommandList>::into(self))
22056     }
22057 }
22058 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12CommandList> for &ID3D12GraphicsCommandList1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList>22059     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList> {
22060         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12CommandList>::into(::std::clone::Clone::clone(self)))
22061     }
22062 }
22063 impl ::std::convert::From<ID3D12GraphicsCommandList1> for ID3D12DeviceChild {
from(value: ID3D12GraphicsCommandList1) -> Self22064     fn from(value: ID3D12GraphicsCommandList1) -> Self {
22065         unsafe { ::std::mem::transmute(value) }
22066     }
22067 }
22068 impl ::std::convert::From<&ID3D12GraphicsCommandList1> for ID3D12DeviceChild {
from(value: &ID3D12GraphicsCommandList1) -> Self22069     fn from(value: &ID3D12GraphicsCommandList1) -> Self {
22070         ::std::convert::From::from(::std::clone::Clone::clone(value))
22071     }
22072 }
22073 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12GraphicsCommandList1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>22074     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
22075         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
22076     }
22077 }
22078 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12GraphicsCommandList1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>22079     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
22080         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
22081     }
22082 }
22083 impl ::std::convert::From<ID3D12GraphicsCommandList1> for ID3D12Object {
from(value: ID3D12GraphicsCommandList1) -> Self22084     fn from(value: ID3D12GraphicsCommandList1) -> Self {
22085         unsafe { ::std::mem::transmute(value) }
22086     }
22087 }
22088 impl ::std::convert::From<&ID3D12GraphicsCommandList1> for ID3D12Object {
from(value: &ID3D12GraphicsCommandList1) -> Self22089     fn from(value: &ID3D12GraphicsCommandList1) -> Self {
22090         ::std::convert::From::from(::std::clone::Clone::clone(value))
22091     }
22092 }
22093 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12GraphicsCommandList1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>22094     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
22095         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
22096     }
22097 }
22098 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12GraphicsCommandList1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>22099     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
22100         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
22101     }
22102 }
22103 #[repr(C)]
22104 #[doc(hidden)]
22105 pub struct ID3D12GraphicsCommandList1_abi(
22106     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
22110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
22111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22112     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
22113     #[cfg(not(feature = "Win32_Foundation"))] usize,
22114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
22115     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_COMMAND_LIST_TYPE,
22116     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipelinestate: ::windows::runtime::RawPtr),
22119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32),
22120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32),
22121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32),
22122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, numbytes: u64),
22123     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdst: *const ::std::mem::ManuallyDrop<D3D12_TEXTURE_COPY_LOCATION>, dstx: u32, dsty: u32, dstz: u32, psrc: *const ::std::mem::ManuallyDrop<D3D12_TEXTURE_COPY_LOCATION>, psrcbox: *const D3D12_BOX),
22124     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
22125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, psrcresource: ::windows::runtime::RawPtr),
22126     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: ::windows::runtime::RawPtr, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS),
22127     #[cfg(not(feature = "Win32_Foundation"))] usize,
22128     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, dstsubresource: u32, psrcresource: ::windows::runtime::RawPtr, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT),
22129     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
22130     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY),
22131     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
22132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numviewports: u32, pviewports: *const D3D12_VIEWPORT),
22133     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrects: u32, prects: *const super::super::Foundation::RECT),
22134     #[cfg(not(feature = "Win32_Foundation"))] usize,
22135     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blendfactor: *const f32),
22136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stencilref: u32),
22137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipelinestate: ::windows::runtime::RawPtr),
22138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numbarriers: u32, pbarriers: *const ::std::mem::ManuallyDrop<D3D12_RESOURCE_BARRIER>),
22139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcommandlist: ::windows::runtime::RawPtr),
22140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptorheaps: u32, ppdescriptorheaps: *const ::windows::runtime::RawPtr),
22141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prootsignature: ::windows::runtime::RawPtr),
22142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prootsignature: ::windows::runtime::RawPtr),
22143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
22144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
22145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
22146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
22147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32),
22148     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32),
22149     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
22150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
22151     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
22152     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
22153     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
22154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
22155     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pview: *const D3D12_INDEX_BUFFER_VIEW),
22156     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
22157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW),
22158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW),
22159     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: super::super::Foundation::BOOL, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE),
22160     #[cfg(not(feature = "Win32_Foundation"))] usize,
22161     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT),
22162     #[cfg(not(feature = "Win32_Foundation"))] usize,
22163     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
22164     #[cfg(not(feature = "Win32_Foundation"))] usize,
22165     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: ::windows::runtime::RawPtr, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT),
22166     #[cfg(not(feature = "Win32_Foundation"))] usize,
22167     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: ::windows::runtime::RawPtr, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
22168     #[cfg(not(feature = "Win32_Foundation"))] usize,
22169     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pregion: *const D3D12_DISCARD_REGION),
22170     #[cfg(not(feature = "Win32_Foundation"))] usize,
22171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, index: u32),
22172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, index: u32),
22173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: ::windows::runtime::RawPtr, aligneddestinationbufferoffset: u64),
22174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbuffer: ::windows::runtime::RawPtr, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP),
22175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
22176     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
22177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
22178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcommandsignature: ::windows::runtime::RawPtr, maxcommandcount: u32, pargumentbuffer: ::windows::runtime::RawPtr, argumentbufferoffset: u64, pcountbuffer: ::windows::runtime::RawPtr, countbufferoffset: u64),
22179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::windows::runtime::RawPtr, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64),
22180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::windows::runtime::RawPtr, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64),
22181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, min: f32, max: f32),
22182     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION),
22183     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: ::windows::runtime::RawPtr, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE),
22184     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
22185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mask: u32),
22186 );
22187 #[repr(transparent)]
22188 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22189 pub struct ID3D12GraphicsCommandList2(::windows::runtime::IUnknown);
22190 impl ID3D12GraphicsCommandList2 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>22191     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
22192         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
22193     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>22194     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
22195         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
22196     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>22197     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
22198         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
22199     }
22200     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>22201     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
22202         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
22203     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>22204     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
22205         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
22206     }
GetType(&self) -> D3D12_COMMAND_LIST_TYPE22207     pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
22208         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
22209     }
Close(&self) -> ::windows::runtime::Result<()>22210     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
22211         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
22212     }
Reset<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pallocator: Param0, pinitialstate: Param1) -> ::windows::runtime::Result<()>22213     pub unsafe fn Reset<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pallocator: Param0, pinitialstate: Param1) -> ::windows::runtime::Result<()> {
22214         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
22215     }
ClearState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0)22216     pub unsafe fn ClearState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0) {
22217         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ppipelinestate.into_param().abi()))
22218     }
DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32)22219     pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
22220         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(vertexcountperinstance), ::std::mem::transmute(instancecount), ::std::mem::transmute(startvertexlocation), ::std::mem::transmute(startinstancelocation)))
22221     }
DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32)22222     pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
22223         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(indexcountperinstance), ::std::mem::transmute(instancecount), ::std::mem::transmute(startindexlocation), ::std::mem::transmute(basevertexlocation), ::std::mem::transmute(startinstancelocation)))
22224     }
Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32)22225     pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
22226         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(threadgroupcountx), ::std::mem::transmute(threadgroupcounty), ::std::mem::transmute(threadgroupcountz)))
22227     }
CopyBufferRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, numbytes: u64)22228     pub unsafe fn CopyBufferRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, numbytes: u64) {
22229         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdstbuffer.into_param().abi(), ::std::mem::transmute(dstoffset), psrcbuffer.into_param().abi(), ::std::mem::transmute(srcoffset), ::std::mem::transmute(numbytes)))
22230     }
22231     #[cfg(feature = "Win32_Graphics_Dxgi")]
CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX)22232     pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX) {
22233         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdst), ::std::mem::transmute(dstx), ::std::mem::transmute(dsty), ::std::mem::transmute(dstz), ::std::mem::transmute(psrc), ::std::mem::transmute(psrcbox)))
22234     }
CopyResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, psrcresource: Param1)22235     pub unsafe fn CopyResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, psrcresource: Param1) {
22236         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pdstresource.into_param().abi(), psrcresource.into_param().abi()))
22237     }
22238     #[cfg(feature = "Win32_Foundation")]
CopyTiles<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: Param3, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)22239     pub unsafe fn CopyTiles<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: Param3, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS) {
22240         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(
22241             ::std::mem::transmute_copy(self),
22242             ptiledresource.into_param().abi(),
22243             ::std::mem::transmute(ptileregionstartcoordinate),
22244             ::std::mem::transmute(ptileregionsize),
22245             pbuffer.into_param().abi(),
22246             ::std::mem::transmute(bufferstartoffsetinbytes),
22247             ::std::mem::transmute(flags),
22248         ))
22249     }
22250     #[cfg(feature = "Win32_Graphics_Dxgi")]
ResolveSubresource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, psrcresource: Param2, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT)22251     pub unsafe fn ResolveSubresource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, psrcresource: Param2, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT) {
22252         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), pdstresource.into_param().abi(), ::std::mem::transmute(dstsubresource), psrcresource.into_param().abi(), ::std::mem::transmute(srcsubresource), ::std::mem::transmute(format)))
22253     }
22254     #[cfg(feature = "Win32_Graphics_Direct3D11")]
IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY)22255     pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY) {
22256         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(primitivetopology)))
22257     }
RSSetViewports(&self, numviewports: u32, pviewports: *const D3D12_VIEWPORT)22258     pub unsafe fn RSSetViewports(&self, numviewports: u32, pviewports: *const D3D12_VIEWPORT) {
22259         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(numviewports), ::std::mem::transmute(pviewports)))
22260     }
22261     #[cfg(feature = "Win32_Foundation")]
RSSetScissorRects(&self, numrects: u32, prects: *const super::super::Foundation::RECT)22262     pub unsafe fn RSSetScissorRects(&self, numrects: u32, prects: *const super::super::Foundation::RECT) {
22263         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
22264     }
OMSetBlendFactor(&self, blendfactor: *const f32)22265     pub unsafe fn OMSetBlendFactor(&self, blendfactor: *const f32) {
22266         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(blendfactor)))
22267     }
OMSetStencilRef(&self, stencilref: u32)22268     pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
22269         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(stencilref)))
22270     }
SetPipelineState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0)22271     pub unsafe fn SetPipelineState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0) {
22272         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ppipelinestate.into_param().abi()))
22273     }
ResourceBarrier(&self, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER)22274     pub unsafe fn ResourceBarrier(&self, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER) {
22275         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(numbarriers), ::std::mem::transmute(pbarriers)))
22276     }
ExecuteBundle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList>>(&self, pcommandlist: Param0)22277     pub unsafe fn ExecuteBundle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList>>(&self, pcommandlist: Param0) {
22278         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), pcommandlist.into_param().abi()))
22279     }
SetDescriptorHeaps(&self, numdescriptorheaps: u32, ppdescriptorheaps: *const ::std::option::Option<ID3D12DescriptorHeap>)22280     pub unsafe fn SetDescriptorHeaps(&self, numdescriptorheaps: u32, ppdescriptorheaps: *const ::std::option::Option<ID3D12DescriptorHeap>) {
22281         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptorheaps), ::std::mem::transmute(ppdescriptorheaps)))
22282     }
SetComputeRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0)22283     pub unsafe fn SetComputeRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0) {
22284         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), prootsignature.into_param().abi()))
22285     }
SetGraphicsRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0)22286     pub unsafe fn SetGraphicsRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0) {
22287         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), prootsignature.into_param().abi()))
22288     }
SetComputeRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1)22289     pub unsafe fn SetComputeRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1) {
22290         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), basedescriptor.into_param().abi()))
22291     }
SetGraphicsRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1)22292     pub unsafe fn SetGraphicsRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1) {
22293         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), basedescriptor.into_param().abi()))
22294     }
SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32)22295     pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
22296         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(srcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
22297     }
SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32)22298     pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
22299         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(srcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
22300     }
SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32)22301     pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32) {
22302         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(num32bitvaluestoset), ::std::mem::transmute(psrcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
22303     }
SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32)22304     pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32) {
22305         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(num32bitvaluestoset), ::std::mem::transmute(psrcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
22306     }
SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64)22307     pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
22308         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
22309     }
SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64)22310     pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
22311         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
22312     }
SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64)22313     pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
22314         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
22315     }
SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64)22316     pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
22317         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
22318     }
SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64)22319     pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
22320         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
22321     }
SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64)22322     pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
22323         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
22324     }
22325     #[cfg(feature = "Win32_Graphics_Dxgi")]
IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW)22326     pub unsafe fn IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW) {
22327         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(pview)))
22328     }
IASetVertexBuffers(&self, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW)22329     pub unsafe fn IASetVertexBuffers(&self, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW) {
22330         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(startslot), ::std::mem::transmute(numviews), ::std::mem::transmute(pviews)))
22331     }
SOSetTargets(&self, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW)22332     pub unsafe fn SOSetTargets(&self, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW) {
22333         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(startslot), ::std::mem::transmute(numviews), ::std::mem::transmute(pviews)))
22334     }
22335     #[cfg(feature = "Win32_Foundation")]
OMSetRenderTargets<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: Param2, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE)22336     pub unsafe fn OMSetRenderTargets<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: Param2, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE) {
22337         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrendertargetdescriptors), ::std::mem::transmute(prendertargetdescriptors), rtssinglehandletodescriptorrange.into_param().abi(), ::std::mem::transmute(pdepthstencildescriptor)))
22338     }
22339     #[cfg(feature = "Win32_Foundation")]
ClearDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, depthstencilview: Param0, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT)22340     pub unsafe fn ClearDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, depthstencilview: Param0, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT) {
22341         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), depthstencilview.into_param().abi(), ::std::mem::transmute(clearflags), ::std::mem::transmute(depth), ::std::mem::transmute(stencil), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
22342     }
22343     #[cfg(feature = "Win32_Foundation")]
ClearRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, rendertargetview: Param0, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT)22344     pub unsafe fn ClearRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, rendertargetview: Param0, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT) {
22345         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), rendertargetview.into_param().abi(), ::std::mem::transmute(colorrgba), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
22346     }
22347     #[cfg(feature = "Win32_Foundation")]
ClearUnorderedAccessViewUint<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT)22348     pub unsafe fn ClearUnorderedAccessViewUint<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT) {
22349         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), viewgpuhandleincurrentheap.into_param().abi(), viewcpuhandle.into_param().abi(), presource.into_param().abi(), ::std::mem::transmute(values), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
22350     }
22351     #[cfg(feature = "Win32_Foundation")]
ClearUnorderedAccessViewFloat<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT)22352     pub unsafe fn ClearUnorderedAccessViewFloat<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT) {
22353         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), viewgpuhandleincurrentheap.into_param().abi(), viewcpuhandle.into_param().abi(), presource.into_param().abi(), ::std::mem::transmute(values), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
22354     }
22355     #[cfg(feature = "Win32_Foundation")]
DiscardResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, pregion: *const D3D12_DISCARD_REGION)22356     pub unsafe fn DiscardResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, pregion: *const D3D12_DISCARD_REGION) {
22357         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pregion)))
22358     }
BeginQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32)22359     pub unsafe fn BeginQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32) {
22360         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), pqueryheap.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(index)))
22361     }
EndQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32)22362     pub unsafe fn EndQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32) {
22363         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), pqueryheap.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(index)))
22364     }
ResolveQueryData<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: Param4, aligneddestinationbufferoffset: u64)22365     pub unsafe fn ResolveQueryData<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: Param4, aligneddestinationbufferoffset: u64) {
22366         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).54)(
22367             ::std::mem::transmute_copy(self),
22368             pqueryheap.into_param().abi(),
22369             ::std::mem::transmute(r#type),
22370             ::std::mem::transmute(startindex),
22371             ::std::mem::transmute(numqueries),
22372             pdestinationbuffer.into_param().abi(),
22373             ::std::mem::transmute(aligneddestinationbufferoffset),
22374         ))
22375     }
SetPredication<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pbuffer: Param0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)22376     pub unsafe fn SetPredication<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pbuffer: Param0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP) {
22377         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), pbuffer.into_param().abi(), ::std::mem::transmute(alignedbufferoffset), ::std::mem::transmute(operation)))
22378     }
SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)22379     pub unsafe fn SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
22380         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
22381     }
BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)22382     pub unsafe fn BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
22383         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
22384     }
EndEvent(&self)22385     pub unsafe fn EndEvent(&self) {
22386         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self)))
22387     }
ExecuteIndirect<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandSignature>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pcommandsignature: Param0, maxcommandcount: u32, pargumentbuffer: Param2, argumentbufferoffset: u64, pcountbuffer: Param4, countbufferoffset: u64)22388     pub unsafe fn ExecuteIndirect<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandSignature>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pcommandsignature: Param0, maxcommandcount: u32, pargumentbuffer: Param2, argumentbufferoffset: u64, pcountbuffer: Param4, countbufferoffset: u64) {
22389         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).59)(
22390             ::std::mem::transmute_copy(self),
22391             pcommandsignature.into_param().abi(),
22392             ::std::mem::transmute(maxcommandcount),
22393             pargumentbuffer.into_param().abi(),
22394             ::std::mem::transmute(argumentbufferoffset),
22395             pcountbuffer.into_param().abi(),
22396             ::std::mem::transmute(countbufferoffset),
22397         ))
22398     }
AtomicCopyBufferUINT<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)22399     pub unsafe fn AtomicCopyBufferUINT<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64) {
22400         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).60)(
22401             ::std::mem::transmute_copy(self),
22402             pdstbuffer.into_param().abi(),
22403             ::std::mem::transmute(dstoffset),
22404             psrcbuffer.into_param().abi(),
22405             ::std::mem::transmute(srcoffset),
22406             ::std::mem::transmute(dependencies),
22407             ::std::mem::transmute(ppdependentresources),
22408             ::std::mem::transmute(pdependentsubresourceranges),
22409         ))
22410     }
AtomicCopyBufferUINT64<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)22411     pub unsafe fn AtomicCopyBufferUINT64<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64) {
22412         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).61)(
22413             ::std::mem::transmute_copy(self),
22414             pdstbuffer.into_param().abi(),
22415             ::std::mem::transmute(dstoffset),
22416             psrcbuffer.into_param().abi(),
22417             ::std::mem::transmute(srcoffset),
22418             ::std::mem::transmute(dependencies),
22419             ::std::mem::transmute(ppdependentresources),
22420             ::std::mem::transmute(pdependentsubresourceranges),
22421         ))
22422     }
OMSetDepthBounds(&self, min: f32, max: f32)22423     pub unsafe fn OMSetDepthBounds(&self, min: f32, max: f32) {
22424         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), ::std::mem::transmute(min), ::std::mem::transmute(max)))
22425     }
SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION)22426     pub unsafe fn SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION) {
22427         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(numsamplesperpixel), ::std::mem::transmute(numpixels), ::std::mem::transmute(psamplepositions)))
22428     }
22429     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
ResolveSubresourceRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: Param4, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE)22430     pub unsafe fn ResolveSubresourceRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: Param4, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE) {
22431         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).64)(
22432             ::std::mem::transmute_copy(self),
22433             pdstresource.into_param().abi(),
22434             ::std::mem::transmute(dstsubresource),
22435             ::std::mem::transmute(dstx),
22436             ::std::mem::transmute(dsty),
22437             psrcresource.into_param().abi(),
22438             ::std::mem::transmute(srcsubresource),
22439             ::std::mem::transmute(psrcrect),
22440             ::std::mem::transmute(format),
22441             ::std::mem::transmute(resolvemode),
22442         ))
22443     }
SetViewInstanceMask(&self, mask: u32)22444     pub unsafe fn SetViewInstanceMask(&self, mask: u32) {
22445         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), ::std::mem::transmute(mask)))
22446     }
WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE)22447     pub unsafe fn WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE) {
22448         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), ::std::mem::transmute(count), ::std::mem::transmute(pparams), ::std::mem::transmute(pmodes)))
22449     }
22450 }
22451 unsafe impl ::windows::runtime::Interface for ID3D12GraphicsCommandList2 {
22452     type Vtable = ID3D12GraphicsCommandList2_abi;
22453     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(952362373, 65303, 16684, [145, 80, 79, 198, 249, 215, 42, 40]);
22454 }
22455 impl ::std::convert::From<ID3D12GraphicsCommandList2> for ::windows::runtime::IUnknown {
from(value: ID3D12GraphicsCommandList2) -> Self22456     fn from(value: ID3D12GraphicsCommandList2) -> Self {
22457         unsafe { ::std::mem::transmute(value) }
22458     }
22459 }
22460 impl ::std::convert::From<&ID3D12GraphicsCommandList2> for ::windows::runtime::IUnknown {
from(value: &ID3D12GraphicsCommandList2) -> Self22461     fn from(value: &ID3D12GraphicsCommandList2) -> Self {
22462         ::std::convert::From::from(::std::clone::Clone::clone(value))
22463     }
22464 }
22465 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12GraphicsCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>22466     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
22467         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
22468     }
22469 }
22470 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12GraphicsCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>22471     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
22472         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
22473     }
22474 }
22475 impl ::std::convert::From<ID3D12GraphicsCommandList2> for ID3D12GraphicsCommandList1 {
from(value: ID3D12GraphicsCommandList2) -> Self22476     fn from(value: ID3D12GraphicsCommandList2) -> Self {
22477         unsafe { ::std::mem::transmute(value) }
22478     }
22479 }
22480 impl ::std::convert::From<&ID3D12GraphicsCommandList2> for ID3D12GraphicsCommandList1 {
from(value: &ID3D12GraphicsCommandList2) -> Self22481     fn from(value: &ID3D12GraphicsCommandList2) -> Self {
22482         ::std::convert::From::from(::std::clone::Clone::clone(value))
22483     }
22484 }
22485 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList1> for ID3D12GraphicsCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1>22486     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1> {
22487         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList1>::into(self))
22488     }
22489 }
22490 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList1> for &ID3D12GraphicsCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1>22491     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1> {
22492         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList1>::into(::std::clone::Clone::clone(self)))
22493     }
22494 }
22495 impl ::std::convert::From<ID3D12GraphicsCommandList2> for ID3D12GraphicsCommandList {
from(value: ID3D12GraphicsCommandList2) -> Self22496     fn from(value: ID3D12GraphicsCommandList2) -> Self {
22497         unsafe { ::std::mem::transmute(value) }
22498     }
22499 }
22500 impl ::std::convert::From<&ID3D12GraphicsCommandList2> for ID3D12GraphicsCommandList {
from(value: &ID3D12GraphicsCommandList2) -> Self22501     fn from(value: &ID3D12GraphicsCommandList2) -> Self {
22502         ::std::convert::From::from(::std::clone::Clone::clone(value))
22503     }
22504 }
22505 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList> for ID3D12GraphicsCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList>22506     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList> {
22507         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList>::into(self))
22508     }
22509 }
22510 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList> for &ID3D12GraphicsCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList>22511     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList> {
22512         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList>::into(::std::clone::Clone::clone(self)))
22513     }
22514 }
22515 impl ::std::convert::From<ID3D12GraphicsCommandList2> for ID3D12CommandList {
from(value: ID3D12GraphicsCommandList2) -> Self22516     fn from(value: ID3D12GraphicsCommandList2) -> Self {
22517         unsafe { ::std::mem::transmute(value) }
22518     }
22519 }
22520 impl ::std::convert::From<&ID3D12GraphicsCommandList2> for ID3D12CommandList {
from(value: &ID3D12GraphicsCommandList2) -> Self22521     fn from(value: &ID3D12GraphicsCommandList2) -> Self {
22522         ::std::convert::From::from(::std::clone::Clone::clone(value))
22523     }
22524 }
22525 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12CommandList> for ID3D12GraphicsCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList>22526     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList> {
22527         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12CommandList>::into(self))
22528     }
22529 }
22530 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12CommandList> for &ID3D12GraphicsCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList>22531     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList> {
22532         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12CommandList>::into(::std::clone::Clone::clone(self)))
22533     }
22534 }
22535 impl ::std::convert::From<ID3D12GraphicsCommandList2> for ID3D12DeviceChild {
from(value: ID3D12GraphicsCommandList2) -> Self22536     fn from(value: ID3D12GraphicsCommandList2) -> Self {
22537         unsafe { ::std::mem::transmute(value) }
22538     }
22539 }
22540 impl ::std::convert::From<&ID3D12GraphicsCommandList2> for ID3D12DeviceChild {
from(value: &ID3D12GraphicsCommandList2) -> Self22541     fn from(value: &ID3D12GraphicsCommandList2) -> Self {
22542         ::std::convert::From::from(::std::clone::Clone::clone(value))
22543     }
22544 }
22545 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12GraphicsCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>22546     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
22547         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
22548     }
22549 }
22550 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12GraphicsCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>22551     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
22552         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
22553     }
22554 }
22555 impl ::std::convert::From<ID3D12GraphicsCommandList2> for ID3D12Object {
from(value: ID3D12GraphicsCommandList2) -> Self22556     fn from(value: ID3D12GraphicsCommandList2) -> Self {
22557         unsafe { ::std::mem::transmute(value) }
22558     }
22559 }
22560 impl ::std::convert::From<&ID3D12GraphicsCommandList2> for ID3D12Object {
from(value: &ID3D12GraphicsCommandList2) -> Self22561     fn from(value: &ID3D12GraphicsCommandList2) -> Self {
22562         ::std::convert::From::from(::std::clone::Clone::clone(value))
22563     }
22564 }
22565 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12GraphicsCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>22566     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
22567         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
22568     }
22569 }
22570 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12GraphicsCommandList2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>22571     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
22572         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
22573     }
22574 }
22575 #[repr(C)]
22576 #[doc(hidden)]
22577 pub struct ID3D12GraphicsCommandList2_abi(
22578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
22582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
22583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22584     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
22585     #[cfg(not(feature = "Win32_Foundation"))] usize,
22586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
22587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_COMMAND_LIST_TYPE,
22588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipelinestate: ::windows::runtime::RawPtr),
22591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32),
22592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32),
22593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32),
22594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, numbytes: u64),
22595     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdst: *const ::std::mem::ManuallyDrop<D3D12_TEXTURE_COPY_LOCATION>, dstx: u32, dsty: u32, dstz: u32, psrc: *const ::std::mem::ManuallyDrop<D3D12_TEXTURE_COPY_LOCATION>, psrcbox: *const D3D12_BOX),
22596     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
22597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, psrcresource: ::windows::runtime::RawPtr),
22598     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: ::windows::runtime::RawPtr, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS),
22599     #[cfg(not(feature = "Win32_Foundation"))] usize,
22600     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, dstsubresource: u32, psrcresource: ::windows::runtime::RawPtr, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT),
22601     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
22602     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY),
22603     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
22604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numviewports: u32, pviewports: *const D3D12_VIEWPORT),
22605     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrects: u32, prects: *const super::super::Foundation::RECT),
22606     #[cfg(not(feature = "Win32_Foundation"))] usize,
22607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blendfactor: *const f32),
22608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stencilref: u32),
22609     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipelinestate: ::windows::runtime::RawPtr),
22610     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numbarriers: u32, pbarriers: *const ::std::mem::ManuallyDrop<D3D12_RESOURCE_BARRIER>),
22611     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcommandlist: ::windows::runtime::RawPtr),
22612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptorheaps: u32, ppdescriptorheaps: *const ::windows::runtime::RawPtr),
22613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prootsignature: ::windows::runtime::RawPtr),
22614     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prootsignature: ::windows::runtime::RawPtr),
22615     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
22616     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
22617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
22618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
22619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32),
22620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32),
22621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
22622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
22623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
22624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
22625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
22626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
22627     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pview: *const D3D12_INDEX_BUFFER_VIEW),
22628     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
22629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW),
22630     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW),
22631     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: super::super::Foundation::BOOL, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE),
22632     #[cfg(not(feature = "Win32_Foundation"))] usize,
22633     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT),
22634     #[cfg(not(feature = "Win32_Foundation"))] usize,
22635     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
22636     #[cfg(not(feature = "Win32_Foundation"))] usize,
22637     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: ::windows::runtime::RawPtr, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT),
22638     #[cfg(not(feature = "Win32_Foundation"))] usize,
22639     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: ::windows::runtime::RawPtr, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
22640     #[cfg(not(feature = "Win32_Foundation"))] usize,
22641     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pregion: *const D3D12_DISCARD_REGION),
22642     #[cfg(not(feature = "Win32_Foundation"))] usize,
22643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, index: u32),
22644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, index: u32),
22645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: ::windows::runtime::RawPtr, aligneddestinationbufferoffset: u64),
22646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbuffer: ::windows::runtime::RawPtr, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP),
22647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
22648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
22649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
22650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcommandsignature: ::windows::runtime::RawPtr, maxcommandcount: u32, pargumentbuffer: ::windows::runtime::RawPtr, argumentbufferoffset: u64, pcountbuffer: ::windows::runtime::RawPtr, countbufferoffset: u64),
22651     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::windows::runtime::RawPtr, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64),
22652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::windows::runtime::RawPtr, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64),
22653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, min: f32, max: f32),
22654     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION),
22655     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: ::windows::runtime::RawPtr, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE),
22656     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
22657     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mask: u32),
22658     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE),
22659 );
22660 #[repr(transparent)]
22661 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22662 pub struct ID3D12GraphicsCommandList3(::windows::runtime::IUnknown);
22663 impl ID3D12GraphicsCommandList3 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>22664     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
22665         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
22666     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>22667     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
22668         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
22669     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>22670     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
22671         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
22672     }
22673     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>22674     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
22675         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
22676     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>22677     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
22678         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
22679     }
GetType(&self) -> D3D12_COMMAND_LIST_TYPE22680     pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
22681         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
22682     }
Close(&self) -> ::windows::runtime::Result<()>22683     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
22684         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
22685     }
Reset<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pallocator: Param0, pinitialstate: Param1) -> ::windows::runtime::Result<()>22686     pub unsafe fn Reset<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pallocator: Param0, pinitialstate: Param1) -> ::windows::runtime::Result<()> {
22687         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
22688     }
ClearState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0)22689     pub unsafe fn ClearState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0) {
22690         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ppipelinestate.into_param().abi()))
22691     }
DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32)22692     pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
22693         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(vertexcountperinstance), ::std::mem::transmute(instancecount), ::std::mem::transmute(startvertexlocation), ::std::mem::transmute(startinstancelocation)))
22694     }
DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32)22695     pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
22696         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(indexcountperinstance), ::std::mem::transmute(instancecount), ::std::mem::transmute(startindexlocation), ::std::mem::transmute(basevertexlocation), ::std::mem::transmute(startinstancelocation)))
22697     }
Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32)22698     pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
22699         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(threadgroupcountx), ::std::mem::transmute(threadgroupcounty), ::std::mem::transmute(threadgroupcountz)))
22700     }
CopyBufferRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, numbytes: u64)22701     pub unsafe fn CopyBufferRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, numbytes: u64) {
22702         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdstbuffer.into_param().abi(), ::std::mem::transmute(dstoffset), psrcbuffer.into_param().abi(), ::std::mem::transmute(srcoffset), ::std::mem::transmute(numbytes)))
22703     }
22704     #[cfg(feature = "Win32_Graphics_Dxgi")]
CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX)22705     pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX) {
22706         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdst), ::std::mem::transmute(dstx), ::std::mem::transmute(dsty), ::std::mem::transmute(dstz), ::std::mem::transmute(psrc), ::std::mem::transmute(psrcbox)))
22707     }
CopyResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, psrcresource: Param1)22708     pub unsafe fn CopyResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, psrcresource: Param1) {
22709         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pdstresource.into_param().abi(), psrcresource.into_param().abi()))
22710     }
22711     #[cfg(feature = "Win32_Foundation")]
CopyTiles<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: Param3, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)22712     pub unsafe fn CopyTiles<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: Param3, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS) {
22713         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(
22714             ::std::mem::transmute_copy(self),
22715             ptiledresource.into_param().abi(),
22716             ::std::mem::transmute(ptileregionstartcoordinate),
22717             ::std::mem::transmute(ptileregionsize),
22718             pbuffer.into_param().abi(),
22719             ::std::mem::transmute(bufferstartoffsetinbytes),
22720             ::std::mem::transmute(flags),
22721         ))
22722     }
22723     #[cfg(feature = "Win32_Graphics_Dxgi")]
ResolveSubresource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, psrcresource: Param2, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT)22724     pub unsafe fn ResolveSubresource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, psrcresource: Param2, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT) {
22725         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), pdstresource.into_param().abi(), ::std::mem::transmute(dstsubresource), psrcresource.into_param().abi(), ::std::mem::transmute(srcsubresource), ::std::mem::transmute(format)))
22726     }
22727     #[cfg(feature = "Win32_Graphics_Direct3D11")]
IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY)22728     pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY) {
22729         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(primitivetopology)))
22730     }
RSSetViewports(&self, numviewports: u32, pviewports: *const D3D12_VIEWPORT)22731     pub unsafe fn RSSetViewports(&self, numviewports: u32, pviewports: *const D3D12_VIEWPORT) {
22732         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(numviewports), ::std::mem::transmute(pviewports)))
22733     }
22734     #[cfg(feature = "Win32_Foundation")]
RSSetScissorRects(&self, numrects: u32, prects: *const super::super::Foundation::RECT)22735     pub unsafe fn RSSetScissorRects(&self, numrects: u32, prects: *const super::super::Foundation::RECT) {
22736         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
22737     }
OMSetBlendFactor(&self, blendfactor: *const f32)22738     pub unsafe fn OMSetBlendFactor(&self, blendfactor: *const f32) {
22739         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(blendfactor)))
22740     }
OMSetStencilRef(&self, stencilref: u32)22741     pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
22742         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(stencilref)))
22743     }
SetPipelineState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0)22744     pub unsafe fn SetPipelineState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0) {
22745         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ppipelinestate.into_param().abi()))
22746     }
ResourceBarrier(&self, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER)22747     pub unsafe fn ResourceBarrier(&self, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER) {
22748         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(numbarriers), ::std::mem::transmute(pbarriers)))
22749     }
ExecuteBundle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList>>(&self, pcommandlist: Param0)22750     pub unsafe fn ExecuteBundle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList>>(&self, pcommandlist: Param0) {
22751         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), pcommandlist.into_param().abi()))
22752     }
SetDescriptorHeaps(&self, numdescriptorheaps: u32, ppdescriptorheaps: *const ::std::option::Option<ID3D12DescriptorHeap>)22753     pub unsafe fn SetDescriptorHeaps(&self, numdescriptorheaps: u32, ppdescriptorheaps: *const ::std::option::Option<ID3D12DescriptorHeap>) {
22754         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptorheaps), ::std::mem::transmute(ppdescriptorheaps)))
22755     }
SetComputeRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0)22756     pub unsafe fn SetComputeRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0) {
22757         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), prootsignature.into_param().abi()))
22758     }
SetGraphicsRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0)22759     pub unsafe fn SetGraphicsRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0) {
22760         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), prootsignature.into_param().abi()))
22761     }
SetComputeRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1)22762     pub unsafe fn SetComputeRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1) {
22763         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), basedescriptor.into_param().abi()))
22764     }
SetGraphicsRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1)22765     pub unsafe fn SetGraphicsRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1) {
22766         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), basedescriptor.into_param().abi()))
22767     }
SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32)22768     pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
22769         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(srcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
22770     }
SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32)22771     pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
22772         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(srcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
22773     }
SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32)22774     pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32) {
22775         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(num32bitvaluestoset), ::std::mem::transmute(psrcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
22776     }
SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32)22777     pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32) {
22778         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(num32bitvaluestoset), ::std::mem::transmute(psrcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
22779     }
SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64)22780     pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
22781         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
22782     }
SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64)22783     pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
22784         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
22785     }
SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64)22786     pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
22787         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
22788     }
SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64)22789     pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
22790         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
22791     }
SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64)22792     pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
22793         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
22794     }
SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64)22795     pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
22796         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
22797     }
22798     #[cfg(feature = "Win32_Graphics_Dxgi")]
IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW)22799     pub unsafe fn IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW) {
22800         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(pview)))
22801     }
IASetVertexBuffers(&self, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW)22802     pub unsafe fn IASetVertexBuffers(&self, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW) {
22803         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(startslot), ::std::mem::transmute(numviews), ::std::mem::transmute(pviews)))
22804     }
SOSetTargets(&self, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW)22805     pub unsafe fn SOSetTargets(&self, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW) {
22806         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(startslot), ::std::mem::transmute(numviews), ::std::mem::transmute(pviews)))
22807     }
22808     #[cfg(feature = "Win32_Foundation")]
OMSetRenderTargets<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: Param2, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE)22809     pub unsafe fn OMSetRenderTargets<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: Param2, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE) {
22810         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrendertargetdescriptors), ::std::mem::transmute(prendertargetdescriptors), rtssinglehandletodescriptorrange.into_param().abi(), ::std::mem::transmute(pdepthstencildescriptor)))
22811     }
22812     #[cfg(feature = "Win32_Foundation")]
ClearDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, depthstencilview: Param0, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT)22813     pub unsafe fn ClearDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, depthstencilview: Param0, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT) {
22814         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), depthstencilview.into_param().abi(), ::std::mem::transmute(clearflags), ::std::mem::transmute(depth), ::std::mem::transmute(stencil), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
22815     }
22816     #[cfg(feature = "Win32_Foundation")]
ClearRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, rendertargetview: Param0, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT)22817     pub unsafe fn ClearRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, rendertargetview: Param0, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT) {
22818         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), rendertargetview.into_param().abi(), ::std::mem::transmute(colorrgba), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
22819     }
22820     #[cfg(feature = "Win32_Foundation")]
ClearUnorderedAccessViewUint<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT)22821     pub unsafe fn ClearUnorderedAccessViewUint<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT) {
22822         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), viewgpuhandleincurrentheap.into_param().abi(), viewcpuhandle.into_param().abi(), presource.into_param().abi(), ::std::mem::transmute(values), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
22823     }
22824     #[cfg(feature = "Win32_Foundation")]
ClearUnorderedAccessViewFloat<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT)22825     pub unsafe fn ClearUnorderedAccessViewFloat<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT) {
22826         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), viewgpuhandleincurrentheap.into_param().abi(), viewcpuhandle.into_param().abi(), presource.into_param().abi(), ::std::mem::transmute(values), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
22827     }
22828     #[cfg(feature = "Win32_Foundation")]
DiscardResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, pregion: *const D3D12_DISCARD_REGION)22829     pub unsafe fn DiscardResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, pregion: *const D3D12_DISCARD_REGION) {
22830         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pregion)))
22831     }
BeginQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32)22832     pub unsafe fn BeginQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32) {
22833         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), pqueryheap.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(index)))
22834     }
EndQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32)22835     pub unsafe fn EndQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32) {
22836         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), pqueryheap.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(index)))
22837     }
ResolveQueryData<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: Param4, aligneddestinationbufferoffset: u64)22838     pub unsafe fn ResolveQueryData<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: Param4, aligneddestinationbufferoffset: u64) {
22839         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).54)(
22840             ::std::mem::transmute_copy(self),
22841             pqueryheap.into_param().abi(),
22842             ::std::mem::transmute(r#type),
22843             ::std::mem::transmute(startindex),
22844             ::std::mem::transmute(numqueries),
22845             pdestinationbuffer.into_param().abi(),
22846             ::std::mem::transmute(aligneddestinationbufferoffset),
22847         ))
22848     }
SetPredication<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pbuffer: Param0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)22849     pub unsafe fn SetPredication<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pbuffer: Param0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP) {
22850         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), pbuffer.into_param().abi(), ::std::mem::transmute(alignedbufferoffset), ::std::mem::transmute(operation)))
22851     }
SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)22852     pub unsafe fn SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
22853         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
22854     }
BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)22855     pub unsafe fn BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
22856         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
22857     }
EndEvent(&self)22858     pub unsafe fn EndEvent(&self) {
22859         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self)))
22860     }
ExecuteIndirect<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandSignature>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pcommandsignature: Param0, maxcommandcount: u32, pargumentbuffer: Param2, argumentbufferoffset: u64, pcountbuffer: Param4, countbufferoffset: u64)22861     pub unsafe fn ExecuteIndirect<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandSignature>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pcommandsignature: Param0, maxcommandcount: u32, pargumentbuffer: Param2, argumentbufferoffset: u64, pcountbuffer: Param4, countbufferoffset: u64) {
22862         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).59)(
22863             ::std::mem::transmute_copy(self),
22864             pcommandsignature.into_param().abi(),
22865             ::std::mem::transmute(maxcommandcount),
22866             pargumentbuffer.into_param().abi(),
22867             ::std::mem::transmute(argumentbufferoffset),
22868             pcountbuffer.into_param().abi(),
22869             ::std::mem::transmute(countbufferoffset),
22870         ))
22871     }
AtomicCopyBufferUINT<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)22872     pub unsafe fn AtomicCopyBufferUINT<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64) {
22873         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).60)(
22874             ::std::mem::transmute_copy(self),
22875             pdstbuffer.into_param().abi(),
22876             ::std::mem::transmute(dstoffset),
22877             psrcbuffer.into_param().abi(),
22878             ::std::mem::transmute(srcoffset),
22879             ::std::mem::transmute(dependencies),
22880             ::std::mem::transmute(ppdependentresources),
22881             ::std::mem::transmute(pdependentsubresourceranges),
22882         ))
22883     }
AtomicCopyBufferUINT64<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)22884     pub unsafe fn AtomicCopyBufferUINT64<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64) {
22885         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).61)(
22886             ::std::mem::transmute_copy(self),
22887             pdstbuffer.into_param().abi(),
22888             ::std::mem::transmute(dstoffset),
22889             psrcbuffer.into_param().abi(),
22890             ::std::mem::transmute(srcoffset),
22891             ::std::mem::transmute(dependencies),
22892             ::std::mem::transmute(ppdependentresources),
22893             ::std::mem::transmute(pdependentsubresourceranges),
22894         ))
22895     }
OMSetDepthBounds(&self, min: f32, max: f32)22896     pub unsafe fn OMSetDepthBounds(&self, min: f32, max: f32) {
22897         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), ::std::mem::transmute(min), ::std::mem::transmute(max)))
22898     }
SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION)22899     pub unsafe fn SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION) {
22900         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(numsamplesperpixel), ::std::mem::transmute(numpixels), ::std::mem::transmute(psamplepositions)))
22901     }
22902     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
ResolveSubresourceRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: Param4, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE)22903     pub unsafe fn ResolveSubresourceRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: Param4, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE) {
22904         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).64)(
22905             ::std::mem::transmute_copy(self),
22906             pdstresource.into_param().abi(),
22907             ::std::mem::transmute(dstsubresource),
22908             ::std::mem::transmute(dstx),
22909             ::std::mem::transmute(dsty),
22910             psrcresource.into_param().abi(),
22911             ::std::mem::transmute(srcsubresource),
22912             ::std::mem::transmute(psrcrect),
22913             ::std::mem::transmute(format),
22914             ::std::mem::transmute(resolvemode),
22915         ))
22916     }
SetViewInstanceMask(&self, mask: u32)22917     pub unsafe fn SetViewInstanceMask(&self, mask: u32) {
22918         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), ::std::mem::transmute(mask)))
22919     }
WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE)22920     pub unsafe fn WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE) {
22921         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), ::std::mem::transmute(count), ::std::mem::transmute(pparams), ::std::mem::transmute(pmodes)))
22922     }
SetProtectedResourceSession<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>>(&self, pprotectedresourcesession: Param0)22923     pub unsafe fn SetProtectedResourceSession<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>>(&self, pprotectedresourcesession: Param0) {
22924         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), pprotectedresourcesession.into_param().abi()))
22925     }
22926 }
22927 unsafe impl ::windows::runtime::Interface for ID3D12GraphicsCommandList3 {
22928     type Vtable = ID3D12GraphicsCommandList3_abi;
22929     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1876591527, 47180, 20024, [154, 200, 199, 189, 34, 1, 107, 61]);
22930 }
22931 impl ::std::convert::From<ID3D12GraphicsCommandList3> for ::windows::runtime::IUnknown {
from(value: ID3D12GraphicsCommandList3) -> Self22932     fn from(value: ID3D12GraphicsCommandList3) -> Self {
22933         unsafe { ::std::mem::transmute(value) }
22934     }
22935 }
22936 impl ::std::convert::From<&ID3D12GraphicsCommandList3> for ::windows::runtime::IUnknown {
from(value: &ID3D12GraphicsCommandList3) -> Self22937     fn from(value: &ID3D12GraphicsCommandList3) -> Self {
22938         ::std::convert::From::from(::std::clone::Clone::clone(value))
22939     }
22940 }
22941 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12GraphicsCommandList3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>22942     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
22943         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
22944     }
22945 }
22946 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12GraphicsCommandList3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>22947     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
22948         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
22949     }
22950 }
22951 impl ::std::convert::From<ID3D12GraphicsCommandList3> for ID3D12GraphicsCommandList2 {
from(value: ID3D12GraphicsCommandList3) -> Self22952     fn from(value: ID3D12GraphicsCommandList3) -> Self {
22953         unsafe { ::std::mem::transmute(value) }
22954     }
22955 }
22956 impl ::std::convert::From<&ID3D12GraphicsCommandList3> for ID3D12GraphicsCommandList2 {
from(value: &ID3D12GraphicsCommandList3) -> Self22957     fn from(value: &ID3D12GraphicsCommandList3) -> Self {
22958         ::std::convert::From::from(::std::clone::Clone::clone(value))
22959     }
22960 }
22961 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList2> for ID3D12GraphicsCommandList3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2>22962     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2> {
22963         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList2>::into(self))
22964     }
22965 }
22966 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList2> for &ID3D12GraphicsCommandList3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2>22967     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2> {
22968         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList2>::into(::std::clone::Clone::clone(self)))
22969     }
22970 }
22971 impl ::std::convert::From<ID3D12GraphicsCommandList3> for ID3D12GraphicsCommandList1 {
from(value: ID3D12GraphicsCommandList3) -> Self22972     fn from(value: ID3D12GraphicsCommandList3) -> Self {
22973         unsafe { ::std::mem::transmute(value) }
22974     }
22975 }
22976 impl ::std::convert::From<&ID3D12GraphicsCommandList3> for ID3D12GraphicsCommandList1 {
from(value: &ID3D12GraphicsCommandList3) -> Self22977     fn from(value: &ID3D12GraphicsCommandList3) -> Self {
22978         ::std::convert::From::from(::std::clone::Clone::clone(value))
22979     }
22980 }
22981 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList1> for ID3D12GraphicsCommandList3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1>22982     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1> {
22983         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList1>::into(self))
22984     }
22985 }
22986 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList1> for &ID3D12GraphicsCommandList3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1>22987     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1> {
22988         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList1>::into(::std::clone::Clone::clone(self)))
22989     }
22990 }
22991 impl ::std::convert::From<ID3D12GraphicsCommandList3> for ID3D12GraphicsCommandList {
from(value: ID3D12GraphicsCommandList3) -> Self22992     fn from(value: ID3D12GraphicsCommandList3) -> Self {
22993         unsafe { ::std::mem::transmute(value) }
22994     }
22995 }
22996 impl ::std::convert::From<&ID3D12GraphicsCommandList3> for ID3D12GraphicsCommandList {
from(value: &ID3D12GraphicsCommandList3) -> Self22997     fn from(value: &ID3D12GraphicsCommandList3) -> Self {
22998         ::std::convert::From::from(::std::clone::Clone::clone(value))
22999     }
23000 }
23001 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList> for ID3D12GraphicsCommandList3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList>23002     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList> {
23003         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList>::into(self))
23004     }
23005 }
23006 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList> for &ID3D12GraphicsCommandList3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList>23007     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList> {
23008         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList>::into(::std::clone::Clone::clone(self)))
23009     }
23010 }
23011 impl ::std::convert::From<ID3D12GraphicsCommandList3> for ID3D12CommandList {
from(value: ID3D12GraphicsCommandList3) -> Self23012     fn from(value: ID3D12GraphicsCommandList3) -> Self {
23013         unsafe { ::std::mem::transmute(value) }
23014     }
23015 }
23016 impl ::std::convert::From<&ID3D12GraphicsCommandList3> for ID3D12CommandList {
from(value: &ID3D12GraphicsCommandList3) -> Self23017     fn from(value: &ID3D12GraphicsCommandList3) -> Self {
23018         ::std::convert::From::from(::std::clone::Clone::clone(value))
23019     }
23020 }
23021 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12CommandList> for ID3D12GraphicsCommandList3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList>23022     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList> {
23023         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12CommandList>::into(self))
23024     }
23025 }
23026 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12CommandList> for &ID3D12GraphicsCommandList3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList>23027     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList> {
23028         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12CommandList>::into(::std::clone::Clone::clone(self)))
23029     }
23030 }
23031 impl ::std::convert::From<ID3D12GraphicsCommandList3> for ID3D12DeviceChild {
from(value: ID3D12GraphicsCommandList3) -> Self23032     fn from(value: ID3D12GraphicsCommandList3) -> Self {
23033         unsafe { ::std::mem::transmute(value) }
23034     }
23035 }
23036 impl ::std::convert::From<&ID3D12GraphicsCommandList3> for ID3D12DeviceChild {
from(value: &ID3D12GraphicsCommandList3) -> Self23037     fn from(value: &ID3D12GraphicsCommandList3) -> Self {
23038         ::std::convert::From::from(::std::clone::Clone::clone(value))
23039     }
23040 }
23041 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12GraphicsCommandList3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>23042     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
23043         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
23044     }
23045 }
23046 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12GraphicsCommandList3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>23047     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
23048         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
23049     }
23050 }
23051 impl ::std::convert::From<ID3D12GraphicsCommandList3> for ID3D12Object {
from(value: ID3D12GraphicsCommandList3) -> Self23052     fn from(value: ID3D12GraphicsCommandList3) -> Self {
23053         unsafe { ::std::mem::transmute(value) }
23054     }
23055 }
23056 impl ::std::convert::From<&ID3D12GraphicsCommandList3> for ID3D12Object {
from(value: &ID3D12GraphicsCommandList3) -> Self23057     fn from(value: &ID3D12GraphicsCommandList3) -> Self {
23058         ::std::convert::From::from(::std::clone::Clone::clone(value))
23059     }
23060 }
23061 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12GraphicsCommandList3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>23062     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
23063         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
23064     }
23065 }
23066 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12GraphicsCommandList3 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>23067     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
23068         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
23069     }
23070 }
23071 #[repr(C)]
23072 #[doc(hidden)]
23073 pub struct ID3D12GraphicsCommandList3_abi(
23074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
23078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
23079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23080     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
23081     #[cfg(not(feature = "Win32_Foundation"))] usize,
23082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
23083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_COMMAND_LIST_TYPE,
23084     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23085     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipelinestate: ::windows::runtime::RawPtr),
23087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32),
23088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32),
23089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32),
23090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, numbytes: u64),
23091     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdst: *const ::std::mem::ManuallyDrop<D3D12_TEXTURE_COPY_LOCATION>, dstx: u32, dsty: u32, dstz: u32, psrc: *const ::std::mem::ManuallyDrop<D3D12_TEXTURE_COPY_LOCATION>, psrcbox: *const D3D12_BOX),
23092     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
23093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, psrcresource: ::windows::runtime::RawPtr),
23094     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: ::windows::runtime::RawPtr, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS),
23095     #[cfg(not(feature = "Win32_Foundation"))] usize,
23096     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, dstsubresource: u32, psrcresource: ::windows::runtime::RawPtr, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT),
23097     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
23098     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY),
23099     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
23100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numviewports: u32, pviewports: *const D3D12_VIEWPORT),
23101     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrects: u32, prects: *const super::super::Foundation::RECT),
23102     #[cfg(not(feature = "Win32_Foundation"))] usize,
23103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blendfactor: *const f32),
23104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stencilref: u32),
23105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipelinestate: ::windows::runtime::RawPtr),
23106     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numbarriers: u32, pbarriers: *const ::std::mem::ManuallyDrop<D3D12_RESOURCE_BARRIER>),
23107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcommandlist: ::windows::runtime::RawPtr),
23108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptorheaps: u32, ppdescriptorheaps: *const ::windows::runtime::RawPtr),
23109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prootsignature: ::windows::runtime::RawPtr),
23110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prootsignature: ::windows::runtime::RawPtr),
23111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
23112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
23113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
23114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
23115     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32),
23116     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32),
23117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
23118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
23119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
23120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
23121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
23122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
23123     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pview: *const D3D12_INDEX_BUFFER_VIEW),
23124     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
23125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW),
23126     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW),
23127     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: super::super::Foundation::BOOL, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE),
23128     #[cfg(not(feature = "Win32_Foundation"))] usize,
23129     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT),
23130     #[cfg(not(feature = "Win32_Foundation"))] usize,
23131     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
23132     #[cfg(not(feature = "Win32_Foundation"))] usize,
23133     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: ::windows::runtime::RawPtr, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT),
23134     #[cfg(not(feature = "Win32_Foundation"))] usize,
23135     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: ::windows::runtime::RawPtr, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
23136     #[cfg(not(feature = "Win32_Foundation"))] usize,
23137     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pregion: *const D3D12_DISCARD_REGION),
23138     #[cfg(not(feature = "Win32_Foundation"))] usize,
23139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, index: u32),
23140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, index: u32),
23141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: ::windows::runtime::RawPtr, aligneddestinationbufferoffset: u64),
23142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbuffer: ::windows::runtime::RawPtr, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP),
23143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
23144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
23145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
23146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcommandsignature: ::windows::runtime::RawPtr, maxcommandcount: u32, pargumentbuffer: ::windows::runtime::RawPtr, argumentbufferoffset: u64, pcountbuffer: ::windows::runtime::RawPtr, countbufferoffset: u64),
23147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::windows::runtime::RawPtr, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64),
23148     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::windows::runtime::RawPtr, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64),
23149     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, min: f32, max: f32),
23150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION),
23151     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: ::windows::runtime::RawPtr, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE),
23152     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
23153     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mask: u32),
23154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE),
23155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprotectedresourcesession: ::windows::runtime::RawPtr),
23156 );
23157 #[repr(transparent)]
23158 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23159 pub struct ID3D12GraphicsCommandList4(::windows::runtime::IUnknown);
23160 impl ID3D12GraphicsCommandList4 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>23161     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
23162         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
23163     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>23164     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
23165         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
23166     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>23167     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
23168         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
23169     }
23170     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>23171     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
23172         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
23173     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>23174     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
23175         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
23176     }
GetType(&self) -> D3D12_COMMAND_LIST_TYPE23177     pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
23178         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
23179     }
Close(&self) -> ::windows::runtime::Result<()>23180     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
23181         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
23182     }
Reset<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pallocator: Param0, pinitialstate: Param1) -> ::windows::runtime::Result<()>23183     pub unsafe fn Reset<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pallocator: Param0, pinitialstate: Param1) -> ::windows::runtime::Result<()> {
23184         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
23185     }
ClearState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0)23186     pub unsafe fn ClearState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0) {
23187         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ppipelinestate.into_param().abi()))
23188     }
DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32)23189     pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
23190         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(vertexcountperinstance), ::std::mem::transmute(instancecount), ::std::mem::transmute(startvertexlocation), ::std::mem::transmute(startinstancelocation)))
23191     }
DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32)23192     pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
23193         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(indexcountperinstance), ::std::mem::transmute(instancecount), ::std::mem::transmute(startindexlocation), ::std::mem::transmute(basevertexlocation), ::std::mem::transmute(startinstancelocation)))
23194     }
Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32)23195     pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
23196         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(threadgroupcountx), ::std::mem::transmute(threadgroupcounty), ::std::mem::transmute(threadgroupcountz)))
23197     }
CopyBufferRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, numbytes: u64)23198     pub unsafe fn CopyBufferRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, numbytes: u64) {
23199         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdstbuffer.into_param().abi(), ::std::mem::transmute(dstoffset), psrcbuffer.into_param().abi(), ::std::mem::transmute(srcoffset), ::std::mem::transmute(numbytes)))
23200     }
23201     #[cfg(feature = "Win32_Graphics_Dxgi")]
CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX)23202     pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX) {
23203         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdst), ::std::mem::transmute(dstx), ::std::mem::transmute(dsty), ::std::mem::transmute(dstz), ::std::mem::transmute(psrc), ::std::mem::transmute(psrcbox)))
23204     }
CopyResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, psrcresource: Param1)23205     pub unsafe fn CopyResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, psrcresource: Param1) {
23206         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pdstresource.into_param().abi(), psrcresource.into_param().abi()))
23207     }
23208     #[cfg(feature = "Win32_Foundation")]
CopyTiles<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: Param3, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)23209     pub unsafe fn CopyTiles<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: Param3, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS) {
23210         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(
23211             ::std::mem::transmute_copy(self),
23212             ptiledresource.into_param().abi(),
23213             ::std::mem::transmute(ptileregionstartcoordinate),
23214             ::std::mem::transmute(ptileregionsize),
23215             pbuffer.into_param().abi(),
23216             ::std::mem::transmute(bufferstartoffsetinbytes),
23217             ::std::mem::transmute(flags),
23218         ))
23219     }
23220     #[cfg(feature = "Win32_Graphics_Dxgi")]
ResolveSubresource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, psrcresource: Param2, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT)23221     pub unsafe fn ResolveSubresource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, psrcresource: Param2, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT) {
23222         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), pdstresource.into_param().abi(), ::std::mem::transmute(dstsubresource), psrcresource.into_param().abi(), ::std::mem::transmute(srcsubresource), ::std::mem::transmute(format)))
23223     }
23224     #[cfg(feature = "Win32_Graphics_Direct3D11")]
IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY)23225     pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY) {
23226         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(primitivetopology)))
23227     }
RSSetViewports(&self, numviewports: u32, pviewports: *const D3D12_VIEWPORT)23228     pub unsafe fn RSSetViewports(&self, numviewports: u32, pviewports: *const D3D12_VIEWPORT) {
23229         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(numviewports), ::std::mem::transmute(pviewports)))
23230     }
23231     #[cfg(feature = "Win32_Foundation")]
RSSetScissorRects(&self, numrects: u32, prects: *const super::super::Foundation::RECT)23232     pub unsafe fn RSSetScissorRects(&self, numrects: u32, prects: *const super::super::Foundation::RECT) {
23233         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
23234     }
OMSetBlendFactor(&self, blendfactor: *const f32)23235     pub unsafe fn OMSetBlendFactor(&self, blendfactor: *const f32) {
23236         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(blendfactor)))
23237     }
OMSetStencilRef(&self, stencilref: u32)23238     pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
23239         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(stencilref)))
23240     }
SetPipelineState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0)23241     pub unsafe fn SetPipelineState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0) {
23242         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ppipelinestate.into_param().abi()))
23243     }
ResourceBarrier(&self, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER)23244     pub unsafe fn ResourceBarrier(&self, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER) {
23245         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(numbarriers), ::std::mem::transmute(pbarriers)))
23246     }
ExecuteBundle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList>>(&self, pcommandlist: Param0)23247     pub unsafe fn ExecuteBundle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList>>(&self, pcommandlist: Param0) {
23248         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), pcommandlist.into_param().abi()))
23249     }
SetDescriptorHeaps(&self, numdescriptorheaps: u32, ppdescriptorheaps: *const ::std::option::Option<ID3D12DescriptorHeap>)23250     pub unsafe fn SetDescriptorHeaps(&self, numdescriptorheaps: u32, ppdescriptorheaps: *const ::std::option::Option<ID3D12DescriptorHeap>) {
23251         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptorheaps), ::std::mem::transmute(ppdescriptorheaps)))
23252     }
SetComputeRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0)23253     pub unsafe fn SetComputeRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0) {
23254         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), prootsignature.into_param().abi()))
23255     }
SetGraphicsRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0)23256     pub unsafe fn SetGraphicsRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0) {
23257         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), prootsignature.into_param().abi()))
23258     }
SetComputeRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1)23259     pub unsafe fn SetComputeRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1) {
23260         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), basedescriptor.into_param().abi()))
23261     }
SetGraphicsRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1)23262     pub unsafe fn SetGraphicsRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1) {
23263         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), basedescriptor.into_param().abi()))
23264     }
SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32)23265     pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
23266         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(srcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
23267     }
SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32)23268     pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
23269         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(srcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
23270     }
SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32)23271     pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32) {
23272         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(num32bitvaluestoset), ::std::mem::transmute(psrcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
23273     }
SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32)23274     pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32) {
23275         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(num32bitvaluestoset), ::std::mem::transmute(psrcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
23276     }
SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64)23277     pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
23278         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
23279     }
SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64)23280     pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
23281         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
23282     }
SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64)23283     pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
23284         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
23285     }
SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64)23286     pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
23287         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
23288     }
SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64)23289     pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
23290         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
23291     }
SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64)23292     pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
23293         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
23294     }
23295     #[cfg(feature = "Win32_Graphics_Dxgi")]
IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW)23296     pub unsafe fn IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW) {
23297         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(pview)))
23298     }
IASetVertexBuffers(&self, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW)23299     pub unsafe fn IASetVertexBuffers(&self, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW) {
23300         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(startslot), ::std::mem::transmute(numviews), ::std::mem::transmute(pviews)))
23301     }
SOSetTargets(&self, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW)23302     pub unsafe fn SOSetTargets(&self, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW) {
23303         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(startslot), ::std::mem::transmute(numviews), ::std::mem::transmute(pviews)))
23304     }
23305     #[cfg(feature = "Win32_Foundation")]
OMSetRenderTargets<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: Param2, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE)23306     pub unsafe fn OMSetRenderTargets<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: Param2, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE) {
23307         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrendertargetdescriptors), ::std::mem::transmute(prendertargetdescriptors), rtssinglehandletodescriptorrange.into_param().abi(), ::std::mem::transmute(pdepthstencildescriptor)))
23308     }
23309     #[cfg(feature = "Win32_Foundation")]
ClearDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, depthstencilview: Param0, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT)23310     pub unsafe fn ClearDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, depthstencilview: Param0, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT) {
23311         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), depthstencilview.into_param().abi(), ::std::mem::transmute(clearflags), ::std::mem::transmute(depth), ::std::mem::transmute(stencil), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
23312     }
23313     #[cfg(feature = "Win32_Foundation")]
ClearRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, rendertargetview: Param0, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT)23314     pub unsafe fn ClearRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, rendertargetview: Param0, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT) {
23315         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), rendertargetview.into_param().abi(), ::std::mem::transmute(colorrgba), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
23316     }
23317     #[cfg(feature = "Win32_Foundation")]
ClearUnorderedAccessViewUint<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT)23318     pub unsafe fn ClearUnorderedAccessViewUint<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT) {
23319         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), viewgpuhandleincurrentheap.into_param().abi(), viewcpuhandle.into_param().abi(), presource.into_param().abi(), ::std::mem::transmute(values), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
23320     }
23321     #[cfg(feature = "Win32_Foundation")]
ClearUnorderedAccessViewFloat<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT)23322     pub unsafe fn ClearUnorderedAccessViewFloat<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT) {
23323         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), viewgpuhandleincurrentheap.into_param().abi(), viewcpuhandle.into_param().abi(), presource.into_param().abi(), ::std::mem::transmute(values), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
23324     }
23325     #[cfg(feature = "Win32_Foundation")]
DiscardResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, pregion: *const D3D12_DISCARD_REGION)23326     pub unsafe fn DiscardResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, pregion: *const D3D12_DISCARD_REGION) {
23327         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pregion)))
23328     }
BeginQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32)23329     pub unsafe fn BeginQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32) {
23330         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), pqueryheap.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(index)))
23331     }
EndQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32)23332     pub unsafe fn EndQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32) {
23333         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), pqueryheap.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(index)))
23334     }
ResolveQueryData<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: Param4, aligneddestinationbufferoffset: u64)23335     pub unsafe fn ResolveQueryData<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: Param4, aligneddestinationbufferoffset: u64) {
23336         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).54)(
23337             ::std::mem::transmute_copy(self),
23338             pqueryheap.into_param().abi(),
23339             ::std::mem::transmute(r#type),
23340             ::std::mem::transmute(startindex),
23341             ::std::mem::transmute(numqueries),
23342             pdestinationbuffer.into_param().abi(),
23343             ::std::mem::transmute(aligneddestinationbufferoffset),
23344         ))
23345     }
SetPredication<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pbuffer: Param0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)23346     pub unsafe fn SetPredication<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pbuffer: Param0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP) {
23347         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), pbuffer.into_param().abi(), ::std::mem::transmute(alignedbufferoffset), ::std::mem::transmute(operation)))
23348     }
SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)23349     pub unsafe fn SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
23350         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
23351     }
BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)23352     pub unsafe fn BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
23353         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
23354     }
EndEvent(&self)23355     pub unsafe fn EndEvent(&self) {
23356         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self)))
23357     }
ExecuteIndirect<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandSignature>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pcommandsignature: Param0, maxcommandcount: u32, pargumentbuffer: Param2, argumentbufferoffset: u64, pcountbuffer: Param4, countbufferoffset: u64)23358     pub unsafe fn ExecuteIndirect<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandSignature>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pcommandsignature: Param0, maxcommandcount: u32, pargumentbuffer: Param2, argumentbufferoffset: u64, pcountbuffer: Param4, countbufferoffset: u64) {
23359         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).59)(
23360             ::std::mem::transmute_copy(self),
23361             pcommandsignature.into_param().abi(),
23362             ::std::mem::transmute(maxcommandcount),
23363             pargumentbuffer.into_param().abi(),
23364             ::std::mem::transmute(argumentbufferoffset),
23365             pcountbuffer.into_param().abi(),
23366             ::std::mem::transmute(countbufferoffset),
23367         ))
23368     }
AtomicCopyBufferUINT<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)23369     pub unsafe fn AtomicCopyBufferUINT<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64) {
23370         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).60)(
23371             ::std::mem::transmute_copy(self),
23372             pdstbuffer.into_param().abi(),
23373             ::std::mem::transmute(dstoffset),
23374             psrcbuffer.into_param().abi(),
23375             ::std::mem::transmute(srcoffset),
23376             ::std::mem::transmute(dependencies),
23377             ::std::mem::transmute(ppdependentresources),
23378             ::std::mem::transmute(pdependentsubresourceranges),
23379         ))
23380     }
AtomicCopyBufferUINT64<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)23381     pub unsafe fn AtomicCopyBufferUINT64<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64) {
23382         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).61)(
23383             ::std::mem::transmute_copy(self),
23384             pdstbuffer.into_param().abi(),
23385             ::std::mem::transmute(dstoffset),
23386             psrcbuffer.into_param().abi(),
23387             ::std::mem::transmute(srcoffset),
23388             ::std::mem::transmute(dependencies),
23389             ::std::mem::transmute(ppdependentresources),
23390             ::std::mem::transmute(pdependentsubresourceranges),
23391         ))
23392     }
OMSetDepthBounds(&self, min: f32, max: f32)23393     pub unsafe fn OMSetDepthBounds(&self, min: f32, max: f32) {
23394         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), ::std::mem::transmute(min), ::std::mem::transmute(max)))
23395     }
SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION)23396     pub unsafe fn SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION) {
23397         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(numsamplesperpixel), ::std::mem::transmute(numpixels), ::std::mem::transmute(psamplepositions)))
23398     }
23399     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
ResolveSubresourceRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: Param4, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE)23400     pub unsafe fn ResolveSubresourceRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: Param4, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE) {
23401         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).64)(
23402             ::std::mem::transmute_copy(self),
23403             pdstresource.into_param().abi(),
23404             ::std::mem::transmute(dstsubresource),
23405             ::std::mem::transmute(dstx),
23406             ::std::mem::transmute(dsty),
23407             psrcresource.into_param().abi(),
23408             ::std::mem::transmute(srcsubresource),
23409             ::std::mem::transmute(psrcrect),
23410             ::std::mem::transmute(format),
23411             ::std::mem::transmute(resolvemode),
23412         ))
23413     }
SetViewInstanceMask(&self, mask: u32)23414     pub unsafe fn SetViewInstanceMask(&self, mask: u32) {
23415         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), ::std::mem::transmute(mask)))
23416     }
WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE)23417     pub unsafe fn WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE) {
23418         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), ::std::mem::transmute(count), ::std::mem::transmute(pparams), ::std::mem::transmute(pmodes)))
23419     }
SetProtectedResourceSession<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>>(&self, pprotectedresourcesession: Param0)23420     pub unsafe fn SetProtectedResourceSession<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>>(&self, pprotectedresourcesession: Param0) {
23421         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), pprotectedresourcesession.into_param().abi()))
23422     }
23423     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
BeginRenderPass(&self, numrendertargets: u32, prendertargets: *const D3D12_RENDER_PASS_RENDER_TARGET_DESC, pdepthstencil: *const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC, flags: D3D12_RENDER_PASS_FLAGS)23424     pub unsafe fn BeginRenderPass(&self, numrendertargets: u32, prendertargets: *const D3D12_RENDER_PASS_RENDER_TARGET_DESC, pdepthstencil: *const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC, flags: D3D12_RENDER_PASS_FLAGS) {
23425         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrendertargets), ::std::mem::transmute(prendertargets), ::std::mem::transmute(pdepthstencil), ::std::mem::transmute(flags)))
23426     }
EndRenderPass(&self)23427     pub unsafe fn EndRenderPass(&self) {
23428         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).69)(::std::mem::transmute_copy(self)))
23429     }
InitializeMetaCommand<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12MetaCommand>>(&self, pmetacommand: Param0, pinitializationparametersdata: *const ::std::ffi::c_void, initializationparametersdatasizeinbytes: usize)23430     pub unsafe fn InitializeMetaCommand<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12MetaCommand>>(&self, pmetacommand: Param0, pinitializationparametersdata: *const ::std::ffi::c_void, initializationparametersdatasizeinbytes: usize) {
23431         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).70)(::std::mem::transmute_copy(self), pmetacommand.into_param().abi(), ::std::mem::transmute(pinitializationparametersdata), ::std::mem::transmute(initializationparametersdatasizeinbytes)))
23432     }
ExecuteMetaCommand<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12MetaCommand>>(&self, pmetacommand: Param0, pexecutionparametersdata: *const ::std::ffi::c_void, executionparametersdatasizeinbytes: usize)23433     pub unsafe fn ExecuteMetaCommand<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12MetaCommand>>(&self, pmetacommand: Param0, pexecutionparametersdata: *const ::std::ffi::c_void, executionparametersdatasizeinbytes: usize) {
23434         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).71)(::std::mem::transmute_copy(self), pmetacommand.into_param().abi(), ::std::mem::transmute(pexecutionparametersdata), ::std::mem::transmute(executionparametersdatasizeinbytes)))
23435     }
23436     #[cfg(feature = "Win32_Graphics_Dxgi")]
BuildRaytracingAccelerationStructure(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, numpostbuildinfodescs: u32, ppostbuildinfodescs: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC)23437     pub unsafe fn BuildRaytracingAccelerationStructure(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, numpostbuildinfodescs: u32, ppostbuildinfodescs: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC) {
23438         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).72)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(numpostbuildinfodescs), ::std::mem::transmute(ppostbuildinfodescs)))
23439     }
EmitRaytracingAccelerationStructurePostbuildInfo(&self, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, numsourceaccelerationstructures: u32, psourceaccelerationstructuredata: *const u64)23440     pub unsafe fn EmitRaytracingAccelerationStructurePostbuildInfo(&self, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, numsourceaccelerationstructures: u32, psourceaccelerationstructuredata: *const u64) {
23441         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).73)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(numsourceaccelerationstructures), ::std::mem::transmute(psourceaccelerationstructuredata)))
23442     }
CopyRaytracingAccelerationStructure(&self, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE)23443     pub unsafe fn CopyRaytracingAccelerationStructure(&self, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE) {
23444         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).74)(::std::mem::transmute_copy(self), ::std::mem::transmute(destaccelerationstructuredata), ::std::mem::transmute(sourceaccelerationstructuredata), ::std::mem::transmute(mode)))
23445     }
SetPipelineState1<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12StateObject>>(&self, pstateobject: Param0)23446     pub unsafe fn SetPipelineState1<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12StateObject>>(&self, pstateobject: Param0) {
23447         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).75)(::std::mem::transmute_copy(self), pstateobject.into_param().abi()))
23448     }
DispatchRays(&self, pdesc: *const D3D12_DISPATCH_RAYS_DESC)23449     pub unsafe fn DispatchRays(&self, pdesc: *const D3D12_DISPATCH_RAYS_DESC) {
23450         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).76)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc)))
23451     }
23452 }
23453 unsafe impl ::windows::runtime::Interface for ID3D12GraphicsCommandList4 {
23454     type Vtable = ID3D12GraphicsCommandList4_abi;
23455     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2270441870, 54185, 17729, [152, 207, 100, 91, 80, 220, 72, 116]);
23456 }
23457 impl ::std::convert::From<ID3D12GraphicsCommandList4> for ::windows::runtime::IUnknown {
from(value: ID3D12GraphicsCommandList4) -> Self23458     fn from(value: ID3D12GraphicsCommandList4) -> Self {
23459         unsafe { ::std::mem::transmute(value) }
23460     }
23461 }
23462 impl ::std::convert::From<&ID3D12GraphicsCommandList4> for ::windows::runtime::IUnknown {
from(value: &ID3D12GraphicsCommandList4) -> Self23463     fn from(value: &ID3D12GraphicsCommandList4) -> Self {
23464         ::std::convert::From::from(::std::clone::Clone::clone(value))
23465     }
23466 }
23467 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>23468     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
23469         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
23470     }
23471 }
23472 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>23473     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
23474         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
23475     }
23476 }
23477 impl ::std::convert::From<ID3D12GraphicsCommandList4> for ID3D12GraphicsCommandList3 {
from(value: ID3D12GraphicsCommandList4) -> Self23478     fn from(value: ID3D12GraphicsCommandList4) -> Self {
23479         unsafe { ::std::mem::transmute(value) }
23480     }
23481 }
23482 impl ::std::convert::From<&ID3D12GraphicsCommandList4> for ID3D12GraphicsCommandList3 {
from(value: &ID3D12GraphicsCommandList4) -> Self23483     fn from(value: &ID3D12GraphicsCommandList4) -> Self {
23484         ::std::convert::From::from(::std::clone::Clone::clone(value))
23485     }
23486 }
23487 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList3> for ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList3>23488     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList3> {
23489         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList3>::into(self))
23490     }
23491 }
23492 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList3> for &ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList3>23493     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList3> {
23494         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList3>::into(::std::clone::Clone::clone(self)))
23495     }
23496 }
23497 impl ::std::convert::From<ID3D12GraphicsCommandList4> for ID3D12GraphicsCommandList2 {
from(value: ID3D12GraphicsCommandList4) -> Self23498     fn from(value: ID3D12GraphicsCommandList4) -> Self {
23499         unsafe { ::std::mem::transmute(value) }
23500     }
23501 }
23502 impl ::std::convert::From<&ID3D12GraphicsCommandList4> for ID3D12GraphicsCommandList2 {
from(value: &ID3D12GraphicsCommandList4) -> Self23503     fn from(value: &ID3D12GraphicsCommandList4) -> Self {
23504         ::std::convert::From::from(::std::clone::Clone::clone(value))
23505     }
23506 }
23507 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList2> for ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2>23508     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2> {
23509         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList2>::into(self))
23510     }
23511 }
23512 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList2> for &ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2>23513     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2> {
23514         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList2>::into(::std::clone::Clone::clone(self)))
23515     }
23516 }
23517 impl ::std::convert::From<ID3D12GraphicsCommandList4> for ID3D12GraphicsCommandList1 {
from(value: ID3D12GraphicsCommandList4) -> Self23518     fn from(value: ID3D12GraphicsCommandList4) -> Self {
23519         unsafe { ::std::mem::transmute(value) }
23520     }
23521 }
23522 impl ::std::convert::From<&ID3D12GraphicsCommandList4> for ID3D12GraphicsCommandList1 {
from(value: &ID3D12GraphicsCommandList4) -> Self23523     fn from(value: &ID3D12GraphicsCommandList4) -> Self {
23524         ::std::convert::From::from(::std::clone::Clone::clone(value))
23525     }
23526 }
23527 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList1> for ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1>23528     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1> {
23529         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList1>::into(self))
23530     }
23531 }
23532 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList1> for &ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1>23533     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1> {
23534         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList1>::into(::std::clone::Clone::clone(self)))
23535     }
23536 }
23537 impl ::std::convert::From<ID3D12GraphicsCommandList4> for ID3D12GraphicsCommandList {
from(value: ID3D12GraphicsCommandList4) -> Self23538     fn from(value: ID3D12GraphicsCommandList4) -> Self {
23539         unsafe { ::std::mem::transmute(value) }
23540     }
23541 }
23542 impl ::std::convert::From<&ID3D12GraphicsCommandList4> for ID3D12GraphicsCommandList {
from(value: &ID3D12GraphicsCommandList4) -> Self23543     fn from(value: &ID3D12GraphicsCommandList4) -> Self {
23544         ::std::convert::From::from(::std::clone::Clone::clone(value))
23545     }
23546 }
23547 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList> for ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList>23548     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList> {
23549         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList>::into(self))
23550     }
23551 }
23552 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList> for &ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList>23553     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList> {
23554         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList>::into(::std::clone::Clone::clone(self)))
23555     }
23556 }
23557 impl ::std::convert::From<ID3D12GraphicsCommandList4> for ID3D12CommandList {
from(value: ID3D12GraphicsCommandList4) -> Self23558     fn from(value: ID3D12GraphicsCommandList4) -> Self {
23559         unsafe { ::std::mem::transmute(value) }
23560     }
23561 }
23562 impl ::std::convert::From<&ID3D12GraphicsCommandList4> for ID3D12CommandList {
from(value: &ID3D12GraphicsCommandList4) -> Self23563     fn from(value: &ID3D12GraphicsCommandList4) -> Self {
23564         ::std::convert::From::from(::std::clone::Clone::clone(value))
23565     }
23566 }
23567 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12CommandList> for ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList>23568     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList> {
23569         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12CommandList>::into(self))
23570     }
23571 }
23572 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12CommandList> for &ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList>23573     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList> {
23574         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12CommandList>::into(::std::clone::Clone::clone(self)))
23575     }
23576 }
23577 impl ::std::convert::From<ID3D12GraphicsCommandList4> for ID3D12DeviceChild {
from(value: ID3D12GraphicsCommandList4) -> Self23578     fn from(value: ID3D12GraphicsCommandList4) -> Self {
23579         unsafe { ::std::mem::transmute(value) }
23580     }
23581 }
23582 impl ::std::convert::From<&ID3D12GraphicsCommandList4> for ID3D12DeviceChild {
from(value: &ID3D12GraphicsCommandList4) -> Self23583     fn from(value: &ID3D12GraphicsCommandList4) -> Self {
23584         ::std::convert::From::from(::std::clone::Clone::clone(value))
23585     }
23586 }
23587 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>23588     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
23589         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
23590     }
23591 }
23592 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>23593     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
23594         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
23595     }
23596 }
23597 impl ::std::convert::From<ID3D12GraphicsCommandList4> for ID3D12Object {
from(value: ID3D12GraphicsCommandList4) -> Self23598     fn from(value: ID3D12GraphicsCommandList4) -> Self {
23599         unsafe { ::std::mem::transmute(value) }
23600     }
23601 }
23602 impl ::std::convert::From<&ID3D12GraphicsCommandList4> for ID3D12Object {
from(value: &ID3D12GraphicsCommandList4) -> Self23603     fn from(value: &ID3D12GraphicsCommandList4) -> Self {
23604         ::std::convert::From::from(::std::clone::Clone::clone(value))
23605     }
23606 }
23607 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>23608     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
23609         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
23610     }
23611 }
23612 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12GraphicsCommandList4 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>23613     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
23614         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
23615     }
23616 }
23617 #[repr(C)]
23618 #[doc(hidden)]
23619 pub struct ID3D12GraphicsCommandList4_abi(
23620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
23624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
23625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23626     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
23627     #[cfg(not(feature = "Win32_Foundation"))] usize,
23628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
23629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_COMMAND_LIST_TYPE,
23630     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipelinestate: ::windows::runtime::RawPtr),
23633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32),
23634     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32),
23635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32),
23636     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, numbytes: u64),
23637     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdst: *const ::std::mem::ManuallyDrop<D3D12_TEXTURE_COPY_LOCATION>, dstx: u32, dsty: u32, dstz: u32, psrc: *const ::std::mem::ManuallyDrop<D3D12_TEXTURE_COPY_LOCATION>, psrcbox: *const D3D12_BOX),
23638     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
23639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, psrcresource: ::windows::runtime::RawPtr),
23640     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: ::windows::runtime::RawPtr, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS),
23641     #[cfg(not(feature = "Win32_Foundation"))] usize,
23642     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, dstsubresource: u32, psrcresource: ::windows::runtime::RawPtr, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT),
23643     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
23644     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY),
23645     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
23646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numviewports: u32, pviewports: *const D3D12_VIEWPORT),
23647     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrects: u32, prects: *const super::super::Foundation::RECT),
23648     #[cfg(not(feature = "Win32_Foundation"))] usize,
23649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blendfactor: *const f32),
23650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stencilref: u32),
23651     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipelinestate: ::windows::runtime::RawPtr),
23652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numbarriers: u32, pbarriers: *const ::std::mem::ManuallyDrop<D3D12_RESOURCE_BARRIER>),
23653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcommandlist: ::windows::runtime::RawPtr),
23654     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptorheaps: u32, ppdescriptorheaps: *const ::windows::runtime::RawPtr),
23655     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prootsignature: ::windows::runtime::RawPtr),
23656     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prootsignature: ::windows::runtime::RawPtr),
23657     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
23658     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
23659     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
23660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
23661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32),
23662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32),
23663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
23664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
23665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
23666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
23667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
23668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
23669     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pview: *const D3D12_INDEX_BUFFER_VIEW),
23670     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
23671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW),
23672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW),
23673     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: super::super::Foundation::BOOL, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE),
23674     #[cfg(not(feature = "Win32_Foundation"))] usize,
23675     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT),
23676     #[cfg(not(feature = "Win32_Foundation"))] usize,
23677     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
23678     #[cfg(not(feature = "Win32_Foundation"))] usize,
23679     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: ::windows::runtime::RawPtr, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT),
23680     #[cfg(not(feature = "Win32_Foundation"))] usize,
23681     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: ::windows::runtime::RawPtr, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
23682     #[cfg(not(feature = "Win32_Foundation"))] usize,
23683     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pregion: *const D3D12_DISCARD_REGION),
23684     #[cfg(not(feature = "Win32_Foundation"))] usize,
23685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, index: u32),
23686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, index: u32),
23687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: ::windows::runtime::RawPtr, aligneddestinationbufferoffset: u64),
23688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbuffer: ::windows::runtime::RawPtr, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP),
23689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
23690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
23691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
23692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcommandsignature: ::windows::runtime::RawPtr, maxcommandcount: u32, pargumentbuffer: ::windows::runtime::RawPtr, argumentbufferoffset: u64, pcountbuffer: ::windows::runtime::RawPtr, countbufferoffset: u64),
23693     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::windows::runtime::RawPtr, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64),
23694     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::windows::runtime::RawPtr, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64),
23695     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, min: f32, max: f32),
23696     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION),
23697     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: ::windows::runtime::RawPtr, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE),
23698     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
23699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mask: u32),
23700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE),
23701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprotectedresourcesession: ::windows::runtime::RawPtr),
23702     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrendertargets: u32, prendertargets: *const ::std::mem::ManuallyDrop<D3D12_RENDER_PASS_RENDER_TARGET_DESC>, pdepthstencil: *const ::std::mem::ManuallyDrop<D3D12_RENDER_PASS_DEPTH_STENCIL_DESC>, flags: D3D12_RENDER_PASS_FLAGS),
23703     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
23704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
23705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmetacommand: ::windows::runtime::RawPtr, pinitializationparametersdata: *const ::std::ffi::c_void, initializationparametersdatasizeinbytes: usize),
23706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmetacommand: ::windows::runtime::RawPtr, pexecutionparametersdata: *const ::std::ffi::c_void, executionparametersdatasizeinbytes: usize),
23707     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, numpostbuildinfodescs: u32, ppostbuildinfodescs: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC),
23708     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
23709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, numsourceaccelerationstructures: u32, psourceaccelerationstructuredata: *const u64),
23710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE),
23711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstateobject: ::windows::runtime::RawPtr),
23712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_DISPATCH_RAYS_DESC),
23713 );
23714 #[repr(transparent)]
23715 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23716 pub struct ID3D12GraphicsCommandList5(::windows::runtime::IUnknown);
23717 impl ID3D12GraphicsCommandList5 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>23718     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
23719         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
23720     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>23721     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
23722         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
23723     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>23724     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
23725         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
23726     }
23727     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>23728     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
23729         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
23730     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>23731     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
23732         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
23733     }
GetType(&self) -> D3D12_COMMAND_LIST_TYPE23734     pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
23735         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
23736     }
Close(&self) -> ::windows::runtime::Result<()>23737     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
23738         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
23739     }
Reset<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pallocator: Param0, pinitialstate: Param1) -> ::windows::runtime::Result<()>23740     pub unsafe fn Reset<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pallocator: Param0, pinitialstate: Param1) -> ::windows::runtime::Result<()> {
23741         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
23742     }
ClearState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0)23743     pub unsafe fn ClearState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0) {
23744         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ppipelinestate.into_param().abi()))
23745     }
DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32)23746     pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
23747         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(vertexcountperinstance), ::std::mem::transmute(instancecount), ::std::mem::transmute(startvertexlocation), ::std::mem::transmute(startinstancelocation)))
23748     }
DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32)23749     pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
23750         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(indexcountperinstance), ::std::mem::transmute(instancecount), ::std::mem::transmute(startindexlocation), ::std::mem::transmute(basevertexlocation), ::std::mem::transmute(startinstancelocation)))
23751     }
Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32)23752     pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
23753         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(threadgroupcountx), ::std::mem::transmute(threadgroupcounty), ::std::mem::transmute(threadgroupcountz)))
23754     }
CopyBufferRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, numbytes: u64)23755     pub unsafe fn CopyBufferRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, numbytes: u64) {
23756         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdstbuffer.into_param().abi(), ::std::mem::transmute(dstoffset), psrcbuffer.into_param().abi(), ::std::mem::transmute(srcoffset), ::std::mem::transmute(numbytes)))
23757     }
23758     #[cfg(feature = "Win32_Graphics_Dxgi")]
CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX)23759     pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX) {
23760         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdst), ::std::mem::transmute(dstx), ::std::mem::transmute(dsty), ::std::mem::transmute(dstz), ::std::mem::transmute(psrc), ::std::mem::transmute(psrcbox)))
23761     }
CopyResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, psrcresource: Param1)23762     pub unsafe fn CopyResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, psrcresource: Param1) {
23763         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pdstresource.into_param().abi(), psrcresource.into_param().abi()))
23764     }
23765     #[cfg(feature = "Win32_Foundation")]
CopyTiles<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: Param3, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)23766     pub unsafe fn CopyTiles<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: Param3, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS) {
23767         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(
23768             ::std::mem::transmute_copy(self),
23769             ptiledresource.into_param().abi(),
23770             ::std::mem::transmute(ptileregionstartcoordinate),
23771             ::std::mem::transmute(ptileregionsize),
23772             pbuffer.into_param().abi(),
23773             ::std::mem::transmute(bufferstartoffsetinbytes),
23774             ::std::mem::transmute(flags),
23775         ))
23776     }
23777     #[cfg(feature = "Win32_Graphics_Dxgi")]
ResolveSubresource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, psrcresource: Param2, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT)23778     pub unsafe fn ResolveSubresource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, psrcresource: Param2, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT) {
23779         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), pdstresource.into_param().abi(), ::std::mem::transmute(dstsubresource), psrcresource.into_param().abi(), ::std::mem::transmute(srcsubresource), ::std::mem::transmute(format)))
23780     }
23781     #[cfg(feature = "Win32_Graphics_Direct3D11")]
IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY)23782     pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY) {
23783         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(primitivetopology)))
23784     }
RSSetViewports(&self, numviewports: u32, pviewports: *const D3D12_VIEWPORT)23785     pub unsafe fn RSSetViewports(&self, numviewports: u32, pviewports: *const D3D12_VIEWPORT) {
23786         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(numviewports), ::std::mem::transmute(pviewports)))
23787     }
23788     #[cfg(feature = "Win32_Foundation")]
RSSetScissorRects(&self, numrects: u32, prects: *const super::super::Foundation::RECT)23789     pub unsafe fn RSSetScissorRects(&self, numrects: u32, prects: *const super::super::Foundation::RECT) {
23790         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
23791     }
OMSetBlendFactor(&self, blendfactor: *const f32)23792     pub unsafe fn OMSetBlendFactor(&self, blendfactor: *const f32) {
23793         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(blendfactor)))
23794     }
OMSetStencilRef(&self, stencilref: u32)23795     pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
23796         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(stencilref)))
23797     }
SetPipelineState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0)23798     pub unsafe fn SetPipelineState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0) {
23799         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ppipelinestate.into_param().abi()))
23800     }
ResourceBarrier(&self, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER)23801     pub unsafe fn ResourceBarrier(&self, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER) {
23802         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(numbarriers), ::std::mem::transmute(pbarriers)))
23803     }
ExecuteBundle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList>>(&self, pcommandlist: Param0)23804     pub unsafe fn ExecuteBundle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList>>(&self, pcommandlist: Param0) {
23805         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), pcommandlist.into_param().abi()))
23806     }
SetDescriptorHeaps(&self, numdescriptorheaps: u32, ppdescriptorheaps: *const ::std::option::Option<ID3D12DescriptorHeap>)23807     pub unsafe fn SetDescriptorHeaps(&self, numdescriptorheaps: u32, ppdescriptorheaps: *const ::std::option::Option<ID3D12DescriptorHeap>) {
23808         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptorheaps), ::std::mem::transmute(ppdescriptorheaps)))
23809     }
SetComputeRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0)23810     pub unsafe fn SetComputeRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0) {
23811         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), prootsignature.into_param().abi()))
23812     }
SetGraphicsRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0)23813     pub unsafe fn SetGraphicsRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0) {
23814         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), prootsignature.into_param().abi()))
23815     }
SetComputeRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1)23816     pub unsafe fn SetComputeRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1) {
23817         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), basedescriptor.into_param().abi()))
23818     }
SetGraphicsRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1)23819     pub unsafe fn SetGraphicsRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1) {
23820         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), basedescriptor.into_param().abi()))
23821     }
SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32)23822     pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
23823         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(srcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
23824     }
SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32)23825     pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
23826         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(srcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
23827     }
SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32)23828     pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32) {
23829         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(num32bitvaluestoset), ::std::mem::transmute(psrcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
23830     }
SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32)23831     pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32) {
23832         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(num32bitvaluestoset), ::std::mem::transmute(psrcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
23833     }
SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64)23834     pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
23835         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
23836     }
SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64)23837     pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
23838         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
23839     }
SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64)23840     pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
23841         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
23842     }
SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64)23843     pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
23844         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
23845     }
SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64)23846     pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
23847         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
23848     }
SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64)23849     pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
23850         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
23851     }
23852     #[cfg(feature = "Win32_Graphics_Dxgi")]
IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW)23853     pub unsafe fn IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW) {
23854         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(pview)))
23855     }
IASetVertexBuffers(&self, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW)23856     pub unsafe fn IASetVertexBuffers(&self, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW) {
23857         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(startslot), ::std::mem::transmute(numviews), ::std::mem::transmute(pviews)))
23858     }
SOSetTargets(&self, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW)23859     pub unsafe fn SOSetTargets(&self, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW) {
23860         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(startslot), ::std::mem::transmute(numviews), ::std::mem::transmute(pviews)))
23861     }
23862     #[cfg(feature = "Win32_Foundation")]
OMSetRenderTargets<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: Param2, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE)23863     pub unsafe fn OMSetRenderTargets<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: Param2, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE) {
23864         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrendertargetdescriptors), ::std::mem::transmute(prendertargetdescriptors), rtssinglehandletodescriptorrange.into_param().abi(), ::std::mem::transmute(pdepthstencildescriptor)))
23865     }
23866     #[cfg(feature = "Win32_Foundation")]
ClearDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, depthstencilview: Param0, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT)23867     pub unsafe fn ClearDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, depthstencilview: Param0, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT) {
23868         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), depthstencilview.into_param().abi(), ::std::mem::transmute(clearflags), ::std::mem::transmute(depth), ::std::mem::transmute(stencil), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
23869     }
23870     #[cfg(feature = "Win32_Foundation")]
ClearRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, rendertargetview: Param0, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT)23871     pub unsafe fn ClearRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, rendertargetview: Param0, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT) {
23872         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), rendertargetview.into_param().abi(), ::std::mem::transmute(colorrgba), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
23873     }
23874     #[cfg(feature = "Win32_Foundation")]
ClearUnorderedAccessViewUint<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT)23875     pub unsafe fn ClearUnorderedAccessViewUint<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT) {
23876         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), viewgpuhandleincurrentheap.into_param().abi(), viewcpuhandle.into_param().abi(), presource.into_param().abi(), ::std::mem::transmute(values), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
23877     }
23878     #[cfg(feature = "Win32_Foundation")]
ClearUnorderedAccessViewFloat<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT)23879     pub unsafe fn ClearUnorderedAccessViewFloat<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT) {
23880         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), viewgpuhandleincurrentheap.into_param().abi(), viewcpuhandle.into_param().abi(), presource.into_param().abi(), ::std::mem::transmute(values), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
23881     }
23882     #[cfg(feature = "Win32_Foundation")]
DiscardResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, pregion: *const D3D12_DISCARD_REGION)23883     pub unsafe fn DiscardResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, pregion: *const D3D12_DISCARD_REGION) {
23884         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pregion)))
23885     }
BeginQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32)23886     pub unsafe fn BeginQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32) {
23887         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), pqueryheap.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(index)))
23888     }
EndQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32)23889     pub unsafe fn EndQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32) {
23890         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), pqueryheap.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(index)))
23891     }
ResolveQueryData<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: Param4, aligneddestinationbufferoffset: u64)23892     pub unsafe fn ResolveQueryData<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: Param4, aligneddestinationbufferoffset: u64) {
23893         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).54)(
23894             ::std::mem::transmute_copy(self),
23895             pqueryheap.into_param().abi(),
23896             ::std::mem::transmute(r#type),
23897             ::std::mem::transmute(startindex),
23898             ::std::mem::transmute(numqueries),
23899             pdestinationbuffer.into_param().abi(),
23900             ::std::mem::transmute(aligneddestinationbufferoffset),
23901         ))
23902     }
SetPredication<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pbuffer: Param0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)23903     pub unsafe fn SetPredication<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pbuffer: Param0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP) {
23904         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), pbuffer.into_param().abi(), ::std::mem::transmute(alignedbufferoffset), ::std::mem::transmute(operation)))
23905     }
SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)23906     pub unsafe fn SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
23907         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
23908     }
BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)23909     pub unsafe fn BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
23910         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
23911     }
EndEvent(&self)23912     pub unsafe fn EndEvent(&self) {
23913         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self)))
23914     }
ExecuteIndirect<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandSignature>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pcommandsignature: Param0, maxcommandcount: u32, pargumentbuffer: Param2, argumentbufferoffset: u64, pcountbuffer: Param4, countbufferoffset: u64)23915     pub unsafe fn ExecuteIndirect<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandSignature>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pcommandsignature: Param0, maxcommandcount: u32, pargumentbuffer: Param2, argumentbufferoffset: u64, pcountbuffer: Param4, countbufferoffset: u64) {
23916         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).59)(
23917             ::std::mem::transmute_copy(self),
23918             pcommandsignature.into_param().abi(),
23919             ::std::mem::transmute(maxcommandcount),
23920             pargumentbuffer.into_param().abi(),
23921             ::std::mem::transmute(argumentbufferoffset),
23922             pcountbuffer.into_param().abi(),
23923             ::std::mem::transmute(countbufferoffset),
23924         ))
23925     }
AtomicCopyBufferUINT<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)23926     pub unsafe fn AtomicCopyBufferUINT<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64) {
23927         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).60)(
23928             ::std::mem::transmute_copy(self),
23929             pdstbuffer.into_param().abi(),
23930             ::std::mem::transmute(dstoffset),
23931             psrcbuffer.into_param().abi(),
23932             ::std::mem::transmute(srcoffset),
23933             ::std::mem::transmute(dependencies),
23934             ::std::mem::transmute(ppdependentresources),
23935             ::std::mem::transmute(pdependentsubresourceranges),
23936         ))
23937     }
AtomicCopyBufferUINT64<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)23938     pub unsafe fn AtomicCopyBufferUINT64<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64) {
23939         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).61)(
23940             ::std::mem::transmute_copy(self),
23941             pdstbuffer.into_param().abi(),
23942             ::std::mem::transmute(dstoffset),
23943             psrcbuffer.into_param().abi(),
23944             ::std::mem::transmute(srcoffset),
23945             ::std::mem::transmute(dependencies),
23946             ::std::mem::transmute(ppdependentresources),
23947             ::std::mem::transmute(pdependentsubresourceranges),
23948         ))
23949     }
OMSetDepthBounds(&self, min: f32, max: f32)23950     pub unsafe fn OMSetDepthBounds(&self, min: f32, max: f32) {
23951         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), ::std::mem::transmute(min), ::std::mem::transmute(max)))
23952     }
SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION)23953     pub unsafe fn SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION) {
23954         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(numsamplesperpixel), ::std::mem::transmute(numpixels), ::std::mem::transmute(psamplepositions)))
23955     }
23956     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
ResolveSubresourceRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: Param4, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE)23957     pub unsafe fn ResolveSubresourceRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: Param4, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE) {
23958         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).64)(
23959             ::std::mem::transmute_copy(self),
23960             pdstresource.into_param().abi(),
23961             ::std::mem::transmute(dstsubresource),
23962             ::std::mem::transmute(dstx),
23963             ::std::mem::transmute(dsty),
23964             psrcresource.into_param().abi(),
23965             ::std::mem::transmute(srcsubresource),
23966             ::std::mem::transmute(psrcrect),
23967             ::std::mem::transmute(format),
23968             ::std::mem::transmute(resolvemode),
23969         ))
23970     }
SetViewInstanceMask(&self, mask: u32)23971     pub unsafe fn SetViewInstanceMask(&self, mask: u32) {
23972         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), ::std::mem::transmute(mask)))
23973     }
WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE)23974     pub unsafe fn WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE) {
23975         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), ::std::mem::transmute(count), ::std::mem::transmute(pparams), ::std::mem::transmute(pmodes)))
23976     }
SetProtectedResourceSession<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>>(&self, pprotectedresourcesession: Param0)23977     pub unsafe fn SetProtectedResourceSession<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>>(&self, pprotectedresourcesession: Param0) {
23978         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), pprotectedresourcesession.into_param().abi()))
23979     }
23980     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
BeginRenderPass(&self, numrendertargets: u32, prendertargets: *const D3D12_RENDER_PASS_RENDER_TARGET_DESC, pdepthstencil: *const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC, flags: D3D12_RENDER_PASS_FLAGS)23981     pub unsafe fn BeginRenderPass(&self, numrendertargets: u32, prendertargets: *const D3D12_RENDER_PASS_RENDER_TARGET_DESC, pdepthstencil: *const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC, flags: D3D12_RENDER_PASS_FLAGS) {
23982         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrendertargets), ::std::mem::transmute(prendertargets), ::std::mem::transmute(pdepthstencil), ::std::mem::transmute(flags)))
23983     }
EndRenderPass(&self)23984     pub unsafe fn EndRenderPass(&self) {
23985         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).69)(::std::mem::transmute_copy(self)))
23986     }
InitializeMetaCommand<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12MetaCommand>>(&self, pmetacommand: Param0, pinitializationparametersdata: *const ::std::ffi::c_void, initializationparametersdatasizeinbytes: usize)23987     pub unsafe fn InitializeMetaCommand<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12MetaCommand>>(&self, pmetacommand: Param0, pinitializationparametersdata: *const ::std::ffi::c_void, initializationparametersdatasizeinbytes: usize) {
23988         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).70)(::std::mem::transmute_copy(self), pmetacommand.into_param().abi(), ::std::mem::transmute(pinitializationparametersdata), ::std::mem::transmute(initializationparametersdatasizeinbytes)))
23989     }
ExecuteMetaCommand<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12MetaCommand>>(&self, pmetacommand: Param0, pexecutionparametersdata: *const ::std::ffi::c_void, executionparametersdatasizeinbytes: usize)23990     pub unsafe fn ExecuteMetaCommand<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12MetaCommand>>(&self, pmetacommand: Param0, pexecutionparametersdata: *const ::std::ffi::c_void, executionparametersdatasizeinbytes: usize) {
23991         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).71)(::std::mem::transmute_copy(self), pmetacommand.into_param().abi(), ::std::mem::transmute(pexecutionparametersdata), ::std::mem::transmute(executionparametersdatasizeinbytes)))
23992     }
23993     #[cfg(feature = "Win32_Graphics_Dxgi")]
BuildRaytracingAccelerationStructure(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, numpostbuildinfodescs: u32, ppostbuildinfodescs: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC)23994     pub unsafe fn BuildRaytracingAccelerationStructure(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, numpostbuildinfodescs: u32, ppostbuildinfodescs: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC) {
23995         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).72)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(numpostbuildinfodescs), ::std::mem::transmute(ppostbuildinfodescs)))
23996     }
EmitRaytracingAccelerationStructurePostbuildInfo(&self, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, numsourceaccelerationstructures: u32, psourceaccelerationstructuredata: *const u64)23997     pub unsafe fn EmitRaytracingAccelerationStructurePostbuildInfo(&self, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, numsourceaccelerationstructures: u32, psourceaccelerationstructuredata: *const u64) {
23998         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).73)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(numsourceaccelerationstructures), ::std::mem::transmute(psourceaccelerationstructuredata)))
23999     }
CopyRaytracingAccelerationStructure(&self, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE)24000     pub unsafe fn CopyRaytracingAccelerationStructure(&self, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE) {
24001         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).74)(::std::mem::transmute_copy(self), ::std::mem::transmute(destaccelerationstructuredata), ::std::mem::transmute(sourceaccelerationstructuredata), ::std::mem::transmute(mode)))
24002     }
SetPipelineState1<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12StateObject>>(&self, pstateobject: Param0)24003     pub unsafe fn SetPipelineState1<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12StateObject>>(&self, pstateobject: Param0) {
24004         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).75)(::std::mem::transmute_copy(self), pstateobject.into_param().abi()))
24005     }
DispatchRays(&self, pdesc: *const D3D12_DISPATCH_RAYS_DESC)24006     pub unsafe fn DispatchRays(&self, pdesc: *const D3D12_DISPATCH_RAYS_DESC) {
24007         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).76)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc)))
24008     }
RSSetShadingRate(&self, baseshadingrate: D3D12_SHADING_RATE, combiners: *const D3D12_SHADING_RATE_COMBINER)24009     pub unsafe fn RSSetShadingRate(&self, baseshadingrate: D3D12_SHADING_RATE, combiners: *const D3D12_SHADING_RATE_COMBINER) {
24010         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).77)(::std::mem::transmute_copy(self), ::std::mem::transmute(baseshadingrate), ::std::mem::transmute(combiners)))
24011     }
RSSetShadingRateImage<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, shadingrateimage: Param0)24012     pub unsafe fn RSSetShadingRateImage<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, shadingrateimage: Param0) {
24013         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).78)(::std::mem::transmute_copy(self), shadingrateimage.into_param().abi()))
24014     }
24015 }
24016 unsafe impl ::windows::runtime::Interface for ID3D12GraphicsCommandList5 {
24017     type Vtable = ID3D12GraphicsCommandList5_abi;
24018     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1426393177, 16420, 18252, [135, 245, 100, 114, 234, 238, 68, 234]);
24019 }
24020 impl ::std::convert::From<ID3D12GraphicsCommandList5> for ::windows::runtime::IUnknown {
from(value: ID3D12GraphicsCommandList5) -> Self24021     fn from(value: ID3D12GraphicsCommandList5) -> Self {
24022         unsafe { ::std::mem::transmute(value) }
24023     }
24024 }
24025 impl ::std::convert::From<&ID3D12GraphicsCommandList5> for ::windows::runtime::IUnknown {
from(value: &ID3D12GraphicsCommandList5) -> Self24026     fn from(value: &ID3D12GraphicsCommandList5) -> Self {
24027         ::std::convert::From::from(::std::clone::Clone::clone(value))
24028     }
24029 }
24030 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>24031     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
24032         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
24033     }
24034 }
24035 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>24036     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
24037         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
24038     }
24039 }
24040 impl ::std::convert::From<ID3D12GraphicsCommandList5> for ID3D12GraphicsCommandList4 {
from(value: ID3D12GraphicsCommandList5) -> Self24041     fn from(value: ID3D12GraphicsCommandList5) -> Self {
24042         unsafe { ::std::mem::transmute(value) }
24043     }
24044 }
24045 impl ::std::convert::From<&ID3D12GraphicsCommandList5> for ID3D12GraphicsCommandList4 {
from(value: &ID3D12GraphicsCommandList5) -> Self24046     fn from(value: &ID3D12GraphicsCommandList5) -> Self {
24047         ::std::convert::From::from(::std::clone::Clone::clone(value))
24048     }
24049 }
24050 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList4> for ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList4>24051     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList4> {
24052         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList4>::into(self))
24053     }
24054 }
24055 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList4> for &ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList4>24056     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList4> {
24057         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList4>::into(::std::clone::Clone::clone(self)))
24058     }
24059 }
24060 impl ::std::convert::From<ID3D12GraphicsCommandList5> for ID3D12GraphicsCommandList3 {
from(value: ID3D12GraphicsCommandList5) -> Self24061     fn from(value: ID3D12GraphicsCommandList5) -> Self {
24062         unsafe { ::std::mem::transmute(value) }
24063     }
24064 }
24065 impl ::std::convert::From<&ID3D12GraphicsCommandList5> for ID3D12GraphicsCommandList3 {
from(value: &ID3D12GraphicsCommandList5) -> Self24066     fn from(value: &ID3D12GraphicsCommandList5) -> Self {
24067         ::std::convert::From::from(::std::clone::Clone::clone(value))
24068     }
24069 }
24070 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList3> for ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList3>24071     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList3> {
24072         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList3>::into(self))
24073     }
24074 }
24075 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList3> for &ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList3>24076     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList3> {
24077         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList3>::into(::std::clone::Clone::clone(self)))
24078     }
24079 }
24080 impl ::std::convert::From<ID3D12GraphicsCommandList5> for ID3D12GraphicsCommandList2 {
from(value: ID3D12GraphicsCommandList5) -> Self24081     fn from(value: ID3D12GraphicsCommandList5) -> Self {
24082         unsafe { ::std::mem::transmute(value) }
24083     }
24084 }
24085 impl ::std::convert::From<&ID3D12GraphicsCommandList5> for ID3D12GraphicsCommandList2 {
from(value: &ID3D12GraphicsCommandList5) -> Self24086     fn from(value: &ID3D12GraphicsCommandList5) -> Self {
24087         ::std::convert::From::from(::std::clone::Clone::clone(value))
24088     }
24089 }
24090 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList2> for ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2>24091     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2> {
24092         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList2>::into(self))
24093     }
24094 }
24095 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList2> for &ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2>24096     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2> {
24097         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList2>::into(::std::clone::Clone::clone(self)))
24098     }
24099 }
24100 impl ::std::convert::From<ID3D12GraphicsCommandList5> for ID3D12GraphicsCommandList1 {
from(value: ID3D12GraphicsCommandList5) -> Self24101     fn from(value: ID3D12GraphicsCommandList5) -> Self {
24102         unsafe { ::std::mem::transmute(value) }
24103     }
24104 }
24105 impl ::std::convert::From<&ID3D12GraphicsCommandList5> for ID3D12GraphicsCommandList1 {
from(value: &ID3D12GraphicsCommandList5) -> Self24106     fn from(value: &ID3D12GraphicsCommandList5) -> Self {
24107         ::std::convert::From::from(::std::clone::Clone::clone(value))
24108     }
24109 }
24110 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList1> for ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1>24111     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1> {
24112         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList1>::into(self))
24113     }
24114 }
24115 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList1> for &ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1>24116     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1> {
24117         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList1>::into(::std::clone::Clone::clone(self)))
24118     }
24119 }
24120 impl ::std::convert::From<ID3D12GraphicsCommandList5> for ID3D12GraphicsCommandList {
from(value: ID3D12GraphicsCommandList5) -> Self24121     fn from(value: ID3D12GraphicsCommandList5) -> Self {
24122         unsafe { ::std::mem::transmute(value) }
24123     }
24124 }
24125 impl ::std::convert::From<&ID3D12GraphicsCommandList5> for ID3D12GraphicsCommandList {
from(value: &ID3D12GraphicsCommandList5) -> Self24126     fn from(value: &ID3D12GraphicsCommandList5) -> Self {
24127         ::std::convert::From::from(::std::clone::Clone::clone(value))
24128     }
24129 }
24130 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList> for ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList>24131     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList> {
24132         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList>::into(self))
24133     }
24134 }
24135 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList> for &ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList>24136     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList> {
24137         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList>::into(::std::clone::Clone::clone(self)))
24138     }
24139 }
24140 impl ::std::convert::From<ID3D12GraphicsCommandList5> for ID3D12CommandList {
from(value: ID3D12GraphicsCommandList5) -> Self24141     fn from(value: ID3D12GraphicsCommandList5) -> Self {
24142         unsafe { ::std::mem::transmute(value) }
24143     }
24144 }
24145 impl ::std::convert::From<&ID3D12GraphicsCommandList5> for ID3D12CommandList {
from(value: &ID3D12GraphicsCommandList5) -> Self24146     fn from(value: &ID3D12GraphicsCommandList5) -> Self {
24147         ::std::convert::From::from(::std::clone::Clone::clone(value))
24148     }
24149 }
24150 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12CommandList> for ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList>24151     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList> {
24152         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12CommandList>::into(self))
24153     }
24154 }
24155 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12CommandList> for &ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList>24156     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList> {
24157         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12CommandList>::into(::std::clone::Clone::clone(self)))
24158     }
24159 }
24160 impl ::std::convert::From<ID3D12GraphicsCommandList5> for ID3D12DeviceChild {
from(value: ID3D12GraphicsCommandList5) -> Self24161     fn from(value: ID3D12GraphicsCommandList5) -> Self {
24162         unsafe { ::std::mem::transmute(value) }
24163     }
24164 }
24165 impl ::std::convert::From<&ID3D12GraphicsCommandList5> for ID3D12DeviceChild {
from(value: &ID3D12GraphicsCommandList5) -> Self24166     fn from(value: &ID3D12GraphicsCommandList5) -> Self {
24167         ::std::convert::From::from(::std::clone::Clone::clone(value))
24168     }
24169 }
24170 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>24171     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
24172         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
24173     }
24174 }
24175 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>24176     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
24177         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
24178     }
24179 }
24180 impl ::std::convert::From<ID3D12GraphicsCommandList5> for ID3D12Object {
from(value: ID3D12GraphicsCommandList5) -> Self24181     fn from(value: ID3D12GraphicsCommandList5) -> Self {
24182         unsafe { ::std::mem::transmute(value) }
24183     }
24184 }
24185 impl ::std::convert::From<&ID3D12GraphicsCommandList5> for ID3D12Object {
from(value: &ID3D12GraphicsCommandList5) -> Self24186     fn from(value: &ID3D12GraphicsCommandList5) -> Self {
24187         ::std::convert::From::from(::std::clone::Clone::clone(value))
24188     }
24189 }
24190 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>24191     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
24192         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
24193     }
24194 }
24195 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12GraphicsCommandList5 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>24196     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
24197         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
24198     }
24199 }
24200 #[repr(C)]
24201 #[doc(hidden)]
24202 pub struct ID3D12GraphicsCommandList5_abi(
24203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
24207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
24208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24209     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
24210     #[cfg(not(feature = "Win32_Foundation"))] usize,
24211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
24212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_COMMAND_LIST_TYPE,
24213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24215     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipelinestate: ::windows::runtime::RawPtr),
24216     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32),
24217     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32),
24218     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32),
24219     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, numbytes: u64),
24220     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdst: *const ::std::mem::ManuallyDrop<D3D12_TEXTURE_COPY_LOCATION>, dstx: u32, dsty: u32, dstz: u32, psrc: *const ::std::mem::ManuallyDrop<D3D12_TEXTURE_COPY_LOCATION>, psrcbox: *const D3D12_BOX),
24221     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
24222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, psrcresource: ::windows::runtime::RawPtr),
24223     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: ::windows::runtime::RawPtr, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS),
24224     #[cfg(not(feature = "Win32_Foundation"))] usize,
24225     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, dstsubresource: u32, psrcresource: ::windows::runtime::RawPtr, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT),
24226     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
24227     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY),
24228     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
24229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numviewports: u32, pviewports: *const D3D12_VIEWPORT),
24230     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrects: u32, prects: *const super::super::Foundation::RECT),
24231     #[cfg(not(feature = "Win32_Foundation"))] usize,
24232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blendfactor: *const f32),
24233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stencilref: u32),
24234     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipelinestate: ::windows::runtime::RawPtr),
24235     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numbarriers: u32, pbarriers: *const ::std::mem::ManuallyDrop<D3D12_RESOURCE_BARRIER>),
24236     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcommandlist: ::windows::runtime::RawPtr),
24237     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptorheaps: u32, ppdescriptorheaps: *const ::windows::runtime::RawPtr),
24238     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prootsignature: ::windows::runtime::RawPtr),
24239     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prootsignature: ::windows::runtime::RawPtr),
24240     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
24241     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
24242     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
24243     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
24244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32),
24245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32),
24246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
24247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
24248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
24249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
24250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
24251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
24252     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pview: *const D3D12_INDEX_BUFFER_VIEW),
24253     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
24254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW),
24255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW),
24256     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: super::super::Foundation::BOOL, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE),
24257     #[cfg(not(feature = "Win32_Foundation"))] usize,
24258     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT),
24259     #[cfg(not(feature = "Win32_Foundation"))] usize,
24260     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
24261     #[cfg(not(feature = "Win32_Foundation"))] usize,
24262     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: ::windows::runtime::RawPtr, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT),
24263     #[cfg(not(feature = "Win32_Foundation"))] usize,
24264     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: ::windows::runtime::RawPtr, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
24265     #[cfg(not(feature = "Win32_Foundation"))] usize,
24266     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pregion: *const D3D12_DISCARD_REGION),
24267     #[cfg(not(feature = "Win32_Foundation"))] usize,
24268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, index: u32),
24269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, index: u32),
24270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: ::windows::runtime::RawPtr, aligneddestinationbufferoffset: u64),
24271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbuffer: ::windows::runtime::RawPtr, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP),
24272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
24273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
24274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
24275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcommandsignature: ::windows::runtime::RawPtr, maxcommandcount: u32, pargumentbuffer: ::windows::runtime::RawPtr, argumentbufferoffset: u64, pcountbuffer: ::windows::runtime::RawPtr, countbufferoffset: u64),
24276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::windows::runtime::RawPtr, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64),
24277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::windows::runtime::RawPtr, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64),
24278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, min: f32, max: f32),
24279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION),
24280     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: ::windows::runtime::RawPtr, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE),
24281     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
24282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mask: u32),
24283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE),
24284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprotectedresourcesession: ::windows::runtime::RawPtr),
24285     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrendertargets: u32, prendertargets: *const ::std::mem::ManuallyDrop<D3D12_RENDER_PASS_RENDER_TARGET_DESC>, pdepthstencil: *const ::std::mem::ManuallyDrop<D3D12_RENDER_PASS_DEPTH_STENCIL_DESC>, flags: D3D12_RENDER_PASS_FLAGS),
24286     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
24287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
24288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmetacommand: ::windows::runtime::RawPtr, pinitializationparametersdata: *const ::std::ffi::c_void, initializationparametersdatasizeinbytes: usize),
24289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmetacommand: ::windows::runtime::RawPtr, pexecutionparametersdata: *const ::std::ffi::c_void, executionparametersdatasizeinbytes: usize),
24290     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, numpostbuildinfodescs: u32, ppostbuildinfodescs: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC),
24291     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
24292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, numsourceaccelerationstructures: u32, psourceaccelerationstructuredata: *const u64),
24293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE),
24294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstateobject: ::windows::runtime::RawPtr),
24295     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_DISPATCH_RAYS_DESC),
24296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, baseshadingrate: D3D12_SHADING_RATE, combiners: *const D3D12_SHADING_RATE_COMBINER),
24297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, shadingrateimage: ::windows::runtime::RawPtr),
24298 );
24299 #[repr(transparent)]
24300 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24301 pub struct ID3D12GraphicsCommandList6(::windows::runtime::IUnknown);
24302 impl ID3D12GraphicsCommandList6 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>24303     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
24304         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
24305     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>24306     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
24307         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
24308     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>24309     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
24310         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
24311     }
24312     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>24313     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
24314         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
24315     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>24316     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
24317         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
24318     }
GetType(&self) -> D3D12_COMMAND_LIST_TYPE24319     pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
24320         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
24321     }
Close(&self) -> ::windows::runtime::Result<()>24322     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
24323         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
24324     }
Reset<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pallocator: Param0, pinitialstate: Param1) -> ::windows::runtime::Result<()>24325     pub unsafe fn Reset<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandAllocator>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pallocator: Param0, pinitialstate: Param1) -> ::windows::runtime::Result<()> {
24326         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
24327     }
ClearState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0)24328     pub unsafe fn ClearState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0) {
24329         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ppipelinestate.into_param().abi()))
24330     }
DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32)24331     pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
24332         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(vertexcountperinstance), ::std::mem::transmute(instancecount), ::std::mem::transmute(startvertexlocation), ::std::mem::transmute(startinstancelocation)))
24333     }
DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32)24334     pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
24335         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(indexcountperinstance), ::std::mem::transmute(instancecount), ::std::mem::transmute(startindexlocation), ::std::mem::transmute(basevertexlocation), ::std::mem::transmute(startinstancelocation)))
24336     }
Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32)24337     pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
24338         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(threadgroupcountx), ::std::mem::transmute(threadgroupcounty), ::std::mem::transmute(threadgroupcountz)))
24339     }
CopyBufferRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, numbytes: u64)24340     pub unsafe fn CopyBufferRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, numbytes: u64) {
24341         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pdstbuffer.into_param().abi(), ::std::mem::transmute(dstoffset), psrcbuffer.into_param().abi(), ::std::mem::transmute(srcoffset), ::std::mem::transmute(numbytes)))
24342     }
24343     #[cfg(feature = "Win32_Graphics_Dxgi")]
CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX)24344     pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX) {
24345         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdst), ::std::mem::transmute(dstx), ::std::mem::transmute(dsty), ::std::mem::transmute(dstz), ::std::mem::transmute(psrc), ::std::mem::transmute(psrcbox)))
24346     }
CopyResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, psrcresource: Param1)24347     pub unsafe fn CopyResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param1: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, psrcresource: Param1) {
24348         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pdstresource.into_param().abi(), psrcresource.into_param().abi()))
24349     }
24350     #[cfg(feature = "Win32_Foundation")]
CopyTiles<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: Param3, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)24351     pub unsafe fn CopyTiles<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param3: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, ptiledresource: Param0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: Param3, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS) {
24352         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(
24353             ::std::mem::transmute_copy(self),
24354             ptiledresource.into_param().abi(),
24355             ::std::mem::transmute(ptileregionstartcoordinate),
24356             ::std::mem::transmute(ptileregionsize),
24357             pbuffer.into_param().abi(),
24358             ::std::mem::transmute(bufferstartoffsetinbytes),
24359             ::std::mem::transmute(flags),
24360         ))
24361     }
24362     #[cfg(feature = "Win32_Graphics_Dxgi")]
ResolveSubresource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, psrcresource: Param2, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT)24363     pub unsafe fn ResolveSubresource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, psrcresource: Param2, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT) {
24364         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), pdstresource.into_param().abi(), ::std::mem::transmute(dstsubresource), psrcresource.into_param().abi(), ::std::mem::transmute(srcsubresource), ::std::mem::transmute(format)))
24365     }
24366     #[cfg(feature = "Win32_Graphics_Direct3D11")]
IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY)24367     pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY) {
24368         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(primitivetopology)))
24369     }
RSSetViewports(&self, numviewports: u32, pviewports: *const D3D12_VIEWPORT)24370     pub unsafe fn RSSetViewports(&self, numviewports: u32, pviewports: *const D3D12_VIEWPORT) {
24371         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(numviewports), ::std::mem::transmute(pviewports)))
24372     }
24373     #[cfg(feature = "Win32_Foundation")]
RSSetScissorRects(&self, numrects: u32, prects: *const super::super::Foundation::RECT)24374     pub unsafe fn RSSetScissorRects(&self, numrects: u32, prects: *const super::super::Foundation::RECT) {
24375         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
24376     }
OMSetBlendFactor(&self, blendfactor: *const f32)24377     pub unsafe fn OMSetBlendFactor(&self, blendfactor: *const f32) {
24378         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(blendfactor)))
24379     }
OMSetStencilRef(&self, stencilref: u32)24380     pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
24381         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(stencilref)))
24382     }
SetPipelineState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0)24383     pub unsafe fn SetPipelineState<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, ppipelinestate: Param0) {
24384         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ppipelinestate.into_param().abi()))
24385     }
ResourceBarrier(&self, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER)24386     pub unsafe fn ResourceBarrier(&self, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER) {
24387         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(numbarriers), ::std::mem::transmute(pbarriers)))
24388     }
ExecuteBundle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList>>(&self, pcommandlist: Param0)24389     pub unsafe fn ExecuteBundle<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList>>(&self, pcommandlist: Param0) {
24390         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), pcommandlist.into_param().abi()))
24391     }
SetDescriptorHeaps(&self, numdescriptorheaps: u32, ppdescriptorheaps: *const ::std::option::Option<ID3D12DescriptorHeap>)24392     pub unsafe fn SetDescriptorHeaps(&self, numdescriptorheaps: u32, ppdescriptorheaps: *const ::std::option::Option<ID3D12DescriptorHeap>) {
24393         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(numdescriptorheaps), ::std::mem::transmute(ppdescriptorheaps)))
24394     }
SetComputeRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0)24395     pub unsafe fn SetComputeRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0) {
24396         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), prootsignature.into_param().abi()))
24397     }
SetGraphicsRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0)24398     pub unsafe fn SetGraphicsRootSignature<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12RootSignature>>(&self, prootsignature: Param0) {
24399         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), prootsignature.into_param().abi()))
24400     }
SetComputeRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1)24401     pub unsafe fn SetComputeRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1) {
24402         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), basedescriptor.into_param().abi()))
24403     }
SetGraphicsRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1)24404     pub unsafe fn SetGraphicsRootDescriptorTable<'a, Param1: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>>(&self, rootparameterindex: u32, basedescriptor: Param1) {
24405         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), basedescriptor.into_param().abi()))
24406     }
SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32)24407     pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
24408         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(srcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
24409     }
SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32)24410     pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
24411         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(srcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
24412     }
SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32)24413     pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32) {
24414         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(num32bitvaluestoset), ::std::mem::transmute(psrcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
24415     }
SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32)24416     pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32) {
24417         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(num32bitvaluestoset), ::std::mem::transmute(psrcdata), ::std::mem::transmute(destoffsetin32bitvalues)))
24418     }
SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64)24419     pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
24420         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
24421     }
SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64)24422     pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
24423         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
24424     }
SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64)24425     pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
24426         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
24427     }
SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64)24428     pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
24429         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
24430     }
SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64)24431     pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
24432         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
24433     }
SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64)24434     pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
24435         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(rootparameterindex), ::std::mem::transmute(bufferlocation)))
24436     }
24437     #[cfg(feature = "Win32_Graphics_Dxgi")]
IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW)24438     pub unsafe fn IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW) {
24439         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(pview)))
24440     }
IASetVertexBuffers(&self, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW)24441     pub unsafe fn IASetVertexBuffers(&self, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW) {
24442         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(startslot), ::std::mem::transmute(numviews), ::std::mem::transmute(pviews)))
24443     }
SOSetTargets(&self, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW)24444     pub unsafe fn SOSetTargets(&self, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW) {
24445         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(startslot), ::std::mem::transmute(numviews), ::std::mem::transmute(pviews)))
24446     }
24447     #[cfg(feature = "Win32_Foundation")]
OMSetRenderTargets<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: Param2, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE)24448     pub unsafe fn OMSetRenderTargets<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: Param2, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE) {
24449         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrendertargetdescriptors), ::std::mem::transmute(prendertargetdescriptors), rtssinglehandletodescriptorrange.into_param().abi(), ::std::mem::transmute(pdepthstencildescriptor)))
24450     }
24451     #[cfg(feature = "Win32_Foundation")]
ClearDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, depthstencilview: Param0, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT)24452     pub unsafe fn ClearDepthStencilView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, depthstencilview: Param0, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT) {
24453         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), depthstencilview.into_param().abi(), ::std::mem::transmute(clearflags), ::std::mem::transmute(depth), ::std::mem::transmute(stencil), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
24454     }
24455     #[cfg(feature = "Win32_Foundation")]
ClearRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, rendertargetview: Param0, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT)24456     pub unsafe fn ClearRenderTargetView<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>>(&self, rendertargetview: Param0, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT) {
24457         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), rendertargetview.into_param().abi(), ::std::mem::transmute(colorrgba), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
24458     }
24459     #[cfg(feature = "Win32_Foundation")]
ClearUnorderedAccessViewUint<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT)24460     pub unsafe fn ClearUnorderedAccessViewUint<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT) {
24461         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), viewgpuhandleincurrentheap.into_param().abi(), viewcpuhandle.into_param().abi(), presource.into_param().abi(), ::std::mem::transmute(values), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
24462     }
24463     #[cfg(feature = "Win32_Foundation")]
ClearUnorderedAccessViewFloat<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT)24464     pub unsafe fn ClearUnorderedAccessViewFloat<'a, Param0: ::windows::runtime::IntoParam<'a, D3D12_GPU_DESCRIPTOR_HANDLE>, Param1: ::windows::runtime::IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, viewgpuhandleincurrentheap: Param0, viewcpuhandle: Param1, presource: Param2, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT) {
24465         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), viewgpuhandleincurrentheap.into_param().abi(), viewcpuhandle.into_param().abi(), presource.into_param().abi(), ::std::mem::transmute(values), ::std::mem::transmute(numrects), ::std::mem::transmute(prects)))
24466     }
24467     #[cfg(feature = "Win32_Foundation")]
DiscardResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, pregion: *const D3D12_DISCARD_REGION)24468     pub unsafe fn DiscardResource<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, presource: Param0, pregion: *const D3D12_DISCARD_REGION) {
24469         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(pregion)))
24470     }
BeginQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32)24471     pub unsafe fn BeginQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32) {
24472         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), pqueryheap.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(index)))
24473     }
EndQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32)24474     pub unsafe fn EndQuery<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, index: u32) {
24475         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), pqueryheap.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(index)))
24476     }
ResolveQueryData<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: Param4, aligneddestinationbufferoffset: u64)24477     pub unsafe fn ResolveQueryData<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12QueryHeap>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pqueryheap: Param0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: Param4, aligneddestinationbufferoffset: u64) {
24478         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).54)(
24479             ::std::mem::transmute_copy(self),
24480             pqueryheap.into_param().abi(),
24481             ::std::mem::transmute(r#type),
24482             ::std::mem::transmute(startindex),
24483             ::std::mem::transmute(numqueries),
24484             pdestinationbuffer.into_param().abi(),
24485             ::std::mem::transmute(aligneddestinationbufferoffset),
24486         ))
24487     }
SetPredication<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pbuffer: Param0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)24488     pub unsafe fn SetPredication<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pbuffer: Param0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP) {
24489         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), pbuffer.into_param().abi(), ::std::mem::transmute(alignedbufferoffset), ::std::mem::transmute(operation)))
24490     }
SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)24491     pub unsafe fn SetMarker(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
24492         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
24493     }
BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32)24494     pub unsafe fn BeginEvent(&self, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32) {
24495         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), ::std::mem::transmute(metadata), ::std::mem::transmute(pdata), ::std::mem::transmute(size)))
24496     }
EndEvent(&self)24497     pub unsafe fn EndEvent(&self) {
24498         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self)))
24499     }
ExecuteIndirect<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandSignature>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pcommandsignature: Param0, maxcommandcount: u32, pargumentbuffer: Param2, argumentbufferoffset: u64, pcountbuffer: Param4, countbufferoffset: u64)24500     pub unsafe fn ExecuteIndirect<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandSignature>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pcommandsignature: Param0, maxcommandcount: u32, pargumentbuffer: Param2, argumentbufferoffset: u64, pcountbuffer: Param4, countbufferoffset: u64) {
24501         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).59)(
24502             ::std::mem::transmute_copy(self),
24503             pcommandsignature.into_param().abi(),
24504             ::std::mem::transmute(maxcommandcount),
24505             pargumentbuffer.into_param().abi(),
24506             ::std::mem::transmute(argumentbufferoffset),
24507             pcountbuffer.into_param().abi(),
24508             ::std::mem::transmute(countbufferoffset),
24509         ))
24510     }
AtomicCopyBufferUINT<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)24511     pub unsafe fn AtomicCopyBufferUINT<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64) {
24512         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).60)(
24513             ::std::mem::transmute_copy(self),
24514             pdstbuffer.into_param().abi(),
24515             ::std::mem::transmute(dstoffset),
24516             psrcbuffer.into_param().abi(),
24517             ::std::mem::transmute(srcoffset),
24518             ::std::mem::transmute(dependencies),
24519             ::std::mem::transmute(ppdependentresources),
24520             ::std::mem::transmute(pdependentsubresourceranges),
24521         ))
24522     }
AtomicCopyBufferUINT64<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)24523     pub unsafe fn AtomicCopyBufferUINT64<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstbuffer: Param0, dstoffset: u64, psrcbuffer: Param2, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::std::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64) {
24524         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).61)(
24525             ::std::mem::transmute_copy(self),
24526             pdstbuffer.into_param().abi(),
24527             ::std::mem::transmute(dstoffset),
24528             psrcbuffer.into_param().abi(),
24529             ::std::mem::transmute(srcoffset),
24530             ::std::mem::transmute(dependencies),
24531             ::std::mem::transmute(ppdependentresources),
24532             ::std::mem::transmute(pdependentsubresourceranges),
24533         ))
24534     }
OMSetDepthBounds(&self, min: f32, max: f32)24535     pub unsafe fn OMSetDepthBounds(&self, min: f32, max: f32) {
24536         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), ::std::mem::transmute(min), ::std::mem::transmute(max)))
24537     }
SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION)24538     pub unsafe fn SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION) {
24539         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(numsamplesperpixel), ::std::mem::transmute(numpixels), ::std::mem::transmute(psamplepositions)))
24540     }
24541     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
ResolveSubresourceRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: Param4, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE)24542     pub unsafe fn ResolveSubresourceRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param4: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, pdstresource: Param0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: Param4, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE) {
24543         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).64)(
24544             ::std::mem::transmute_copy(self),
24545             pdstresource.into_param().abi(),
24546             ::std::mem::transmute(dstsubresource),
24547             ::std::mem::transmute(dstx),
24548             ::std::mem::transmute(dsty),
24549             psrcresource.into_param().abi(),
24550             ::std::mem::transmute(srcsubresource),
24551             ::std::mem::transmute(psrcrect),
24552             ::std::mem::transmute(format),
24553             ::std::mem::transmute(resolvemode),
24554         ))
24555     }
SetViewInstanceMask(&self, mask: u32)24556     pub unsafe fn SetViewInstanceMask(&self, mask: u32) {
24557         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), ::std::mem::transmute(mask)))
24558     }
WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE)24559     pub unsafe fn WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE) {
24560         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), ::std::mem::transmute(count), ::std::mem::transmute(pparams), ::std::mem::transmute(pmodes)))
24561     }
SetProtectedResourceSession<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>>(&self, pprotectedresourcesession: Param0)24562     pub unsafe fn SetProtectedResourceSession<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession>>(&self, pprotectedresourcesession: Param0) {
24563         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), pprotectedresourcesession.into_param().abi()))
24564     }
24565     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
BeginRenderPass(&self, numrendertargets: u32, prendertargets: *const D3D12_RENDER_PASS_RENDER_TARGET_DESC, pdepthstencil: *const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC, flags: D3D12_RENDER_PASS_FLAGS)24566     pub unsafe fn BeginRenderPass(&self, numrendertargets: u32, prendertargets: *const D3D12_RENDER_PASS_RENDER_TARGET_DESC, pdepthstencil: *const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC, flags: D3D12_RENDER_PASS_FLAGS) {
24567         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), ::std::mem::transmute(numrendertargets), ::std::mem::transmute(prendertargets), ::std::mem::transmute(pdepthstencil), ::std::mem::transmute(flags)))
24568     }
EndRenderPass(&self)24569     pub unsafe fn EndRenderPass(&self) {
24570         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).69)(::std::mem::transmute_copy(self)))
24571     }
InitializeMetaCommand<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12MetaCommand>>(&self, pmetacommand: Param0, pinitializationparametersdata: *const ::std::ffi::c_void, initializationparametersdatasizeinbytes: usize)24572     pub unsafe fn InitializeMetaCommand<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12MetaCommand>>(&self, pmetacommand: Param0, pinitializationparametersdata: *const ::std::ffi::c_void, initializationparametersdatasizeinbytes: usize) {
24573         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).70)(::std::mem::transmute_copy(self), pmetacommand.into_param().abi(), ::std::mem::transmute(pinitializationparametersdata), ::std::mem::transmute(initializationparametersdatasizeinbytes)))
24574     }
ExecuteMetaCommand<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12MetaCommand>>(&self, pmetacommand: Param0, pexecutionparametersdata: *const ::std::ffi::c_void, executionparametersdatasizeinbytes: usize)24575     pub unsafe fn ExecuteMetaCommand<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12MetaCommand>>(&self, pmetacommand: Param0, pexecutionparametersdata: *const ::std::ffi::c_void, executionparametersdatasizeinbytes: usize) {
24576         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).71)(::std::mem::transmute_copy(self), pmetacommand.into_param().abi(), ::std::mem::transmute(pexecutionparametersdata), ::std::mem::transmute(executionparametersdatasizeinbytes)))
24577     }
24578     #[cfg(feature = "Win32_Graphics_Dxgi")]
BuildRaytracingAccelerationStructure(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, numpostbuildinfodescs: u32, ppostbuildinfodescs: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC)24579     pub unsafe fn BuildRaytracingAccelerationStructure(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, numpostbuildinfodescs: u32, ppostbuildinfodescs: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC) {
24580         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).72)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(numpostbuildinfodescs), ::std::mem::transmute(ppostbuildinfodescs)))
24581     }
EmitRaytracingAccelerationStructurePostbuildInfo(&self, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, numsourceaccelerationstructures: u32, psourceaccelerationstructuredata: *const u64)24582     pub unsafe fn EmitRaytracingAccelerationStructurePostbuildInfo(&self, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, numsourceaccelerationstructures: u32, psourceaccelerationstructuredata: *const u64) {
24583         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).73)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc), ::std::mem::transmute(numsourceaccelerationstructures), ::std::mem::transmute(psourceaccelerationstructuredata)))
24584     }
CopyRaytracingAccelerationStructure(&self, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE)24585     pub unsafe fn CopyRaytracingAccelerationStructure(&self, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE) {
24586         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).74)(::std::mem::transmute_copy(self), ::std::mem::transmute(destaccelerationstructuredata), ::std::mem::transmute(sourceaccelerationstructuredata), ::std::mem::transmute(mode)))
24587     }
SetPipelineState1<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12StateObject>>(&self, pstateobject: Param0)24588     pub unsafe fn SetPipelineState1<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12StateObject>>(&self, pstateobject: Param0) {
24589         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).75)(::std::mem::transmute_copy(self), pstateobject.into_param().abi()))
24590     }
DispatchRays(&self, pdesc: *const D3D12_DISPATCH_RAYS_DESC)24591     pub unsafe fn DispatchRays(&self, pdesc: *const D3D12_DISPATCH_RAYS_DESC) {
24592         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).76)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc)))
24593     }
RSSetShadingRate(&self, baseshadingrate: D3D12_SHADING_RATE, combiners: *const D3D12_SHADING_RATE_COMBINER)24594     pub unsafe fn RSSetShadingRate(&self, baseshadingrate: D3D12_SHADING_RATE, combiners: *const D3D12_SHADING_RATE_COMBINER) {
24595         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).77)(::std::mem::transmute_copy(self), ::std::mem::transmute(baseshadingrate), ::std::mem::transmute(combiners)))
24596     }
RSSetShadingRateImage<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, shadingrateimage: Param0)24597     pub unsafe fn RSSetShadingRateImage<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>>(&self, shadingrateimage: Param0) {
24598         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).78)(::std::mem::transmute_copy(self), shadingrateimage.into_param().abi()))
24599     }
DispatchMesh(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32)24600     pub unsafe fn DispatchMesh(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
24601         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).79)(::std::mem::transmute_copy(self), ::std::mem::transmute(threadgroupcountx), ::std::mem::transmute(threadgroupcounty), ::std::mem::transmute(threadgroupcountz)))
24602     }
24603 }
24604 unsafe impl ::windows::runtime::Interface for ID3D12GraphicsCommandList6 {
24605     type Vtable = ID3D12GraphicsCommandList6_abi;
24606     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3280107664, 58696, 19706, [150, 207, 86, 137, 169, 55, 15, 128]);
24607 }
24608 impl ::std::convert::From<ID3D12GraphicsCommandList6> for ::windows::runtime::IUnknown {
from(value: ID3D12GraphicsCommandList6) -> Self24609     fn from(value: ID3D12GraphicsCommandList6) -> Self {
24610         unsafe { ::std::mem::transmute(value) }
24611     }
24612 }
24613 impl ::std::convert::From<&ID3D12GraphicsCommandList6> for ::windows::runtime::IUnknown {
from(value: &ID3D12GraphicsCommandList6) -> Self24614     fn from(value: &ID3D12GraphicsCommandList6) -> Self {
24615         ::std::convert::From::from(::std::clone::Clone::clone(value))
24616     }
24617 }
24618 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>24619     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
24620         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
24621     }
24622 }
24623 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>24624     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
24625         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
24626     }
24627 }
24628 impl ::std::convert::From<ID3D12GraphicsCommandList6> for ID3D12GraphicsCommandList5 {
from(value: ID3D12GraphicsCommandList6) -> Self24629     fn from(value: ID3D12GraphicsCommandList6) -> Self {
24630         unsafe { ::std::mem::transmute(value) }
24631     }
24632 }
24633 impl ::std::convert::From<&ID3D12GraphicsCommandList6> for ID3D12GraphicsCommandList5 {
from(value: &ID3D12GraphicsCommandList6) -> Self24634     fn from(value: &ID3D12GraphicsCommandList6) -> Self {
24635         ::std::convert::From::from(::std::clone::Clone::clone(value))
24636     }
24637 }
24638 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList5> for ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList5>24639     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList5> {
24640         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList5>::into(self))
24641     }
24642 }
24643 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList5> for &ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList5>24644     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList5> {
24645         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList5>::into(::std::clone::Clone::clone(self)))
24646     }
24647 }
24648 impl ::std::convert::From<ID3D12GraphicsCommandList6> for ID3D12GraphicsCommandList4 {
from(value: ID3D12GraphicsCommandList6) -> Self24649     fn from(value: ID3D12GraphicsCommandList6) -> Self {
24650         unsafe { ::std::mem::transmute(value) }
24651     }
24652 }
24653 impl ::std::convert::From<&ID3D12GraphicsCommandList6> for ID3D12GraphicsCommandList4 {
from(value: &ID3D12GraphicsCommandList6) -> Self24654     fn from(value: &ID3D12GraphicsCommandList6) -> Self {
24655         ::std::convert::From::from(::std::clone::Clone::clone(value))
24656     }
24657 }
24658 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList4> for ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList4>24659     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList4> {
24660         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList4>::into(self))
24661     }
24662 }
24663 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList4> for &ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList4>24664     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList4> {
24665         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList4>::into(::std::clone::Clone::clone(self)))
24666     }
24667 }
24668 impl ::std::convert::From<ID3D12GraphicsCommandList6> for ID3D12GraphicsCommandList3 {
from(value: ID3D12GraphicsCommandList6) -> Self24669     fn from(value: ID3D12GraphicsCommandList6) -> Self {
24670         unsafe { ::std::mem::transmute(value) }
24671     }
24672 }
24673 impl ::std::convert::From<&ID3D12GraphicsCommandList6> for ID3D12GraphicsCommandList3 {
from(value: &ID3D12GraphicsCommandList6) -> Self24674     fn from(value: &ID3D12GraphicsCommandList6) -> Self {
24675         ::std::convert::From::from(::std::clone::Clone::clone(value))
24676     }
24677 }
24678 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList3> for ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList3>24679     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList3> {
24680         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList3>::into(self))
24681     }
24682 }
24683 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList3> for &ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList3>24684     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList3> {
24685         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList3>::into(::std::clone::Clone::clone(self)))
24686     }
24687 }
24688 impl ::std::convert::From<ID3D12GraphicsCommandList6> for ID3D12GraphicsCommandList2 {
from(value: ID3D12GraphicsCommandList6) -> Self24689     fn from(value: ID3D12GraphicsCommandList6) -> Self {
24690         unsafe { ::std::mem::transmute(value) }
24691     }
24692 }
24693 impl ::std::convert::From<&ID3D12GraphicsCommandList6> for ID3D12GraphicsCommandList2 {
from(value: &ID3D12GraphicsCommandList6) -> Self24694     fn from(value: &ID3D12GraphicsCommandList6) -> Self {
24695         ::std::convert::From::from(::std::clone::Clone::clone(value))
24696     }
24697 }
24698 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList2> for ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2>24699     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2> {
24700         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList2>::into(self))
24701     }
24702 }
24703 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList2> for &ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2>24704     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList2> {
24705         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList2>::into(::std::clone::Clone::clone(self)))
24706     }
24707 }
24708 impl ::std::convert::From<ID3D12GraphicsCommandList6> for ID3D12GraphicsCommandList1 {
from(value: ID3D12GraphicsCommandList6) -> Self24709     fn from(value: ID3D12GraphicsCommandList6) -> Self {
24710         unsafe { ::std::mem::transmute(value) }
24711     }
24712 }
24713 impl ::std::convert::From<&ID3D12GraphicsCommandList6> for ID3D12GraphicsCommandList1 {
from(value: &ID3D12GraphicsCommandList6) -> Self24714     fn from(value: &ID3D12GraphicsCommandList6) -> Self {
24715         ::std::convert::From::from(::std::clone::Clone::clone(value))
24716     }
24717 }
24718 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList1> for ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1>24719     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1> {
24720         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList1>::into(self))
24721     }
24722 }
24723 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList1> for &ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1>24724     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList1> {
24725         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList1>::into(::std::clone::Clone::clone(self)))
24726     }
24727 }
24728 impl ::std::convert::From<ID3D12GraphicsCommandList6> for ID3D12GraphicsCommandList {
from(value: ID3D12GraphicsCommandList6) -> Self24729     fn from(value: ID3D12GraphicsCommandList6) -> Self {
24730         unsafe { ::std::mem::transmute(value) }
24731     }
24732 }
24733 impl ::std::convert::From<&ID3D12GraphicsCommandList6> for ID3D12GraphicsCommandList {
from(value: &ID3D12GraphicsCommandList6) -> Self24734     fn from(value: &ID3D12GraphicsCommandList6) -> Self {
24735         ::std::convert::From::from(::std::clone::Clone::clone(value))
24736     }
24737 }
24738 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList> for ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList>24739     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList> {
24740         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList>::into(self))
24741     }
24742 }
24743 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12GraphicsCommandList> for &ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList>24744     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12GraphicsCommandList> {
24745         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12GraphicsCommandList>::into(::std::clone::Clone::clone(self)))
24746     }
24747 }
24748 impl ::std::convert::From<ID3D12GraphicsCommandList6> for ID3D12CommandList {
from(value: ID3D12GraphicsCommandList6) -> Self24749     fn from(value: ID3D12GraphicsCommandList6) -> Self {
24750         unsafe { ::std::mem::transmute(value) }
24751     }
24752 }
24753 impl ::std::convert::From<&ID3D12GraphicsCommandList6> for ID3D12CommandList {
from(value: &ID3D12GraphicsCommandList6) -> Self24754     fn from(value: &ID3D12GraphicsCommandList6) -> Self {
24755         ::std::convert::From::from(::std::clone::Clone::clone(value))
24756     }
24757 }
24758 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12CommandList> for ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList>24759     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList> {
24760         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12CommandList>::into(self))
24761     }
24762 }
24763 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12CommandList> for &ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList>24764     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12CommandList> {
24765         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12CommandList>::into(::std::clone::Clone::clone(self)))
24766     }
24767 }
24768 impl ::std::convert::From<ID3D12GraphicsCommandList6> for ID3D12DeviceChild {
from(value: ID3D12GraphicsCommandList6) -> Self24769     fn from(value: ID3D12GraphicsCommandList6) -> Self {
24770         unsafe { ::std::mem::transmute(value) }
24771     }
24772 }
24773 impl ::std::convert::From<&ID3D12GraphicsCommandList6> for ID3D12DeviceChild {
from(value: &ID3D12GraphicsCommandList6) -> Self24774     fn from(value: &ID3D12GraphicsCommandList6) -> Self {
24775         ::std::convert::From::from(::std::clone::Clone::clone(value))
24776     }
24777 }
24778 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>24779     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
24780         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
24781     }
24782 }
24783 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>24784     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
24785         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
24786     }
24787 }
24788 impl ::std::convert::From<ID3D12GraphicsCommandList6> for ID3D12Object {
from(value: ID3D12GraphicsCommandList6) -> Self24789     fn from(value: ID3D12GraphicsCommandList6) -> Self {
24790         unsafe { ::std::mem::transmute(value) }
24791     }
24792 }
24793 impl ::std::convert::From<&ID3D12GraphicsCommandList6> for ID3D12Object {
from(value: &ID3D12GraphicsCommandList6) -> Self24794     fn from(value: &ID3D12GraphicsCommandList6) -> Self {
24795         ::std::convert::From::from(::std::clone::Clone::clone(value))
24796     }
24797 }
24798 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>24799     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
24800         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
24801     }
24802 }
24803 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12GraphicsCommandList6 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>24804     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
24805         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
24806     }
24807 }
24808 #[repr(C)]
24809 #[doc(hidden)]
24810 pub struct ID3D12GraphicsCommandList6_abi(
24811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24813     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24814     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
24815     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
24816     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24817     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
24818     #[cfg(not(feature = "Win32_Foundation"))] usize,
24819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
24820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_COMMAND_LIST_TYPE,
24821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24822     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pallocator: ::windows::runtime::RawPtr, pinitialstate: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24823     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipelinestate: ::windows::runtime::RawPtr),
24824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32),
24825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32),
24826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32),
24827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, numbytes: u64),
24828     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdst: *const ::std::mem::ManuallyDrop<D3D12_TEXTURE_COPY_LOCATION>, dstx: u32, dsty: u32, dstz: u32, psrc: *const ::std::mem::ManuallyDrop<D3D12_TEXTURE_COPY_LOCATION>, psrcbox: *const D3D12_BOX),
24829     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
24830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, psrcresource: ::windows::runtime::RawPtr),
24831     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptiledresource: ::windows::runtime::RawPtr, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: ::windows::runtime::RawPtr, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS),
24832     #[cfg(not(feature = "Win32_Foundation"))] usize,
24833     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, dstsubresource: u32, psrcresource: ::windows::runtime::RawPtr, srcsubresource: u32, format: super::Dxgi::DXGI_FORMAT),
24834     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
24835     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, primitivetopology: super::Direct3D11::D3D_PRIMITIVE_TOPOLOGY),
24836     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
24837     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numviewports: u32, pviewports: *const D3D12_VIEWPORT),
24838     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrects: u32, prects: *const super::super::Foundation::RECT),
24839     #[cfg(not(feature = "Win32_Foundation"))] usize,
24840     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blendfactor: *const f32),
24841     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stencilref: u32),
24842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppipelinestate: ::windows::runtime::RawPtr),
24843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numbarriers: u32, pbarriers: *const ::std::mem::ManuallyDrop<D3D12_RESOURCE_BARRIER>),
24844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcommandlist: ::windows::runtime::RawPtr),
24845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numdescriptorheaps: u32, ppdescriptorheaps: *const ::windows::runtime::RawPtr),
24846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prootsignature: ::windows::runtime::RawPtr),
24847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prootsignature: ::windows::runtime::RawPtr),
24848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
24849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
24850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
24851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
24852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32),
24853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::std::ffi::c_void, destoffsetin32bitvalues: u32),
24854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
24855     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
24856     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
24857     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
24858     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
24859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rootparameterindex: u32, bufferlocation: u64),
24860     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pview: *const D3D12_INDEX_BUFFER_VIEW),
24861     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
24862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW),
24863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW),
24864     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: super::super::Foundation::BOOL, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE),
24865     #[cfg(not(feature = "Win32_Foundation"))] usize,
24866     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT),
24867     #[cfg(not(feature = "Win32_Foundation"))] usize,
24868     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
24869     #[cfg(not(feature = "Win32_Foundation"))] usize,
24870     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: ::windows::runtime::RawPtr, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT),
24871     #[cfg(not(feature = "Win32_Foundation"))] usize,
24872     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: ::windows::runtime::RawPtr, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
24873     #[cfg(not(feature = "Win32_Foundation"))] usize,
24874     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pregion: *const D3D12_DISCARD_REGION),
24875     #[cfg(not(feature = "Win32_Foundation"))] usize,
24876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, index: u32),
24877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, index: u32),
24878     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pqueryheap: ::windows::runtime::RawPtr, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: ::windows::runtime::RawPtr, aligneddestinationbufferoffset: u64),
24879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbuffer: ::windows::runtime::RawPtr, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP),
24880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
24881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, metadata: u32, pdata: *const ::std::ffi::c_void, size: u32),
24882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
24883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcommandsignature: ::windows::runtime::RawPtr, maxcommandcount: u32, pargumentbuffer: ::windows::runtime::RawPtr, argumentbufferoffset: u64, pcountbuffer: ::windows::runtime::RawPtr, countbufferoffset: u64),
24884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::windows::runtime::RawPtr, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64),
24885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstbuffer: ::windows::runtime::RawPtr, dstoffset: u64, psrcbuffer: ::windows::runtime::RawPtr, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::windows::runtime::RawPtr, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64),
24886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, min: f32, max: f32),
24887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION),
24888     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstresource: ::windows::runtime::RawPtr, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: ::windows::runtime::RawPtr, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE),
24889     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
24890     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mask: u32),
24891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE),
24892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprotectedresourcesession: ::windows::runtime::RawPtr),
24893     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, numrendertargets: u32, prendertargets: *const ::std::mem::ManuallyDrop<D3D12_RENDER_PASS_RENDER_TARGET_DESC>, pdepthstencil: *const ::std::mem::ManuallyDrop<D3D12_RENDER_PASS_DEPTH_STENCIL_DESC>, flags: D3D12_RENDER_PASS_FLAGS),
24894     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
24895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
24896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmetacommand: ::windows::runtime::RawPtr, pinitializationparametersdata: *const ::std::ffi::c_void, initializationparametersdatasizeinbytes: usize),
24897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmetacommand: ::windows::runtime::RawPtr, pexecutionparametersdata: *const ::std::ffi::c_void, executionparametersdatasizeinbytes: usize),
24898     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, numpostbuildinfodescs: u32, ppostbuildinfodescs: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC),
24899     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
24900     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, numsourceaccelerationstructures: u32, psourceaccelerationstructuredata: *const u64),
24901     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE),
24902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstateobject: ::windows::runtime::RawPtr),
24903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *const D3D12_DISPATCH_RAYS_DESC),
24904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, baseshadingrate: D3D12_SHADING_RATE, combiners: *const D3D12_SHADING_RATE_COMBINER),
24905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, shadingrateimage: ::windows::runtime::RawPtr),
24906     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32),
24907 );
24908 #[repr(transparent)]
24909 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24910 pub struct ID3D12Heap(::windows::runtime::IUnknown);
24911 impl ID3D12Heap {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>24912     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
24913         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
24914     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>24915     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
24916         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
24917     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>24918     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
24919         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
24920     }
24921     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>24922     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
24923         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
24924     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>24925     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
24926         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
24927     }
GetDesc(&self) -> D3D12_HEAP_DESC24928     pub unsafe fn GetDesc(&self) -> D3D12_HEAP_DESC {
24929         let mut result__: D3D12_HEAP_DESC = ::std::default::Default::default();
24930         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__);
24931         result__
24932     }
24933 }
24934 unsafe impl ::windows::runtime::Interface for ID3D12Heap {
24935     type Vtable = ID3D12Heap_abi;
24936     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1799038210, 28241, 17843, [144, 238, 152, 132, 38, 94, 141, 243]);
24937 }
24938 impl ::std::convert::From<ID3D12Heap> for ::windows::runtime::IUnknown {
from(value: ID3D12Heap) -> Self24939     fn from(value: ID3D12Heap) -> Self {
24940         unsafe { ::std::mem::transmute(value) }
24941     }
24942 }
24943 impl ::std::convert::From<&ID3D12Heap> for ::windows::runtime::IUnknown {
from(value: &ID3D12Heap) -> Self24944     fn from(value: &ID3D12Heap) -> Self {
24945         ::std::convert::From::from(::std::clone::Clone::clone(value))
24946     }
24947 }
24948 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Heap {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>24949     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
24950         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
24951     }
24952 }
24953 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Heap {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>24954     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
24955         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
24956     }
24957 }
24958 impl ::std::convert::From<ID3D12Heap> for ID3D12Pageable {
from(value: ID3D12Heap) -> Self24959     fn from(value: ID3D12Heap) -> Self {
24960         unsafe { ::std::mem::transmute(value) }
24961     }
24962 }
24963 impl ::std::convert::From<&ID3D12Heap> for ID3D12Pageable {
from(value: &ID3D12Heap) -> Self24964     fn from(value: &ID3D12Heap) -> Self {
24965         ::std::convert::From::from(::std::clone::Clone::clone(value))
24966     }
24967 }
24968 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for ID3D12Heap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>24969     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
24970         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(self))
24971     }
24972 }
24973 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for &ID3D12Heap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>24974     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
24975         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(::std::clone::Clone::clone(self)))
24976     }
24977 }
24978 impl ::std::convert::From<ID3D12Heap> for ID3D12DeviceChild {
from(value: ID3D12Heap) -> Self24979     fn from(value: ID3D12Heap) -> Self {
24980         unsafe { ::std::mem::transmute(value) }
24981     }
24982 }
24983 impl ::std::convert::From<&ID3D12Heap> for ID3D12DeviceChild {
from(value: &ID3D12Heap) -> Self24984     fn from(value: &ID3D12Heap) -> Self {
24985         ::std::convert::From::from(::std::clone::Clone::clone(value))
24986     }
24987 }
24988 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12Heap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>24989     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
24990         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
24991     }
24992 }
24993 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12Heap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>24994     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
24995         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
24996     }
24997 }
24998 impl ::std::convert::From<ID3D12Heap> for ID3D12Object {
from(value: ID3D12Heap) -> Self24999     fn from(value: ID3D12Heap) -> Self {
25000         unsafe { ::std::mem::transmute(value) }
25001     }
25002 }
25003 impl ::std::convert::From<&ID3D12Heap> for ID3D12Object {
from(value: &ID3D12Heap) -> Self25004     fn from(value: &ID3D12Heap) -> Self {
25005         ::std::convert::From::from(::std::clone::Clone::clone(value))
25006     }
25007 }
25008 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Heap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>25009     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
25010         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
25011     }
25012 }
25013 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Heap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>25014     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
25015         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
25016     }
25017 }
25018 #[repr(C)]
25019 #[doc(hidden)]
25020 pub struct ID3D12Heap_abi(
25021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
25025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
25026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25027     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
25028     #[cfg(not(feature = "Win32_Foundation"))] usize,
25029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
25030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_HEAP_DESC),
25031 );
25032 #[repr(transparent)]
25033 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25034 pub struct ID3D12Heap1(::windows::runtime::IUnknown);
25035 impl ID3D12Heap1 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>25036     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
25037         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
25038     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>25039     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
25040         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
25041     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>25042     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
25043         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
25044     }
25045     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>25046     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
25047         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
25048     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>25049     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
25050         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
25051     }
GetDesc(&self) -> D3D12_HEAP_DESC25052     pub unsafe fn GetDesc(&self) -> D3D12_HEAP_DESC {
25053         let mut result__: D3D12_HEAP_DESC = ::std::default::Default::default();
25054         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__);
25055         result__
25056     }
GetProtectedResourceSession<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>25057     pub unsafe fn GetProtectedResourceSession<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
25058         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
25059     }
25060 }
25061 unsafe impl ::windows::runtime::Interface for ID3D12Heap1 {
25062     type Vtable = ID3D12Heap1_abi;
25063     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1462727561, 8552, 18915, [150, 147, 214, 223, 88, 113, 191, 109]);
25064 }
25065 impl ::std::convert::From<ID3D12Heap1> for ::windows::runtime::IUnknown {
from(value: ID3D12Heap1) -> Self25066     fn from(value: ID3D12Heap1) -> Self {
25067         unsafe { ::std::mem::transmute(value) }
25068     }
25069 }
25070 impl ::std::convert::From<&ID3D12Heap1> for ::windows::runtime::IUnknown {
from(value: &ID3D12Heap1) -> Self25071     fn from(value: &ID3D12Heap1) -> Self {
25072         ::std::convert::From::from(::std::clone::Clone::clone(value))
25073     }
25074 }
25075 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Heap1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25076     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25077         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
25078     }
25079 }
25080 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Heap1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25081     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25082         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
25083     }
25084 }
25085 impl ::std::convert::From<ID3D12Heap1> for ID3D12Heap {
from(value: ID3D12Heap1) -> Self25086     fn from(value: ID3D12Heap1) -> Self {
25087         unsafe { ::std::mem::transmute(value) }
25088     }
25089 }
25090 impl ::std::convert::From<&ID3D12Heap1> for ID3D12Heap {
from(value: &ID3D12Heap1) -> Self25091     fn from(value: &ID3D12Heap1) -> Self {
25092         ::std::convert::From::from(::std::clone::Clone::clone(value))
25093     }
25094 }
25095 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Heap> for ID3D12Heap1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Heap>25096     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Heap> {
25097         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Heap>::into(self))
25098     }
25099 }
25100 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Heap> for &ID3D12Heap1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Heap>25101     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Heap> {
25102         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Heap>::into(::std::clone::Clone::clone(self)))
25103     }
25104 }
25105 impl ::std::convert::From<ID3D12Heap1> for ID3D12Pageable {
from(value: ID3D12Heap1) -> Self25106     fn from(value: ID3D12Heap1) -> Self {
25107         unsafe { ::std::mem::transmute(value) }
25108     }
25109 }
25110 impl ::std::convert::From<&ID3D12Heap1> for ID3D12Pageable {
from(value: &ID3D12Heap1) -> Self25111     fn from(value: &ID3D12Heap1) -> Self {
25112         ::std::convert::From::from(::std::clone::Clone::clone(value))
25113     }
25114 }
25115 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for ID3D12Heap1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>25116     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
25117         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(self))
25118     }
25119 }
25120 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for &ID3D12Heap1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>25121     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
25122         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(::std::clone::Clone::clone(self)))
25123     }
25124 }
25125 impl ::std::convert::From<ID3D12Heap1> for ID3D12DeviceChild {
from(value: ID3D12Heap1) -> Self25126     fn from(value: ID3D12Heap1) -> Self {
25127         unsafe { ::std::mem::transmute(value) }
25128     }
25129 }
25130 impl ::std::convert::From<&ID3D12Heap1> for ID3D12DeviceChild {
from(value: &ID3D12Heap1) -> Self25131     fn from(value: &ID3D12Heap1) -> Self {
25132         ::std::convert::From::from(::std::clone::Clone::clone(value))
25133     }
25134 }
25135 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12Heap1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>25136     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
25137         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
25138     }
25139 }
25140 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12Heap1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>25141     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
25142         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
25143     }
25144 }
25145 impl ::std::convert::From<ID3D12Heap1> for ID3D12Object {
from(value: ID3D12Heap1) -> Self25146     fn from(value: ID3D12Heap1) -> Self {
25147         unsafe { ::std::mem::transmute(value) }
25148     }
25149 }
25150 impl ::std::convert::From<&ID3D12Heap1> for ID3D12Object {
from(value: &ID3D12Heap1) -> Self25151     fn from(value: &ID3D12Heap1) -> Self {
25152         ::std::convert::From::from(::std::clone::Clone::clone(value))
25153     }
25154 }
25155 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Heap1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>25156     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
25157         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
25158     }
25159 }
25160 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Heap1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>25161     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
25162         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
25163     }
25164 }
25165 #[repr(C)]
25166 #[doc(hidden)]
25167 pub struct ID3D12Heap1_abi(
25168     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25170     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
25172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
25173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25174     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
25175     #[cfg(not(feature = "Win32_Foundation"))] usize,
25176     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
25177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_HEAP_DESC),
25178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppprotectedsession: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
25179 );
25180 #[repr(transparent)]
25181 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25182 pub struct ID3D12InfoQueue(::windows::runtime::IUnknown);
25183 impl ID3D12InfoQueue {
SetMessageCountLimit(&self, messagecountlimit: u64) -> ::windows::runtime::Result<()>25184     pub unsafe fn SetMessageCountLimit(&self, messagecountlimit: u64) -> ::windows::runtime::Result<()> {
25185         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(messagecountlimit)).ok()
25186     }
ClearStoredMessages(&self)25187     pub unsafe fn ClearStoredMessages(&self) {
25188         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)))
25189     }
GetMessage(&self, messageindex: u64, pmessage: *mut D3D12_MESSAGE, pmessagebytelength: *mut usize) -> ::windows::runtime::Result<()>25190     pub unsafe fn GetMessage(&self, messageindex: u64, pmessage: *mut D3D12_MESSAGE, pmessagebytelength: *mut usize) -> ::windows::runtime::Result<()> {
25191         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(messageindex), ::std::mem::transmute(pmessage), ::std::mem::transmute(pmessagebytelength)).ok()
25192     }
GetNumMessagesAllowedByStorageFilter(&self) -> u6425193     pub unsafe fn GetNumMessagesAllowedByStorageFilter(&self) -> u64 {
25194         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)))
25195     }
GetNumMessagesDeniedByStorageFilter(&self) -> u6425196     pub unsafe fn GetNumMessagesDeniedByStorageFilter(&self) -> u64 {
25197         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
25198     }
GetNumStoredMessages(&self) -> u6425199     pub unsafe fn GetNumStoredMessages(&self) -> u64 {
25200         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
25201     }
GetNumStoredMessagesAllowedByRetrievalFilter(&self) -> u6425202     pub unsafe fn GetNumStoredMessagesAllowedByRetrievalFilter(&self) -> u64 {
25203         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)))
25204     }
GetNumMessagesDiscardedByMessageCountLimit(&self) -> u6425205     pub unsafe fn GetNumMessagesDiscardedByMessageCountLimit(&self) -> u64 {
25206         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)))
25207     }
GetMessageCountLimit(&self) -> u6425208     pub unsafe fn GetMessageCountLimit(&self) -> u64 {
25209         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)))
25210     }
AddStorageFilterEntries(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()>25211     pub unsafe fn AddStorageFilterEntries(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()> {
25212         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfilter)).ok()
25213     }
GetStorageFilter(&self, pfilter: *mut D3D12_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::Result<()>25214     pub unsafe fn GetStorageFilter(&self, pfilter: *mut D3D12_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::Result<()> {
25215         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfilter), ::std::mem::transmute(pfilterbytelength)).ok()
25216     }
ClearStorageFilter(&self)25217     pub unsafe fn ClearStorageFilter(&self) {
25218         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)))
25219     }
PushEmptyStorageFilter(&self) -> ::windows::runtime::Result<()>25220     pub unsafe fn PushEmptyStorageFilter(&self) -> ::windows::runtime::Result<()> {
25221         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)).ok()
25222     }
PushCopyOfStorageFilter(&self) -> ::windows::runtime::Result<()>25223     pub unsafe fn PushCopyOfStorageFilter(&self) -> ::windows::runtime::Result<()> {
25224         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self)).ok()
25225     }
PushStorageFilter(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()>25226     pub unsafe fn PushStorageFilter(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()> {
25227         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfilter)).ok()
25228     }
PopStorageFilter(&self)25229     pub unsafe fn PopStorageFilter(&self) {
25230         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self)))
25231     }
GetStorageFilterStackSize(&self) -> u3225232     pub unsafe fn GetStorageFilterStackSize(&self) -> u32 {
25233         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self)))
25234     }
AddRetrievalFilterEntries(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()>25235     pub unsafe fn AddRetrievalFilterEntries(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()> {
25236         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfilter)).ok()
25237     }
GetRetrievalFilter(&self, pfilter: *mut D3D12_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::Result<()>25238     pub unsafe fn GetRetrievalFilter(&self, pfilter: *mut D3D12_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::Result<()> {
25239         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfilter), ::std::mem::transmute(pfilterbytelength)).ok()
25240     }
ClearRetrievalFilter(&self)25241     pub unsafe fn ClearRetrievalFilter(&self) {
25242         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self)))
25243     }
PushEmptyRetrievalFilter(&self) -> ::windows::runtime::Result<()>25244     pub unsafe fn PushEmptyRetrievalFilter(&self) -> ::windows::runtime::Result<()> {
25245         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self)).ok()
25246     }
PushCopyOfRetrievalFilter(&self) -> ::windows::runtime::Result<()>25247     pub unsafe fn PushCopyOfRetrievalFilter(&self) -> ::windows::runtime::Result<()> {
25248         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self)).ok()
25249     }
PushRetrievalFilter(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()>25250     pub unsafe fn PushRetrievalFilter(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()> {
25251         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfilter)).ok()
25252     }
PopRetrievalFilter(&self)25253     pub unsafe fn PopRetrievalFilter(&self) {
25254         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self)))
25255     }
GetRetrievalFilterStackSize(&self) -> u3225256     pub unsafe fn GetRetrievalFilterStackSize(&self) -> u32 {
25257         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self)))
25258     }
25259     #[cfg(feature = "Win32_Foundation")]
AddMessage<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, category: D3D12_MESSAGE_CATEGORY, severity: D3D12_MESSAGE_SEVERITY, id: D3D12_MESSAGE_ID, pdescription: Param3) -> ::windows::runtime::Result<()>25260     pub unsafe fn AddMessage<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, category: D3D12_MESSAGE_CATEGORY, severity: D3D12_MESSAGE_SEVERITY, id: D3D12_MESSAGE_ID, pdescription: Param3) -> ::windows::runtime::Result<()> {
25261         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(category), ::std::mem::transmute(severity), ::std::mem::transmute(id), pdescription.into_param().abi()).ok()
25262     }
25263     #[cfg(feature = "Win32_Foundation")]
AddApplicationMessage<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, severity: D3D12_MESSAGE_SEVERITY, pdescription: Param1) -> ::windows::runtime::Result<()>25264     pub unsafe fn AddApplicationMessage<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, severity: D3D12_MESSAGE_SEVERITY, pdescription: Param1) -> ::windows::runtime::Result<()> {
25265         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(severity), pdescription.into_param().abi()).ok()
25266     }
25267     #[cfg(feature = "Win32_Foundation")]
SetBreakOnCategory<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, category: D3D12_MESSAGE_CATEGORY, benable: Param1) -> ::windows::runtime::Result<()>25268     pub unsafe fn SetBreakOnCategory<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, category: D3D12_MESSAGE_CATEGORY, benable: Param1) -> ::windows::runtime::Result<()> {
25269         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(category), benable.into_param().abi()).ok()
25270     }
25271     #[cfg(feature = "Win32_Foundation")]
SetBreakOnSeverity<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, severity: D3D12_MESSAGE_SEVERITY, benable: Param1) -> ::windows::runtime::Result<()>25272     pub unsafe fn SetBreakOnSeverity<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, severity: D3D12_MESSAGE_SEVERITY, benable: Param1) -> ::windows::runtime::Result<()> {
25273         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(severity), benable.into_param().abi()).ok()
25274     }
25275     #[cfg(feature = "Win32_Foundation")]
SetBreakOnID<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, id: D3D12_MESSAGE_ID, benable: Param1) -> ::windows::runtime::Result<()>25276     pub unsafe fn SetBreakOnID<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, id: D3D12_MESSAGE_ID, benable: Param1) -> ::windows::runtime::Result<()> {
25277         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(id), benable.into_param().abi()).ok()
25278     }
25279     #[cfg(feature = "Win32_Foundation")]
GetBreakOnCategory(&self, category: D3D12_MESSAGE_CATEGORY) -> super::super::Foundation::BOOL25280     pub unsafe fn GetBreakOnCategory(&self, category: D3D12_MESSAGE_CATEGORY) -> super::super::Foundation::BOOL {
25281         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(category)))
25282     }
25283     #[cfg(feature = "Win32_Foundation")]
GetBreakOnSeverity(&self, severity: D3D12_MESSAGE_SEVERITY) -> super::super::Foundation::BOOL25284     pub unsafe fn GetBreakOnSeverity(&self, severity: D3D12_MESSAGE_SEVERITY) -> super::super::Foundation::BOOL {
25285         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(severity)))
25286     }
25287     #[cfg(feature = "Win32_Foundation")]
GetBreakOnID(&self, id: D3D12_MESSAGE_ID) -> super::super::Foundation::BOOL25288     pub unsafe fn GetBreakOnID(&self, id: D3D12_MESSAGE_ID) -> super::super::Foundation::BOOL {
25289         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(id)))
25290     }
25291     #[cfg(feature = "Win32_Foundation")]
SetMuteDebugOutput<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bmute: Param0)25292     pub unsafe fn SetMuteDebugOutput<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bmute: Param0) {
25293         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), bmute.into_param().abi()))
25294     }
25295     #[cfg(feature = "Win32_Foundation")]
GetMuteDebugOutput(&self) -> super::super::Foundation::BOOL25296     pub unsafe fn GetMuteDebugOutput(&self) -> super::super::Foundation::BOOL {
25297         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self)))
25298     }
25299 }
25300 unsafe impl ::windows::runtime::Interface for ID3D12InfoQueue {
25301     type Vtable = ID3D12InfoQueue_abi;
25302     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(121809163, 50055, 18495, [185, 70, 48, 167, 228, 230, 20, 88]);
25303 }
25304 impl ::std::convert::From<ID3D12InfoQueue> for ::windows::runtime::IUnknown {
from(value: ID3D12InfoQueue) -> Self25305     fn from(value: ID3D12InfoQueue) -> Self {
25306         unsafe { ::std::mem::transmute(value) }
25307     }
25308 }
25309 impl ::std::convert::From<&ID3D12InfoQueue> for ::windows::runtime::IUnknown {
from(value: &ID3D12InfoQueue) -> Self25310     fn from(value: &ID3D12InfoQueue) -> Self {
25311         ::std::convert::From::from(::std::clone::Clone::clone(value))
25312     }
25313 }
25314 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12InfoQueue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25315     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25316         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
25317     }
25318 }
25319 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12InfoQueue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25320     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25321         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
25322     }
25323 }
25324 #[repr(C)]
25325 #[doc(hidden)]
25326 pub struct ID3D12InfoQueue_abi(
25327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagecountlimit: u64) -> ::windows::runtime::HRESULT,
25331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
25332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messageindex: u64, pmessage: *mut D3D12_MESSAGE, pmessagebytelength: *mut usize) -> ::windows::runtime::HRESULT,
25333     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
25334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
25335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
25336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
25337     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
25338     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
25339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::HRESULT,
25340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilter: *mut D3D12_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::HRESULT,
25341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
25342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::HRESULT,
25345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
25346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::HRESULT,
25348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilter: *mut D3D12_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::HRESULT,
25349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
25350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::HRESULT,
25353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
25354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25355     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, category: D3D12_MESSAGE_CATEGORY, severity: D3D12_MESSAGE_SEVERITY, id: D3D12_MESSAGE_ID, pdescription: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT,
25356     #[cfg(not(feature = "Win32_Foundation"))] usize,
25357     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, severity: D3D12_MESSAGE_SEVERITY, pdescription: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT,
25358     #[cfg(not(feature = "Win32_Foundation"))] usize,
25359     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, category: D3D12_MESSAGE_CATEGORY, benable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
25360     #[cfg(not(feature = "Win32_Foundation"))] usize,
25361     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, severity: D3D12_MESSAGE_SEVERITY, benable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
25362     #[cfg(not(feature = "Win32_Foundation"))] usize,
25363     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: D3D12_MESSAGE_ID, benable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
25364     #[cfg(not(feature = "Win32_Foundation"))] usize,
25365     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, category: D3D12_MESSAGE_CATEGORY) -> super::super::Foundation::BOOL,
25366     #[cfg(not(feature = "Win32_Foundation"))] usize,
25367     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, severity: D3D12_MESSAGE_SEVERITY) -> super::super::Foundation::BOOL,
25368     #[cfg(not(feature = "Win32_Foundation"))] usize,
25369     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: D3D12_MESSAGE_ID) -> super::super::Foundation::BOOL,
25370     #[cfg(not(feature = "Win32_Foundation"))] usize,
25371     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bmute: super::super::Foundation::BOOL),
25372     #[cfg(not(feature = "Win32_Foundation"))] usize,
25373     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
25374     #[cfg(not(feature = "Win32_Foundation"))] usize,
25375 );
25376 #[repr(transparent)]
25377 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25378 pub struct ID3D12InfoQueue1(::windows::runtime::IUnknown);
25379 impl ID3D12InfoQueue1 {
SetMessageCountLimit(&self, messagecountlimit: u64) -> ::windows::runtime::Result<()>25380     pub unsafe fn SetMessageCountLimit(&self, messagecountlimit: u64) -> ::windows::runtime::Result<()> {
25381         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(messagecountlimit)).ok()
25382     }
ClearStoredMessages(&self)25383     pub unsafe fn ClearStoredMessages(&self) {
25384         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)))
25385     }
GetMessage(&self, messageindex: u64, pmessage: *mut D3D12_MESSAGE, pmessagebytelength: *mut usize) -> ::windows::runtime::Result<()>25386     pub unsafe fn GetMessage(&self, messageindex: u64, pmessage: *mut D3D12_MESSAGE, pmessagebytelength: *mut usize) -> ::windows::runtime::Result<()> {
25387         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(messageindex), ::std::mem::transmute(pmessage), ::std::mem::transmute(pmessagebytelength)).ok()
25388     }
GetNumMessagesAllowedByStorageFilter(&self) -> u6425389     pub unsafe fn GetNumMessagesAllowedByStorageFilter(&self) -> u64 {
25390         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)))
25391     }
GetNumMessagesDeniedByStorageFilter(&self) -> u6425392     pub unsafe fn GetNumMessagesDeniedByStorageFilter(&self) -> u64 {
25393         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
25394     }
GetNumStoredMessages(&self) -> u6425395     pub unsafe fn GetNumStoredMessages(&self) -> u64 {
25396         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
25397     }
GetNumStoredMessagesAllowedByRetrievalFilter(&self) -> u6425398     pub unsafe fn GetNumStoredMessagesAllowedByRetrievalFilter(&self) -> u64 {
25399         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)))
25400     }
GetNumMessagesDiscardedByMessageCountLimit(&self) -> u6425401     pub unsafe fn GetNumMessagesDiscardedByMessageCountLimit(&self) -> u64 {
25402         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)))
25403     }
GetMessageCountLimit(&self) -> u6425404     pub unsafe fn GetMessageCountLimit(&self) -> u64 {
25405         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)))
25406     }
AddStorageFilterEntries(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()>25407     pub unsafe fn AddStorageFilterEntries(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()> {
25408         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfilter)).ok()
25409     }
GetStorageFilter(&self, pfilter: *mut D3D12_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::Result<()>25410     pub unsafe fn GetStorageFilter(&self, pfilter: *mut D3D12_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::Result<()> {
25411         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfilter), ::std::mem::transmute(pfilterbytelength)).ok()
25412     }
ClearStorageFilter(&self)25413     pub unsafe fn ClearStorageFilter(&self) {
25414         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)))
25415     }
PushEmptyStorageFilter(&self) -> ::windows::runtime::Result<()>25416     pub unsafe fn PushEmptyStorageFilter(&self) -> ::windows::runtime::Result<()> {
25417         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)).ok()
25418     }
PushCopyOfStorageFilter(&self) -> ::windows::runtime::Result<()>25419     pub unsafe fn PushCopyOfStorageFilter(&self) -> ::windows::runtime::Result<()> {
25420         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self)).ok()
25421     }
PushStorageFilter(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()>25422     pub unsafe fn PushStorageFilter(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()> {
25423         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfilter)).ok()
25424     }
PopStorageFilter(&self)25425     pub unsafe fn PopStorageFilter(&self) {
25426         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self)))
25427     }
GetStorageFilterStackSize(&self) -> u3225428     pub unsafe fn GetStorageFilterStackSize(&self) -> u32 {
25429         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self)))
25430     }
AddRetrievalFilterEntries(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()>25431     pub unsafe fn AddRetrievalFilterEntries(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()> {
25432         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfilter)).ok()
25433     }
GetRetrievalFilter(&self, pfilter: *mut D3D12_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::Result<()>25434     pub unsafe fn GetRetrievalFilter(&self, pfilter: *mut D3D12_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::Result<()> {
25435         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfilter), ::std::mem::transmute(pfilterbytelength)).ok()
25436     }
ClearRetrievalFilter(&self)25437     pub unsafe fn ClearRetrievalFilter(&self) {
25438         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self)))
25439     }
PushEmptyRetrievalFilter(&self) -> ::windows::runtime::Result<()>25440     pub unsafe fn PushEmptyRetrievalFilter(&self) -> ::windows::runtime::Result<()> {
25441         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self)).ok()
25442     }
PushCopyOfRetrievalFilter(&self) -> ::windows::runtime::Result<()>25443     pub unsafe fn PushCopyOfRetrievalFilter(&self) -> ::windows::runtime::Result<()> {
25444         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self)).ok()
25445     }
PushRetrievalFilter(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()>25446     pub unsafe fn PushRetrievalFilter(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::Result<()> {
25447         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfilter)).ok()
25448     }
PopRetrievalFilter(&self)25449     pub unsafe fn PopRetrievalFilter(&self) {
25450         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self)))
25451     }
GetRetrievalFilterStackSize(&self) -> u3225452     pub unsafe fn GetRetrievalFilterStackSize(&self) -> u32 {
25453         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self)))
25454     }
25455     #[cfg(feature = "Win32_Foundation")]
AddMessage<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, category: D3D12_MESSAGE_CATEGORY, severity: D3D12_MESSAGE_SEVERITY, id: D3D12_MESSAGE_ID, pdescription: Param3) -> ::windows::runtime::Result<()>25456     pub unsafe fn AddMessage<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, category: D3D12_MESSAGE_CATEGORY, severity: D3D12_MESSAGE_SEVERITY, id: D3D12_MESSAGE_ID, pdescription: Param3) -> ::windows::runtime::Result<()> {
25457         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(category), ::std::mem::transmute(severity), ::std::mem::transmute(id), pdescription.into_param().abi()).ok()
25458     }
25459     #[cfg(feature = "Win32_Foundation")]
AddApplicationMessage<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, severity: D3D12_MESSAGE_SEVERITY, pdescription: Param1) -> ::windows::runtime::Result<()>25460     pub unsafe fn AddApplicationMessage<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, severity: D3D12_MESSAGE_SEVERITY, pdescription: Param1) -> ::windows::runtime::Result<()> {
25461         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(severity), pdescription.into_param().abi()).ok()
25462     }
25463     #[cfg(feature = "Win32_Foundation")]
SetBreakOnCategory<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, category: D3D12_MESSAGE_CATEGORY, benable: Param1) -> ::windows::runtime::Result<()>25464     pub unsafe fn SetBreakOnCategory<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, category: D3D12_MESSAGE_CATEGORY, benable: Param1) -> ::windows::runtime::Result<()> {
25465         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(category), benable.into_param().abi()).ok()
25466     }
25467     #[cfg(feature = "Win32_Foundation")]
SetBreakOnSeverity<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, severity: D3D12_MESSAGE_SEVERITY, benable: Param1) -> ::windows::runtime::Result<()>25468     pub unsafe fn SetBreakOnSeverity<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, severity: D3D12_MESSAGE_SEVERITY, benable: Param1) -> ::windows::runtime::Result<()> {
25469         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(severity), benable.into_param().abi()).ok()
25470     }
25471     #[cfg(feature = "Win32_Foundation")]
SetBreakOnID<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, id: D3D12_MESSAGE_ID, benable: Param1) -> ::windows::runtime::Result<()>25472     pub unsafe fn SetBreakOnID<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, id: D3D12_MESSAGE_ID, benable: Param1) -> ::windows::runtime::Result<()> {
25473         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(id), benable.into_param().abi()).ok()
25474     }
25475     #[cfg(feature = "Win32_Foundation")]
GetBreakOnCategory(&self, category: D3D12_MESSAGE_CATEGORY) -> super::super::Foundation::BOOL25476     pub unsafe fn GetBreakOnCategory(&self, category: D3D12_MESSAGE_CATEGORY) -> super::super::Foundation::BOOL {
25477         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(category)))
25478     }
25479     #[cfg(feature = "Win32_Foundation")]
GetBreakOnSeverity(&self, severity: D3D12_MESSAGE_SEVERITY) -> super::super::Foundation::BOOL25480     pub unsafe fn GetBreakOnSeverity(&self, severity: D3D12_MESSAGE_SEVERITY) -> super::super::Foundation::BOOL {
25481         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(severity)))
25482     }
25483     #[cfg(feature = "Win32_Foundation")]
GetBreakOnID(&self, id: D3D12_MESSAGE_ID) -> super::super::Foundation::BOOL25484     pub unsafe fn GetBreakOnID(&self, id: D3D12_MESSAGE_ID) -> super::super::Foundation::BOOL {
25485         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(id)))
25486     }
25487     #[cfg(feature = "Win32_Foundation")]
SetMuteDebugOutput<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bmute: Param0)25488     pub unsafe fn SetMuteDebugOutput<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bmute: Param0) {
25489         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), bmute.into_param().abi()))
25490     }
25491     #[cfg(feature = "Win32_Foundation")]
GetMuteDebugOutput(&self) -> super::super::Foundation::BOOL25492     pub unsafe fn GetMuteDebugOutput(&self) -> super::super::Foundation::BOOL {
25493         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self)))
25494     }
25495     #[cfg(feature = "Win32_Foundation")]
RegisterMessageCallback(&self, callbackfunc: ::std::option::Option<D3D12MessageFunc>, callbackfilterflags: D3D12_MESSAGE_CALLBACK_FLAGS, pcontext: *const ::std::ffi::c_void, pcallbackcookie: *mut u32) -> ::windows::runtime::Result<()>25496     pub unsafe fn RegisterMessageCallback(&self, callbackfunc: ::std::option::Option<D3D12MessageFunc>, callbackfilterflags: D3D12_MESSAGE_CALLBACK_FLAGS, pcontext: *const ::std::ffi::c_void, pcallbackcookie: *mut u32) -> ::windows::runtime::Result<()> {
25497         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(callbackfunc), ::std::mem::transmute(callbackfilterflags), ::std::mem::transmute(pcontext), ::std::mem::transmute(pcallbackcookie)).ok()
25498     }
UnregisterMessageCallback(&self, callbackcookie: u32) -> ::windows::runtime::Result<()>25499     pub unsafe fn UnregisterMessageCallback(&self, callbackcookie: u32) -> ::windows::runtime::Result<()> {
25500         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), ::std::mem::transmute(callbackcookie)).ok()
25501     }
25502 }
25503 unsafe impl ::windows::runtime::Interface for ID3D12InfoQueue1 {
25504     type Vtable = ID3D12InfoQueue1_abi;
25505     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(676519304, 46212, 19468, [182, 177, 103, 22, 133, 0, 230, 0]);
25506 }
25507 impl ::std::convert::From<ID3D12InfoQueue1> for ::windows::runtime::IUnknown {
from(value: ID3D12InfoQueue1) -> Self25508     fn from(value: ID3D12InfoQueue1) -> Self {
25509         unsafe { ::std::mem::transmute(value) }
25510     }
25511 }
25512 impl ::std::convert::From<&ID3D12InfoQueue1> for ::windows::runtime::IUnknown {
from(value: &ID3D12InfoQueue1) -> Self25513     fn from(value: &ID3D12InfoQueue1) -> Self {
25514         ::std::convert::From::from(::std::clone::Clone::clone(value))
25515     }
25516 }
25517 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12InfoQueue1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25518     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25519         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
25520     }
25521 }
25522 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12InfoQueue1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25523     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25524         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
25525     }
25526 }
25527 impl ::std::convert::From<ID3D12InfoQueue1> for ID3D12InfoQueue {
from(value: ID3D12InfoQueue1) -> Self25528     fn from(value: ID3D12InfoQueue1) -> Self {
25529         unsafe { ::std::mem::transmute(value) }
25530     }
25531 }
25532 impl ::std::convert::From<&ID3D12InfoQueue1> for ID3D12InfoQueue {
from(value: &ID3D12InfoQueue1) -> Self25533     fn from(value: &ID3D12InfoQueue1) -> Self {
25534         ::std::convert::From::from(::std::clone::Clone::clone(value))
25535     }
25536 }
25537 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12InfoQueue> for ID3D12InfoQueue1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12InfoQueue>25538     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12InfoQueue> {
25539         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12InfoQueue>::into(self))
25540     }
25541 }
25542 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12InfoQueue> for &ID3D12InfoQueue1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12InfoQueue>25543     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12InfoQueue> {
25544         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12InfoQueue>::into(::std::clone::Clone::clone(self)))
25545     }
25546 }
25547 #[repr(C)]
25548 #[doc(hidden)]
25549 pub struct ID3D12InfoQueue1_abi(
25550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagecountlimit: u64) -> ::windows::runtime::HRESULT,
25554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
25555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messageindex: u64, pmessage: *mut D3D12_MESSAGE, pmessagebytelength: *mut usize) -> ::windows::runtime::HRESULT,
25556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
25557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
25558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
25559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
25560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
25561     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
25562     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::HRESULT,
25563     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilter: *mut D3D12_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::HRESULT,
25564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
25565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::HRESULT,
25568     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
25569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::HRESULT,
25571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilter: *mut D3D12_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows::runtime::HRESULT,
25572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
25573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows::runtime::HRESULT,
25576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
25577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25578     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, category: D3D12_MESSAGE_CATEGORY, severity: D3D12_MESSAGE_SEVERITY, id: D3D12_MESSAGE_ID, pdescription: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT,
25579     #[cfg(not(feature = "Win32_Foundation"))] usize,
25580     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, severity: D3D12_MESSAGE_SEVERITY, pdescription: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT,
25581     #[cfg(not(feature = "Win32_Foundation"))] usize,
25582     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, category: D3D12_MESSAGE_CATEGORY, benable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
25583     #[cfg(not(feature = "Win32_Foundation"))] usize,
25584     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, severity: D3D12_MESSAGE_SEVERITY, benable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
25585     #[cfg(not(feature = "Win32_Foundation"))] usize,
25586     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: D3D12_MESSAGE_ID, benable: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
25587     #[cfg(not(feature = "Win32_Foundation"))] usize,
25588     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, category: D3D12_MESSAGE_CATEGORY) -> super::super::Foundation::BOOL,
25589     #[cfg(not(feature = "Win32_Foundation"))] usize,
25590     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, severity: D3D12_MESSAGE_SEVERITY) -> super::super::Foundation::BOOL,
25591     #[cfg(not(feature = "Win32_Foundation"))] usize,
25592     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: D3D12_MESSAGE_ID) -> super::super::Foundation::BOOL,
25593     #[cfg(not(feature = "Win32_Foundation"))] usize,
25594     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bmute: super::super::Foundation::BOOL),
25595     #[cfg(not(feature = "Win32_Foundation"))] usize,
25596     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
25597     #[cfg(not(feature = "Win32_Foundation"))] usize,
25598     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callbackfunc: ::windows::runtime::RawPtr, callbackfilterflags: D3D12_MESSAGE_CALLBACK_FLAGS, pcontext: *const ::std::ffi::c_void, pcallbackcookie: *mut u32) -> ::windows::runtime::HRESULT,
25599     #[cfg(not(feature = "Win32_Foundation"))] usize,
25600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callbackcookie: u32) -> ::windows::runtime::HRESULT,
25601 );
25602 #[repr(transparent)]
25603 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25604 pub struct ID3D12LibraryReflection(::windows::runtime::IUnknown);
25605 impl ID3D12LibraryReflection {
25606     #[cfg(feature = "Win32_Foundation")]
GetDesc(&self) -> ::windows::runtime::Result<D3D12_LIBRARY_DESC>25607     pub unsafe fn GetDesc(&self) -> ::windows::runtime::Result<D3D12_LIBRARY_DESC> {
25608         let mut result__: <D3D12_LIBRARY_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
25609         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_LIBRARY_DESC>(result__)
25610     }
GetFunctionByIndex(&self, functionindex: i32) -> ::std::option::Option<ID3D12FunctionReflection>25611     pub unsafe fn GetFunctionByIndex(&self, functionindex: i32) -> ::std::option::Option<ID3D12FunctionReflection> {
25612         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(functionindex)))
25613     }
25614 }
25615 unsafe impl ::windows::runtime::Interface for ID3D12LibraryReflection {
25616     type Vtable = ID3D12LibraryReflection_abi;
25617     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2385812761, 21723, 19030, [157, 201, 17, 157, 135, 189, 184, 4]);
25618 }
25619 impl ::std::convert::From<ID3D12LibraryReflection> for ::windows::runtime::IUnknown {
from(value: ID3D12LibraryReflection) -> Self25620     fn from(value: ID3D12LibraryReflection) -> Self {
25621         unsafe { ::std::mem::transmute(value) }
25622     }
25623 }
25624 impl ::std::convert::From<&ID3D12LibraryReflection> for ::windows::runtime::IUnknown {
from(value: &ID3D12LibraryReflection) -> Self25625     fn from(value: &ID3D12LibraryReflection) -> Self {
25626         ::std::convert::From::from(::std::clone::Clone::clone(value))
25627     }
25628 }
25629 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12LibraryReflection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25630     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25631         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
25632     }
25633 }
25634 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12LibraryReflection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25635     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25636         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
25637     }
25638 }
25639 #[repr(C)]
25640 #[doc(hidden)]
25641 pub struct ID3D12LibraryReflection_abi(
25642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25645     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut D3D12_LIBRARY_DESC) -> ::windows::runtime::HRESULT,
25646     #[cfg(not(feature = "Win32_Foundation"))] usize,
25647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, functionindex: i32) -> ::windows::runtime::RawPtr,
25648 );
25649 #[repr(transparent)]
25650 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25651 pub struct ID3D12LifetimeOwner(::windows::runtime::IUnknown);
25652 impl ID3D12LifetimeOwner {
LifetimeStateUpdated(&self, newstate: D3D12_LIFETIME_STATE)25653     pub unsafe fn LifetimeStateUpdated(&self, newstate: D3D12_LIFETIME_STATE) {
25654         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(newstate)))
25655     }
25656 }
25657 unsafe impl ::windows::runtime::Interface for ID3D12LifetimeOwner {
25658     type Vtable = ID3D12LifetimeOwner_abi;
25659     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3865554847, 52566, 20294, [131, 206, 3, 46, 89, 93, 112, 168]);
25660 }
25661 impl ::std::convert::From<ID3D12LifetimeOwner> for ::windows::runtime::IUnknown {
from(value: ID3D12LifetimeOwner) -> Self25662     fn from(value: ID3D12LifetimeOwner) -> Self {
25663         unsafe { ::std::mem::transmute(value) }
25664     }
25665 }
25666 impl ::std::convert::From<&ID3D12LifetimeOwner> for ::windows::runtime::IUnknown {
from(value: &ID3D12LifetimeOwner) -> Self25667     fn from(value: &ID3D12LifetimeOwner) -> Self {
25668         ::std::convert::From::from(::std::clone::Clone::clone(value))
25669     }
25670 }
25671 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12LifetimeOwner {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25672     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25673         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
25674     }
25675 }
25676 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12LifetimeOwner {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25677     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25678         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
25679     }
25680 }
25681 #[repr(C)]
25682 #[doc(hidden)]
25683 pub struct ID3D12LifetimeOwner_abi(
25684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newstate: D3D12_LIFETIME_STATE),
25688 );
25689 #[repr(transparent)]
25690 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25691 pub struct ID3D12LifetimeTracker(::windows::runtime::IUnknown);
25692 impl ID3D12LifetimeTracker {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>25693     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
25694         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
25695     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>25696     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
25697         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
25698     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>25699     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
25700         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
25701     }
25702     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>25703     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
25704         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
25705     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>25706     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
25707         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
25708     }
DestroyOwnedObject<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>>(&self, pobject: Param0) -> ::windows::runtime::Result<()>25709     pub unsafe fn DestroyOwnedObject<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12DeviceChild>>(&self, pobject: Param0) -> ::windows::runtime::Result<()> {
25710         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pobject.into_param().abi()).ok()
25711     }
25712 }
25713 unsafe impl ::windows::runtime::Interface for ID3D12LifetimeTracker {
25714     type Vtable = ID3D12LifetimeTracker_abi;
25715     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1070611766, 20145, 16970, [165, 130, 73, 78, 203, 139, 168, 19]);
25716 }
25717 impl ::std::convert::From<ID3D12LifetimeTracker> for ::windows::runtime::IUnknown {
from(value: ID3D12LifetimeTracker) -> Self25718     fn from(value: ID3D12LifetimeTracker) -> Self {
25719         unsafe { ::std::mem::transmute(value) }
25720     }
25721 }
25722 impl ::std::convert::From<&ID3D12LifetimeTracker> for ::windows::runtime::IUnknown {
from(value: &ID3D12LifetimeTracker) -> Self25723     fn from(value: &ID3D12LifetimeTracker) -> Self {
25724         ::std::convert::From::from(::std::clone::Clone::clone(value))
25725     }
25726 }
25727 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12LifetimeTracker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25728     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25729         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
25730     }
25731 }
25732 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12LifetimeTracker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25733     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25734         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
25735     }
25736 }
25737 impl ::std::convert::From<ID3D12LifetimeTracker> for ID3D12DeviceChild {
from(value: ID3D12LifetimeTracker) -> Self25738     fn from(value: ID3D12LifetimeTracker) -> Self {
25739         unsafe { ::std::mem::transmute(value) }
25740     }
25741 }
25742 impl ::std::convert::From<&ID3D12LifetimeTracker> for ID3D12DeviceChild {
from(value: &ID3D12LifetimeTracker) -> Self25743     fn from(value: &ID3D12LifetimeTracker) -> Self {
25744         ::std::convert::From::from(::std::clone::Clone::clone(value))
25745     }
25746 }
25747 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12LifetimeTracker {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>25748     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
25749         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
25750     }
25751 }
25752 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12LifetimeTracker {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>25753     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
25754         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
25755     }
25756 }
25757 impl ::std::convert::From<ID3D12LifetimeTracker> for ID3D12Object {
from(value: ID3D12LifetimeTracker) -> Self25758     fn from(value: ID3D12LifetimeTracker) -> Self {
25759         unsafe { ::std::mem::transmute(value) }
25760     }
25761 }
25762 impl ::std::convert::From<&ID3D12LifetimeTracker> for ID3D12Object {
from(value: &ID3D12LifetimeTracker) -> Self25763     fn from(value: &ID3D12LifetimeTracker) -> Self {
25764         ::std::convert::From::from(::std::clone::Clone::clone(value))
25765     }
25766 }
25767 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12LifetimeTracker {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>25768     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
25769         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
25770     }
25771 }
25772 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12LifetimeTracker {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>25773     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
25774         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
25775     }
25776 }
25777 #[repr(C)]
25778 #[doc(hidden)]
25779 pub struct ID3D12LifetimeTracker_abi(
25780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
25784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
25785     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25786     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
25787     #[cfg(not(feature = "Win32_Foundation"))] usize,
25788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
25789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pobject: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25790 );
25791 #[repr(transparent)]
25792 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25793 pub struct ID3D12MetaCommand(::windows::runtime::IUnknown);
25794 impl ID3D12MetaCommand {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>25795     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
25796         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
25797     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>25798     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
25799         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
25800     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>25801     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
25802         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
25803     }
25804     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>25805     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
25806         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
25807     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>25808     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
25809         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
25810     }
GetRequiredParameterResourceSize(&self, stage: D3D12_META_COMMAND_PARAMETER_STAGE, parameterindex: u32) -> u6425811     pub unsafe fn GetRequiredParameterResourceSize(&self, stage: D3D12_META_COMMAND_PARAMETER_STAGE, parameterindex: u32) -> u64 {
25812         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(stage), ::std::mem::transmute(parameterindex)))
25813     }
25814 }
25815 unsafe impl ::windows::runtime::Interface for ID3D12MetaCommand {
25816     type Vtable = ID3D12MetaCommand_abi;
25817     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3686288423, 14030, 20425, [184, 1, 240, 72, 196, 106, 197, 112]);
25818 }
25819 impl ::std::convert::From<ID3D12MetaCommand> for ::windows::runtime::IUnknown {
from(value: ID3D12MetaCommand) -> Self25820     fn from(value: ID3D12MetaCommand) -> Self {
25821         unsafe { ::std::mem::transmute(value) }
25822     }
25823 }
25824 impl ::std::convert::From<&ID3D12MetaCommand> for ::windows::runtime::IUnknown {
from(value: &ID3D12MetaCommand) -> Self25825     fn from(value: &ID3D12MetaCommand) -> Self {
25826         ::std::convert::From::from(::std::clone::Clone::clone(value))
25827     }
25828 }
25829 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12MetaCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25830     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25831         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
25832     }
25833 }
25834 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12MetaCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25835     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25836         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
25837     }
25838 }
25839 impl ::std::convert::From<ID3D12MetaCommand> for ID3D12Pageable {
from(value: ID3D12MetaCommand) -> Self25840     fn from(value: ID3D12MetaCommand) -> Self {
25841         unsafe { ::std::mem::transmute(value) }
25842     }
25843 }
25844 impl ::std::convert::From<&ID3D12MetaCommand> for ID3D12Pageable {
from(value: &ID3D12MetaCommand) -> Self25845     fn from(value: &ID3D12MetaCommand) -> Self {
25846         ::std::convert::From::from(::std::clone::Clone::clone(value))
25847     }
25848 }
25849 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for ID3D12MetaCommand {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>25850     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
25851         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(self))
25852     }
25853 }
25854 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for &ID3D12MetaCommand {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>25855     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
25856         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(::std::clone::Clone::clone(self)))
25857     }
25858 }
25859 impl ::std::convert::From<ID3D12MetaCommand> for ID3D12DeviceChild {
from(value: ID3D12MetaCommand) -> Self25860     fn from(value: ID3D12MetaCommand) -> Self {
25861         unsafe { ::std::mem::transmute(value) }
25862     }
25863 }
25864 impl ::std::convert::From<&ID3D12MetaCommand> for ID3D12DeviceChild {
from(value: &ID3D12MetaCommand) -> Self25865     fn from(value: &ID3D12MetaCommand) -> Self {
25866         ::std::convert::From::from(::std::clone::Clone::clone(value))
25867     }
25868 }
25869 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12MetaCommand {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>25870     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
25871         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
25872     }
25873 }
25874 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12MetaCommand {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>25875     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
25876         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
25877     }
25878 }
25879 impl ::std::convert::From<ID3D12MetaCommand> for ID3D12Object {
from(value: ID3D12MetaCommand) -> Self25880     fn from(value: ID3D12MetaCommand) -> Self {
25881         unsafe { ::std::mem::transmute(value) }
25882     }
25883 }
25884 impl ::std::convert::From<&ID3D12MetaCommand> for ID3D12Object {
from(value: &ID3D12MetaCommand) -> Self25885     fn from(value: &ID3D12MetaCommand) -> Self {
25886         ::std::convert::From::from(::std::clone::Clone::clone(value))
25887     }
25888 }
25889 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12MetaCommand {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>25890     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
25891         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
25892     }
25893 }
25894 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12MetaCommand {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>25895     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
25896         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
25897     }
25898 }
25899 #[repr(C)]
25900 #[doc(hidden)]
25901 pub struct ID3D12MetaCommand_abi(
25902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
25906     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
25907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25908     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
25909     #[cfg(not(feature = "Win32_Foundation"))] usize,
25910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
25911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stage: D3D12_META_COMMAND_PARAMETER_STAGE, parameterindex: u32) -> u64,
25912 );
25913 #[repr(transparent)]
25914 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25915 pub struct ID3D12Object(::windows::runtime::IUnknown);
25916 impl ID3D12Object {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>25917     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
25918         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
25919     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>25920     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
25921         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
25922     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>25923     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
25924         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
25925     }
25926     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>25927     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
25928         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
25929     }
25930 }
25931 unsafe impl ::windows::runtime::Interface for ID3D12Object {
25932     type Vtable = ID3D12Object_abi;
25933     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3305030287, 31078, 20117, [159, 148, 244, 49, 203, 86, 195, 184]);
25934 }
25935 impl ::std::convert::From<ID3D12Object> for ::windows::runtime::IUnknown {
from(value: ID3D12Object) -> Self25936     fn from(value: ID3D12Object) -> Self {
25937         unsafe { ::std::mem::transmute(value) }
25938     }
25939 }
25940 impl ::std::convert::From<&ID3D12Object> for ::windows::runtime::IUnknown {
from(value: &ID3D12Object) -> Self25941     fn from(value: &ID3D12Object) -> Self {
25942         ::std::convert::From::from(::std::clone::Clone::clone(value))
25943     }
25944 }
25945 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Object {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25946     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25947         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
25948     }
25949 }
25950 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Object {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>25951     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
25952         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
25953     }
25954 }
25955 #[repr(C)]
25956 #[doc(hidden)]
25957 pub struct ID3D12Object_abi(
25958     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
25962     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
25963     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25964     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
25965     #[cfg(not(feature = "Win32_Foundation"))] usize,
25966 );
25967 #[repr(transparent)]
25968 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25969 pub struct ID3D12Pageable(::windows::runtime::IUnknown);
25970 impl ID3D12Pageable {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>25971     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
25972         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
25973     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>25974     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
25975         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
25976     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>25977     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
25978         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
25979     }
25980     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>25981     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
25982         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
25983     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>25984     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
25985         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
25986     }
25987 }
25988 unsafe impl ::windows::runtime::Interface for ID3D12Pageable {
25989     type Vtable = ID3D12Pageable_abi;
25990     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1676564731, 4712, 18485, [134, 218, 240, 8, 206, 98, 240, 214]);
25991 }
25992 impl ::std::convert::From<ID3D12Pageable> for ::windows::runtime::IUnknown {
from(value: ID3D12Pageable) -> Self25993     fn from(value: ID3D12Pageable) -> Self {
25994         unsafe { ::std::mem::transmute(value) }
25995     }
25996 }
25997 impl ::std::convert::From<&ID3D12Pageable> for ::windows::runtime::IUnknown {
from(value: &ID3D12Pageable) -> Self25998     fn from(value: &ID3D12Pageable) -> Self {
25999         ::std::convert::From::from(::std::clone::Clone::clone(value))
26000     }
26001 }
26002 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Pageable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26003     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26004         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
26005     }
26006 }
26007 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Pageable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26008     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26009         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
26010     }
26011 }
26012 impl ::std::convert::From<ID3D12Pageable> for ID3D12DeviceChild {
from(value: ID3D12Pageable) -> Self26013     fn from(value: ID3D12Pageable) -> Self {
26014         unsafe { ::std::mem::transmute(value) }
26015     }
26016 }
26017 impl ::std::convert::From<&ID3D12Pageable> for ID3D12DeviceChild {
from(value: &ID3D12Pageable) -> Self26018     fn from(value: &ID3D12Pageable) -> Self {
26019         ::std::convert::From::from(::std::clone::Clone::clone(value))
26020     }
26021 }
26022 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12Pageable {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26023     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26024         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
26025     }
26026 }
26027 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12Pageable {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26028     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26029         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
26030     }
26031 }
26032 impl ::std::convert::From<ID3D12Pageable> for ID3D12Object {
from(value: ID3D12Pageable) -> Self26033     fn from(value: ID3D12Pageable) -> Self {
26034         unsafe { ::std::mem::transmute(value) }
26035     }
26036 }
26037 impl ::std::convert::From<&ID3D12Pageable> for ID3D12Object {
from(value: &ID3D12Pageable) -> Self26038     fn from(value: &ID3D12Pageable) -> Self {
26039         ::std::convert::From::from(::std::clone::Clone::clone(value))
26040     }
26041 }
26042 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Pageable {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26043     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26044         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
26045     }
26046 }
26047 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Pageable {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26048     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26049         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
26050     }
26051 }
26052 #[repr(C)]
26053 #[doc(hidden)]
26054 pub struct ID3D12Pageable_abi(
26055     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26056     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26057     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26061     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
26062     #[cfg(not(feature = "Win32_Foundation"))] usize,
26063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26064 );
26065 #[repr(transparent)]
26066 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26067 pub struct ID3D12PipelineLibrary(::windows::runtime::IUnknown);
26068 impl ID3D12PipelineLibrary {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>26069     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26070         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
26071     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>26072     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26073         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
26074     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>26075     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
26076         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
26077     }
26078     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>26079     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
26080         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
26081     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>26082     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
26083         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
26084     }
26085     #[cfg(feature = "Win32_Foundation")]
StorePipeline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pname: Param0, ppipeline: Param1) -> ::windows::runtime::Result<()>26086     pub unsafe fn StorePipeline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pname: Param0, ppipeline: Param1) -> ::windows::runtime::Result<()> {
26087         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pname.into_param().abi(), ppipeline.into_param().abi()).ok()
26088     }
26089     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
LoadGraphicsPipeline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, pname: Param0, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>26090     pub unsafe fn LoadGraphicsPipeline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, pname: Param0, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
26091         let mut result__ = ::std::option::Option::None;
26092         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pname.into_param().abi(), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
26093     }
26094     #[cfg(feature = "Win32_Foundation")]
LoadComputePipeline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, pname: Param0, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>26095     pub unsafe fn LoadComputePipeline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, pname: Param0, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
26096         let mut result__ = ::std::option::Option::None;
26097         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pname.into_param().abi(), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
26098     }
GetSerializedSize(&self) -> usize26099     pub unsafe fn GetSerializedSize(&self) -> usize {
26100         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)))
26101     }
Serialize(&self, pdata: *mut ::std::ffi::c_void, datasizeinbytes: usize) -> ::windows::runtime::Result<()>26102     pub unsafe fn Serialize(&self, pdata: *mut ::std::ffi::c_void, datasizeinbytes: usize) -> ::windows::runtime::Result<()> {
26103         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdata), ::std::mem::transmute(datasizeinbytes)).ok()
26104     }
26105 }
26106 unsafe impl ::windows::runtime::Interface for ID3D12PipelineLibrary {
26107     type Vtable = ID3D12PipelineLibrary_abi;
26108     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3326224040, 37377, 18095, [180, 204, 83, 251, 159, 247, 65, 79]);
26109 }
26110 impl ::std::convert::From<ID3D12PipelineLibrary> for ::windows::runtime::IUnknown {
from(value: ID3D12PipelineLibrary) -> Self26111     fn from(value: ID3D12PipelineLibrary) -> Self {
26112         unsafe { ::std::mem::transmute(value) }
26113     }
26114 }
26115 impl ::std::convert::From<&ID3D12PipelineLibrary> for ::windows::runtime::IUnknown {
from(value: &ID3D12PipelineLibrary) -> Self26116     fn from(value: &ID3D12PipelineLibrary) -> Self {
26117         ::std::convert::From::from(::std::clone::Clone::clone(value))
26118     }
26119 }
26120 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12PipelineLibrary {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26121     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26122         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
26123     }
26124 }
26125 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12PipelineLibrary {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26126     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26127         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
26128     }
26129 }
26130 impl ::std::convert::From<ID3D12PipelineLibrary> for ID3D12DeviceChild {
from(value: ID3D12PipelineLibrary) -> Self26131     fn from(value: ID3D12PipelineLibrary) -> Self {
26132         unsafe { ::std::mem::transmute(value) }
26133     }
26134 }
26135 impl ::std::convert::From<&ID3D12PipelineLibrary> for ID3D12DeviceChild {
from(value: &ID3D12PipelineLibrary) -> Self26136     fn from(value: &ID3D12PipelineLibrary) -> Self {
26137         ::std::convert::From::from(::std::clone::Clone::clone(value))
26138     }
26139 }
26140 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12PipelineLibrary {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26141     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26142         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
26143     }
26144 }
26145 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12PipelineLibrary {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26146     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26147         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
26148     }
26149 }
26150 impl ::std::convert::From<ID3D12PipelineLibrary> for ID3D12Object {
from(value: ID3D12PipelineLibrary) -> Self26151     fn from(value: ID3D12PipelineLibrary) -> Self {
26152         unsafe { ::std::mem::transmute(value) }
26153     }
26154 }
26155 impl ::std::convert::From<&ID3D12PipelineLibrary> for ID3D12Object {
from(value: &ID3D12PipelineLibrary) -> Self26156     fn from(value: &ID3D12PipelineLibrary) -> Self {
26157         ::std::convert::From::from(::std::clone::Clone::clone(value))
26158     }
26159 }
26160 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12PipelineLibrary {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26161     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26162         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
26163     }
26164 }
26165 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12PipelineLibrary {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26166     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26167         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
26168     }
26169 }
26170 #[repr(C)]
26171 #[doc(hidden)]
26172 pub struct ID3D12PipelineLibrary_abi(
26173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26176     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26179     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
26180     #[cfg(not(feature = "Win32_Foundation"))] usize,
26181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26182     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR, ppipeline: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26183     #[cfg(not(feature = "Win32_Foundation"))] usize,
26184     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR, pdesc: *const ::std::mem::ManuallyDrop<D3D12_GRAPHICS_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26185     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
26186     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR, pdesc: *const ::std::mem::ManuallyDrop<D3D12_COMPUTE_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26187     #[cfg(not(feature = "Win32_Foundation"))] usize,
26188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> usize,
26189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdata: *mut ::std::ffi::c_void, datasizeinbytes: usize) -> ::windows::runtime::HRESULT,
26190 );
26191 #[repr(transparent)]
26192 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26193 pub struct ID3D12PipelineLibrary1(::windows::runtime::IUnknown);
26194 impl ID3D12PipelineLibrary1 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>26195     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26196         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
26197     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>26198     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26199         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
26200     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>26201     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
26202         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
26203     }
26204     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>26205     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
26206         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
26207     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>26208     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
26209         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
26210     }
26211     #[cfg(feature = "Win32_Foundation")]
StorePipeline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pname: Param0, ppipeline: Param1) -> ::windows::runtime::Result<()>26212     pub unsafe fn StorePipeline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, ID3D12PipelineState>>(&self, pname: Param0, ppipeline: Param1) -> ::windows::runtime::Result<()> {
26213         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pname.into_param().abi(), ppipeline.into_param().abi()).ok()
26214     }
26215     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))]
LoadGraphicsPipeline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, pname: Param0, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>26216     pub unsafe fn LoadGraphicsPipeline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, pname: Param0, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
26217         let mut result__ = ::std::option::Option::None;
26218         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pname.into_param().abi(), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
26219     }
26220     #[cfg(feature = "Win32_Foundation")]
LoadComputePipeline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, pname: Param0, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T>26221     pub unsafe fn LoadComputePipeline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, pname: Param0, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows::runtime::Result<T> {
26222         let mut result__ = ::std::option::Option::None;
26223         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pname.into_param().abi(), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
26224     }
GetSerializedSize(&self) -> usize26225     pub unsafe fn GetSerializedSize(&self) -> usize {
26226         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)))
26227     }
Serialize(&self, pdata: *mut ::std::ffi::c_void, datasizeinbytes: usize) -> ::windows::runtime::Result<()>26228     pub unsafe fn Serialize(&self, pdata: *mut ::std::ffi::c_void, datasizeinbytes: usize) -> ::windows::runtime::Result<()> {
26229         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdata), ::std::mem::transmute(datasizeinbytes)).ok()
26230     }
26231     #[cfg(feature = "Win32_Foundation")]
LoadPipeline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, pname: Param0, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T>26232     pub unsafe fn LoadPipeline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, pname: Param0, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows::runtime::Result<T> {
26233         let mut result__ = ::std::option::Option::None;
26234         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), pname.into_param().abi(), ::std::mem::transmute(pdesc), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
26235     }
26236 }
26237 unsafe impl ::windows::runtime::Interface for ID3D12PipelineLibrary1 {
26238     type Vtable = ID3D12PipelineLibrary1_abi;
26239     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2162868034, 9576, 20062, [189, 130, 195, 127, 134, 150, 29, 195]);
26240 }
26241 impl ::std::convert::From<ID3D12PipelineLibrary1> for ::windows::runtime::IUnknown {
from(value: ID3D12PipelineLibrary1) -> Self26242     fn from(value: ID3D12PipelineLibrary1) -> Self {
26243         unsafe { ::std::mem::transmute(value) }
26244     }
26245 }
26246 impl ::std::convert::From<&ID3D12PipelineLibrary1> for ::windows::runtime::IUnknown {
from(value: &ID3D12PipelineLibrary1) -> Self26247     fn from(value: &ID3D12PipelineLibrary1) -> Self {
26248         ::std::convert::From::from(::std::clone::Clone::clone(value))
26249     }
26250 }
26251 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12PipelineLibrary1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26252     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26253         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
26254     }
26255 }
26256 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12PipelineLibrary1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26257     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26258         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
26259     }
26260 }
26261 impl ::std::convert::From<ID3D12PipelineLibrary1> for ID3D12PipelineLibrary {
from(value: ID3D12PipelineLibrary1) -> Self26262     fn from(value: ID3D12PipelineLibrary1) -> Self {
26263         unsafe { ::std::mem::transmute(value) }
26264     }
26265 }
26266 impl ::std::convert::From<&ID3D12PipelineLibrary1> for ID3D12PipelineLibrary {
from(value: &ID3D12PipelineLibrary1) -> Self26267     fn from(value: &ID3D12PipelineLibrary1) -> Self {
26268         ::std::convert::From::from(::std::clone::Clone::clone(value))
26269     }
26270 }
26271 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12PipelineLibrary> for ID3D12PipelineLibrary1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12PipelineLibrary>26272     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12PipelineLibrary> {
26273         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12PipelineLibrary>::into(self))
26274     }
26275 }
26276 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12PipelineLibrary> for &ID3D12PipelineLibrary1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12PipelineLibrary>26277     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12PipelineLibrary> {
26278         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12PipelineLibrary>::into(::std::clone::Clone::clone(self)))
26279     }
26280 }
26281 impl ::std::convert::From<ID3D12PipelineLibrary1> for ID3D12DeviceChild {
from(value: ID3D12PipelineLibrary1) -> Self26282     fn from(value: ID3D12PipelineLibrary1) -> Self {
26283         unsafe { ::std::mem::transmute(value) }
26284     }
26285 }
26286 impl ::std::convert::From<&ID3D12PipelineLibrary1> for ID3D12DeviceChild {
from(value: &ID3D12PipelineLibrary1) -> Self26287     fn from(value: &ID3D12PipelineLibrary1) -> Self {
26288         ::std::convert::From::from(::std::clone::Clone::clone(value))
26289     }
26290 }
26291 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12PipelineLibrary1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26292     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26293         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
26294     }
26295 }
26296 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12PipelineLibrary1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26297     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26298         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
26299     }
26300 }
26301 impl ::std::convert::From<ID3D12PipelineLibrary1> for ID3D12Object {
from(value: ID3D12PipelineLibrary1) -> Self26302     fn from(value: ID3D12PipelineLibrary1) -> Self {
26303         unsafe { ::std::mem::transmute(value) }
26304     }
26305 }
26306 impl ::std::convert::From<&ID3D12PipelineLibrary1> for ID3D12Object {
from(value: &ID3D12PipelineLibrary1) -> Self26307     fn from(value: &ID3D12PipelineLibrary1) -> Self {
26308         ::std::convert::From::from(::std::clone::Clone::clone(value))
26309     }
26310 }
26311 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12PipelineLibrary1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26312     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26313         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
26314     }
26315 }
26316 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12PipelineLibrary1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26317     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26318         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
26319     }
26320 }
26321 #[repr(C)]
26322 #[doc(hidden)]
26323 pub struct ID3D12PipelineLibrary1_abi(
26324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26330     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
26331     #[cfg(not(feature = "Win32_Foundation"))] usize,
26332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26333     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR, ppipeline: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26334     #[cfg(not(feature = "Win32_Foundation"))] usize,
26335     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR, pdesc: *const ::std::mem::ManuallyDrop<D3D12_GRAPHICS_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26336     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi")))] usize,
26337     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR, pdesc: *const ::std::mem::ManuallyDrop<D3D12_COMPUTE_PIPELINE_STATE_DESC>, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26338     #[cfg(not(feature = "Win32_Foundation"))] usize,
26339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> usize,
26340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdata: *mut ::std::ffi::c_void, datasizeinbytes: usize) -> ::windows::runtime::HRESULT,
26341     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC, riid: *const ::windows::runtime::GUID, pppipelinestate: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26342     #[cfg(not(feature = "Win32_Foundation"))] usize,
26343 );
26344 #[repr(transparent)]
26345 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26346 pub struct ID3D12PipelineState(::windows::runtime::IUnknown);
26347 impl ID3D12PipelineState {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>26348     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26349         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
26350     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>26351     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26352         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
26353     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>26354     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
26355         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
26356     }
26357     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>26358     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
26359         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
26360     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>26361     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
26362         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
26363     }
26364     #[cfg(feature = "Win32_Graphics_Direct3D11")]
GetCachedBlob(&self) -> ::windows::runtime::Result<super::Direct3D11::ID3DBlob>26365     pub unsafe fn GetCachedBlob(&self) -> ::windows::runtime::Result<super::Direct3D11::ID3DBlob> {
26366         let mut result__: <super::Direct3D11::ID3DBlob as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
26367         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::Direct3D11::ID3DBlob>(result__)
26368     }
26369 }
26370 unsafe impl ::windows::runtime::Interface for ID3D12PipelineState {
26371     type Vtable = ID3D12PipelineState_abi;
26372     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1985622259, 63012, 19567, [168, 40, 172, 233, 72, 98, 36, 69]);
26373 }
26374 impl ::std::convert::From<ID3D12PipelineState> for ::windows::runtime::IUnknown {
from(value: ID3D12PipelineState) -> Self26375     fn from(value: ID3D12PipelineState) -> Self {
26376         unsafe { ::std::mem::transmute(value) }
26377     }
26378 }
26379 impl ::std::convert::From<&ID3D12PipelineState> for ::windows::runtime::IUnknown {
from(value: &ID3D12PipelineState) -> Self26380     fn from(value: &ID3D12PipelineState) -> Self {
26381         ::std::convert::From::from(::std::clone::Clone::clone(value))
26382     }
26383 }
26384 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12PipelineState {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26385     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26386         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
26387     }
26388 }
26389 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12PipelineState {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26390     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26391         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
26392     }
26393 }
26394 impl ::std::convert::From<ID3D12PipelineState> for ID3D12Pageable {
from(value: ID3D12PipelineState) -> Self26395     fn from(value: ID3D12PipelineState) -> Self {
26396         unsafe { ::std::mem::transmute(value) }
26397     }
26398 }
26399 impl ::std::convert::From<&ID3D12PipelineState> for ID3D12Pageable {
from(value: &ID3D12PipelineState) -> Self26400     fn from(value: &ID3D12PipelineState) -> Self {
26401         ::std::convert::From::from(::std::clone::Clone::clone(value))
26402     }
26403 }
26404 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for ID3D12PipelineState {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>26405     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
26406         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(self))
26407     }
26408 }
26409 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for &ID3D12PipelineState {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>26410     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
26411         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(::std::clone::Clone::clone(self)))
26412     }
26413 }
26414 impl ::std::convert::From<ID3D12PipelineState> for ID3D12DeviceChild {
from(value: ID3D12PipelineState) -> Self26415     fn from(value: ID3D12PipelineState) -> Self {
26416         unsafe { ::std::mem::transmute(value) }
26417     }
26418 }
26419 impl ::std::convert::From<&ID3D12PipelineState> for ID3D12DeviceChild {
from(value: &ID3D12PipelineState) -> Self26420     fn from(value: &ID3D12PipelineState) -> Self {
26421         ::std::convert::From::from(::std::clone::Clone::clone(value))
26422     }
26423 }
26424 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12PipelineState {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26425     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26426         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
26427     }
26428 }
26429 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12PipelineState {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26430     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26431         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
26432     }
26433 }
26434 impl ::std::convert::From<ID3D12PipelineState> for ID3D12Object {
from(value: ID3D12PipelineState) -> Self26435     fn from(value: ID3D12PipelineState) -> Self {
26436         unsafe { ::std::mem::transmute(value) }
26437     }
26438 }
26439 impl ::std::convert::From<&ID3D12PipelineState> for ID3D12Object {
from(value: &ID3D12PipelineState) -> Self26440     fn from(value: &ID3D12PipelineState) -> Self {
26441         ::std::convert::From::from(::std::clone::Clone::clone(value))
26442     }
26443 }
26444 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12PipelineState {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26445     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26446         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
26447     }
26448 }
26449 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12PipelineState {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26450     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26451         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
26452     }
26453 }
26454 #[repr(C)]
26455 #[doc(hidden)]
26456 pub struct ID3D12PipelineState_abi(
26457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26463     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
26464     #[cfg(not(feature = "Win32_Foundation"))] usize,
26465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26466     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppblob: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26467     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
26468 );
26469 #[repr(transparent)]
26470 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26471 pub struct ID3D12ProtectedResourceSession(::windows::runtime::IUnknown);
26472 impl ID3D12ProtectedResourceSession {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>26473     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26474         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
26475     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>26476     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26477         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
26478     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>26479     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
26480         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
26481     }
26482     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>26483     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
26484         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
26485     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>26486     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
26487         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
26488     }
GetStatusFence<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>26489     pub unsafe fn GetStatusFence<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
26490         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
26491     }
GetSessionStatus(&self) -> D3D12_PROTECTED_SESSION_STATUS26492     pub unsafe fn GetSessionStatus(&self) -> D3D12_PROTECTED_SESSION_STATUS {
26493         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)))
26494     }
GetDesc(&self) -> D3D12_PROTECTED_RESOURCE_SESSION_DESC26495     pub unsafe fn GetDesc(&self) -> D3D12_PROTECTED_RESOURCE_SESSION_DESC {
26496         let mut result__: D3D12_PROTECTED_RESOURCE_SESSION_DESC = ::std::default::Default::default();
26497         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__);
26498         result__
26499     }
26500 }
26501 unsafe impl ::windows::runtime::Interface for ID3D12ProtectedResourceSession {
26502     type Vtable = ID3D12ProtectedResourceSession_abi;
26503     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1826002676, 62089, 16588, [128, 145, 90, 108, 10, 9, 156, 61]);
26504 }
26505 impl ::std::convert::From<ID3D12ProtectedResourceSession> for ::windows::runtime::IUnknown {
from(value: ID3D12ProtectedResourceSession) -> Self26506     fn from(value: ID3D12ProtectedResourceSession) -> Self {
26507         unsafe { ::std::mem::transmute(value) }
26508     }
26509 }
26510 impl ::std::convert::From<&ID3D12ProtectedResourceSession> for ::windows::runtime::IUnknown {
from(value: &ID3D12ProtectedResourceSession) -> Self26511     fn from(value: &ID3D12ProtectedResourceSession) -> Self {
26512         ::std::convert::From::from(::std::clone::Clone::clone(value))
26513     }
26514 }
26515 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12ProtectedResourceSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26516     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26517         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
26518     }
26519 }
26520 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12ProtectedResourceSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26521     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26522         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
26523     }
26524 }
26525 impl ::std::convert::From<ID3D12ProtectedResourceSession> for ID3D12ProtectedSession {
from(value: ID3D12ProtectedResourceSession) -> Self26526     fn from(value: ID3D12ProtectedResourceSession) -> Self {
26527         unsafe { ::std::mem::transmute(value) }
26528     }
26529 }
26530 impl ::std::convert::From<&ID3D12ProtectedResourceSession> for ID3D12ProtectedSession {
from(value: &ID3D12ProtectedResourceSession) -> Self26531     fn from(value: &ID3D12ProtectedResourceSession) -> Self {
26532         ::std::convert::From::from(::std::clone::Clone::clone(value))
26533     }
26534 }
26535 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12ProtectedSession> for ID3D12ProtectedResourceSession {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12ProtectedSession>26536     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12ProtectedSession> {
26537         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12ProtectedSession>::into(self))
26538     }
26539 }
26540 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12ProtectedSession> for &ID3D12ProtectedResourceSession {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12ProtectedSession>26541     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12ProtectedSession> {
26542         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12ProtectedSession>::into(::std::clone::Clone::clone(self)))
26543     }
26544 }
26545 impl ::std::convert::From<ID3D12ProtectedResourceSession> for ID3D12DeviceChild {
from(value: ID3D12ProtectedResourceSession) -> Self26546     fn from(value: ID3D12ProtectedResourceSession) -> Self {
26547         unsafe { ::std::mem::transmute(value) }
26548     }
26549 }
26550 impl ::std::convert::From<&ID3D12ProtectedResourceSession> for ID3D12DeviceChild {
from(value: &ID3D12ProtectedResourceSession) -> Self26551     fn from(value: &ID3D12ProtectedResourceSession) -> Self {
26552         ::std::convert::From::from(::std::clone::Clone::clone(value))
26553     }
26554 }
26555 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12ProtectedResourceSession {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26556     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26557         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
26558     }
26559 }
26560 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12ProtectedResourceSession {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26561     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26562         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
26563     }
26564 }
26565 impl ::std::convert::From<ID3D12ProtectedResourceSession> for ID3D12Object {
from(value: ID3D12ProtectedResourceSession) -> Self26566     fn from(value: ID3D12ProtectedResourceSession) -> Self {
26567         unsafe { ::std::mem::transmute(value) }
26568     }
26569 }
26570 impl ::std::convert::From<&ID3D12ProtectedResourceSession> for ID3D12Object {
from(value: &ID3D12ProtectedResourceSession) -> Self26571     fn from(value: &ID3D12ProtectedResourceSession) -> Self {
26572         ::std::convert::From::from(::std::clone::Clone::clone(value))
26573     }
26574 }
26575 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12ProtectedResourceSession {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26576     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26577         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
26578     }
26579 }
26580 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12ProtectedResourceSession {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26581     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26582         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
26583     }
26584 }
26585 #[repr(C)]
26586 #[doc(hidden)]
26587 pub struct ID3D12ProtectedResourceSession_abi(
26588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26594     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
26595     #[cfg(not(feature = "Win32_Foundation"))] usize,
26596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppfence: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_PROTECTED_SESSION_STATUS,
26599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_PROTECTED_RESOURCE_SESSION_DESC),
26600 );
26601 #[repr(transparent)]
26602 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26603 pub struct ID3D12ProtectedResourceSession1(::windows::runtime::IUnknown);
26604 impl ID3D12ProtectedResourceSession1 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>26605     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26606         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
26607     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>26608     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26609         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
26610     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>26611     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
26612         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
26613     }
26614     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>26615     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
26616         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
26617     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>26618     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
26619         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
26620     }
GetStatusFence<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>26621     pub unsafe fn GetStatusFence<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
26622         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
26623     }
GetSessionStatus(&self) -> D3D12_PROTECTED_SESSION_STATUS26624     pub unsafe fn GetSessionStatus(&self) -> D3D12_PROTECTED_SESSION_STATUS {
26625         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)))
26626     }
GetDesc(&self) -> D3D12_PROTECTED_RESOURCE_SESSION_DESC26627     pub unsafe fn GetDesc(&self) -> D3D12_PROTECTED_RESOURCE_SESSION_DESC {
26628         let mut result__: D3D12_PROTECTED_RESOURCE_SESSION_DESC = ::std::default::Default::default();
26629         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__);
26630         result__
26631     }
GetDesc1(&self) -> D3D12_PROTECTED_RESOURCE_SESSION_DESC126632     pub unsafe fn GetDesc1(&self) -> D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {
26633         let mut result__: D3D12_PROTECTED_RESOURCE_SESSION_DESC1 = ::std::default::Default::default();
26634         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__);
26635         result__
26636     }
26637 }
26638 unsafe impl ::windows::runtime::Interface for ID3D12ProtectedResourceSession1 {
26639     type Vtable = ID3D12ProtectedResourceSession1_abi;
26640     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3606130134, 30459, 16494, [137, 97, 66, 150, 238, 252, 4, 9]);
26641 }
26642 impl ::std::convert::From<ID3D12ProtectedResourceSession1> for ::windows::runtime::IUnknown {
from(value: ID3D12ProtectedResourceSession1) -> Self26643     fn from(value: ID3D12ProtectedResourceSession1) -> Self {
26644         unsafe { ::std::mem::transmute(value) }
26645     }
26646 }
26647 impl ::std::convert::From<&ID3D12ProtectedResourceSession1> for ::windows::runtime::IUnknown {
from(value: &ID3D12ProtectedResourceSession1) -> Self26648     fn from(value: &ID3D12ProtectedResourceSession1) -> Self {
26649         ::std::convert::From::from(::std::clone::Clone::clone(value))
26650     }
26651 }
26652 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12ProtectedResourceSession1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26653     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26654         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
26655     }
26656 }
26657 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12ProtectedResourceSession1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26658     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26659         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
26660     }
26661 }
26662 impl ::std::convert::From<ID3D12ProtectedResourceSession1> for ID3D12ProtectedResourceSession {
from(value: ID3D12ProtectedResourceSession1) -> Self26663     fn from(value: ID3D12ProtectedResourceSession1) -> Self {
26664         unsafe { ::std::mem::transmute(value) }
26665     }
26666 }
26667 impl ::std::convert::From<&ID3D12ProtectedResourceSession1> for ID3D12ProtectedResourceSession {
from(value: &ID3D12ProtectedResourceSession1) -> Self26668     fn from(value: &ID3D12ProtectedResourceSession1) -> Self {
26669         ::std::convert::From::from(::std::clone::Clone::clone(value))
26670     }
26671 }
26672 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession> for ID3D12ProtectedResourceSession1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12ProtectedResourceSession>26673     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12ProtectedResourceSession> {
26674         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12ProtectedResourceSession>::into(self))
26675     }
26676 }
26677 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12ProtectedResourceSession> for &ID3D12ProtectedResourceSession1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12ProtectedResourceSession>26678     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12ProtectedResourceSession> {
26679         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12ProtectedResourceSession>::into(::std::clone::Clone::clone(self)))
26680     }
26681 }
26682 impl ::std::convert::From<ID3D12ProtectedResourceSession1> for ID3D12ProtectedSession {
from(value: ID3D12ProtectedResourceSession1) -> Self26683     fn from(value: ID3D12ProtectedResourceSession1) -> Self {
26684         unsafe { ::std::mem::transmute(value) }
26685     }
26686 }
26687 impl ::std::convert::From<&ID3D12ProtectedResourceSession1> for ID3D12ProtectedSession {
from(value: &ID3D12ProtectedResourceSession1) -> Self26688     fn from(value: &ID3D12ProtectedResourceSession1) -> Self {
26689         ::std::convert::From::from(::std::clone::Clone::clone(value))
26690     }
26691 }
26692 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12ProtectedSession> for ID3D12ProtectedResourceSession1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12ProtectedSession>26693     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12ProtectedSession> {
26694         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12ProtectedSession>::into(self))
26695     }
26696 }
26697 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12ProtectedSession> for &ID3D12ProtectedResourceSession1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12ProtectedSession>26698     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12ProtectedSession> {
26699         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12ProtectedSession>::into(::std::clone::Clone::clone(self)))
26700     }
26701 }
26702 impl ::std::convert::From<ID3D12ProtectedResourceSession1> for ID3D12DeviceChild {
from(value: ID3D12ProtectedResourceSession1) -> Self26703     fn from(value: ID3D12ProtectedResourceSession1) -> Self {
26704         unsafe { ::std::mem::transmute(value) }
26705     }
26706 }
26707 impl ::std::convert::From<&ID3D12ProtectedResourceSession1> for ID3D12DeviceChild {
from(value: &ID3D12ProtectedResourceSession1) -> Self26708     fn from(value: &ID3D12ProtectedResourceSession1) -> Self {
26709         ::std::convert::From::from(::std::clone::Clone::clone(value))
26710     }
26711 }
26712 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12ProtectedResourceSession1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26713     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26714         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
26715     }
26716 }
26717 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12ProtectedResourceSession1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26718     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26719         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
26720     }
26721 }
26722 impl ::std::convert::From<ID3D12ProtectedResourceSession1> for ID3D12Object {
from(value: ID3D12ProtectedResourceSession1) -> Self26723     fn from(value: ID3D12ProtectedResourceSession1) -> Self {
26724         unsafe { ::std::mem::transmute(value) }
26725     }
26726 }
26727 impl ::std::convert::From<&ID3D12ProtectedResourceSession1> for ID3D12Object {
from(value: &ID3D12ProtectedResourceSession1) -> Self26728     fn from(value: &ID3D12ProtectedResourceSession1) -> Self {
26729         ::std::convert::From::from(::std::clone::Clone::clone(value))
26730     }
26731 }
26732 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12ProtectedResourceSession1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26733     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26734         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
26735     }
26736 }
26737 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12ProtectedResourceSession1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26738     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26739         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
26740     }
26741 }
26742 #[repr(C)]
26743 #[doc(hidden)]
26744 pub struct ID3D12ProtectedResourceSession1_abi(
26745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26751     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
26752     #[cfg(not(feature = "Win32_Foundation"))] usize,
26753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26754     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppfence: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_PROTECTED_SESSION_STATUS,
26756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_PROTECTED_RESOURCE_SESSION_DESC),
26757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_PROTECTED_RESOURCE_SESSION_DESC1),
26758 );
26759 #[repr(transparent)]
26760 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26761 pub struct ID3D12ProtectedSession(::windows::runtime::IUnknown);
26762 impl ID3D12ProtectedSession {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>26763     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26764         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
26765     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>26766     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26767         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
26768     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>26769     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
26770         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
26771     }
26772     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>26773     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
26774         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
26775     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>26776     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
26777         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
26778     }
GetStatusFence<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>26779     pub unsafe fn GetStatusFence<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
26780         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
26781     }
GetSessionStatus(&self) -> D3D12_PROTECTED_SESSION_STATUS26782     pub unsafe fn GetSessionStatus(&self) -> D3D12_PROTECTED_SESSION_STATUS {
26783         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)))
26784     }
26785 }
26786 unsafe impl ::windows::runtime::Interface for ID3D12ProtectedSession {
26787     type Vtable = ID3D12ProtectedSession_abi;
26788     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2706586904, 2753, 16516, [133, 185, 137, 169, 97, 22, 128, 107]);
26789 }
26790 impl ::std::convert::From<ID3D12ProtectedSession> for ::windows::runtime::IUnknown {
from(value: ID3D12ProtectedSession) -> Self26791     fn from(value: ID3D12ProtectedSession) -> Self {
26792         unsafe { ::std::mem::transmute(value) }
26793     }
26794 }
26795 impl ::std::convert::From<&ID3D12ProtectedSession> for ::windows::runtime::IUnknown {
from(value: &ID3D12ProtectedSession) -> Self26796     fn from(value: &ID3D12ProtectedSession) -> Self {
26797         ::std::convert::From::from(::std::clone::Clone::clone(value))
26798     }
26799 }
26800 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12ProtectedSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26801     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26802         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
26803     }
26804 }
26805 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12ProtectedSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26806     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26807         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
26808     }
26809 }
26810 impl ::std::convert::From<ID3D12ProtectedSession> for ID3D12DeviceChild {
from(value: ID3D12ProtectedSession) -> Self26811     fn from(value: ID3D12ProtectedSession) -> Self {
26812         unsafe { ::std::mem::transmute(value) }
26813     }
26814 }
26815 impl ::std::convert::From<&ID3D12ProtectedSession> for ID3D12DeviceChild {
from(value: &ID3D12ProtectedSession) -> Self26816     fn from(value: &ID3D12ProtectedSession) -> Self {
26817         ::std::convert::From::from(::std::clone::Clone::clone(value))
26818     }
26819 }
26820 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12ProtectedSession {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26821     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26822         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
26823     }
26824 }
26825 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12ProtectedSession {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26826     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26827         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
26828     }
26829 }
26830 impl ::std::convert::From<ID3D12ProtectedSession> for ID3D12Object {
from(value: ID3D12ProtectedSession) -> Self26831     fn from(value: ID3D12ProtectedSession) -> Self {
26832         unsafe { ::std::mem::transmute(value) }
26833     }
26834 }
26835 impl ::std::convert::From<&ID3D12ProtectedSession> for ID3D12Object {
from(value: &ID3D12ProtectedSession) -> Self26836     fn from(value: &ID3D12ProtectedSession) -> Self {
26837         ::std::convert::From::from(::std::clone::Clone::clone(value))
26838     }
26839 }
26840 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12ProtectedSession {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26841     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26842         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
26843     }
26844 }
26845 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12ProtectedSession {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26846     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26847         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
26848     }
26849 }
26850 #[repr(C)]
26851 #[doc(hidden)]
26852 pub struct ID3D12ProtectedSession_abi(
26853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26855     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26856     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26857     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26858     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26859     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
26860     #[cfg(not(feature = "Win32_Foundation"))] usize,
26861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppfence: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> D3D12_PROTECTED_SESSION_STATUS,
26864 );
26865 #[repr(transparent)]
26866 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26867 pub struct ID3D12QueryHeap(::windows::runtime::IUnknown);
26868 impl ID3D12QueryHeap {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>26869     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26870         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
26871     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>26872     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26873         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
26874     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>26875     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
26876         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
26877     }
26878     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>26879     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
26880         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
26881     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>26882     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
26883         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
26884     }
26885 }
26886 unsafe impl ::windows::runtime::Interface for ID3D12QueryHeap {
26887     type Vtable = ID3D12QueryHeap_abi;
26888     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(227956910, 60741, 18078, [166, 29, 151, 14, 197, 131, 202, 180]);
26889 }
26890 impl ::std::convert::From<ID3D12QueryHeap> for ::windows::runtime::IUnknown {
from(value: ID3D12QueryHeap) -> Self26891     fn from(value: ID3D12QueryHeap) -> Self {
26892         unsafe { ::std::mem::transmute(value) }
26893     }
26894 }
26895 impl ::std::convert::From<&ID3D12QueryHeap> for ::windows::runtime::IUnknown {
from(value: &ID3D12QueryHeap) -> Self26896     fn from(value: &ID3D12QueryHeap) -> Self {
26897         ::std::convert::From::from(::std::clone::Clone::clone(value))
26898     }
26899 }
26900 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12QueryHeap {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26901     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26902         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
26903     }
26904 }
26905 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12QueryHeap {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26906     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26907         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
26908     }
26909 }
26910 impl ::std::convert::From<ID3D12QueryHeap> for ID3D12Pageable {
from(value: ID3D12QueryHeap) -> Self26911     fn from(value: ID3D12QueryHeap) -> Self {
26912         unsafe { ::std::mem::transmute(value) }
26913     }
26914 }
26915 impl ::std::convert::From<&ID3D12QueryHeap> for ID3D12Pageable {
from(value: &ID3D12QueryHeap) -> Self26916     fn from(value: &ID3D12QueryHeap) -> Self {
26917         ::std::convert::From::from(::std::clone::Clone::clone(value))
26918     }
26919 }
26920 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for ID3D12QueryHeap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>26921     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
26922         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(self))
26923     }
26924 }
26925 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for &ID3D12QueryHeap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>26926     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
26927         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(::std::clone::Clone::clone(self)))
26928     }
26929 }
26930 impl ::std::convert::From<ID3D12QueryHeap> for ID3D12DeviceChild {
from(value: ID3D12QueryHeap) -> Self26931     fn from(value: ID3D12QueryHeap) -> Self {
26932         unsafe { ::std::mem::transmute(value) }
26933     }
26934 }
26935 impl ::std::convert::From<&ID3D12QueryHeap> for ID3D12DeviceChild {
from(value: &ID3D12QueryHeap) -> Self26936     fn from(value: &ID3D12QueryHeap) -> Self {
26937         ::std::convert::From::from(::std::clone::Clone::clone(value))
26938     }
26939 }
26940 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12QueryHeap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26941     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26942         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
26943     }
26944 }
26945 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12QueryHeap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>26946     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
26947         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
26948     }
26949 }
26950 impl ::std::convert::From<ID3D12QueryHeap> for ID3D12Object {
from(value: ID3D12QueryHeap) -> Self26951     fn from(value: ID3D12QueryHeap) -> Self {
26952         unsafe { ::std::mem::transmute(value) }
26953     }
26954 }
26955 impl ::std::convert::From<&ID3D12QueryHeap> for ID3D12Object {
from(value: &ID3D12QueryHeap) -> Self26956     fn from(value: &ID3D12QueryHeap) -> Self {
26957         ::std::convert::From::from(::std::clone::Clone::clone(value))
26958     }
26959 }
26960 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12QueryHeap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26961     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26962         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
26963     }
26964 }
26965 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12QueryHeap {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>26966     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
26967         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
26968     }
26969 }
26970 #[repr(C)]
26971 #[doc(hidden)]
26972 pub struct ID3D12QueryHeap_abi(
26973     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26974     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26979     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
26980     #[cfg(not(feature = "Win32_Foundation"))] usize,
26981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
26982 );
26983 #[repr(transparent)]
26984 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26985 pub struct ID3D12Resource(::windows::runtime::IUnknown);
26986 impl ID3D12Resource {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>26987     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26988         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
26989     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>26990     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
26991         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
26992     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>26993     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
26994         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
26995     }
26996     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>26997     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
26998         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
26999     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>27000     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
27001         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
27002     }
Map(&self, subresource: u32, preadrange: *const D3D12_RANGE, ppdata: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>27003     pub unsafe fn Map(&self, subresource: u32, preadrange: *const D3D12_RANGE, ppdata: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
27004         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(subresource), ::std::mem::transmute(preadrange), ::std::mem::transmute(ppdata)).ok()
27005     }
Unmap(&self, subresource: u32, pwrittenrange: *const D3D12_RANGE)27006     pub unsafe fn Unmap(&self, subresource: u32, pwrittenrange: *const D3D12_RANGE) {
27007         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(subresource), ::std::mem::transmute(pwrittenrange)))
27008     }
27009     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetDesc(&self) -> D3D12_RESOURCE_DESC27010     pub unsafe fn GetDesc(&self) -> D3D12_RESOURCE_DESC {
27011         let mut result__: D3D12_RESOURCE_DESC = ::std::default::Default::default();
27012         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__);
27013         result__
27014     }
GetGPUVirtualAddress(&self) -> u6427015     pub unsafe fn GetGPUVirtualAddress(&self) -> u64 {
27016         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)))
27017     }
WriteToSubresource(&self, dstsubresource: u32, pdstbox: *const D3D12_BOX, psrcdata: *const ::std::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32) -> ::windows::runtime::Result<()>27018     pub unsafe fn WriteToSubresource(&self, dstsubresource: u32, pdstbox: *const D3D12_BOX, psrcdata: *const ::std::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32) -> ::windows::runtime::Result<()> {
27019         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(dstsubresource), ::std::mem::transmute(pdstbox), ::std::mem::transmute(psrcdata), ::std::mem::transmute(srcrowpitch), ::std::mem::transmute(srcdepthpitch)).ok()
27020     }
ReadFromSubresource(&self, pdstdata: *mut ::std::ffi::c_void, dstrowpitch: u32, dstdepthpitch: u32, srcsubresource: u32, psrcbox: *const D3D12_BOX) -> ::windows::runtime::Result<()>27021     pub unsafe fn ReadFromSubresource(&self, pdstdata: *mut ::std::ffi::c_void, dstrowpitch: u32, dstdepthpitch: u32, srcsubresource: u32, psrcbox: *const D3D12_BOX) -> ::windows::runtime::Result<()> {
27022         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdstdata), ::std::mem::transmute(dstrowpitch), ::std::mem::transmute(dstdepthpitch), ::std::mem::transmute(srcsubresource), ::std::mem::transmute(psrcbox)).ok()
27023     }
GetHeapProperties(&self, pheapproperties: *mut D3D12_HEAP_PROPERTIES, pheapflags: *mut D3D12_HEAP_FLAGS) -> ::windows::runtime::Result<()>27024     pub unsafe fn GetHeapProperties(&self, pheapproperties: *mut D3D12_HEAP_PROPERTIES, pheapflags: *mut D3D12_HEAP_FLAGS) -> ::windows::runtime::Result<()> {
27025         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pheapproperties), ::std::mem::transmute(pheapflags)).ok()
27026     }
27027 }
27028 unsafe impl ::windows::runtime::Interface for ID3D12Resource {
27029     type Vtable = ID3D12Resource_abi;
27030     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1768178366, 42798, 16473, [188, 121, 91, 92, 152, 4, 15, 173]);
27031 }
27032 impl ::std::convert::From<ID3D12Resource> for ::windows::runtime::IUnknown {
from(value: ID3D12Resource) -> Self27033     fn from(value: ID3D12Resource) -> Self {
27034         unsafe { ::std::mem::transmute(value) }
27035     }
27036 }
27037 impl ::std::convert::From<&ID3D12Resource> for ::windows::runtime::IUnknown {
from(value: &ID3D12Resource) -> Self27038     fn from(value: &ID3D12Resource) -> Self {
27039         ::std::convert::From::from(::std::clone::Clone::clone(value))
27040     }
27041 }
27042 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Resource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27043     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27044         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
27045     }
27046 }
27047 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Resource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27048     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27049         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
27050     }
27051 }
27052 impl ::std::convert::From<ID3D12Resource> for ID3D12Pageable {
from(value: ID3D12Resource) -> Self27053     fn from(value: ID3D12Resource) -> Self {
27054         unsafe { ::std::mem::transmute(value) }
27055     }
27056 }
27057 impl ::std::convert::From<&ID3D12Resource> for ID3D12Pageable {
from(value: &ID3D12Resource) -> Self27058     fn from(value: &ID3D12Resource) -> Self {
27059         ::std::convert::From::from(::std::clone::Clone::clone(value))
27060     }
27061 }
27062 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for ID3D12Resource {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>27063     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
27064         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(self))
27065     }
27066 }
27067 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for &ID3D12Resource {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>27068     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
27069         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(::std::clone::Clone::clone(self)))
27070     }
27071 }
27072 impl ::std::convert::From<ID3D12Resource> for ID3D12DeviceChild {
from(value: ID3D12Resource) -> Self27073     fn from(value: ID3D12Resource) -> Self {
27074         unsafe { ::std::mem::transmute(value) }
27075     }
27076 }
27077 impl ::std::convert::From<&ID3D12Resource> for ID3D12DeviceChild {
from(value: &ID3D12Resource) -> Self27078     fn from(value: &ID3D12Resource) -> Self {
27079         ::std::convert::From::from(::std::clone::Clone::clone(value))
27080     }
27081 }
27082 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12Resource {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>27083     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
27084         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
27085     }
27086 }
27087 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12Resource {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>27088     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
27089         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
27090     }
27091 }
27092 impl ::std::convert::From<ID3D12Resource> for ID3D12Object {
from(value: ID3D12Resource) -> Self27093     fn from(value: ID3D12Resource) -> Self {
27094         unsafe { ::std::mem::transmute(value) }
27095     }
27096 }
27097 impl ::std::convert::From<&ID3D12Resource> for ID3D12Object {
from(value: &ID3D12Resource) -> Self27098     fn from(value: &ID3D12Resource) -> Self {
27099         ::std::convert::From::from(::std::clone::Clone::clone(value))
27100     }
27101 }
27102 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Resource {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>27103     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
27104         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
27105     }
27106 }
27107 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Resource {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>27108     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
27109         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
27110     }
27111 }
27112 #[repr(C)]
27113 #[doc(hidden)]
27114 pub struct ID3D12Resource_abi(
27115     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
27116     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
27121     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
27122     #[cfg(not(feature = "Win32_Foundation"))] usize,
27123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, subresource: u32, preadrange: *const D3D12_RANGE, ppdata: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, subresource: u32, pwrittenrange: *const D3D12_RANGE),
27126     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_DESC),
27127     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
27128     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
27129     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dstsubresource: u32, pdstbox: *const D3D12_BOX, psrcdata: *const ::std::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32) -> ::windows::runtime::HRESULT,
27130     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstdata: *mut ::std::ffi::c_void, dstrowpitch: u32, dstdepthpitch: u32, srcsubresource: u32, psrcbox: *const D3D12_BOX) -> ::windows::runtime::HRESULT,
27131     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *mut D3D12_HEAP_PROPERTIES, pheapflags: *mut D3D12_HEAP_FLAGS) -> ::windows::runtime::HRESULT,
27132 );
27133 #[repr(transparent)]
27134 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
27135 pub struct ID3D12Resource1(::windows::runtime::IUnknown);
27136 impl ID3D12Resource1 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>27137     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
27138         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
27139     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>27140     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
27141         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
27142     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>27143     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
27144         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
27145     }
27146     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>27147     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
27148         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
27149     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>27150     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
27151         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
27152     }
Map(&self, subresource: u32, preadrange: *const D3D12_RANGE, ppdata: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>27153     pub unsafe fn Map(&self, subresource: u32, preadrange: *const D3D12_RANGE, ppdata: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
27154         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(subresource), ::std::mem::transmute(preadrange), ::std::mem::transmute(ppdata)).ok()
27155     }
Unmap(&self, subresource: u32, pwrittenrange: *const D3D12_RANGE)27156     pub unsafe fn Unmap(&self, subresource: u32, pwrittenrange: *const D3D12_RANGE) {
27157         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(subresource), ::std::mem::transmute(pwrittenrange)))
27158     }
27159     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetDesc(&self) -> D3D12_RESOURCE_DESC27160     pub unsafe fn GetDesc(&self) -> D3D12_RESOURCE_DESC {
27161         let mut result__: D3D12_RESOURCE_DESC = ::std::default::Default::default();
27162         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__);
27163         result__
27164     }
GetGPUVirtualAddress(&self) -> u6427165     pub unsafe fn GetGPUVirtualAddress(&self) -> u64 {
27166         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)))
27167     }
WriteToSubresource(&self, dstsubresource: u32, pdstbox: *const D3D12_BOX, psrcdata: *const ::std::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32) -> ::windows::runtime::Result<()>27168     pub unsafe fn WriteToSubresource(&self, dstsubresource: u32, pdstbox: *const D3D12_BOX, psrcdata: *const ::std::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32) -> ::windows::runtime::Result<()> {
27169         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(dstsubresource), ::std::mem::transmute(pdstbox), ::std::mem::transmute(psrcdata), ::std::mem::transmute(srcrowpitch), ::std::mem::transmute(srcdepthpitch)).ok()
27170     }
ReadFromSubresource(&self, pdstdata: *mut ::std::ffi::c_void, dstrowpitch: u32, dstdepthpitch: u32, srcsubresource: u32, psrcbox: *const D3D12_BOX) -> ::windows::runtime::Result<()>27171     pub unsafe fn ReadFromSubresource(&self, pdstdata: *mut ::std::ffi::c_void, dstrowpitch: u32, dstdepthpitch: u32, srcsubresource: u32, psrcbox: *const D3D12_BOX) -> ::windows::runtime::Result<()> {
27172         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdstdata), ::std::mem::transmute(dstrowpitch), ::std::mem::transmute(dstdepthpitch), ::std::mem::transmute(srcsubresource), ::std::mem::transmute(psrcbox)).ok()
27173     }
GetHeapProperties(&self, pheapproperties: *mut D3D12_HEAP_PROPERTIES, pheapflags: *mut D3D12_HEAP_FLAGS) -> ::windows::runtime::Result<()>27174     pub unsafe fn GetHeapProperties(&self, pheapproperties: *mut D3D12_HEAP_PROPERTIES, pheapflags: *mut D3D12_HEAP_FLAGS) -> ::windows::runtime::Result<()> {
27175         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pheapproperties), ::std::mem::transmute(pheapflags)).ok()
27176     }
GetProtectedResourceSession<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>27177     pub unsafe fn GetProtectedResourceSession<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
27178         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
27179     }
27180 }
27181 unsafe impl ::windows::runtime::Interface for ID3D12Resource1 {
27182     type Vtable = ID3D12Resource1_abi;
27183     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2640192122, 17456, 16737, [136, 179, 62, 202, 107, 177, 110, 25]);
27184 }
27185 impl ::std::convert::From<ID3D12Resource1> for ::windows::runtime::IUnknown {
from(value: ID3D12Resource1) -> Self27186     fn from(value: ID3D12Resource1) -> Self {
27187         unsafe { ::std::mem::transmute(value) }
27188     }
27189 }
27190 impl ::std::convert::From<&ID3D12Resource1> for ::windows::runtime::IUnknown {
from(value: &ID3D12Resource1) -> Self27191     fn from(value: &ID3D12Resource1) -> Self {
27192         ::std::convert::From::from(::std::clone::Clone::clone(value))
27193     }
27194 }
27195 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Resource1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27196     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27197         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
27198     }
27199 }
27200 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Resource1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27201     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27202         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
27203     }
27204 }
27205 impl ::std::convert::From<ID3D12Resource1> for ID3D12Resource {
from(value: ID3D12Resource1) -> Self27206     fn from(value: ID3D12Resource1) -> Self {
27207         unsafe { ::std::mem::transmute(value) }
27208     }
27209 }
27210 impl ::std::convert::From<&ID3D12Resource1> for ID3D12Resource {
from(value: &ID3D12Resource1) -> Self27211     fn from(value: &ID3D12Resource1) -> Self {
27212         ::std::convert::From::from(::std::clone::Clone::clone(value))
27213     }
27214 }
27215 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Resource> for ID3D12Resource1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Resource>27216     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Resource> {
27217         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Resource>::into(self))
27218     }
27219 }
27220 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Resource> for &ID3D12Resource1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Resource>27221     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Resource> {
27222         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Resource>::into(::std::clone::Clone::clone(self)))
27223     }
27224 }
27225 impl ::std::convert::From<ID3D12Resource1> for ID3D12Pageable {
from(value: ID3D12Resource1) -> Self27226     fn from(value: ID3D12Resource1) -> Self {
27227         unsafe { ::std::mem::transmute(value) }
27228     }
27229 }
27230 impl ::std::convert::From<&ID3D12Resource1> for ID3D12Pageable {
from(value: &ID3D12Resource1) -> Self27231     fn from(value: &ID3D12Resource1) -> Self {
27232         ::std::convert::From::from(::std::clone::Clone::clone(value))
27233     }
27234 }
27235 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for ID3D12Resource1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>27236     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
27237         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(self))
27238     }
27239 }
27240 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for &ID3D12Resource1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>27241     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
27242         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(::std::clone::Clone::clone(self)))
27243     }
27244 }
27245 impl ::std::convert::From<ID3D12Resource1> for ID3D12DeviceChild {
from(value: ID3D12Resource1) -> Self27246     fn from(value: ID3D12Resource1) -> Self {
27247         unsafe { ::std::mem::transmute(value) }
27248     }
27249 }
27250 impl ::std::convert::From<&ID3D12Resource1> for ID3D12DeviceChild {
from(value: &ID3D12Resource1) -> Self27251     fn from(value: &ID3D12Resource1) -> Self {
27252         ::std::convert::From::from(::std::clone::Clone::clone(value))
27253     }
27254 }
27255 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12Resource1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>27256     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
27257         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
27258     }
27259 }
27260 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12Resource1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>27261     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
27262         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
27263     }
27264 }
27265 impl ::std::convert::From<ID3D12Resource1> for ID3D12Object {
from(value: ID3D12Resource1) -> Self27266     fn from(value: ID3D12Resource1) -> Self {
27267         unsafe { ::std::mem::transmute(value) }
27268     }
27269 }
27270 impl ::std::convert::From<&ID3D12Resource1> for ID3D12Object {
from(value: &ID3D12Resource1) -> Self27271     fn from(value: &ID3D12Resource1) -> Self {
27272         ::std::convert::From::from(::std::clone::Clone::clone(value))
27273     }
27274 }
27275 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Resource1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>27276     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
27277         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
27278     }
27279 }
27280 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Resource1 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>27281     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
27282         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
27283     }
27284 }
27285 #[repr(C)]
27286 #[doc(hidden)]
27287 pub struct ID3D12Resource1_abi(
27288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
27289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
27294     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
27295     #[cfg(not(feature = "Win32_Foundation"))] usize,
27296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, subresource: u32, preadrange: *const D3D12_RANGE, ppdata: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, subresource: u32, pwrittenrange: *const D3D12_RANGE),
27299     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_DESC),
27300     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
27301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
27302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dstsubresource: u32, pdstbox: *const D3D12_BOX, psrcdata: *const ::std::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32) -> ::windows::runtime::HRESULT,
27303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstdata: *mut ::std::ffi::c_void, dstrowpitch: u32, dstdepthpitch: u32, srcsubresource: u32, psrcbox: *const D3D12_BOX) -> ::windows::runtime::HRESULT,
27304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *mut D3D12_HEAP_PROPERTIES, pheapflags: *mut D3D12_HEAP_FLAGS) -> ::windows::runtime::HRESULT,
27305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppprotectedsession: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27306 );
27307 #[repr(transparent)]
27308 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
27309 pub struct ID3D12Resource2(::windows::runtime::IUnknown);
27310 impl ID3D12Resource2 {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>27311     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
27312         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
27313     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>27314     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
27315         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
27316     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>27317     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
27318         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
27319     }
27320     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>27321     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
27322         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
27323     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>27324     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
27325         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
27326     }
Map(&self, subresource: u32, preadrange: *const D3D12_RANGE, ppdata: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>27327     pub unsafe fn Map(&self, subresource: u32, preadrange: *const D3D12_RANGE, ppdata: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
27328         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(subresource), ::std::mem::transmute(preadrange), ::std::mem::transmute(ppdata)).ok()
27329     }
Unmap(&self, subresource: u32, pwrittenrange: *const D3D12_RANGE)27330     pub unsafe fn Unmap(&self, subresource: u32, pwrittenrange: *const D3D12_RANGE) {
27331         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(subresource), ::std::mem::transmute(pwrittenrange)))
27332     }
27333     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetDesc(&self) -> D3D12_RESOURCE_DESC27334     pub unsafe fn GetDesc(&self) -> D3D12_RESOURCE_DESC {
27335         let mut result__: D3D12_RESOURCE_DESC = ::std::default::Default::default();
27336         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__);
27337         result__
27338     }
GetGPUVirtualAddress(&self) -> u6427339     pub unsafe fn GetGPUVirtualAddress(&self) -> u64 {
27340         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)))
27341     }
WriteToSubresource(&self, dstsubresource: u32, pdstbox: *const D3D12_BOX, psrcdata: *const ::std::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32) -> ::windows::runtime::Result<()>27342     pub unsafe fn WriteToSubresource(&self, dstsubresource: u32, pdstbox: *const D3D12_BOX, psrcdata: *const ::std::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32) -> ::windows::runtime::Result<()> {
27343         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(dstsubresource), ::std::mem::transmute(pdstbox), ::std::mem::transmute(psrcdata), ::std::mem::transmute(srcrowpitch), ::std::mem::transmute(srcdepthpitch)).ok()
27344     }
ReadFromSubresource(&self, pdstdata: *mut ::std::ffi::c_void, dstrowpitch: u32, dstdepthpitch: u32, srcsubresource: u32, psrcbox: *const D3D12_BOX) -> ::windows::runtime::Result<()>27345     pub unsafe fn ReadFromSubresource(&self, pdstdata: *mut ::std::ffi::c_void, dstrowpitch: u32, dstdepthpitch: u32, srcsubresource: u32, psrcbox: *const D3D12_BOX) -> ::windows::runtime::Result<()> {
27346         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdstdata), ::std::mem::transmute(dstrowpitch), ::std::mem::transmute(dstdepthpitch), ::std::mem::transmute(srcsubresource), ::std::mem::transmute(psrcbox)).ok()
27347     }
GetHeapProperties(&self, pheapproperties: *mut D3D12_HEAP_PROPERTIES, pheapflags: *mut D3D12_HEAP_FLAGS) -> ::windows::runtime::Result<()>27348     pub unsafe fn GetHeapProperties(&self, pheapproperties: *mut D3D12_HEAP_PROPERTIES, pheapflags: *mut D3D12_HEAP_FLAGS) -> ::windows::runtime::Result<()> {
27349         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pheapproperties), ::std::mem::transmute(pheapflags)).ok()
27350     }
GetProtectedResourceSession<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>27351     pub unsafe fn GetProtectedResourceSession<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
27352         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
27353     }
27354     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetDesc1(&self) -> D3D12_RESOURCE_DESC127355     pub unsafe fn GetDesc1(&self) -> D3D12_RESOURCE_DESC1 {
27356         let mut result__: D3D12_RESOURCE_DESC1 = ::std::default::Default::default();
27357         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__);
27358         result__
27359     }
27360 }
27361 unsafe impl ::windows::runtime::Interface for ID3D12Resource2 {
27362     type Vtable = ID3D12Resource2_abi;
27363     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3191270459, 60037, 19179, [164, 90, 233, 215, 100, 4, 164, 149]);
27364 }
27365 impl ::std::convert::From<ID3D12Resource2> for ::windows::runtime::IUnknown {
from(value: ID3D12Resource2) -> Self27366     fn from(value: ID3D12Resource2) -> Self {
27367         unsafe { ::std::mem::transmute(value) }
27368     }
27369 }
27370 impl ::std::convert::From<&ID3D12Resource2> for ::windows::runtime::IUnknown {
from(value: &ID3D12Resource2) -> Self27371     fn from(value: &ID3D12Resource2) -> Self {
27372         ::std::convert::From::from(::std::clone::Clone::clone(value))
27373     }
27374 }
27375 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Resource2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27376     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27377         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
27378     }
27379 }
27380 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Resource2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27381     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27382         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
27383     }
27384 }
27385 impl ::std::convert::From<ID3D12Resource2> for ID3D12Resource1 {
from(value: ID3D12Resource2) -> Self27386     fn from(value: ID3D12Resource2) -> Self {
27387         unsafe { ::std::mem::transmute(value) }
27388     }
27389 }
27390 impl ::std::convert::From<&ID3D12Resource2> for ID3D12Resource1 {
from(value: &ID3D12Resource2) -> Self27391     fn from(value: &ID3D12Resource2) -> Self {
27392         ::std::convert::From::from(::std::clone::Clone::clone(value))
27393     }
27394 }
27395 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Resource1> for ID3D12Resource2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Resource1>27396     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Resource1> {
27397         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Resource1>::into(self))
27398     }
27399 }
27400 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Resource1> for &ID3D12Resource2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Resource1>27401     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Resource1> {
27402         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Resource1>::into(::std::clone::Clone::clone(self)))
27403     }
27404 }
27405 impl ::std::convert::From<ID3D12Resource2> for ID3D12Resource {
from(value: ID3D12Resource2) -> Self27406     fn from(value: ID3D12Resource2) -> Self {
27407         unsafe { ::std::mem::transmute(value) }
27408     }
27409 }
27410 impl ::std::convert::From<&ID3D12Resource2> for ID3D12Resource {
from(value: &ID3D12Resource2) -> Self27411     fn from(value: &ID3D12Resource2) -> Self {
27412         ::std::convert::From::from(::std::clone::Clone::clone(value))
27413     }
27414 }
27415 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Resource> for ID3D12Resource2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Resource>27416     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Resource> {
27417         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Resource>::into(self))
27418     }
27419 }
27420 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Resource> for &ID3D12Resource2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Resource>27421     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Resource> {
27422         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Resource>::into(::std::clone::Clone::clone(self)))
27423     }
27424 }
27425 impl ::std::convert::From<ID3D12Resource2> for ID3D12Pageable {
from(value: ID3D12Resource2) -> Self27426     fn from(value: ID3D12Resource2) -> Self {
27427         unsafe { ::std::mem::transmute(value) }
27428     }
27429 }
27430 impl ::std::convert::From<&ID3D12Resource2> for ID3D12Pageable {
from(value: &ID3D12Resource2) -> Self27431     fn from(value: &ID3D12Resource2) -> Self {
27432         ::std::convert::From::from(::std::clone::Clone::clone(value))
27433     }
27434 }
27435 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for ID3D12Resource2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>27436     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
27437         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(self))
27438     }
27439 }
27440 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for &ID3D12Resource2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>27441     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
27442         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(::std::clone::Clone::clone(self)))
27443     }
27444 }
27445 impl ::std::convert::From<ID3D12Resource2> for ID3D12DeviceChild {
from(value: ID3D12Resource2) -> Self27446     fn from(value: ID3D12Resource2) -> Self {
27447         unsafe { ::std::mem::transmute(value) }
27448     }
27449 }
27450 impl ::std::convert::From<&ID3D12Resource2> for ID3D12DeviceChild {
from(value: &ID3D12Resource2) -> Self27451     fn from(value: &ID3D12Resource2) -> Self {
27452         ::std::convert::From::from(::std::clone::Clone::clone(value))
27453     }
27454 }
27455 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12Resource2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>27456     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
27457         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
27458     }
27459 }
27460 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12Resource2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>27461     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
27462         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
27463     }
27464 }
27465 impl ::std::convert::From<ID3D12Resource2> for ID3D12Object {
from(value: ID3D12Resource2) -> Self27466     fn from(value: ID3D12Resource2) -> Self {
27467         unsafe { ::std::mem::transmute(value) }
27468     }
27469 }
27470 impl ::std::convert::From<&ID3D12Resource2> for ID3D12Object {
from(value: &ID3D12Resource2) -> Self27471     fn from(value: &ID3D12Resource2) -> Self {
27472         ::std::convert::From::from(::std::clone::Clone::clone(value))
27473     }
27474 }
27475 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12Resource2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>27476     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
27477         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
27478     }
27479 }
27480 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12Resource2 {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>27481     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
27482         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
27483     }
27484 }
27485 #[repr(C)]
27486 #[doc(hidden)]
27487 pub struct ID3D12Resource2_abi(
27488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
27489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
27494     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
27495     #[cfg(not(feature = "Win32_Foundation"))] usize,
27496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, subresource: u32, preadrange: *const D3D12_RANGE, ppdata: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, subresource: u32, pwrittenrange: *const D3D12_RANGE),
27499     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_DESC),
27500     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
27501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
27502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dstsubresource: u32, pdstbox: *const D3D12_BOX, psrcdata: *const ::std::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32) -> ::windows::runtime::HRESULT,
27503     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdstdata: *mut ::std::ffi::c_void, dstrowpitch: u32, dstdepthpitch: u32, srcsubresource: u32, psrcbox: *const D3D12_BOX) -> ::windows::runtime::HRESULT,
27504     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pheapproperties: *mut D3D12_HEAP_PROPERTIES, pheapflags: *mut D3D12_HEAP_FLAGS) -> ::windows::runtime::HRESULT,
27505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppprotectedsession: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27506     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_RESOURCE_DESC1),
27507     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
27508 );
27509 #[repr(transparent)]
27510 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
27511 pub struct ID3D12RootSignature(::windows::runtime::IUnknown);
27512 impl ID3D12RootSignature {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>27513     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
27514         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
27515     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>27516     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
27517         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
27518     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>27519     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
27520         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
27521     }
27522     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>27523     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
27524         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
27525     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>27526     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
27527         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
27528     }
27529 }
27530 unsafe impl ::windows::runtime::Interface for ID3D12RootSignature {
27531     type Vtable = ID3D12RootSignature_abi;
27532     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3309988710, 29407, 20200, [139, 229, 169, 70, 161, 66, 146, 20]);
27533 }
27534 impl ::std::convert::From<ID3D12RootSignature> for ::windows::runtime::IUnknown {
from(value: ID3D12RootSignature) -> Self27535     fn from(value: ID3D12RootSignature) -> Self {
27536         unsafe { ::std::mem::transmute(value) }
27537     }
27538 }
27539 impl ::std::convert::From<&ID3D12RootSignature> for ::windows::runtime::IUnknown {
from(value: &ID3D12RootSignature) -> Self27540     fn from(value: &ID3D12RootSignature) -> Self {
27541         ::std::convert::From::from(::std::clone::Clone::clone(value))
27542     }
27543 }
27544 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12RootSignature {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27545     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27546         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
27547     }
27548 }
27549 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12RootSignature {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27550     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27551         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
27552     }
27553 }
27554 impl ::std::convert::From<ID3D12RootSignature> for ID3D12DeviceChild {
from(value: ID3D12RootSignature) -> Self27555     fn from(value: ID3D12RootSignature) -> Self {
27556         unsafe { ::std::mem::transmute(value) }
27557     }
27558 }
27559 impl ::std::convert::From<&ID3D12RootSignature> for ID3D12DeviceChild {
from(value: &ID3D12RootSignature) -> Self27560     fn from(value: &ID3D12RootSignature) -> Self {
27561         ::std::convert::From::from(::std::clone::Clone::clone(value))
27562     }
27563 }
27564 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12RootSignature {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>27565     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
27566         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
27567     }
27568 }
27569 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12RootSignature {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>27570     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
27571         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
27572     }
27573 }
27574 impl ::std::convert::From<ID3D12RootSignature> for ID3D12Object {
from(value: ID3D12RootSignature) -> Self27575     fn from(value: ID3D12RootSignature) -> Self {
27576         unsafe { ::std::mem::transmute(value) }
27577     }
27578 }
27579 impl ::std::convert::From<&ID3D12RootSignature> for ID3D12Object {
from(value: &ID3D12RootSignature) -> Self27580     fn from(value: &ID3D12RootSignature) -> Self {
27581         ::std::convert::From::from(::std::clone::Clone::clone(value))
27582     }
27583 }
27584 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12RootSignature {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>27585     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
27586         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
27587     }
27588 }
27589 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12RootSignature {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>27590     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
27591         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
27592     }
27593 }
27594 #[repr(C)]
27595 #[doc(hidden)]
27596 pub struct ID3D12RootSignature_abi(
27597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
27598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
27603     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
27604     #[cfg(not(feature = "Win32_Foundation"))] usize,
27605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27606 );
27607 #[repr(transparent)]
27608 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
27609 pub struct ID3D12RootSignatureDeserializer(::windows::runtime::IUnknown);
27610 impl ID3D12RootSignatureDeserializer {
GetRootSignatureDesc(&self) -> *mut D3D12_ROOT_SIGNATURE_DESC27611     pub unsafe fn GetRootSignatureDesc(&self) -> *mut D3D12_ROOT_SIGNATURE_DESC {
27612         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)))
27613     }
27614 }
27615 unsafe impl ::windows::runtime::Interface for ID3D12RootSignatureDeserializer {
27616     type Vtable = ID3D12RootSignatureDeserializer_abi;
27617     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(883647611, 15560, 18092, [132, 27, 192, 150, 86, 69, 192, 70]);
27618 }
27619 impl ::std::convert::From<ID3D12RootSignatureDeserializer> for ::windows::runtime::IUnknown {
from(value: ID3D12RootSignatureDeserializer) -> Self27620     fn from(value: ID3D12RootSignatureDeserializer) -> Self {
27621         unsafe { ::std::mem::transmute(value) }
27622     }
27623 }
27624 impl ::std::convert::From<&ID3D12RootSignatureDeserializer> for ::windows::runtime::IUnknown {
from(value: &ID3D12RootSignatureDeserializer) -> Self27625     fn from(value: &ID3D12RootSignatureDeserializer) -> Self {
27626         ::std::convert::From::from(::std::clone::Clone::clone(value))
27627     }
27628 }
27629 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12RootSignatureDeserializer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27630     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27631         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
27632     }
27633 }
27634 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12RootSignatureDeserializer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27635     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27636         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
27637     }
27638 }
27639 #[repr(C)]
27640 #[doc(hidden)]
27641 pub struct ID3D12RootSignatureDeserializer_abi(
27642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
27643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> *mut D3D12_ROOT_SIGNATURE_DESC,
27646 );
27647 #[repr(transparent)]
27648 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
27649 pub struct ID3D12SDKConfiguration(::windows::runtime::IUnknown);
27650 impl ID3D12SDKConfiguration {
27651     #[cfg(feature = "Win32_Foundation")]
SetSDKVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, sdkversion: u32, sdkpath: Param1) -> ::windows::runtime::Result<()>27652     pub unsafe fn SetSDKVersion<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, sdkversion: u32, sdkpath: Param1) -> ::windows::runtime::Result<()> {
27653         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(sdkversion), sdkpath.into_param().abi()).ok()
27654     }
27655 }
27656 unsafe impl ::windows::runtime::Interface for ID3D12SDKConfiguration {
27657     type Vtable = ID3D12SDKConfiguration_abi;
27658     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3924513556, 13226, 17074, [167, 24, 215, 127, 88, 177, 241, 199]);
27659 }
27660 impl ::std::convert::From<ID3D12SDKConfiguration> for ::windows::runtime::IUnknown {
from(value: ID3D12SDKConfiguration) -> Self27661     fn from(value: ID3D12SDKConfiguration) -> Self {
27662         unsafe { ::std::mem::transmute(value) }
27663     }
27664 }
27665 impl ::std::convert::From<&ID3D12SDKConfiguration> for ::windows::runtime::IUnknown {
from(value: &ID3D12SDKConfiguration) -> Self27666     fn from(value: &ID3D12SDKConfiguration) -> Self {
27667         ::std::convert::From::from(::std::clone::Clone::clone(value))
27668     }
27669 }
27670 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12SDKConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27671     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27672         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
27673     }
27674 }
27675 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12SDKConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27676     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27677         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
27678     }
27679 }
27680 #[repr(C)]
27681 #[doc(hidden)]
27682 pub struct ID3D12SDKConfiguration_abi(
27683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
27684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27686     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sdkversion: u32, sdkpath: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT,
27687     #[cfg(not(feature = "Win32_Foundation"))] usize,
27688 );
27689 #[repr(transparent)]
27690 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
27691 pub struct ID3D12ShaderCacheSession(::windows::runtime::IUnknown);
27692 impl ID3D12ShaderCacheSession {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>27693     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
27694         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
27695     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>27696     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
27697         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
27698     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>27699     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
27700         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
27701     }
27702     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>27703     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
27704         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
27705     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>27706     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
27707         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
27708     }
FindValue(&self, pkey: *const ::std::ffi::c_void, keysize: u32, pvalue: *mut ::std::ffi::c_void, pvaluesize: *mut u32) -> ::windows::runtime::Result<()>27709     pub unsafe fn FindValue(&self, pkey: *const ::std::ffi::c_void, keysize: u32, pvalue: *mut ::std::ffi::c_void, pvaluesize: *mut u32) -> ::windows::runtime::Result<()> {
27710         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pkey), ::std::mem::transmute(keysize), ::std::mem::transmute(pvalue), ::std::mem::transmute(pvaluesize)).ok()
27711     }
StoreValue(&self, pkey: *const ::std::ffi::c_void, keysize: u32, pvalue: *const ::std::ffi::c_void, valuesize: u32) -> ::windows::runtime::Result<()>27712     pub unsafe fn StoreValue(&self, pkey: *const ::std::ffi::c_void, keysize: u32, pvalue: *const ::std::ffi::c_void, valuesize: u32) -> ::windows::runtime::Result<()> {
27713         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pkey), ::std::mem::transmute(keysize), ::std::mem::transmute(pvalue), ::std::mem::transmute(valuesize)).ok()
27714     }
SetDeleteOnDestroy(&self)27715     pub unsafe fn SetDeleteOnDestroy(&self) {
27716         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)))
27717     }
GetDesc(&self) -> D3D12_SHADER_CACHE_SESSION_DESC27718     pub unsafe fn GetDesc(&self) -> D3D12_SHADER_CACHE_SESSION_DESC {
27719         let mut result__: D3D12_SHADER_CACHE_SESSION_DESC = ::std::default::Default::default();
27720         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__);
27721         result__
27722     }
27723 }
27724 unsafe impl ::windows::runtime::Interface for ID3D12ShaderCacheSession {
27725     type Vtable = ID3D12ShaderCacheSession_abi;
27726     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(685918557, 3940, 19172, [166, 236, 18, 146, 85, 220, 73, 168]);
27727 }
27728 impl ::std::convert::From<ID3D12ShaderCacheSession> for ::windows::runtime::IUnknown {
from(value: ID3D12ShaderCacheSession) -> Self27729     fn from(value: ID3D12ShaderCacheSession) -> Self {
27730         unsafe { ::std::mem::transmute(value) }
27731     }
27732 }
27733 impl ::std::convert::From<&ID3D12ShaderCacheSession> for ::windows::runtime::IUnknown {
from(value: &ID3D12ShaderCacheSession) -> Self27734     fn from(value: &ID3D12ShaderCacheSession) -> Self {
27735         ::std::convert::From::from(::std::clone::Clone::clone(value))
27736     }
27737 }
27738 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12ShaderCacheSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27739     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27740         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
27741     }
27742 }
27743 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12ShaderCacheSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27744     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27745         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
27746     }
27747 }
27748 impl ::std::convert::From<ID3D12ShaderCacheSession> for ID3D12DeviceChild {
from(value: ID3D12ShaderCacheSession) -> Self27749     fn from(value: ID3D12ShaderCacheSession) -> Self {
27750         unsafe { ::std::mem::transmute(value) }
27751     }
27752 }
27753 impl ::std::convert::From<&ID3D12ShaderCacheSession> for ID3D12DeviceChild {
from(value: &ID3D12ShaderCacheSession) -> Self27754     fn from(value: &ID3D12ShaderCacheSession) -> Self {
27755         ::std::convert::From::from(::std::clone::Clone::clone(value))
27756     }
27757 }
27758 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12ShaderCacheSession {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>27759     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
27760         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
27761     }
27762 }
27763 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12ShaderCacheSession {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>27764     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
27765         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
27766     }
27767 }
27768 impl ::std::convert::From<ID3D12ShaderCacheSession> for ID3D12Object {
from(value: ID3D12ShaderCacheSession) -> Self27769     fn from(value: ID3D12ShaderCacheSession) -> Self {
27770         unsafe { ::std::mem::transmute(value) }
27771     }
27772 }
27773 impl ::std::convert::From<&ID3D12ShaderCacheSession> for ID3D12Object {
from(value: &ID3D12ShaderCacheSession) -> Self27774     fn from(value: &ID3D12ShaderCacheSession) -> Self {
27775         ::std::convert::From::from(::std::clone::Clone::clone(value))
27776     }
27777 }
27778 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12ShaderCacheSession {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>27779     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
27780         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
27781     }
27782 }
27783 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12ShaderCacheSession {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>27784     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
27785         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
27786     }
27787 }
27788 #[repr(C)]
27789 #[doc(hidden)]
27790 pub struct ID3D12ShaderCacheSession_abi(
27791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
27792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
27797     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
27798     #[cfg(not(feature = "Win32_Foundation"))] usize,
27799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
27800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pkey: *const ::std::ffi::c_void, keysize: u32, pvalue: *mut ::std::ffi::c_void, pvaluesize: *mut u32) -> ::windows::runtime::HRESULT,
27801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pkey: *const ::std::ffi::c_void, keysize: u32, pvalue: *const ::std::ffi::c_void, valuesize: u32) -> ::windows::runtime::HRESULT,
27802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
27803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut D3D12_SHADER_CACHE_SESSION_DESC),
27804 );
27805 #[repr(transparent)]
27806 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
27807 pub struct ID3D12ShaderReflection(::windows::runtime::IUnknown);
27808 impl ID3D12ShaderReflection {
27809     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
GetDesc(&self) -> ::windows::runtime::Result<D3D12_SHADER_DESC>27810     pub unsafe fn GetDesc(&self) -> ::windows::runtime::Result<D3D12_SHADER_DESC> {
27811         let mut result__: <D3D12_SHADER_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
27812         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_SHADER_DESC>(result__)
27813     }
GetConstantBufferByIndex(&self, index: u32) -> ::std::option::Option<ID3D12ShaderReflectionConstantBuffer>27814     pub unsafe fn GetConstantBufferByIndex(&self, index: u32) -> ::std::option::Option<ID3D12ShaderReflectionConstantBuffer> {
27815         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(index)))
27816     }
27817     #[cfg(feature = "Win32_Foundation")]
GetConstantBufferByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::std::option::Option<ID3D12ShaderReflectionConstantBuffer>27818     pub unsafe fn GetConstantBufferByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::std::option::Option<ID3D12ShaderReflectionConstantBuffer> {
27819         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), name.into_param().abi()))
27820     }
27821     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
GetResourceBindingDesc(&self, resourceindex: u32) -> ::windows::runtime::Result<D3D12_SHADER_INPUT_BIND_DESC>27822     pub unsafe fn GetResourceBindingDesc(&self, resourceindex: u32) -> ::windows::runtime::Result<D3D12_SHADER_INPUT_BIND_DESC> {
27823         let mut result__: <D3D12_SHADER_INPUT_BIND_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
27824         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(resourceindex), &mut result__).from_abi::<D3D12_SHADER_INPUT_BIND_DESC>(result__)
27825     }
27826     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
GetInputParameterDesc(&self, parameterindex: u32) -> ::windows::runtime::Result<D3D12_SIGNATURE_PARAMETER_DESC>27827     pub unsafe fn GetInputParameterDesc(&self, parameterindex: u32) -> ::windows::runtime::Result<D3D12_SIGNATURE_PARAMETER_DESC> {
27828         let mut result__: <D3D12_SIGNATURE_PARAMETER_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
27829         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(parameterindex), &mut result__).from_abi::<D3D12_SIGNATURE_PARAMETER_DESC>(result__)
27830     }
27831     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
GetOutputParameterDesc(&self, parameterindex: u32) -> ::windows::runtime::Result<D3D12_SIGNATURE_PARAMETER_DESC>27832     pub unsafe fn GetOutputParameterDesc(&self, parameterindex: u32) -> ::windows::runtime::Result<D3D12_SIGNATURE_PARAMETER_DESC> {
27833         let mut result__: <D3D12_SIGNATURE_PARAMETER_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
27834         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(parameterindex), &mut result__).from_abi::<D3D12_SIGNATURE_PARAMETER_DESC>(result__)
27835     }
27836     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
GetPatchConstantParameterDesc(&self, parameterindex: u32) -> ::windows::runtime::Result<D3D12_SIGNATURE_PARAMETER_DESC>27837     pub unsafe fn GetPatchConstantParameterDesc(&self, parameterindex: u32) -> ::windows::runtime::Result<D3D12_SIGNATURE_PARAMETER_DESC> {
27838         let mut result__: <D3D12_SIGNATURE_PARAMETER_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
27839         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(parameterindex), &mut result__).from_abi::<D3D12_SIGNATURE_PARAMETER_DESC>(result__)
27840     }
27841     #[cfg(feature = "Win32_Foundation")]
GetVariableByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::std::option::Option<ID3D12ShaderReflectionVariable>27842     pub unsafe fn GetVariableByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::std::option::Option<ID3D12ShaderReflectionVariable> {
27843         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), name.into_param().abi()))
27844     }
27845     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
GetResourceBindingDescByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::windows::runtime::Result<D3D12_SHADER_INPUT_BIND_DESC>27846     pub unsafe fn GetResourceBindingDescByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::windows::runtime::Result<D3D12_SHADER_INPUT_BIND_DESC> {
27847         let mut result__: <D3D12_SHADER_INPUT_BIND_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
27848         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<D3D12_SHADER_INPUT_BIND_DESC>(result__)
27849     }
GetMovInstructionCount(&self) -> u3227850     pub unsafe fn GetMovInstructionCount(&self) -> u32 {
27851         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)))
27852     }
GetMovcInstructionCount(&self) -> u3227853     pub unsafe fn GetMovcInstructionCount(&self) -> u32 {
27854         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)))
27855     }
GetConversionInstructionCount(&self) -> u3227856     pub unsafe fn GetConversionInstructionCount(&self) -> u32 {
27857         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)))
27858     }
GetBitwiseInstructionCount(&self) -> u3227859     pub unsafe fn GetBitwiseInstructionCount(&self) -> u32 {
27860         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)))
27861     }
27862     #[cfg(feature = "Win32_Graphics_Direct3D11")]
GetGSInputPrimitive(&self) -> super::Direct3D11::D3D_PRIMITIVE27863     pub unsafe fn GetGSInputPrimitive(&self) -> super::Direct3D11::D3D_PRIMITIVE {
27864         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self)))
27865     }
27866     #[cfg(feature = "Win32_Foundation")]
IsSampleFrequencyShader(&self) -> super::super::Foundation::BOOL27867     pub unsafe fn IsSampleFrequencyShader(&self) -> super::super::Foundation::BOOL {
27868         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self)))
27869     }
GetNumInterfaceSlots(&self) -> u3227870     pub unsafe fn GetNumInterfaceSlots(&self) -> u32 {
27871         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self)))
27872     }
27873     #[cfg(feature = "Win32_Graphics_Direct3D11")]
GetMinFeatureLevel(&self) -> ::windows::runtime::Result<super::Direct3D11::D3D_FEATURE_LEVEL>27874     pub unsafe fn GetMinFeatureLevel(&self) -> ::windows::runtime::Result<super::Direct3D11::D3D_FEATURE_LEVEL> {
27875         let mut result__: <super::Direct3D11::D3D_FEATURE_LEVEL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
27876         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::Direct3D11::D3D_FEATURE_LEVEL>(result__)
27877     }
GetThreadGroupSize(&self, psizex: *mut u32, psizey: *mut u32, psizez: *mut u32) -> u3227878     pub unsafe fn GetThreadGroupSize(&self, psizex: *mut u32, psizey: *mut u32, psizez: *mut u32) -> u32 {
27879         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(psizex), ::std::mem::transmute(psizey), ::std::mem::transmute(psizez)))
27880     }
GetRequiresFlags(&self) -> u6427881     pub unsafe fn GetRequiresFlags(&self) -> u64 {
27882         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self)))
27883     }
27884 }
27885 unsafe impl ::windows::runtime::Interface for ID3D12ShaderReflection {
27886     type Vtable = ID3D12ShaderReflection_abi;
27887     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1515747709, 42796, 18317, [139, 162, 239, 198, 176, 239, 232, 142]);
27888 }
27889 impl ::std::convert::From<ID3D12ShaderReflection> for ::windows::runtime::IUnknown {
from(value: ID3D12ShaderReflection) -> Self27890     fn from(value: ID3D12ShaderReflection) -> Self {
27891         unsafe { ::std::mem::transmute(value) }
27892     }
27893 }
27894 impl ::std::convert::From<&ID3D12ShaderReflection> for ::windows::runtime::IUnknown {
from(value: &ID3D12ShaderReflection) -> Self27895     fn from(value: &ID3D12ShaderReflection) -> Self {
27896         ::std::convert::From::from(::std::clone::Clone::clone(value))
27897     }
27898 }
27899 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12ShaderReflection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27900     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27901         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
27902     }
27903 }
27904 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12ShaderReflection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27905     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27906         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
27907     }
27908 }
27909 #[repr(C)]
27910 #[doc(hidden)]
27911 pub struct ID3D12ShaderReflection_abi(
27912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
27913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27915     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut D3D12_SHADER_DESC) -> ::windows::runtime::HRESULT,
27916     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11")))] usize,
27917     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32) -> ::windows::runtime::RawPtr,
27918     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PSTR) -> ::windows::runtime::RawPtr,
27919     #[cfg(not(feature = "Win32_Foundation"))] usize,
27920     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resourceindex: u32, pdesc: *mut D3D12_SHADER_INPUT_BIND_DESC) -> ::windows::runtime::HRESULT,
27921     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11")))] usize,
27922     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameterindex: u32, pdesc: *mut D3D12_SIGNATURE_PARAMETER_DESC) -> ::windows::runtime::HRESULT,
27923     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11")))] usize,
27924     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameterindex: u32, pdesc: *mut D3D12_SIGNATURE_PARAMETER_DESC) -> ::windows::runtime::HRESULT,
27925     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11")))] usize,
27926     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameterindex: u32, pdesc: *mut D3D12_SIGNATURE_PARAMETER_DESC) -> ::windows::runtime::HRESULT,
27927     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11")))] usize,
27928     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PSTR) -> ::windows::runtime::RawPtr,
27929     #[cfg(not(feature = "Win32_Foundation"))] usize,
27930     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PSTR, pdesc: *mut D3D12_SHADER_INPUT_BIND_DESC) -> ::windows::runtime::HRESULT,
27931     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11")))] usize,
27932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27935     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27936     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::Direct3D11::D3D_PRIMITIVE,
27937     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
27938     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
27939     #[cfg(not(feature = "Win32_Foundation"))] usize,
27940     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27941     #[cfg(feature = "Win32_Graphics_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plevel: *mut super::Direct3D11::D3D_FEATURE_LEVEL) -> ::windows::runtime::HRESULT,
27942     #[cfg(not(feature = "Win32_Graphics_Direct3D11"))] usize,
27943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psizex: *mut u32, psizey: *mut u32, psizez: *mut u32) -> u32,
27944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
27945 );
27946 #[repr(transparent)]
27947 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
27948 pub struct ID3D12ShaderReflectionConstantBuffer(::windows::runtime::IUnknown);
27949 impl ID3D12ShaderReflectionConstantBuffer {
27950     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
GetDesc(&self, pdesc: *mut D3D12_SHADER_BUFFER_DESC) -> ::windows::runtime::Result<()>27951     pub unsafe fn GetDesc(&self, pdesc: *mut D3D12_SHADER_BUFFER_DESC) -> ::windows::runtime::Result<()> {
27952         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdesc)).ok()
27953     }
GetVariableByIndex(&self, index: u32) -> ::std::option::Option<ID3D12ShaderReflectionVariable>27954     pub unsafe fn GetVariableByIndex(&self, index: u32) -> ::std::option::Option<ID3D12ShaderReflectionVariable> {
27955         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(index)))
27956     }
27957     #[cfg(feature = "Win32_Foundation")]
GetVariableByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::std::option::Option<ID3D12ShaderReflectionVariable>27958     pub unsafe fn GetVariableByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::std::option::Option<ID3D12ShaderReflectionVariable> {
27959         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), name.into_param().abi()))
27960     }
27961 }
27962 unsafe impl ::windows::runtime::Interface for ID3D12ShaderReflectionConstantBuffer {
27963     type Vtable = ID3D12ShaderReflectionConstantBuffer_abi;
27964     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3314915508, 18611, 18537, [185, 177, 177, 97, 139, 20, 168, 183]);
27965 }
27966 impl ::std::convert::From<ID3D12ShaderReflectionConstantBuffer> for ::windows::runtime::IUnknown {
from(value: ID3D12ShaderReflectionConstantBuffer) -> Self27967     fn from(value: ID3D12ShaderReflectionConstantBuffer) -> Self {
27968         unsafe { ::std::mem::transmute(value) }
27969     }
27970 }
27971 impl ::std::convert::From<&ID3D12ShaderReflectionConstantBuffer> for ::windows::runtime::IUnknown {
from(value: &ID3D12ShaderReflectionConstantBuffer) -> Self27972     fn from(value: &ID3D12ShaderReflectionConstantBuffer) -> Self {
27973         ::std::convert::From::from(::std::clone::Clone::clone(value))
27974     }
27975 }
27976 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12ShaderReflectionConstantBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27977     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27978         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
27979     }
27980 }
27981 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12ShaderReflectionConstantBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27982     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27983         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
27984     }
27985 }
27986 #[repr(C)]
27987 #[doc(hidden)]
27988 pub struct ID3D12ShaderReflectionConstantBuffer_abi(
27989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
27990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
27992     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut D3D12_SHADER_BUFFER_DESC) -> ::windows::runtime::HRESULT,
27993     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11")))] usize,
27994     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32) -> ::windows::runtime::RawPtr,
27995     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PSTR) -> ::windows::runtime::RawPtr,
27996     #[cfg(not(feature = "Win32_Foundation"))] usize,
27997 );
27998 #[repr(transparent)]
27999 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28000 pub struct ID3D12ShaderReflectionType(::windows::runtime::IUnknown);
28001 impl ID3D12ShaderReflectionType {
28002     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))]
GetDesc(&self) -> ::windows::runtime::Result<D3D12_SHADER_TYPE_DESC>28003     pub unsafe fn GetDesc(&self) -> ::windows::runtime::Result<D3D12_SHADER_TYPE_DESC> {
28004         let mut result__: <D3D12_SHADER_TYPE_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
28005         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_SHADER_TYPE_DESC>(result__)
28006     }
GetMemberTypeByIndex(&self, index: u32) -> ::std::option::Option<ID3D12ShaderReflectionType>28007     pub unsafe fn GetMemberTypeByIndex(&self, index: u32) -> ::std::option::Option<ID3D12ShaderReflectionType> {
28008         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(index)))
28009     }
28010     #[cfg(feature = "Win32_Foundation")]
GetMemberTypeByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::std::option::Option<ID3D12ShaderReflectionType>28011     pub unsafe fn GetMemberTypeByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, name: Param0) -> ::std::option::Option<ID3D12ShaderReflectionType> {
28012         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), name.into_param().abi()))
28013     }
28014     #[cfg(feature = "Win32_Foundation")]
GetMemberTypeName(&self, index: u32) -> super::super::Foundation::PSTR28015     pub unsafe fn GetMemberTypeName(&self, index: u32) -> super::super::Foundation::PSTR {
28016         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(index)))
28017     }
IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12ShaderReflectionType>>(&self, ptype: Param0) -> ::windows::runtime::Result<()>28018     pub unsafe fn IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12ShaderReflectionType>>(&self, ptype: Param0) -> ::windows::runtime::Result<()> {
28019         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ptype.into_param().abi()).ok()
28020     }
GetSubType(&self) -> ::std::option::Option<ID3D12ShaderReflectionType>28021     pub unsafe fn GetSubType(&self) -> ::std::option::Option<ID3D12ShaderReflectionType> {
28022         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
28023     }
GetBaseClass(&self) -> ::std::option::Option<ID3D12ShaderReflectionType>28024     pub unsafe fn GetBaseClass(&self) -> ::std::option::Option<ID3D12ShaderReflectionType> {
28025         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)))
28026     }
GetNumInterfaces(&self) -> u3228027     pub unsafe fn GetNumInterfaces(&self) -> u32 {
28028         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)))
28029     }
GetInterfaceByIndex(&self, uindex: u32) -> ::std::option::Option<ID3D12ShaderReflectionType>28030     pub unsafe fn GetInterfaceByIndex(&self, uindex: u32) -> ::std::option::Option<ID3D12ShaderReflectionType> {
28031         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(uindex)))
28032     }
IsOfType<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12ShaderReflectionType>>(&self, ptype: Param0) -> ::windows::runtime::Result<()>28033     pub unsafe fn IsOfType<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12ShaderReflectionType>>(&self, ptype: Param0) -> ::windows::runtime::Result<()> {
28034         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ptype.into_param().abi()).ok()
28035     }
ImplementsInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12ShaderReflectionType>>(&self, pbase: Param0) -> ::windows::runtime::Result<()>28036     pub unsafe fn ImplementsInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12ShaderReflectionType>>(&self, pbase: Param0) -> ::windows::runtime::Result<()> {
28037         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), pbase.into_param().abi()).ok()
28038     }
28039 }
28040 unsafe impl ::windows::runtime::Interface for ID3D12ShaderReflectionType {
28041     type Vtable = ID3D12ShaderReflectionType_abi;
28042     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3910386513, 30781, 18634, [161, 209, 79, 48, 98, 132, 173, 86]);
28043 }
28044 impl ::std::convert::From<ID3D12ShaderReflectionType> for ::windows::runtime::IUnknown {
from(value: ID3D12ShaderReflectionType) -> Self28045     fn from(value: ID3D12ShaderReflectionType) -> Self {
28046         unsafe { ::std::mem::transmute(value) }
28047     }
28048 }
28049 impl ::std::convert::From<&ID3D12ShaderReflectionType> for ::windows::runtime::IUnknown {
from(value: &ID3D12ShaderReflectionType) -> Self28050     fn from(value: &ID3D12ShaderReflectionType) -> Self {
28051         ::std::convert::From::from(::std::clone::Clone::clone(value))
28052     }
28053 }
28054 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12ShaderReflectionType {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28055     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28056         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28057     }
28058 }
28059 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12ShaderReflectionType {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28060     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28061         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28062     }
28063 }
28064 #[repr(C)]
28065 #[doc(hidden)]
28066 pub struct ID3D12ShaderReflectionType_abi(
28067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28070     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut D3D12_SHADER_TYPE_DESC) -> ::windows::runtime::HRESULT,
28071     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D11")))] usize,
28072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32) -> ::windows::runtime::RawPtr,
28073     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PSTR) -> ::windows::runtime::RawPtr,
28074     #[cfg(not(feature = "Win32_Foundation"))] usize,
28075     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32) -> super::super::Foundation::PSTR,
28076     #[cfg(not(feature = "Win32_Foundation"))] usize,
28077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptype: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::RawPtr,
28079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::RawPtr,
28080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28081     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uindex: u32) -> ::windows::runtime::RawPtr,
28082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptype: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbase: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28084 );
28085 #[repr(transparent)]
28086 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28087 pub struct ID3D12ShaderReflectionVariable(::windows::runtime::IUnknown);
28088 impl ID3D12ShaderReflectionVariable {
28089     #[cfg(feature = "Win32_Foundation")]
GetDesc(&self) -> ::windows::runtime::Result<D3D12_SHADER_VARIABLE_DESC>28090     pub unsafe fn GetDesc(&self) -> ::windows::runtime::Result<D3D12_SHADER_VARIABLE_DESC> {
28091         let mut result__: <D3D12_SHADER_VARIABLE_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
28092         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<D3D12_SHADER_VARIABLE_DESC>(result__)
28093     }
GetType(&self) -> ::std::option::Option<ID3D12ShaderReflectionType>28094     pub unsafe fn GetType(&self) -> ::std::option::Option<ID3D12ShaderReflectionType> {
28095         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)))
28096     }
GetBuffer(&self) -> ::std::option::Option<ID3D12ShaderReflectionConstantBuffer>28097     pub unsafe fn GetBuffer(&self) -> ::std::option::Option<ID3D12ShaderReflectionConstantBuffer> {
28098         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)))
28099     }
GetInterfaceSlot(&self, uarrayindex: u32) -> u3228100     pub unsafe fn GetInterfaceSlot(&self, uarrayindex: u32) -> u32 {
28101         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(uarrayindex)))
28102     }
28103 }
28104 unsafe impl ::windows::runtime::Interface for ID3D12ShaderReflectionVariable {
28105     type Vtable = ID3D12ShaderReflectionVariable_abi;
28106     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2201462950, 41494, 17482, [178, 244, 49, 71, 51, 167, 58, 234]);
28107 }
28108 impl ::std::convert::From<ID3D12ShaderReflectionVariable> for ::windows::runtime::IUnknown {
from(value: ID3D12ShaderReflectionVariable) -> Self28109     fn from(value: ID3D12ShaderReflectionVariable) -> Self {
28110         unsafe { ::std::mem::transmute(value) }
28111     }
28112 }
28113 impl ::std::convert::From<&ID3D12ShaderReflectionVariable> for ::windows::runtime::IUnknown {
from(value: &ID3D12ShaderReflectionVariable) -> Self28114     fn from(value: &ID3D12ShaderReflectionVariable) -> Self {
28115         ::std::convert::From::from(::std::clone::Clone::clone(value))
28116     }
28117 }
28118 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12ShaderReflectionVariable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28119     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28120         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28121     }
28122 }
28123 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12ShaderReflectionVariable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28124     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28125         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28126     }
28127 }
28128 #[repr(C)]
28129 #[doc(hidden)]
28130 pub struct ID3D12ShaderReflectionVariable_abi(
28131     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28134     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdesc: *mut D3D12_SHADER_VARIABLE_DESC) -> ::windows::runtime::HRESULT,
28135     #[cfg(not(feature = "Win32_Foundation"))] usize,
28136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::RawPtr,
28137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::RawPtr,
28138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uarrayindex: u32) -> u32,
28139 );
28140 #[repr(transparent)]
28141 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28142 pub struct ID3D12SharingContract(::windows::runtime::IUnknown);
28143 impl ID3D12SharingContract {
28144     #[cfg(feature = "Win32_Foundation")]
Present<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, presource: Param0, subresource: u32, window: Param2)28145     pub unsafe fn Present<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Resource>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, presource: Param0, subresource: u32, window: Param2) {
28146         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(subresource), window.into_param().abi()))
28147     }
SharedFenceSignal<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, pfence: Param0, fencevalue: u64)28148     pub unsafe fn SharedFenceSignal<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Fence>>(&self, pfence: Param0, fencevalue: u64) {
28149         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pfence.into_param().abi(), ::std::mem::transmute(fencevalue)))
28150     }
BeginCapturableWork(&self, guid: *const ::windows::runtime::GUID)28151     pub unsafe fn BeginCapturableWork(&self, guid: *const ::windows::runtime::GUID) {
28152         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid)))
28153     }
EndCapturableWork(&self, guid: *const ::windows::runtime::GUID)28154     pub unsafe fn EndCapturableWork(&self, guid: *const ::windows::runtime::GUID) {
28155         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid)))
28156     }
28157 }
28158 unsafe impl ::windows::runtime::Interface for ID3D12SharingContract {
28159     type Vtable = ID3D12SharingContract_abi;
28160     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(182418770, 37532, 20065, [173, 219, 255, 237, 48, 222, 102, 239]);
28161 }
28162 impl ::std::convert::From<ID3D12SharingContract> for ::windows::runtime::IUnknown {
from(value: ID3D12SharingContract) -> Self28163     fn from(value: ID3D12SharingContract) -> Self {
28164         unsafe { ::std::mem::transmute(value) }
28165     }
28166 }
28167 impl ::std::convert::From<&ID3D12SharingContract> for ::windows::runtime::IUnknown {
from(value: &ID3D12SharingContract) -> Self28168     fn from(value: &ID3D12SharingContract) -> Self {
28169         ::std::convert::From::from(::std::clone::Clone::clone(value))
28170     }
28171 }
28172 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12SharingContract {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28173     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28174         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28175     }
28176 }
28177 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12SharingContract {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28178     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28179         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28180     }
28181 }
28182 #[repr(C)]
28183 #[doc(hidden)]
28184 pub struct ID3D12SharingContract_abi(
28185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28188     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, subresource: u32, window: super::super::Foundation::HWND),
28189     #[cfg(not(feature = "Win32_Foundation"))] usize,
28190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfence: ::windows::runtime::RawPtr, fencevalue: u64),
28191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID),
28192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID),
28193 );
28194 #[repr(transparent)]
28195 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28196 pub struct ID3D12StateObject(::windows::runtime::IUnknown);
28197 impl ID3D12StateObject {
GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>28198     pub unsafe fn GetPrivateData(&self, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
28199         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdata)).ok()
28200     }
SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>28201     pub unsafe fn SetPrivateData(&self, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
28202         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), ::std::mem::transmute(datasize), ::std::mem::transmute(pdata)).ok()
28203     }
SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()>28204     pub unsafe fn SetPrivateDataInterface<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, guid: *const ::windows::runtime::GUID, pdata: Param1) -> ::windows::runtime::Result<()> {
28205         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(guid), pdata.into_param().abi()).ok()
28206     }
28207     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>28208     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
28209         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
28210     }
GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()>28211     pub unsafe fn GetDevice<T: ::windows::runtime::Interface>(&self, result__: *mut ::std::option::Option<T>) -> ::windows::runtime::Result<()> {
28212         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, result__ as *mut _ as *mut _).ok()
28213     }
28214 }
28215 unsafe impl ::windows::runtime::Interface for ID3D12StateObject {
28216     type Vtable = ID3D12StateObject_abi;
28217     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1191274819, 64680, 17812, [147, 234, 175, 37, 139, 85, 52, 109]);
28218 }
28219 impl ::std::convert::From<ID3D12StateObject> for ::windows::runtime::IUnknown {
from(value: ID3D12StateObject) -> Self28220     fn from(value: ID3D12StateObject) -> Self {
28221         unsafe { ::std::mem::transmute(value) }
28222     }
28223 }
28224 impl ::std::convert::From<&ID3D12StateObject> for ::windows::runtime::IUnknown {
from(value: &ID3D12StateObject) -> Self28225     fn from(value: &ID3D12StateObject) -> Self {
28226         ::std::convert::From::from(::std::clone::Clone::clone(value))
28227     }
28228 }
28229 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12StateObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28230     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28231         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28232     }
28233 }
28234 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12StateObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28235     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28236         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28237     }
28238 }
28239 impl ::std::convert::From<ID3D12StateObject> for ID3D12Pageable {
from(value: ID3D12StateObject) -> Self28240     fn from(value: ID3D12StateObject) -> Self {
28241         unsafe { ::std::mem::transmute(value) }
28242     }
28243 }
28244 impl ::std::convert::From<&ID3D12StateObject> for ID3D12Pageable {
from(value: &ID3D12StateObject) -> Self28245     fn from(value: &ID3D12StateObject) -> Self {
28246         ::std::convert::From::from(::std::clone::Clone::clone(value))
28247     }
28248 }
28249 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for ID3D12StateObject {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>28250     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
28251         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(self))
28252     }
28253 }
28254 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Pageable> for &ID3D12StateObject {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable>28255     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Pageable> {
28256         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Pageable>::into(::std::clone::Clone::clone(self)))
28257     }
28258 }
28259 impl ::std::convert::From<ID3D12StateObject> for ID3D12DeviceChild {
from(value: ID3D12StateObject) -> Self28260     fn from(value: ID3D12StateObject) -> Self {
28261         unsafe { ::std::mem::transmute(value) }
28262     }
28263 }
28264 impl ::std::convert::From<&ID3D12StateObject> for ID3D12DeviceChild {
from(value: &ID3D12StateObject) -> Self28265     fn from(value: &ID3D12StateObject) -> Self {
28266         ::std::convert::From::from(::std::clone::Clone::clone(value))
28267     }
28268 }
28269 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for ID3D12StateObject {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>28270     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
28271         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(self))
28272     }
28273 }
28274 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12DeviceChild> for &ID3D12StateObject {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild>28275     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12DeviceChild> {
28276         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12DeviceChild>::into(::std::clone::Clone::clone(self)))
28277     }
28278 }
28279 impl ::std::convert::From<ID3D12StateObject> for ID3D12Object {
from(value: ID3D12StateObject) -> Self28280     fn from(value: ID3D12StateObject) -> Self {
28281         unsafe { ::std::mem::transmute(value) }
28282     }
28283 }
28284 impl ::std::convert::From<&ID3D12StateObject> for ID3D12Object {
from(value: &ID3D12StateObject) -> Self28285     fn from(value: &ID3D12StateObject) -> Self {
28286         ::std::convert::From::from(::std::clone::Clone::clone(value))
28287     }
28288 }
28289 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for ID3D12StateObject {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>28290     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
28291         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(self))
28292     }
28293 }
28294 impl<'a> ::windows::runtime::IntoParam<'a, ID3D12Object> for &ID3D12StateObject {
into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object>28295     fn into_param(self) -> ::windows::runtime::Param<'a, ID3D12Object> {
28296         ::windows::runtime::Param::Owned(::std::convert::Into::<ID3D12Object>::into(::std::clone::Clone::clone(self)))
28297     }
28298 }
28299 #[repr(C)]
28300 #[doc(hidden)]
28301 pub struct ID3D12StateObject_abi(
28302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdata: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
28306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, datasize: u32, pdata: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
28307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guid: *const ::windows::runtime::GUID, pdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28308     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
28309     #[cfg(not(feature = "Win32_Foundation"))] usize,
28310     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
28311 );
28312 #[repr(transparent)]
28313 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28314 pub struct ID3D12StateObjectProperties(::windows::runtime::IUnknown);
28315 impl ID3D12StateObjectProperties {
28316     #[cfg(feature = "Win32_Foundation")]
GetShaderIdentifier<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pexportname: Param0) -> *mut ::std::ffi::c_void28317     pub unsafe fn GetShaderIdentifier<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pexportname: Param0) -> *mut ::std::ffi::c_void {
28318         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pexportname.into_param().abi()))
28319     }
28320     #[cfg(feature = "Win32_Foundation")]
GetShaderStackSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pexportname: Param0) -> u6428321     pub unsafe fn GetShaderStackSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pexportname: Param0) -> u64 {
28322         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pexportname.into_param().abi()))
28323     }
GetPipelineStackSize(&self) -> u6428324     pub unsafe fn GetPipelineStackSize(&self) -> u64 {
28325         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)))
28326     }
SetPipelineStackSize(&self, pipelinestacksizeinbytes: u64)28327     pub unsafe fn SetPipelineStackSize(&self, pipelinestacksizeinbytes: u64) {
28328         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pipelinestacksizeinbytes)))
28329     }
28330 }
28331 unsafe impl ::windows::runtime::Interface for ID3D12StateObjectProperties {
28332     type Vtable = ID3D12StateObjectProperties_abi;
28333     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3730810919, 39929, 20262, [137, 255, 215, 245, 111, 222, 56, 96]);
28334 }
28335 impl ::std::convert::From<ID3D12StateObjectProperties> for ::windows::runtime::IUnknown {
from(value: ID3D12StateObjectProperties) -> Self28336     fn from(value: ID3D12StateObjectProperties) -> Self {
28337         unsafe { ::std::mem::transmute(value) }
28338     }
28339 }
28340 impl ::std::convert::From<&ID3D12StateObjectProperties> for ::windows::runtime::IUnknown {
from(value: &ID3D12StateObjectProperties) -> Self28341     fn from(value: &ID3D12StateObjectProperties) -> Self {
28342         ::std::convert::From::from(::std::clone::Clone::clone(value))
28343     }
28344 }
28345 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12StateObjectProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28346     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28347         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28348     }
28349 }
28350 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12StateObjectProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28351     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28352         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28353     }
28354 }
28355 #[repr(C)]
28356 #[doc(hidden)]
28357 pub struct ID3D12StateObjectProperties_abi(
28358     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28361     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pexportname: super::super::Foundation::PWSTR) -> *mut ::std::ffi::c_void,
28362     #[cfg(not(feature = "Win32_Foundation"))] usize,
28363     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pexportname: super::super::Foundation::PWSTR) -> u64,
28364     #[cfg(not(feature = "Win32_Foundation"))] usize,
28365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u64,
28366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pipelinestacksizeinbytes: u64),
28367 );
28368 #[repr(transparent)]
28369 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28370 pub struct ID3D12SwapChainAssistant(::windows::runtime::IUnknown);
28371 impl ID3D12SwapChainAssistant {
28372     #[cfg(feature = "Win32_Foundation")]
GetLUID(&self) -> super::super::Foundation::LUID28373     pub unsafe fn GetLUID(&self) -> super::super::Foundation::LUID {
28374         let mut result__: super::super::Foundation::LUID = ::std::default::Default::default();
28375         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__);
28376         result__
28377     }
GetSwapChainObject<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T>28378     pub unsafe fn GetSwapChainObject<T: ::windows::runtime::Interface>(&self) -> ::windows::runtime::Result<T> {
28379         let mut result__ = ::std::option::Option::None;
28380         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
28381     }
GetCurrentResourceAndCommandQueue<T: ::windows::runtime::Interface>(&self, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<T>28382     pub unsafe fn GetCurrentResourceAndCommandQueue<T: ::windows::runtime::Interface>(&self, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<T> {
28383         let mut result__ = ::std::option::Option::None;
28384         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riidresource), ::std::mem::transmute(ppvresource), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
28385     }
InsertImplicitSync(&self) -> ::windows::runtime::Result<()>28386     pub unsafe fn InsertImplicitSync(&self) -> ::windows::runtime::Result<()> {
28387         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
28388     }
28389 }
28390 unsafe impl ::windows::runtime::Interface for ID3D12SwapChainAssistant {
28391     type Vtable = ID3D12SwapChainAssistant_abi;
28392     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4057949366, 22525, 18893, [136, 7, 192, 235, 136, 180, 92, 143]);
28393 }
28394 impl ::std::convert::From<ID3D12SwapChainAssistant> for ::windows::runtime::IUnknown {
from(value: ID3D12SwapChainAssistant) -> Self28395     fn from(value: ID3D12SwapChainAssistant) -> Self {
28396         unsafe { ::std::mem::transmute(value) }
28397     }
28398 }
28399 impl ::std::convert::From<&ID3D12SwapChainAssistant> for ::windows::runtime::IUnknown {
from(value: &ID3D12SwapChainAssistant) -> Self28400     fn from(value: &ID3D12SwapChainAssistant) -> Self {
28401         ::std::convert::From::from(::std::clone::Clone::clone(value))
28402     }
28403 }
28404 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12SwapChainAssistant {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28405     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28406         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28407     }
28408 }
28409 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12SwapChainAssistant {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28410     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28411         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28412     }
28413 }
28414 #[repr(C)]
28415 #[doc(hidden)]
28416 pub struct ID3D12SwapChainAssistant_abi(
28417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28420     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::LUID),
28421     #[cfg(not(feature = "Win32_Foundation"))] usize,
28422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
28423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riidresource: *const ::windows::runtime::GUID, ppvresource: *mut *mut ::std::ffi::c_void, riidqueue: *const ::windows::runtime::GUID, ppvqueue: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
28424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28425 );
28426 #[repr(transparent)]
28427 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28428 pub struct ID3D12Tools(::windows::runtime::IUnknown);
28429 impl ID3D12Tools {
28430     #[cfg(feature = "Win32_Foundation")]
EnableShaderInstrumentation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, benable: Param0)28431     pub unsafe fn EnableShaderInstrumentation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, benable: Param0) {
28432         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), benable.into_param().abi()))
28433     }
28434     #[cfg(feature = "Win32_Foundation")]
ShaderInstrumentationEnabled(&self) -> super::super::Foundation::BOOL28435     pub unsafe fn ShaderInstrumentationEnabled(&self) -> super::super::Foundation::BOOL {
28436         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)))
28437     }
28438 }
28439 unsafe impl ::windows::runtime::Interface for ID3D12Tools {
28440     type Vtable = ID3D12Tools_abi;
28441     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1886511600, 59467, 19251, [151, 79, 18, 250, 73, 222, 101, 197]);
28442 }
28443 impl ::std::convert::From<ID3D12Tools> for ::windows::runtime::IUnknown {
from(value: ID3D12Tools) -> Self28444     fn from(value: ID3D12Tools) -> Self {
28445         unsafe { ::std::mem::transmute(value) }
28446     }
28447 }
28448 impl ::std::convert::From<&ID3D12Tools> for ::windows::runtime::IUnknown {
from(value: &ID3D12Tools) -> Self28449     fn from(value: &ID3D12Tools) -> Self {
28450         ::std::convert::From::from(::std::clone::Clone::clone(value))
28451     }
28452 }
28453 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12Tools {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28454     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28455         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28456     }
28457 }
28458 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12Tools {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28459     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28460         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28461     }
28462 }
28463 #[repr(C)]
28464 #[doc(hidden)]
28465 pub struct ID3D12Tools_abi(
28466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28469     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, benable: super::super::Foundation::BOOL),
28470     #[cfg(not(feature = "Win32_Foundation"))] usize,
28471     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
28472     #[cfg(not(feature = "Win32_Foundation"))] usize,
28473 );
28474 #[repr(transparent)]
28475 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28476 pub struct ID3D12VersionedRootSignatureDeserializer(::windows::runtime::IUnknown);
28477 impl ID3D12VersionedRootSignatureDeserializer {
GetRootSignatureDescAtVersion(&self, converttoversion: D3D_ROOT_SIGNATURE_VERSION) -> ::windows::runtime::Result<*mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC>28478     pub unsafe fn GetRootSignatureDescAtVersion(&self, converttoversion: D3D_ROOT_SIGNATURE_VERSION) -> ::windows::runtime::Result<*mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC> {
28479         let mut result__: <*mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
28480         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(converttoversion), &mut result__).from_abi::<*mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC>(result__)
28481     }
GetUnconvertedRootSignatureDesc(&self) -> *mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC28482     pub unsafe fn GetUnconvertedRootSignatureDesc(&self) -> *mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC {
28483         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)))
28484     }
28485 }
28486 unsafe impl ::windows::runtime::Interface for ID3D12VersionedRootSignatureDeserializer {
28487     type Vtable = ID3D12VersionedRootSignatureDeserializer_abi;
28488     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2140261991, 2316, 19383, [183, 142, 237, 143, 242, 227, 29, 160]);
28489 }
28490 impl ::std::convert::From<ID3D12VersionedRootSignatureDeserializer> for ::windows::runtime::IUnknown {
from(value: ID3D12VersionedRootSignatureDeserializer) -> Self28491     fn from(value: ID3D12VersionedRootSignatureDeserializer) -> Self {
28492         unsafe { ::std::mem::transmute(value) }
28493     }
28494 }
28495 impl ::std::convert::From<&ID3D12VersionedRootSignatureDeserializer> for ::windows::runtime::IUnknown {
from(value: &ID3D12VersionedRootSignatureDeserializer) -> Self28496     fn from(value: &ID3D12VersionedRootSignatureDeserializer) -> Self {
28497         ::std::convert::From::from(::std::clone::Clone::clone(value))
28498     }
28499 }
28500 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ID3D12VersionedRootSignatureDeserializer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28501     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28502         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28503     }
28504 }
28505 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ID3D12VersionedRootSignatureDeserializer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28506     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28507         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28508     }
28509 }
28510 #[repr(C)]
28511 #[doc(hidden)]
28512 pub struct ID3D12VersionedRootSignatureDeserializer_abi(
28513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, converttoversion: D3D_ROOT_SIGNATURE_VERSION, ppdesc: *mut *mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC) -> ::windows::runtime::HRESULT,
28517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> *mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC,
28518 );
28519 #[repr(transparent)]
28520 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28521 pub struct IDirect3DDevice9On12(::windows::runtime::IUnknown);
28522 impl IDirect3DDevice9On12 {
GetD3D12Device(&self, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>28523     pub unsafe fn GetD3D12Device(&self, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
28524         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(ppvdevice)).ok()
28525     }
28526     #[cfg(feature = "Win32_Graphics_Direct3D9")]
UnwrapUnderlyingResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct3D9::IDirect3DResource9>, Param1: ::windows::runtime::IntoParam<'a, ID3D12CommandQueue>>(&self, presource: Param0, pcommandqueue: Param1, riid: *const ::windows::runtime::GUID, ppvresource12: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>28527     pub unsafe fn UnwrapUnderlyingResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct3D9::IDirect3DResource9>, Param1: ::windows::runtime::IntoParam<'a, ID3D12CommandQueue>>(&self, presource: Param0, pcommandqueue: Param1, riid: *const ::windows::runtime::GUID, ppvresource12: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
28528         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), presource.into_param().abi(), pcommandqueue.into_param().abi(), ::std::mem::transmute(riid), ::std::mem::transmute(ppvresource12)).ok()
28529     }
28530     #[cfg(feature = "Win32_Graphics_Direct3D9")]
ReturnUnderlyingResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct3D9::IDirect3DResource9>>(&self, presource: Param0, numsync: u32, psignalvalues: *mut u64, ppfences: *mut ::std::option::Option<ID3D12Fence>) -> ::windows::runtime::Result<()>28531     pub unsafe fn ReturnUnderlyingResource<'a, Param0: ::windows::runtime::IntoParam<'a, super::Direct3D9::IDirect3DResource9>>(&self, presource: Param0, numsync: u32, psignalvalues: *mut u64, ppfences: *mut ::std::option::Option<ID3D12Fence>) -> ::windows::runtime::Result<()> {
28532         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), presource.into_param().abi(), ::std::mem::transmute(numsync), ::std::mem::transmute(psignalvalues), ::std::mem::transmute(ppfences)).ok()
28533     }
28534 }
28535 unsafe impl ::windows::runtime::Interface for IDirect3DDevice9On12 {
28536     type Vtable = IDirect3DDevice9On12_abi;
28537     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3892159028, 46473, 16457, [148, 13, 136, 120, 151, 117, 49, 200]);
28538 }
28539 impl ::std::convert::From<IDirect3DDevice9On12> for ::windows::runtime::IUnknown {
from(value: IDirect3DDevice9On12) -> Self28540     fn from(value: IDirect3DDevice9On12) -> Self {
28541         unsafe { ::std::mem::transmute(value) }
28542     }
28543 }
28544 impl ::std::convert::From<&IDirect3DDevice9On12> for ::windows::runtime::IUnknown {
from(value: &IDirect3DDevice9On12) -> Self28545     fn from(value: &IDirect3DDevice9On12) -> Self {
28546         ::std::convert::From::from(::std::clone::Clone::clone(value))
28547     }
28548 }
28549 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDirect3DDevice9On12 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28550     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28551         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28552     }
28553 }
28554 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDirect3DDevice9On12 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28555     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28556         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28557     }
28558 }
28559 #[repr(C)]
28560 #[doc(hidden)]
28561 pub struct IDirect3DDevice9On12_abi(
28562     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28563     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvdevice: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
28566     #[cfg(feature = "Win32_Graphics_Direct3D9")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, pcommandqueue: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvresource12: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
28567     #[cfg(not(feature = "Win32_Graphics_Direct3D9"))] usize,
28568     #[cfg(feature = "Win32_Graphics_Direct3D9")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, presource: ::windows::runtime::RawPtr, numsync: u32, psignalvalues: *mut u64, ppfences: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28569     #[cfg(not(feature = "Win32_Graphics_Direct3D9"))] usize,
28570 );
28571 #[repr(transparent)]
28572 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28573 pub struct IMFD3D12SynchronizationObject(::windows::runtime::IUnknown);
28574 impl IMFD3D12SynchronizationObject {
28575     #[cfg(feature = "Win32_Foundation")]
SignalEventOnFinalResourceRelease<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<()>28576     pub unsafe fn SignalEventOnFinalResourceRelease<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<()> {
28577         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), hevent.into_param().abi()).ok()
28578     }
Reset(&self) -> ::windows::runtime::Result<()>28579     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
28580         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
28581     }
28582 }
28583 unsafe impl ::windows::runtime::Interface for IMFD3D12SynchronizationObject {
28584     type Vtable = IMFD3D12SynchronizationObject_abi;
28585     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2149778096, 33502, 17889, [180, 33, 241, 158, 229, 189, 175, 35]);
28586 }
28587 impl ::std::convert::From<IMFD3D12SynchronizationObject> for ::windows::runtime::IUnknown {
from(value: IMFD3D12SynchronizationObject) -> Self28588     fn from(value: IMFD3D12SynchronizationObject) -> Self {
28589         unsafe { ::std::mem::transmute(value) }
28590     }
28591 }
28592 impl ::std::convert::From<&IMFD3D12SynchronizationObject> for ::windows::runtime::IUnknown {
from(value: &IMFD3D12SynchronizationObject) -> Self28593     fn from(value: &IMFD3D12SynchronizationObject) -> Self {
28594         ::std::convert::From::from(::std::clone::Clone::clone(value))
28595     }
28596 }
28597 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMFD3D12SynchronizationObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28598     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28599         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28600     }
28601 }
28602 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMFD3D12SynchronizationObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28603     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28604         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28605     }
28606 }
28607 #[repr(C)]
28608 #[doc(hidden)]
28609 pub struct IMFD3D12SynchronizationObject_abi(
28610     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28611     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28613     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
28614     #[cfg(not(feature = "Win32_Foundation"))] usize,
28615     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28616 );
28617 #[repr(transparent)]
28618 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28619 pub struct IMFD3D12SynchronizationObjectCommands(::windows::runtime::IUnknown);
28620 impl IMFD3D12SynchronizationObjectCommands {
EnqueueResourceReady<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandQueue>>(&self, pproducercommandqueue: Param0) -> ::windows::runtime::Result<()>28621     pub unsafe fn EnqueueResourceReady<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandQueue>>(&self, pproducercommandqueue: Param0) -> ::windows::runtime::Result<()> {
28622         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pproducercommandqueue.into_param().abi()).ok()
28623     }
EnqueueResourceReadyWait<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandQueue>>(&self, pconsumercommandqueue: Param0) -> ::windows::runtime::Result<()>28624     pub unsafe fn EnqueueResourceReadyWait<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandQueue>>(&self, pconsumercommandqueue: Param0) -> ::windows::runtime::Result<()> {
28625         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pconsumercommandqueue.into_param().abi()).ok()
28626     }
28627     #[cfg(feature = "Win32_Foundation")]
SignalEventOnResourceReady<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<()>28628     pub unsafe fn SignalEventOnResourceReady<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(&self, hevent: Param0) -> ::windows::runtime::Result<()> {
28629         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), hevent.into_param().abi()).ok()
28630     }
EnqueueResourceRelease<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandQueue>>(&self, pconsumercommandqueue: Param0) -> ::windows::runtime::Result<()>28631     pub unsafe fn EnqueueResourceRelease<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12CommandQueue>>(&self, pconsumercommandqueue: Param0) -> ::windows::runtime::Result<()> {
28632         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pconsumercommandqueue.into_param().abi()).ok()
28633     }
28634 }
28635 unsafe impl ::windows::runtime::Interface for IMFD3D12SynchronizationObjectCommands {
28636     type Vtable = IMFD3D12SynchronizationObjectCommands_abi;
28637     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(164689973, 37631, 20051, [142, 250, 64, 250, 165, 81, 242, 51]);
28638 }
28639 impl ::std::convert::From<IMFD3D12SynchronizationObjectCommands> for ::windows::runtime::IUnknown {
from(value: IMFD3D12SynchronizationObjectCommands) -> Self28640     fn from(value: IMFD3D12SynchronizationObjectCommands) -> Self {
28641         unsafe { ::std::mem::transmute(value) }
28642     }
28643 }
28644 impl ::std::convert::From<&IMFD3D12SynchronizationObjectCommands> for ::windows::runtime::IUnknown {
from(value: &IMFD3D12SynchronizationObjectCommands) -> Self28645     fn from(value: &IMFD3D12SynchronizationObjectCommands) -> Self {
28646         ::std::convert::From::from(::std::clone::Clone::clone(value))
28647     }
28648 }
28649 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMFD3D12SynchronizationObjectCommands {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28650     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28651         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28652     }
28653 }
28654 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMFD3D12SynchronizationObjectCommands {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28655     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28656         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28657     }
28658 }
28659 #[repr(C)]
28660 #[doc(hidden)]
28661 pub struct IMFD3D12SynchronizationObjectCommands_abi(
28662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pproducercommandqueue: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pconsumercommandqueue: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28667     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hevent: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
28668     #[cfg(not(feature = "Win32_Foundation"))] usize,
28669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pconsumercommandqueue: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28670 );
28671 pub const LUID_DEFINED: u32 = 1u32;
28672 pub const MAX_D3D9ON12_QUEUES: u32 = 2u32;
28673 #[inline]
MFCreateD3D12SynchronizationObject<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Device>>(pdevice: Param0, riid: *const ::windows::runtime::GUID, ppvsyncobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>28674 pub unsafe fn MFCreateD3D12SynchronizationObject<'a, Param0: ::windows::runtime::IntoParam<'a, ID3D12Device>>(pdevice: Param0, riid: *const ::windows::runtime::GUID, ppvsyncobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
28675     #[cfg(windows)]
28676     {
28677         #[link(name = "windows")]
28678         extern "system" {
28679             fn MFCreateD3D12SynchronizationObject(pdevice: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvsyncobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
28680         }
28681         MFCreateD3D12SynchronizationObject(pdevice.into_param().abi(), ::std::mem::transmute(riid), ::std::mem::transmute(ppvsyncobject)).ok()
28682     }
28683     #[cfg(not(windows))]
28684     unimplemented!("Unsupported target OS");
28685 }
28686 pub const MF_D3D12_SYNCHRONIZATION_OBJECT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(712805738, 34214, 18765, [160, 70, 6, 234, 26, 19, 143, 75]);
28687 pub const MF_MT_D3D12_CPU_READBACK: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(686727139, 54401, 18086, [185, 138, 127, 105, 213, 40, 14, 130]);
28688 pub const MF_MT_D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2795627577, 12182, 19125, [152, 220, 173, 247, 73, 115, 80, 93]);
28689 pub const MF_MT_D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2970848707, 469, 19476, [155, 220, 205, 201, 51, 111, 85, 185]);
28690 pub const MF_MT_D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4004259205, 13360, 18828, [132, 162, 119, 177, 187, 165, 112, 246]);
28691 pub const MF_MT_D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(172572850, 53206, 18232, [157, 2, 152, 17, 55, 52, 1, 90]);
28692 pub const MF_MT_D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2194167367, 20567, 18784, [149, 89, 244, 91, 142, 39, 20, 39]);
28693 pub const MF_MT_D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3121004460, 65507, 18250, [171, 85, 22, 30, 228, 65, 122, 46]);
28694 pub const MF_MT_D3D12_TEXTURE_LAYOUT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2546490538, 3051, 20193, [151, 21, 242, 47, 173, 140, 16, 245]);
28695 pub const MF_MT_D3D_RESOURCE_VERSION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(391061125, 65062, 17725, [181, 46, 91, 221, 78, 85, 185, 68]);
28696 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
28697 #[repr(transparent)]
28698 pub struct MF_MT_D3D_RESOURCE_VERSION_ENUM(pub i32);
28699 pub const MF_D3D11_RESOURCE: MF_MT_D3D_RESOURCE_VERSION_ENUM = MF_MT_D3D_RESOURCE_VERSION_ENUM(0i32);
28700 pub const MF_D3D12_RESOURCE: MF_MT_D3D_RESOURCE_VERSION_ENUM = MF_MT_D3D_RESOURCE_VERSION_ENUM(1i32);
28701 impl ::std::convert::From<i32> for MF_MT_D3D_RESOURCE_VERSION_ENUM {
from(value: i32) -> Self28702     fn from(value: i32) -> Self {
28703         Self(value)
28704     }
28705 }
28706 unsafe impl ::windows::runtime::Abi for MF_MT_D3D_RESOURCE_VERSION_ENUM {
28707     type Abi = Self;
28708     type DefaultType = Self;
28709 }
28710 pub const MF_SA_D3D12_CLEAR_VALUE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2260376121, 1318, 18781, [154, 181, 84, 236, 159, 173, 111, 195]);
28711 pub const MF_SA_D3D12_HEAP_FLAGS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1231762022, 53903, 20364, [147, 167, 74, 89, 107, 26, 49, 161]);
28712 pub const MF_SA_D3D12_HEAP_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1458727542, 48065, 19680, [187, 17, 226, 35, 104, 216, 116, 237]);
28713 #[repr(transparent)]
28714 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28715 pub struct OpenCLOn12CreatorID(::windows::runtime::IUnknown);
28716 impl OpenCLOn12CreatorID {}
28717 unsafe impl ::windows::runtime::Interface for OpenCLOn12CreatorID {
28718     type Vtable = OpenCLOn12CreatorID_abi;
28719     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1064745844, 37301, 19080, [177, 38, 32, 202, 3, 49, 205, 96]);
28720 }
28721 impl ::std::convert::From<OpenCLOn12CreatorID> for ::windows::runtime::IUnknown {
from(value: OpenCLOn12CreatorID) -> Self28722     fn from(value: OpenCLOn12CreatorID) -> Self {
28723         unsafe { ::std::mem::transmute(value) }
28724     }
28725 }
28726 impl ::std::convert::From<&OpenCLOn12CreatorID> for ::windows::runtime::IUnknown {
from(value: &OpenCLOn12CreatorID) -> Self28727     fn from(value: &OpenCLOn12CreatorID) -> Self {
28728         ::std::convert::From::from(::std::clone::Clone::clone(value))
28729     }
28730 }
28731 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for OpenCLOn12CreatorID {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28732     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28733         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28734     }
28735 }
28736 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &OpenCLOn12CreatorID {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28737     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28738         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28739     }
28740 }
28741 #[repr(C)]
28742 #[doc(hidden)]
28743 pub struct OpenCLOn12CreatorID_abi(
28744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28747 );
28748 #[repr(transparent)]
28749 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28750 pub struct OpenGLOn12CreatorID(::windows::runtime::IUnknown);
28751 impl OpenGLOn12CreatorID {}
28752 unsafe impl ::windows::runtime::Interface for OpenGLOn12CreatorID {
28753     type Vtable = OpenGLOn12CreatorID_abi;
28754     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1806945588, 3353, 17835, [151, 237, 215, 32, 186, 61, 252, 128]);
28755 }
28756 impl ::std::convert::From<OpenGLOn12CreatorID> for ::windows::runtime::IUnknown {
from(value: OpenGLOn12CreatorID) -> Self28757     fn from(value: OpenGLOn12CreatorID) -> Self {
28758         unsafe { ::std::mem::transmute(value) }
28759     }
28760 }
28761 impl ::std::convert::From<&OpenGLOn12CreatorID> for ::windows::runtime::IUnknown {
from(value: &OpenGLOn12CreatorID) -> Self28762     fn from(value: &OpenGLOn12CreatorID) -> Self {
28763         ::std::convert::From::from(::std::clone::Clone::clone(value))
28764     }
28765 }
28766 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for OpenGLOn12CreatorID {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28767     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28768         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28769     }
28770 }
28771 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &OpenGLOn12CreatorID {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28772     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28773         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28774     }
28775 }
28776 #[repr(C)]
28777 #[doc(hidden)]
28778 pub struct OpenGLOn12CreatorID_abi(
28779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
28780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
28782 );
28783 #[cfg(feature = "Win32_Graphics_Direct3D11")]
28784 pub type PFN_D3D11ON12_CREATE_DEVICE = unsafe extern "system" fn(param0: ::windows::runtime::RawPtr, param1: u32, param2: *const super::Direct3D11::D3D_FEATURE_LEVEL, featurelevels: u32, param4: *const ::windows::runtime::RawPtr, numqueues: u32, param6: u32, param7: *mut ::windows::runtime::RawPtr, param8: *mut ::windows::runtime::RawPtr, param9: *mut super::Direct3D11::D3D_FEATURE_LEVEL) -> ::windows::runtime::HRESULT;
28785 #[cfg(feature = "Win32_Graphics_Direct3D11")]
28786 pub type PFN_D3D12_CREATE_DEVICE = unsafe extern "system" fn(param0: ::windows::runtime::RawPtr, param1: super::Direct3D11::D3D_FEATURE_LEVEL, param2: *const ::windows::runtime::GUID, param3: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
28787 pub type PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER = unsafe extern "system" fn(psrcdata: *const ::std::ffi::c_void, srcdatasizeinbytes: usize, prootsignaturedeserializerinterface: *const ::windows::runtime::GUID, pprootsignaturedeserializer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
28788 pub type PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER = unsafe extern "system" fn(psrcdata: *const ::std::ffi::c_void, srcdatasizeinbytes: usize, prootsignaturedeserializerinterface: *const ::windows::runtime::GUID, pprootsignaturedeserializer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
28789 pub type PFN_D3D12_GET_DEBUG_INTERFACE = unsafe extern "system" fn(param0: *const ::windows::runtime::GUID, param1: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
28790 pub type PFN_D3D12_GET_INTERFACE = unsafe extern "system" fn(param0: *const ::windows::runtime::GUID, param1: *const ::windows::runtime::GUID, param2: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
28791 #[cfg(feature = "Win32_Graphics_Direct3D11")]
28792 pub type PFN_D3D12_SERIALIZE_ROOT_SIGNATURE = unsafe extern "system" fn(prootsignature: *const D3D12_ROOT_SIGNATURE_DESC, version: D3D_ROOT_SIGNATURE_VERSION, ppblob: *mut ::windows::runtime::RawPtr, pperrorblob: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
28793 #[cfg(feature = "Win32_Graphics_Direct3D11")]
28794 pub type PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE = unsafe extern "system" fn(prootsignature: *const D3D12_VERSIONED_ROOT_SIGNATURE_DESC, ppblob: *mut ::windows::runtime::RawPtr, pperrorblob: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
28795 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
28796 pub type PFN_Direct3DCreate9On12 = unsafe extern "system" fn(sdkversion: u32, poverridelist: *mut ::std::mem::ManuallyDrop<D3D9ON12_ARGS>, numoverrideentries: u32) -> ::std::option::Option<super::Direct3D9::IDirect3D9>;
28797 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D9"))]
28798 pub type PFN_Direct3DCreate9On12Ex = unsafe extern "system" fn(sdkversion: u32, poverridelist: *mut ::std::mem::ManuallyDrop<D3D9ON12_ARGS>, numoverrideentries: u32, ppoutputinterface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
28799 pub const WKPDID_D3DAutoDebugObjectNameW: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3566218806, 30074, 18754, [149, 148, 182, 118, 154, 250, 67, 205]);
28800