1#[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
2#[cfg(feature = "Win32_Graphics_Direct3D")]
3#[inline]
4pub unsafe fn D3D12CreateDevice<P0, T>(padapter: P0, minimumfeaturelevel: super::Direct3D::D3D_FEATURE_LEVEL, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5where
6 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
7 T: ::windows_core::ComInterface,
8{
9 ::windows_targets::link!("d3d12.dll" "system" fn D3D12CreateDevice(padapter : * mut::core::ffi::c_void, minimumfeaturelevel : super::Direct3D:: D3D_FEATURE_LEVEL, riid : *const ::windows_core::GUID, ppdevice : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT);
10 D3D12CreateDevice(padapter:padapter.into_param().abi(), minimumfeaturelevel, &<T as ::windows_core::ComInterface>::IID, ppdevice:result__ as *mut _ as *mut _).ok()
11}
12#[inline]
13pub unsafe fn D3D12CreateRootSignatureDeserializer(psrcdata: *const ::core::ffi::c_void, srcdatasizeinbytes: usize, prootsignaturedeserializerinterface: *const ::windows_core::GUID, pprootsignaturedeserializer: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
14 ::windows_targets::link!("d3d12.dll" "system" fn D3D12CreateRootSignatureDeserializer(psrcdata : *const ::core::ffi::c_void, srcdatasizeinbytes : usize, prootsignaturedeserializerinterface : *const ::windows_core::GUID, pprootsignaturedeserializer : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT);
15 D3D12CreateRootSignatureDeserializer(psrcdata, srcdatasizeinbytes, prootsignaturedeserializerinterface, pprootsignaturedeserializer).ok()
16}
17#[inline]
18pub unsafe fn D3D12CreateVersionedRootSignatureDeserializer(psrcdata: *const ::core::ffi::c_void, srcdatasizeinbytes: usize, prootsignaturedeserializerinterface: *const ::windows_core::GUID, pprootsignaturedeserializer: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
19 ::windows_targets::link!("d3d12.dll" "system" fn D3D12CreateVersionedRootSignatureDeserializer(psrcdata : *const ::core::ffi::c_void, srcdatasizeinbytes : usize, prootsignaturedeserializerinterface : *const ::windows_core::GUID, pprootsignaturedeserializer : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT);
20 D3D12CreateVersionedRootSignatureDeserializer(psrcdata, srcdatasizeinbytes, prootsignaturedeserializerinterface, pprootsignaturedeserializer).ok()
21}
22#[inline]
23pub unsafe fn D3D12EnableExperimentalFeatures(numfeatures: u32, piids: *const ::windows_core::GUID, pconfigurationstructs: ::core::option::Option<*const ::core::ffi::c_void>, pconfigurationstructsizes: ::core::option::Option<*const u32>) -> ::windows_core::Result<()> {
24 ::windows_targets::link!("d3d12.dll" "system" fn D3D12EnableExperimentalFeatures(numfeatures : u32, piids : *const ::windows_core::GUID, pconfigurationstructs : *const ::core::ffi::c_void, pconfigurationstructsizes : *const u32) -> ::windows_core::HRESULT);
25 D3D12EnableExperimentalFeatures(numfeatures, piids, ::core::mem::transmute(pconfigurationstructs.unwrap_or(::std::ptr::null())), ::core::mem::transmute(src:pconfigurationstructsizes.unwrap_or(::std::ptr::null()))).ok()
26}
27#[inline]
28pub unsafe fn D3D12GetDebugInterface<T>(result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
29where
30 T: ::windows_core::ComInterface,
31{
32 ::windows_targets::link!("d3d12.dll" "system" fn D3D12GetDebugInterface(riid : *const ::windows_core::GUID, ppvdebug : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT);
33 D3D12GetDebugInterface(&<T as ::windows_core::ComInterface>::IID, ppvdebug:result__ as *mut _ as *mut _).ok()
34}
35#[inline]
36pub unsafe fn D3D12GetInterface<T>(rclsid: *const ::windows_core::GUID, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
37where
38 T: ::windows_core::ComInterface,
39{
40 ::windows_targets::link!("d3d12.dll" "system" fn D3D12GetInterface(rclsid : *const ::windows_core::GUID, riid : *const ::windows_core::GUID, ppvdebug : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT);
41 D3D12GetInterface(rclsid, &<T as ::windows_core::ComInterface>::IID, ppvdebug:result__ as *mut _ as *mut _).ok()
42}
43#[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
44#[cfg(feature = "Win32_Graphics_Direct3D")]
45#[inline]
46pub unsafe fn D3D12SerializeRootSignature(prootsignature: *const D3D12_ROOT_SIGNATURE_DESC, version: D3D_ROOT_SIGNATURE_VERSION, ppblob: *mut ::core::option::Option<super::Direct3D::ID3DBlob>, pperrorblob: ::core::option::Option<*mut ::core::option::Option<super::Direct3D::ID3DBlob>>) -> ::windows_core::Result<()> {
47 ::windows_targets::link!("d3d12.dll" "system" fn D3D12SerializeRootSignature(prootsignature : *const D3D12_ROOT_SIGNATURE_DESC, version : D3D_ROOT_SIGNATURE_VERSION, ppblob : *mut * mut::core::ffi::c_void, pperrorblob : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
48 D3D12SerializeRootSignature(prootsignature, version, ::core::mem::transmute(ppblob), ::core::mem::transmute(src:pperrorblob.unwrap_or(::std::ptr::null_mut()))).ok()
49}
50#[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
51#[cfg(feature = "Win32_Graphics_Direct3D")]
52#[inline]
53pub unsafe fn D3D12SerializeVersionedRootSignature(prootsignature: *const D3D12_VERSIONED_ROOT_SIGNATURE_DESC, ppblob: *mut ::core::option::Option<super::Direct3D::ID3DBlob>, pperrorblob: ::core::option::Option<*mut ::core::option::Option<super::Direct3D::ID3DBlob>>) -> ::windows_core::Result<()> {
54 ::windows_targets::link!("d3d12.dll" "system" fn D3D12SerializeVersionedRootSignature(prootsignature : *const D3D12_VERSIONED_ROOT_SIGNATURE_DESC, ppblob : *mut * mut::core::ffi::c_void, pperrorblob : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
55 D3D12SerializeVersionedRootSignature(prootsignature, ::core::mem::transmute(ppblob), ::core::mem::transmute(src:pperrorblob.unwrap_or(::std::ptr::null_mut()))).ok()
56}
57#[repr(transparent)]
58#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
59pub struct ID3D12CommandAllocator(::windows_core::IUnknown);
60impl ID3D12CommandAllocator {
61 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
62 (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
63 }
64 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
65 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
66 }
67 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
68 where
69 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
70 {
71 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
72 }
73 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
74 where
75 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
76 {
77 (::windows_core::Interface::vtable(self).base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
78 }
79 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
80 where
81 T: ::windows_core::ComInterface,
82 {
83 (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
84 }
85 pub unsafe fn Reset(&self) -> ::windows_core::Result<()> {
86 (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok()
87 }
88}
89::windows_core::imp::interface_hierarchy!(ID3D12CommandAllocator, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12Pageable);
90unsafe impl ::core::marker::Send for ID3D12CommandAllocator {}
91unsafe impl ::core::marker::Sync for ID3D12CommandAllocator {}
92unsafe impl ::windows_core::Interface for ID3D12CommandAllocator {
93 type Vtable = ID3D12CommandAllocator_Vtbl;
94}
95unsafe impl ::windows_core::ComInterface for ID3D12CommandAllocator {
96 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x6102dee4_af59_4b09_b999_b44d73f09b24);
97}
98#[repr(C)]
99#[doc(hidden)]
100pub struct ID3D12CommandAllocator_Vtbl {
101 pub base__: ID3D12Pageable_Vtbl,
102 pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
103}
104#[repr(transparent)]
105#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
106pub struct ID3D12CommandList(::windows_core::IUnknown);
107impl ID3D12CommandList {
108 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
109 (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
110 }
111 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
112 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
113 }
114 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
115 where
116 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
117 {
118 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
119 }
120 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
121 where
122 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
123 {
124 (::windows_core::Interface::vtable(self).base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
125 }
126 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
127 where
128 T: ::windows_core::ComInterface,
129 {
130 (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
131 }
132 pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
133 (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self))
134 }
135}
136::windows_core::imp::interface_hierarchy!(ID3D12CommandList, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild);
137unsafe impl ::core::marker::Send for ID3D12CommandList {}
138unsafe impl ::core::marker::Sync for ID3D12CommandList {}
139unsafe impl ::windows_core::Interface for ID3D12CommandList {
140 type Vtable = ID3D12CommandList_Vtbl;
141}
142unsafe impl ::windows_core::ComInterface for ID3D12CommandList {
143 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x7116d91c_e7e4_47ce_b8c6_ec8168f437e5);
144}
145#[repr(C)]
146#[doc(hidden)]
147pub struct ID3D12CommandList_Vtbl {
148 pub base__: ID3D12DeviceChild_Vtbl,
149 pub GetType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> D3D12_COMMAND_LIST_TYPE,
150}
151#[repr(transparent)]
152#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
153pub struct ID3D12CommandQueue(::windows_core::IUnknown);
154impl ID3D12CommandQueue {
155 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
156 (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
157 }
158 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
159 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
160 }
161 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
162 where
163 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
164 {
165 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
166 }
167 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
168 where
169 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
170 {
171 (::windows_core::Interface::vtable(self).base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
172 }
173 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
174 where
175 T: ::windows_core::ComInterface,
176 {
177 (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
178 }
179 #[doc = "Required features: `\"Win32_Foundation\"`"]
180 #[cfg(feature = "Win32_Foundation")]
181 pub unsafe fn UpdateTileMappings<P0, P1>(&self, presource: P0, numresourceregions: u32, presourceregionstartcoordinates: ::core::option::Option<*const D3D12_TILED_RESOURCE_COORDINATE>, presourceregionsizes: ::core::option::Option<*const D3D12_TILE_REGION_SIZE>, pheap: P1, numranges: u32, prangeflags: ::core::option::Option<*const D3D12_TILE_RANGE_FLAGS>, pheaprangestartoffsets: ::core::option::Option<*const u32>, prangetilecounts: ::core::option::Option<*const u32>, flags: D3D12_TILE_MAPPING_FLAGS)
182 where
183 P0: ::windows_core::IntoParam<ID3D12Resource>,
184 P1: ::windows_core::IntoParam<ID3D12Heap>,
185 {
186 (::windows_core::Interface::vtable(self).UpdateTileMappings)(
187 ::windows_core::Interface::as_raw(self),
188 presource.into_param().abi(),
189 numresourceregions,
190 ::core::mem::transmute(presourceregionstartcoordinates.unwrap_or(::std::ptr::null())),
191 ::core::mem::transmute(presourceregionsizes.unwrap_or(::std::ptr::null())),
192 pheap.into_param().abi(),
193 numranges,
194 ::core::mem::transmute(prangeflags.unwrap_or(::std::ptr::null())),
195 ::core::mem::transmute(pheaprangestartoffsets.unwrap_or(::std::ptr::null())),
196 ::core::mem::transmute(prangetilecounts.unwrap_or(::std::ptr::null())),
197 flags,
198 )
199 }
200 #[doc = "Required features: `\"Win32_Foundation\"`"]
201 #[cfg(feature = "Win32_Foundation")]
202 pub unsafe fn CopyTileMappings<P0, P1>(&self, pdstresource: P0, pdstregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, psrcresource: P1, psrcregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, pregionsize: *const D3D12_TILE_REGION_SIZE, flags: D3D12_TILE_MAPPING_FLAGS)
203 where
204 P0: ::windows_core::IntoParam<ID3D12Resource>,
205 P1: ::windows_core::IntoParam<ID3D12Resource>,
206 {
207 (::windows_core::Interface::vtable(self).CopyTileMappings)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), pdstregionstartcoordinate, psrcresource.into_param().abi(), psrcregionstartcoordinate, pregionsize, flags)
208 }
209 pub unsafe fn ExecuteCommandLists(&self, ppcommandlists: &[::core::option::Option<ID3D12CommandList>]) {
210 (::windows_core::Interface::vtable(self).ExecuteCommandLists)(::windows_core::Interface::as_raw(self), ppcommandlists.len().try_into().unwrap(), ::core::mem::transmute(ppcommandlists.as_ptr()))
211 }
212 pub unsafe fn SetMarker(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
213 (::windows_core::Interface::vtable(self).SetMarker)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
214 }
215 pub unsafe fn BeginEvent(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
216 (::windows_core::Interface::vtable(self).BeginEvent)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
217 }
218 pub unsafe fn EndEvent(&self) {
219 (::windows_core::Interface::vtable(self).EndEvent)(::windows_core::Interface::as_raw(self))
220 }
221 pub unsafe fn Signal<P0>(&self, pfence: P0, value: u64) -> ::windows_core::Result<()>
222 where
223 P0: ::windows_core::IntoParam<ID3D12Fence>,
224 {
225 (::windows_core::Interface::vtable(self).Signal)(::windows_core::Interface::as_raw(self), pfence.into_param().abi(), value).ok()
226 }
227 pub unsafe fn Wait<P0>(&self, pfence: P0, value: u64) -> ::windows_core::Result<()>
228 where
229 P0: ::windows_core::IntoParam<ID3D12Fence>,
230 {
231 (::windows_core::Interface::vtable(self).Wait)(::windows_core::Interface::as_raw(self), pfence.into_param().abi(), value).ok()
232 }
233 pub unsafe fn GetTimestampFrequency(&self) -> ::windows_core::Result<u64> {
234 let mut result__ = ::std::mem::zeroed();
235 (::windows_core::Interface::vtable(self).GetTimestampFrequency)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
236 }
237 pub unsafe fn GetClockCalibration(&self, pgputimestamp: *mut u64, pcputimestamp: *mut u64) -> ::windows_core::Result<()> {
238 (::windows_core::Interface::vtable(self).GetClockCalibration)(::windows_core::Interface::as_raw(self), pgputimestamp, pcputimestamp).ok()
239 }
240 pub unsafe fn GetDesc(&self) -> D3D12_COMMAND_QUEUE_DESC {
241 let mut result__: D3D12_COMMAND_QUEUE_DESC = ::core::mem::zeroed();
242 (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__);
243 result__
244 }
245}
246::windows_core::imp::interface_hierarchy!(ID3D12CommandQueue, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12Pageable);
247unsafe impl ::core::marker::Send for ID3D12CommandQueue {}
248unsafe impl ::core::marker::Sync for ID3D12CommandQueue {}
249unsafe impl ::windows_core::Interface for ID3D12CommandQueue {
250 type Vtable = ID3D12CommandQueue_Vtbl;
251}
252unsafe impl ::windows_core::ComInterface for ID3D12CommandQueue {
253 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0ec870a6_5d7e_4c22_8cfc_5baae07616ed);
254}
255#[repr(C)]
256#[doc(hidden)]
257pub struct ID3D12CommandQueue_Vtbl {
258 pub base__: ID3D12Pageable_Vtbl,
259 #[cfg(feature = "Win32_Foundation")]
260 pub UpdateTileMappings: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, numresourceregions: u32, presourceregionstartcoordinates: *const D3D12_TILED_RESOURCE_COORDINATE, presourceregionsizes: *const D3D12_TILE_REGION_SIZE, pheap: *mut ::core::ffi::c_void, numranges: u32, prangeflags: *const D3D12_TILE_RANGE_FLAGS, pheaprangestartoffsets: *const u32, prangetilecounts: *const u32, flags: D3D12_TILE_MAPPING_FLAGS),
261 #[cfg(not(feature = "Win32_Foundation"))]
262 UpdateTileMappings: usize,
263 #[cfg(feature = "Win32_Foundation")]
264 pub CopyTileMappings: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdstresource: *mut ::core::ffi::c_void, pdstregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, psrcresource: *mut ::core::ffi::c_void, psrcregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, pregionsize: *const D3D12_TILE_REGION_SIZE, flags: D3D12_TILE_MAPPING_FLAGS),
265 #[cfg(not(feature = "Win32_Foundation"))]
266 CopyTileMappings: usize,
267 pub ExecuteCommandLists: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numcommandlists: u32, ppcommandlists: *const *mut ::core::ffi::c_void),
268 pub SetMarker: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, metadata: u32, pdata: *const ::core::ffi::c_void, size: u32),
269 pub BeginEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, metadata: u32, pdata: *const ::core::ffi::c_void, size: u32),
270 pub EndEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
271 pub Signal: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfence: *mut ::core::ffi::c_void, value: u64) -> ::windows_core::HRESULT,
272 pub Wait: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfence: *mut ::core::ffi::c_void, value: u64) -> ::windows_core::HRESULT,
273 pub GetTimestampFrequency: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfrequency: *mut u64) -> ::windows_core::HRESULT,
274 pub GetClockCalibration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pgputimestamp: *mut u64, pcputimestamp: *mut u64) -> ::windows_core::HRESULT,
275 pub GetDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_COMMAND_QUEUE_DESC),
276}
277#[repr(transparent)]
278#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
279pub struct ID3D12CommandSignature(::windows_core::IUnknown);
280impl ID3D12CommandSignature {
281 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
282 (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
283 }
284 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
285 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
286 }
287 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
288 where
289 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
290 {
291 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
292 }
293 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
294 where
295 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
296 {
297 (::windows_core::Interface::vtable(self).base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
298 }
299 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
300 where
301 T: ::windows_core::ComInterface,
302 {
303 (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
304 }
305}
306::windows_core::imp::interface_hierarchy!(ID3D12CommandSignature, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12Pageable);
307unsafe impl ::core::marker::Send for ID3D12CommandSignature {}
308unsafe impl ::core::marker::Sync for ID3D12CommandSignature {}
309unsafe impl ::windows_core::Interface for ID3D12CommandSignature {
310 type Vtable = ID3D12CommandSignature_Vtbl;
311}
312unsafe impl ::windows_core::ComInterface for ID3D12CommandSignature {
313 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xc36a797c_ec80_4f0a_8985_a7b2475082d1);
314}
315#[repr(C)]
316#[doc(hidden)]
317pub struct ID3D12CommandSignature_Vtbl {
318 pub base__: ID3D12Pageable_Vtbl,
319}
320#[repr(transparent)]
321#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
322pub struct ID3D12DSRDeviceFactory(::windows_core::IUnknown);
323impl ID3D12DSRDeviceFactory {
324 pub unsafe fn CreateDSRDevice<P0, T>(&self, pd3d12device: P0, nodemask: u32) -> ::windows_core::Result<T>
325 where
326 P0: ::windows_core::IntoParam<ID3D12Device>,
327 T: ::windows_core::ComInterface,
328 {
329 let mut result__: *mut c_void = ::std::ptr::null_mut();
330 (::windows_core::Interface::vtable(self).CreateDSRDevice)(::windows_core::Interface::as_raw(self), pd3d12device.into_param().abi(), nodemask, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
331 }
332}
333::windows_core::imp::interface_hierarchy!(ID3D12DSRDeviceFactory, ::windows_core::IUnknown);
334unsafe impl ::core::marker::Send for ID3D12DSRDeviceFactory {}
335unsafe impl ::core::marker::Sync for ID3D12DSRDeviceFactory {}
336unsafe impl ::windows_core::Interface for ID3D12DSRDeviceFactory {
337 type Vtable = ID3D12DSRDeviceFactory_Vtbl;
338}
339unsafe impl ::windows_core::ComInterface for ID3D12DSRDeviceFactory {
340 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x51ee7783_6426_4428_b182_42f3541fca71);
341}
342#[repr(C)]
343#[doc(hidden)]
344pub struct ID3D12DSRDeviceFactory_Vtbl {
345 pub base__: ::windows_core::IUnknown_Vtbl,
346 pub CreateDSRDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pd3d12device: *mut ::core::ffi::c_void, nodemask: u32, riid: *const ::windows_core::GUID, ppvdsrdevice: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
347}
348#[repr(transparent)]
349#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
350pub struct ID3D12Debug(::windows_core::IUnknown);
351impl ID3D12Debug {
352 pub unsafe fn EnableDebugLayer(&self) {
353 (::windows_core::Interface::vtable(self).EnableDebugLayer)(::windows_core::Interface::as_raw(self))
354 }
355}
356::windows_core::imp::interface_hierarchy!(ID3D12Debug, ::windows_core::IUnknown);
357unsafe impl ::core::marker::Send for ID3D12Debug {}
358unsafe impl ::core::marker::Sync for ID3D12Debug {}
359unsafe impl ::windows_core::Interface for ID3D12Debug {
360 type Vtable = ID3D12Debug_Vtbl;
361}
362unsafe impl ::windows_core::ComInterface for ID3D12Debug {
363 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x344488b7_6846_474b_b989_f027448245e0);
364}
365#[repr(C)]
366#[doc(hidden)]
367pub struct ID3D12Debug_Vtbl {
368 pub base__: ::windows_core::IUnknown_Vtbl,
369 pub EnableDebugLayer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
370}
371#[repr(transparent)]
372#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
373pub struct ID3D12Debug1(::windows_core::IUnknown);
374impl ID3D12Debug1 {
375 pub unsafe fn EnableDebugLayer(&self) {
376 (::windows_core::Interface::vtable(self).EnableDebugLayer)(::windows_core::Interface::as_raw(self))
377 }
378 #[doc = "Required features: `\"Win32_Foundation\"`"]
379 #[cfg(feature = "Win32_Foundation")]
380 pub unsafe fn SetEnableGPUBasedValidation<P0>(&self, enable: P0)
381 where
382 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
383 {
384 (::windows_core::Interface::vtable(self).SetEnableGPUBasedValidation)(::windows_core::Interface::as_raw(self), enable.into_param().abi())
385 }
386 #[doc = "Required features: `\"Win32_Foundation\"`"]
387 #[cfg(feature = "Win32_Foundation")]
388 pub unsafe fn SetEnableSynchronizedCommandQueueValidation<P0>(&self, enable: P0)
389 where
390 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
391 {
392 (::windows_core::Interface::vtable(self).SetEnableSynchronizedCommandQueueValidation)(::windows_core::Interface::as_raw(self), enable.into_param().abi())
393 }
394}
395::windows_core::imp::interface_hierarchy!(ID3D12Debug1, ::windows_core::IUnknown);
396unsafe impl ::core::marker::Send for ID3D12Debug1 {}
397unsafe impl ::core::marker::Sync for ID3D12Debug1 {}
398unsafe impl ::windows_core::Interface for ID3D12Debug1 {
399 type Vtable = ID3D12Debug1_Vtbl;
400}
401unsafe impl ::windows_core::ComInterface for ID3D12Debug1 {
402 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xaffaa4ca_63fe_4d8e_b8ad_159000af4304);
403}
404#[repr(C)]
405#[doc(hidden)]
406pub struct ID3D12Debug1_Vtbl {
407 pub base__: ::windows_core::IUnknown_Vtbl,
408 pub EnableDebugLayer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
409 #[cfg(feature = "Win32_Foundation")]
410 pub SetEnableGPUBasedValidation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enable: super::super::Foundation::BOOL),
411 #[cfg(not(feature = "Win32_Foundation"))]
412 SetEnableGPUBasedValidation: usize,
413 #[cfg(feature = "Win32_Foundation")]
414 pub SetEnableSynchronizedCommandQueueValidation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enable: super::super::Foundation::BOOL),
415 #[cfg(not(feature = "Win32_Foundation"))]
416 SetEnableSynchronizedCommandQueueValidation: usize,
417}
418#[repr(transparent)]
419#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
420pub struct ID3D12Debug2(::windows_core::IUnknown);
421impl ID3D12Debug2 {
422 pub unsafe fn SetGPUBasedValidationFlags(&self, flags: D3D12_GPU_BASED_VALIDATION_FLAGS) {
423 (::windows_core::Interface::vtable(self).SetGPUBasedValidationFlags)(::windows_core::Interface::as_raw(self), flags)
424 }
425}
426::windows_core::imp::interface_hierarchy!(ID3D12Debug2, ::windows_core::IUnknown);
427unsafe impl ::core::marker::Send for ID3D12Debug2 {}
428unsafe impl ::core::marker::Sync for ID3D12Debug2 {}
429unsafe impl ::windows_core::Interface for ID3D12Debug2 {
430 type Vtable = ID3D12Debug2_Vtbl;
431}
432unsafe impl ::windows_core::ComInterface for ID3D12Debug2 {
433 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x93a665c4_a3b2_4e5d_b692_a26ae14e3374);
434}
435#[repr(C)]
436#[doc(hidden)]
437pub struct ID3D12Debug2_Vtbl {
438 pub base__: ::windows_core::IUnknown_Vtbl,
439 pub SetGPUBasedValidationFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, flags: D3D12_GPU_BASED_VALIDATION_FLAGS),
440}
441#[repr(transparent)]
442#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
443pub struct ID3D12Debug3(::windows_core::IUnknown);
444impl ID3D12Debug3 {
445 pub unsafe fn EnableDebugLayer(&self) {
446 (::windows_core::Interface::vtable(self).base__.EnableDebugLayer)(::windows_core::Interface::as_raw(self))
447 }
448 #[doc = "Required features: `\"Win32_Foundation\"`"]
449 #[cfg(feature = "Win32_Foundation")]
450 pub unsafe fn SetEnableGPUBasedValidation<P0>(&self, enable: P0)
451 where
452 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
453 {
454 (::windows_core::Interface::vtable(self).SetEnableGPUBasedValidation)(::windows_core::Interface::as_raw(self), enable.into_param().abi())
455 }
456 #[doc = "Required features: `\"Win32_Foundation\"`"]
457 #[cfg(feature = "Win32_Foundation")]
458 pub unsafe fn SetEnableSynchronizedCommandQueueValidation<P0>(&self, enable: P0)
459 where
460 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
461 {
462 (::windows_core::Interface::vtable(self).SetEnableSynchronizedCommandQueueValidation)(::windows_core::Interface::as_raw(self), enable.into_param().abi())
463 }
464 pub unsafe fn SetGPUBasedValidationFlags(&self, flags: D3D12_GPU_BASED_VALIDATION_FLAGS) {
465 (::windows_core::Interface::vtable(self).SetGPUBasedValidationFlags)(::windows_core::Interface::as_raw(self), flags)
466 }
467}
468::windows_core::imp::interface_hierarchy!(ID3D12Debug3, ::windows_core::IUnknown, ID3D12Debug);
469unsafe impl ::core::marker::Send for ID3D12Debug3 {}
470unsafe impl ::core::marker::Sync for ID3D12Debug3 {}
471unsafe impl ::windows_core::Interface for ID3D12Debug3 {
472 type Vtable = ID3D12Debug3_Vtbl;
473}
474unsafe impl ::windows_core::ComInterface for ID3D12Debug3 {
475 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x5cf4e58f_f671_4ff1_a542_3686e3d153d1);
476}
477#[repr(C)]
478#[doc(hidden)]
479pub struct ID3D12Debug3_Vtbl {
480 pub base__: ID3D12Debug_Vtbl,
481 #[cfg(feature = "Win32_Foundation")]
482 pub SetEnableGPUBasedValidation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enable: super::super::Foundation::BOOL),
483 #[cfg(not(feature = "Win32_Foundation"))]
484 SetEnableGPUBasedValidation: usize,
485 #[cfg(feature = "Win32_Foundation")]
486 pub SetEnableSynchronizedCommandQueueValidation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enable: super::super::Foundation::BOOL),
487 #[cfg(not(feature = "Win32_Foundation"))]
488 SetEnableSynchronizedCommandQueueValidation: usize,
489 pub SetGPUBasedValidationFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, flags: D3D12_GPU_BASED_VALIDATION_FLAGS),
490}
491#[repr(transparent)]
492#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
493pub struct ID3D12Debug4(::windows_core::IUnknown);
494impl ID3D12Debug4 {
495 pub unsafe fn EnableDebugLayer(&self) {
496 (::windows_core::Interface::vtable(self).base__.base__.EnableDebugLayer)(::windows_core::Interface::as_raw(self))
497 }
498 #[doc = "Required features: `\"Win32_Foundation\"`"]
499 #[cfg(feature = "Win32_Foundation")]
500 pub unsafe fn SetEnableGPUBasedValidation<P0>(&self, enable: P0)
501 where
502 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
503 {
504 (::windows_core::Interface::vtable(self).base__.SetEnableGPUBasedValidation)(::windows_core::Interface::as_raw(self), enable.into_param().abi())
505 }
506 #[doc = "Required features: `\"Win32_Foundation\"`"]
507 #[cfg(feature = "Win32_Foundation")]
508 pub unsafe fn SetEnableSynchronizedCommandQueueValidation<P0>(&self, enable: P0)
509 where
510 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
511 {
512 (::windows_core::Interface::vtable(self).base__.SetEnableSynchronizedCommandQueueValidation)(::windows_core::Interface::as_raw(self), enable.into_param().abi())
513 }
514 pub unsafe fn SetGPUBasedValidationFlags(&self, flags: D3D12_GPU_BASED_VALIDATION_FLAGS) {
515 (::windows_core::Interface::vtable(self).base__.SetGPUBasedValidationFlags)(::windows_core::Interface::as_raw(self), flags)
516 }
517 pub unsafe fn DisableDebugLayer(&self) {
518 (::windows_core::Interface::vtable(self).DisableDebugLayer)(::windows_core::Interface::as_raw(self))
519 }
520}
521::windows_core::imp::interface_hierarchy!(ID3D12Debug4, ::windows_core::IUnknown, ID3D12Debug, ID3D12Debug3);
522unsafe impl ::core::marker::Send for ID3D12Debug4 {}
523unsafe impl ::core::marker::Sync for ID3D12Debug4 {}
524unsafe impl ::windows_core::Interface for ID3D12Debug4 {
525 type Vtable = ID3D12Debug4_Vtbl;
526}
527unsafe impl ::windows_core::ComInterface for ID3D12Debug4 {
528 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x014b816e_9ec5_4a2f_a845_ffbe441ce13a);
529}
530#[repr(C)]
531#[doc(hidden)]
532pub struct ID3D12Debug4_Vtbl {
533 pub base__: ID3D12Debug3_Vtbl,
534 pub DisableDebugLayer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
535}
536#[repr(transparent)]
537#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
538pub struct ID3D12Debug5(::windows_core::IUnknown);
539impl ID3D12Debug5 {
540 pub unsafe fn EnableDebugLayer(&self) {
541 (::windows_core::Interface::vtable(self).base__.base__.base__.EnableDebugLayer)(::windows_core::Interface::as_raw(self))
542 }
543 #[doc = "Required features: `\"Win32_Foundation\"`"]
544 #[cfg(feature = "Win32_Foundation")]
545 pub unsafe fn SetEnableGPUBasedValidation<P0>(&self, enable: P0)
546 where
547 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
548 {
549 (::windows_core::Interface::vtable(self).base__.base__.SetEnableGPUBasedValidation)(::windows_core::Interface::as_raw(self), enable.into_param().abi())
550 }
551 #[doc = "Required features: `\"Win32_Foundation\"`"]
552 #[cfg(feature = "Win32_Foundation")]
553 pub unsafe fn SetEnableSynchronizedCommandQueueValidation<P0>(&self, enable: P0)
554 where
555 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
556 {
557 (::windows_core::Interface::vtable(self).base__.base__.SetEnableSynchronizedCommandQueueValidation)(::windows_core::Interface::as_raw(self), enable.into_param().abi())
558 }
559 pub unsafe fn SetGPUBasedValidationFlags(&self, flags: D3D12_GPU_BASED_VALIDATION_FLAGS) {
560 (::windows_core::Interface::vtable(self).base__.base__.SetGPUBasedValidationFlags)(::windows_core::Interface::as_raw(self), flags)
561 }
562 pub unsafe fn DisableDebugLayer(&self) {
563 (::windows_core::Interface::vtable(self).base__.DisableDebugLayer)(::windows_core::Interface::as_raw(self))
564 }
565 #[doc = "Required features: `\"Win32_Foundation\"`"]
566 #[cfg(feature = "Win32_Foundation")]
567 pub unsafe fn SetEnableAutoName<P0>(&self, enable: P0)
568 where
569 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
570 {
571 (::windows_core::Interface::vtable(self).SetEnableAutoName)(::windows_core::Interface::as_raw(self), enable.into_param().abi())
572 }
573}
574::windows_core::imp::interface_hierarchy!(ID3D12Debug5, ::windows_core::IUnknown, ID3D12Debug, ID3D12Debug3, ID3D12Debug4);
575unsafe impl ::core::marker::Send for ID3D12Debug5 {}
576unsafe impl ::core::marker::Sync for ID3D12Debug5 {}
577unsafe impl ::windows_core::Interface for ID3D12Debug5 {
578 type Vtable = ID3D12Debug5_Vtbl;
579}
580unsafe impl ::windows_core::ComInterface for ID3D12Debug5 {
581 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x548d6b12_09fa_40e0_9069_5dcd589a52c9);
582}
583#[repr(C)]
584#[doc(hidden)]
585pub struct ID3D12Debug5_Vtbl {
586 pub base__: ID3D12Debug4_Vtbl,
587 #[cfg(feature = "Win32_Foundation")]
588 pub SetEnableAutoName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enable: super::super::Foundation::BOOL),
589 #[cfg(not(feature = "Win32_Foundation"))]
590 SetEnableAutoName: usize,
591}
592#[repr(transparent)]
593#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
594pub struct ID3D12Debug6(::windows_core::IUnknown);
595impl ID3D12Debug6 {
596 pub unsafe fn EnableDebugLayer(&self) {
597 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnableDebugLayer)(::windows_core::Interface::as_raw(self))
598 }
599 #[doc = "Required features: `\"Win32_Foundation\"`"]
600 #[cfg(feature = "Win32_Foundation")]
601 pub unsafe fn SetEnableGPUBasedValidation<P0>(&self, enable: P0)
602 where
603 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
604 {
605 (::windows_core::Interface::vtable(self).base__.base__.base__.SetEnableGPUBasedValidation)(::windows_core::Interface::as_raw(self), enable.into_param().abi())
606 }
607 #[doc = "Required features: `\"Win32_Foundation\"`"]
608 #[cfg(feature = "Win32_Foundation")]
609 pub unsafe fn SetEnableSynchronizedCommandQueueValidation<P0>(&self, enable: P0)
610 where
611 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
612 {
613 (::windows_core::Interface::vtable(self).base__.base__.base__.SetEnableSynchronizedCommandQueueValidation)(::windows_core::Interface::as_raw(self), enable.into_param().abi())
614 }
615 pub unsafe fn SetGPUBasedValidationFlags(&self, flags: D3D12_GPU_BASED_VALIDATION_FLAGS) {
616 (::windows_core::Interface::vtable(self).base__.base__.base__.SetGPUBasedValidationFlags)(::windows_core::Interface::as_raw(self), flags)
617 }
618 pub unsafe fn DisableDebugLayer(&self) {
619 (::windows_core::Interface::vtable(self).base__.base__.DisableDebugLayer)(::windows_core::Interface::as_raw(self))
620 }
621 #[doc = "Required features: `\"Win32_Foundation\"`"]
622 #[cfg(feature = "Win32_Foundation")]
623 pub unsafe fn SetEnableAutoName<P0>(&self, enable: P0)
624 where
625 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
626 {
627 (::windows_core::Interface::vtable(self).base__.SetEnableAutoName)(::windows_core::Interface::as_raw(self), enable.into_param().abi())
628 }
629 #[doc = "Required features: `\"Win32_Foundation\"`"]
630 #[cfg(feature = "Win32_Foundation")]
631 pub unsafe fn SetForceLegacyBarrierValidation<P0>(&self, enable: P0)
632 where
633 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
634 {
635 (::windows_core::Interface::vtable(self).SetForceLegacyBarrierValidation)(::windows_core::Interface::as_raw(self), enable.into_param().abi())
636 }
637}
638::windows_core::imp::interface_hierarchy!(ID3D12Debug6, ::windows_core::IUnknown, ID3D12Debug, ID3D12Debug3, ID3D12Debug4, ID3D12Debug5);
639unsafe impl ::core::marker::Send for ID3D12Debug6 {}
640unsafe impl ::core::marker::Sync for ID3D12Debug6 {}
641unsafe impl ::windows_core::Interface for ID3D12Debug6 {
642 type Vtable = ID3D12Debug6_Vtbl;
643}
644unsafe impl ::windows_core::ComInterface for ID3D12Debug6 {
645 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x82a816d6_5d01_4157_97d0_4975463fd1ed);
646}
647#[repr(C)]
648#[doc(hidden)]
649pub struct ID3D12Debug6_Vtbl {
650 pub base__: ID3D12Debug5_Vtbl,
651 #[cfg(feature = "Win32_Foundation")]
652 pub SetForceLegacyBarrierValidation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enable: super::super::Foundation::BOOL),
653 #[cfg(not(feature = "Win32_Foundation"))]
654 SetForceLegacyBarrierValidation: usize,
655}
656#[repr(transparent)]
657#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
658pub struct ID3D12DebugCommandList(::windows_core::IUnknown);
659impl ID3D12DebugCommandList {
660 #[doc = "Required features: `\"Win32_Foundation\"`"]
661 #[cfg(feature = "Win32_Foundation")]
662 pub unsafe fn AssertResourceState<P0>(&self, presource: P0, subresource: u32, state: u32) -> super::super::Foundation::BOOL
663 where
664 P0: ::windows_core::IntoParam<ID3D12Resource>,
665 {
666 (::windows_core::Interface::vtable(self).AssertResourceState)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), subresource, state)
667 }
668 pub unsafe fn SetFeatureMask(&self, mask: D3D12_DEBUG_FEATURE) -> ::windows_core::Result<()> {
669 (::windows_core::Interface::vtable(self).SetFeatureMask)(::windows_core::Interface::as_raw(self), mask).ok()
670 }
671 pub unsafe fn GetFeatureMask(&self) -> D3D12_DEBUG_FEATURE {
672 (::windows_core::Interface::vtable(self).GetFeatureMask)(::windows_core::Interface::as_raw(self))
673 }
674}
675::windows_core::imp::interface_hierarchy!(ID3D12DebugCommandList, ::windows_core::IUnknown);
676unsafe impl ::core::marker::Send for ID3D12DebugCommandList {}
677unsafe impl ::core::marker::Sync for ID3D12DebugCommandList {}
678unsafe impl ::windows_core::Interface for ID3D12DebugCommandList {
679 type Vtable = ID3D12DebugCommandList_Vtbl;
680}
681unsafe impl ::windows_core::ComInterface for ID3D12DebugCommandList {
682 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x09e0bf36_54ac_484f_8847_4baeeab6053f);
683}
684#[repr(C)]
685#[doc(hidden)]
686pub struct ID3D12DebugCommandList_Vtbl {
687 pub base__: ::windows_core::IUnknown_Vtbl,
688 #[cfg(feature = "Win32_Foundation")]
689 pub AssertResourceState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, subresource: u32, state: u32) -> super::super::Foundation::BOOL,
690 #[cfg(not(feature = "Win32_Foundation"))]
691 AssertResourceState: usize,
692 pub SetFeatureMask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mask: D3D12_DEBUG_FEATURE) -> ::windows_core::HRESULT,
693 pub GetFeatureMask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> D3D12_DEBUG_FEATURE,
694}
695#[repr(transparent)]
696#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
697pub struct ID3D12DebugCommandList1(::windows_core::IUnknown);
698impl ID3D12DebugCommandList1 {
699 #[doc = "Required features: `\"Win32_Foundation\"`"]
700 #[cfg(feature = "Win32_Foundation")]
701 pub unsafe fn AssertResourceState<P0>(&self, presource: P0, subresource: u32, state: u32) -> super::super::Foundation::BOOL
702 where
703 P0: ::windows_core::IntoParam<ID3D12Resource>,
704 {
705 (::windows_core::Interface::vtable(self).AssertResourceState)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), subresource, state)
706 }
707 pub unsafe fn SetDebugParameter(&self, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *const ::core::ffi::c_void, datasize: u32) -> ::windows_core::Result<()> {
708 (::windows_core::Interface::vtable(self).SetDebugParameter)(::windows_core::Interface::as_raw(self), r#type, pdata, datasize).ok()
709 }
710 pub unsafe fn GetDebugParameter(&self, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *mut ::core::ffi::c_void, datasize: u32) -> ::windows_core::Result<()> {
711 (::windows_core::Interface::vtable(self).GetDebugParameter)(::windows_core::Interface::as_raw(self), r#type, pdata, datasize).ok()
712 }
713}
714::windows_core::imp::interface_hierarchy!(ID3D12DebugCommandList1, ::windows_core::IUnknown);
715unsafe impl ::core::marker::Send for ID3D12DebugCommandList1 {}
716unsafe impl ::core::marker::Sync for ID3D12DebugCommandList1 {}
717unsafe impl ::windows_core::Interface for ID3D12DebugCommandList1 {
718 type Vtable = ID3D12DebugCommandList1_Vtbl;
719}
720unsafe impl ::windows_core::ComInterface for ID3D12DebugCommandList1 {
721 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x102ca951_311b_4b01_b11f_ecb83e061b37);
722}
723#[repr(C)]
724#[doc(hidden)]
725pub struct ID3D12DebugCommandList1_Vtbl {
726 pub base__: ::windows_core::IUnknown_Vtbl,
727 #[cfg(feature = "Win32_Foundation")]
728 pub AssertResourceState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, subresource: u32, state: u32) -> super::super::Foundation::BOOL,
729 #[cfg(not(feature = "Win32_Foundation"))]
730 AssertResourceState: usize,
731 pub SetDebugParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *const ::core::ffi::c_void, datasize: u32) -> ::windows_core::HRESULT,
732 pub GetDebugParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *mut ::core::ffi::c_void, datasize: u32) -> ::windows_core::HRESULT,
733}
734#[repr(transparent)]
735#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
736pub struct ID3D12DebugCommandList2(::windows_core::IUnknown);
737impl ID3D12DebugCommandList2 {
738 #[doc = "Required features: `\"Win32_Foundation\"`"]
739 #[cfg(feature = "Win32_Foundation")]
740 pub unsafe fn AssertResourceState<P0>(&self, presource: P0, subresource: u32, state: u32) -> super::super::Foundation::BOOL
741 where
742 P0: ::windows_core::IntoParam<ID3D12Resource>,
743 {
744 (::windows_core::Interface::vtable(self).base__.AssertResourceState)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), subresource, state)
745 }
746 pub unsafe fn SetFeatureMask(&self, mask: D3D12_DEBUG_FEATURE) -> ::windows_core::Result<()> {
747 (::windows_core::Interface::vtable(self).base__.SetFeatureMask)(::windows_core::Interface::as_raw(self), mask).ok()
748 }
749 pub unsafe fn GetFeatureMask(&self) -> D3D12_DEBUG_FEATURE {
750 (::windows_core::Interface::vtable(self).base__.GetFeatureMask)(::windows_core::Interface::as_raw(self))
751 }
752 pub unsafe fn SetDebugParameter(&self, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *const ::core::ffi::c_void, datasize: u32) -> ::windows_core::Result<()> {
753 (::windows_core::Interface::vtable(self).SetDebugParameter)(::windows_core::Interface::as_raw(self), r#type, pdata, datasize).ok()
754 }
755 pub unsafe fn GetDebugParameter(&self, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *mut ::core::ffi::c_void, datasize: u32) -> ::windows_core::Result<()> {
756 (::windows_core::Interface::vtable(self).GetDebugParameter)(::windows_core::Interface::as_raw(self), r#type, pdata, datasize).ok()
757 }
758}
759::windows_core::imp::interface_hierarchy!(ID3D12DebugCommandList2, ::windows_core::IUnknown, ID3D12DebugCommandList);
760unsafe impl ::core::marker::Send for ID3D12DebugCommandList2 {}
761unsafe impl ::core::marker::Sync for ID3D12DebugCommandList2 {}
762unsafe impl ::windows_core::Interface for ID3D12DebugCommandList2 {
763 type Vtable = ID3D12DebugCommandList2_Vtbl;
764}
765unsafe impl ::windows_core::ComInterface for ID3D12DebugCommandList2 {
766 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xaeb575cf_4e06_48be_ba3b_c450fc96652e);
767}
768#[repr(C)]
769#[doc(hidden)]
770pub struct ID3D12DebugCommandList2_Vtbl {
771 pub base__: ID3D12DebugCommandList_Vtbl,
772 pub SetDebugParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *const ::core::ffi::c_void, datasize: u32) -> ::windows_core::HRESULT,
773 pub GetDebugParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *mut ::core::ffi::c_void, datasize: u32) -> ::windows_core::HRESULT,
774}
775#[repr(transparent)]
776#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
777pub struct ID3D12DebugCommandList3(::windows_core::IUnknown);
778impl ID3D12DebugCommandList3 {
779 #[doc = "Required features: `\"Win32_Foundation\"`"]
780 #[cfg(feature = "Win32_Foundation")]
781 pub unsafe fn AssertResourceState<P0>(&self, presource: P0, subresource: u32, state: u32) -> super::super::Foundation::BOOL
782 where
783 P0: ::windows_core::IntoParam<ID3D12Resource>,
784 {
785 (::windows_core::Interface::vtable(self).base__.base__.AssertResourceState)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), subresource, state)
786 }
787 pub unsafe fn SetFeatureMask(&self, mask: D3D12_DEBUG_FEATURE) -> ::windows_core::Result<()> {
788 (::windows_core::Interface::vtable(self).base__.base__.SetFeatureMask)(::windows_core::Interface::as_raw(self), mask).ok()
789 }
790 pub unsafe fn GetFeatureMask(&self) -> D3D12_DEBUG_FEATURE {
791 (::windows_core::Interface::vtable(self).base__.base__.GetFeatureMask)(::windows_core::Interface::as_raw(self))
792 }
793 pub unsafe fn SetDebugParameter(&self, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *const ::core::ffi::c_void, datasize: u32) -> ::windows_core::Result<()> {
794 (::windows_core::Interface::vtable(self).base__.SetDebugParameter)(::windows_core::Interface::as_raw(self), r#type, pdata, datasize).ok()
795 }
796 pub unsafe fn GetDebugParameter(&self, r#type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pdata: *mut ::core::ffi::c_void, datasize: u32) -> ::windows_core::Result<()> {
797 (::windows_core::Interface::vtable(self).base__.GetDebugParameter)(::windows_core::Interface::as_raw(self), r#type, pdata, datasize).ok()
798 }
799 pub unsafe fn AssertResourceAccess<P0>(&self, presource: P0, subresource: u32, access: D3D12_BARRIER_ACCESS)
800 where
801 P0: ::windows_core::IntoParam<ID3D12Resource>,
802 {
803 (::windows_core::Interface::vtable(self).AssertResourceAccess)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), subresource, access)
804 }
805 pub unsafe fn AssertTextureLayout<P0>(&self, presource: P0, subresource: u32, layout: D3D12_BARRIER_LAYOUT)
806 where
807 P0: ::windows_core::IntoParam<ID3D12Resource>,
808 {
809 (::windows_core::Interface::vtable(self).AssertTextureLayout)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), subresource, layout)
810 }
811}
812::windows_core::imp::interface_hierarchy!(ID3D12DebugCommandList3, ::windows_core::IUnknown, ID3D12DebugCommandList, ID3D12DebugCommandList2);
813unsafe impl ::core::marker::Send for ID3D12DebugCommandList3 {}
814unsafe impl ::core::marker::Sync for ID3D12DebugCommandList3 {}
815unsafe impl ::windows_core::Interface for ID3D12DebugCommandList3 {
816 type Vtable = ID3D12DebugCommandList3_Vtbl;
817}
818unsafe impl ::windows_core::ComInterface for ID3D12DebugCommandList3 {
819 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x197d5e15_4d37_4d34_af78_724cd70fdb1f);
820}
821#[repr(C)]
822#[doc(hidden)]
823pub struct ID3D12DebugCommandList3_Vtbl {
824 pub base__: ID3D12DebugCommandList2_Vtbl,
825 pub AssertResourceAccess: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, subresource: u32, access: D3D12_BARRIER_ACCESS),
826 pub AssertTextureLayout: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, subresource: u32, layout: D3D12_BARRIER_LAYOUT),
827}
828#[repr(transparent)]
829#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
830pub struct ID3D12DebugCommandQueue(::windows_core::IUnknown);
831impl ID3D12DebugCommandQueue {
832 #[doc = "Required features: `\"Win32_Foundation\"`"]
833 #[cfg(feature = "Win32_Foundation")]
834 pub unsafe fn AssertResourceState<P0>(&self, presource: P0, subresource: u32, state: u32) -> super::super::Foundation::BOOL
835 where
836 P0: ::windows_core::IntoParam<ID3D12Resource>,
837 {
838 (::windows_core::Interface::vtable(self).AssertResourceState)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), subresource, state)
839 }
840}
841::windows_core::imp::interface_hierarchy!(ID3D12DebugCommandQueue, ::windows_core::IUnknown);
842unsafe impl ::core::marker::Send for ID3D12DebugCommandQueue {}
843unsafe impl ::core::marker::Sync for ID3D12DebugCommandQueue {}
844unsafe impl ::windows_core::Interface for ID3D12DebugCommandQueue {
845 type Vtable = ID3D12DebugCommandQueue_Vtbl;
846}
847unsafe impl ::windows_core::ComInterface for ID3D12DebugCommandQueue {
848 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x09e0bf36_54ac_484f_8847_4baeeab6053a);
849}
850#[repr(C)]
851#[doc(hidden)]
852pub struct ID3D12DebugCommandQueue_Vtbl {
853 pub base__: ::windows_core::IUnknown_Vtbl,
854 #[cfg(feature = "Win32_Foundation")]
855 pub AssertResourceState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, subresource: u32, state: u32) -> super::super::Foundation::BOOL,
856 #[cfg(not(feature = "Win32_Foundation"))]
857 AssertResourceState: usize,
858}
859#[repr(transparent)]
860#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
861pub struct ID3D12DebugCommandQueue1(::windows_core::IUnknown);
862impl ID3D12DebugCommandQueue1 {
863 #[doc = "Required features: `\"Win32_Foundation\"`"]
864 #[cfg(feature = "Win32_Foundation")]
865 pub unsafe fn AssertResourceState<P0>(&self, presource: P0, subresource: u32, state: u32) -> super::super::Foundation::BOOL
866 where
867 P0: ::windows_core::IntoParam<ID3D12Resource>,
868 {
869 (::windows_core::Interface::vtable(self).base__.AssertResourceState)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), subresource, state)
870 }
871 pub unsafe fn AssertResourceAccess<P0>(&self, presource: P0, subresource: u32, access: D3D12_BARRIER_ACCESS)
872 where
873 P0: ::windows_core::IntoParam<ID3D12Resource>,
874 {
875 (::windows_core::Interface::vtable(self).AssertResourceAccess)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), subresource, access)
876 }
877 pub unsafe fn AssertTextureLayout<P0>(&self, presource: P0, subresource: u32, layout: D3D12_BARRIER_LAYOUT)
878 where
879 P0: ::windows_core::IntoParam<ID3D12Resource>,
880 {
881 (::windows_core::Interface::vtable(self).AssertTextureLayout)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), subresource, layout)
882 }
883}
884::windows_core::imp::interface_hierarchy!(ID3D12DebugCommandQueue1, ::windows_core::IUnknown, ID3D12DebugCommandQueue);
885unsafe impl ::core::marker::Send for ID3D12DebugCommandQueue1 {}
886unsafe impl ::core::marker::Sync for ID3D12DebugCommandQueue1 {}
887unsafe impl ::windows_core::Interface for ID3D12DebugCommandQueue1 {
888 type Vtable = ID3D12DebugCommandQueue1_Vtbl;
889}
890unsafe impl ::windows_core::ComInterface for ID3D12DebugCommandQueue1 {
891 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x16be35a2_bfd6_49f2_bcae_eaae4aff862d);
892}
893#[repr(C)]
894#[doc(hidden)]
895pub struct ID3D12DebugCommandQueue1_Vtbl {
896 pub base__: ID3D12DebugCommandQueue_Vtbl,
897 pub AssertResourceAccess: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, subresource: u32, access: D3D12_BARRIER_ACCESS),
898 pub AssertTextureLayout: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, subresource: u32, layout: D3D12_BARRIER_LAYOUT),
899}
900#[repr(transparent)]
901#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
902pub struct ID3D12DebugDevice(::windows_core::IUnknown);
903impl ID3D12DebugDevice {
904 pub unsafe fn SetFeatureMask(&self, mask: D3D12_DEBUG_FEATURE) -> ::windows_core::Result<()> {
905 (::windows_core::Interface::vtable(self).SetFeatureMask)(::windows_core::Interface::as_raw(self), mask).ok()
906 }
907 pub unsafe fn GetFeatureMask(&self) -> D3D12_DEBUG_FEATURE {
908 (::windows_core::Interface::vtable(self).GetFeatureMask)(::windows_core::Interface::as_raw(self))
909 }
910 pub unsafe fn ReportLiveDeviceObjects(&self, flags: D3D12_RLDO_FLAGS) -> ::windows_core::Result<()> {
911 (::windows_core::Interface::vtable(self).ReportLiveDeviceObjects)(::windows_core::Interface::as_raw(self), flags).ok()
912 }
913}
914::windows_core::imp::interface_hierarchy!(ID3D12DebugDevice, ::windows_core::IUnknown);
915unsafe impl ::core::marker::Send for ID3D12DebugDevice {}
916unsafe impl ::core::marker::Sync for ID3D12DebugDevice {}
917unsafe impl ::windows_core::Interface for ID3D12DebugDevice {
918 type Vtable = ID3D12DebugDevice_Vtbl;
919}
920unsafe impl ::windows_core::ComInterface for ID3D12DebugDevice {
921 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x3febd6dd_4973_4787_8194_e45f9e28923e);
922}
923#[repr(C)]
924#[doc(hidden)]
925pub struct ID3D12DebugDevice_Vtbl {
926 pub base__: ::windows_core::IUnknown_Vtbl,
927 pub SetFeatureMask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mask: D3D12_DEBUG_FEATURE) -> ::windows_core::HRESULT,
928 pub GetFeatureMask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> D3D12_DEBUG_FEATURE,
929 pub ReportLiveDeviceObjects: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, flags: D3D12_RLDO_FLAGS) -> ::windows_core::HRESULT,
930}
931#[repr(transparent)]
932#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
933pub struct ID3D12DebugDevice1(::windows_core::IUnknown);
934impl ID3D12DebugDevice1 {
935 pub unsafe fn SetDebugParameter(&self, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *const ::core::ffi::c_void, datasize: u32) -> ::windows_core::Result<()> {
936 (::windows_core::Interface::vtable(self).SetDebugParameter)(::windows_core::Interface::as_raw(self), r#type, pdata, datasize).ok()
937 }
938 pub unsafe fn GetDebugParameter(&self, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *mut ::core::ffi::c_void, datasize: u32) -> ::windows_core::Result<()> {
939 (::windows_core::Interface::vtable(self).GetDebugParameter)(::windows_core::Interface::as_raw(self), r#type, pdata, datasize).ok()
940 }
941 pub unsafe fn ReportLiveDeviceObjects(&self, flags: D3D12_RLDO_FLAGS) -> ::windows_core::Result<()> {
942 (::windows_core::Interface::vtable(self).ReportLiveDeviceObjects)(::windows_core::Interface::as_raw(self), flags).ok()
943 }
944}
945::windows_core::imp::interface_hierarchy!(ID3D12DebugDevice1, ::windows_core::IUnknown);
946unsafe impl ::core::marker::Send for ID3D12DebugDevice1 {}
947unsafe impl ::core::marker::Sync for ID3D12DebugDevice1 {}
948unsafe impl ::windows_core::Interface for ID3D12DebugDevice1 {
949 type Vtable = ID3D12DebugDevice1_Vtbl;
950}
951unsafe impl ::windows_core::ComInterface for ID3D12DebugDevice1 {
952 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xa9b71770_d099_4a65_a698_3dee10020f88);
953}
954#[repr(C)]
955#[doc(hidden)]
956pub struct ID3D12DebugDevice1_Vtbl {
957 pub base__: ::windows_core::IUnknown_Vtbl,
958 pub SetDebugParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *const ::core::ffi::c_void, datasize: u32) -> ::windows_core::HRESULT,
959 pub GetDebugParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *mut ::core::ffi::c_void, datasize: u32) -> ::windows_core::HRESULT,
960 pub ReportLiveDeviceObjects: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, flags: D3D12_RLDO_FLAGS) -> ::windows_core::HRESULT,
961}
962#[repr(transparent)]
963#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
964pub struct ID3D12DebugDevice2(::windows_core::IUnknown);
965impl ID3D12DebugDevice2 {
966 pub unsafe fn SetFeatureMask(&self, mask: D3D12_DEBUG_FEATURE) -> ::windows_core::Result<()> {
967 (::windows_core::Interface::vtable(self).base__.SetFeatureMask)(::windows_core::Interface::as_raw(self), mask).ok()
968 }
969 pub unsafe fn GetFeatureMask(&self) -> D3D12_DEBUG_FEATURE {
970 (::windows_core::Interface::vtable(self).base__.GetFeatureMask)(::windows_core::Interface::as_raw(self))
971 }
972 pub unsafe fn ReportLiveDeviceObjects(&self, flags: D3D12_RLDO_FLAGS) -> ::windows_core::Result<()> {
973 (::windows_core::Interface::vtable(self).base__.ReportLiveDeviceObjects)(::windows_core::Interface::as_raw(self), flags).ok()
974 }
975 pub unsafe fn SetDebugParameter(&self, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *const ::core::ffi::c_void, datasize: u32) -> ::windows_core::Result<()> {
976 (::windows_core::Interface::vtable(self).SetDebugParameter)(::windows_core::Interface::as_raw(self), r#type, pdata, datasize).ok()
977 }
978 pub unsafe fn GetDebugParameter(&self, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *mut ::core::ffi::c_void, datasize: u32) -> ::windows_core::Result<()> {
979 (::windows_core::Interface::vtable(self).GetDebugParameter)(::windows_core::Interface::as_raw(self), r#type, pdata, datasize).ok()
980 }
981}
982::windows_core::imp::interface_hierarchy!(ID3D12DebugDevice2, ::windows_core::IUnknown, ID3D12DebugDevice);
983unsafe impl ::core::marker::Send for ID3D12DebugDevice2 {}
984unsafe impl ::core::marker::Sync for ID3D12DebugDevice2 {}
985unsafe impl ::windows_core::Interface for ID3D12DebugDevice2 {
986 type Vtable = ID3D12DebugDevice2_Vtbl;
987}
988unsafe impl ::windows_core::ComInterface for ID3D12DebugDevice2 {
989 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x60eccbc1_378d_4df1_894c_f8ac5ce4d7dd);
990}
991#[repr(C)]
992#[doc(hidden)]
993pub struct ID3D12DebugDevice2_Vtbl {
994 pub base__: ID3D12DebugDevice_Vtbl,
995 pub SetDebugParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *const ::core::ffi::c_void, datasize: u32) -> ::windows_core::HRESULT,
996 pub GetDebugParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pdata: *mut ::core::ffi::c_void, datasize: u32) -> ::windows_core::HRESULT,
997}
998#[repr(transparent)]
999#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1000pub struct ID3D12DescriptorHeap(::windows_core::IUnknown);
1001impl ID3D12DescriptorHeap {
1002 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
1003 (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
1004 }
1005 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
1006 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
1007 }
1008 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
1009 where
1010 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
1011 {
1012 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
1013 }
1014 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
1015 where
1016 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1017 {
1018 (::windows_core::Interface::vtable(self).base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
1019 }
1020 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1021 where
1022 T: ::windows_core::ComInterface,
1023 {
1024 (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1025 }
1026 pub unsafe fn GetDesc(&self) -> D3D12_DESCRIPTOR_HEAP_DESC {
1027 let mut result__: D3D12_DESCRIPTOR_HEAP_DESC = ::core::mem::zeroed();
1028 (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__);
1029 result__
1030 }
1031 pub unsafe fn GetCPUDescriptorHandleForHeapStart(&self) -> D3D12_CPU_DESCRIPTOR_HANDLE {
1032 let mut result__: D3D12_CPU_DESCRIPTOR_HANDLE = ::core::mem::zeroed();
1033 (::windows_core::Interface::vtable(self).GetCPUDescriptorHandleForHeapStart)(::windows_core::Interface::as_raw(self), &mut result__);
1034 result__
1035 }
1036 pub unsafe fn GetGPUDescriptorHandleForHeapStart(&self) -> D3D12_GPU_DESCRIPTOR_HANDLE {
1037 let mut result__: D3D12_GPU_DESCRIPTOR_HANDLE = ::core::mem::zeroed();
1038 (::windows_core::Interface::vtable(self).GetGPUDescriptorHandleForHeapStart)(::windows_core::Interface::as_raw(self), &mut result__);
1039 result__
1040 }
1041}
1042::windows_core::imp::interface_hierarchy!(ID3D12DescriptorHeap, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12Pageable);
1043unsafe impl ::core::marker::Send for ID3D12DescriptorHeap {}
1044unsafe impl ::core::marker::Sync for ID3D12DescriptorHeap {}
1045unsafe impl ::windows_core::Interface for ID3D12DescriptorHeap {
1046 type Vtable = ID3D12DescriptorHeap_Vtbl;
1047}
1048unsafe impl ::windows_core::ComInterface for ID3D12DescriptorHeap {
1049 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x8efb471d_616c_4f49_90f7_127bb763fa51);
1050}
1051#[repr(C)]
1052#[doc(hidden)]
1053pub struct ID3D12DescriptorHeap_Vtbl {
1054 pub base__: ID3D12Pageable_Vtbl,
1055 pub GetDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_DESCRIPTOR_HEAP_DESC),
1056 pub GetCPUDescriptorHandleForHeapStart: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_CPU_DESCRIPTOR_HANDLE),
1057 pub GetGPUDescriptorHandleForHeapStart: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_GPU_DESCRIPTOR_HANDLE),
1058}
1059#[repr(transparent)]
1060#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1061pub struct ID3D12Device(::windows_core::IUnknown);
1062impl ID3D12Device {
1063 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
1064 (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
1065 }
1066 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
1067 (::windows_core::Interface::vtable(self).base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
1068 }
1069 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
1070 where
1071 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
1072 {
1073 (::windows_core::Interface::vtable(self).base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
1074 }
1075 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
1076 where
1077 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1078 {
1079 (::windows_core::Interface::vtable(self).base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
1080 }
1081 pub unsafe fn GetNodeCount(&self) -> u32 {
1082 (::windows_core::Interface::vtable(self).GetNodeCount)(::windows_core::Interface::as_raw(self))
1083 }
1084 pub unsafe fn CreateCommandQueue<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows_core::Result<T>
1085 where
1086 T: ::windows_core::ComInterface,
1087 {
1088 let mut result__ = ::std::ptr::null_mut();
1089 (::windows_core::Interface::vtable(self).CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1090 }
1091 pub unsafe fn CreateCommandAllocator<T>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result<T>
1092 where
1093 T: ::windows_core::ComInterface,
1094 {
1095 let mut result__ = ::std::ptr::null_mut();
1096 (::windows_core::Interface::vtable(self).CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1097 }
1098 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
1099 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
1100 pub unsafe fn CreateGraphicsPipelineState<T>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
1101 where
1102 T: ::windows_core::ComInterface,
1103 {
1104 let mut result__ = ::std::ptr::null_mut();
1105 (::windows_core::Interface::vtable(self).CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1106 }
1107 pub unsafe fn CreateComputePipelineState<T>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
1108 where
1109 T: ::windows_core::ComInterface,
1110 {
1111 let mut result__ = ::std::ptr::null_mut();
1112 (::windows_core::Interface::vtable(self).CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1113 }
1114 pub unsafe fn CreateCommandList<P0, P1, T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result<T>
1115 where
1116 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
1117 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
1118 T: ::windows_core::ComInterface,
1119 {
1120 let mut result__ = ::std::ptr::null_mut();
1121 (::windows_core::Interface::vtable(self).CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1122 }
1123 pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> {
1124 (::windows_core::Interface::vtable(self).CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok()
1125 }
1126 pub unsafe fn CreateDescriptorHeap<T>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows_core::Result<T>
1127 where
1128 T: ::windows_core::ComInterface,
1129 {
1130 let mut result__ = ::std::ptr::null_mut();
1131 (::windows_core::Interface::vtable(self).CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1132 }
1133 pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
1134 (::windows_core::Interface::vtable(self).GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype)
1135 }
1136 pub unsafe fn CreateRootSignature<T>(&self, nodemask: u32, pblobwithrootsignature: &[u8]) -> ::windows_core::Result<T>
1137 where
1138 T: ::windows_core::ComInterface,
1139 {
1140 let mut result__ = ::std::ptr::null_mut();
1141 (::windows_core::Interface::vtable(self).CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1142 }
1143 pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
1144 (::windows_core::Interface::vtable(self).CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
1145 }
1146 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1147 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1148 pub unsafe fn CreateShaderResourceView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_SHADER_RESOURCE_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
1149 where
1150 P0: ::windows_core::IntoParam<ID3D12Resource>,
1151 {
1152 (::windows_core::Interface::vtable(self).CreateShaderResourceView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
1153 }
1154 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1155 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1156 pub unsafe fn CreateUnorderedAccessView<P0, P1>(&self, presource: P0, pcounterresource: P1, pdesc: ::core::option::Option<*const D3D12_UNORDERED_ACCESS_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
1157 where
1158 P0: ::windows_core::IntoParam<ID3D12Resource>,
1159 P1: ::windows_core::IntoParam<ID3D12Resource>,
1160 {
1161 (::windows_core::Interface::vtable(self).CreateUnorderedAccessView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
1162 }
1163 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1164 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1165 pub unsafe fn CreateRenderTargetView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_RENDER_TARGET_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
1166 where
1167 P0: ::windows_core::IntoParam<ID3D12Resource>,
1168 {
1169 (::windows_core::Interface::vtable(self).CreateRenderTargetView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
1170 }
1171 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1172 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1173 pub unsafe fn CreateDepthStencilView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_DEPTH_STENCIL_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
1174 where
1175 P0: ::windows_core::IntoParam<ID3D12Resource>,
1176 {
1177 (::windows_core::Interface::vtable(self).CreateDepthStencilView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
1178 }
1179 pub unsafe fn CreateSampler(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
1180 (::windows_core::Interface::vtable(self).CreateSampler)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(destdescriptor))
1181 }
1182 pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: ::core::option::Option<*const u32>, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: ::core::option::Option<*const u32>, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
1183 (::windows_core::Interface::vtable(self).CopyDescriptors)(::windows_core::Interface::as_raw(self), numdestdescriptorranges, pdestdescriptorrangestarts, ::core::mem::transmute(pdestdescriptorrangesizes.unwrap_or(::std::ptr::null())), numsrcdescriptorranges, psrcdescriptorrangestarts, ::core::mem::transmute(psrcdescriptorrangesizes.unwrap_or(::std::ptr::null())), descriptorheapstype)
1184 }
1185 pub unsafe fn CopyDescriptorsSimple(&self, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
1186 (::windows_core::Interface::vtable(self).CopyDescriptorsSimple)(::windows_core::Interface::as_raw(self), numdescriptors, ::core::mem::transmute(destdescriptorrangestart), ::core::mem::transmute(srcdescriptorrangestart), descriptorheapstype)
1187 }
1188 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1189 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1190 pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, presourcedescs: &[D3D12_RESOURCE_DESC]) -> D3D12_RESOURCE_ALLOCATION_INFO {
1191 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
1192 (::windows_core::Interface::vtable(self).GetResourceAllocationInfo)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, presourcedescs.len().try_into().unwrap(), ::core::mem::transmute(presourcedescs.as_ptr()));
1193 result__
1194 }
1195 pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
1196 let mut result__: D3D12_HEAP_PROPERTIES = ::core::mem::zeroed();
1197 (::windows_core::Interface::vtable(self).GetCustomHeapProperties)(::windows_core::Interface::as_raw(self), &mut result__, nodemask, heaptype);
1198 result__
1199 }
1200 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1201 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1202 pub unsafe fn CreateCommittedResource<T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1203 where
1204 T: ::windows_core::ComInterface,
1205 {
1206 (::windows_core::Interface::vtable(self).CreateCommittedResource)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1207 }
1208 pub unsafe fn CreateHeap<T>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1209 where
1210 T: ::windows_core::ComInterface,
1211 {
1212 (::windows_core::Interface::vtable(self).CreateHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1213 }
1214 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1215 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1216 pub unsafe fn CreatePlacedResource<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1217 where
1218 P0: ::windows_core::IntoParam<ID3D12Heap>,
1219 T: ::windows_core::ComInterface,
1220 {
1221 (::windows_core::Interface::vtable(self).CreatePlacedResource)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1222 }
1223 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1224 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1225 pub unsafe fn CreateReservedResource<T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1226 where
1227 T: ::windows_core::ComInterface,
1228 {
1229 (::windows_core::Interface::vtable(self).CreateReservedResource)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1230 }
1231 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
1232 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1233 pub unsafe fn CreateSharedHandle<P0, P1>(&self, pobject: P0, pattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, access: u32, name: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
1234 where
1235 P0: ::windows_core::IntoParam<ID3D12DeviceChild>,
1236 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1237 {
1238 let mut result__ = ::std::mem::zeroed();
1239 (::windows_core::Interface::vtable(self).CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__)
1240 }
1241 #[doc = "Required features: `\"Win32_Foundation\"`"]
1242 #[cfg(feature = "Win32_Foundation")]
1243 pub unsafe fn OpenSharedHandle<P0, T>(&self, nthandle: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1244 where
1245 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1246 T: ::windows_core::ComInterface,
1247 {
1248 (::windows_core::Interface::vtable(self).OpenSharedHandle)(::windows_core::Interface::as_raw(self), nthandle.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1249 }
1250 #[doc = "Required features: `\"Win32_Foundation\"`"]
1251 #[cfg(feature = "Win32_Foundation")]
1252 pub unsafe fn OpenSharedHandleByName<P0>(&self, name: P0, access: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
1253 where
1254 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1255 {
1256 let mut result__ = ::std::mem::zeroed();
1257 (::windows_core::Interface::vtable(self).OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__)
1258 }
1259 pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
1260 (::windows_core::Interface::vtable(self).MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
1261 }
1262 pub unsafe fn Evict(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
1263 (::windows_core::Interface::vtable(self).Evict)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
1264 }
1265 pub unsafe fn CreateFence<T>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows_core::Result<T>
1266 where
1267 T: ::windows_core::ComInterface,
1268 {
1269 let mut result__ = ::std::ptr::null_mut();
1270 (::windows_core::Interface::vtable(self).CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1271 }
1272 pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> {
1273 (::windows_core::Interface::vtable(self).GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok()
1274 }
1275 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1276 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1277 pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
1278 (::windows_core::Interface::vtable(self).GetCopyableFootprints)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
1279 }
1280 pub unsafe fn CreateQueryHeap<T>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1281 where
1282 T: ::windows_core::ComInterface,
1283 {
1284 (::windows_core::Interface::vtable(self).CreateQueryHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1285 }
1286 #[doc = "Required features: `\"Win32_Foundation\"`"]
1287 #[cfg(feature = "Win32_Foundation")]
1288 pub unsafe fn SetStablePowerState<P0>(&self, enable: P0) -> ::windows_core::Result<()>
1289 where
1290 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
1291 {
1292 (::windows_core::Interface::vtable(self).SetStablePowerState)(::windows_core::Interface::as_raw(self), enable.into_param().abi()).ok()
1293 }
1294 pub unsafe fn CreateCommandSignature<P0, T>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1295 where
1296 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
1297 T: ::windows_core::ComInterface,
1298 {
1299 (::windows_core::Interface::vtable(self).CreateCommandSignature)(::windows_core::Interface::as_raw(self), pdesc, prootsignature.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1300 }
1301 pub unsafe fn GetResourceTiling<P0>(&self, ptiledresource: P0, pnumtilesforentireresource: ::core::option::Option<*mut u32>, ppackedmipdesc: ::core::option::Option<*mut D3D12_PACKED_MIP_INFO>, pstandardtileshapefornonpackedmips: ::core::option::Option<*mut D3D12_TILE_SHAPE>, pnumsubresourcetilings: ::core::option::Option<*mut u32>, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)
1302 where
1303 P0: ::windows_core::IntoParam<ID3D12Resource>,
1304 {
1305 (::windows_core::Interface::vtable(self).GetResourceTiling)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ::core::mem::transmute(pnumtilesforentireresource.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppackedmipdesc.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstandardtileshapefornonpackedmips.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumsubresourcetilings.unwrap_or(::std::ptr::null_mut())), firstsubresourcetilingtoget, psubresourcetilingsfornonpackedmips)
1306 }
1307 #[doc = "Required features: `\"Win32_Foundation\"`"]
1308 #[cfg(feature = "Win32_Foundation")]
1309 pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
1310 let mut result__: super::super::Foundation::LUID = ::core::mem::zeroed();
1311 (::windows_core::Interface::vtable(self).GetAdapterLuid)(::windows_core::Interface::as_raw(self), &mut result__);
1312 result__
1313 }
1314}
1315::windows_core::imp::interface_hierarchy!(ID3D12Device, ::windows_core::IUnknown, ID3D12Object);
1316unsafe impl ::core::marker::Send for ID3D12Device {}
1317unsafe impl ::core::marker::Sync for ID3D12Device {}
1318unsafe impl ::windows_core::Interface for ID3D12Device {
1319 type Vtable = ID3D12Device_Vtbl;
1320}
1321unsafe impl ::windows_core::ComInterface for ID3D12Device {
1322 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x189819f1_1db6_4b57_be54_1821339b85f7);
1323}
1324#[repr(C)]
1325#[doc(hidden)]
1326pub struct ID3D12Device_Vtbl {
1327 pub base__: ID3D12Object_Vtbl,
1328 pub GetNodeCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
1329 pub CreateCommandQueue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_COMMAND_QUEUE_DESC, riid: *const ::windows_core::GUID, ppcommandqueue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1330 pub CreateCommandAllocator: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: D3D12_COMMAND_LIST_TYPE, riid: *const ::windows_core::GUID, ppcommandallocator: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1331 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
1332 pub CreateGraphicsPipelineState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC, riid: *const ::windows_core::GUID, pppipelinestate: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1333 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common")))]
1334 CreateGraphicsPipelineState: usize,
1335 pub CreateComputePipelineState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC, riid: *const ::windows_core::GUID, pppipelinestate: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1336 pub CreateCommandList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: *mut ::core::ffi::c_void, pinitialstate: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppcommandlist: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1337 pub CheckFeatureSupport: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::HRESULT,
1338 pub CreateDescriptorHeap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC, riid: *const ::windows_core::GUID, ppvheap: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1339 pub GetDescriptorHandleIncrementSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32,
1340 pub CreateRootSignature: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, nodemask: u32, pblobwithrootsignature: *const ::core::ffi::c_void, bloblengthinbytes: usize, riid: *const ::windows_core::GUID, ppvrootsignature: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1341 pub CreateConstantBufferView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
1342 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1343 pub CreateShaderResourceView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
1344 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
1345 CreateShaderResourceView: usize,
1346 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1347 pub CreateUnorderedAccessView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, pcounterresource: *mut ::core::ffi::c_void, pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
1348 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
1349 CreateUnorderedAccessView: usize,
1350 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1351 pub CreateRenderTargetView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
1352 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
1353 CreateRenderTargetView: usize,
1354 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1355 pub CreateDepthStencilView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
1356 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
1357 CreateDepthStencilView: usize,
1358 pub CreateSampler: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
1359 pub CopyDescriptors: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, 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),
1360 pub CopyDescriptorsSimple: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE),
1361 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1362 pub GetResourceAllocationInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC),
1363 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
1364 GetResourceAllocationInfo: usize,
1365 pub GetCustomHeapProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_HEAP_PROPERTIES, nodemask: u32, heaptype: D3D12_HEAP_TYPE),
1366 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1367 pub CreateCommittedResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, 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_core::GUID, ppvresource: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1368 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
1369 CreateCommittedResource: usize,
1370 pub CreateHeap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_HEAP_DESC, riid: *const ::windows_core::GUID, ppvheap: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1371 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1372 pub CreatePlacedResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pheap: *mut ::core::ffi::c_void, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows_core::GUID, ppvresource: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1373 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
1374 CreatePlacedResource: usize,
1375 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1376 pub CreateReservedResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows_core::GUID, ppvresource: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1377 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
1378 CreateReservedResource: usize,
1379 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1380 pub CreateSharedHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pobject: *mut ::core::ffi::c_void, pattributes: *const super::super::Security::SECURITY_ATTRIBUTES, access: u32, name: ::windows_core::PCWSTR, phandle: *mut super::super::Foundation::HANDLE) -> ::windows_core::HRESULT,
1381 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Security")))]
1382 CreateSharedHandle: usize,
1383 #[cfg(feature = "Win32_Foundation")]
1384 pub OpenSharedHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, nthandle: super::super::Foundation::HANDLE, riid: *const ::windows_core::GUID, ppvobj: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1385 #[cfg(not(feature = "Win32_Foundation"))]
1386 OpenSharedHandle: usize,
1387 #[cfg(feature = "Win32_Foundation")]
1388 pub OpenSharedHandleByName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::windows_core::PCWSTR, access: u32, pnthandle: *mut super::super::Foundation::HANDLE) -> ::windows_core::HRESULT,
1389 #[cfg(not(feature = "Win32_Foundation"))]
1390 OpenSharedHandleByName: usize,
1391 pub MakeResident: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numobjects: u32, ppobjects: *const *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1392 pub Evict: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numobjects: u32, ppobjects: *const *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1393 pub CreateFence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, initialvalue: u64, flags: D3D12_FENCE_FLAGS, riid: *const ::windows_core::GUID, ppfence: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1394 pub GetDeviceRemovedReason: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1395 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1396 pub GetCopyableFootprints: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, 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),
1397 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
1398 GetCopyableFootprints: usize,
1399 pub CreateQueryHeap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_QUERY_HEAP_DESC, riid: *const ::windows_core::GUID, ppvheap: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1400 #[cfg(feature = "Win32_Foundation")]
1401 pub SetStablePowerState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enable: super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
1402 #[cfg(not(feature = "Win32_Foundation"))]
1403 SetStablePowerState: usize,
1404 pub CreateCommandSignature: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppvcommandsignature: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1405 pub GetResourceTiling: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptiledresource: *mut ::core::ffi::c_void, pnumtilesforentireresource: *mut u32, ppackedmipdesc: *mut D3D12_PACKED_MIP_INFO, pstandardtileshapefornonpackedmips: *mut D3D12_TILE_SHAPE, pnumsubresourcetilings: *mut u32, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING),
1406 #[cfg(feature = "Win32_Foundation")]
1407 pub GetAdapterLuid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::LUID),
1408 #[cfg(not(feature = "Win32_Foundation"))]
1409 GetAdapterLuid: usize,
1410}
1411#[repr(transparent)]
1412#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1413pub struct ID3D12Device1(::windows_core::IUnknown);
1414impl ID3D12Device1 {
1415 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
1416 (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
1417 }
1418 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
1419 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
1420 }
1421 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
1422 where
1423 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
1424 {
1425 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
1426 }
1427 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
1428 where
1429 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1430 {
1431 (::windows_core::Interface::vtable(self).base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
1432 }
1433 pub unsafe fn GetNodeCount(&self) -> u32 {
1434 (::windows_core::Interface::vtable(self).base__.GetNodeCount)(::windows_core::Interface::as_raw(self))
1435 }
1436 pub unsafe fn CreateCommandQueue<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows_core::Result<T>
1437 where
1438 T: ::windows_core::ComInterface,
1439 {
1440 let mut result__ = ::std::ptr::null_mut();
1441 (::windows_core::Interface::vtable(self).base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1442 }
1443 pub unsafe fn CreateCommandAllocator<T>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result<T>
1444 where
1445 T: ::windows_core::ComInterface,
1446 {
1447 let mut result__ = ::std::ptr::null_mut();
1448 (::windows_core::Interface::vtable(self).base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1449 }
1450 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
1451 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
1452 pub unsafe fn CreateGraphicsPipelineState<T>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
1453 where
1454 T: ::windows_core::ComInterface,
1455 {
1456 let mut result__ = ::std::ptr::null_mut();
1457 (::windows_core::Interface::vtable(self).base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1458 }
1459 pub unsafe fn CreateComputePipelineState<T>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
1460 where
1461 T: ::windows_core::ComInterface,
1462 {
1463 let mut result__ = ::std::ptr::null_mut();
1464 (::windows_core::Interface::vtable(self).base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1465 }
1466 pub unsafe fn CreateCommandList<P0, P1, T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result<T>
1467 where
1468 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
1469 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
1470 T: ::windows_core::ComInterface,
1471 {
1472 let mut result__ = ::std::ptr::null_mut();
1473 (::windows_core::Interface::vtable(self).base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1474 }
1475 pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> {
1476 (::windows_core::Interface::vtable(self).base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok()
1477 }
1478 pub unsafe fn CreateDescriptorHeap<T>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows_core::Result<T>
1479 where
1480 T: ::windows_core::ComInterface,
1481 {
1482 let mut result__ = ::std::ptr::null_mut();
1483 (::windows_core::Interface::vtable(self).base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1484 }
1485 pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
1486 (::windows_core::Interface::vtable(self).base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype)
1487 }
1488 pub unsafe fn CreateRootSignature<T>(&self, nodemask: u32, pblobwithrootsignature: &[u8]) -> ::windows_core::Result<T>
1489 where
1490 T: ::windows_core::ComInterface,
1491 {
1492 let mut result__ = ::std::ptr::null_mut();
1493 (::windows_core::Interface::vtable(self).base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1494 }
1495 pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
1496 (::windows_core::Interface::vtable(self).base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
1497 }
1498 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1499 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1500 pub unsafe fn CreateShaderResourceView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_SHADER_RESOURCE_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
1501 where
1502 P0: ::windows_core::IntoParam<ID3D12Resource>,
1503 {
1504 (::windows_core::Interface::vtable(self).base__.CreateShaderResourceView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
1505 }
1506 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1507 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1508 pub unsafe fn CreateUnorderedAccessView<P0, P1>(&self, presource: P0, pcounterresource: P1, pdesc: ::core::option::Option<*const D3D12_UNORDERED_ACCESS_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
1509 where
1510 P0: ::windows_core::IntoParam<ID3D12Resource>,
1511 P1: ::windows_core::IntoParam<ID3D12Resource>,
1512 {
1513 (::windows_core::Interface::vtable(self).base__.CreateUnorderedAccessView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
1514 }
1515 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1516 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1517 pub unsafe fn CreateRenderTargetView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_RENDER_TARGET_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
1518 where
1519 P0: ::windows_core::IntoParam<ID3D12Resource>,
1520 {
1521 (::windows_core::Interface::vtable(self).base__.CreateRenderTargetView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
1522 }
1523 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1524 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1525 pub unsafe fn CreateDepthStencilView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_DEPTH_STENCIL_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
1526 where
1527 P0: ::windows_core::IntoParam<ID3D12Resource>,
1528 {
1529 (::windows_core::Interface::vtable(self).base__.CreateDepthStencilView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
1530 }
1531 pub unsafe fn CreateSampler(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
1532 (::windows_core::Interface::vtable(self).base__.CreateSampler)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(destdescriptor))
1533 }
1534 pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: ::core::option::Option<*const u32>, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: ::core::option::Option<*const u32>, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
1535 (::windows_core::Interface::vtable(self).base__.CopyDescriptors)(::windows_core::Interface::as_raw(self), numdestdescriptorranges, pdestdescriptorrangestarts, ::core::mem::transmute(pdestdescriptorrangesizes.unwrap_or(::std::ptr::null())), numsrcdescriptorranges, psrcdescriptorrangestarts, ::core::mem::transmute(psrcdescriptorrangesizes.unwrap_or(::std::ptr::null())), descriptorheapstype)
1536 }
1537 pub unsafe fn CopyDescriptorsSimple(&self, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
1538 (::windows_core::Interface::vtable(self).base__.CopyDescriptorsSimple)(::windows_core::Interface::as_raw(self), numdescriptors, ::core::mem::transmute(destdescriptorrangestart), ::core::mem::transmute(srcdescriptorrangestart), descriptorheapstype)
1539 }
1540 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1541 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1542 pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, presourcedescs: &[D3D12_RESOURCE_DESC]) -> D3D12_RESOURCE_ALLOCATION_INFO {
1543 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
1544 (::windows_core::Interface::vtable(self).base__.GetResourceAllocationInfo)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, presourcedescs.len().try_into().unwrap(), ::core::mem::transmute(presourcedescs.as_ptr()));
1545 result__
1546 }
1547 pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
1548 let mut result__: D3D12_HEAP_PROPERTIES = ::core::mem::zeroed();
1549 (::windows_core::Interface::vtable(self).base__.GetCustomHeapProperties)(::windows_core::Interface::as_raw(self), &mut result__, nodemask, heaptype);
1550 result__
1551 }
1552 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1553 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1554 pub unsafe fn CreateCommittedResource<T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1555 where
1556 T: ::windows_core::ComInterface,
1557 {
1558 (::windows_core::Interface::vtable(self).base__.CreateCommittedResource)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1559 }
1560 pub unsafe fn CreateHeap<T>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1561 where
1562 T: ::windows_core::ComInterface,
1563 {
1564 (::windows_core::Interface::vtable(self).base__.CreateHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1565 }
1566 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1567 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1568 pub unsafe fn CreatePlacedResource<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1569 where
1570 P0: ::windows_core::IntoParam<ID3D12Heap>,
1571 T: ::windows_core::ComInterface,
1572 {
1573 (::windows_core::Interface::vtable(self).base__.CreatePlacedResource)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1574 }
1575 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1576 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1577 pub unsafe fn CreateReservedResource<T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1578 where
1579 T: ::windows_core::ComInterface,
1580 {
1581 (::windows_core::Interface::vtable(self).base__.CreateReservedResource)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1582 }
1583 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
1584 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1585 pub unsafe fn CreateSharedHandle<P0, P1>(&self, pobject: P0, pattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, access: u32, name: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
1586 where
1587 P0: ::windows_core::IntoParam<ID3D12DeviceChild>,
1588 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1589 {
1590 let mut result__ = ::std::mem::zeroed();
1591 (::windows_core::Interface::vtable(self).base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__)
1592 }
1593 #[doc = "Required features: `\"Win32_Foundation\"`"]
1594 #[cfg(feature = "Win32_Foundation")]
1595 pub unsafe fn OpenSharedHandle<P0, T>(&self, nthandle: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1596 where
1597 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1598 T: ::windows_core::ComInterface,
1599 {
1600 (::windows_core::Interface::vtable(self).base__.OpenSharedHandle)(::windows_core::Interface::as_raw(self), nthandle.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1601 }
1602 #[doc = "Required features: `\"Win32_Foundation\"`"]
1603 #[cfg(feature = "Win32_Foundation")]
1604 pub unsafe fn OpenSharedHandleByName<P0>(&self, name: P0, access: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
1605 where
1606 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1607 {
1608 let mut result__ = ::std::mem::zeroed();
1609 (::windows_core::Interface::vtable(self).base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__)
1610 }
1611 pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
1612 (::windows_core::Interface::vtable(self).base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
1613 }
1614 pub unsafe fn Evict(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
1615 (::windows_core::Interface::vtable(self).base__.Evict)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
1616 }
1617 pub unsafe fn CreateFence<T>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows_core::Result<T>
1618 where
1619 T: ::windows_core::ComInterface,
1620 {
1621 let mut result__ = ::std::ptr::null_mut();
1622 (::windows_core::Interface::vtable(self).base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1623 }
1624 pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> {
1625 (::windows_core::Interface::vtable(self).base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok()
1626 }
1627 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1628 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1629 pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
1630 (::windows_core::Interface::vtable(self).base__.GetCopyableFootprints)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
1631 }
1632 pub unsafe fn CreateQueryHeap<T>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1633 where
1634 T: ::windows_core::ComInterface,
1635 {
1636 (::windows_core::Interface::vtable(self).base__.CreateQueryHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1637 }
1638 #[doc = "Required features: `\"Win32_Foundation\"`"]
1639 #[cfg(feature = "Win32_Foundation")]
1640 pub unsafe fn SetStablePowerState<P0>(&self, enable: P0) -> ::windows_core::Result<()>
1641 where
1642 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
1643 {
1644 (::windows_core::Interface::vtable(self).base__.SetStablePowerState)(::windows_core::Interface::as_raw(self), enable.into_param().abi()).ok()
1645 }
1646 pub unsafe fn CreateCommandSignature<P0, T>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1647 where
1648 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
1649 T: ::windows_core::ComInterface,
1650 {
1651 (::windows_core::Interface::vtable(self).base__.CreateCommandSignature)(::windows_core::Interface::as_raw(self), pdesc, prootsignature.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1652 }
1653 pub unsafe fn GetResourceTiling<P0>(&self, ptiledresource: P0, pnumtilesforentireresource: ::core::option::Option<*mut u32>, ppackedmipdesc: ::core::option::Option<*mut D3D12_PACKED_MIP_INFO>, pstandardtileshapefornonpackedmips: ::core::option::Option<*mut D3D12_TILE_SHAPE>, pnumsubresourcetilings: ::core::option::Option<*mut u32>, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)
1654 where
1655 P0: ::windows_core::IntoParam<ID3D12Resource>,
1656 {
1657 (::windows_core::Interface::vtable(self).base__.GetResourceTiling)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ::core::mem::transmute(pnumtilesforentireresource.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppackedmipdesc.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstandardtileshapefornonpackedmips.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumsubresourcetilings.unwrap_or(::std::ptr::null_mut())), firstsubresourcetilingtoget, psubresourcetilingsfornonpackedmips)
1658 }
1659 #[doc = "Required features: `\"Win32_Foundation\"`"]
1660 #[cfg(feature = "Win32_Foundation")]
1661 pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
1662 let mut result__: super::super::Foundation::LUID = ::core::mem::zeroed();
1663 (::windows_core::Interface::vtable(self).base__.GetAdapterLuid)(::windows_core::Interface::as_raw(self), &mut result__);
1664 result__
1665 }
1666 pub unsafe fn CreatePipelineLibrary<T>(&self, plibraryblob: &[u8]) -> ::windows_core::Result<T>
1667 where
1668 T: ::windows_core::ComInterface,
1669 {
1670 let mut result__ = ::std::ptr::null_mut();
1671 (::windows_core::Interface::vtable(self).CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1672 }
1673 #[doc = "Required features: `\"Win32_Foundation\"`"]
1674 #[cfg(feature = "Win32_Foundation")]
1675 pub unsafe fn SetEventOnMultipleFenceCompletion<P0>(&self, ppfences: *const ::core::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()>
1676 where
1677 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1678 {
1679 (::windows_core::Interface::vtable(self).SetEventOnMultipleFenceCompletion)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppfences), pfencevalues, numfences, flags, hevent.into_param().abi()).ok()
1680 }
1681 pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::core::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows_core::Result<()> {
1682 (::windows_core::Interface::vtable(self).SetResidencyPriority)(::windows_core::Interface::as_raw(self), numobjects, ::core::mem::transmute(ppobjects), ppriorities).ok()
1683 }
1684}
1685::windows_core::imp::interface_hierarchy!(ID3D12Device1, ::windows_core::IUnknown, ID3D12Object, ID3D12Device);
1686unsafe impl ::core::marker::Send for ID3D12Device1 {}
1687unsafe impl ::core::marker::Sync for ID3D12Device1 {}
1688unsafe impl ::windows_core::Interface for ID3D12Device1 {
1689 type Vtable = ID3D12Device1_Vtbl;
1690}
1691unsafe impl ::windows_core::ComInterface for ID3D12Device1 {
1692 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x77acce80_638e_4e65_8895_c1f23386863e);
1693}
1694#[repr(C)]
1695#[doc(hidden)]
1696pub struct ID3D12Device1_Vtbl {
1697 pub base__: ID3D12Device_Vtbl,
1698 pub CreatePipelineLibrary: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plibraryblob: *const ::core::ffi::c_void, bloblength: usize, riid: *const ::windows_core::GUID, pppipelinelibrary: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1699 #[cfg(feature = "Win32_Foundation")]
1700 pub SetEventOnMultipleFenceCompletion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppfences: *const *mut ::core::ffi::c_void, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: super::super::Foundation::HANDLE) -> ::windows_core::HRESULT,
1701 #[cfg(not(feature = "Win32_Foundation"))]
1702 SetEventOnMultipleFenceCompletion: usize,
1703 pub SetResidencyPriority: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numobjects: u32, ppobjects: *const *mut ::core::ffi::c_void, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows_core::HRESULT,
1704}
1705#[repr(transparent)]
1706#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1707pub struct ID3D12Device10(::windows_core::IUnknown);
1708impl ID3D12Device10 {
1709 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
1710 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
1711 }
1712 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
1713 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
1714 }
1715 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
1716 where
1717 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
1718 {
1719 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
1720 }
1721 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
1722 where
1723 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1724 {
1725 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
1726 }
1727 pub unsafe fn GetNodeCount(&self) -> u32 {
1728 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNodeCount)(::windows_core::Interface::as_raw(self))
1729 }
1730 pub unsafe fn CreateCommandQueue<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows_core::Result<T>
1731 where
1732 T: ::windows_core::ComInterface,
1733 {
1734 let mut result__ = ::std::ptr::null_mut();
1735 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1736 }
1737 pub unsafe fn CreateCommandAllocator<T>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result<T>
1738 where
1739 T: ::windows_core::ComInterface,
1740 {
1741 let mut result__ = ::std::ptr::null_mut();
1742 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1743 }
1744 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
1745 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
1746 pub unsafe fn CreateGraphicsPipelineState<T>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
1747 where
1748 T: ::windows_core::ComInterface,
1749 {
1750 let mut result__ = ::std::ptr::null_mut();
1751 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1752 }
1753 pub unsafe fn CreateComputePipelineState<T>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
1754 where
1755 T: ::windows_core::ComInterface,
1756 {
1757 let mut result__ = ::std::ptr::null_mut();
1758 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1759 }
1760 pub unsafe fn CreateCommandList<P0, P1, T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result<T>
1761 where
1762 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
1763 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
1764 T: ::windows_core::ComInterface,
1765 {
1766 let mut result__ = ::std::ptr::null_mut();
1767 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1768 }
1769 pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> {
1770 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok()
1771 }
1772 pub unsafe fn CreateDescriptorHeap<T>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows_core::Result<T>
1773 where
1774 T: ::windows_core::ComInterface,
1775 {
1776 let mut result__ = ::std::ptr::null_mut();
1777 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1778 }
1779 pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
1780 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype)
1781 }
1782 pub unsafe fn CreateRootSignature<T>(&self, nodemask: u32, pblobwithrootsignature: &[u8]) -> ::windows_core::Result<T>
1783 where
1784 T: ::windows_core::ComInterface,
1785 {
1786 let mut result__ = ::std::ptr::null_mut();
1787 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1788 }
1789 pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
1790 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
1791 }
1792 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1793 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1794 pub unsafe fn CreateShaderResourceView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_SHADER_RESOURCE_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
1795 where
1796 P0: ::windows_core::IntoParam<ID3D12Resource>,
1797 {
1798 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateShaderResourceView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
1799 }
1800 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1801 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1802 pub unsafe fn CreateUnorderedAccessView<P0, P1>(&self, presource: P0, pcounterresource: P1, pdesc: ::core::option::Option<*const D3D12_UNORDERED_ACCESS_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
1803 where
1804 P0: ::windows_core::IntoParam<ID3D12Resource>,
1805 P1: ::windows_core::IntoParam<ID3D12Resource>,
1806 {
1807 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateUnorderedAccessView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
1808 }
1809 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1810 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1811 pub unsafe fn CreateRenderTargetView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_RENDER_TARGET_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
1812 where
1813 P0: ::windows_core::IntoParam<ID3D12Resource>,
1814 {
1815 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRenderTargetView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
1816 }
1817 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1818 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1819 pub unsafe fn CreateDepthStencilView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_DEPTH_STENCIL_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
1820 where
1821 P0: ::windows_core::IntoParam<ID3D12Resource>,
1822 {
1823 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDepthStencilView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
1824 }
1825 pub unsafe fn CreateSampler(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
1826 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSampler)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(destdescriptor))
1827 }
1828 pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: ::core::option::Option<*const u32>, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: ::core::option::Option<*const u32>, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
1829 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CopyDescriptors)(::windows_core::Interface::as_raw(self), numdestdescriptorranges, pdestdescriptorrangestarts, ::core::mem::transmute(pdestdescriptorrangesizes.unwrap_or(::std::ptr::null())), numsrcdescriptorranges, psrcdescriptorrangestarts, ::core::mem::transmute(psrcdescriptorrangesizes.unwrap_or(::std::ptr::null())), descriptorheapstype)
1830 }
1831 pub unsafe fn CopyDescriptorsSimple(&self, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
1832 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CopyDescriptorsSimple)(::windows_core::Interface::as_raw(self), numdescriptors, ::core::mem::transmute(destdescriptorrangestart), ::core::mem::transmute(srcdescriptorrangestart), descriptorheapstype)
1833 }
1834 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1835 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1836 pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, presourcedescs: &[D3D12_RESOURCE_DESC]) -> D3D12_RESOURCE_ALLOCATION_INFO {
1837 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
1838 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetResourceAllocationInfo)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, presourcedescs.len().try_into().unwrap(), ::core::mem::transmute(presourcedescs.as_ptr()));
1839 result__
1840 }
1841 pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
1842 let mut result__: D3D12_HEAP_PROPERTIES = ::core::mem::zeroed();
1843 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCustomHeapProperties)(::windows_core::Interface::as_raw(self), &mut result__, nodemask, heaptype);
1844 result__
1845 }
1846 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1847 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1848 pub unsafe fn CreateCommittedResource<T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1849 where
1850 T: ::windows_core::ComInterface,
1851 {
1852 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommittedResource)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1853 }
1854 pub unsafe fn CreateHeap<T>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1855 where
1856 T: ::windows_core::ComInterface,
1857 {
1858 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1859 }
1860 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1861 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1862 pub unsafe fn CreatePlacedResource<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1863 where
1864 P0: ::windows_core::IntoParam<ID3D12Heap>,
1865 T: ::windows_core::ComInterface,
1866 {
1867 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePlacedResource)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1868 }
1869 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1870 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1871 pub unsafe fn CreateReservedResource<T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1872 where
1873 T: ::windows_core::ComInterface,
1874 {
1875 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateReservedResource)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1876 }
1877 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
1878 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1879 pub unsafe fn CreateSharedHandle<P0, P1>(&self, pobject: P0, pattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, access: u32, name: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
1880 where
1881 P0: ::windows_core::IntoParam<ID3D12DeviceChild>,
1882 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1883 {
1884 let mut result__ = ::std::mem::zeroed();
1885 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__)
1886 }
1887 #[doc = "Required features: `\"Win32_Foundation\"`"]
1888 #[cfg(feature = "Win32_Foundation")]
1889 pub unsafe fn OpenSharedHandle<P0, T>(&self, nthandle: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1890 where
1891 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1892 T: ::windows_core::ComInterface,
1893 {
1894 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandle)(::windows_core::Interface::as_raw(self), nthandle.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1895 }
1896 #[doc = "Required features: `\"Win32_Foundation\"`"]
1897 #[cfg(feature = "Win32_Foundation")]
1898 pub unsafe fn OpenSharedHandleByName<P0>(&self, name: P0, access: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
1899 where
1900 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1901 {
1902 let mut result__ = ::std::mem::zeroed();
1903 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__)
1904 }
1905 pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
1906 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
1907 }
1908 pub unsafe fn Evict(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
1909 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.Evict)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
1910 }
1911 pub unsafe fn CreateFence<T>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows_core::Result<T>
1912 where
1913 T: ::windows_core::ComInterface,
1914 {
1915 let mut result__ = ::std::ptr::null_mut();
1916 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1917 }
1918 pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> {
1919 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok()
1920 }
1921 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
1922 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
1923 pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
1924 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCopyableFootprints)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
1925 }
1926 pub unsafe fn CreateQueryHeap<T>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1927 where
1928 T: ::windows_core::ComInterface,
1929 {
1930 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateQueryHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1931 }
1932 #[doc = "Required features: `\"Win32_Foundation\"`"]
1933 #[cfg(feature = "Win32_Foundation")]
1934 pub unsafe fn SetStablePowerState<P0>(&self, enable: P0) -> ::windows_core::Result<()>
1935 where
1936 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
1937 {
1938 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetStablePowerState)(::windows_core::Interface::as_raw(self), enable.into_param().abi()).ok()
1939 }
1940 pub unsafe fn CreateCommandSignature<P0, T>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
1941 where
1942 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
1943 T: ::windows_core::ComInterface,
1944 {
1945 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandSignature)(::windows_core::Interface::as_raw(self), pdesc, prootsignature.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
1946 }
1947 pub unsafe fn GetResourceTiling<P0>(&self, ptiledresource: P0, pnumtilesforentireresource: ::core::option::Option<*mut u32>, ppackedmipdesc: ::core::option::Option<*mut D3D12_PACKED_MIP_INFO>, pstandardtileshapefornonpackedmips: ::core::option::Option<*mut D3D12_TILE_SHAPE>, pnumsubresourcetilings: ::core::option::Option<*mut u32>, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)
1948 where
1949 P0: ::windows_core::IntoParam<ID3D12Resource>,
1950 {
1951 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetResourceTiling)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ::core::mem::transmute(pnumtilesforentireresource.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppackedmipdesc.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstandardtileshapefornonpackedmips.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumsubresourcetilings.unwrap_or(::std::ptr::null_mut())), firstsubresourcetilingtoget, psubresourcetilingsfornonpackedmips)
1952 }
1953 #[doc = "Required features: `\"Win32_Foundation\"`"]
1954 #[cfg(feature = "Win32_Foundation")]
1955 pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
1956 let mut result__: super::super::Foundation::LUID = ::core::mem::zeroed();
1957 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAdapterLuid)(::windows_core::Interface::as_raw(self), &mut result__);
1958 result__
1959 }
1960 pub unsafe fn CreatePipelineLibrary<T>(&self, plibraryblob: &[u8]) -> ::windows_core::Result<T>
1961 where
1962 T: ::windows_core::ComInterface,
1963 {
1964 let mut result__ = ::std::ptr::null_mut();
1965 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1966 }
1967 #[doc = "Required features: `\"Win32_Foundation\"`"]
1968 #[cfg(feature = "Win32_Foundation")]
1969 pub unsafe fn SetEventOnMultipleFenceCompletion<P0>(&self, ppfences: *const ::core::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()>
1970 where
1971 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1972 {
1973 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEventOnMultipleFenceCompletion)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppfences), pfencevalues, numfences, flags, hevent.into_param().abi()).ok()
1974 }
1975 pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::core::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows_core::Result<()> {
1976 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetResidencyPriority)(::windows_core::Interface::as_raw(self), numobjects, ::core::mem::transmute(ppobjects), ppriorities).ok()
1977 }
1978 pub unsafe fn CreatePipelineState<T>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows_core::Result<T>
1979 where
1980 T: ::windows_core::ComInterface,
1981 {
1982 let mut result__ = ::std::ptr::null_mut();
1983 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1984 }
1985 pub unsafe fn OpenExistingHeapFromAddress<T>(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result<T>
1986 where
1987 T: ::windows_core::ComInterface,
1988 {
1989 let mut result__ = ::std::ptr::null_mut();
1990 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1991 }
1992 #[doc = "Required features: `\"Win32_Foundation\"`"]
1993 #[cfg(feature = "Win32_Foundation")]
1994 pub unsafe fn OpenExistingHeapFromFileMapping<P0, T>(&self, hfilemapping: P0) -> ::windows_core::Result<T>
1995 where
1996 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
1997 T: ::windows_core::ComInterface,
1998 {
1999 let mut result__ = ::std::ptr::null_mut();
2000 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2001 }
2002 pub unsafe fn EnqueueMakeResident<P0>(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option<ID3D12Pageable>], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()>
2003 where
2004 P0: ::windows_core::IntoParam<ID3D12Fence>,
2005 {
2006 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnqueueMakeResident)(::windows_core::Interface::as_raw(self), flags, ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr()), pfencetosignal.into_param().abi(), fencevaluetosignal).ok()
2007 }
2008 pub unsafe fn CreateCommandList1<T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows_core::Result<T>
2009 where
2010 T: ::windows_core::ComInterface,
2011 {
2012 let mut result__ = ::std::ptr::null_mut();
2013 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2014 }
2015 pub unsafe fn CreateProtectedResourceSession<T>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result<T>
2016 where
2017 T: ::windows_core::ComInterface,
2018 {
2019 let mut result__ = ::std::ptr::null_mut();
2020 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2021 }
2022 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2023 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2024 pub unsafe fn CreateCommittedResource1<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2025 where
2026 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
2027 T: ::windows_core::ComInterface,
2028 {
2029 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommittedResource1)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2030 }
2031 pub unsafe fn CreateHeap1<P0, T>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2032 where
2033 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
2034 T: ::windows_core::ComInterface,
2035 {
2036 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateHeap1)(::windows_core::Interface::as_raw(self), pdesc, pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2037 }
2038 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2039 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2040 pub unsafe fn CreateReservedResource1<P0, T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2041 where
2042 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
2043 T: ::windows_core::ComInterface,
2044 {
2045 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateReservedResource1)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2046 }
2047 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2048 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2049 pub unsafe fn GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO {
2050 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
2051 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetResourceAllocationInfo1)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, numresourcedescs, presourcedescs, ::core::mem::transmute(presourceallocationinfo1.unwrap_or(::std::ptr::null_mut())));
2052 result__
2053 }
2054 pub unsafe fn CreateLifetimeTracker<P0, T>(&self, powner: P0) -> ::windows_core::Result<T>
2055 where
2056 P0: ::windows_core::IntoParam<ID3D12LifetimeOwner>,
2057 T: ::windows_core::ComInterface,
2058 {
2059 let mut result__ = ::std::ptr::null_mut();
2060 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2061 }
2062 pub unsafe fn RemoveDevice(&self) {
2063 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RemoveDevice)(::windows_core::Interface::as_raw(self))
2064 }
2065 pub unsafe fn EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: ::core::option::Option<*mut D3D12_META_COMMAND_DESC>) -> ::windows_core::Result<()> {
2066 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumerateMetaCommands)(::windows_core::Interface::as_raw(self), pnummetacommands, ::core::mem::transmute(pdescs.unwrap_or(::std::ptr::null_mut()))).ok()
2067 }
2068 pub unsafe fn EnumerateMetaCommandParameters(&self, commandid: *const ::windows_core::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: ::core::option::Option<*mut u32>, pparametercount: *mut u32, pparameterdescs: ::core::option::Option<*mut D3D12_META_COMMAND_PARAMETER_DESC>) -> ::windows_core::Result<()> {
2069 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnumerateMetaCommandParameters)(::windows_core::Interface::as_raw(self), commandid, stage, ::core::mem::transmute(ptotalstructuresizeinbytes.unwrap_or(::std::ptr::null_mut())), pparametercount, ::core::mem::transmute(pparameterdescs.unwrap_or(::std::ptr::null_mut()))).ok()
2070 }
2071 pub unsafe fn CreateMetaCommand<T>(&self, commandid: *const ::windows_core::GUID, nodemask: u32, pcreationparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, creationparametersdatasizeinbytes: usize) -> ::windows_core::Result<T>
2072 where
2073 T: ::windows_core::ComInterface,
2074 {
2075 let mut result__ = ::std::ptr::null_mut();
2076 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2077 }
2078 pub unsafe fn CreateStateObject<T>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result<T>
2079 where
2080 T: ::windows_core::ComInterface,
2081 {
2082 let mut result__ = ::std::ptr::null_mut();
2083 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2084 }
2085 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2086 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2087 pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) {
2088 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetRaytracingAccelerationStructurePrebuildInfo)(::windows_core::Interface::as_raw(self), pdesc, pinfo)
2089 }
2090 pub unsafe fn CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
2091 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CheckDriverMatchingIdentifier)(::windows_core::Interface::as_raw(self), serializeddatatype, pidentifiertocheck)
2092 }
2093 #[doc = "Required features: `\"Win32_Foundation\"`"]
2094 #[cfg(feature = "Win32_Foundation")]
2095 pub unsafe fn SetBackgroundProcessingMode<P0>(&self, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: P0, pbfurthermeasurementsdesired: ::core::option::Option<*mut super::super::Foundation::BOOL>) -> ::windows_core::Result<()>
2096 where
2097 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2098 {
2099 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetBackgroundProcessingMode)(::windows_core::Interface::as_raw(self), mode, measurementsaction, heventtosignaluponcompletion.into_param().abi(), ::core::mem::transmute(pbfurthermeasurementsdesired.unwrap_or(::std::ptr::null_mut()))).ok()
2100 }
2101 pub unsafe fn AddToStateObject<P0, T>(&self, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: P0) -> ::windows_core::Result<T>
2102 where
2103 P0: ::windows_core::IntoParam<ID3D12StateObject>,
2104 T: ::windows_core::ComInterface,
2105 {
2106 let mut result__ = ::std::ptr::null_mut();
2107 (::windows_core::Interface::vtable(self).base__.base__.base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2108 }
2109 pub unsafe fn CreateProtectedResourceSession1<T>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows_core::Result<T>
2110 where
2111 T: ::windows_core::ComInterface,
2112 {
2113 let mut result__ = ::std::ptr::null_mut();
2114 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2115 }
2116 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2117 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2118 pub unsafe fn GetResourceAllocationInfo2(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO {
2119 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
2120 (::windows_core::Interface::vtable(self).base__.base__.GetResourceAllocationInfo2)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, numresourcedescs, presourcedescs, ::core::mem::transmute(presourceallocationinfo1.unwrap_or(::std::ptr::null_mut())));
2121 result__
2122 }
2123 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2124 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2125 pub unsafe fn CreateCommittedResource2<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2126 where
2127 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
2128 T: ::windows_core::ComInterface,
2129 {
2130 (::windows_core::Interface::vtable(self).base__.base__.CreateCommittedResource2)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2131 }
2132 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2133 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2134 pub unsafe fn CreatePlacedResource1<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2135 where
2136 P0: ::windows_core::IntoParam<ID3D12Heap>,
2137 T: ::windows_core::ComInterface,
2138 {
2139 (::windows_core::Interface::vtable(self).base__.base__.CreatePlacedResource1)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2140 }
2141 pub unsafe fn CreateSamplerFeedbackUnorderedAccessView<P0, P1>(&self, ptargetedresource: P0, pfeedbackresource: P1, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
2142 where
2143 P0: ::windows_core::IntoParam<ID3D12Resource>,
2144 P1: ::windows_core::IntoParam<ID3D12Resource>,
2145 {
2146 (::windows_core::Interface::vtable(self).base__.base__.CreateSamplerFeedbackUnorderedAccessView)(::windows_core::Interface::as_raw(self), ptargetedresource.into_param().abi(), pfeedbackresource.into_param().abi(), ::core::mem::transmute(destdescriptor))
2147 }
2148 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2149 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2150 pub unsafe fn GetCopyableFootprints1(&self, presourcedesc: *const D3D12_RESOURCE_DESC1, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
2151 (::windows_core::Interface::vtable(self).base__.base__.GetCopyableFootprints1)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
2152 }
2153 pub unsafe fn CreateShaderCacheSession<T>(&self, pdesc: *const D3D12_SHADER_CACHE_SESSION_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2154 where
2155 T: ::windows_core::ComInterface,
2156 {
2157 (::windows_core::Interface::vtable(self).base__.CreateShaderCacheSession)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2158 }
2159 pub unsafe fn ShaderCacheControl(&self, kinds: D3D12_SHADER_CACHE_KIND_FLAGS, control: D3D12_SHADER_CACHE_CONTROL_FLAGS) -> ::windows_core::Result<()> {
2160 (::windows_core::Interface::vtable(self).base__.ShaderCacheControl)(::windows_core::Interface::as_raw(self), kinds, control).ok()
2161 }
2162 pub unsafe fn CreateCommandQueue1<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC, creatorid: *const ::windows_core::GUID) -> ::windows_core::Result<T>
2163 where
2164 T: ::windows_core::ComInterface,
2165 {
2166 let mut result__ = ::std::ptr::null_mut();
2167 (::windows_core::Interface::vtable(self).base__.CreateCommandQueue1)(::windows_core::Interface::as_raw(self), pdesc, creatorid, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2168 }
2169 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2170 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2171 pub unsafe fn CreateCommittedResource3<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, pcastableformats: ::core::option::Option<&[super::Dxgi::Common::DXGI_FORMAT]>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2172 where
2173 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
2174 T: ::windows_core::ComInterface,
2175 {
2176 (::windows_core::Interface::vtable(self).CreateCommittedResource3)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initiallayout, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), pcastableformats.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pcastableformats.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2177 }
2178 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2179 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2180 pub unsafe fn CreatePlacedResource2<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pcastableformats: ::core::option::Option<&[super::Dxgi::Common::DXGI_FORMAT]>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2181 where
2182 P0: ::windows_core::IntoParam<ID3D12Heap>,
2183 T: ::windows_core::ComInterface,
2184 {
2185 (::windows_core::Interface::vtable(self).CreatePlacedResource2)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initiallayout, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pcastableformats.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pcastableformats.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2186 }
2187 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2188 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2189 pub unsafe fn CreateReservedResource2<P0, T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, pcastableformats: ::core::option::Option<&[super::Dxgi::Common::DXGI_FORMAT]>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2190 where
2191 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
2192 T: ::windows_core::ComInterface,
2193 {
2194 (::windows_core::Interface::vtable(self).CreateReservedResource2)(::windows_core::Interface::as_raw(self), pdesc, initiallayout, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), pcastableformats.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pcastableformats.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2195 }
2196}
2197::windows_core::imp::interface_hierarchy!(ID3D12Device10, ::windows_core::IUnknown, ID3D12Object, ID3D12Device, ID3D12Device1, ID3D12Device2, ID3D12Device3, ID3D12Device4, ID3D12Device5, ID3D12Device6, ID3D12Device7, ID3D12Device8, ID3D12Device9);
2198unsafe impl ::core::marker::Send for ID3D12Device10 {}
2199unsafe impl ::core::marker::Sync for ID3D12Device10 {}
2200unsafe impl ::windows_core::Interface for ID3D12Device10 {
2201 type Vtable = ID3D12Device10_Vtbl;
2202}
2203unsafe impl ::windows_core::ComInterface for ID3D12Device10 {
2204 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x517f8718_aa66_49f9_b02b_a7ab89c06031);
2205}
2206#[repr(C)]
2207#[doc(hidden)]
2208pub struct ID3D12Device10_Vtbl {
2209 pub base__: ID3D12Device9_Vtbl,
2210 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2211 pub CreateCommittedResource3: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: *mut ::core::ffi::c_void, numcastableformats: u32, pcastableformats: *const super::Dxgi::Common::DXGI_FORMAT, riidresource: *const ::windows_core::GUID, ppvresource: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2212 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
2213 CreateCommittedResource3: usize,
2214 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2215 pub CreatePlacedResource2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pheap: *mut ::core::ffi::c_void, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, numcastableformats: u32, pcastableformats: *const super::Dxgi::Common::DXGI_FORMAT, riid: *const ::windows_core::GUID, ppvresource: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2216 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
2217 CreatePlacedResource2: usize,
2218 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2219 pub CreateReservedResource2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_RESOURCE_DESC, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: *mut ::core::ffi::c_void, numcastableformats: u32, pcastableformats: *const super::Dxgi::Common::DXGI_FORMAT, riid: *const ::windows_core::GUID, ppvresource: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2220 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
2221 CreateReservedResource2: usize,
2222}
2223#[repr(transparent)]
2224#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2225pub struct ID3D12Device11(::windows_core::IUnknown);
2226impl ID3D12Device11 {
2227 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
2228 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
2229 }
2230 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
2231 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
2232 }
2233 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
2234 where
2235 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
2236 {
2237 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
2238 }
2239 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
2240 where
2241 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
2242 {
2243 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
2244 }
2245 pub unsafe fn GetNodeCount(&self) -> u32 {
2246 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNodeCount)(::windows_core::Interface::as_raw(self))
2247 }
2248 pub unsafe fn CreateCommandQueue<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows_core::Result<T>
2249 where
2250 T: ::windows_core::ComInterface,
2251 {
2252 let mut result__ = ::std::ptr::null_mut();
2253 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2254 }
2255 pub unsafe fn CreateCommandAllocator<T>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result<T>
2256 where
2257 T: ::windows_core::ComInterface,
2258 {
2259 let mut result__ = ::std::ptr::null_mut();
2260 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2261 }
2262 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
2263 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
2264 pub unsafe fn CreateGraphicsPipelineState<T>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
2265 where
2266 T: ::windows_core::ComInterface,
2267 {
2268 let mut result__ = ::std::ptr::null_mut();
2269 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2270 }
2271 pub unsafe fn CreateComputePipelineState<T>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
2272 where
2273 T: ::windows_core::ComInterface,
2274 {
2275 let mut result__ = ::std::ptr::null_mut();
2276 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2277 }
2278 pub unsafe fn CreateCommandList<P0, P1, T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result<T>
2279 where
2280 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
2281 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
2282 T: ::windows_core::ComInterface,
2283 {
2284 let mut result__ = ::std::ptr::null_mut();
2285 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2286 }
2287 pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> {
2288 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok()
2289 }
2290 pub unsafe fn CreateDescriptorHeap<T>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows_core::Result<T>
2291 where
2292 T: ::windows_core::ComInterface,
2293 {
2294 let mut result__ = ::std::ptr::null_mut();
2295 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2296 }
2297 pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
2298 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype)
2299 }
2300 pub unsafe fn CreateRootSignature<T>(&self, nodemask: u32, pblobwithrootsignature: &[u8]) -> ::windows_core::Result<T>
2301 where
2302 T: ::windows_core::ComInterface,
2303 {
2304 let mut result__ = ::std::ptr::null_mut();
2305 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2306 }
2307 pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
2308 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
2309 }
2310 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2311 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2312 pub unsafe fn CreateShaderResourceView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_SHADER_RESOURCE_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
2313 where
2314 P0: ::windows_core::IntoParam<ID3D12Resource>,
2315 {
2316 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateShaderResourceView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
2317 }
2318 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2319 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2320 pub unsafe fn CreateUnorderedAccessView<P0, P1>(&self, presource: P0, pcounterresource: P1, pdesc: ::core::option::Option<*const D3D12_UNORDERED_ACCESS_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
2321 where
2322 P0: ::windows_core::IntoParam<ID3D12Resource>,
2323 P1: ::windows_core::IntoParam<ID3D12Resource>,
2324 {
2325 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateUnorderedAccessView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
2326 }
2327 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2328 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2329 pub unsafe fn CreateRenderTargetView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_RENDER_TARGET_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
2330 where
2331 P0: ::windows_core::IntoParam<ID3D12Resource>,
2332 {
2333 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRenderTargetView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
2334 }
2335 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2336 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2337 pub unsafe fn CreateDepthStencilView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_DEPTH_STENCIL_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
2338 where
2339 P0: ::windows_core::IntoParam<ID3D12Resource>,
2340 {
2341 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDepthStencilView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
2342 }
2343 pub unsafe fn CreateSampler(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
2344 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSampler)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(destdescriptor))
2345 }
2346 pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: ::core::option::Option<*const u32>, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: ::core::option::Option<*const u32>, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
2347 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CopyDescriptors)(::windows_core::Interface::as_raw(self), numdestdescriptorranges, pdestdescriptorrangestarts, ::core::mem::transmute(pdestdescriptorrangesizes.unwrap_or(::std::ptr::null())), numsrcdescriptorranges, psrcdescriptorrangestarts, ::core::mem::transmute(psrcdescriptorrangesizes.unwrap_or(::std::ptr::null())), descriptorheapstype)
2348 }
2349 pub unsafe fn CopyDescriptorsSimple(&self, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
2350 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CopyDescriptorsSimple)(::windows_core::Interface::as_raw(self), numdescriptors, ::core::mem::transmute(destdescriptorrangestart), ::core::mem::transmute(srcdescriptorrangestart), descriptorheapstype)
2351 }
2352 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2353 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2354 pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, presourcedescs: &[D3D12_RESOURCE_DESC]) -> D3D12_RESOURCE_ALLOCATION_INFO {
2355 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
2356 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetResourceAllocationInfo)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, presourcedescs.len().try_into().unwrap(), ::core::mem::transmute(presourcedescs.as_ptr()));
2357 result__
2358 }
2359 pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
2360 let mut result__: D3D12_HEAP_PROPERTIES = ::core::mem::zeroed();
2361 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCustomHeapProperties)(::windows_core::Interface::as_raw(self), &mut result__, nodemask, heaptype);
2362 result__
2363 }
2364 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2365 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2366 pub unsafe fn CreateCommittedResource<T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2367 where
2368 T: ::windows_core::ComInterface,
2369 {
2370 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommittedResource)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2371 }
2372 pub unsafe fn CreateHeap<T>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2373 where
2374 T: ::windows_core::ComInterface,
2375 {
2376 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2377 }
2378 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2379 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2380 pub unsafe fn CreatePlacedResource<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2381 where
2382 P0: ::windows_core::IntoParam<ID3D12Heap>,
2383 T: ::windows_core::ComInterface,
2384 {
2385 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePlacedResource)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2386 }
2387 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2388 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2389 pub unsafe fn CreateReservedResource<T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2390 where
2391 T: ::windows_core::ComInterface,
2392 {
2393 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateReservedResource)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2394 }
2395 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
2396 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2397 pub unsafe fn CreateSharedHandle<P0, P1>(&self, pobject: P0, pattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, access: u32, name: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
2398 where
2399 P0: ::windows_core::IntoParam<ID3D12DeviceChild>,
2400 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
2401 {
2402 let mut result__ = ::std::mem::zeroed();
2403 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__)
2404 }
2405 #[doc = "Required features: `\"Win32_Foundation\"`"]
2406 #[cfg(feature = "Win32_Foundation")]
2407 pub unsafe fn OpenSharedHandle<P0, T>(&self, nthandle: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2408 where
2409 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2410 T: ::windows_core::ComInterface,
2411 {
2412 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandle)(::windows_core::Interface::as_raw(self), nthandle.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2413 }
2414 #[doc = "Required features: `\"Win32_Foundation\"`"]
2415 #[cfg(feature = "Win32_Foundation")]
2416 pub unsafe fn OpenSharedHandleByName<P0>(&self, name: P0, access: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
2417 where
2418 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
2419 {
2420 let mut result__ = ::std::mem::zeroed();
2421 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__)
2422 }
2423 pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
2424 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
2425 }
2426 pub unsafe fn Evict(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
2427 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.Evict)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
2428 }
2429 pub unsafe fn CreateFence<T>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows_core::Result<T>
2430 where
2431 T: ::windows_core::ComInterface,
2432 {
2433 let mut result__ = ::std::ptr::null_mut();
2434 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2435 }
2436 pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> {
2437 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok()
2438 }
2439 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2440 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2441 pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
2442 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCopyableFootprints)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
2443 }
2444 pub unsafe fn CreateQueryHeap<T>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2445 where
2446 T: ::windows_core::ComInterface,
2447 {
2448 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateQueryHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2449 }
2450 #[doc = "Required features: `\"Win32_Foundation\"`"]
2451 #[cfg(feature = "Win32_Foundation")]
2452 pub unsafe fn SetStablePowerState<P0>(&self, enable: P0) -> ::windows_core::Result<()>
2453 where
2454 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2455 {
2456 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetStablePowerState)(::windows_core::Interface::as_raw(self), enable.into_param().abi()).ok()
2457 }
2458 pub unsafe fn CreateCommandSignature<P0, T>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2459 where
2460 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
2461 T: ::windows_core::ComInterface,
2462 {
2463 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandSignature)(::windows_core::Interface::as_raw(self), pdesc, prootsignature.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2464 }
2465 pub unsafe fn GetResourceTiling<P0>(&self, ptiledresource: P0, pnumtilesforentireresource: ::core::option::Option<*mut u32>, ppackedmipdesc: ::core::option::Option<*mut D3D12_PACKED_MIP_INFO>, pstandardtileshapefornonpackedmips: ::core::option::Option<*mut D3D12_TILE_SHAPE>, pnumsubresourcetilings: ::core::option::Option<*mut u32>, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)
2466 where
2467 P0: ::windows_core::IntoParam<ID3D12Resource>,
2468 {
2469 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetResourceTiling)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ::core::mem::transmute(pnumtilesforentireresource.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppackedmipdesc.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstandardtileshapefornonpackedmips.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumsubresourcetilings.unwrap_or(::std::ptr::null_mut())), firstsubresourcetilingtoget, psubresourcetilingsfornonpackedmips)
2470 }
2471 #[doc = "Required features: `\"Win32_Foundation\"`"]
2472 #[cfg(feature = "Win32_Foundation")]
2473 pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
2474 let mut result__: super::super::Foundation::LUID = ::core::mem::zeroed();
2475 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAdapterLuid)(::windows_core::Interface::as_raw(self), &mut result__);
2476 result__
2477 }
2478 pub unsafe fn CreatePipelineLibrary<T>(&self, plibraryblob: &[u8]) -> ::windows_core::Result<T>
2479 where
2480 T: ::windows_core::ComInterface,
2481 {
2482 let mut result__ = ::std::ptr::null_mut();
2483 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2484 }
2485 #[doc = "Required features: `\"Win32_Foundation\"`"]
2486 #[cfg(feature = "Win32_Foundation")]
2487 pub unsafe fn SetEventOnMultipleFenceCompletion<P0>(&self, ppfences: *const ::core::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()>
2488 where
2489 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2490 {
2491 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEventOnMultipleFenceCompletion)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppfences), pfencevalues, numfences, flags, hevent.into_param().abi()).ok()
2492 }
2493 pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::core::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows_core::Result<()> {
2494 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetResidencyPriority)(::windows_core::Interface::as_raw(self), numobjects, ::core::mem::transmute(ppobjects), ppriorities).ok()
2495 }
2496 pub unsafe fn CreatePipelineState<T>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows_core::Result<T>
2497 where
2498 T: ::windows_core::ComInterface,
2499 {
2500 let mut result__ = ::std::ptr::null_mut();
2501 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2502 }
2503 pub unsafe fn OpenExistingHeapFromAddress<T>(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result<T>
2504 where
2505 T: ::windows_core::ComInterface,
2506 {
2507 let mut result__ = ::std::ptr::null_mut();
2508 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2509 }
2510 #[doc = "Required features: `\"Win32_Foundation\"`"]
2511 #[cfg(feature = "Win32_Foundation")]
2512 pub unsafe fn OpenExistingHeapFromFileMapping<P0, T>(&self, hfilemapping: P0) -> ::windows_core::Result<T>
2513 where
2514 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2515 T: ::windows_core::ComInterface,
2516 {
2517 let mut result__ = ::std::ptr::null_mut();
2518 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2519 }
2520 pub unsafe fn EnqueueMakeResident<P0>(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option<ID3D12Pageable>], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()>
2521 where
2522 P0: ::windows_core::IntoParam<ID3D12Fence>,
2523 {
2524 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EnqueueMakeResident)(::windows_core::Interface::as_raw(self), flags, ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr()), pfencetosignal.into_param().abi(), fencevaluetosignal).ok()
2525 }
2526 pub unsafe fn CreateCommandList1<T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows_core::Result<T>
2527 where
2528 T: ::windows_core::ComInterface,
2529 {
2530 let mut result__ = ::std::ptr::null_mut();
2531 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2532 }
2533 pub unsafe fn CreateProtectedResourceSession<T>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result<T>
2534 where
2535 T: ::windows_core::ComInterface,
2536 {
2537 let mut result__ = ::std::ptr::null_mut();
2538 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2539 }
2540 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2541 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2542 pub unsafe fn CreateCommittedResource1<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2543 where
2544 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
2545 T: ::windows_core::ComInterface,
2546 {
2547 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommittedResource1)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2548 }
2549 pub unsafe fn CreateHeap1<P0, T>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2550 where
2551 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
2552 T: ::windows_core::ComInterface,
2553 {
2554 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateHeap1)(::windows_core::Interface::as_raw(self), pdesc, pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2555 }
2556 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2557 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2558 pub unsafe fn CreateReservedResource1<P0, T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2559 where
2560 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
2561 T: ::windows_core::ComInterface,
2562 {
2563 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateReservedResource1)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2564 }
2565 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2566 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2567 pub unsafe fn GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO {
2568 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
2569 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetResourceAllocationInfo1)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, numresourcedescs, presourcedescs, ::core::mem::transmute(presourceallocationinfo1.unwrap_or(::std::ptr::null_mut())));
2570 result__
2571 }
2572 pub unsafe fn CreateLifetimeTracker<P0, T>(&self, powner: P0) -> ::windows_core::Result<T>
2573 where
2574 P0: ::windows_core::IntoParam<ID3D12LifetimeOwner>,
2575 T: ::windows_core::ComInterface,
2576 {
2577 let mut result__ = ::std::ptr::null_mut();
2578 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2579 }
2580 pub unsafe fn RemoveDevice(&self) {
2581 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RemoveDevice)(::windows_core::Interface::as_raw(self))
2582 }
2583 pub unsafe fn EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: ::core::option::Option<*mut D3D12_META_COMMAND_DESC>) -> ::windows_core::Result<()> {
2584 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumerateMetaCommands)(::windows_core::Interface::as_raw(self), pnummetacommands, ::core::mem::transmute(pdescs.unwrap_or(::std::ptr::null_mut()))).ok()
2585 }
2586 pub unsafe fn EnumerateMetaCommandParameters(&self, commandid: *const ::windows_core::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: ::core::option::Option<*mut u32>, pparametercount: *mut u32, pparameterdescs: ::core::option::Option<*mut D3D12_META_COMMAND_PARAMETER_DESC>) -> ::windows_core::Result<()> {
2587 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnumerateMetaCommandParameters)(::windows_core::Interface::as_raw(self), commandid, stage, ::core::mem::transmute(ptotalstructuresizeinbytes.unwrap_or(::std::ptr::null_mut())), pparametercount, ::core::mem::transmute(pparameterdescs.unwrap_or(::std::ptr::null_mut()))).ok()
2588 }
2589 pub unsafe fn CreateMetaCommand<T>(&self, commandid: *const ::windows_core::GUID, nodemask: u32, pcreationparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, creationparametersdatasizeinbytes: usize) -> ::windows_core::Result<T>
2590 where
2591 T: ::windows_core::ComInterface,
2592 {
2593 let mut result__ = ::std::ptr::null_mut();
2594 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2595 }
2596 pub unsafe fn CreateStateObject<T>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result<T>
2597 where
2598 T: ::windows_core::ComInterface,
2599 {
2600 let mut result__ = ::std::ptr::null_mut();
2601 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2602 }
2603 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2604 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2605 pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) {
2606 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetRaytracingAccelerationStructurePrebuildInfo)(::windows_core::Interface::as_raw(self), pdesc, pinfo)
2607 }
2608 pub unsafe fn CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
2609 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CheckDriverMatchingIdentifier)(::windows_core::Interface::as_raw(self), serializeddatatype, pidentifiertocheck)
2610 }
2611 #[doc = "Required features: `\"Win32_Foundation\"`"]
2612 #[cfg(feature = "Win32_Foundation")]
2613 pub unsafe fn SetBackgroundProcessingMode<P0>(&self, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: P0, pbfurthermeasurementsdesired: ::core::option::Option<*mut super::super::Foundation::BOOL>) -> ::windows_core::Result<()>
2614 where
2615 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2616 {
2617 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetBackgroundProcessingMode)(::windows_core::Interface::as_raw(self), mode, measurementsaction, heventtosignaluponcompletion.into_param().abi(), ::core::mem::transmute(pbfurthermeasurementsdesired.unwrap_or(::std::ptr::null_mut()))).ok()
2618 }
2619 pub unsafe fn AddToStateObject<P0, T>(&self, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: P0) -> ::windows_core::Result<T>
2620 where
2621 P0: ::windows_core::IntoParam<ID3D12StateObject>,
2622 T: ::windows_core::ComInterface,
2623 {
2624 let mut result__ = ::std::ptr::null_mut();
2625 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2626 }
2627 pub unsafe fn CreateProtectedResourceSession1<T>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows_core::Result<T>
2628 where
2629 T: ::windows_core::ComInterface,
2630 {
2631 let mut result__ = ::std::ptr::null_mut();
2632 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2633 }
2634 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2635 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2636 pub unsafe fn GetResourceAllocationInfo2(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO {
2637 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
2638 (::windows_core::Interface::vtable(self).base__.base__.base__.GetResourceAllocationInfo2)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, numresourcedescs, presourcedescs, ::core::mem::transmute(presourceallocationinfo1.unwrap_or(::std::ptr::null_mut())));
2639 result__
2640 }
2641 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2642 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2643 pub unsafe fn CreateCommittedResource2<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2644 where
2645 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
2646 T: ::windows_core::ComInterface,
2647 {
2648 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommittedResource2)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2649 }
2650 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2651 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2652 pub unsafe fn CreatePlacedResource1<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2653 where
2654 P0: ::windows_core::IntoParam<ID3D12Heap>,
2655 T: ::windows_core::ComInterface,
2656 {
2657 (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePlacedResource1)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2658 }
2659 pub unsafe fn CreateSamplerFeedbackUnorderedAccessView<P0, P1>(&self, ptargetedresource: P0, pfeedbackresource: P1, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
2660 where
2661 P0: ::windows_core::IntoParam<ID3D12Resource>,
2662 P1: ::windows_core::IntoParam<ID3D12Resource>,
2663 {
2664 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSamplerFeedbackUnorderedAccessView)(::windows_core::Interface::as_raw(self), ptargetedresource.into_param().abi(), pfeedbackresource.into_param().abi(), ::core::mem::transmute(destdescriptor))
2665 }
2666 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2667 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2668 pub unsafe fn GetCopyableFootprints1(&self, presourcedesc: *const D3D12_RESOURCE_DESC1, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
2669 (::windows_core::Interface::vtable(self).base__.base__.base__.GetCopyableFootprints1)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
2670 }
2671 pub unsafe fn CreateShaderCacheSession<T>(&self, pdesc: *const D3D12_SHADER_CACHE_SESSION_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2672 where
2673 T: ::windows_core::ComInterface,
2674 {
2675 (::windows_core::Interface::vtable(self).base__.base__.CreateShaderCacheSession)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2676 }
2677 pub unsafe fn ShaderCacheControl(&self, kinds: D3D12_SHADER_CACHE_KIND_FLAGS, control: D3D12_SHADER_CACHE_CONTROL_FLAGS) -> ::windows_core::Result<()> {
2678 (::windows_core::Interface::vtable(self).base__.base__.ShaderCacheControl)(::windows_core::Interface::as_raw(self), kinds, control).ok()
2679 }
2680 pub unsafe fn CreateCommandQueue1<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC, creatorid: *const ::windows_core::GUID) -> ::windows_core::Result<T>
2681 where
2682 T: ::windows_core::ComInterface,
2683 {
2684 let mut result__ = ::std::ptr::null_mut();
2685 (::windows_core::Interface::vtable(self).base__.base__.CreateCommandQueue1)(::windows_core::Interface::as_raw(self), pdesc, creatorid, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2686 }
2687 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2688 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2689 pub unsafe fn CreateCommittedResource3<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, pcastableformats: ::core::option::Option<&[super::Dxgi::Common::DXGI_FORMAT]>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2690 where
2691 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
2692 T: ::windows_core::ComInterface,
2693 {
2694 (::windows_core::Interface::vtable(self).base__.CreateCommittedResource3)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initiallayout, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), pcastableformats.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pcastableformats.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2695 }
2696 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2697 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2698 pub unsafe fn CreatePlacedResource2<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pcastableformats: ::core::option::Option<&[super::Dxgi::Common::DXGI_FORMAT]>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2699 where
2700 P0: ::windows_core::IntoParam<ID3D12Heap>,
2701 T: ::windows_core::ComInterface,
2702 {
2703 (::windows_core::Interface::vtable(self).base__.CreatePlacedResource2)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initiallayout, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pcastableformats.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pcastableformats.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2704 }
2705 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2706 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2707 pub unsafe fn CreateReservedResource2<P0, T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, pcastableformats: ::core::option::Option<&[super::Dxgi::Common::DXGI_FORMAT]>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2708 where
2709 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
2710 T: ::windows_core::ComInterface,
2711 {
2712 (::windows_core::Interface::vtable(self).base__.CreateReservedResource2)(::windows_core::Interface::as_raw(self), pdesc, initiallayout, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), pcastableformats.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pcastableformats.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2713 }
2714 pub unsafe fn CreateSampler2(&self, pdesc: *const D3D12_SAMPLER_DESC2, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
2715 (::windows_core::Interface::vtable(self).CreateSampler2)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(destdescriptor))
2716 }
2717}
2718::windows_core::imp::interface_hierarchy!(ID3D12Device11, ::windows_core::IUnknown, ID3D12Object, ID3D12Device, ID3D12Device1, ID3D12Device2, ID3D12Device3, ID3D12Device4, ID3D12Device5, ID3D12Device6, ID3D12Device7, ID3D12Device8, ID3D12Device9, ID3D12Device10);
2719unsafe impl ::core::marker::Send for ID3D12Device11 {}
2720unsafe impl ::core::marker::Sync for ID3D12Device11 {}
2721unsafe impl ::windows_core::Interface for ID3D12Device11 {
2722 type Vtable = ID3D12Device11_Vtbl;
2723}
2724unsafe impl ::windows_core::ComInterface for ID3D12Device11 {
2725 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x5405c344_d457_444e_b4dd_2366e45aee39);
2726}
2727#[repr(C)]
2728#[doc(hidden)]
2729pub struct ID3D12Device11_Vtbl {
2730 pub base__: ID3D12Device10_Vtbl,
2731 pub CreateSampler2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_SAMPLER_DESC2, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
2732}
2733#[repr(transparent)]
2734#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2735pub struct ID3D12Device12(::windows_core::IUnknown);
2736impl ID3D12Device12 {
2737 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
2738 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
2739 }
2740 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
2741 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
2742 }
2743 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
2744 where
2745 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
2746 {
2747 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
2748 }
2749 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
2750 where
2751 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
2752 {
2753 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
2754 }
2755 pub unsafe fn GetNodeCount(&self) -> u32 {
2756 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNodeCount)(::windows_core::Interface::as_raw(self))
2757 }
2758 pub unsafe fn CreateCommandQueue<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows_core::Result<T>
2759 where
2760 T: ::windows_core::ComInterface,
2761 {
2762 let mut result__ = ::std::ptr::null_mut();
2763 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2764 }
2765 pub unsafe fn CreateCommandAllocator<T>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result<T>
2766 where
2767 T: ::windows_core::ComInterface,
2768 {
2769 let mut result__ = ::std::ptr::null_mut();
2770 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2771 }
2772 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
2773 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
2774 pub unsafe fn CreateGraphicsPipelineState<T>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
2775 where
2776 T: ::windows_core::ComInterface,
2777 {
2778 let mut result__ = ::std::ptr::null_mut();
2779 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2780 }
2781 pub unsafe fn CreateComputePipelineState<T>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
2782 where
2783 T: ::windows_core::ComInterface,
2784 {
2785 let mut result__ = ::std::ptr::null_mut();
2786 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2787 }
2788 pub unsafe fn CreateCommandList<P0, P1, T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result<T>
2789 where
2790 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
2791 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
2792 T: ::windows_core::ComInterface,
2793 {
2794 let mut result__ = ::std::ptr::null_mut();
2795 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2796 }
2797 pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> {
2798 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok()
2799 }
2800 pub unsafe fn CreateDescriptorHeap<T>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows_core::Result<T>
2801 where
2802 T: ::windows_core::ComInterface,
2803 {
2804 let mut result__ = ::std::ptr::null_mut();
2805 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2806 }
2807 pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
2808 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype)
2809 }
2810 pub unsafe fn CreateRootSignature<T>(&self, nodemask: u32, pblobwithrootsignature: &[u8]) -> ::windows_core::Result<T>
2811 where
2812 T: ::windows_core::ComInterface,
2813 {
2814 let mut result__ = ::std::ptr::null_mut();
2815 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2816 }
2817 pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
2818 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
2819 }
2820 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2821 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2822 pub unsafe fn CreateShaderResourceView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_SHADER_RESOURCE_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
2823 where
2824 P0: ::windows_core::IntoParam<ID3D12Resource>,
2825 {
2826 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateShaderResourceView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
2827 }
2828 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2829 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2830 pub unsafe fn CreateUnorderedAccessView<P0, P1>(&self, presource: P0, pcounterresource: P1, pdesc: ::core::option::Option<*const D3D12_UNORDERED_ACCESS_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
2831 where
2832 P0: ::windows_core::IntoParam<ID3D12Resource>,
2833 P1: ::windows_core::IntoParam<ID3D12Resource>,
2834 {
2835 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateUnorderedAccessView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
2836 }
2837 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2838 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2839 pub unsafe fn CreateRenderTargetView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_RENDER_TARGET_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
2840 where
2841 P0: ::windows_core::IntoParam<ID3D12Resource>,
2842 {
2843 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRenderTargetView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
2844 }
2845 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2846 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2847 pub unsafe fn CreateDepthStencilView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_DEPTH_STENCIL_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
2848 where
2849 P0: ::windows_core::IntoParam<ID3D12Resource>,
2850 {
2851 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDepthStencilView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
2852 }
2853 pub unsafe fn CreateSampler(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
2854 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSampler)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(destdescriptor))
2855 }
2856 pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: ::core::option::Option<*const u32>, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: ::core::option::Option<*const u32>, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
2857 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CopyDescriptors)(::windows_core::Interface::as_raw(self), numdestdescriptorranges, pdestdescriptorrangestarts, ::core::mem::transmute(pdestdescriptorrangesizes.unwrap_or(::std::ptr::null())), numsrcdescriptorranges, psrcdescriptorrangestarts, ::core::mem::transmute(psrcdescriptorrangesizes.unwrap_or(::std::ptr::null())), descriptorheapstype)
2858 }
2859 pub unsafe fn CopyDescriptorsSimple(&self, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
2860 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CopyDescriptorsSimple)(::windows_core::Interface::as_raw(self), numdescriptors, ::core::mem::transmute(destdescriptorrangestart), ::core::mem::transmute(srcdescriptorrangestart), descriptorheapstype)
2861 }
2862 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2863 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2864 pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, presourcedescs: &[D3D12_RESOURCE_DESC]) -> D3D12_RESOURCE_ALLOCATION_INFO {
2865 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
2866 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetResourceAllocationInfo)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, presourcedescs.len().try_into().unwrap(), ::core::mem::transmute(presourcedescs.as_ptr()));
2867 result__
2868 }
2869 pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
2870 let mut result__: D3D12_HEAP_PROPERTIES = ::core::mem::zeroed();
2871 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCustomHeapProperties)(::windows_core::Interface::as_raw(self), &mut result__, nodemask, heaptype);
2872 result__
2873 }
2874 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2875 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2876 pub unsafe fn CreateCommittedResource<T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2877 where
2878 T: ::windows_core::ComInterface,
2879 {
2880 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommittedResource)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2881 }
2882 pub unsafe fn CreateHeap<T>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2883 where
2884 T: ::windows_core::ComInterface,
2885 {
2886 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2887 }
2888 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2889 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2890 pub unsafe fn CreatePlacedResource<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2891 where
2892 P0: ::windows_core::IntoParam<ID3D12Heap>,
2893 T: ::windows_core::ComInterface,
2894 {
2895 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePlacedResource)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2896 }
2897 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2898 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2899 pub unsafe fn CreateReservedResource<T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2900 where
2901 T: ::windows_core::ComInterface,
2902 {
2903 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateReservedResource)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2904 }
2905 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
2906 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
2907 pub unsafe fn CreateSharedHandle<P0, P1>(&self, pobject: P0, pattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, access: u32, name: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
2908 where
2909 P0: ::windows_core::IntoParam<ID3D12DeviceChild>,
2910 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
2911 {
2912 let mut result__ = ::std::mem::zeroed();
2913 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__)
2914 }
2915 #[doc = "Required features: `\"Win32_Foundation\"`"]
2916 #[cfg(feature = "Win32_Foundation")]
2917 pub unsafe fn OpenSharedHandle<P0, T>(&self, nthandle: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2918 where
2919 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
2920 T: ::windows_core::ComInterface,
2921 {
2922 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandle)(::windows_core::Interface::as_raw(self), nthandle.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2923 }
2924 #[doc = "Required features: `\"Win32_Foundation\"`"]
2925 #[cfg(feature = "Win32_Foundation")]
2926 pub unsafe fn OpenSharedHandleByName<P0>(&self, name: P0, access: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
2927 where
2928 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
2929 {
2930 let mut result__ = ::std::mem::zeroed();
2931 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__)
2932 }
2933 pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
2934 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
2935 }
2936 pub unsafe fn Evict(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
2937 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.Evict)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
2938 }
2939 pub unsafe fn CreateFence<T>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows_core::Result<T>
2940 where
2941 T: ::windows_core::ComInterface,
2942 {
2943 let mut result__ = ::std::ptr::null_mut();
2944 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2945 }
2946 pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> {
2947 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok()
2948 }
2949 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
2950 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
2951 pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
2952 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCopyableFootprints)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
2953 }
2954 pub unsafe fn CreateQueryHeap<T>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2955 where
2956 T: ::windows_core::ComInterface,
2957 {
2958 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateQueryHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2959 }
2960 #[doc = "Required features: `\"Win32_Foundation\"`"]
2961 #[cfg(feature = "Win32_Foundation")]
2962 pub unsafe fn SetStablePowerState<P0>(&self, enable: P0) -> ::windows_core::Result<()>
2963 where
2964 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2965 {
2966 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetStablePowerState)(::windows_core::Interface::as_raw(self), enable.into_param().abi()).ok()
2967 }
2968 pub unsafe fn CreateCommandSignature<P0, T>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
2969 where
2970 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
2971 T: ::windows_core::ComInterface,
2972 {
2973 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandSignature)(::windows_core::Interface::as_raw(self), pdesc, prootsignature.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
2974 }
2975 pub unsafe fn GetResourceTiling<P0>(&self, ptiledresource: P0, pnumtilesforentireresource: ::core::option::Option<*mut u32>, ppackedmipdesc: ::core::option::Option<*mut D3D12_PACKED_MIP_INFO>, pstandardtileshapefornonpackedmips: ::core::option::Option<*mut D3D12_TILE_SHAPE>, pnumsubresourcetilings: ::core::option::Option<*mut u32>, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)
2976 where
2977 P0: ::windows_core::IntoParam<ID3D12Resource>,
2978 {
2979 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetResourceTiling)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ::core::mem::transmute(pnumtilesforentireresource.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppackedmipdesc.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstandardtileshapefornonpackedmips.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumsubresourcetilings.unwrap_or(::std::ptr::null_mut())), firstsubresourcetilingtoget, psubresourcetilingsfornonpackedmips)
2980 }
2981 #[doc = "Required features: `\"Win32_Foundation\"`"]
2982 #[cfg(feature = "Win32_Foundation")]
2983 pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
2984 let mut result__: super::super::Foundation::LUID = ::core::mem::zeroed();
2985 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAdapterLuid)(::windows_core::Interface::as_raw(self), &mut result__);
2986 result__
2987 }
2988 pub unsafe fn CreatePipelineLibrary<T>(&self, plibraryblob: &[u8]) -> ::windows_core::Result<T>
2989 where
2990 T: ::windows_core::ComInterface,
2991 {
2992 let mut result__ = ::std::ptr::null_mut();
2993 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2994 }
2995 #[doc = "Required features: `\"Win32_Foundation\"`"]
2996 #[cfg(feature = "Win32_Foundation")]
2997 pub unsafe fn SetEventOnMultipleFenceCompletion<P0>(&self, ppfences: *const ::core::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()>
2998 where
2999 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
3000 {
3001 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetEventOnMultipleFenceCompletion)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppfences), pfencevalues, numfences, flags, hevent.into_param().abi()).ok()
3002 }
3003 pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::core::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows_core::Result<()> {
3004 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetResidencyPriority)(::windows_core::Interface::as_raw(self), numobjects, ::core::mem::transmute(ppobjects), ppriorities).ok()
3005 }
3006 pub unsafe fn CreatePipelineState<T>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows_core::Result<T>
3007 where
3008 T: ::windows_core::ComInterface,
3009 {
3010 let mut result__ = ::std::ptr::null_mut();
3011 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3012 }
3013 pub unsafe fn OpenExistingHeapFromAddress<T>(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result<T>
3014 where
3015 T: ::windows_core::ComInterface,
3016 {
3017 let mut result__ = ::std::ptr::null_mut();
3018 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3019 }
3020 #[doc = "Required features: `\"Win32_Foundation\"`"]
3021 #[cfg(feature = "Win32_Foundation")]
3022 pub unsafe fn OpenExistingHeapFromFileMapping<P0, T>(&self, hfilemapping: P0) -> ::windows_core::Result<T>
3023 where
3024 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
3025 T: ::windows_core::ComInterface,
3026 {
3027 let mut result__ = ::std::ptr::null_mut();
3028 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3029 }
3030 pub unsafe fn EnqueueMakeResident<P0>(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option<ID3D12Pageable>], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()>
3031 where
3032 P0: ::windows_core::IntoParam<ID3D12Fence>,
3033 {
3034 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EnqueueMakeResident)(::windows_core::Interface::as_raw(self), flags, ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr()), pfencetosignal.into_param().abi(), fencevaluetosignal).ok()
3035 }
3036 pub unsafe fn CreateCommandList1<T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows_core::Result<T>
3037 where
3038 T: ::windows_core::ComInterface,
3039 {
3040 let mut result__ = ::std::ptr::null_mut();
3041 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3042 }
3043 pub unsafe fn CreateProtectedResourceSession<T>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result<T>
3044 where
3045 T: ::windows_core::ComInterface,
3046 {
3047 let mut result__ = ::std::ptr::null_mut();
3048 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3049 }
3050 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3051 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3052 pub unsafe fn CreateCommittedResource1<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3053 where
3054 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
3055 T: ::windows_core::ComInterface,
3056 {
3057 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCommittedResource1)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3058 }
3059 pub unsafe fn CreateHeap1<P0, T>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3060 where
3061 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
3062 T: ::windows_core::ComInterface,
3063 {
3064 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateHeap1)(::windows_core::Interface::as_raw(self), pdesc, pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3065 }
3066 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3067 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3068 pub unsafe fn CreateReservedResource1<P0, T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3069 where
3070 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
3071 T: ::windows_core::ComInterface,
3072 {
3073 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateReservedResource1)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3074 }
3075 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3076 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3077 pub unsafe fn GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO {
3078 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
3079 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetResourceAllocationInfo1)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, numresourcedescs, presourcedescs, ::core::mem::transmute(presourceallocationinfo1.unwrap_or(::std::ptr::null_mut())));
3080 result__
3081 }
3082 pub unsafe fn CreateLifetimeTracker<P0, T>(&self, powner: P0) -> ::windows_core::Result<T>
3083 where
3084 P0: ::windows_core::IntoParam<ID3D12LifetimeOwner>,
3085 T: ::windows_core::ComInterface,
3086 {
3087 let mut result__ = ::std::ptr::null_mut();
3088 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3089 }
3090 pub unsafe fn RemoveDevice(&self) {
3091 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RemoveDevice)(::windows_core::Interface::as_raw(self))
3092 }
3093 pub unsafe fn EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: ::core::option::Option<*mut D3D12_META_COMMAND_DESC>) -> ::windows_core::Result<()> {
3094 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumerateMetaCommands)(::windows_core::Interface::as_raw(self), pnummetacommands, ::core::mem::transmute(pdescs.unwrap_or(::std::ptr::null_mut()))).ok()
3095 }
3096 pub unsafe fn EnumerateMetaCommandParameters(&self, commandid: *const ::windows_core::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: ::core::option::Option<*mut u32>, pparametercount: *mut u32, pparameterdescs: ::core::option::Option<*mut D3D12_META_COMMAND_PARAMETER_DESC>) -> ::windows_core::Result<()> {
3097 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EnumerateMetaCommandParameters)(::windows_core::Interface::as_raw(self), commandid, stage, ::core::mem::transmute(ptotalstructuresizeinbytes.unwrap_or(::std::ptr::null_mut())), pparametercount, ::core::mem::transmute(pparameterdescs.unwrap_or(::std::ptr::null_mut()))).ok()
3098 }
3099 pub unsafe fn CreateMetaCommand<T>(&self, commandid: *const ::windows_core::GUID, nodemask: u32, pcreationparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, creationparametersdatasizeinbytes: usize) -> ::windows_core::Result<T>
3100 where
3101 T: ::windows_core::ComInterface,
3102 {
3103 let mut result__ = ::std::ptr::null_mut();
3104 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3105 }
3106 pub unsafe fn CreateStateObject<T>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result<T>
3107 where
3108 T: ::windows_core::ComInterface,
3109 {
3110 let mut result__ = ::std::ptr::null_mut();
3111 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3112 }
3113 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3114 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3115 pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) {
3116 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetRaytracingAccelerationStructurePrebuildInfo)(::windows_core::Interface::as_raw(self), pdesc, pinfo)
3117 }
3118 pub unsafe fn CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
3119 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CheckDriverMatchingIdentifier)(::windows_core::Interface::as_raw(self), serializeddatatype, pidentifiertocheck)
3120 }
3121 #[doc = "Required features: `\"Win32_Foundation\"`"]
3122 #[cfg(feature = "Win32_Foundation")]
3123 pub unsafe fn SetBackgroundProcessingMode<P0>(&self, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: P0, pbfurthermeasurementsdesired: ::core::option::Option<*mut super::super::Foundation::BOOL>) -> ::windows_core::Result<()>
3124 where
3125 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
3126 {
3127 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetBackgroundProcessingMode)(::windows_core::Interface::as_raw(self), mode, measurementsaction, heventtosignaluponcompletion.into_param().abi(), ::core::mem::transmute(pbfurthermeasurementsdesired.unwrap_or(::std::ptr::null_mut()))).ok()
3128 }
3129 pub unsafe fn AddToStateObject<P0, T>(&self, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: P0) -> ::windows_core::Result<T>
3130 where
3131 P0: ::windows_core::IntoParam<ID3D12StateObject>,
3132 T: ::windows_core::ComInterface,
3133 {
3134 let mut result__ = ::std::ptr::null_mut();
3135 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3136 }
3137 pub unsafe fn CreateProtectedResourceSession1<T>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows_core::Result<T>
3138 where
3139 T: ::windows_core::ComInterface,
3140 {
3141 let mut result__ = ::std::ptr::null_mut();
3142 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3143 }
3144 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3145 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3146 pub unsafe fn GetResourceAllocationInfo2(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO {
3147 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
3148 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetResourceAllocationInfo2)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, numresourcedescs, presourcedescs, ::core::mem::transmute(presourceallocationinfo1.unwrap_or(::std::ptr::null_mut())));
3149 result__
3150 }
3151 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3152 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3153 pub unsafe fn CreateCommittedResource2<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3154 where
3155 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
3156 T: ::windows_core::ComInterface,
3157 {
3158 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommittedResource2)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3159 }
3160 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3161 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3162 pub unsafe fn CreatePlacedResource1<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3163 where
3164 P0: ::windows_core::IntoParam<ID3D12Heap>,
3165 T: ::windows_core::ComInterface,
3166 {
3167 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePlacedResource1)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3168 }
3169 pub unsafe fn CreateSamplerFeedbackUnorderedAccessView<P0, P1>(&self, ptargetedresource: P0, pfeedbackresource: P1, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
3170 where
3171 P0: ::windows_core::IntoParam<ID3D12Resource>,
3172 P1: ::windows_core::IntoParam<ID3D12Resource>,
3173 {
3174 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSamplerFeedbackUnorderedAccessView)(::windows_core::Interface::as_raw(self), ptargetedresource.into_param().abi(), pfeedbackresource.into_param().abi(), ::core::mem::transmute(destdescriptor))
3175 }
3176 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3177 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3178 pub unsafe fn GetCopyableFootprints1(&self, presourcedesc: *const D3D12_RESOURCE_DESC1, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
3179 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCopyableFootprints1)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
3180 }
3181 pub unsafe fn CreateShaderCacheSession<T>(&self, pdesc: *const D3D12_SHADER_CACHE_SESSION_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3182 where
3183 T: ::windows_core::ComInterface,
3184 {
3185 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateShaderCacheSession)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3186 }
3187 pub unsafe fn ShaderCacheControl(&self, kinds: D3D12_SHADER_CACHE_KIND_FLAGS, control: D3D12_SHADER_CACHE_CONTROL_FLAGS) -> ::windows_core::Result<()> {
3188 (::windows_core::Interface::vtable(self).base__.base__.base__.ShaderCacheControl)(::windows_core::Interface::as_raw(self), kinds, control).ok()
3189 }
3190 pub unsafe fn CreateCommandQueue1<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC, creatorid: *const ::windows_core::GUID) -> ::windows_core::Result<T>
3191 where
3192 T: ::windows_core::ComInterface,
3193 {
3194 let mut result__ = ::std::ptr::null_mut();
3195 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandQueue1)(::windows_core::Interface::as_raw(self), pdesc, creatorid, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3196 }
3197 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3198 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3199 pub unsafe fn CreateCommittedResource3<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, pcastableformats: ::core::option::Option<&[super::Dxgi::Common::DXGI_FORMAT]>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3200 where
3201 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
3202 T: ::windows_core::ComInterface,
3203 {
3204 (::windows_core::Interface::vtable(self).base__.base__.CreateCommittedResource3)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initiallayout, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), pcastableformats.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pcastableformats.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3205 }
3206 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3207 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3208 pub unsafe fn CreatePlacedResource2<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pcastableformats: ::core::option::Option<&[super::Dxgi::Common::DXGI_FORMAT]>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3209 where
3210 P0: ::windows_core::IntoParam<ID3D12Heap>,
3211 T: ::windows_core::ComInterface,
3212 {
3213 (::windows_core::Interface::vtable(self).base__.base__.CreatePlacedResource2)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initiallayout, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pcastableformats.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pcastableformats.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3214 }
3215 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3216 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3217 pub unsafe fn CreateReservedResource2<P0, T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initiallayout: D3D12_BARRIER_LAYOUT, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, pcastableformats: ::core::option::Option<&[super::Dxgi::Common::DXGI_FORMAT]>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3218 where
3219 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
3220 T: ::windows_core::ComInterface,
3221 {
3222 (::windows_core::Interface::vtable(self).base__.base__.CreateReservedResource2)(::windows_core::Interface::as_raw(self), pdesc, initiallayout, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), pcastableformats.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pcastableformats.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3223 }
3224 pub unsafe fn CreateSampler2(&self, pdesc: *const D3D12_SAMPLER_DESC2, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
3225 (::windows_core::Interface::vtable(self).base__.CreateSampler2)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(destdescriptor))
3226 }
3227 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3228 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3229 pub unsafe fn GetResourceAllocationInfo3(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, pnumcastableformats: ::core::option::Option<*const u32>, ppcastableformats: ::core::option::Option<*const *const super::Dxgi::Common::DXGI_FORMAT>, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO {
3230 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
3231 (::windows_core::Interface::vtable(self).GetResourceAllocationInfo3)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, numresourcedescs, presourcedescs, ::core::mem::transmute(pnumcastableformats.unwrap_or(::std::ptr::null())), ::core::mem::transmute(ppcastableformats.unwrap_or(::std::ptr::null())), ::core::mem::transmute(presourceallocationinfo1.unwrap_or(::std::ptr::null_mut())));
3232 result__
3233 }
3234}
3235::windows_core::imp::interface_hierarchy!(ID3D12Device12, ::windows_core::IUnknown, ID3D12Object, ID3D12Device, ID3D12Device1, ID3D12Device2, ID3D12Device3, ID3D12Device4, ID3D12Device5, ID3D12Device6, ID3D12Device7, ID3D12Device8, ID3D12Device9, ID3D12Device10, ID3D12Device11);
3236unsafe impl ::core::marker::Send for ID3D12Device12 {}
3237unsafe impl ::core::marker::Sync for ID3D12Device12 {}
3238unsafe impl ::windows_core::Interface for ID3D12Device12 {
3239 type Vtable = ID3D12Device12_Vtbl;
3240}
3241unsafe impl ::windows_core::ComInterface for ID3D12Device12 {
3242 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x5af5c532_4c91_4cd0_b541_15a405395fc5);
3243}
3244#[repr(C)]
3245#[doc(hidden)]
3246pub struct ID3D12Device12_Vtbl {
3247 pub base__: ID3D12Device11_Vtbl,
3248 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3249 pub GetResourceAllocationInfo3: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, pnumcastableformats: *const u32, ppcastableformats: *const *const super::Dxgi::Common::DXGI_FORMAT, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1),
3250 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
3251 GetResourceAllocationInfo3: usize,
3252}
3253#[repr(transparent)]
3254#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3255pub struct ID3D12Device2(::windows_core::IUnknown);
3256impl ID3D12Device2 {
3257 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
3258 (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
3259 }
3260 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
3261 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
3262 }
3263 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
3264 where
3265 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
3266 {
3267 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
3268 }
3269 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
3270 where
3271 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
3272 {
3273 (::windows_core::Interface::vtable(self).base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
3274 }
3275 pub unsafe fn GetNodeCount(&self) -> u32 {
3276 (::windows_core::Interface::vtable(self).base__.base__.GetNodeCount)(::windows_core::Interface::as_raw(self))
3277 }
3278 pub unsafe fn CreateCommandQueue<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows_core::Result<T>
3279 where
3280 T: ::windows_core::ComInterface,
3281 {
3282 let mut result__ = ::std::ptr::null_mut();
3283 (::windows_core::Interface::vtable(self).base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3284 }
3285 pub unsafe fn CreateCommandAllocator<T>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result<T>
3286 where
3287 T: ::windows_core::ComInterface,
3288 {
3289 let mut result__ = ::std::ptr::null_mut();
3290 (::windows_core::Interface::vtable(self).base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3291 }
3292 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
3293 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
3294 pub unsafe fn CreateGraphicsPipelineState<T>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
3295 where
3296 T: ::windows_core::ComInterface,
3297 {
3298 let mut result__ = ::std::ptr::null_mut();
3299 (::windows_core::Interface::vtable(self).base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3300 }
3301 pub unsafe fn CreateComputePipelineState<T>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
3302 where
3303 T: ::windows_core::ComInterface,
3304 {
3305 let mut result__ = ::std::ptr::null_mut();
3306 (::windows_core::Interface::vtable(self).base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3307 }
3308 pub unsafe fn CreateCommandList<P0, P1, T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result<T>
3309 where
3310 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
3311 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
3312 T: ::windows_core::ComInterface,
3313 {
3314 let mut result__ = ::std::ptr::null_mut();
3315 (::windows_core::Interface::vtable(self).base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3316 }
3317 pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> {
3318 (::windows_core::Interface::vtable(self).base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok()
3319 }
3320 pub unsafe fn CreateDescriptorHeap<T>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows_core::Result<T>
3321 where
3322 T: ::windows_core::ComInterface,
3323 {
3324 let mut result__ = ::std::ptr::null_mut();
3325 (::windows_core::Interface::vtable(self).base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3326 }
3327 pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
3328 (::windows_core::Interface::vtable(self).base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype)
3329 }
3330 pub unsafe fn CreateRootSignature<T>(&self, nodemask: u32, pblobwithrootsignature: &[u8]) -> ::windows_core::Result<T>
3331 where
3332 T: ::windows_core::ComInterface,
3333 {
3334 let mut result__ = ::std::ptr::null_mut();
3335 (::windows_core::Interface::vtable(self).base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3336 }
3337 pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
3338 (::windows_core::Interface::vtable(self).base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
3339 }
3340 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3341 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3342 pub unsafe fn CreateShaderResourceView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_SHADER_RESOURCE_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
3343 where
3344 P0: ::windows_core::IntoParam<ID3D12Resource>,
3345 {
3346 (::windows_core::Interface::vtable(self).base__.base__.CreateShaderResourceView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
3347 }
3348 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3349 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3350 pub unsafe fn CreateUnorderedAccessView<P0, P1>(&self, presource: P0, pcounterresource: P1, pdesc: ::core::option::Option<*const D3D12_UNORDERED_ACCESS_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
3351 where
3352 P0: ::windows_core::IntoParam<ID3D12Resource>,
3353 P1: ::windows_core::IntoParam<ID3D12Resource>,
3354 {
3355 (::windows_core::Interface::vtable(self).base__.base__.CreateUnorderedAccessView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
3356 }
3357 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3358 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3359 pub unsafe fn CreateRenderTargetView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_RENDER_TARGET_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
3360 where
3361 P0: ::windows_core::IntoParam<ID3D12Resource>,
3362 {
3363 (::windows_core::Interface::vtable(self).base__.base__.CreateRenderTargetView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
3364 }
3365 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3366 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3367 pub unsafe fn CreateDepthStencilView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_DEPTH_STENCIL_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
3368 where
3369 P0: ::windows_core::IntoParam<ID3D12Resource>,
3370 {
3371 (::windows_core::Interface::vtable(self).base__.base__.CreateDepthStencilView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
3372 }
3373 pub unsafe fn CreateSampler(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
3374 (::windows_core::Interface::vtable(self).base__.base__.CreateSampler)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(destdescriptor))
3375 }
3376 pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: ::core::option::Option<*const u32>, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: ::core::option::Option<*const u32>, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
3377 (::windows_core::Interface::vtable(self).base__.base__.CopyDescriptors)(::windows_core::Interface::as_raw(self), numdestdescriptorranges, pdestdescriptorrangestarts, ::core::mem::transmute(pdestdescriptorrangesizes.unwrap_or(::std::ptr::null())), numsrcdescriptorranges, psrcdescriptorrangestarts, ::core::mem::transmute(psrcdescriptorrangesizes.unwrap_or(::std::ptr::null())), descriptorheapstype)
3378 }
3379 pub unsafe fn CopyDescriptorsSimple(&self, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
3380 (::windows_core::Interface::vtable(self).base__.base__.CopyDescriptorsSimple)(::windows_core::Interface::as_raw(self), numdescriptors, ::core::mem::transmute(destdescriptorrangestart), ::core::mem::transmute(srcdescriptorrangestart), descriptorheapstype)
3381 }
3382 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3383 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3384 pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, presourcedescs: &[D3D12_RESOURCE_DESC]) -> D3D12_RESOURCE_ALLOCATION_INFO {
3385 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
3386 (::windows_core::Interface::vtable(self).base__.base__.GetResourceAllocationInfo)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, presourcedescs.len().try_into().unwrap(), ::core::mem::transmute(presourcedescs.as_ptr()));
3387 result__
3388 }
3389 pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
3390 let mut result__: D3D12_HEAP_PROPERTIES = ::core::mem::zeroed();
3391 (::windows_core::Interface::vtable(self).base__.base__.GetCustomHeapProperties)(::windows_core::Interface::as_raw(self), &mut result__, nodemask, heaptype);
3392 result__
3393 }
3394 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3395 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3396 pub unsafe fn CreateCommittedResource<T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3397 where
3398 T: ::windows_core::ComInterface,
3399 {
3400 (::windows_core::Interface::vtable(self).base__.base__.CreateCommittedResource)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3401 }
3402 pub unsafe fn CreateHeap<T>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3403 where
3404 T: ::windows_core::ComInterface,
3405 {
3406 (::windows_core::Interface::vtable(self).base__.base__.CreateHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3407 }
3408 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3409 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3410 pub unsafe fn CreatePlacedResource<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3411 where
3412 P0: ::windows_core::IntoParam<ID3D12Heap>,
3413 T: ::windows_core::ComInterface,
3414 {
3415 (::windows_core::Interface::vtable(self).base__.base__.CreatePlacedResource)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3416 }
3417 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3418 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3419 pub unsafe fn CreateReservedResource<T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3420 where
3421 T: ::windows_core::ComInterface,
3422 {
3423 (::windows_core::Interface::vtable(self).base__.base__.CreateReservedResource)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3424 }
3425 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
3426 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3427 pub unsafe fn CreateSharedHandle<P0, P1>(&self, pobject: P0, pattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, access: u32, name: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
3428 where
3429 P0: ::windows_core::IntoParam<ID3D12DeviceChild>,
3430 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
3431 {
3432 let mut result__ = ::std::mem::zeroed();
3433 (::windows_core::Interface::vtable(self).base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__)
3434 }
3435 #[doc = "Required features: `\"Win32_Foundation\"`"]
3436 #[cfg(feature = "Win32_Foundation")]
3437 pub unsafe fn OpenSharedHandle<P0, T>(&self, nthandle: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3438 where
3439 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
3440 T: ::windows_core::ComInterface,
3441 {
3442 (::windows_core::Interface::vtable(self).base__.base__.OpenSharedHandle)(::windows_core::Interface::as_raw(self), nthandle.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3443 }
3444 #[doc = "Required features: `\"Win32_Foundation\"`"]
3445 #[cfg(feature = "Win32_Foundation")]
3446 pub unsafe fn OpenSharedHandleByName<P0>(&self, name: P0, access: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
3447 where
3448 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
3449 {
3450 let mut result__ = ::std::mem::zeroed();
3451 (::windows_core::Interface::vtable(self).base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__)
3452 }
3453 pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
3454 (::windows_core::Interface::vtable(self).base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
3455 }
3456 pub unsafe fn Evict(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
3457 (::windows_core::Interface::vtable(self).base__.base__.Evict)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
3458 }
3459 pub unsafe fn CreateFence<T>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows_core::Result<T>
3460 where
3461 T: ::windows_core::ComInterface,
3462 {
3463 let mut result__ = ::std::ptr::null_mut();
3464 (::windows_core::Interface::vtable(self).base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3465 }
3466 pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> {
3467 (::windows_core::Interface::vtable(self).base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok()
3468 }
3469 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3470 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3471 pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
3472 (::windows_core::Interface::vtable(self).base__.base__.GetCopyableFootprints)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
3473 }
3474 pub unsafe fn CreateQueryHeap<T>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3475 where
3476 T: ::windows_core::ComInterface,
3477 {
3478 (::windows_core::Interface::vtable(self).base__.base__.CreateQueryHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3479 }
3480 #[doc = "Required features: `\"Win32_Foundation\"`"]
3481 #[cfg(feature = "Win32_Foundation")]
3482 pub unsafe fn SetStablePowerState<P0>(&self, enable: P0) -> ::windows_core::Result<()>
3483 where
3484 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3485 {
3486 (::windows_core::Interface::vtable(self).base__.base__.SetStablePowerState)(::windows_core::Interface::as_raw(self), enable.into_param().abi()).ok()
3487 }
3488 pub unsafe fn CreateCommandSignature<P0, T>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3489 where
3490 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
3491 T: ::windows_core::ComInterface,
3492 {
3493 (::windows_core::Interface::vtable(self).base__.base__.CreateCommandSignature)(::windows_core::Interface::as_raw(self), pdesc, prootsignature.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3494 }
3495 pub unsafe fn GetResourceTiling<P0>(&self, ptiledresource: P0, pnumtilesforentireresource: ::core::option::Option<*mut u32>, ppackedmipdesc: ::core::option::Option<*mut D3D12_PACKED_MIP_INFO>, pstandardtileshapefornonpackedmips: ::core::option::Option<*mut D3D12_TILE_SHAPE>, pnumsubresourcetilings: ::core::option::Option<*mut u32>, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)
3496 where
3497 P0: ::windows_core::IntoParam<ID3D12Resource>,
3498 {
3499 (::windows_core::Interface::vtable(self).base__.base__.GetResourceTiling)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ::core::mem::transmute(pnumtilesforentireresource.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppackedmipdesc.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstandardtileshapefornonpackedmips.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumsubresourcetilings.unwrap_or(::std::ptr::null_mut())), firstsubresourcetilingtoget, psubresourcetilingsfornonpackedmips)
3500 }
3501 #[doc = "Required features: `\"Win32_Foundation\"`"]
3502 #[cfg(feature = "Win32_Foundation")]
3503 pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
3504 let mut result__: super::super::Foundation::LUID = ::core::mem::zeroed();
3505 (::windows_core::Interface::vtable(self).base__.base__.GetAdapterLuid)(::windows_core::Interface::as_raw(self), &mut result__);
3506 result__
3507 }
3508 pub unsafe fn CreatePipelineLibrary<T>(&self, plibraryblob: &[u8]) -> ::windows_core::Result<T>
3509 where
3510 T: ::windows_core::ComInterface,
3511 {
3512 let mut result__ = ::std::ptr::null_mut();
3513 (::windows_core::Interface::vtable(self).base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3514 }
3515 #[doc = "Required features: `\"Win32_Foundation\"`"]
3516 #[cfg(feature = "Win32_Foundation")]
3517 pub unsafe fn SetEventOnMultipleFenceCompletion<P0>(&self, ppfences: *const ::core::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()>
3518 where
3519 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
3520 {
3521 (::windows_core::Interface::vtable(self).base__.SetEventOnMultipleFenceCompletion)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppfences), pfencevalues, numfences, flags, hevent.into_param().abi()).ok()
3522 }
3523 pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::core::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows_core::Result<()> {
3524 (::windows_core::Interface::vtable(self).base__.SetResidencyPriority)(::windows_core::Interface::as_raw(self), numobjects, ::core::mem::transmute(ppobjects), ppriorities).ok()
3525 }
3526 pub unsafe fn CreatePipelineState<T>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows_core::Result<T>
3527 where
3528 T: ::windows_core::ComInterface,
3529 {
3530 let mut result__ = ::std::ptr::null_mut();
3531 (::windows_core::Interface::vtable(self).CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3532 }
3533}
3534::windows_core::imp::interface_hierarchy!(ID3D12Device2, ::windows_core::IUnknown, ID3D12Object, ID3D12Device, ID3D12Device1);
3535unsafe impl ::core::marker::Send for ID3D12Device2 {}
3536unsafe impl ::core::marker::Sync for ID3D12Device2 {}
3537unsafe impl ::windows_core::Interface for ID3D12Device2 {
3538 type Vtable = ID3D12Device2_Vtbl;
3539}
3540unsafe impl ::windows_core::ComInterface for ID3D12Device2 {
3541 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x30baa41e_b15b_475c_a0bb_1af5c5b64328);
3542}
3543#[repr(C)]
3544#[doc(hidden)]
3545pub struct ID3D12Device2_Vtbl {
3546 pub base__: ID3D12Device1_Vtbl,
3547 pub CreatePipelineState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC, riid: *const ::windows_core::GUID, pppipelinestate: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3548}
3549#[repr(transparent)]
3550#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3551pub struct ID3D12Device3(::windows_core::IUnknown);
3552impl ID3D12Device3 {
3553 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
3554 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
3555 }
3556 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
3557 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
3558 }
3559 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
3560 where
3561 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
3562 {
3563 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
3564 }
3565 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
3566 where
3567 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
3568 {
3569 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
3570 }
3571 pub unsafe fn GetNodeCount(&self) -> u32 {
3572 (::windows_core::Interface::vtable(self).base__.base__.base__.GetNodeCount)(::windows_core::Interface::as_raw(self))
3573 }
3574 pub unsafe fn CreateCommandQueue<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows_core::Result<T>
3575 where
3576 T: ::windows_core::ComInterface,
3577 {
3578 let mut result__ = ::std::ptr::null_mut();
3579 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3580 }
3581 pub unsafe fn CreateCommandAllocator<T>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result<T>
3582 where
3583 T: ::windows_core::ComInterface,
3584 {
3585 let mut result__ = ::std::ptr::null_mut();
3586 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3587 }
3588 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
3589 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
3590 pub unsafe fn CreateGraphicsPipelineState<T>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
3591 where
3592 T: ::windows_core::ComInterface,
3593 {
3594 let mut result__ = ::std::ptr::null_mut();
3595 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3596 }
3597 pub unsafe fn CreateComputePipelineState<T>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
3598 where
3599 T: ::windows_core::ComInterface,
3600 {
3601 let mut result__ = ::std::ptr::null_mut();
3602 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3603 }
3604 pub unsafe fn CreateCommandList<P0, P1, T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result<T>
3605 where
3606 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
3607 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
3608 T: ::windows_core::ComInterface,
3609 {
3610 let mut result__ = ::std::ptr::null_mut();
3611 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3612 }
3613 pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> {
3614 (::windows_core::Interface::vtable(self).base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok()
3615 }
3616 pub unsafe fn CreateDescriptorHeap<T>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows_core::Result<T>
3617 where
3618 T: ::windows_core::ComInterface,
3619 {
3620 let mut result__ = ::std::ptr::null_mut();
3621 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3622 }
3623 pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
3624 (::windows_core::Interface::vtable(self).base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype)
3625 }
3626 pub unsafe fn CreateRootSignature<T>(&self, nodemask: u32, pblobwithrootsignature: &[u8]) -> ::windows_core::Result<T>
3627 where
3628 T: ::windows_core::ComInterface,
3629 {
3630 let mut result__ = ::std::ptr::null_mut();
3631 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3632 }
3633 pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
3634 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
3635 }
3636 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3637 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3638 pub unsafe fn CreateShaderResourceView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_SHADER_RESOURCE_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
3639 where
3640 P0: ::windows_core::IntoParam<ID3D12Resource>,
3641 {
3642 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateShaderResourceView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
3643 }
3644 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3645 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3646 pub unsafe fn CreateUnorderedAccessView<P0, P1>(&self, presource: P0, pcounterresource: P1, pdesc: ::core::option::Option<*const D3D12_UNORDERED_ACCESS_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
3647 where
3648 P0: ::windows_core::IntoParam<ID3D12Resource>,
3649 P1: ::windows_core::IntoParam<ID3D12Resource>,
3650 {
3651 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateUnorderedAccessView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
3652 }
3653 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3654 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3655 pub unsafe fn CreateRenderTargetView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_RENDER_TARGET_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
3656 where
3657 P0: ::windows_core::IntoParam<ID3D12Resource>,
3658 {
3659 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateRenderTargetView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
3660 }
3661 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3662 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3663 pub unsafe fn CreateDepthStencilView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_DEPTH_STENCIL_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
3664 where
3665 P0: ::windows_core::IntoParam<ID3D12Resource>,
3666 {
3667 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateDepthStencilView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
3668 }
3669 pub unsafe fn CreateSampler(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
3670 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSampler)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(destdescriptor))
3671 }
3672 pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: ::core::option::Option<*const u32>, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: ::core::option::Option<*const u32>, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
3673 (::windows_core::Interface::vtable(self).base__.base__.base__.CopyDescriptors)(::windows_core::Interface::as_raw(self), numdestdescriptorranges, pdestdescriptorrangestarts, ::core::mem::transmute(pdestdescriptorrangesizes.unwrap_or(::std::ptr::null())), numsrcdescriptorranges, psrcdescriptorrangestarts, ::core::mem::transmute(psrcdescriptorrangesizes.unwrap_or(::std::ptr::null())), descriptorheapstype)
3674 }
3675 pub unsafe fn CopyDescriptorsSimple(&self, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
3676 (::windows_core::Interface::vtable(self).base__.base__.base__.CopyDescriptorsSimple)(::windows_core::Interface::as_raw(self), numdescriptors, ::core::mem::transmute(destdescriptorrangestart), ::core::mem::transmute(srcdescriptorrangestart), descriptorheapstype)
3677 }
3678 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3679 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3680 pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, presourcedescs: &[D3D12_RESOURCE_DESC]) -> D3D12_RESOURCE_ALLOCATION_INFO {
3681 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
3682 (::windows_core::Interface::vtable(self).base__.base__.base__.GetResourceAllocationInfo)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, presourcedescs.len().try_into().unwrap(), ::core::mem::transmute(presourcedescs.as_ptr()));
3683 result__
3684 }
3685 pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
3686 let mut result__: D3D12_HEAP_PROPERTIES = ::core::mem::zeroed();
3687 (::windows_core::Interface::vtable(self).base__.base__.base__.GetCustomHeapProperties)(::windows_core::Interface::as_raw(self), &mut result__, nodemask, heaptype);
3688 result__
3689 }
3690 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3691 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3692 pub unsafe fn CreateCommittedResource<T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3693 where
3694 T: ::windows_core::ComInterface,
3695 {
3696 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommittedResource)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3697 }
3698 pub unsafe fn CreateHeap<T>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3699 where
3700 T: ::windows_core::ComInterface,
3701 {
3702 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3703 }
3704 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3705 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3706 pub unsafe fn CreatePlacedResource<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3707 where
3708 P0: ::windows_core::IntoParam<ID3D12Heap>,
3709 T: ::windows_core::ComInterface,
3710 {
3711 (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePlacedResource)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3712 }
3713 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3714 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3715 pub unsafe fn CreateReservedResource<T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3716 where
3717 T: ::windows_core::ComInterface,
3718 {
3719 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateReservedResource)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3720 }
3721 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
3722 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
3723 pub unsafe fn CreateSharedHandle<P0, P1>(&self, pobject: P0, pattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, access: u32, name: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
3724 where
3725 P0: ::windows_core::IntoParam<ID3D12DeviceChild>,
3726 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
3727 {
3728 let mut result__ = ::std::mem::zeroed();
3729 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__)
3730 }
3731 #[doc = "Required features: `\"Win32_Foundation\"`"]
3732 #[cfg(feature = "Win32_Foundation")]
3733 pub unsafe fn OpenSharedHandle<P0, T>(&self, nthandle: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3734 where
3735 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
3736 T: ::windows_core::ComInterface,
3737 {
3738 (::windows_core::Interface::vtable(self).base__.base__.base__.OpenSharedHandle)(::windows_core::Interface::as_raw(self), nthandle.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3739 }
3740 #[doc = "Required features: `\"Win32_Foundation\"`"]
3741 #[cfg(feature = "Win32_Foundation")]
3742 pub unsafe fn OpenSharedHandleByName<P0>(&self, name: P0, access: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
3743 where
3744 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
3745 {
3746 let mut result__ = ::std::mem::zeroed();
3747 (::windows_core::Interface::vtable(self).base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__)
3748 }
3749 pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
3750 (::windows_core::Interface::vtable(self).base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
3751 }
3752 pub unsafe fn Evict(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
3753 (::windows_core::Interface::vtable(self).base__.base__.base__.Evict)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
3754 }
3755 pub unsafe fn CreateFence<T>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows_core::Result<T>
3756 where
3757 T: ::windows_core::ComInterface,
3758 {
3759 let mut result__ = ::std::ptr::null_mut();
3760 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3761 }
3762 pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> {
3763 (::windows_core::Interface::vtable(self).base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok()
3764 }
3765 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3766 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3767 pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
3768 (::windows_core::Interface::vtable(self).base__.base__.base__.GetCopyableFootprints)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
3769 }
3770 pub unsafe fn CreateQueryHeap<T>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3771 where
3772 T: ::windows_core::ComInterface,
3773 {
3774 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateQueryHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3775 }
3776 #[doc = "Required features: `\"Win32_Foundation\"`"]
3777 #[cfg(feature = "Win32_Foundation")]
3778 pub unsafe fn SetStablePowerState<P0>(&self, enable: P0) -> ::windows_core::Result<()>
3779 where
3780 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3781 {
3782 (::windows_core::Interface::vtable(self).base__.base__.base__.SetStablePowerState)(::windows_core::Interface::as_raw(self), enable.into_param().abi()).ok()
3783 }
3784 pub unsafe fn CreateCommandSignature<P0, T>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
3785 where
3786 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
3787 T: ::windows_core::ComInterface,
3788 {
3789 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandSignature)(::windows_core::Interface::as_raw(self), pdesc, prootsignature.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
3790 }
3791 pub unsafe fn GetResourceTiling<P0>(&self, ptiledresource: P0, pnumtilesforentireresource: ::core::option::Option<*mut u32>, ppackedmipdesc: ::core::option::Option<*mut D3D12_PACKED_MIP_INFO>, pstandardtileshapefornonpackedmips: ::core::option::Option<*mut D3D12_TILE_SHAPE>, pnumsubresourcetilings: ::core::option::Option<*mut u32>, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)
3792 where
3793 P0: ::windows_core::IntoParam<ID3D12Resource>,
3794 {
3795 (::windows_core::Interface::vtable(self).base__.base__.base__.GetResourceTiling)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ::core::mem::transmute(pnumtilesforentireresource.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppackedmipdesc.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstandardtileshapefornonpackedmips.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumsubresourcetilings.unwrap_or(::std::ptr::null_mut())), firstsubresourcetilingtoget, psubresourcetilingsfornonpackedmips)
3796 }
3797 #[doc = "Required features: `\"Win32_Foundation\"`"]
3798 #[cfg(feature = "Win32_Foundation")]
3799 pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
3800 let mut result__: super::super::Foundation::LUID = ::core::mem::zeroed();
3801 (::windows_core::Interface::vtable(self).base__.base__.base__.GetAdapterLuid)(::windows_core::Interface::as_raw(self), &mut result__);
3802 result__
3803 }
3804 pub unsafe fn CreatePipelineLibrary<T>(&self, plibraryblob: &[u8]) -> ::windows_core::Result<T>
3805 where
3806 T: ::windows_core::ComInterface,
3807 {
3808 let mut result__ = ::std::ptr::null_mut();
3809 (::windows_core::Interface::vtable(self).base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3810 }
3811 #[doc = "Required features: `\"Win32_Foundation\"`"]
3812 #[cfg(feature = "Win32_Foundation")]
3813 pub unsafe fn SetEventOnMultipleFenceCompletion<P0>(&self, ppfences: *const ::core::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()>
3814 where
3815 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
3816 {
3817 (::windows_core::Interface::vtable(self).base__.base__.SetEventOnMultipleFenceCompletion)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppfences), pfencevalues, numfences, flags, hevent.into_param().abi()).ok()
3818 }
3819 pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::core::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows_core::Result<()> {
3820 (::windows_core::Interface::vtable(self).base__.base__.SetResidencyPriority)(::windows_core::Interface::as_raw(self), numobjects, ::core::mem::transmute(ppobjects), ppriorities).ok()
3821 }
3822 pub unsafe fn CreatePipelineState<T>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows_core::Result<T>
3823 where
3824 T: ::windows_core::ComInterface,
3825 {
3826 let mut result__ = ::std::ptr::null_mut();
3827 (::windows_core::Interface::vtable(self).base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3828 }
3829 pub unsafe fn OpenExistingHeapFromAddress<T>(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result<T>
3830 where
3831 T: ::windows_core::ComInterface,
3832 {
3833 let mut result__ = ::std::ptr::null_mut();
3834 (::windows_core::Interface::vtable(self).OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3835 }
3836 #[doc = "Required features: `\"Win32_Foundation\"`"]
3837 #[cfg(feature = "Win32_Foundation")]
3838 pub unsafe fn OpenExistingHeapFromFileMapping<P0, T>(&self, hfilemapping: P0) -> ::windows_core::Result<T>
3839 where
3840 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
3841 T: ::windows_core::ComInterface,
3842 {
3843 let mut result__ = ::std::ptr::null_mut();
3844 (::windows_core::Interface::vtable(self).OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3845 }
3846 pub unsafe fn EnqueueMakeResident<P0>(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option<ID3D12Pageable>], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()>
3847 where
3848 P0: ::windows_core::IntoParam<ID3D12Fence>,
3849 {
3850 (::windows_core::Interface::vtable(self).EnqueueMakeResident)(::windows_core::Interface::as_raw(self), flags, ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr()), pfencetosignal.into_param().abi(), fencevaluetosignal).ok()
3851 }
3852}
3853::windows_core::imp::interface_hierarchy!(ID3D12Device3, ::windows_core::IUnknown, ID3D12Object, ID3D12Device, ID3D12Device1, ID3D12Device2);
3854unsafe impl ::core::marker::Send for ID3D12Device3 {}
3855unsafe impl ::core::marker::Sync for ID3D12Device3 {}
3856unsafe impl ::windows_core::Interface for ID3D12Device3 {
3857 type Vtable = ID3D12Device3_Vtbl;
3858}
3859unsafe impl ::windows_core::ComInterface for ID3D12Device3 {
3860 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x81dadc15_2bad_4392_93c5_101345c4aa98);
3861}
3862#[repr(C)]
3863#[doc(hidden)]
3864pub struct ID3D12Device3_Vtbl {
3865 pub base__: ID3D12Device2_Vtbl,
3866 pub OpenExistingHeapFromAddress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, paddress: *const ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppvheap: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3867 #[cfg(feature = "Win32_Foundation")]
3868 pub OpenExistingHeapFromFileMapping: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hfilemapping: super::super::Foundation::HANDLE, riid: *const ::windows_core::GUID, ppvheap: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3869 #[cfg(not(feature = "Win32_Foundation"))]
3870 OpenExistingHeapFromFileMapping: usize,
3871 pub EnqueueMakeResident: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, flags: D3D12_RESIDENCY_FLAGS, numobjects: u32, ppobjects: *const *mut ::core::ffi::c_void, pfencetosignal: *mut ::core::ffi::c_void, fencevaluetosignal: u64) -> ::windows_core::HRESULT,
3872}
3873#[repr(transparent)]
3874#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3875pub struct ID3D12Device4(::windows_core::IUnknown);
3876impl ID3D12Device4 {
3877 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
3878 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
3879 }
3880 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
3881 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
3882 }
3883 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
3884 where
3885 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
3886 {
3887 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
3888 }
3889 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
3890 where
3891 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
3892 {
3893 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
3894 }
3895 pub unsafe fn GetNodeCount(&self) -> u32 {
3896 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetNodeCount)(::windows_core::Interface::as_raw(self))
3897 }
3898 pub unsafe fn CreateCommandQueue<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows_core::Result<T>
3899 where
3900 T: ::windows_core::ComInterface,
3901 {
3902 let mut result__ = ::std::ptr::null_mut();
3903 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3904 }
3905 pub unsafe fn CreateCommandAllocator<T>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result<T>
3906 where
3907 T: ::windows_core::ComInterface,
3908 {
3909 let mut result__ = ::std::ptr::null_mut();
3910 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3911 }
3912 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
3913 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
3914 pub unsafe fn CreateGraphicsPipelineState<T>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
3915 where
3916 T: ::windows_core::ComInterface,
3917 {
3918 let mut result__ = ::std::ptr::null_mut();
3919 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3920 }
3921 pub unsafe fn CreateComputePipelineState<T>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
3922 where
3923 T: ::windows_core::ComInterface,
3924 {
3925 let mut result__ = ::std::ptr::null_mut();
3926 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3927 }
3928 pub unsafe fn CreateCommandList<P0, P1, T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result<T>
3929 where
3930 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
3931 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
3932 T: ::windows_core::ComInterface,
3933 {
3934 let mut result__ = ::std::ptr::null_mut();
3935 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3936 }
3937 pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> {
3938 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok()
3939 }
3940 pub unsafe fn CreateDescriptorHeap<T>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows_core::Result<T>
3941 where
3942 T: ::windows_core::ComInterface,
3943 {
3944 let mut result__ = ::std::ptr::null_mut();
3945 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3946 }
3947 pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
3948 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype)
3949 }
3950 pub unsafe fn CreateRootSignature<T>(&self, nodemask: u32, pblobwithrootsignature: &[u8]) -> ::windows_core::Result<T>
3951 where
3952 T: ::windows_core::ComInterface,
3953 {
3954 let mut result__ = ::std::ptr::null_mut();
3955 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3956 }
3957 pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
3958 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
3959 }
3960 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3961 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3962 pub unsafe fn CreateShaderResourceView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_SHADER_RESOURCE_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
3963 where
3964 P0: ::windows_core::IntoParam<ID3D12Resource>,
3965 {
3966 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateShaderResourceView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
3967 }
3968 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3969 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3970 pub unsafe fn CreateUnorderedAccessView<P0, P1>(&self, presource: P0, pcounterresource: P1, pdesc: ::core::option::Option<*const D3D12_UNORDERED_ACCESS_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
3971 where
3972 P0: ::windows_core::IntoParam<ID3D12Resource>,
3973 P1: ::windows_core::IntoParam<ID3D12Resource>,
3974 {
3975 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateUnorderedAccessView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
3976 }
3977 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3978 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3979 pub unsafe fn CreateRenderTargetView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_RENDER_TARGET_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
3980 where
3981 P0: ::windows_core::IntoParam<ID3D12Resource>,
3982 {
3983 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateRenderTargetView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
3984 }
3985 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
3986 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
3987 pub unsafe fn CreateDepthStencilView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_DEPTH_STENCIL_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
3988 where
3989 P0: ::windows_core::IntoParam<ID3D12Resource>,
3990 {
3991 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateDepthStencilView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
3992 }
3993 pub unsafe fn CreateSampler(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
3994 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSampler)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(destdescriptor))
3995 }
3996 pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: ::core::option::Option<*const u32>, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: ::core::option::Option<*const u32>, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
3997 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CopyDescriptors)(::windows_core::Interface::as_raw(self), numdestdescriptorranges, pdestdescriptorrangestarts, ::core::mem::transmute(pdestdescriptorrangesizes.unwrap_or(::std::ptr::null())), numsrcdescriptorranges, psrcdescriptorrangestarts, ::core::mem::transmute(psrcdescriptorrangesizes.unwrap_or(::std::ptr::null())), descriptorheapstype)
3998 }
3999 pub unsafe fn CopyDescriptorsSimple(&self, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
4000 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CopyDescriptorsSimple)(::windows_core::Interface::as_raw(self), numdescriptors, ::core::mem::transmute(destdescriptorrangestart), ::core::mem::transmute(srcdescriptorrangestart), descriptorheapstype)
4001 }
4002 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4003 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4004 pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, presourcedescs: &[D3D12_RESOURCE_DESC]) -> D3D12_RESOURCE_ALLOCATION_INFO {
4005 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
4006 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetResourceAllocationInfo)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, presourcedescs.len().try_into().unwrap(), ::core::mem::transmute(presourcedescs.as_ptr()));
4007 result__
4008 }
4009 pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
4010 let mut result__: D3D12_HEAP_PROPERTIES = ::core::mem::zeroed();
4011 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCustomHeapProperties)(::windows_core::Interface::as_raw(self), &mut result__, nodemask, heaptype);
4012 result__
4013 }
4014 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4015 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4016 pub unsafe fn CreateCommittedResource<T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4017 where
4018 T: ::windows_core::ComInterface,
4019 {
4020 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommittedResource)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4021 }
4022 pub unsafe fn CreateHeap<T>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4023 where
4024 T: ::windows_core::ComInterface,
4025 {
4026 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4027 }
4028 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4029 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4030 pub unsafe fn CreatePlacedResource<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4031 where
4032 P0: ::windows_core::IntoParam<ID3D12Heap>,
4033 T: ::windows_core::ComInterface,
4034 {
4035 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePlacedResource)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4036 }
4037 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4038 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4039 pub unsafe fn CreateReservedResource<T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4040 where
4041 T: ::windows_core::ComInterface,
4042 {
4043 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateReservedResource)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4044 }
4045 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
4046 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4047 pub unsafe fn CreateSharedHandle<P0, P1>(&self, pobject: P0, pattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, access: u32, name: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
4048 where
4049 P0: ::windows_core::IntoParam<ID3D12DeviceChild>,
4050 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
4051 {
4052 let mut result__ = ::std::mem::zeroed();
4053 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__)
4054 }
4055 #[doc = "Required features: `\"Win32_Foundation\"`"]
4056 #[cfg(feature = "Win32_Foundation")]
4057 pub unsafe fn OpenSharedHandle<P0, T>(&self, nthandle: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4058 where
4059 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
4060 T: ::windows_core::ComInterface,
4061 {
4062 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OpenSharedHandle)(::windows_core::Interface::as_raw(self), nthandle.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4063 }
4064 #[doc = "Required features: `\"Win32_Foundation\"`"]
4065 #[cfg(feature = "Win32_Foundation")]
4066 pub unsafe fn OpenSharedHandleByName<P0>(&self, name: P0, access: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
4067 where
4068 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
4069 {
4070 let mut result__ = ::std::mem::zeroed();
4071 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__)
4072 }
4073 pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
4074 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
4075 }
4076 pub unsafe fn Evict(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
4077 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Evict)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
4078 }
4079 pub unsafe fn CreateFence<T>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows_core::Result<T>
4080 where
4081 T: ::windows_core::ComInterface,
4082 {
4083 let mut result__ = ::std::ptr::null_mut();
4084 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4085 }
4086 pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> {
4087 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok()
4088 }
4089 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4090 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4091 pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
4092 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetCopyableFootprints)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
4093 }
4094 pub unsafe fn CreateQueryHeap<T>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4095 where
4096 T: ::windows_core::ComInterface,
4097 {
4098 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateQueryHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4099 }
4100 #[doc = "Required features: `\"Win32_Foundation\"`"]
4101 #[cfg(feature = "Win32_Foundation")]
4102 pub unsafe fn SetStablePowerState<P0>(&self, enable: P0) -> ::windows_core::Result<()>
4103 where
4104 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
4105 {
4106 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetStablePowerState)(::windows_core::Interface::as_raw(self), enable.into_param().abi()).ok()
4107 }
4108 pub unsafe fn CreateCommandSignature<P0, T>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4109 where
4110 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
4111 T: ::windows_core::ComInterface,
4112 {
4113 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandSignature)(::windows_core::Interface::as_raw(self), pdesc, prootsignature.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4114 }
4115 pub unsafe fn GetResourceTiling<P0>(&self, ptiledresource: P0, pnumtilesforentireresource: ::core::option::Option<*mut u32>, ppackedmipdesc: ::core::option::Option<*mut D3D12_PACKED_MIP_INFO>, pstandardtileshapefornonpackedmips: ::core::option::Option<*mut D3D12_TILE_SHAPE>, pnumsubresourcetilings: ::core::option::Option<*mut u32>, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)
4116 where
4117 P0: ::windows_core::IntoParam<ID3D12Resource>,
4118 {
4119 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetResourceTiling)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ::core::mem::transmute(pnumtilesforentireresource.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppackedmipdesc.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstandardtileshapefornonpackedmips.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumsubresourcetilings.unwrap_or(::std::ptr::null_mut())), firstsubresourcetilingtoget, psubresourcetilingsfornonpackedmips)
4120 }
4121 #[doc = "Required features: `\"Win32_Foundation\"`"]
4122 #[cfg(feature = "Win32_Foundation")]
4123 pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
4124 let mut result__: super::super::Foundation::LUID = ::core::mem::zeroed();
4125 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetAdapterLuid)(::windows_core::Interface::as_raw(self), &mut result__);
4126 result__
4127 }
4128 pub unsafe fn CreatePipelineLibrary<T>(&self, plibraryblob: &[u8]) -> ::windows_core::Result<T>
4129 where
4130 T: ::windows_core::ComInterface,
4131 {
4132 let mut result__ = ::std::ptr::null_mut();
4133 (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4134 }
4135 #[doc = "Required features: `\"Win32_Foundation\"`"]
4136 #[cfg(feature = "Win32_Foundation")]
4137 pub unsafe fn SetEventOnMultipleFenceCompletion<P0>(&self, ppfences: *const ::core::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()>
4138 where
4139 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
4140 {
4141 (::windows_core::Interface::vtable(self).base__.base__.base__.SetEventOnMultipleFenceCompletion)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppfences), pfencevalues, numfences, flags, hevent.into_param().abi()).ok()
4142 }
4143 pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::core::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows_core::Result<()> {
4144 (::windows_core::Interface::vtable(self).base__.base__.base__.SetResidencyPriority)(::windows_core::Interface::as_raw(self), numobjects, ::core::mem::transmute(ppobjects), ppriorities).ok()
4145 }
4146 pub unsafe fn CreatePipelineState<T>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows_core::Result<T>
4147 where
4148 T: ::windows_core::ComInterface,
4149 {
4150 let mut result__ = ::std::ptr::null_mut();
4151 (::windows_core::Interface::vtable(self).base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4152 }
4153 pub unsafe fn OpenExistingHeapFromAddress<T>(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result<T>
4154 where
4155 T: ::windows_core::ComInterface,
4156 {
4157 let mut result__ = ::std::ptr::null_mut();
4158 (::windows_core::Interface::vtable(self).base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4159 }
4160 #[doc = "Required features: `\"Win32_Foundation\"`"]
4161 #[cfg(feature = "Win32_Foundation")]
4162 pub unsafe fn OpenExistingHeapFromFileMapping<P0, T>(&self, hfilemapping: P0) -> ::windows_core::Result<T>
4163 where
4164 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
4165 T: ::windows_core::ComInterface,
4166 {
4167 let mut result__ = ::std::ptr::null_mut();
4168 (::windows_core::Interface::vtable(self).base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4169 }
4170 pub unsafe fn EnqueueMakeResident<P0>(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option<ID3D12Pageable>], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()>
4171 where
4172 P0: ::windows_core::IntoParam<ID3D12Fence>,
4173 {
4174 (::windows_core::Interface::vtable(self).base__.EnqueueMakeResident)(::windows_core::Interface::as_raw(self), flags, ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr()), pfencetosignal.into_param().abi(), fencevaluetosignal).ok()
4175 }
4176 pub unsafe fn CreateCommandList1<T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows_core::Result<T>
4177 where
4178 T: ::windows_core::ComInterface,
4179 {
4180 let mut result__ = ::std::ptr::null_mut();
4181 (::windows_core::Interface::vtable(self).CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4182 }
4183 pub unsafe fn CreateProtectedResourceSession<T>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result<T>
4184 where
4185 T: ::windows_core::ComInterface,
4186 {
4187 let mut result__ = ::std::ptr::null_mut();
4188 (::windows_core::Interface::vtable(self).CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4189 }
4190 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4191 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4192 pub unsafe fn CreateCommittedResource1<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4193 where
4194 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
4195 T: ::windows_core::ComInterface,
4196 {
4197 (::windows_core::Interface::vtable(self).CreateCommittedResource1)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4198 }
4199 pub unsafe fn CreateHeap1<P0, T>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4200 where
4201 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
4202 T: ::windows_core::ComInterface,
4203 {
4204 (::windows_core::Interface::vtable(self).CreateHeap1)(::windows_core::Interface::as_raw(self), pdesc, pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4205 }
4206 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4207 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4208 pub unsafe fn CreateReservedResource1<P0, T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4209 where
4210 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
4211 T: ::windows_core::ComInterface,
4212 {
4213 (::windows_core::Interface::vtable(self).CreateReservedResource1)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4214 }
4215 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4216 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4217 pub unsafe fn GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO {
4218 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
4219 (::windows_core::Interface::vtable(self).GetResourceAllocationInfo1)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, numresourcedescs, presourcedescs, ::core::mem::transmute(presourceallocationinfo1.unwrap_or(::std::ptr::null_mut())));
4220 result__
4221 }
4222}
4223::windows_core::imp::interface_hierarchy!(ID3D12Device4, ::windows_core::IUnknown, ID3D12Object, ID3D12Device, ID3D12Device1, ID3D12Device2, ID3D12Device3);
4224unsafe impl ::core::marker::Send for ID3D12Device4 {}
4225unsafe impl ::core::marker::Sync for ID3D12Device4 {}
4226unsafe impl ::windows_core::Interface for ID3D12Device4 {
4227 type Vtable = ID3D12Device4_Vtbl;
4228}
4229unsafe impl ::windows_core::ComInterface for ID3D12Device4 {
4230 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xe865df17_a9ee_46f9_a463_3098315aa2e5);
4231}
4232#[repr(C)]
4233#[doc(hidden)]
4234pub struct ID3D12Device4_Vtbl {
4235 pub base__: ID3D12Device3_Vtbl,
4236 pub CreateCommandList1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS, riid: *const ::windows_core::GUID, ppcommandlist: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4237 pub CreateProtectedResourceSession: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC, riid: *const ::windows_core::GUID, ppsession: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4238 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4239 pub CreateCommittedResource1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: *mut ::core::ffi::c_void, riidresource: *const ::windows_core::GUID, ppvresource: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4240 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
4241 CreateCommittedResource1: usize,
4242 pub CreateHeap1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppvheap: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4243 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4244 pub CreateReservedResource1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppvresource: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4245 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
4246 CreateReservedResource1: usize,
4247 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4248 pub GetResourceAllocationInfo1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1),
4249 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
4250 GetResourceAllocationInfo1: usize,
4251}
4252#[repr(transparent)]
4253#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4254pub struct ID3D12Device5(::windows_core::IUnknown);
4255impl ID3D12Device5 {
4256 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
4257 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
4258 }
4259 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
4260 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
4261 }
4262 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
4263 where
4264 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
4265 {
4266 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
4267 }
4268 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
4269 where
4270 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
4271 {
4272 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
4273 }
4274 pub unsafe fn GetNodeCount(&self) -> u32 {
4275 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetNodeCount)(::windows_core::Interface::as_raw(self))
4276 }
4277 pub unsafe fn CreateCommandQueue<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows_core::Result<T>
4278 where
4279 T: ::windows_core::ComInterface,
4280 {
4281 let mut result__ = ::std::ptr::null_mut();
4282 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4283 }
4284 pub unsafe fn CreateCommandAllocator<T>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result<T>
4285 where
4286 T: ::windows_core::ComInterface,
4287 {
4288 let mut result__ = ::std::ptr::null_mut();
4289 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4290 }
4291 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
4292 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4293 pub unsafe fn CreateGraphicsPipelineState<T>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
4294 where
4295 T: ::windows_core::ComInterface,
4296 {
4297 let mut result__ = ::std::ptr::null_mut();
4298 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4299 }
4300 pub unsafe fn CreateComputePipelineState<T>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
4301 where
4302 T: ::windows_core::ComInterface,
4303 {
4304 let mut result__ = ::std::ptr::null_mut();
4305 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4306 }
4307 pub unsafe fn CreateCommandList<P0, P1, T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result<T>
4308 where
4309 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
4310 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
4311 T: ::windows_core::ComInterface,
4312 {
4313 let mut result__ = ::std::ptr::null_mut();
4314 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4315 }
4316 pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> {
4317 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok()
4318 }
4319 pub unsafe fn CreateDescriptorHeap<T>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows_core::Result<T>
4320 where
4321 T: ::windows_core::ComInterface,
4322 {
4323 let mut result__ = ::std::ptr::null_mut();
4324 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4325 }
4326 pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
4327 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype)
4328 }
4329 pub unsafe fn CreateRootSignature<T>(&self, nodemask: u32, pblobwithrootsignature: &[u8]) -> ::windows_core::Result<T>
4330 where
4331 T: ::windows_core::ComInterface,
4332 {
4333 let mut result__ = ::std::ptr::null_mut();
4334 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4335 }
4336 pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
4337 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
4338 }
4339 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4340 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4341 pub unsafe fn CreateShaderResourceView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_SHADER_RESOURCE_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
4342 where
4343 P0: ::windows_core::IntoParam<ID3D12Resource>,
4344 {
4345 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateShaderResourceView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
4346 }
4347 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4348 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4349 pub unsafe fn CreateUnorderedAccessView<P0, P1>(&self, presource: P0, pcounterresource: P1, pdesc: ::core::option::Option<*const D3D12_UNORDERED_ACCESS_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
4350 where
4351 P0: ::windows_core::IntoParam<ID3D12Resource>,
4352 P1: ::windows_core::IntoParam<ID3D12Resource>,
4353 {
4354 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateUnorderedAccessView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
4355 }
4356 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4357 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4358 pub unsafe fn CreateRenderTargetView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_RENDER_TARGET_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
4359 where
4360 P0: ::windows_core::IntoParam<ID3D12Resource>,
4361 {
4362 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateRenderTargetView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
4363 }
4364 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4365 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4366 pub unsafe fn CreateDepthStencilView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_DEPTH_STENCIL_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
4367 where
4368 P0: ::windows_core::IntoParam<ID3D12Resource>,
4369 {
4370 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateDepthStencilView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
4371 }
4372 pub unsafe fn CreateSampler(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
4373 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateSampler)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(destdescriptor))
4374 }
4375 pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: ::core::option::Option<*const u32>, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: ::core::option::Option<*const u32>, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
4376 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CopyDescriptors)(::windows_core::Interface::as_raw(self), numdestdescriptorranges, pdestdescriptorrangestarts, ::core::mem::transmute(pdestdescriptorrangesizes.unwrap_or(::std::ptr::null())), numsrcdescriptorranges, psrcdescriptorrangestarts, ::core::mem::transmute(psrcdescriptorrangesizes.unwrap_or(::std::ptr::null())), descriptorheapstype)
4377 }
4378 pub unsafe fn CopyDescriptorsSimple(&self, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
4379 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CopyDescriptorsSimple)(::windows_core::Interface::as_raw(self), numdescriptors, ::core::mem::transmute(destdescriptorrangestart), ::core::mem::transmute(srcdescriptorrangestart), descriptorheapstype)
4380 }
4381 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4382 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4383 pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, presourcedescs: &[D3D12_RESOURCE_DESC]) -> D3D12_RESOURCE_ALLOCATION_INFO {
4384 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
4385 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetResourceAllocationInfo)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, presourcedescs.len().try_into().unwrap(), ::core::mem::transmute(presourcedescs.as_ptr()));
4386 result__
4387 }
4388 pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
4389 let mut result__: D3D12_HEAP_PROPERTIES = ::core::mem::zeroed();
4390 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCustomHeapProperties)(::windows_core::Interface::as_raw(self), &mut result__, nodemask, heaptype);
4391 result__
4392 }
4393 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4394 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4395 pub unsafe fn CreateCommittedResource<T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4396 where
4397 T: ::windows_core::ComInterface,
4398 {
4399 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommittedResource)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4400 }
4401 pub unsafe fn CreateHeap<T>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4402 where
4403 T: ::windows_core::ComInterface,
4404 {
4405 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4406 }
4407 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4408 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4409 pub unsafe fn CreatePlacedResource<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4410 where
4411 P0: ::windows_core::IntoParam<ID3D12Heap>,
4412 T: ::windows_core::ComInterface,
4413 {
4414 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePlacedResource)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4415 }
4416 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4417 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4418 pub unsafe fn CreateReservedResource<T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4419 where
4420 T: ::windows_core::ComInterface,
4421 {
4422 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateReservedResource)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4423 }
4424 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
4425 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4426 pub unsafe fn CreateSharedHandle<P0, P1>(&self, pobject: P0, pattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, access: u32, name: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
4427 where
4428 P0: ::windows_core::IntoParam<ID3D12DeviceChild>,
4429 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
4430 {
4431 let mut result__ = ::std::mem::zeroed();
4432 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__)
4433 }
4434 #[doc = "Required features: `\"Win32_Foundation\"`"]
4435 #[cfg(feature = "Win32_Foundation")]
4436 pub unsafe fn OpenSharedHandle<P0, T>(&self, nthandle: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4437 where
4438 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
4439 T: ::windows_core::ComInterface,
4440 {
4441 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.OpenSharedHandle)(::windows_core::Interface::as_raw(self), nthandle.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4442 }
4443 #[doc = "Required features: `\"Win32_Foundation\"`"]
4444 #[cfg(feature = "Win32_Foundation")]
4445 pub unsafe fn OpenSharedHandleByName<P0>(&self, name: P0, access: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
4446 where
4447 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
4448 {
4449 let mut result__ = ::std::mem::zeroed();
4450 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__)
4451 }
4452 pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
4453 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
4454 }
4455 pub unsafe fn Evict(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
4456 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Evict)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
4457 }
4458 pub unsafe fn CreateFence<T>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows_core::Result<T>
4459 where
4460 T: ::windows_core::ComInterface,
4461 {
4462 let mut result__ = ::std::ptr::null_mut();
4463 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4464 }
4465 pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> {
4466 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok()
4467 }
4468 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4469 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4470 pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
4471 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetCopyableFootprints)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
4472 }
4473 pub unsafe fn CreateQueryHeap<T>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4474 where
4475 T: ::windows_core::ComInterface,
4476 {
4477 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateQueryHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4478 }
4479 #[doc = "Required features: `\"Win32_Foundation\"`"]
4480 #[cfg(feature = "Win32_Foundation")]
4481 pub unsafe fn SetStablePowerState<P0>(&self, enable: P0) -> ::windows_core::Result<()>
4482 where
4483 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
4484 {
4485 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetStablePowerState)(::windows_core::Interface::as_raw(self), enable.into_param().abi()).ok()
4486 }
4487 pub unsafe fn CreateCommandSignature<P0, T>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4488 where
4489 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
4490 T: ::windows_core::ComInterface,
4491 {
4492 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommandSignature)(::windows_core::Interface::as_raw(self), pdesc, prootsignature.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4493 }
4494 pub unsafe fn GetResourceTiling<P0>(&self, ptiledresource: P0, pnumtilesforentireresource: ::core::option::Option<*mut u32>, ppackedmipdesc: ::core::option::Option<*mut D3D12_PACKED_MIP_INFO>, pstandardtileshapefornonpackedmips: ::core::option::Option<*mut D3D12_TILE_SHAPE>, pnumsubresourcetilings: ::core::option::Option<*mut u32>, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)
4495 where
4496 P0: ::windows_core::IntoParam<ID3D12Resource>,
4497 {
4498 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetResourceTiling)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ::core::mem::transmute(pnumtilesforentireresource.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppackedmipdesc.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstandardtileshapefornonpackedmips.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumsubresourcetilings.unwrap_or(::std::ptr::null_mut())), firstsubresourcetilingtoget, psubresourcetilingsfornonpackedmips)
4499 }
4500 #[doc = "Required features: `\"Win32_Foundation\"`"]
4501 #[cfg(feature = "Win32_Foundation")]
4502 pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
4503 let mut result__: super::super::Foundation::LUID = ::core::mem::zeroed();
4504 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetAdapterLuid)(::windows_core::Interface::as_raw(self), &mut result__);
4505 result__
4506 }
4507 pub unsafe fn CreatePipelineLibrary<T>(&self, plibraryblob: &[u8]) -> ::windows_core::Result<T>
4508 where
4509 T: ::windows_core::ComInterface,
4510 {
4511 let mut result__ = ::std::ptr::null_mut();
4512 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4513 }
4514 #[doc = "Required features: `\"Win32_Foundation\"`"]
4515 #[cfg(feature = "Win32_Foundation")]
4516 pub unsafe fn SetEventOnMultipleFenceCompletion<P0>(&self, ppfences: *const ::core::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()>
4517 where
4518 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
4519 {
4520 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetEventOnMultipleFenceCompletion)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppfences), pfencevalues, numfences, flags, hevent.into_param().abi()).ok()
4521 }
4522 pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::core::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows_core::Result<()> {
4523 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetResidencyPriority)(::windows_core::Interface::as_raw(self), numobjects, ::core::mem::transmute(ppobjects), ppriorities).ok()
4524 }
4525 pub unsafe fn CreatePipelineState<T>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows_core::Result<T>
4526 where
4527 T: ::windows_core::ComInterface,
4528 {
4529 let mut result__ = ::std::ptr::null_mut();
4530 (::windows_core::Interface::vtable(self).base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4531 }
4532 pub unsafe fn OpenExistingHeapFromAddress<T>(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result<T>
4533 where
4534 T: ::windows_core::ComInterface,
4535 {
4536 let mut result__ = ::std::ptr::null_mut();
4537 (::windows_core::Interface::vtable(self).base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4538 }
4539 #[doc = "Required features: `\"Win32_Foundation\"`"]
4540 #[cfg(feature = "Win32_Foundation")]
4541 pub unsafe fn OpenExistingHeapFromFileMapping<P0, T>(&self, hfilemapping: P0) -> ::windows_core::Result<T>
4542 where
4543 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
4544 T: ::windows_core::ComInterface,
4545 {
4546 let mut result__ = ::std::ptr::null_mut();
4547 (::windows_core::Interface::vtable(self).base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4548 }
4549 pub unsafe fn EnqueueMakeResident<P0>(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option<ID3D12Pageable>], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()>
4550 where
4551 P0: ::windows_core::IntoParam<ID3D12Fence>,
4552 {
4553 (::windows_core::Interface::vtable(self).base__.base__.EnqueueMakeResident)(::windows_core::Interface::as_raw(self), flags, ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr()), pfencetosignal.into_param().abi(), fencevaluetosignal).ok()
4554 }
4555 pub unsafe fn CreateCommandList1<T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows_core::Result<T>
4556 where
4557 T: ::windows_core::ComInterface,
4558 {
4559 let mut result__ = ::std::ptr::null_mut();
4560 (::windows_core::Interface::vtable(self).base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4561 }
4562 pub unsafe fn CreateProtectedResourceSession<T>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result<T>
4563 where
4564 T: ::windows_core::ComInterface,
4565 {
4566 let mut result__ = ::std::ptr::null_mut();
4567 (::windows_core::Interface::vtable(self).base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4568 }
4569 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4570 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4571 pub unsafe fn CreateCommittedResource1<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4572 where
4573 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
4574 T: ::windows_core::ComInterface,
4575 {
4576 (::windows_core::Interface::vtable(self).base__.CreateCommittedResource1)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4577 }
4578 pub unsafe fn CreateHeap1<P0, T>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4579 where
4580 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
4581 T: ::windows_core::ComInterface,
4582 {
4583 (::windows_core::Interface::vtable(self).base__.CreateHeap1)(::windows_core::Interface::as_raw(self), pdesc, pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4584 }
4585 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4586 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4587 pub unsafe fn CreateReservedResource1<P0, T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4588 where
4589 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
4590 T: ::windows_core::ComInterface,
4591 {
4592 (::windows_core::Interface::vtable(self).base__.CreateReservedResource1)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4593 }
4594 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4595 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4596 pub unsafe fn GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO {
4597 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
4598 (::windows_core::Interface::vtable(self).base__.GetResourceAllocationInfo1)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, numresourcedescs, presourcedescs, ::core::mem::transmute(presourceallocationinfo1.unwrap_or(::std::ptr::null_mut())));
4599 result__
4600 }
4601 pub unsafe fn CreateLifetimeTracker<P0, T>(&self, powner: P0) -> ::windows_core::Result<T>
4602 where
4603 P0: ::windows_core::IntoParam<ID3D12LifetimeOwner>,
4604 T: ::windows_core::ComInterface,
4605 {
4606 let mut result__ = ::std::ptr::null_mut();
4607 (::windows_core::Interface::vtable(self).CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4608 }
4609 pub unsafe fn RemoveDevice(&self) {
4610 (::windows_core::Interface::vtable(self).RemoveDevice)(::windows_core::Interface::as_raw(self))
4611 }
4612 pub unsafe fn EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: ::core::option::Option<*mut D3D12_META_COMMAND_DESC>) -> ::windows_core::Result<()> {
4613 (::windows_core::Interface::vtable(self).EnumerateMetaCommands)(::windows_core::Interface::as_raw(self), pnummetacommands, ::core::mem::transmute(pdescs.unwrap_or(::std::ptr::null_mut()))).ok()
4614 }
4615 pub unsafe fn EnumerateMetaCommandParameters(&self, commandid: *const ::windows_core::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: ::core::option::Option<*mut u32>, pparametercount: *mut u32, pparameterdescs: ::core::option::Option<*mut D3D12_META_COMMAND_PARAMETER_DESC>) -> ::windows_core::Result<()> {
4616 (::windows_core::Interface::vtable(self).EnumerateMetaCommandParameters)(::windows_core::Interface::as_raw(self), commandid, stage, ::core::mem::transmute(ptotalstructuresizeinbytes.unwrap_or(::std::ptr::null_mut())), pparametercount, ::core::mem::transmute(pparameterdescs.unwrap_or(::std::ptr::null_mut()))).ok()
4617 }
4618 pub unsafe fn CreateMetaCommand<T>(&self, commandid: *const ::windows_core::GUID, nodemask: u32, pcreationparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, creationparametersdatasizeinbytes: usize) -> ::windows_core::Result<T>
4619 where
4620 T: ::windows_core::ComInterface,
4621 {
4622 let mut result__ = ::std::ptr::null_mut();
4623 (::windows_core::Interface::vtable(self).CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4624 }
4625 pub unsafe fn CreateStateObject<T>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result<T>
4626 where
4627 T: ::windows_core::ComInterface,
4628 {
4629 let mut result__ = ::std::ptr::null_mut();
4630 (::windows_core::Interface::vtable(self).CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4631 }
4632 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4633 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4634 pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) {
4635 (::windows_core::Interface::vtable(self).GetRaytracingAccelerationStructurePrebuildInfo)(::windows_core::Interface::as_raw(self), pdesc, pinfo)
4636 }
4637 pub unsafe fn CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
4638 (::windows_core::Interface::vtable(self).CheckDriverMatchingIdentifier)(::windows_core::Interface::as_raw(self), serializeddatatype, pidentifiertocheck)
4639 }
4640}
4641::windows_core::imp::interface_hierarchy!(ID3D12Device5, ::windows_core::IUnknown, ID3D12Object, ID3D12Device, ID3D12Device1, ID3D12Device2, ID3D12Device3, ID3D12Device4);
4642unsafe impl ::core::marker::Send for ID3D12Device5 {}
4643unsafe impl ::core::marker::Sync for ID3D12Device5 {}
4644unsafe impl ::windows_core::Interface for ID3D12Device5 {
4645 type Vtable = ID3D12Device5_Vtbl;
4646}
4647unsafe impl ::windows_core::ComInterface for ID3D12Device5 {
4648 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x8b4f173b_2fea_4b80_8f58_4307191ab95d);
4649}
4650#[repr(C)]
4651#[doc(hidden)]
4652pub struct ID3D12Device5_Vtbl {
4653 pub base__: ID3D12Device4_Vtbl,
4654 pub CreateLifetimeTracker: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, powner: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppvtracker: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4655 pub RemoveDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
4656 pub EnumerateMetaCommands: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pnummetacommands: *mut u32, pdescs: *mut D3D12_META_COMMAND_DESC) -> ::windows_core::HRESULT,
4657 pub EnumerateMetaCommandParameters: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, commandid: *const ::windows_core::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: *mut u32, pparametercount: *mut u32, pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC) -> ::windows_core::HRESULT,
4658 pub CreateMetaCommand: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, commandid: *const ::windows_core::GUID, nodemask: u32, pcreationparametersdata: *const ::core::ffi::c_void, creationparametersdatasizeinbytes: usize, riid: *const ::windows_core::GUID, ppmetacommand: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4659 pub CreateStateObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_STATE_OBJECT_DESC, riid: *const ::windows_core::GUID, ppstateobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4660 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4661 pub GetRaytracingAccelerationStructurePrebuildInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO),
4662 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
4663 GetRaytracingAccelerationStructurePrebuildInfo: usize,
4664 pub CheckDriverMatchingIdentifier: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS,
4665}
4666#[repr(transparent)]
4667#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4668pub struct ID3D12Device6(::windows_core::IUnknown);
4669impl ID3D12Device6 {
4670 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
4671 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
4672 }
4673 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
4674 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
4675 }
4676 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
4677 where
4678 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
4679 {
4680 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
4681 }
4682 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
4683 where
4684 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
4685 {
4686 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
4687 }
4688 pub unsafe fn GetNodeCount(&self) -> u32 {
4689 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetNodeCount)(::windows_core::Interface::as_raw(self))
4690 }
4691 pub unsafe fn CreateCommandQueue<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows_core::Result<T>
4692 where
4693 T: ::windows_core::ComInterface,
4694 {
4695 let mut result__ = ::std::ptr::null_mut();
4696 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4697 }
4698 pub unsafe fn CreateCommandAllocator<T>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result<T>
4699 where
4700 T: ::windows_core::ComInterface,
4701 {
4702 let mut result__ = ::std::ptr::null_mut();
4703 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4704 }
4705 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
4706 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
4707 pub unsafe fn CreateGraphicsPipelineState<T>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
4708 where
4709 T: ::windows_core::ComInterface,
4710 {
4711 let mut result__ = ::std::ptr::null_mut();
4712 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4713 }
4714 pub unsafe fn CreateComputePipelineState<T>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
4715 where
4716 T: ::windows_core::ComInterface,
4717 {
4718 let mut result__ = ::std::ptr::null_mut();
4719 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4720 }
4721 pub unsafe fn CreateCommandList<P0, P1, T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result<T>
4722 where
4723 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
4724 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
4725 T: ::windows_core::ComInterface,
4726 {
4727 let mut result__ = ::std::ptr::null_mut();
4728 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4729 }
4730 pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> {
4731 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok()
4732 }
4733 pub unsafe fn CreateDescriptorHeap<T>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows_core::Result<T>
4734 where
4735 T: ::windows_core::ComInterface,
4736 {
4737 let mut result__ = ::std::ptr::null_mut();
4738 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4739 }
4740 pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
4741 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype)
4742 }
4743 pub unsafe fn CreateRootSignature<T>(&self, nodemask: u32, pblobwithrootsignature: &[u8]) -> ::windows_core::Result<T>
4744 where
4745 T: ::windows_core::ComInterface,
4746 {
4747 let mut result__ = ::std::ptr::null_mut();
4748 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4749 }
4750 pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
4751 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
4752 }
4753 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4754 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4755 pub unsafe fn CreateShaderResourceView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_SHADER_RESOURCE_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
4756 where
4757 P0: ::windows_core::IntoParam<ID3D12Resource>,
4758 {
4759 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateShaderResourceView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
4760 }
4761 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4762 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4763 pub unsafe fn CreateUnorderedAccessView<P0, P1>(&self, presource: P0, pcounterresource: P1, pdesc: ::core::option::Option<*const D3D12_UNORDERED_ACCESS_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
4764 where
4765 P0: ::windows_core::IntoParam<ID3D12Resource>,
4766 P1: ::windows_core::IntoParam<ID3D12Resource>,
4767 {
4768 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateUnorderedAccessView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
4769 }
4770 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4771 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4772 pub unsafe fn CreateRenderTargetView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_RENDER_TARGET_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
4773 where
4774 P0: ::windows_core::IntoParam<ID3D12Resource>,
4775 {
4776 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateRenderTargetView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
4777 }
4778 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4779 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4780 pub unsafe fn CreateDepthStencilView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_DEPTH_STENCIL_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
4781 where
4782 P0: ::windows_core::IntoParam<ID3D12Resource>,
4783 {
4784 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateDepthStencilView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
4785 }
4786 pub unsafe fn CreateSampler(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
4787 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateSampler)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(destdescriptor))
4788 }
4789 pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: ::core::option::Option<*const u32>, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: ::core::option::Option<*const u32>, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
4790 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CopyDescriptors)(::windows_core::Interface::as_raw(self), numdestdescriptorranges, pdestdescriptorrangestarts, ::core::mem::transmute(pdestdescriptorrangesizes.unwrap_or(::std::ptr::null())), numsrcdescriptorranges, psrcdescriptorrangestarts, ::core::mem::transmute(psrcdescriptorrangesizes.unwrap_or(::std::ptr::null())), descriptorheapstype)
4791 }
4792 pub unsafe fn CopyDescriptorsSimple(&self, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
4793 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CopyDescriptorsSimple)(::windows_core::Interface::as_raw(self), numdescriptors, ::core::mem::transmute(destdescriptorrangestart), ::core::mem::transmute(srcdescriptorrangestart), descriptorheapstype)
4794 }
4795 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4796 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4797 pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, presourcedescs: &[D3D12_RESOURCE_DESC]) -> D3D12_RESOURCE_ALLOCATION_INFO {
4798 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
4799 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetResourceAllocationInfo)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, presourcedescs.len().try_into().unwrap(), ::core::mem::transmute(presourcedescs.as_ptr()));
4800 result__
4801 }
4802 pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
4803 let mut result__: D3D12_HEAP_PROPERTIES = ::core::mem::zeroed();
4804 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCustomHeapProperties)(::windows_core::Interface::as_raw(self), &mut result__, nodemask, heaptype);
4805 result__
4806 }
4807 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4808 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4809 pub unsafe fn CreateCommittedResource<T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4810 where
4811 T: ::windows_core::ComInterface,
4812 {
4813 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommittedResource)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4814 }
4815 pub unsafe fn CreateHeap<T>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4816 where
4817 T: ::windows_core::ComInterface,
4818 {
4819 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4820 }
4821 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4822 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4823 pub unsafe fn CreatePlacedResource<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4824 where
4825 P0: ::windows_core::IntoParam<ID3D12Heap>,
4826 T: ::windows_core::ComInterface,
4827 {
4828 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreatePlacedResource)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4829 }
4830 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4831 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4832 pub unsafe fn CreateReservedResource<T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4833 where
4834 T: ::windows_core::ComInterface,
4835 {
4836 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateReservedResource)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4837 }
4838 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
4839 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
4840 pub unsafe fn CreateSharedHandle<P0, P1>(&self, pobject: P0, pattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, access: u32, name: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
4841 where
4842 P0: ::windows_core::IntoParam<ID3D12DeviceChild>,
4843 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
4844 {
4845 let mut result__ = ::std::mem::zeroed();
4846 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__)
4847 }
4848 #[doc = "Required features: `\"Win32_Foundation\"`"]
4849 #[cfg(feature = "Win32_Foundation")]
4850 pub unsafe fn OpenSharedHandle<P0, T>(&self, nthandle: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4851 where
4852 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
4853 T: ::windows_core::ComInterface,
4854 {
4855 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.OpenSharedHandle)(::windows_core::Interface::as_raw(self), nthandle.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4856 }
4857 #[doc = "Required features: `\"Win32_Foundation\"`"]
4858 #[cfg(feature = "Win32_Foundation")]
4859 pub unsafe fn OpenSharedHandleByName<P0>(&self, name: P0, access: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
4860 where
4861 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
4862 {
4863 let mut result__ = ::std::mem::zeroed();
4864 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__)
4865 }
4866 pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
4867 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
4868 }
4869 pub unsafe fn Evict(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
4870 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.Evict)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
4871 }
4872 pub unsafe fn CreateFence<T>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows_core::Result<T>
4873 where
4874 T: ::windows_core::ComInterface,
4875 {
4876 let mut result__ = ::std::ptr::null_mut();
4877 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4878 }
4879 pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> {
4880 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok()
4881 }
4882 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4883 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4884 pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
4885 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetCopyableFootprints)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
4886 }
4887 pub unsafe fn CreateQueryHeap<T>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4888 where
4889 T: ::windows_core::ComInterface,
4890 {
4891 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateQueryHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4892 }
4893 #[doc = "Required features: `\"Win32_Foundation\"`"]
4894 #[cfg(feature = "Win32_Foundation")]
4895 pub unsafe fn SetStablePowerState<P0>(&self, enable: P0) -> ::windows_core::Result<()>
4896 where
4897 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
4898 {
4899 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetStablePowerState)(::windows_core::Interface::as_raw(self), enable.into_param().abi()).ok()
4900 }
4901 pub unsafe fn CreateCommandSignature<P0, T>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4902 where
4903 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
4904 T: ::windows_core::ComInterface,
4905 {
4906 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreateCommandSignature)(::windows_core::Interface::as_raw(self), pdesc, prootsignature.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4907 }
4908 pub unsafe fn GetResourceTiling<P0>(&self, ptiledresource: P0, pnumtilesforentireresource: ::core::option::Option<*mut u32>, ppackedmipdesc: ::core::option::Option<*mut D3D12_PACKED_MIP_INFO>, pstandardtileshapefornonpackedmips: ::core::option::Option<*mut D3D12_TILE_SHAPE>, pnumsubresourcetilings: ::core::option::Option<*mut u32>, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)
4909 where
4910 P0: ::windows_core::IntoParam<ID3D12Resource>,
4911 {
4912 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetResourceTiling)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ::core::mem::transmute(pnumtilesforentireresource.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppackedmipdesc.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstandardtileshapefornonpackedmips.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumsubresourcetilings.unwrap_or(::std::ptr::null_mut())), firstsubresourcetilingtoget, psubresourcetilingsfornonpackedmips)
4913 }
4914 #[doc = "Required features: `\"Win32_Foundation\"`"]
4915 #[cfg(feature = "Win32_Foundation")]
4916 pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
4917 let mut result__: super::super::Foundation::LUID = ::core::mem::zeroed();
4918 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetAdapterLuid)(::windows_core::Interface::as_raw(self), &mut result__);
4919 result__
4920 }
4921 pub unsafe fn CreatePipelineLibrary<T>(&self, plibraryblob: &[u8]) -> ::windows_core::Result<T>
4922 where
4923 T: ::windows_core::ComInterface,
4924 {
4925 let mut result__ = ::std::ptr::null_mut();
4926 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4927 }
4928 #[doc = "Required features: `\"Win32_Foundation\"`"]
4929 #[cfg(feature = "Win32_Foundation")]
4930 pub unsafe fn SetEventOnMultipleFenceCompletion<P0>(&self, ppfences: *const ::core::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()>
4931 where
4932 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
4933 {
4934 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetEventOnMultipleFenceCompletion)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppfences), pfencevalues, numfences, flags, hevent.into_param().abi()).ok()
4935 }
4936 pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::core::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows_core::Result<()> {
4937 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetResidencyPriority)(::windows_core::Interface::as_raw(self), numobjects, ::core::mem::transmute(ppobjects), ppriorities).ok()
4938 }
4939 pub unsafe fn CreatePipelineState<T>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows_core::Result<T>
4940 where
4941 T: ::windows_core::ComInterface,
4942 {
4943 let mut result__ = ::std::ptr::null_mut();
4944 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4945 }
4946 pub unsafe fn OpenExistingHeapFromAddress<T>(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result<T>
4947 where
4948 T: ::windows_core::ComInterface,
4949 {
4950 let mut result__ = ::std::ptr::null_mut();
4951 (::windows_core::Interface::vtable(self).base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4952 }
4953 #[doc = "Required features: `\"Win32_Foundation\"`"]
4954 #[cfg(feature = "Win32_Foundation")]
4955 pub unsafe fn OpenExistingHeapFromFileMapping<P0, T>(&self, hfilemapping: P0) -> ::windows_core::Result<T>
4956 where
4957 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
4958 T: ::windows_core::ComInterface,
4959 {
4960 let mut result__ = ::std::ptr::null_mut();
4961 (::windows_core::Interface::vtable(self).base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4962 }
4963 pub unsafe fn EnqueueMakeResident<P0>(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option<ID3D12Pageable>], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()>
4964 where
4965 P0: ::windows_core::IntoParam<ID3D12Fence>,
4966 {
4967 (::windows_core::Interface::vtable(self).base__.base__.base__.EnqueueMakeResident)(::windows_core::Interface::as_raw(self), flags, ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr()), pfencetosignal.into_param().abi(), fencevaluetosignal).ok()
4968 }
4969 pub unsafe fn CreateCommandList1<T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows_core::Result<T>
4970 where
4971 T: ::windows_core::ComInterface,
4972 {
4973 let mut result__ = ::std::ptr::null_mut();
4974 (::windows_core::Interface::vtable(self).base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4975 }
4976 pub unsafe fn CreateProtectedResourceSession<T>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result<T>
4977 where
4978 T: ::windows_core::ComInterface,
4979 {
4980 let mut result__ = ::std::ptr::null_mut();
4981 (::windows_core::Interface::vtable(self).base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4982 }
4983 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
4984 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
4985 pub unsafe fn CreateCommittedResource1<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4986 where
4987 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
4988 T: ::windows_core::ComInterface,
4989 {
4990 (::windows_core::Interface::vtable(self).base__.base__.CreateCommittedResource1)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4991 }
4992 pub unsafe fn CreateHeap1<P0, T>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
4993 where
4994 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
4995 T: ::windows_core::ComInterface,
4996 {
4997 (::windows_core::Interface::vtable(self).base__.base__.CreateHeap1)(::windows_core::Interface::as_raw(self), pdesc, pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
4998 }
4999 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5000 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5001 pub unsafe fn CreateReservedResource1<P0, T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5002 where
5003 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
5004 T: ::windows_core::ComInterface,
5005 {
5006 (::windows_core::Interface::vtable(self).base__.base__.CreateReservedResource1)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5007 }
5008 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5009 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5010 pub unsafe fn GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO {
5011 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
5012 (::windows_core::Interface::vtable(self).base__.base__.GetResourceAllocationInfo1)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, numresourcedescs, presourcedescs, ::core::mem::transmute(presourceallocationinfo1.unwrap_or(::std::ptr::null_mut())));
5013 result__
5014 }
5015 pub unsafe fn CreateLifetimeTracker<P0, T>(&self, powner: P0) -> ::windows_core::Result<T>
5016 where
5017 P0: ::windows_core::IntoParam<ID3D12LifetimeOwner>,
5018 T: ::windows_core::ComInterface,
5019 {
5020 let mut result__ = ::std::ptr::null_mut();
5021 (::windows_core::Interface::vtable(self).base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5022 }
5023 pub unsafe fn RemoveDevice(&self) {
5024 (::windows_core::Interface::vtable(self).base__.RemoveDevice)(::windows_core::Interface::as_raw(self))
5025 }
5026 pub unsafe fn EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: ::core::option::Option<*mut D3D12_META_COMMAND_DESC>) -> ::windows_core::Result<()> {
5027 (::windows_core::Interface::vtable(self).base__.EnumerateMetaCommands)(::windows_core::Interface::as_raw(self), pnummetacommands, ::core::mem::transmute(pdescs.unwrap_or(::std::ptr::null_mut()))).ok()
5028 }
5029 pub unsafe fn EnumerateMetaCommandParameters(&self, commandid: *const ::windows_core::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: ::core::option::Option<*mut u32>, pparametercount: *mut u32, pparameterdescs: ::core::option::Option<*mut D3D12_META_COMMAND_PARAMETER_DESC>) -> ::windows_core::Result<()> {
5030 (::windows_core::Interface::vtable(self).base__.EnumerateMetaCommandParameters)(::windows_core::Interface::as_raw(self), commandid, stage, ::core::mem::transmute(ptotalstructuresizeinbytes.unwrap_or(::std::ptr::null_mut())), pparametercount, ::core::mem::transmute(pparameterdescs.unwrap_or(::std::ptr::null_mut()))).ok()
5031 }
5032 pub unsafe fn CreateMetaCommand<T>(&self, commandid: *const ::windows_core::GUID, nodemask: u32, pcreationparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, creationparametersdatasizeinbytes: usize) -> ::windows_core::Result<T>
5033 where
5034 T: ::windows_core::ComInterface,
5035 {
5036 let mut result__ = ::std::ptr::null_mut();
5037 (::windows_core::Interface::vtable(self).base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5038 }
5039 pub unsafe fn CreateStateObject<T>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result<T>
5040 where
5041 T: ::windows_core::ComInterface,
5042 {
5043 let mut result__ = ::std::ptr::null_mut();
5044 (::windows_core::Interface::vtable(self).base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5045 }
5046 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5047 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5048 pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) {
5049 (::windows_core::Interface::vtable(self).base__.GetRaytracingAccelerationStructurePrebuildInfo)(::windows_core::Interface::as_raw(self), pdesc, pinfo)
5050 }
5051 pub unsafe fn CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
5052 (::windows_core::Interface::vtable(self).base__.CheckDriverMatchingIdentifier)(::windows_core::Interface::as_raw(self), serializeddatatype, pidentifiertocheck)
5053 }
5054 #[doc = "Required features: `\"Win32_Foundation\"`"]
5055 #[cfg(feature = "Win32_Foundation")]
5056 pub unsafe fn SetBackgroundProcessingMode<P0>(&self, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: P0, pbfurthermeasurementsdesired: ::core::option::Option<*mut super::super::Foundation::BOOL>) -> ::windows_core::Result<()>
5057 where
5058 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
5059 {
5060 (::windows_core::Interface::vtable(self).SetBackgroundProcessingMode)(::windows_core::Interface::as_raw(self), mode, measurementsaction, heventtosignaluponcompletion.into_param().abi(), ::core::mem::transmute(pbfurthermeasurementsdesired.unwrap_or(::std::ptr::null_mut()))).ok()
5061 }
5062}
5063::windows_core::imp::interface_hierarchy!(ID3D12Device6, ::windows_core::IUnknown, ID3D12Object, ID3D12Device, ID3D12Device1, ID3D12Device2, ID3D12Device3, ID3D12Device4, ID3D12Device5);
5064unsafe impl ::core::marker::Send for ID3D12Device6 {}
5065unsafe impl ::core::marker::Sync for ID3D12Device6 {}
5066unsafe impl ::windows_core::Interface for ID3D12Device6 {
5067 type Vtable = ID3D12Device6_Vtbl;
5068}
5069unsafe impl ::windows_core::ComInterface for ID3D12Device6 {
5070 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xc70b221b_40e4_4a17_89af_025a0727a6dc);
5071}
5072#[repr(C)]
5073#[doc(hidden)]
5074pub struct ID3D12Device6_Vtbl {
5075 pub base__: ID3D12Device5_Vtbl,
5076 #[cfg(feature = "Win32_Foundation")]
5077 pub SetBackgroundProcessingMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: super::super::Foundation::HANDLE, pbfurthermeasurementsdesired: *mut super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
5078 #[cfg(not(feature = "Win32_Foundation"))]
5079 SetBackgroundProcessingMode: usize,
5080}
5081#[repr(transparent)]
5082#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
5083pub struct ID3D12Device7(::windows_core::IUnknown);
5084impl ID3D12Device7 {
5085 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
5086 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
5087 }
5088 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
5089 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
5090 }
5091 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
5092 where
5093 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
5094 {
5095 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
5096 }
5097 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
5098 where
5099 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5100 {
5101 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
5102 }
5103 pub unsafe fn GetNodeCount(&self) -> u32 {
5104 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetNodeCount)(::windows_core::Interface::as_raw(self))
5105 }
5106 pub unsafe fn CreateCommandQueue<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows_core::Result<T>
5107 where
5108 T: ::windows_core::ComInterface,
5109 {
5110 let mut result__ = ::std::ptr::null_mut();
5111 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5112 }
5113 pub unsafe fn CreateCommandAllocator<T>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result<T>
5114 where
5115 T: ::windows_core::ComInterface,
5116 {
5117 let mut result__ = ::std::ptr::null_mut();
5118 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5119 }
5120 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
5121 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
5122 pub unsafe fn CreateGraphicsPipelineState<T>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
5123 where
5124 T: ::windows_core::ComInterface,
5125 {
5126 let mut result__ = ::std::ptr::null_mut();
5127 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5128 }
5129 pub unsafe fn CreateComputePipelineState<T>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
5130 where
5131 T: ::windows_core::ComInterface,
5132 {
5133 let mut result__ = ::std::ptr::null_mut();
5134 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5135 }
5136 pub unsafe fn CreateCommandList<P0, P1, T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result<T>
5137 where
5138 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
5139 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
5140 T: ::windows_core::ComInterface,
5141 {
5142 let mut result__ = ::std::ptr::null_mut();
5143 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5144 }
5145 pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> {
5146 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok()
5147 }
5148 pub unsafe fn CreateDescriptorHeap<T>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows_core::Result<T>
5149 where
5150 T: ::windows_core::ComInterface,
5151 {
5152 let mut result__ = ::std::ptr::null_mut();
5153 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5154 }
5155 pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
5156 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype)
5157 }
5158 pub unsafe fn CreateRootSignature<T>(&self, nodemask: u32, pblobwithrootsignature: &[u8]) -> ::windows_core::Result<T>
5159 where
5160 T: ::windows_core::ComInterface,
5161 {
5162 let mut result__ = ::std::ptr::null_mut();
5163 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5164 }
5165 pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
5166 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
5167 }
5168 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5169 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5170 pub unsafe fn CreateShaderResourceView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_SHADER_RESOURCE_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
5171 where
5172 P0: ::windows_core::IntoParam<ID3D12Resource>,
5173 {
5174 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateShaderResourceView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
5175 }
5176 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5177 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5178 pub unsafe fn CreateUnorderedAccessView<P0, P1>(&self, presource: P0, pcounterresource: P1, pdesc: ::core::option::Option<*const D3D12_UNORDERED_ACCESS_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
5179 where
5180 P0: ::windows_core::IntoParam<ID3D12Resource>,
5181 P1: ::windows_core::IntoParam<ID3D12Resource>,
5182 {
5183 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateUnorderedAccessView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
5184 }
5185 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5186 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5187 pub unsafe fn CreateRenderTargetView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_RENDER_TARGET_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
5188 where
5189 P0: ::windows_core::IntoParam<ID3D12Resource>,
5190 {
5191 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateRenderTargetView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
5192 }
5193 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5194 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5195 pub unsafe fn CreateDepthStencilView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_DEPTH_STENCIL_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
5196 where
5197 P0: ::windows_core::IntoParam<ID3D12Resource>,
5198 {
5199 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateDepthStencilView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
5200 }
5201 pub unsafe fn CreateSampler(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
5202 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateSampler)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(destdescriptor))
5203 }
5204 pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: ::core::option::Option<*const u32>, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: ::core::option::Option<*const u32>, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
5205 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CopyDescriptors)(::windows_core::Interface::as_raw(self), numdestdescriptorranges, pdestdescriptorrangestarts, ::core::mem::transmute(pdestdescriptorrangesizes.unwrap_or(::std::ptr::null())), numsrcdescriptorranges, psrcdescriptorrangestarts, ::core::mem::transmute(psrcdescriptorrangesizes.unwrap_or(::std::ptr::null())), descriptorheapstype)
5206 }
5207 pub unsafe fn CopyDescriptorsSimple(&self, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
5208 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CopyDescriptorsSimple)(::windows_core::Interface::as_raw(self), numdescriptors, ::core::mem::transmute(destdescriptorrangestart), ::core::mem::transmute(srcdescriptorrangestart), descriptorheapstype)
5209 }
5210 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5211 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5212 pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, presourcedescs: &[D3D12_RESOURCE_DESC]) -> D3D12_RESOURCE_ALLOCATION_INFO {
5213 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
5214 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetResourceAllocationInfo)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, presourcedescs.len().try_into().unwrap(), ::core::mem::transmute(presourcedescs.as_ptr()));
5215 result__
5216 }
5217 pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
5218 let mut result__: D3D12_HEAP_PROPERTIES = ::core::mem::zeroed();
5219 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCustomHeapProperties)(::windows_core::Interface::as_raw(self), &mut result__, nodemask, heaptype);
5220 result__
5221 }
5222 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5223 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5224 pub unsafe fn CreateCommittedResource<T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5225 where
5226 T: ::windows_core::ComInterface,
5227 {
5228 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommittedResource)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5229 }
5230 pub unsafe fn CreateHeap<T>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5231 where
5232 T: ::windows_core::ComInterface,
5233 {
5234 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5235 }
5236 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5237 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5238 pub unsafe fn CreatePlacedResource<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5239 where
5240 P0: ::windows_core::IntoParam<ID3D12Heap>,
5241 T: ::windows_core::ComInterface,
5242 {
5243 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreatePlacedResource)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5244 }
5245 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5246 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5247 pub unsafe fn CreateReservedResource<T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5248 where
5249 T: ::windows_core::ComInterface,
5250 {
5251 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateReservedResource)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5252 }
5253 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
5254 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5255 pub unsafe fn CreateSharedHandle<P0, P1>(&self, pobject: P0, pattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, access: u32, name: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
5256 where
5257 P0: ::windows_core::IntoParam<ID3D12DeviceChild>,
5258 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5259 {
5260 let mut result__ = ::std::mem::zeroed();
5261 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__)
5262 }
5263 #[doc = "Required features: `\"Win32_Foundation\"`"]
5264 #[cfg(feature = "Win32_Foundation")]
5265 pub unsafe fn OpenSharedHandle<P0, T>(&self, nthandle: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5266 where
5267 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
5268 T: ::windows_core::ComInterface,
5269 {
5270 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.OpenSharedHandle)(::windows_core::Interface::as_raw(self), nthandle.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5271 }
5272 #[doc = "Required features: `\"Win32_Foundation\"`"]
5273 #[cfg(feature = "Win32_Foundation")]
5274 pub unsafe fn OpenSharedHandleByName<P0>(&self, name: P0, access: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
5275 where
5276 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5277 {
5278 let mut result__ = ::std::mem::zeroed();
5279 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__)
5280 }
5281 pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
5282 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
5283 }
5284 pub unsafe fn Evict(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
5285 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.Evict)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
5286 }
5287 pub unsafe fn CreateFence<T>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows_core::Result<T>
5288 where
5289 T: ::windows_core::ComInterface,
5290 {
5291 let mut result__ = ::std::ptr::null_mut();
5292 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5293 }
5294 pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> {
5295 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok()
5296 }
5297 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5298 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5299 pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
5300 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetCopyableFootprints)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
5301 }
5302 pub unsafe fn CreateQueryHeap<T>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5303 where
5304 T: ::windows_core::ComInterface,
5305 {
5306 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateQueryHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5307 }
5308 #[doc = "Required features: `\"Win32_Foundation\"`"]
5309 #[cfg(feature = "Win32_Foundation")]
5310 pub unsafe fn SetStablePowerState<P0>(&self, enable: P0) -> ::windows_core::Result<()>
5311 where
5312 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
5313 {
5314 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetStablePowerState)(::windows_core::Interface::as_raw(self), enable.into_param().abi()).ok()
5315 }
5316 pub unsafe fn CreateCommandSignature<P0, T>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5317 where
5318 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
5319 T: ::windows_core::ComInterface,
5320 {
5321 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreateCommandSignature)(::windows_core::Interface::as_raw(self), pdesc, prootsignature.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5322 }
5323 pub unsafe fn GetResourceTiling<P0>(&self, ptiledresource: P0, pnumtilesforentireresource: ::core::option::Option<*mut u32>, ppackedmipdesc: ::core::option::Option<*mut D3D12_PACKED_MIP_INFO>, pstandardtileshapefornonpackedmips: ::core::option::Option<*mut D3D12_TILE_SHAPE>, pnumsubresourcetilings: ::core::option::Option<*mut u32>, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)
5324 where
5325 P0: ::windows_core::IntoParam<ID3D12Resource>,
5326 {
5327 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetResourceTiling)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ::core::mem::transmute(pnumtilesforentireresource.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppackedmipdesc.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstandardtileshapefornonpackedmips.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumsubresourcetilings.unwrap_or(::std::ptr::null_mut())), firstsubresourcetilingtoget, psubresourcetilingsfornonpackedmips)
5328 }
5329 #[doc = "Required features: `\"Win32_Foundation\"`"]
5330 #[cfg(feature = "Win32_Foundation")]
5331 pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
5332 let mut result__: super::super::Foundation::LUID = ::core::mem::zeroed();
5333 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetAdapterLuid)(::windows_core::Interface::as_raw(self), &mut result__);
5334 result__
5335 }
5336 pub unsafe fn CreatePipelineLibrary<T>(&self, plibraryblob: &[u8]) -> ::windows_core::Result<T>
5337 where
5338 T: ::windows_core::ComInterface,
5339 {
5340 let mut result__ = ::std::ptr::null_mut();
5341 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5342 }
5343 #[doc = "Required features: `\"Win32_Foundation\"`"]
5344 #[cfg(feature = "Win32_Foundation")]
5345 pub unsafe fn SetEventOnMultipleFenceCompletion<P0>(&self, ppfences: *const ::core::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()>
5346 where
5347 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
5348 {
5349 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetEventOnMultipleFenceCompletion)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppfences), pfencevalues, numfences, flags, hevent.into_param().abi()).ok()
5350 }
5351 pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::core::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows_core::Result<()> {
5352 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetResidencyPriority)(::windows_core::Interface::as_raw(self), numobjects, ::core::mem::transmute(ppobjects), ppriorities).ok()
5353 }
5354 pub unsafe fn CreatePipelineState<T>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows_core::Result<T>
5355 where
5356 T: ::windows_core::ComInterface,
5357 {
5358 let mut result__ = ::std::ptr::null_mut();
5359 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5360 }
5361 pub unsafe fn OpenExistingHeapFromAddress<T>(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result<T>
5362 where
5363 T: ::windows_core::ComInterface,
5364 {
5365 let mut result__ = ::std::ptr::null_mut();
5366 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5367 }
5368 #[doc = "Required features: `\"Win32_Foundation\"`"]
5369 #[cfg(feature = "Win32_Foundation")]
5370 pub unsafe fn OpenExistingHeapFromFileMapping<P0, T>(&self, hfilemapping: P0) -> ::windows_core::Result<T>
5371 where
5372 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
5373 T: ::windows_core::ComInterface,
5374 {
5375 let mut result__ = ::std::ptr::null_mut();
5376 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5377 }
5378 pub unsafe fn EnqueueMakeResident<P0>(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option<ID3D12Pageable>], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()>
5379 where
5380 P0: ::windows_core::IntoParam<ID3D12Fence>,
5381 {
5382 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnqueueMakeResident)(::windows_core::Interface::as_raw(self), flags, ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr()), pfencetosignal.into_param().abi(), fencevaluetosignal).ok()
5383 }
5384 pub unsafe fn CreateCommandList1<T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows_core::Result<T>
5385 where
5386 T: ::windows_core::ComInterface,
5387 {
5388 let mut result__ = ::std::ptr::null_mut();
5389 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5390 }
5391 pub unsafe fn CreateProtectedResourceSession<T>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result<T>
5392 where
5393 T: ::windows_core::ComInterface,
5394 {
5395 let mut result__ = ::std::ptr::null_mut();
5396 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5397 }
5398 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5399 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5400 pub unsafe fn CreateCommittedResource1<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5401 where
5402 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
5403 T: ::windows_core::ComInterface,
5404 {
5405 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateCommittedResource1)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5406 }
5407 pub unsafe fn CreateHeap1<P0, T>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5408 where
5409 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
5410 T: ::windows_core::ComInterface,
5411 {
5412 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateHeap1)(::windows_core::Interface::as_raw(self), pdesc, pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5413 }
5414 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5415 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5416 pub unsafe fn CreateReservedResource1<P0, T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5417 where
5418 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
5419 T: ::windows_core::ComInterface,
5420 {
5421 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateReservedResource1)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5422 }
5423 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5424 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5425 pub unsafe fn GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO {
5426 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
5427 (::windows_core::Interface::vtable(self).base__.base__.base__.GetResourceAllocationInfo1)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, numresourcedescs, presourcedescs, ::core::mem::transmute(presourceallocationinfo1.unwrap_or(::std::ptr::null_mut())));
5428 result__
5429 }
5430 pub unsafe fn CreateLifetimeTracker<P0, T>(&self, powner: P0) -> ::windows_core::Result<T>
5431 where
5432 P0: ::windows_core::IntoParam<ID3D12LifetimeOwner>,
5433 T: ::windows_core::ComInterface,
5434 {
5435 let mut result__ = ::std::ptr::null_mut();
5436 (::windows_core::Interface::vtable(self).base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5437 }
5438 pub unsafe fn RemoveDevice(&self) {
5439 (::windows_core::Interface::vtable(self).base__.base__.RemoveDevice)(::windows_core::Interface::as_raw(self))
5440 }
5441 pub unsafe fn EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: ::core::option::Option<*mut D3D12_META_COMMAND_DESC>) -> ::windows_core::Result<()> {
5442 (::windows_core::Interface::vtable(self).base__.base__.EnumerateMetaCommands)(::windows_core::Interface::as_raw(self), pnummetacommands, ::core::mem::transmute(pdescs.unwrap_or(::std::ptr::null_mut()))).ok()
5443 }
5444 pub unsafe fn EnumerateMetaCommandParameters(&self, commandid: *const ::windows_core::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: ::core::option::Option<*mut u32>, pparametercount: *mut u32, pparameterdescs: ::core::option::Option<*mut D3D12_META_COMMAND_PARAMETER_DESC>) -> ::windows_core::Result<()> {
5445 (::windows_core::Interface::vtable(self).base__.base__.EnumerateMetaCommandParameters)(::windows_core::Interface::as_raw(self), commandid, stage, ::core::mem::transmute(ptotalstructuresizeinbytes.unwrap_or(::std::ptr::null_mut())), pparametercount, ::core::mem::transmute(pparameterdescs.unwrap_or(::std::ptr::null_mut()))).ok()
5446 }
5447 pub unsafe fn CreateMetaCommand<T>(&self, commandid: *const ::windows_core::GUID, nodemask: u32, pcreationparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, creationparametersdatasizeinbytes: usize) -> ::windows_core::Result<T>
5448 where
5449 T: ::windows_core::ComInterface,
5450 {
5451 let mut result__ = ::std::ptr::null_mut();
5452 (::windows_core::Interface::vtable(self).base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5453 }
5454 pub unsafe fn CreateStateObject<T>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result<T>
5455 where
5456 T: ::windows_core::ComInterface,
5457 {
5458 let mut result__ = ::std::ptr::null_mut();
5459 (::windows_core::Interface::vtable(self).base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5460 }
5461 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5462 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5463 pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) {
5464 (::windows_core::Interface::vtable(self).base__.base__.GetRaytracingAccelerationStructurePrebuildInfo)(::windows_core::Interface::as_raw(self), pdesc, pinfo)
5465 }
5466 pub unsafe fn CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
5467 (::windows_core::Interface::vtable(self).base__.base__.CheckDriverMatchingIdentifier)(::windows_core::Interface::as_raw(self), serializeddatatype, pidentifiertocheck)
5468 }
5469 #[doc = "Required features: `\"Win32_Foundation\"`"]
5470 #[cfg(feature = "Win32_Foundation")]
5471 pub unsafe fn SetBackgroundProcessingMode<P0>(&self, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: P0, pbfurthermeasurementsdesired: ::core::option::Option<*mut super::super::Foundation::BOOL>) -> ::windows_core::Result<()>
5472 where
5473 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
5474 {
5475 (::windows_core::Interface::vtable(self).base__.SetBackgroundProcessingMode)(::windows_core::Interface::as_raw(self), mode, measurementsaction, heventtosignaluponcompletion.into_param().abi(), ::core::mem::transmute(pbfurthermeasurementsdesired.unwrap_or(::std::ptr::null_mut()))).ok()
5476 }
5477 pub unsafe fn AddToStateObject<P0, T>(&self, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: P0) -> ::windows_core::Result<T>
5478 where
5479 P0: ::windows_core::IntoParam<ID3D12StateObject>,
5480 T: ::windows_core::ComInterface,
5481 {
5482 let mut result__ = ::std::ptr::null_mut();
5483 (::windows_core::Interface::vtable(self).AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5484 }
5485 pub unsafe fn CreateProtectedResourceSession1<T>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows_core::Result<T>
5486 where
5487 T: ::windows_core::ComInterface,
5488 {
5489 let mut result__ = ::std::ptr::null_mut();
5490 (::windows_core::Interface::vtable(self).CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5491 }
5492}
5493::windows_core::imp::interface_hierarchy!(ID3D12Device7, ::windows_core::IUnknown, ID3D12Object, ID3D12Device, ID3D12Device1, ID3D12Device2, ID3D12Device3, ID3D12Device4, ID3D12Device5, ID3D12Device6);
5494unsafe impl ::core::marker::Send for ID3D12Device7 {}
5495unsafe impl ::core::marker::Sync for ID3D12Device7 {}
5496unsafe impl ::windows_core::Interface for ID3D12Device7 {
5497 type Vtable = ID3D12Device7_Vtbl;
5498}
5499unsafe impl ::windows_core::ComInterface for ID3D12Device7 {
5500 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x5c014b53_68a1_4b9b_8bd1_dd6046b9358b);
5501}
5502#[repr(C)]
5503#[doc(hidden)]
5504pub struct ID3D12Device7_Vtbl {
5505 pub base__: ID3D12Device6_Vtbl,
5506 pub AddToStateObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppnewstateobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
5507 pub CreateProtectedResourceSession1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1, riid: *const ::windows_core::GUID, ppsession: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
5508}
5509#[repr(transparent)]
5510#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
5511pub struct ID3D12Device8(::windows_core::IUnknown);
5512impl ID3D12Device8 {
5513 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
5514 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
5515 }
5516 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
5517 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
5518 }
5519 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
5520 where
5521 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
5522 {
5523 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
5524 }
5525 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
5526 where
5527 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5528 {
5529 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
5530 }
5531 pub unsafe fn GetNodeCount(&self) -> u32 {
5532 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetNodeCount)(::windows_core::Interface::as_raw(self))
5533 }
5534 pub unsafe fn CreateCommandQueue<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows_core::Result<T>
5535 where
5536 T: ::windows_core::ComInterface,
5537 {
5538 let mut result__ = ::std::ptr::null_mut();
5539 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5540 }
5541 pub unsafe fn CreateCommandAllocator<T>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result<T>
5542 where
5543 T: ::windows_core::ComInterface,
5544 {
5545 let mut result__ = ::std::ptr::null_mut();
5546 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5547 }
5548 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
5549 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
5550 pub unsafe fn CreateGraphicsPipelineState<T>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
5551 where
5552 T: ::windows_core::ComInterface,
5553 {
5554 let mut result__ = ::std::ptr::null_mut();
5555 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5556 }
5557 pub unsafe fn CreateComputePipelineState<T>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
5558 where
5559 T: ::windows_core::ComInterface,
5560 {
5561 let mut result__ = ::std::ptr::null_mut();
5562 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5563 }
5564 pub unsafe fn CreateCommandList<P0, P1, T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result<T>
5565 where
5566 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
5567 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
5568 T: ::windows_core::ComInterface,
5569 {
5570 let mut result__ = ::std::ptr::null_mut();
5571 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5572 }
5573 pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> {
5574 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok()
5575 }
5576 pub unsafe fn CreateDescriptorHeap<T>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows_core::Result<T>
5577 where
5578 T: ::windows_core::ComInterface,
5579 {
5580 let mut result__ = ::std::ptr::null_mut();
5581 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5582 }
5583 pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
5584 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype)
5585 }
5586 pub unsafe fn CreateRootSignature<T>(&self, nodemask: u32, pblobwithrootsignature: &[u8]) -> ::windows_core::Result<T>
5587 where
5588 T: ::windows_core::ComInterface,
5589 {
5590 let mut result__ = ::std::ptr::null_mut();
5591 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5592 }
5593 pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
5594 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
5595 }
5596 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5597 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5598 pub unsafe fn CreateShaderResourceView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_SHADER_RESOURCE_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
5599 where
5600 P0: ::windows_core::IntoParam<ID3D12Resource>,
5601 {
5602 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateShaderResourceView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
5603 }
5604 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5605 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5606 pub unsafe fn CreateUnorderedAccessView<P0, P1>(&self, presource: P0, pcounterresource: P1, pdesc: ::core::option::Option<*const D3D12_UNORDERED_ACCESS_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
5607 where
5608 P0: ::windows_core::IntoParam<ID3D12Resource>,
5609 P1: ::windows_core::IntoParam<ID3D12Resource>,
5610 {
5611 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateUnorderedAccessView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
5612 }
5613 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5614 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5615 pub unsafe fn CreateRenderTargetView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_RENDER_TARGET_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
5616 where
5617 P0: ::windows_core::IntoParam<ID3D12Resource>,
5618 {
5619 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateRenderTargetView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
5620 }
5621 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5622 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5623 pub unsafe fn CreateDepthStencilView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_DEPTH_STENCIL_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
5624 where
5625 P0: ::windows_core::IntoParam<ID3D12Resource>,
5626 {
5627 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateDepthStencilView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
5628 }
5629 pub unsafe fn CreateSampler(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
5630 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateSampler)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(destdescriptor))
5631 }
5632 pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: ::core::option::Option<*const u32>, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: ::core::option::Option<*const u32>, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
5633 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CopyDescriptors)(::windows_core::Interface::as_raw(self), numdestdescriptorranges, pdestdescriptorrangestarts, ::core::mem::transmute(pdestdescriptorrangesizes.unwrap_or(::std::ptr::null())), numsrcdescriptorranges, psrcdescriptorrangestarts, ::core::mem::transmute(psrcdescriptorrangesizes.unwrap_or(::std::ptr::null())), descriptorheapstype)
5634 }
5635 pub unsafe fn CopyDescriptorsSimple(&self, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
5636 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CopyDescriptorsSimple)(::windows_core::Interface::as_raw(self), numdescriptors, ::core::mem::transmute(destdescriptorrangestart), ::core::mem::transmute(srcdescriptorrangestart), descriptorheapstype)
5637 }
5638 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5639 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5640 pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, presourcedescs: &[D3D12_RESOURCE_DESC]) -> D3D12_RESOURCE_ALLOCATION_INFO {
5641 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
5642 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetResourceAllocationInfo)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, presourcedescs.len().try_into().unwrap(), ::core::mem::transmute(presourcedescs.as_ptr()));
5643 result__
5644 }
5645 pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
5646 let mut result__: D3D12_HEAP_PROPERTIES = ::core::mem::zeroed();
5647 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCustomHeapProperties)(::windows_core::Interface::as_raw(self), &mut result__, nodemask, heaptype);
5648 result__
5649 }
5650 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5651 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5652 pub unsafe fn CreateCommittedResource<T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5653 where
5654 T: ::windows_core::ComInterface,
5655 {
5656 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCommittedResource)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5657 }
5658 pub unsafe fn CreateHeap<T>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5659 where
5660 T: ::windows_core::ComInterface,
5661 {
5662 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5663 }
5664 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5665 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5666 pub unsafe fn CreatePlacedResource<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5667 where
5668 P0: ::windows_core::IntoParam<ID3D12Heap>,
5669 T: ::windows_core::ComInterface,
5670 {
5671 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreatePlacedResource)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5672 }
5673 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5674 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5675 pub unsafe fn CreateReservedResource<T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5676 where
5677 T: ::windows_core::ComInterface,
5678 {
5679 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateReservedResource)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5680 }
5681 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
5682 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
5683 pub unsafe fn CreateSharedHandle<P0, P1>(&self, pobject: P0, pattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, access: u32, name: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
5684 where
5685 P0: ::windows_core::IntoParam<ID3D12DeviceChild>,
5686 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5687 {
5688 let mut result__ = ::std::mem::zeroed();
5689 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__)
5690 }
5691 #[doc = "Required features: `\"Win32_Foundation\"`"]
5692 #[cfg(feature = "Win32_Foundation")]
5693 pub unsafe fn OpenSharedHandle<P0, T>(&self, nthandle: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5694 where
5695 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
5696 T: ::windows_core::ComInterface,
5697 {
5698 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandle)(::windows_core::Interface::as_raw(self), nthandle.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5699 }
5700 #[doc = "Required features: `\"Win32_Foundation\"`"]
5701 #[cfg(feature = "Win32_Foundation")]
5702 pub unsafe fn OpenSharedHandleByName<P0>(&self, name: P0, access: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
5703 where
5704 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5705 {
5706 let mut result__ = ::std::mem::zeroed();
5707 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__)
5708 }
5709 pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
5710 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
5711 }
5712 pub unsafe fn Evict(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
5713 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.Evict)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
5714 }
5715 pub unsafe fn CreateFence<T>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows_core::Result<T>
5716 where
5717 T: ::windows_core::ComInterface,
5718 {
5719 let mut result__ = ::std::ptr::null_mut();
5720 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5721 }
5722 pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> {
5723 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok()
5724 }
5725 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5726 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5727 pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
5728 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetCopyableFootprints)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
5729 }
5730 pub unsafe fn CreateQueryHeap<T>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5731 where
5732 T: ::windows_core::ComInterface,
5733 {
5734 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateQueryHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5735 }
5736 #[doc = "Required features: `\"Win32_Foundation\"`"]
5737 #[cfg(feature = "Win32_Foundation")]
5738 pub unsafe fn SetStablePowerState<P0>(&self, enable: P0) -> ::windows_core::Result<()>
5739 where
5740 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
5741 {
5742 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetStablePowerState)(::windows_core::Interface::as_raw(self), enable.into_param().abi()).ok()
5743 }
5744 pub unsafe fn CreateCommandSignature<P0, T>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5745 where
5746 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
5747 T: ::windows_core::ComInterface,
5748 {
5749 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandSignature)(::windows_core::Interface::as_raw(self), pdesc, prootsignature.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5750 }
5751 pub unsafe fn GetResourceTiling<P0>(&self, ptiledresource: P0, pnumtilesforentireresource: ::core::option::Option<*mut u32>, ppackedmipdesc: ::core::option::Option<*mut D3D12_PACKED_MIP_INFO>, pstandardtileshapefornonpackedmips: ::core::option::Option<*mut D3D12_TILE_SHAPE>, pnumsubresourcetilings: ::core::option::Option<*mut u32>, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)
5752 where
5753 P0: ::windows_core::IntoParam<ID3D12Resource>,
5754 {
5755 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetResourceTiling)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ::core::mem::transmute(pnumtilesforentireresource.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppackedmipdesc.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstandardtileshapefornonpackedmips.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumsubresourcetilings.unwrap_or(::std::ptr::null_mut())), firstsubresourcetilingtoget, psubresourcetilingsfornonpackedmips)
5756 }
5757 #[doc = "Required features: `\"Win32_Foundation\"`"]
5758 #[cfg(feature = "Win32_Foundation")]
5759 pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
5760 let mut result__: super::super::Foundation::LUID = ::core::mem::zeroed();
5761 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetAdapterLuid)(::windows_core::Interface::as_raw(self), &mut result__);
5762 result__
5763 }
5764 pub unsafe fn CreatePipelineLibrary<T>(&self, plibraryblob: &[u8]) -> ::windows_core::Result<T>
5765 where
5766 T: ::windows_core::ComInterface,
5767 {
5768 let mut result__ = ::std::ptr::null_mut();
5769 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5770 }
5771 #[doc = "Required features: `\"Win32_Foundation\"`"]
5772 #[cfg(feature = "Win32_Foundation")]
5773 pub unsafe fn SetEventOnMultipleFenceCompletion<P0>(&self, ppfences: *const ::core::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()>
5774 where
5775 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
5776 {
5777 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetEventOnMultipleFenceCompletion)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppfences), pfencevalues, numfences, flags, hevent.into_param().abi()).ok()
5778 }
5779 pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::core::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows_core::Result<()> {
5780 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetResidencyPriority)(::windows_core::Interface::as_raw(self), numobjects, ::core::mem::transmute(ppobjects), ppriorities).ok()
5781 }
5782 pub unsafe fn CreatePipelineState<T>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows_core::Result<T>
5783 where
5784 T: ::windows_core::ComInterface,
5785 {
5786 let mut result__ = ::std::ptr::null_mut();
5787 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5788 }
5789 pub unsafe fn OpenExistingHeapFromAddress<T>(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result<T>
5790 where
5791 T: ::windows_core::ComInterface,
5792 {
5793 let mut result__ = ::std::ptr::null_mut();
5794 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5795 }
5796 #[doc = "Required features: `\"Win32_Foundation\"`"]
5797 #[cfg(feature = "Win32_Foundation")]
5798 pub unsafe fn OpenExistingHeapFromFileMapping<P0, T>(&self, hfilemapping: P0) -> ::windows_core::Result<T>
5799 where
5800 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
5801 T: ::windows_core::ComInterface,
5802 {
5803 let mut result__ = ::std::ptr::null_mut();
5804 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5805 }
5806 pub unsafe fn EnqueueMakeResident<P0>(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option<ID3D12Pageable>], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()>
5807 where
5808 P0: ::windows_core::IntoParam<ID3D12Fence>,
5809 {
5810 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EnqueueMakeResident)(::windows_core::Interface::as_raw(self), flags, ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr()), pfencetosignal.into_param().abi(), fencevaluetosignal).ok()
5811 }
5812 pub unsafe fn CreateCommandList1<T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows_core::Result<T>
5813 where
5814 T: ::windows_core::ComInterface,
5815 {
5816 let mut result__ = ::std::ptr::null_mut();
5817 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5818 }
5819 pub unsafe fn CreateProtectedResourceSession<T>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result<T>
5820 where
5821 T: ::windows_core::ComInterface,
5822 {
5823 let mut result__ = ::std::ptr::null_mut();
5824 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5825 }
5826 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5827 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5828 pub unsafe fn CreateCommittedResource1<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5829 where
5830 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
5831 T: ::windows_core::ComInterface,
5832 {
5833 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateCommittedResource1)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5834 }
5835 pub unsafe fn CreateHeap1<P0, T>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5836 where
5837 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
5838 T: ::windows_core::ComInterface,
5839 {
5840 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateHeap1)(::windows_core::Interface::as_raw(self), pdesc, pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5841 }
5842 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5843 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5844 pub unsafe fn CreateReservedResource1<P0, T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5845 where
5846 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
5847 T: ::windows_core::ComInterface,
5848 {
5849 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateReservedResource1)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5850 }
5851 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5852 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5853 pub unsafe fn GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO {
5854 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
5855 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetResourceAllocationInfo1)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, numresourcedescs, presourcedescs, ::core::mem::transmute(presourceallocationinfo1.unwrap_or(::std::ptr::null_mut())));
5856 result__
5857 }
5858 pub unsafe fn CreateLifetimeTracker<P0, T>(&self, powner: P0) -> ::windows_core::Result<T>
5859 where
5860 P0: ::windows_core::IntoParam<ID3D12LifetimeOwner>,
5861 T: ::windows_core::ComInterface,
5862 {
5863 let mut result__ = ::std::ptr::null_mut();
5864 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5865 }
5866 pub unsafe fn RemoveDevice(&self) {
5867 (::windows_core::Interface::vtable(self).base__.base__.base__.RemoveDevice)(::windows_core::Interface::as_raw(self))
5868 }
5869 pub unsafe fn EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: ::core::option::Option<*mut D3D12_META_COMMAND_DESC>) -> ::windows_core::Result<()> {
5870 (::windows_core::Interface::vtable(self).base__.base__.base__.EnumerateMetaCommands)(::windows_core::Interface::as_raw(self), pnummetacommands, ::core::mem::transmute(pdescs.unwrap_or(::std::ptr::null_mut()))).ok()
5871 }
5872 pub unsafe fn EnumerateMetaCommandParameters(&self, commandid: *const ::windows_core::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: ::core::option::Option<*mut u32>, pparametercount: *mut u32, pparameterdescs: ::core::option::Option<*mut D3D12_META_COMMAND_PARAMETER_DESC>) -> ::windows_core::Result<()> {
5873 (::windows_core::Interface::vtable(self).base__.base__.base__.EnumerateMetaCommandParameters)(::windows_core::Interface::as_raw(self), commandid, stage, ::core::mem::transmute(ptotalstructuresizeinbytes.unwrap_or(::std::ptr::null_mut())), pparametercount, ::core::mem::transmute(pparameterdescs.unwrap_or(::std::ptr::null_mut()))).ok()
5874 }
5875 pub unsafe fn CreateMetaCommand<T>(&self, commandid: *const ::windows_core::GUID, nodemask: u32, pcreationparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, creationparametersdatasizeinbytes: usize) -> ::windows_core::Result<T>
5876 where
5877 T: ::windows_core::ComInterface,
5878 {
5879 let mut result__ = ::std::ptr::null_mut();
5880 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5881 }
5882 pub unsafe fn CreateStateObject<T>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result<T>
5883 where
5884 T: ::windows_core::ComInterface,
5885 {
5886 let mut result__ = ::std::ptr::null_mut();
5887 (::windows_core::Interface::vtable(self).base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5888 }
5889 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5890 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5891 pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) {
5892 (::windows_core::Interface::vtable(self).base__.base__.base__.GetRaytracingAccelerationStructurePrebuildInfo)(::windows_core::Interface::as_raw(self), pdesc, pinfo)
5893 }
5894 pub unsafe fn CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
5895 (::windows_core::Interface::vtable(self).base__.base__.base__.CheckDriverMatchingIdentifier)(::windows_core::Interface::as_raw(self), serializeddatatype, pidentifiertocheck)
5896 }
5897 #[doc = "Required features: `\"Win32_Foundation\"`"]
5898 #[cfg(feature = "Win32_Foundation")]
5899 pub unsafe fn SetBackgroundProcessingMode<P0>(&self, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: P0, pbfurthermeasurementsdesired: ::core::option::Option<*mut super::super::Foundation::BOOL>) -> ::windows_core::Result<()>
5900 where
5901 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
5902 {
5903 (::windows_core::Interface::vtable(self).base__.base__.SetBackgroundProcessingMode)(::windows_core::Interface::as_raw(self), mode, measurementsaction, heventtosignaluponcompletion.into_param().abi(), ::core::mem::transmute(pbfurthermeasurementsdesired.unwrap_or(::std::ptr::null_mut()))).ok()
5904 }
5905 pub unsafe fn AddToStateObject<P0, T>(&self, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: P0) -> ::windows_core::Result<T>
5906 where
5907 P0: ::windows_core::IntoParam<ID3D12StateObject>,
5908 T: ::windows_core::ComInterface,
5909 {
5910 let mut result__ = ::std::ptr::null_mut();
5911 (::windows_core::Interface::vtable(self).base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5912 }
5913 pub unsafe fn CreateProtectedResourceSession1<T>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows_core::Result<T>
5914 where
5915 T: ::windows_core::ComInterface,
5916 {
5917 let mut result__ = ::std::ptr::null_mut();
5918 (::windows_core::Interface::vtable(self).base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5919 }
5920 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5921 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5922 pub unsafe fn GetResourceAllocationInfo2(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO {
5923 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
5924 (::windows_core::Interface::vtable(self).GetResourceAllocationInfo2)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, numresourcedescs, presourcedescs, ::core::mem::transmute(presourceallocationinfo1.unwrap_or(::std::ptr::null_mut())));
5925 result__
5926 }
5927 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5928 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5929 pub unsafe fn CreateCommittedResource2<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5930 where
5931 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
5932 T: ::windows_core::ComInterface,
5933 {
5934 (::windows_core::Interface::vtable(self).CreateCommittedResource2)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5935 }
5936 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5937 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5938 pub unsafe fn CreatePlacedResource1<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
5939 where
5940 P0: ::windows_core::IntoParam<ID3D12Heap>,
5941 T: ::windows_core::ComInterface,
5942 {
5943 (::windows_core::Interface::vtable(self).CreatePlacedResource1)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
5944 }
5945 pub unsafe fn CreateSamplerFeedbackUnorderedAccessView<P0, P1>(&self, ptargetedresource: P0, pfeedbackresource: P1, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
5946 where
5947 P0: ::windows_core::IntoParam<ID3D12Resource>,
5948 P1: ::windows_core::IntoParam<ID3D12Resource>,
5949 {
5950 (::windows_core::Interface::vtable(self).CreateSamplerFeedbackUnorderedAccessView)(::windows_core::Interface::as_raw(self), ptargetedresource.into_param().abi(), pfeedbackresource.into_param().abi(), ::core::mem::transmute(destdescriptor))
5951 }
5952 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
5953 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5954 pub unsafe fn GetCopyableFootprints1(&self, presourcedesc: *const D3D12_RESOURCE_DESC1, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
5955 (::windows_core::Interface::vtable(self).GetCopyableFootprints1)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
5956 }
5957}
5958::windows_core::imp::interface_hierarchy!(ID3D12Device8, ::windows_core::IUnknown, ID3D12Object, ID3D12Device, ID3D12Device1, ID3D12Device2, ID3D12Device3, ID3D12Device4, ID3D12Device5, ID3D12Device6, ID3D12Device7);
5959unsafe impl ::core::marker::Send for ID3D12Device8 {}
5960unsafe impl ::core::marker::Sync for ID3D12Device8 {}
5961unsafe impl ::windows_core::Interface for ID3D12Device8 {
5962 type Vtable = ID3D12Device8_Vtbl;
5963}
5964unsafe impl ::windows_core::ComInterface for ID3D12Device8 {
5965 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x9218e6bb_f944_4f7e_a75c_b1b2c7b701f3);
5966}
5967#[repr(C)]
5968#[doc(hidden)]
5969pub struct ID3D12Device8_Vtbl {
5970 pub base__: ID3D12Device7_Vtbl,
5971 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5972 pub GetResourceAllocationInfo2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_RESOURCE_ALLOCATION_INFO, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1),
5973 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
5974 GetResourceAllocationInfo2: usize,
5975 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5976 pub CreateCommittedResource2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, pprotectedsession: *mut ::core::ffi::c_void, riidresource: *const ::windows_core::GUID, ppvresource: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
5977 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
5978 CreateCommittedResource2: usize,
5979 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5980 pub CreatePlacedResource1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pheap: *mut ::core::ffi::c_void, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: *const D3D12_CLEAR_VALUE, riid: *const ::windows_core::GUID, ppvresource: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
5981 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
5982 CreatePlacedResource1: usize,
5983 pub CreateSamplerFeedbackUnorderedAccessView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptargetedresource: *mut ::core::ffi::c_void, pfeedbackresource: *mut ::core::ffi::c_void, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE),
5984 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
5985 pub GetCopyableFootprints1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, 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),
5986 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
5987 GetCopyableFootprints1: usize,
5988}
5989#[repr(transparent)]
5990#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
5991pub struct ID3D12Device9(::windows_core::IUnknown);
5992impl ID3D12Device9 {
5993 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
5994 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
5995 }
5996 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
5997 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
5998 }
5999 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
6000 where
6001 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
6002 {
6003 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
6004 }
6005 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
6006 where
6007 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
6008 {
6009 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
6010 }
6011 pub unsafe fn GetNodeCount(&self) -> u32 {
6012 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetNodeCount)(::windows_core::Interface::as_raw(self))
6013 }
6014 pub unsafe fn CreateCommandQueue<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC) -> ::windows_core::Result<T>
6015 where
6016 T: ::windows_core::ComInterface,
6017 {
6018 let mut result__ = ::std::ptr::null_mut();
6019 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandQueue)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6020 }
6021 pub unsafe fn CreateCommandAllocator<T>(&self, r#type: D3D12_COMMAND_LIST_TYPE) -> ::windows_core::Result<T>
6022 where
6023 T: ::windows_core::ComInterface,
6024 {
6025 let mut result__ = ::std::ptr::null_mut();
6026 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandAllocator)(::windows_core::Interface::as_raw(self), r#type, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6027 }
6028 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
6029 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
6030 pub unsafe fn CreateGraphicsPipelineState<T>(&self, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
6031 where
6032 T: ::windows_core::ComInterface,
6033 {
6034 let mut result__ = ::std::ptr::null_mut();
6035 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateGraphicsPipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6036 }
6037 pub unsafe fn CreateComputePipelineState<T>(&self, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
6038 where
6039 T: ::windows_core::ComInterface,
6040 {
6041 let mut result__ = ::std::ptr::null_mut();
6042 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateComputePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6043 }
6044 pub unsafe fn CreateCommandList<P0, P1, T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1) -> ::windows_core::Result<T>
6045 where
6046 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
6047 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
6048 T: ::windows_core::ComInterface,
6049 {
6050 let mut result__ = ::std::ptr::null_mut();
6051 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandList)(::windows_core::Interface::as_raw(self), nodemask, r#type, pcommandallocator.into_param().abi(), pinitialstate.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6052 }
6053 pub unsafe fn CheckFeatureSupport(&self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut ::core::ffi::c_void, featuresupportdatasize: u32) -> ::windows_core::Result<()> {
6054 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CheckFeatureSupport)(::windows_core::Interface::as_raw(self), feature, pfeaturesupportdata, featuresupportdatasize).ok()
6055 }
6056 pub unsafe fn CreateDescriptorHeap<T>(&self, pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC) -> ::windows_core::Result<T>
6057 where
6058 T: ::windows_core::ComInterface,
6059 {
6060 let mut result__ = ::std::ptr::null_mut();
6061 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDescriptorHeap)(::windows_core::Interface::as_raw(self), pdescriptorheapdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6062 }
6063 pub unsafe fn GetDescriptorHandleIncrementSize(&self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE) -> u32 {
6064 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDescriptorHandleIncrementSize)(::windows_core::Interface::as_raw(self), descriptorheaptype)
6065 }
6066 pub unsafe fn CreateRootSignature<T>(&self, nodemask: u32, pblobwithrootsignature: &[u8]) -> ::windows_core::Result<T>
6067 where
6068 T: ::windows_core::ComInterface,
6069 {
6070 let mut result__ = ::std::ptr::null_mut();
6071 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRootSignature)(::windows_core::Interface::as_raw(self), nodemask, ::core::mem::transmute(pblobwithrootsignature.as_ptr()), pblobwithrootsignature.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6072 }
6073 pub unsafe fn CreateConstantBufferView(&self, pdesc: ::core::option::Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
6074 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateConstantBufferView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
6075 }
6076 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6077 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6078 pub unsafe fn CreateShaderResourceView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_SHADER_RESOURCE_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
6079 where
6080 P0: ::windows_core::IntoParam<ID3D12Resource>,
6081 {
6082 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateShaderResourceView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
6083 }
6084 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6085 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6086 pub unsafe fn CreateUnorderedAccessView<P0, P1>(&self, presource: P0, pcounterresource: P1, pdesc: ::core::option::Option<*const D3D12_UNORDERED_ACCESS_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
6087 where
6088 P0: ::windows_core::IntoParam<ID3D12Resource>,
6089 P1: ::windows_core::IntoParam<ID3D12Resource>,
6090 {
6091 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateUnorderedAccessView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), pcounterresource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
6092 }
6093 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6094 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6095 pub unsafe fn CreateRenderTargetView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_RENDER_TARGET_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
6096 where
6097 P0: ::windows_core::IntoParam<ID3D12Resource>,
6098 {
6099 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateRenderTargetView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
6100 }
6101 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6102 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6103 pub unsafe fn CreateDepthStencilView<P0>(&self, presource: P0, pdesc: ::core::option::Option<*const D3D12_DEPTH_STENCIL_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
6104 where
6105 P0: ::windows_core::IntoParam<ID3D12Resource>,
6106 {
6107 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateDepthStencilView)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pdesc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(destdescriptor))
6108 }
6109 pub unsafe fn CreateSampler(&self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) {
6110 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSampler)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(destdescriptor))
6111 }
6112 pub unsafe fn CopyDescriptors(&self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: ::core::option::Option<*const u32>, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: ::core::option::Option<*const u32>, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
6113 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CopyDescriptors)(::windows_core::Interface::as_raw(self), numdestdescriptorranges, pdestdescriptorrangestarts, ::core::mem::transmute(pdestdescriptorrangesizes.unwrap_or(::std::ptr::null())), numsrcdescriptorranges, psrcdescriptorrangestarts, ::core::mem::transmute(psrcdescriptorrangesizes.unwrap_or(::std::ptr::null())), descriptorheapstype)
6114 }
6115 pub unsafe fn CopyDescriptorsSimple(&self, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE) {
6116 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CopyDescriptorsSimple)(::windows_core::Interface::as_raw(self), numdescriptors, ::core::mem::transmute(destdescriptorrangestart), ::core::mem::transmute(srcdescriptorrangestart), descriptorheapstype)
6117 }
6118 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6119 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6120 pub unsafe fn GetResourceAllocationInfo(&self, visiblemask: u32, presourcedescs: &[D3D12_RESOURCE_DESC]) -> D3D12_RESOURCE_ALLOCATION_INFO {
6121 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
6122 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetResourceAllocationInfo)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, presourcedescs.len().try_into().unwrap(), ::core::mem::transmute(presourcedescs.as_ptr()));
6123 result__
6124 }
6125 pub unsafe fn GetCustomHeapProperties(&self, nodemask: u32, heaptype: D3D12_HEAP_TYPE) -> D3D12_HEAP_PROPERTIES {
6126 let mut result__: D3D12_HEAP_PROPERTIES = ::core::mem::zeroed();
6127 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCustomHeapProperties)(::windows_core::Interface::as_raw(self), &mut result__, nodemask, heaptype);
6128 result__
6129 }
6130 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6131 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6132 pub unsafe fn CreateCommittedResource<T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6133 where
6134 T: ::windows_core::ComInterface,
6135 {
6136 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommittedResource)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6137 }
6138 pub unsafe fn CreateHeap<T>(&self, pdesc: *const D3D12_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6139 where
6140 T: ::windows_core::ComInterface,
6141 {
6142 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6143 }
6144 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6145 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6146 pub unsafe fn CreatePlacedResource<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6147 where
6148 P0: ::windows_core::IntoParam<ID3D12Heap>,
6149 T: ::windows_core::ComInterface,
6150 {
6151 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreatePlacedResource)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6152 }
6153 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6154 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6155 pub unsafe fn CreateReservedResource<T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6156 where
6157 T: ::windows_core::ComInterface,
6158 {
6159 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateReservedResource)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6160 }
6161 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Security\"`"]
6162 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
6163 pub unsafe fn CreateSharedHandle<P0, P1>(&self, pobject: P0, pattributes: ::core::option::Option<*const super::super::Security::SECURITY_ATTRIBUTES>, access: u32, name: P1) -> ::windows_core::Result<super::super::Foundation::HANDLE>
6164 where
6165 P0: ::windows_core::IntoParam<ID3D12DeviceChild>,
6166 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
6167 {
6168 let mut result__ = ::std::mem::zeroed();
6169 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateSharedHandle)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), ::core::mem::transmute(pattributes.unwrap_or(::std::ptr::null())), access, name.into_param().abi(), &mut result__).from_abi(result__)
6170 }
6171 #[doc = "Required features: `\"Win32_Foundation\"`"]
6172 #[cfg(feature = "Win32_Foundation")]
6173 pub unsafe fn OpenSharedHandle<P0, T>(&self, nthandle: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6174 where
6175 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
6176 T: ::windows_core::ComInterface,
6177 {
6178 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandle)(::windows_core::Interface::as_raw(self), nthandle.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6179 }
6180 #[doc = "Required features: `\"Win32_Foundation\"`"]
6181 #[cfg(feature = "Win32_Foundation")]
6182 pub unsafe fn OpenSharedHandleByName<P0>(&self, name: P0, access: u32) -> ::windows_core::Result<super::super::Foundation::HANDLE>
6183 where
6184 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
6185 {
6186 let mut result__ = ::std::mem::zeroed();
6187 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.OpenSharedHandleByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), access, &mut result__).from_abi(result__)
6188 }
6189 pub unsafe fn MakeResident(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
6190 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.MakeResident)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
6191 }
6192 pub unsafe fn Evict(&self, ppobjects: &[::core::option::Option<ID3D12Pageable>]) -> ::windows_core::Result<()> {
6193 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.Evict)(::windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr())).ok()
6194 }
6195 pub unsafe fn CreateFence<T>(&self, initialvalue: u64, flags: D3D12_FENCE_FLAGS) -> ::windows_core::Result<T>
6196 where
6197 T: ::windows_core::ComInterface,
6198 {
6199 let mut result__ = ::std::ptr::null_mut();
6200 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateFence)(::windows_core::Interface::as_raw(self), initialvalue, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6201 }
6202 pub unsafe fn GetDeviceRemovedReason(&self) -> ::windows_core::Result<()> {
6203 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDeviceRemovedReason)(::windows_core::Interface::as_raw(self)).ok()
6204 }
6205 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6206 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6207 pub unsafe fn GetCopyableFootprints(&self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
6208 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetCopyableFootprints)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
6209 }
6210 pub unsafe fn CreateQueryHeap<T>(&self, pdesc: *const D3D12_QUERY_HEAP_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6211 where
6212 T: ::windows_core::ComInterface,
6213 {
6214 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateQueryHeap)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6215 }
6216 #[doc = "Required features: `\"Win32_Foundation\"`"]
6217 #[cfg(feature = "Win32_Foundation")]
6218 pub unsafe fn SetStablePowerState<P0>(&self, enable: P0) -> ::windows_core::Result<()>
6219 where
6220 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
6221 {
6222 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetStablePowerState)(::windows_core::Interface::as_raw(self), enable.into_param().abi()).ok()
6223 }
6224 pub unsafe fn CreateCommandSignature<P0, T>(&self, pdesc: *const D3D12_COMMAND_SIGNATURE_DESC, prootsignature: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6225 where
6226 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
6227 T: ::windows_core::ComInterface,
6228 {
6229 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CreateCommandSignature)(::windows_core::Interface::as_raw(self), pdesc, prootsignature.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6230 }
6231 pub unsafe fn GetResourceTiling<P0>(&self, ptiledresource: P0, pnumtilesforentireresource: ::core::option::Option<*mut u32>, ppackedmipdesc: ::core::option::Option<*mut D3D12_PACKED_MIP_INFO>, pstandardtileshapefornonpackedmips: ::core::option::Option<*mut D3D12_TILE_SHAPE>, pnumsubresourcetilings: ::core::option::Option<*mut u32>, firstsubresourcetilingtoget: u32, psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING)
6232 where
6233 P0: ::windows_core::IntoParam<ID3D12Resource>,
6234 {
6235 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetResourceTiling)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ::core::mem::transmute(pnumtilesforentireresource.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ppackedmipdesc.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pstandardtileshapefornonpackedmips.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumsubresourcetilings.unwrap_or(::std::ptr::null_mut())), firstsubresourcetilingtoget, psubresourcetilingsfornonpackedmips)
6236 }
6237 #[doc = "Required features: `\"Win32_Foundation\"`"]
6238 #[cfg(feature = "Win32_Foundation")]
6239 pub unsafe fn GetAdapterLuid(&self) -> super::super::Foundation::LUID {
6240 let mut result__: super::super::Foundation::LUID = ::core::mem::zeroed();
6241 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetAdapterLuid)(::windows_core::Interface::as_raw(self), &mut result__);
6242 result__
6243 }
6244 pub unsafe fn CreatePipelineLibrary<T>(&self, plibraryblob: &[u8]) -> ::windows_core::Result<T>
6245 where
6246 T: ::windows_core::ComInterface,
6247 {
6248 let mut result__ = ::std::ptr::null_mut();
6249 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CreatePipelineLibrary)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(plibraryblob.as_ptr()), plibraryblob.len().try_into().unwrap(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6250 }
6251 #[doc = "Required features: `\"Win32_Foundation\"`"]
6252 #[cfg(feature = "Win32_Foundation")]
6253 pub unsafe fn SetEventOnMultipleFenceCompletion<P0>(&self, ppfences: *const ::core::option::Option<ID3D12Fence>, pfencevalues: *const u64, numfences: u32, flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hevent: P0) -> ::windows_core::Result<()>
6254 where
6255 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
6256 {
6257 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetEventOnMultipleFenceCompletion)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(ppfences), pfencevalues, numfences, flags, hevent.into_param().abi()).ok()
6258 }
6259 pub unsafe fn SetResidencyPriority(&self, numobjects: u32, ppobjects: *const ::core::option::Option<ID3D12Pageable>, ppriorities: *const D3D12_RESIDENCY_PRIORITY) -> ::windows_core::Result<()> {
6260 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetResidencyPriority)(::windows_core::Interface::as_raw(self), numobjects, ::core::mem::transmute(ppobjects), ppriorities).ok()
6261 }
6262 pub unsafe fn CreatePipelineState<T>(&self, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows_core::Result<T>
6263 where
6264 T: ::windows_core::ComInterface,
6265 {
6266 let mut result__ = ::std::ptr::null_mut();
6267 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CreatePipelineState)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6268 }
6269 pub unsafe fn OpenExistingHeapFromAddress<T>(&self, paddress: *const ::core::ffi::c_void) -> ::windows_core::Result<T>
6270 where
6271 T: ::windows_core::ComInterface,
6272 {
6273 let mut result__ = ::std::ptr::null_mut();
6274 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.OpenExistingHeapFromAddress)(::windows_core::Interface::as_raw(self), paddress, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6275 }
6276 #[doc = "Required features: `\"Win32_Foundation\"`"]
6277 #[cfg(feature = "Win32_Foundation")]
6278 pub unsafe fn OpenExistingHeapFromFileMapping<P0, T>(&self, hfilemapping: P0) -> ::windows_core::Result<T>
6279 where
6280 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
6281 T: ::windows_core::ComInterface,
6282 {
6283 let mut result__ = ::std::ptr::null_mut();
6284 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.OpenExistingHeapFromFileMapping)(::windows_core::Interface::as_raw(self), hfilemapping.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6285 }
6286 pub unsafe fn EnqueueMakeResident<P0>(&self, flags: D3D12_RESIDENCY_FLAGS, ppobjects: &[::core::option::Option<ID3D12Pageable>], pfencetosignal: P0, fencevaluetosignal: u64) -> ::windows_core::Result<()>
6287 where
6288 P0: ::windows_core::IntoParam<ID3D12Fence>,
6289 {
6290 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EnqueueMakeResident)(::windows_core::Interface::as_raw(self), flags, ppobjects.len().try_into().unwrap(), ::core::mem::transmute(ppobjects.as_ptr()), pfencetosignal.into_param().abi(), fencevaluetosignal).ok()
6291 }
6292 pub unsafe fn CreateCommandList1<T>(&self, nodemask: u32, r#type: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS) -> ::windows_core::Result<T>
6293 where
6294 T: ::windows_core::ComInterface,
6295 {
6296 let mut result__ = ::std::ptr::null_mut();
6297 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommandList1)(::windows_core::Interface::as_raw(self), nodemask, r#type, flags, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6298 }
6299 pub unsafe fn CreateProtectedResourceSession<T>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC) -> ::windows_core::Result<T>
6300 where
6301 T: ::windows_core::ComInterface,
6302 {
6303 let mut result__ = ::std::ptr::null_mut();
6304 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateProtectedResourceSession)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6305 }
6306 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6307 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6308 pub unsafe fn CreateCommittedResource1<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6309 where
6310 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
6311 T: ::windows_core::ComInterface,
6312 {
6313 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateCommittedResource1)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6314 }
6315 pub unsafe fn CreateHeap1<P0, T>(&self, pdesc: *const D3D12_HEAP_DESC, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6316 where
6317 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
6318 T: ::windows_core::ComInterface,
6319 {
6320 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateHeap1)(::windows_core::Interface::as_raw(self), pdesc, pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6321 }
6322 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6323 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6324 pub unsafe fn CreateReservedResource1<P0, T>(&self, pdesc: *const D3D12_RESOURCE_DESC, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6325 where
6326 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
6327 T: ::windows_core::ComInterface,
6328 {
6329 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CreateReservedResource1)(::windows_core::Interface::as_raw(self), pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6330 }
6331 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6332 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6333 pub unsafe fn GetResourceAllocationInfo1(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO {
6334 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
6335 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetResourceAllocationInfo1)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, numresourcedescs, presourcedescs, ::core::mem::transmute(presourceallocationinfo1.unwrap_or(::std::ptr::null_mut())));
6336 result__
6337 }
6338 pub unsafe fn CreateLifetimeTracker<P0, T>(&self, powner: P0) -> ::windows_core::Result<T>
6339 where
6340 P0: ::windows_core::IntoParam<ID3D12LifetimeOwner>,
6341 T: ::windows_core::ComInterface,
6342 {
6343 let mut result__ = ::std::ptr::null_mut();
6344 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateLifetimeTracker)(::windows_core::Interface::as_raw(self), powner.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6345 }
6346 pub unsafe fn RemoveDevice(&self) {
6347 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RemoveDevice)(::windows_core::Interface::as_raw(self))
6348 }
6349 pub unsafe fn EnumerateMetaCommands(&self, pnummetacommands: *mut u32, pdescs: ::core::option::Option<*mut D3D12_META_COMMAND_DESC>) -> ::windows_core::Result<()> {
6350 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumerateMetaCommands)(::windows_core::Interface::as_raw(self), pnummetacommands, ::core::mem::transmute(pdescs.unwrap_or(::std::ptr::null_mut()))).ok()
6351 }
6352 pub unsafe fn EnumerateMetaCommandParameters(&self, commandid: *const ::windows_core::GUID, stage: D3D12_META_COMMAND_PARAMETER_STAGE, ptotalstructuresizeinbytes: ::core::option::Option<*mut u32>, pparametercount: *mut u32, pparameterdescs: ::core::option::Option<*mut D3D12_META_COMMAND_PARAMETER_DESC>) -> ::windows_core::Result<()> {
6353 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EnumerateMetaCommandParameters)(::windows_core::Interface::as_raw(self), commandid, stage, ::core::mem::transmute(ptotalstructuresizeinbytes.unwrap_or(::std::ptr::null_mut())), pparametercount, ::core::mem::transmute(pparameterdescs.unwrap_or(::std::ptr::null_mut()))).ok()
6354 }
6355 pub unsafe fn CreateMetaCommand<T>(&self, commandid: *const ::windows_core::GUID, nodemask: u32, pcreationparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, creationparametersdatasizeinbytes: usize) -> ::windows_core::Result<T>
6356 where
6357 T: ::windows_core::ComInterface,
6358 {
6359 let mut result__ = ::std::ptr::null_mut();
6360 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateMetaCommand)(::windows_core::Interface::as_raw(self), commandid, nodemask, ::core::mem::transmute(pcreationparametersdata.unwrap_or(::std::ptr::null())), creationparametersdatasizeinbytes, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6361 }
6362 pub unsafe fn CreateStateObject<T>(&self, pdesc: *const D3D12_STATE_OBJECT_DESC) -> ::windows_core::Result<T>
6363 where
6364 T: ::windows_core::ComInterface,
6365 {
6366 let mut result__ = ::std::ptr::null_mut();
6367 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CreateStateObject)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6368 }
6369 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6370 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6371 pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) {
6372 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetRaytracingAccelerationStructurePrebuildInfo)(::windows_core::Interface::as_raw(self), pdesc, pinfo)
6373 }
6374 pub unsafe fn CheckDriverMatchingIdentifier(&self, serializeddatatype: D3D12_SERIALIZED_DATA_TYPE, pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
6375 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CheckDriverMatchingIdentifier)(::windows_core::Interface::as_raw(self), serializeddatatype, pidentifiertocheck)
6376 }
6377 #[doc = "Required features: `\"Win32_Foundation\"`"]
6378 #[cfg(feature = "Win32_Foundation")]
6379 pub unsafe fn SetBackgroundProcessingMode<P0>(&self, mode: D3D12_BACKGROUND_PROCESSING_MODE, measurementsaction: D3D12_MEASUREMENTS_ACTION, heventtosignaluponcompletion: P0, pbfurthermeasurementsdesired: ::core::option::Option<*mut super::super::Foundation::BOOL>) -> ::windows_core::Result<()>
6380 where
6381 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
6382 {
6383 (::windows_core::Interface::vtable(self).base__.base__.base__.SetBackgroundProcessingMode)(::windows_core::Interface::as_raw(self), mode, measurementsaction, heventtosignaluponcompletion.into_param().abi(), ::core::mem::transmute(pbfurthermeasurementsdesired.unwrap_or(::std::ptr::null_mut()))).ok()
6384 }
6385 pub unsafe fn AddToStateObject<P0, T>(&self, paddition: *const D3D12_STATE_OBJECT_DESC, pstateobjecttogrowfrom: P0) -> ::windows_core::Result<T>
6386 where
6387 P0: ::windows_core::IntoParam<ID3D12StateObject>,
6388 T: ::windows_core::ComInterface,
6389 {
6390 let mut result__ = ::std::ptr::null_mut();
6391 (::windows_core::Interface::vtable(self).base__.base__.AddToStateObject)(::windows_core::Interface::as_raw(self), paddition, pstateobjecttogrowfrom.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6392 }
6393 pub unsafe fn CreateProtectedResourceSession1<T>(&self, pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1) -> ::windows_core::Result<T>
6394 where
6395 T: ::windows_core::ComInterface,
6396 {
6397 let mut result__ = ::std::ptr::null_mut();
6398 (::windows_core::Interface::vtable(self).base__.base__.CreateProtectedResourceSession1)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6399 }
6400 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6401 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6402 pub unsafe fn GetResourceAllocationInfo2(&self, visiblemask: u32, numresourcedescs: u32, presourcedescs: *const D3D12_RESOURCE_DESC1, presourceallocationinfo1: ::core::option::Option<*mut D3D12_RESOURCE_ALLOCATION_INFO1>) -> D3D12_RESOURCE_ALLOCATION_INFO {
6403 let mut result__: D3D12_RESOURCE_ALLOCATION_INFO = ::core::mem::zeroed();
6404 (::windows_core::Interface::vtable(self).base__.GetResourceAllocationInfo2)(::windows_core::Interface::as_raw(self), &mut result__, visiblemask, numresourcedescs, presourcedescs, ::core::mem::transmute(presourceallocationinfo1.unwrap_or(::std::ptr::null_mut())));
6405 result__
6406 }
6407 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6408 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6409 pub unsafe fn CreateCommittedResource2<P0, T>(&self, pheapproperties: *const D3D12_HEAP_PROPERTIES, heapflags: D3D12_HEAP_FLAGS, pdesc: *const D3D12_RESOURCE_DESC1, initialresourcestate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, pprotectedsession: P0, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6410 where
6411 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
6412 T: ::windows_core::ComInterface,
6413 {
6414 (::windows_core::Interface::vtable(self).base__.CreateCommittedResource2)(::windows_core::Interface::as_raw(self), pheapproperties, heapflags, pdesc, initialresourcestate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), pprotectedsession.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6415 }
6416 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6417 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6418 pub unsafe fn CreatePlacedResource1<P0, T>(&self, pheap: P0, heapoffset: u64, pdesc: *const D3D12_RESOURCE_DESC1, initialstate: D3D12_RESOURCE_STATES, poptimizedclearvalue: ::core::option::Option<*const D3D12_CLEAR_VALUE>, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6419 where
6420 P0: ::windows_core::IntoParam<ID3D12Heap>,
6421 T: ::windows_core::ComInterface,
6422 {
6423 (::windows_core::Interface::vtable(self).base__.CreatePlacedResource1)(::windows_core::Interface::as_raw(self), pheap.into_param().abi(), heapoffset, pdesc, initialstate, ::core::mem::transmute(poptimizedclearvalue.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6424 }
6425 pub unsafe fn CreateSamplerFeedbackUnorderedAccessView<P0, P1>(&self, ptargetedresource: P0, pfeedbackresource: P1, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE)
6426 where
6427 P0: ::windows_core::IntoParam<ID3D12Resource>,
6428 P1: ::windows_core::IntoParam<ID3D12Resource>,
6429 {
6430 (::windows_core::Interface::vtable(self).base__.CreateSamplerFeedbackUnorderedAccessView)(::windows_core::Interface::as_raw(self), ptargetedresource.into_param().abi(), pfeedbackresource.into_param().abi(), ::core::mem::transmute(destdescriptor))
6431 }
6432 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
6433 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
6434 pub unsafe fn GetCopyableFootprints1(&self, presourcedesc: *const D3D12_RESOURCE_DESC1, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: ::core::option::Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: ::core::option::Option<*mut u32>, prowsizeinbytes: ::core::option::Option<*mut u64>, ptotalbytes: ::core::option::Option<*mut u64>) {
6435 (::windows_core::Interface::vtable(self).base__.GetCopyableFootprints1)(::windows_core::Interface::as_raw(self), presourcedesc, firstsubresource, numsubresources, baseoffset, ::core::mem::transmute(playouts.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pnumrows.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(prowsizeinbytes.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(ptotalbytes.unwrap_or(::std::ptr::null_mut())))
6436 }
6437 pub unsafe fn CreateShaderCacheSession<T>(&self, pdesc: *const D3D12_SHADER_CACHE_SESSION_DESC, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6438 where
6439 T: ::windows_core::ComInterface,
6440 {
6441 (::windows_core::Interface::vtable(self).CreateShaderCacheSession)(::windows_core::Interface::as_raw(self), pdesc, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6442 }
6443 pub unsafe fn ShaderCacheControl(&self, kinds: D3D12_SHADER_CACHE_KIND_FLAGS, control: D3D12_SHADER_CACHE_CONTROL_FLAGS) -> ::windows_core::Result<()> {
6444 (::windows_core::Interface::vtable(self).ShaderCacheControl)(::windows_core::Interface::as_raw(self), kinds, control).ok()
6445 }
6446 pub unsafe fn CreateCommandQueue1<T>(&self, pdesc: *const D3D12_COMMAND_QUEUE_DESC, creatorid: *const ::windows_core::GUID) -> ::windows_core::Result<T>
6447 where
6448 T: ::windows_core::ComInterface,
6449 {
6450 let mut result__ = ::std::ptr::null_mut();
6451 (::windows_core::Interface::vtable(self).CreateCommandQueue1)(::windows_core::Interface::as_raw(self), pdesc, creatorid, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6452 }
6453}
6454::windows_core::imp::interface_hierarchy!(ID3D12Device9, ::windows_core::IUnknown, ID3D12Object, ID3D12Device, ID3D12Device1, ID3D12Device2, ID3D12Device3, ID3D12Device4, ID3D12Device5, ID3D12Device6, ID3D12Device7, ID3D12Device8);
6455unsafe impl ::core::marker::Send for ID3D12Device9 {}
6456unsafe impl ::core::marker::Sync for ID3D12Device9 {}
6457unsafe impl ::windows_core::Interface for ID3D12Device9 {
6458 type Vtable = ID3D12Device9_Vtbl;
6459}
6460unsafe impl ::windows_core::ComInterface for ID3D12Device9 {
6461 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x4c80e962_f032_4f60_bc9e_ebc2cfa1d83c);
6462}
6463#[repr(C)]
6464#[doc(hidden)]
6465pub struct ID3D12Device9_Vtbl {
6466 pub base__: ID3D12Device8_Vtbl,
6467 pub CreateShaderCacheSession: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_SHADER_CACHE_SESSION_DESC, riid: *const ::windows_core::GUID, ppvsession: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
6468 pub ShaderCacheControl: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, kinds: D3D12_SHADER_CACHE_KIND_FLAGS, control: D3D12_SHADER_CACHE_CONTROL_FLAGS) -> ::windows_core::HRESULT,
6469 pub CreateCommandQueue1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_COMMAND_QUEUE_DESC, creatorid: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, ppcommandqueue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
6470}
6471#[repr(transparent)]
6472#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
6473pub struct ID3D12DeviceChild(::windows_core::IUnknown);
6474impl ID3D12DeviceChild {
6475 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
6476 (::windows_core::Interface::vtable(self).base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
6477 }
6478 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
6479 (::windows_core::Interface::vtable(self).base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
6480 }
6481 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
6482 where
6483 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
6484 {
6485 (::windows_core::Interface::vtable(self).base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
6486 }
6487 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
6488 where
6489 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
6490 {
6491 (::windows_core::Interface::vtable(self).base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
6492 }
6493 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6494 where
6495 T: ::windows_core::ComInterface,
6496 {
6497 (::windows_core::Interface::vtable(self).GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6498 }
6499}
6500::windows_core::imp::interface_hierarchy!(ID3D12DeviceChild, ::windows_core::IUnknown, ID3D12Object);
6501unsafe impl ::core::marker::Send for ID3D12DeviceChild {}
6502unsafe impl ::core::marker::Sync for ID3D12DeviceChild {}
6503unsafe impl ::windows_core::Interface for ID3D12DeviceChild {
6504 type Vtable = ID3D12DeviceChild_Vtbl;
6505}
6506unsafe impl ::windows_core::ComInterface for ID3D12DeviceChild {
6507 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x905db94b_a00c_4140_9df5_2b64ca9ea357);
6508}
6509#[repr(C)]
6510#[doc(hidden)]
6511pub struct ID3D12DeviceChild_Vtbl {
6512 pub base__: ID3D12Object_Vtbl,
6513 pub GetDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppvdevice: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
6514}
6515#[repr(transparent)]
6516#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
6517pub struct ID3D12DeviceConfiguration(::windows_core::IUnknown);
6518impl ID3D12DeviceConfiguration {
6519 pub unsafe fn GetDesc(&self) -> D3D12_DEVICE_CONFIGURATION_DESC {
6520 let mut result__: D3D12_DEVICE_CONFIGURATION_DESC = ::core::mem::zeroed();
6521 (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__);
6522 result__
6523 }
6524 pub unsafe fn GetEnabledExperimentalFeatures(&self, pguids: &mut [::windows_core::GUID]) -> ::windows_core::Result<()> {
6525 (::windows_core::Interface::vtable(self).GetEnabledExperimentalFeatures)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:pguids.as_ptr()), pguids.len().try_into().unwrap()).ok()
6526 }
6527 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
6528 #[cfg(feature = "Win32_Graphics_Direct3D")]
6529 pub unsafe fn SerializeVersionedRootSignature(&self, pdesc: *const D3D12_VERSIONED_ROOT_SIGNATURE_DESC, ppresult: *mut ::core::option::Option<super::Direct3D::ID3DBlob>, pperror: ::core::option::Option<*mut ::core::option::Option<super::Direct3D::ID3DBlob>>) -> ::windows_core::Result<()> {
6530 (::windows_core::Interface::vtable(self).SerializeVersionedRootSignature)(::windows_core::Interface::as_raw(self), pdesc, ::core::mem::transmute(src:ppresult), ::core::mem::transmute(src:pperror.unwrap_or(::std::ptr::null_mut()))).ok()
6531 }
6532 pub unsafe fn CreateVersionedRootSignatureDeserializer<T>(&self, pblob: *const ::core::ffi::c_void, size: usize) -> ::windows_core::Result<T>
6533 where
6534 T: ::windows_core::ComInterface,
6535 {
6536 let mut result__: *mut c_void = ::std::ptr::null_mut();
6537 (::windows_core::Interface::vtable(self).CreateVersionedRootSignatureDeserializer)(::windows_core::Interface::as_raw(self), pblob, size, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6538 }
6539}
6540::windows_core::imp::interface_hierarchy!(ID3D12DeviceConfiguration, ::windows_core::IUnknown);
6541unsafe impl ::core::marker::Send for ID3D12DeviceConfiguration {}
6542unsafe impl ::core::marker::Sync for ID3D12DeviceConfiguration {}
6543unsafe impl ::windows_core::Interface for ID3D12DeviceConfiguration {
6544 type Vtable = ID3D12DeviceConfiguration_Vtbl;
6545}
6546unsafe impl ::windows_core::ComInterface for ID3D12DeviceConfiguration {
6547 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x78dbf87b_f766_422b_a61c_c8c446bdb9ad);
6548}
6549#[repr(C)]
6550#[doc(hidden)]
6551pub struct ID3D12DeviceConfiguration_Vtbl {
6552 pub base__: ::windows_core::IUnknown_Vtbl,
6553 pub GetDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_DEVICE_CONFIGURATION_DESC),
6554 pub GetEnabledExperimentalFeatures: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguids: *mut ::windows_core::GUID, numguids: u32) -> ::windows_core::HRESULT,
6555 #[cfg(feature = "Win32_Graphics_Direct3D")]
6556 pub SerializeVersionedRootSignature: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_VERSIONED_ROOT_SIGNATURE_DESC, ppresult: *mut *mut ::core::ffi::c_void, pperror: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
6557 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
6558 SerializeVersionedRootSignature: usize,
6559 pub CreateVersionedRootSignatureDeserializer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pblob: *const ::core::ffi::c_void, size: usize, riid: *const ::windows_core::GUID, ppvdeserializer: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
6560}
6561#[repr(transparent)]
6562#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
6563pub struct ID3D12DeviceFactory(::windows_core::IUnknown);
6564impl ID3D12DeviceFactory {
6565 pub unsafe fn InitializeFromGlobalState(&self) -> ::windows_core::Result<()> {
6566 (::windows_core::Interface::vtable(self).InitializeFromGlobalState)(::windows_core::Interface::as_raw(self)).ok()
6567 }
6568 pub unsafe fn ApplyToGlobalState(&self) -> ::windows_core::Result<()> {
6569 (::windows_core::Interface::vtable(self).ApplyToGlobalState)(::windows_core::Interface::as_raw(self)).ok()
6570 }
6571 pub unsafe fn SetFlags(&self, flags: D3D12_DEVICE_FACTORY_FLAGS) -> ::windows_core::Result<()> {
6572 (::windows_core::Interface::vtable(self).SetFlags)(::windows_core::Interface::as_raw(self), flags).ok()
6573 }
6574 pub unsafe fn GetFlags(&self) -> D3D12_DEVICE_FACTORY_FLAGS {
6575 (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self))
6576 }
6577 pub unsafe fn GetConfigurationInterface<T>(&self, clsid: *const ::windows_core::GUID) -> ::windows_core::Result<T>
6578 where
6579 T: ::windows_core::ComInterface,
6580 {
6581 let mut result__ = ::std::ptr::null_mut();
6582 (::windows_core::Interface::vtable(self).GetConfigurationInterface)(::windows_core::Interface::as_raw(self), clsid, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
6583 }
6584 pub unsafe fn EnableExperimentalFeatures(&self, numfeatures: u32, piids: *const ::windows_core::GUID, pconfigurationstructs: ::core::option::Option<*const ::core::ffi::c_void>, pconfigurationstructsizes: ::core::option::Option<*const u32>) -> ::windows_core::Result<()> {
6585 (::windows_core::Interface::vtable(self).EnableExperimentalFeatures)(::windows_core::Interface::as_raw(self), numfeatures, piids, ::core::mem::transmute(pconfigurationstructs.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pconfigurationstructsizes.unwrap_or(::std::ptr::null()))).ok()
6586 }
6587 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
6588 #[cfg(feature = "Win32_Graphics_Direct3D")]
6589 pub unsafe fn CreateDevice<P0, T>(&self, adapter: P0, featurelevel: super::Direct3D::D3D_FEATURE_LEVEL, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6590 where
6591 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
6592 T: ::windows_core::ComInterface,
6593 {
6594 (::windows_core::Interface::vtable(self).CreateDevice)(::windows_core::Interface::as_raw(self), adapter.into_param().abi(), featurelevel, &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6595 }
6596}
6597::windows_core::imp::interface_hierarchy!(ID3D12DeviceFactory, ::windows_core::IUnknown);
6598unsafe impl ::core::marker::Send for ID3D12DeviceFactory {}
6599unsafe impl ::core::marker::Sync for ID3D12DeviceFactory {}
6600unsafe impl ::windows_core::Interface for ID3D12DeviceFactory {
6601 type Vtable = ID3D12DeviceFactory_Vtbl;
6602}
6603unsafe impl ::windows_core::ComInterface for ID3D12DeviceFactory {
6604 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x61f307d3_d34e_4e7c_8374_3ba4de23cccb);
6605}
6606#[repr(C)]
6607#[doc(hidden)]
6608pub struct ID3D12DeviceFactory_Vtbl {
6609 pub base__: ::windows_core::IUnknown_Vtbl,
6610 pub InitializeFromGlobalState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
6611 pub ApplyToGlobalState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
6612 pub SetFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, flags: D3D12_DEVICE_FACTORY_FLAGS) -> ::windows_core::HRESULT,
6613 pub GetFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> D3D12_DEVICE_FACTORY_FLAGS,
6614 pub GetConfigurationInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsid: *const ::windows_core::GUID, iid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
6615 pub EnableExperimentalFeatures: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numfeatures: u32, piids: *const ::windows_core::GUID, pconfigurationstructs: *const ::core::ffi::c_void, pconfigurationstructsizes: *const u32) -> ::windows_core::HRESULT,
6616 #[cfg(feature = "Win32_Graphics_Direct3D")]
6617 pub CreateDevice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, adapter: *mut ::core::ffi::c_void, featurelevel: super::Direct3D::D3D_FEATURE_LEVEL, riid: *const ::windows_core::GUID, ppvdevice: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
6618 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
6619 CreateDevice: usize,
6620}
6621#[repr(transparent)]
6622#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
6623pub struct ID3D12DeviceRemovedExtendedData(::windows_core::IUnknown);
6624impl ID3D12DeviceRemovedExtendedData {
6625 pub unsafe fn GetAutoBreadcrumbsOutput(&self) -> ::windows_core::Result<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT> {
6626 let mut result__: D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT = ::std::mem::zeroed();
6627 (::windows_core::Interface::vtable(self).GetAutoBreadcrumbsOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
6628 }
6629 pub unsafe fn GetPageFaultAllocationOutput(&self) -> ::windows_core::Result<D3D12_DRED_PAGE_FAULT_OUTPUT> {
6630 let mut result__: D3D12_DRED_PAGE_FAULT_OUTPUT = ::std::mem::zeroed();
6631 (::windows_core::Interface::vtable(self).GetPageFaultAllocationOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
6632 }
6633}
6634::windows_core::imp::interface_hierarchy!(ID3D12DeviceRemovedExtendedData, ::windows_core::IUnknown);
6635unsafe impl ::core::marker::Send for ID3D12DeviceRemovedExtendedData {}
6636unsafe impl ::core::marker::Sync for ID3D12DeviceRemovedExtendedData {}
6637unsafe impl ::windows_core::Interface for ID3D12DeviceRemovedExtendedData {
6638 type Vtable = ID3D12DeviceRemovedExtendedData_Vtbl;
6639}
6640unsafe impl ::windows_core::ComInterface for ID3D12DeviceRemovedExtendedData {
6641 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x98931d33_5ae8_4791_aa3c_1a73a2934e71);
6642}
6643#[repr(C)]
6644#[doc(hidden)]
6645pub struct ID3D12DeviceRemovedExtendedData_Vtbl {
6646 pub base__: ::windows_core::IUnknown_Vtbl,
6647 pub GetAutoBreadcrumbsOutput: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, poutput: *mut D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT) -> ::windows_core::HRESULT,
6648 pub GetPageFaultAllocationOutput: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, poutput: *mut D3D12_DRED_PAGE_FAULT_OUTPUT) -> ::windows_core::HRESULT,
6649}
6650#[repr(transparent)]
6651#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
6652pub struct ID3D12DeviceRemovedExtendedData1(::windows_core::IUnknown);
6653impl ID3D12DeviceRemovedExtendedData1 {
6654 pub unsafe fn GetAutoBreadcrumbsOutput(&self) -> ::windows_core::Result<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT> {
6655 let mut result__: D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT = ::std::mem::zeroed();
6656 (::windows_core::Interface::vtable(self).base__.GetAutoBreadcrumbsOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
6657 }
6658 pub unsafe fn GetPageFaultAllocationOutput(&self) -> ::windows_core::Result<D3D12_DRED_PAGE_FAULT_OUTPUT> {
6659 let mut result__: D3D12_DRED_PAGE_FAULT_OUTPUT = ::std::mem::zeroed();
6660 (::windows_core::Interface::vtable(self).base__.GetPageFaultAllocationOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
6661 }
6662 pub unsafe fn GetAutoBreadcrumbsOutput1(&self) -> ::windows_core::Result<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1> {
6663 let mut result__: D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 = ::std::mem::zeroed();
6664 (::windows_core::Interface::vtable(self).GetAutoBreadcrumbsOutput1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
6665 }
6666 pub unsafe fn GetPageFaultAllocationOutput1(&self) -> ::windows_core::Result<D3D12_DRED_PAGE_FAULT_OUTPUT1> {
6667 let mut result__: D3D12_DRED_PAGE_FAULT_OUTPUT1 = ::std::mem::zeroed();
6668 (::windows_core::Interface::vtable(self).GetPageFaultAllocationOutput1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
6669 }
6670}
6671::windows_core::imp::interface_hierarchy!(ID3D12DeviceRemovedExtendedData1, ::windows_core::IUnknown, ID3D12DeviceRemovedExtendedData);
6672unsafe impl ::core::marker::Send for ID3D12DeviceRemovedExtendedData1 {}
6673unsafe impl ::core::marker::Sync for ID3D12DeviceRemovedExtendedData1 {}
6674unsafe impl ::windows_core::Interface for ID3D12DeviceRemovedExtendedData1 {
6675 type Vtable = ID3D12DeviceRemovedExtendedData1_Vtbl;
6676}
6677unsafe impl ::windows_core::ComInterface for ID3D12DeviceRemovedExtendedData1 {
6678 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x9727a022_cf1d_4dda_9eba_effa653fc506);
6679}
6680#[repr(C)]
6681#[doc(hidden)]
6682pub struct ID3D12DeviceRemovedExtendedData1_Vtbl {
6683 pub base__: ID3D12DeviceRemovedExtendedData_Vtbl,
6684 pub GetAutoBreadcrumbsOutput1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, poutput: *mut D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1) -> ::windows_core::HRESULT,
6685 pub GetPageFaultAllocationOutput1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, poutput: *mut D3D12_DRED_PAGE_FAULT_OUTPUT1) -> ::windows_core::HRESULT,
6686}
6687#[repr(transparent)]
6688#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
6689pub struct ID3D12DeviceRemovedExtendedData2(::windows_core::IUnknown);
6690impl ID3D12DeviceRemovedExtendedData2 {
6691 pub unsafe fn GetAutoBreadcrumbsOutput(&self) -> ::windows_core::Result<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT> {
6692 let mut result__: D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT = ::std::mem::zeroed();
6693 (::windows_core::Interface::vtable(self).base__.base__.GetAutoBreadcrumbsOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
6694 }
6695 pub unsafe fn GetPageFaultAllocationOutput(&self) -> ::windows_core::Result<D3D12_DRED_PAGE_FAULT_OUTPUT> {
6696 let mut result__: D3D12_DRED_PAGE_FAULT_OUTPUT = ::std::mem::zeroed();
6697 (::windows_core::Interface::vtable(self).base__.base__.GetPageFaultAllocationOutput)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
6698 }
6699 pub unsafe fn GetAutoBreadcrumbsOutput1(&self) -> ::windows_core::Result<D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1> {
6700 let mut result__: D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 = ::std::mem::zeroed();
6701 (::windows_core::Interface::vtable(self).base__.GetAutoBreadcrumbsOutput1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
6702 }
6703 pub unsafe fn GetPageFaultAllocationOutput1(&self) -> ::windows_core::Result<D3D12_DRED_PAGE_FAULT_OUTPUT1> {
6704 let mut result__: D3D12_DRED_PAGE_FAULT_OUTPUT1 = ::std::mem::zeroed();
6705 (::windows_core::Interface::vtable(self).base__.GetPageFaultAllocationOutput1)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
6706 }
6707 pub unsafe fn GetPageFaultAllocationOutput2(&self, poutput: *mut D3D12_DRED_PAGE_FAULT_OUTPUT2) -> ::windows_core::Result<()> {
6708 (::windows_core::Interface::vtable(self).GetPageFaultAllocationOutput2)(::windows_core::Interface::as_raw(self), poutput).ok()
6709 }
6710 pub unsafe fn GetDeviceState(&self) -> D3D12_DRED_DEVICE_STATE {
6711 (::windows_core::Interface::vtable(self).GetDeviceState)(::windows_core::Interface::as_raw(self))
6712 }
6713}
6714::windows_core::imp::interface_hierarchy!(ID3D12DeviceRemovedExtendedData2, ::windows_core::IUnknown, ID3D12DeviceRemovedExtendedData, ID3D12DeviceRemovedExtendedData1);
6715unsafe impl ::core::marker::Send for ID3D12DeviceRemovedExtendedData2 {}
6716unsafe impl ::core::marker::Sync for ID3D12DeviceRemovedExtendedData2 {}
6717unsafe impl ::windows_core::Interface for ID3D12DeviceRemovedExtendedData2 {
6718 type Vtable = ID3D12DeviceRemovedExtendedData2_Vtbl;
6719}
6720unsafe impl ::windows_core::ComInterface for ID3D12DeviceRemovedExtendedData2 {
6721 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x67fc5816_e4ca_4915_bf18_42541272da54);
6722}
6723#[repr(C)]
6724#[doc(hidden)]
6725pub struct ID3D12DeviceRemovedExtendedData2_Vtbl {
6726 pub base__: ID3D12DeviceRemovedExtendedData1_Vtbl,
6727 pub GetPageFaultAllocationOutput2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, poutput: *mut D3D12_DRED_PAGE_FAULT_OUTPUT2) -> ::windows_core::HRESULT,
6728 pub GetDeviceState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> D3D12_DRED_DEVICE_STATE,
6729}
6730#[repr(transparent)]
6731#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
6732pub struct ID3D12DeviceRemovedExtendedDataSettings(::windows_core::IUnknown);
6733impl ID3D12DeviceRemovedExtendedDataSettings {
6734 pub unsafe fn SetAutoBreadcrumbsEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
6735 (::windows_core::Interface::vtable(self).SetAutoBreadcrumbsEnablement)(::windows_core::Interface::as_raw(self), enablement)
6736 }
6737 pub unsafe fn SetPageFaultEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
6738 (::windows_core::Interface::vtable(self).SetPageFaultEnablement)(::windows_core::Interface::as_raw(self), enablement)
6739 }
6740 pub unsafe fn SetWatsonDumpEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
6741 (::windows_core::Interface::vtable(self).SetWatsonDumpEnablement)(::windows_core::Interface::as_raw(self), enablement)
6742 }
6743}
6744::windows_core::imp::interface_hierarchy!(ID3D12DeviceRemovedExtendedDataSettings, ::windows_core::IUnknown);
6745unsafe impl ::core::marker::Send for ID3D12DeviceRemovedExtendedDataSettings {}
6746unsafe impl ::core::marker::Sync for ID3D12DeviceRemovedExtendedDataSettings {}
6747unsafe impl ::windows_core::Interface for ID3D12DeviceRemovedExtendedDataSettings {
6748 type Vtable = ID3D12DeviceRemovedExtendedDataSettings_Vtbl;
6749}
6750unsafe impl ::windows_core::ComInterface for ID3D12DeviceRemovedExtendedDataSettings {
6751 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x82bc481c_6b9b_4030_aedb_7ee3d1df1e63);
6752}
6753#[repr(C)]
6754#[doc(hidden)]
6755pub struct ID3D12DeviceRemovedExtendedDataSettings_Vtbl {
6756 pub base__: ::windows_core::IUnknown_Vtbl,
6757 pub SetAutoBreadcrumbsEnablement: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enablement: D3D12_DRED_ENABLEMENT),
6758 pub SetPageFaultEnablement: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enablement: D3D12_DRED_ENABLEMENT),
6759 pub SetWatsonDumpEnablement: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enablement: D3D12_DRED_ENABLEMENT),
6760}
6761#[repr(transparent)]
6762#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
6763pub struct ID3D12DeviceRemovedExtendedDataSettings1(::windows_core::IUnknown);
6764impl ID3D12DeviceRemovedExtendedDataSettings1 {
6765 pub unsafe fn SetAutoBreadcrumbsEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
6766 (::windows_core::Interface::vtable(self).base__.SetAutoBreadcrumbsEnablement)(::windows_core::Interface::as_raw(self), enablement)
6767 }
6768 pub unsafe fn SetPageFaultEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
6769 (::windows_core::Interface::vtable(self).base__.SetPageFaultEnablement)(::windows_core::Interface::as_raw(self), enablement)
6770 }
6771 pub unsafe fn SetWatsonDumpEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
6772 (::windows_core::Interface::vtable(self).base__.SetWatsonDumpEnablement)(::windows_core::Interface::as_raw(self), enablement)
6773 }
6774 pub unsafe fn SetBreadcrumbContextEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
6775 (::windows_core::Interface::vtable(self).SetBreadcrumbContextEnablement)(::windows_core::Interface::as_raw(self), enablement)
6776 }
6777}
6778::windows_core::imp::interface_hierarchy!(ID3D12DeviceRemovedExtendedDataSettings1, ::windows_core::IUnknown, ID3D12DeviceRemovedExtendedDataSettings);
6779unsafe impl ::core::marker::Send for ID3D12DeviceRemovedExtendedDataSettings1 {}
6780unsafe impl ::core::marker::Sync for ID3D12DeviceRemovedExtendedDataSettings1 {}
6781unsafe impl ::windows_core::Interface for ID3D12DeviceRemovedExtendedDataSettings1 {
6782 type Vtable = ID3D12DeviceRemovedExtendedDataSettings1_Vtbl;
6783}
6784unsafe impl ::windows_core::ComInterface for ID3D12DeviceRemovedExtendedDataSettings1 {
6785 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xdbd5ae51_3317_4f0a_adf9_1d7cedcaae0b);
6786}
6787#[repr(C)]
6788#[doc(hidden)]
6789pub struct ID3D12DeviceRemovedExtendedDataSettings1_Vtbl {
6790 pub base__: ID3D12DeviceRemovedExtendedDataSettings_Vtbl,
6791 pub SetBreadcrumbContextEnablement: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enablement: D3D12_DRED_ENABLEMENT),
6792}
6793#[repr(transparent)]
6794#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
6795pub struct ID3D12DeviceRemovedExtendedDataSettings2(::windows_core::IUnknown);
6796impl ID3D12DeviceRemovedExtendedDataSettings2 {
6797 pub unsafe fn SetAutoBreadcrumbsEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
6798 (::windows_core::Interface::vtable(self).base__.base__.SetAutoBreadcrumbsEnablement)(::windows_core::Interface::as_raw(self), enablement)
6799 }
6800 pub unsafe fn SetPageFaultEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
6801 (::windows_core::Interface::vtable(self).base__.base__.SetPageFaultEnablement)(::windows_core::Interface::as_raw(self), enablement)
6802 }
6803 pub unsafe fn SetWatsonDumpEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
6804 (::windows_core::Interface::vtable(self).base__.base__.SetWatsonDumpEnablement)(::windows_core::Interface::as_raw(self), enablement)
6805 }
6806 pub unsafe fn SetBreadcrumbContextEnablement(&self, enablement: D3D12_DRED_ENABLEMENT) {
6807 (::windows_core::Interface::vtable(self).base__.SetBreadcrumbContextEnablement)(::windows_core::Interface::as_raw(self), enablement)
6808 }
6809 #[doc = "Required features: `\"Win32_Foundation\"`"]
6810 #[cfg(feature = "Win32_Foundation")]
6811 pub unsafe fn UseMarkersOnlyAutoBreadcrumbs<P0>(&self, markersonly: P0)
6812 where
6813 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
6814 {
6815 (::windows_core::Interface::vtable(self).UseMarkersOnlyAutoBreadcrumbs)(::windows_core::Interface::as_raw(self), markersonly.into_param().abi())
6816 }
6817}
6818::windows_core::imp::interface_hierarchy!(ID3D12DeviceRemovedExtendedDataSettings2, ::windows_core::IUnknown, ID3D12DeviceRemovedExtendedDataSettings, ID3D12DeviceRemovedExtendedDataSettings1);
6819unsafe impl ::core::marker::Send for ID3D12DeviceRemovedExtendedDataSettings2 {}
6820unsafe impl ::core::marker::Sync for ID3D12DeviceRemovedExtendedDataSettings2 {}
6821unsafe impl ::windows_core::Interface for ID3D12DeviceRemovedExtendedDataSettings2 {
6822 type Vtable = ID3D12DeviceRemovedExtendedDataSettings2_Vtbl;
6823}
6824unsafe impl ::windows_core::ComInterface for ID3D12DeviceRemovedExtendedDataSettings2 {
6825 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x61552388_01ab_4008_a436_83db189566ea);
6826}
6827#[repr(C)]
6828#[doc(hidden)]
6829pub struct ID3D12DeviceRemovedExtendedDataSettings2_Vtbl {
6830 pub base__: ID3D12DeviceRemovedExtendedDataSettings1_Vtbl,
6831 #[cfg(feature = "Win32_Foundation")]
6832 pub UseMarkersOnlyAutoBreadcrumbs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, markersonly: super::super::Foundation::BOOL),
6833 #[cfg(not(feature = "Win32_Foundation"))]
6834 UseMarkersOnlyAutoBreadcrumbs: usize,
6835}
6836#[repr(transparent)]
6837#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
6838pub struct ID3D12Fence(::windows_core::IUnknown);
6839impl ID3D12Fence {
6840 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
6841 (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
6842 }
6843 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
6844 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
6845 }
6846 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
6847 where
6848 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
6849 {
6850 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
6851 }
6852 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
6853 where
6854 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
6855 {
6856 (::windows_core::Interface::vtable(self).base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
6857 }
6858 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6859 where
6860 T: ::windows_core::ComInterface,
6861 {
6862 (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6863 }
6864 pub unsafe fn GetCompletedValue(&self) -> u64 {
6865 (::windows_core::Interface::vtable(self).GetCompletedValue)(::windows_core::Interface::as_raw(self))
6866 }
6867 #[doc = "Required features: `\"Win32_Foundation\"`"]
6868 #[cfg(feature = "Win32_Foundation")]
6869 pub unsafe fn SetEventOnCompletion<P0>(&self, value: u64, hevent: P0) -> ::windows_core::Result<()>
6870 where
6871 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
6872 {
6873 (::windows_core::Interface::vtable(self).SetEventOnCompletion)(::windows_core::Interface::as_raw(self), value, hevent.into_param().abi()).ok()
6874 }
6875 pub unsafe fn Signal(&self, value: u64) -> ::windows_core::Result<()> {
6876 (::windows_core::Interface::vtable(self).Signal)(::windows_core::Interface::as_raw(self), value).ok()
6877 }
6878}
6879::windows_core::imp::interface_hierarchy!(ID3D12Fence, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12Pageable);
6880unsafe impl ::core::marker::Send for ID3D12Fence {}
6881unsafe impl ::core::marker::Sync for ID3D12Fence {}
6882unsafe impl ::windows_core::Interface for ID3D12Fence {
6883 type Vtable = ID3D12Fence_Vtbl;
6884}
6885unsafe impl ::windows_core::ComInterface for ID3D12Fence {
6886 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0a753dcf_c4d8_4b91_adf6_be5a60d95a76);
6887}
6888#[repr(C)]
6889#[doc(hidden)]
6890pub struct ID3D12Fence_Vtbl {
6891 pub base__: ID3D12Pageable_Vtbl,
6892 pub GetCompletedValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u64,
6893 #[cfg(feature = "Win32_Foundation")]
6894 pub SetEventOnCompletion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u64, hevent: super::super::Foundation::HANDLE) -> ::windows_core::HRESULT,
6895 #[cfg(not(feature = "Win32_Foundation"))]
6896 SetEventOnCompletion: usize,
6897 pub Signal: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u64) -> ::windows_core::HRESULT,
6898}
6899#[repr(transparent)]
6900#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
6901pub struct ID3D12Fence1(::windows_core::IUnknown);
6902impl ID3D12Fence1 {
6903 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
6904 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
6905 }
6906 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
6907 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
6908 }
6909 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
6910 where
6911 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
6912 {
6913 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
6914 }
6915 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
6916 where
6917 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
6918 {
6919 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
6920 }
6921 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
6922 where
6923 T: ::windows_core::ComInterface,
6924 {
6925 (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
6926 }
6927 pub unsafe fn GetCompletedValue(&self) -> u64 {
6928 (::windows_core::Interface::vtable(self).base__.GetCompletedValue)(::windows_core::Interface::as_raw(self))
6929 }
6930 #[doc = "Required features: `\"Win32_Foundation\"`"]
6931 #[cfg(feature = "Win32_Foundation")]
6932 pub unsafe fn SetEventOnCompletion<P0>(&self, value: u64, hevent: P0) -> ::windows_core::Result<()>
6933 where
6934 P0: ::windows_core::IntoParam<super::super::Foundation::HANDLE>,
6935 {
6936 (::windows_core::Interface::vtable(self).base__.SetEventOnCompletion)(::windows_core::Interface::as_raw(self), value, hevent.into_param().abi()).ok()
6937 }
6938 pub unsafe fn Signal(&self, value: u64) -> ::windows_core::Result<()> {
6939 (::windows_core::Interface::vtable(self).base__.Signal)(::windows_core::Interface::as_raw(self), value).ok()
6940 }
6941 pub unsafe fn GetCreationFlags(&self) -> D3D12_FENCE_FLAGS {
6942 (::windows_core::Interface::vtable(self).GetCreationFlags)(::windows_core::Interface::as_raw(self))
6943 }
6944}
6945::windows_core::imp::interface_hierarchy!(ID3D12Fence1, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12Pageable, ID3D12Fence);
6946unsafe impl ::core::marker::Send for ID3D12Fence1 {}
6947unsafe impl ::core::marker::Sync for ID3D12Fence1 {}
6948unsafe impl ::windows_core::Interface for ID3D12Fence1 {
6949 type Vtable = ID3D12Fence1_Vtbl;
6950}
6951unsafe impl ::windows_core::ComInterface for ID3D12Fence1 {
6952 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x433685fe_e22b_4ca0_a8db_b5b4f4dd0e4a);
6953}
6954#[repr(C)]
6955#[doc(hidden)]
6956pub struct ID3D12Fence1_Vtbl {
6957 pub base__: ID3D12Fence_Vtbl,
6958 pub GetCreationFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> D3D12_FENCE_FLAGS,
6959}
6960#[repr(transparent)]
6961#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
6962pub struct ID3D12FunctionParameterReflection(::std::ptr::NonNull<::std::ffi::c_void>);
6963impl ID3D12FunctionParameterReflection {
6964 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
6965 #[cfg(feature = "Win32_Graphics_Direct3D")]
6966 pub unsafe fn GetDesc(&self, pdesc: *mut D3D12_PARAMETER_DESC) -> ::windows_core::Result<()> {
6967 (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), pdesc).ok()
6968 }
6969}
6970unsafe impl ::core::marker::Send for ID3D12FunctionParameterReflection {}
6971unsafe impl ::core::marker::Sync for ID3D12FunctionParameterReflection {}
6972unsafe impl ::windows_core::Interface for ID3D12FunctionParameterReflection {
6973 type Vtable = ID3D12FunctionParameterReflection_Vtbl;
6974}
6975#[repr(C)]
6976#[doc(hidden)]
6977pub struct ID3D12FunctionParameterReflection_Vtbl {
6978 #[cfg(feature = "Win32_Graphics_Direct3D")]
6979 pub GetDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *mut D3D12_PARAMETER_DESC) -> ::windows_core::HRESULT,
6980 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
6981 GetDesc: usize,
6982}
6983#[repr(transparent)]
6984#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
6985pub struct ID3D12FunctionReflection(::std::ptr::NonNull<::std::ffi::c_void>);
6986impl ID3D12FunctionReflection {
6987 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D\"`"]
6988 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
6989 pub unsafe fn GetDesc(&self, pdesc: *mut D3D12_FUNCTION_DESC) -> ::windows_core::Result<()> {
6990 (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), pdesc).ok()
6991 }
6992 pub unsafe fn GetConstantBufferByIndex(&self, bufferindex: u32) -> ::core::option::Option<ID3D12ShaderReflectionConstantBuffer> {
6993 (::windows_core::Interface::vtable(self).GetConstantBufferByIndex)(::windows_core::Interface::as_raw(self), bufferindex)
6994 }
6995 pub unsafe fn GetConstantBufferByName<P0>(&self, name: P0) -> ::core::option::Option<ID3D12ShaderReflectionConstantBuffer>
6996 where
6997 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
6998 {
6999 (::windows_core::Interface::vtable(self).GetConstantBufferByName)(::windows_core::Interface::as_raw(self), name.into_param().abi())
7000 }
7001 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
7002 #[cfg(feature = "Win32_Graphics_Direct3D")]
7003 pub unsafe fn GetResourceBindingDesc(&self, resourceindex: u32, pdesc: *mut D3D12_SHADER_INPUT_BIND_DESC) -> ::windows_core::Result<()> {
7004 (::windows_core::Interface::vtable(self).GetResourceBindingDesc)(::windows_core::Interface::as_raw(self), resourceindex, pdesc).ok()
7005 }
7006 pub unsafe fn GetVariableByName<P0>(&self, name: P0) -> ::core::option::Option<ID3D12ShaderReflectionVariable>
7007 where
7008 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
7009 {
7010 (::windows_core::Interface::vtable(self).GetVariableByName)(::windows_core::Interface::as_raw(self), name.into_param().abi())
7011 }
7012 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
7013 #[cfg(feature = "Win32_Graphics_Direct3D")]
7014 pub unsafe fn GetResourceBindingDescByName<P0>(&self, name: P0, pdesc: *mut D3D12_SHADER_INPUT_BIND_DESC) -> ::windows_core::Result<()>
7015 where
7016 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
7017 {
7018 (::windows_core::Interface::vtable(self).GetResourceBindingDescByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), pdesc).ok()
7019 }
7020 pub unsafe fn GetFunctionParameter(&self, parameterindex: i32) -> ::core::option::Option<ID3D12FunctionParameterReflection> {
7021 (::windows_core::Interface::vtable(self).GetFunctionParameter)(::windows_core::Interface::as_raw(self), parameterindex)
7022 }
7023}
7024unsafe impl ::core::marker::Send for ID3D12FunctionReflection {}
7025unsafe impl ::core::marker::Sync for ID3D12FunctionReflection {}
7026unsafe impl ::windows_core::Interface for ID3D12FunctionReflection {
7027 type Vtable = ID3D12FunctionReflection_Vtbl;
7028}
7029#[repr(C)]
7030#[doc(hidden)]
7031pub struct ID3D12FunctionReflection_Vtbl {
7032 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
7033 pub GetDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *mut D3D12_FUNCTION_DESC) -> ::windows_core::HRESULT,
7034 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D")))]
7035 GetDesc: usize,
7036 pub GetConstantBufferByIndex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bufferindex: u32) -> ::core::option::Option<ID3D12ShaderReflectionConstantBuffer>,
7037 pub GetConstantBufferByName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::windows_core::PCSTR) -> ::core::option::Option<ID3D12ShaderReflectionConstantBuffer>,
7038 #[cfg(feature = "Win32_Graphics_Direct3D")]
7039 pub GetResourceBindingDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, resourceindex: u32, pdesc: *mut D3D12_SHADER_INPUT_BIND_DESC) -> ::windows_core::HRESULT,
7040 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
7041 GetResourceBindingDesc: usize,
7042 pub GetVariableByName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::windows_core::PCSTR) -> ::core::option::Option<ID3D12ShaderReflectionVariable>,
7043 #[cfg(feature = "Win32_Graphics_Direct3D")]
7044 pub GetResourceBindingDescByName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::windows_core::PCSTR, pdesc: *mut D3D12_SHADER_INPUT_BIND_DESC) -> ::windows_core::HRESULT,
7045 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
7046 GetResourceBindingDescByName: usize,
7047 pub GetFunctionParameter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, parameterindex: i32) -> ::core::option::Option<ID3D12FunctionParameterReflection>,
7048}
7049#[repr(transparent)]
7050#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
7051pub struct ID3D12GraphicsCommandList(::windows_core::IUnknown);
7052impl ID3D12GraphicsCommandList {
7053 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
7054 (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
7055 }
7056 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
7057 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
7058 }
7059 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
7060 where
7061 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
7062 {
7063 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
7064 }
7065 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
7066 where
7067 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
7068 {
7069 (::windows_core::Interface::vtable(self).base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
7070 }
7071 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
7072 where
7073 T: ::windows_core::ComInterface,
7074 {
7075 (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
7076 }
7077 pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
7078 (::windows_core::Interface::vtable(self).base__.GetType)(::windows_core::Interface::as_raw(self))
7079 }
7080 pub unsafe fn Close(&self) -> ::windows_core::Result<()> {
7081 (::windows_core::Interface::vtable(self).Close)(::windows_core::Interface::as_raw(self)).ok()
7082 }
7083 pub unsafe fn Reset<P0, P1>(&self, pallocator: P0, pinitialstate: P1) -> ::windows_core::Result<()>
7084 where
7085 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
7086 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
7087 {
7088 (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
7089 }
7090 pub unsafe fn ClearState<P0>(&self, ppipelinestate: P0)
7091 where
7092 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
7093 {
7094 (::windows_core::Interface::vtable(self).ClearState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
7095 }
7096 pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
7097 (::windows_core::Interface::vtable(self).DrawInstanced)(::windows_core::Interface::as_raw(self), vertexcountperinstance, instancecount, startvertexlocation, startinstancelocation)
7098 }
7099 pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
7100 (::windows_core::Interface::vtable(self).DrawIndexedInstanced)(::windows_core::Interface::as_raw(self), indexcountperinstance, instancecount, startindexlocation, basevertexlocation, startinstancelocation)
7101 }
7102 pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
7103 (::windows_core::Interface::vtable(self).Dispatch)(::windows_core::Interface::as_raw(self), threadgroupcountx, threadgroupcounty, threadgroupcountz)
7104 }
7105 pub unsafe fn CopyBufferRegion<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, numbytes: u64)
7106 where
7107 P0: ::windows_core::IntoParam<ID3D12Resource>,
7108 P1: ::windows_core::IntoParam<ID3D12Resource>,
7109 {
7110 (::windows_core::Interface::vtable(self).CopyBufferRegion)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, numbytes)
7111 }
7112 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
7113 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7114 pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: ::core::option::Option<*const D3D12_BOX>) {
7115 (::windows_core::Interface::vtable(self).CopyTextureRegion)(::windows_core::Interface::as_raw(self), pdst, dstx, dsty, dstz, psrc, ::core::mem::transmute(psrcbox.unwrap_or(::std::ptr::null())))
7116 }
7117 pub unsafe fn CopyResource<P0, P1>(&self, pdstresource: P0, psrcresource: P1)
7118 where
7119 P0: ::windows_core::IntoParam<ID3D12Resource>,
7120 P1: ::windows_core::IntoParam<ID3D12Resource>,
7121 {
7122 (::windows_core::Interface::vtable(self).CopyResource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), psrcresource.into_param().abi())
7123 }
7124 #[doc = "Required features: `\"Win32_Foundation\"`"]
7125 #[cfg(feature = "Win32_Foundation")]
7126 pub unsafe fn CopyTiles<P0, P1>(&self, ptiledresource: P0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: P1, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)
7127 where
7128 P0: ::windows_core::IntoParam<ID3D12Resource>,
7129 P1: ::windows_core::IntoParam<ID3D12Resource>,
7130 {
7131 (::windows_core::Interface::vtable(self).CopyTiles)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ptileregionstartcoordinate, ptileregionsize, pbuffer.into_param().abi(), bufferstartoffsetinbytes, flags)
7132 }
7133 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
7134 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7135 pub unsafe fn ResolveSubresource<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, psrcresource: P1, srcsubresource: u32, format: super::Dxgi::Common::DXGI_FORMAT)
7136 where
7137 P0: ::windows_core::IntoParam<ID3D12Resource>,
7138 P1: ::windows_core::IntoParam<ID3D12Resource>,
7139 {
7140 (::windows_core::Interface::vtable(self).ResolveSubresource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, psrcresource.into_param().abi(), srcsubresource, format)
7141 }
7142 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
7143 #[cfg(feature = "Win32_Graphics_Direct3D")]
7144 pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY) {
7145 (::windows_core::Interface::vtable(self).IASetPrimitiveTopology)(::windows_core::Interface::as_raw(self), primitivetopology)
7146 }
7147 pub unsafe fn RSSetViewports(&self, pviewports: &[D3D12_VIEWPORT]) {
7148 (::windows_core::Interface::vtable(self).RSSetViewports)(::windows_core::Interface::as_raw(self), pviewports.len().try_into().unwrap(), ::core::mem::transmute(pviewports.as_ptr()))
7149 }
7150 #[doc = "Required features: `\"Win32_Foundation\"`"]
7151 #[cfg(feature = "Win32_Foundation")]
7152 pub unsafe fn RSSetScissorRects(&self, prects: &[super::super::Foundation::RECT]) {
7153 (::windows_core::Interface::vtable(self).RSSetScissorRects)(::windows_core::Interface::as_raw(self), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
7154 }
7155 pub unsafe fn OMSetBlendFactor(&self, blendfactor: ::core::option::Option<&[f32; 4]>) {
7156 (::windows_core::Interface::vtable(self).OMSetBlendFactor)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(blendfactor.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
7157 }
7158 pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
7159 (::windows_core::Interface::vtable(self).OMSetStencilRef)(::windows_core::Interface::as_raw(self), stencilref)
7160 }
7161 pub unsafe fn SetPipelineState<P0>(&self, ppipelinestate: P0)
7162 where
7163 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
7164 {
7165 (::windows_core::Interface::vtable(self).SetPipelineState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
7166 }
7167 pub unsafe fn ResourceBarrier(&self, pbarriers: &[D3D12_RESOURCE_BARRIER]) {
7168 (::windows_core::Interface::vtable(self).ResourceBarrier)(::windows_core::Interface::as_raw(self), pbarriers.len().try_into().unwrap(), ::core::mem::transmute(pbarriers.as_ptr()))
7169 }
7170 pub unsafe fn ExecuteBundle<P0>(&self, pcommandlist: P0)
7171 where
7172 P0: ::windows_core::IntoParam<ID3D12GraphicsCommandList>,
7173 {
7174 (::windows_core::Interface::vtable(self).ExecuteBundle)(::windows_core::Interface::as_raw(self), pcommandlist.into_param().abi())
7175 }
7176 pub unsafe fn SetDescriptorHeaps(&self, ppdescriptorheaps: &[::core::option::Option<ID3D12DescriptorHeap>]) {
7177 (::windows_core::Interface::vtable(self).SetDescriptorHeaps)(::windows_core::Interface::as_raw(self), ppdescriptorheaps.len().try_into().unwrap(), ::core::mem::transmute(ppdescriptorheaps.as_ptr()))
7178 }
7179 pub unsafe fn SetComputeRootSignature<P0>(&self, prootsignature: P0)
7180 where
7181 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
7182 {
7183 (::windows_core::Interface::vtable(self).SetComputeRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
7184 }
7185 pub unsafe fn SetGraphicsRootSignature<P0>(&self, prootsignature: P0)
7186 where
7187 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
7188 {
7189 (::windows_core::Interface::vtable(self).SetGraphicsRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
7190 }
7191 pub unsafe fn SetComputeRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
7192 (::windows_core::Interface::vtable(self).SetComputeRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
7193 }
7194 pub unsafe fn SetGraphicsRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
7195 (::windows_core::Interface::vtable(self).SetGraphicsRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
7196 }
7197 pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
7198 (::windows_core::Interface::vtable(self).SetComputeRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
7199 }
7200 pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
7201 (::windows_core::Interface::vtable(self).SetGraphicsRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
7202 }
7203 pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
7204 (::windows_core::Interface::vtable(self).SetComputeRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
7205 }
7206 pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
7207 (::windows_core::Interface::vtable(self).SetGraphicsRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
7208 }
7209 pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
7210 (::windows_core::Interface::vtable(self).SetComputeRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7211 }
7212 pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
7213 (::windows_core::Interface::vtable(self).SetGraphicsRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7214 }
7215 pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
7216 (::windows_core::Interface::vtable(self).SetComputeRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7217 }
7218 pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
7219 (::windows_core::Interface::vtable(self).SetGraphicsRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7220 }
7221 pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
7222 (::windows_core::Interface::vtable(self).SetComputeRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7223 }
7224 pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
7225 (::windows_core::Interface::vtable(self).SetGraphicsRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7226 }
7227 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
7228 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7229 pub unsafe fn IASetIndexBuffer(&self, pview: ::core::option::Option<*const D3D12_INDEX_BUFFER_VIEW>) {
7230 (::windows_core::Interface::vtable(self).IASetIndexBuffer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pview.unwrap_or(::std::ptr::null())))
7231 }
7232 pub unsafe fn IASetVertexBuffers(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_VERTEX_BUFFER_VIEW]>) {
7233 (::windows_core::Interface::vtable(self).IASetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
7234 }
7235 pub unsafe fn SOSetTargets(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_STREAM_OUTPUT_BUFFER_VIEW]>) {
7236 (::windows_core::Interface::vtable(self).SOSetTargets)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
7237 }
7238 #[doc = "Required features: `\"Win32_Foundation\"`"]
7239 #[cfg(feature = "Win32_Foundation")]
7240 pub unsafe fn OMSetRenderTargets<P0>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>, rtssinglehandletodescriptorrange: P0, pdepthstencildescriptor: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>)
7241 where
7242 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
7243 {
7244 (::windows_core::Interface::vtable(self).OMSetRenderTargets)(::windows_core::Interface::as_raw(self), numrendertargetdescriptors, ::core::mem::transmute(prendertargetdescriptors.unwrap_or(::std::ptr::null())), rtssinglehandletodescriptorrange.into_param().abi(), ::core::mem::transmute(pdepthstencildescriptor.unwrap_or(::std::ptr::null())))
7245 }
7246 #[doc = "Required features: `\"Win32_Foundation\"`"]
7247 #[cfg(feature = "Win32_Foundation")]
7248 pub unsafe fn ClearDepthStencilView(&self, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, prects: &[super::super::Foundation::RECT]) {
7249 (::windows_core::Interface::vtable(self).ClearDepthStencilView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(depthstencilview), clearflags, depth, stencil, prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
7250 }
7251 #[doc = "Required features: `\"Win32_Foundation\"`"]
7252 #[cfg(feature = "Win32_Foundation")]
7253 pub unsafe fn ClearRenderTargetView(&self, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: &[f32; 4], prects: ::core::option::Option<&[super::super::Foundation::RECT]>) {
7254 (::windows_core::Interface::vtable(self).ClearRenderTargetView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rendertargetview), ::core::mem::transmute(colorrgba.as_ptr()), prects.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prects.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
7255 }
7256 #[doc = "Required features: `\"Win32_Foundation\"`"]
7257 #[cfg(feature = "Win32_Foundation")]
7258 pub unsafe fn ClearUnorderedAccessViewUint<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[u32; 4], prects: &[super::super::Foundation::RECT])
7259 where
7260 P0: ::windows_core::IntoParam<ID3D12Resource>,
7261 {
7262 (::windows_core::Interface::vtable(self).ClearUnorderedAccessViewUint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
7263 }
7264 #[doc = "Required features: `\"Win32_Foundation\"`"]
7265 #[cfg(feature = "Win32_Foundation")]
7266 pub unsafe fn ClearUnorderedAccessViewFloat<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[f32; 4], prects: &[super::super::Foundation::RECT])
7267 where
7268 P0: ::windows_core::IntoParam<ID3D12Resource>,
7269 {
7270 (::windows_core::Interface::vtable(self).ClearUnorderedAccessViewFloat)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
7271 }
7272 #[doc = "Required features: `\"Win32_Foundation\"`"]
7273 #[cfg(feature = "Win32_Foundation")]
7274 pub unsafe fn DiscardResource<P0>(&self, presource: P0, pregion: ::core::option::Option<*const D3D12_DISCARD_REGION>)
7275 where
7276 P0: ::windows_core::IntoParam<ID3D12Resource>,
7277 {
7278 (::windows_core::Interface::vtable(self).DiscardResource)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pregion.unwrap_or(::std::ptr::null())))
7279 }
7280 pub unsafe fn BeginQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
7281 where
7282 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
7283 {
7284 (::windows_core::Interface::vtable(self).BeginQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
7285 }
7286 pub unsafe fn EndQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
7287 where
7288 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
7289 {
7290 (::windows_core::Interface::vtable(self).EndQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
7291 }
7292 pub unsafe fn ResolveQueryData<P0, P1>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: P1, aligneddestinationbufferoffset: u64)
7293 where
7294 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
7295 P1: ::windows_core::IntoParam<ID3D12Resource>,
7296 {
7297 (::windows_core::Interface::vtable(self).ResolveQueryData)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, startindex, numqueries, pdestinationbuffer.into_param().abi(), aligneddestinationbufferoffset)
7298 }
7299 pub unsafe fn SetPredication<P0>(&self, pbuffer: P0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)
7300 where
7301 P0: ::windows_core::IntoParam<ID3D12Resource>,
7302 {
7303 (::windows_core::Interface::vtable(self).SetPredication)(::windows_core::Interface::as_raw(self), pbuffer.into_param().abi(), alignedbufferoffset, operation)
7304 }
7305 pub unsafe fn SetMarker(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
7306 (::windows_core::Interface::vtable(self).SetMarker)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
7307 }
7308 pub unsafe fn BeginEvent(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
7309 (::windows_core::Interface::vtable(self).BeginEvent)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
7310 }
7311 pub unsafe fn EndEvent(&self) {
7312 (::windows_core::Interface::vtable(self).EndEvent)(::windows_core::Interface::as_raw(self))
7313 }
7314 pub unsafe fn ExecuteIndirect<P0, P1, P2>(&self, pcommandsignature: P0, maxcommandcount: u32, pargumentbuffer: P1, argumentbufferoffset: u64, pcountbuffer: P2, countbufferoffset: u64)
7315 where
7316 P0: ::windows_core::IntoParam<ID3D12CommandSignature>,
7317 P1: ::windows_core::IntoParam<ID3D12Resource>,
7318 P2: ::windows_core::IntoParam<ID3D12Resource>,
7319 {
7320 (::windows_core::Interface::vtable(self).ExecuteIndirect)(::windows_core::Interface::as_raw(self), pcommandsignature.into_param().abi(), maxcommandcount, pargumentbuffer.into_param().abi(), argumentbufferoffset, pcountbuffer.into_param().abi(), countbufferoffset)
7321 }
7322}
7323::windows_core::imp::interface_hierarchy!(ID3D12GraphicsCommandList, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12CommandList);
7324unsafe impl ::core::marker::Send for ID3D12GraphicsCommandList {}
7325unsafe impl ::core::marker::Sync for ID3D12GraphicsCommandList {}
7326unsafe impl ::windows_core::Interface for ID3D12GraphicsCommandList {
7327 type Vtable = ID3D12GraphicsCommandList_Vtbl;
7328}
7329unsafe impl ::windows_core::ComInterface for ID3D12GraphicsCommandList {
7330 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x5b160d0f_ac1b_4185_8ba8_b3ae42a5a455);
7331}
7332#[repr(C)]
7333#[doc(hidden)]
7334pub struct ID3D12GraphicsCommandList_Vtbl {
7335 pub base__: ID3D12CommandList_Vtbl,
7336 pub Close: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
7337 pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pallocator: *mut ::core::ffi::c_void, pinitialstate: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
7338 pub ClearState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppipelinestate: *mut ::core::ffi::c_void),
7339 pub DrawInstanced: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32),
7340 pub DrawIndexedInstanced: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32),
7341 pub Dispatch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32),
7342 pub CopyBufferRegion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdstbuffer: *mut ::core::ffi::c_void, dstoffset: u64, psrcbuffer: *mut ::core::ffi::c_void, srcoffset: u64, numbytes: u64),
7343 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7344 pub CopyTextureRegion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX),
7345 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
7346 CopyTextureRegion: usize,
7347 pub CopyResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdstresource: *mut ::core::ffi::c_void, psrcresource: *mut ::core::ffi::c_void),
7348 #[cfg(feature = "Win32_Foundation")]
7349 pub CopyTiles: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptiledresource: *mut ::core::ffi::c_void, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: *mut ::core::ffi::c_void, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS),
7350 #[cfg(not(feature = "Win32_Foundation"))]
7351 CopyTiles: usize,
7352 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7353 pub ResolveSubresource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdstresource: *mut ::core::ffi::c_void, dstsubresource: u32, psrcresource: *mut ::core::ffi::c_void, srcsubresource: u32, format: super::Dxgi::Common::DXGI_FORMAT),
7354 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
7355 ResolveSubresource: usize,
7356 #[cfg(feature = "Win32_Graphics_Direct3D")]
7357 pub IASetPrimitiveTopology: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, primitivetopology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY),
7358 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
7359 IASetPrimitiveTopology: usize,
7360 pub RSSetViewports: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numviewports: u32, pviewports: *const D3D12_VIEWPORT),
7361 #[cfg(feature = "Win32_Foundation")]
7362 pub RSSetScissorRects: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numrects: u32, prects: *const super::super::Foundation::RECT),
7363 #[cfg(not(feature = "Win32_Foundation"))]
7364 RSSetScissorRects: usize,
7365 pub OMSetBlendFactor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, blendfactor: *const f32),
7366 pub OMSetStencilRef: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, stencilref: u32),
7367 pub SetPipelineState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppipelinestate: *mut ::core::ffi::c_void),
7368 pub ResourceBarrier: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER),
7369 pub ExecuteBundle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcommandlist: *mut ::core::ffi::c_void),
7370 pub SetDescriptorHeaps: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numdescriptorheaps: u32, ppdescriptorheaps: *const *mut ::core::ffi::c_void),
7371 pub SetComputeRootSignature: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prootsignature: *mut ::core::ffi::c_void),
7372 pub SetGraphicsRootSignature: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prootsignature: *mut ::core::ffi::c_void),
7373 pub SetComputeRootDescriptorTable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
7374 pub SetGraphicsRootDescriptorTable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE),
7375 pub SetComputeRoot32BitConstant: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
7376 pub SetGraphicsRoot32BitConstant: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32),
7377 pub SetComputeRoot32BitConstants: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32),
7378 pub SetGraphicsRoot32BitConstants: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32),
7379 pub SetComputeRootConstantBufferView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rootparameterindex: u32, bufferlocation: u64),
7380 pub SetGraphicsRootConstantBufferView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rootparameterindex: u32, bufferlocation: u64),
7381 pub SetComputeRootShaderResourceView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rootparameterindex: u32, bufferlocation: u64),
7382 pub SetGraphicsRootShaderResourceView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rootparameterindex: u32, bufferlocation: u64),
7383 pub SetComputeRootUnorderedAccessView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rootparameterindex: u32, bufferlocation: u64),
7384 pub SetGraphicsRootUnorderedAccessView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rootparameterindex: u32, bufferlocation: u64),
7385 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7386 pub IASetIndexBuffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pview: *const D3D12_INDEX_BUFFER_VIEW),
7387 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
7388 IASetIndexBuffer: usize,
7389 pub IASetVertexBuffers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW),
7390 pub SOSetTargets: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW),
7391 #[cfg(feature = "Win32_Foundation")]
7392 pub OMSetRenderTargets: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: super::super::Foundation::BOOL, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE),
7393 #[cfg(not(feature = "Win32_Foundation"))]
7394 OMSetRenderTargets: usize,
7395 #[cfg(feature = "Win32_Foundation")]
7396 pub ClearDepthStencilView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const super::super::Foundation::RECT),
7397 #[cfg(not(feature = "Win32_Foundation"))]
7398 ClearDepthStencilView: usize,
7399 #[cfg(feature = "Win32_Foundation")]
7400 pub ClearRenderTargetView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
7401 #[cfg(not(feature = "Win32_Foundation"))]
7402 ClearRenderTargetView: usize,
7403 #[cfg(feature = "Win32_Foundation")]
7404 pub ClearUnorderedAccessViewUint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: *mut ::core::ffi::c_void, values: *const u32, numrects: u32, prects: *const super::super::Foundation::RECT),
7405 #[cfg(not(feature = "Win32_Foundation"))]
7406 ClearUnorderedAccessViewUint: usize,
7407 #[cfg(feature = "Win32_Foundation")]
7408 pub ClearUnorderedAccessViewFloat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: *mut ::core::ffi::c_void, values: *const f32, numrects: u32, prects: *const super::super::Foundation::RECT),
7409 #[cfg(not(feature = "Win32_Foundation"))]
7410 ClearUnorderedAccessViewFloat: usize,
7411 #[cfg(feature = "Win32_Foundation")]
7412 pub DiscardResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, pregion: *const D3D12_DISCARD_REGION),
7413 #[cfg(not(feature = "Win32_Foundation"))]
7414 DiscardResource: usize,
7415 pub BeginQuery: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pqueryheap: *mut ::core::ffi::c_void, r#type: D3D12_QUERY_TYPE, index: u32),
7416 pub EndQuery: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pqueryheap: *mut ::core::ffi::c_void, r#type: D3D12_QUERY_TYPE, index: u32),
7417 pub ResolveQueryData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pqueryheap: *mut ::core::ffi::c_void, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: *mut ::core::ffi::c_void, aligneddestinationbufferoffset: u64),
7418 pub SetPredication: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbuffer: *mut ::core::ffi::c_void, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP),
7419 pub SetMarker: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, metadata: u32, pdata: *const ::core::ffi::c_void, size: u32),
7420 pub BeginEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, metadata: u32, pdata: *const ::core::ffi::c_void, size: u32),
7421 pub EndEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
7422 pub ExecuteIndirect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcommandsignature: *mut ::core::ffi::c_void, maxcommandcount: u32, pargumentbuffer: *mut ::core::ffi::c_void, argumentbufferoffset: u64, pcountbuffer: *mut ::core::ffi::c_void, countbufferoffset: u64),
7423}
7424#[repr(transparent)]
7425#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
7426pub struct ID3D12GraphicsCommandList1(::windows_core::IUnknown);
7427impl ID3D12GraphicsCommandList1 {
7428 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
7429 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
7430 }
7431 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
7432 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
7433 }
7434 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
7435 where
7436 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
7437 {
7438 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
7439 }
7440 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
7441 where
7442 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
7443 {
7444 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
7445 }
7446 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
7447 where
7448 T: ::windows_core::ComInterface,
7449 {
7450 (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
7451 }
7452 pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
7453 (::windows_core::Interface::vtable(self).base__.base__.GetType)(::windows_core::Interface::as_raw(self))
7454 }
7455 pub unsafe fn Close(&self) -> ::windows_core::Result<()> {
7456 (::windows_core::Interface::vtable(self).base__.Close)(::windows_core::Interface::as_raw(self)).ok()
7457 }
7458 pub unsafe fn Reset<P0, P1>(&self, pallocator: P0, pinitialstate: P1) -> ::windows_core::Result<()>
7459 where
7460 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
7461 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
7462 {
7463 (::windows_core::Interface::vtable(self).base__.Reset)(::windows_core::Interface::as_raw(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
7464 }
7465 pub unsafe fn ClearState<P0>(&self, ppipelinestate: P0)
7466 where
7467 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
7468 {
7469 (::windows_core::Interface::vtable(self).base__.ClearState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
7470 }
7471 pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
7472 (::windows_core::Interface::vtable(self).base__.DrawInstanced)(::windows_core::Interface::as_raw(self), vertexcountperinstance, instancecount, startvertexlocation, startinstancelocation)
7473 }
7474 pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
7475 (::windows_core::Interface::vtable(self).base__.DrawIndexedInstanced)(::windows_core::Interface::as_raw(self), indexcountperinstance, instancecount, startindexlocation, basevertexlocation, startinstancelocation)
7476 }
7477 pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
7478 (::windows_core::Interface::vtable(self).base__.Dispatch)(::windows_core::Interface::as_raw(self), threadgroupcountx, threadgroupcounty, threadgroupcountz)
7479 }
7480 pub unsafe fn CopyBufferRegion<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, numbytes: u64)
7481 where
7482 P0: ::windows_core::IntoParam<ID3D12Resource>,
7483 P1: ::windows_core::IntoParam<ID3D12Resource>,
7484 {
7485 (::windows_core::Interface::vtable(self).base__.CopyBufferRegion)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, numbytes)
7486 }
7487 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
7488 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7489 pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: ::core::option::Option<*const D3D12_BOX>) {
7490 (::windows_core::Interface::vtable(self).base__.CopyTextureRegion)(::windows_core::Interface::as_raw(self), pdst, dstx, dsty, dstz, psrc, ::core::mem::transmute(psrcbox.unwrap_or(::std::ptr::null())))
7491 }
7492 pub unsafe fn CopyResource<P0, P1>(&self, pdstresource: P0, psrcresource: P1)
7493 where
7494 P0: ::windows_core::IntoParam<ID3D12Resource>,
7495 P1: ::windows_core::IntoParam<ID3D12Resource>,
7496 {
7497 (::windows_core::Interface::vtable(self).base__.CopyResource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), psrcresource.into_param().abi())
7498 }
7499 #[doc = "Required features: `\"Win32_Foundation\"`"]
7500 #[cfg(feature = "Win32_Foundation")]
7501 pub unsafe fn CopyTiles<P0, P1>(&self, ptiledresource: P0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: P1, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)
7502 where
7503 P0: ::windows_core::IntoParam<ID3D12Resource>,
7504 P1: ::windows_core::IntoParam<ID3D12Resource>,
7505 {
7506 (::windows_core::Interface::vtable(self).base__.CopyTiles)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ptileregionstartcoordinate, ptileregionsize, pbuffer.into_param().abi(), bufferstartoffsetinbytes, flags)
7507 }
7508 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
7509 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7510 pub unsafe fn ResolveSubresource<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, psrcresource: P1, srcsubresource: u32, format: super::Dxgi::Common::DXGI_FORMAT)
7511 where
7512 P0: ::windows_core::IntoParam<ID3D12Resource>,
7513 P1: ::windows_core::IntoParam<ID3D12Resource>,
7514 {
7515 (::windows_core::Interface::vtable(self).base__.ResolveSubresource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, psrcresource.into_param().abi(), srcsubresource, format)
7516 }
7517 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
7518 #[cfg(feature = "Win32_Graphics_Direct3D")]
7519 pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY) {
7520 (::windows_core::Interface::vtable(self).base__.IASetPrimitiveTopology)(::windows_core::Interface::as_raw(self), primitivetopology)
7521 }
7522 pub unsafe fn RSSetViewports(&self, pviewports: &[D3D12_VIEWPORT]) {
7523 (::windows_core::Interface::vtable(self).base__.RSSetViewports)(::windows_core::Interface::as_raw(self), pviewports.len().try_into().unwrap(), ::core::mem::transmute(pviewports.as_ptr()))
7524 }
7525 #[doc = "Required features: `\"Win32_Foundation\"`"]
7526 #[cfg(feature = "Win32_Foundation")]
7527 pub unsafe fn RSSetScissorRects(&self, prects: &[super::super::Foundation::RECT]) {
7528 (::windows_core::Interface::vtable(self).base__.RSSetScissorRects)(::windows_core::Interface::as_raw(self), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
7529 }
7530 pub unsafe fn OMSetBlendFactor(&self, blendfactor: ::core::option::Option<&[f32; 4]>) {
7531 (::windows_core::Interface::vtable(self).base__.OMSetBlendFactor)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(blendfactor.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
7532 }
7533 pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
7534 (::windows_core::Interface::vtable(self).base__.OMSetStencilRef)(::windows_core::Interface::as_raw(self), stencilref)
7535 }
7536 pub unsafe fn SetPipelineState<P0>(&self, ppipelinestate: P0)
7537 where
7538 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
7539 {
7540 (::windows_core::Interface::vtable(self).base__.SetPipelineState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
7541 }
7542 pub unsafe fn ResourceBarrier(&self, pbarriers: &[D3D12_RESOURCE_BARRIER]) {
7543 (::windows_core::Interface::vtable(self).base__.ResourceBarrier)(::windows_core::Interface::as_raw(self), pbarriers.len().try_into().unwrap(), ::core::mem::transmute(pbarriers.as_ptr()))
7544 }
7545 pub unsafe fn ExecuteBundle<P0>(&self, pcommandlist: P0)
7546 where
7547 P0: ::windows_core::IntoParam<ID3D12GraphicsCommandList>,
7548 {
7549 (::windows_core::Interface::vtable(self).base__.ExecuteBundle)(::windows_core::Interface::as_raw(self), pcommandlist.into_param().abi())
7550 }
7551 pub unsafe fn SetDescriptorHeaps(&self, ppdescriptorheaps: &[::core::option::Option<ID3D12DescriptorHeap>]) {
7552 (::windows_core::Interface::vtable(self).base__.SetDescriptorHeaps)(::windows_core::Interface::as_raw(self), ppdescriptorheaps.len().try_into().unwrap(), ::core::mem::transmute(ppdescriptorheaps.as_ptr()))
7553 }
7554 pub unsafe fn SetComputeRootSignature<P0>(&self, prootsignature: P0)
7555 where
7556 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
7557 {
7558 (::windows_core::Interface::vtable(self).base__.SetComputeRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
7559 }
7560 pub unsafe fn SetGraphicsRootSignature<P0>(&self, prootsignature: P0)
7561 where
7562 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
7563 {
7564 (::windows_core::Interface::vtable(self).base__.SetGraphicsRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
7565 }
7566 pub unsafe fn SetComputeRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
7567 (::windows_core::Interface::vtable(self).base__.SetComputeRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
7568 }
7569 pub unsafe fn SetGraphicsRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
7570 (::windows_core::Interface::vtable(self).base__.SetGraphicsRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
7571 }
7572 pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
7573 (::windows_core::Interface::vtable(self).base__.SetComputeRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
7574 }
7575 pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
7576 (::windows_core::Interface::vtable(self).base__.SetGraphicsRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
7577 }
7578 pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
7579 (::windows_core::Interface::vtable(self).base__.SetComputeRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
7580 }
7581 pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
7582 (::windows_core::Interface::vtable(self).base__.SetGraphicsRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
7583 }
7584 pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
7585 (::windows_core::Interface::vtable(self).base__.SetComputeRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7586 }
7587 pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
7588 (::windows_core::Interface::vtable(self).base__.SetGraphicsRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7589 }
7590 pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
7591 (::windows_core::Interface::vtable(self).base__.SetComputeRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7592 }
7593 pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
7594 (::windows_core::Interface::vtable(self).base__.SetGraphicsRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7595 }
7596 pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
7597 (::windows_core::Interface::vtable(self).base__.SetComputeRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7598 }
7599 pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
7600 (::windows_core::Interface::vtable(self).base__.SetGraphicsRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7601 }
7602 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
7603 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7604 pub unsafe fn IASetIndexBuffer(&self, pview: ::core::option::Option<*const D3D12_INDEX_BUFFER_VIEW>) {
7605 (::windows_core::Interface::vtable(self).base__.IASetIndexBuffer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pview.unwrap_or(::std::ptr::null())))
7606 }
7607 pub unsafe fn IASetVertexBuffers(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_VERTEX_BUFFER_VIEW]>) {
7608 (::windows_core::Interface::vtable(self).base__.IASetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
7609 }
7610 pub unsafe fn SOSetTargets(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_STREAM_OUTPUT_BUFFER_VIEW]>) {
7611 (::windows_core::Interface::vtable(self).base__.SOSetTargets)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
7612 }
7613 #[doc = "Required features: `\"Win32_Foundation\"`"]
7614 #[cfg(feature = "Win32_Foundation")]
7615 pub unsafe fn OMSetRenderTargets<P0>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>, rtssinglehandletodescriptorrange: P0, pdepthstencildescriptor: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>)
7616 where
7617 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
7618 {
7619 (::windows_core::Interface::vtable(self).base__.OMSetRenderTargets)(::windows_core::Interface::as_raw(self), numrendertargetdescriptors, ::core::mem::transmute(prendertargetdescriptors.unwrap_or(::std::ptr::null())), rtssinglehandletodescriptorrange.into_param().abi(), ::core::mem::transmute(pdepthstencildescriptor.unwrap_or(::std::ptr::null())))
7620 }
7621 #[doc = "Required features: `\"Win32_Foundation\"`"]
7622 #[cfg(feature = "Win32_Foundation")]
7623 pub unsafe fn ClearDepthStencilView(&self, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, prects: &[super::super::Foundation::RECT]) {
7624 (::windows_core::Interface::vtable(self).base__.ClearDepthStencilView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(depthstencilview), clearflags, depth, stencil, prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
7625 }
7626 #[doc = "Required features: `\"Win32_Foundation\"`"]
7627 #[cfg(feature = "Win32_Foundation")]
7628 pub unsafe fn ClearRenderTargetView(&self, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: &[f32; 4], prects: ::core::option::Option<&[super::super::Foundation::RECT]>) {
7629 (::windows_core::Interface::vtable(self).base__.ClearRenderTargetView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rendertargetview), ::core::mem::transmute(colorrgba.as_ptr()), prects.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prects.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
7630 }
7631 #[doc = "Required features: `\"Win32_Foundation\"`"]
7632 #[cfg(feature = "Win32_Foundation")]
7633 pub unsafe fn ClearUnorderedAccessViewUint<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[u32; 4], prects: &[super::super::Foundation::RECT])
7634 where
7635 P0: ::windows_core::IntoParam<ID3D12Resource>,
7636 {
7637 (::windows_core::Interface::vtable(self).base__.ClearUnorderedAccessViewUint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
7638 }
7639 #[doc = "Required features: `\"Win32_Foundation\"`"]
7640 #[cfg(feature = "Win32_Foundation")]
7641 pub unsafe fn ClearUnorderedAccessViewFloat<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[f32; 4], prects: &[super::super::Foundation::RECT])
7642 where
7643 P0: ::windows_core::IntoParam<ID3D12Resource>,
7644 {
7645 (::windows_core::Interface::vtable(self).base__.ClearUnorderedAccessViewFloat)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
7646 }
7647 #[doc = "Required features: `\"Win32_Foundation\"`"]
7648 #[cfg(feature = "Win32_Foundation")]
7649 pub unsafe fn DiscardResource<P0>(&self, presource: P0, pregion: ::core::option::Option<*const D3D12_DISCARD_REGION>)
7650 where
7651 P0: ::windows_core::IntoParam<ID3D12Resource>,
7652 {
7653 (::windows_core::Interface::vtable(self).base__.DiscardResource)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pregion.unwrap_or(::std::ptr::null())))
7654 }
7655 pub unsafe fn BeginQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
7656 where
7657 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
7658 {
7659 (::windows_core::Interface::vtable(self).base__.BeginQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
7660 }
7661 pub unsafe fn EndQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
7662 where
7663 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
7664 {
7665 (::windows_core::Interface::vtable(self).base__.EndQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
7666 }
7667 pub unsafe fn ResolveQueryData<P0, P1>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: P1, aligneddestinationbufferoffset: u64)
7668 where
7669 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
7670 P1: ::windows_core::IntoParam<ID3D12Resource>,
7671 {
7672 (::windows_core::Interface::vtable(self).base__.ResolveQueryData)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, startindex, numqueries, pdestinationbuffer.into_param().abi(), aligneddestinationbufferoffset)
7673 }
7674 pub unsafe fn SetPredication<P0>(&self, pbuffer: P0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)
7675 where
7676 P0: ::windows_core::IntoParam<ID3D12Resource>,
7677 {
7678 (::windows_core::Interface::vtable(self).base__.SetPredication)(::windows_core::Interface::as_raw(self), pbuffer.into_param().abi(), alignedbufferoffset, operation)
7679 }
7680 pub unsafe fn SetMarker(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
7681 (::windows_core::Interface::vtable(self).base__.SetMarker)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
7682 }
7683 pub unsafe fn BeginEvent(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
7684 (::windows_core::Interface::vtable(self).base__.BeginEvent)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
7685 }
7686 pub unsafe fn EndEvent(&self) {
7687 (::windows_core::Interface::vtable(self).base__.EndEvent)(::windows_core::Interface::as_raw(self))
7688 }
7689 pub unsafe fn ExecuteIndirect<P0, P1, P2>(&self, pcommandsignature: P0, maxcommandcount: u32, pargumentbuffer: P1, argumentbufferoffset: u64, pcountbuffer: P2, countbufferoffset: u64)
7690 where
7691 P0: ::windows_core::IntoParam<ID3D12CommandSignature>,
7692 P1: ::windows_core::IntoParam<ID3D12Resource>,
7693 P2: ::windows_core::IntoParam<ID3D12Resource>,
7694 {
7695 (::windows_core::Interface::vtable(self).base__.ExecuteIndirect)(::windows_core::Interface::as_raw(self), pcommandsignature.into_param().abi(), maxcommandcount, pargumentbuffer.into_param().abi(), argumentbufferoffset, pcountbuffer.into_param().abi(), countbufferoffset)
7696 }
7697 pub unsafe fn AtomicCopyBufferUINT<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
7698 where
7699 P0: ::windows_core::IntoParam<ID3D12Resource>,
7700 P1: ::windows_core::IntoParam<ID3D12Resource>,
7701 {
7702 (::windows_core::Interface::vtable(self).AtomicCopyBufferUINT)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
7703 }
7704 pub unsafe fn AtomicCopyBufferUINT64<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
7705 where
7706 P0: ::windows_core::IntoParam<ID3D12Resource>,
7707 P1: ::windows_core::IntoParam<ID3D12Resource>,
7708 {
7709 (::windows_core::Interface::vtable(self).AtomicCopyBufferUINT64)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
7710 }
7711 pub unsafe fn OMSetDepthBounds(&self, min: f32, max: f32) {
7712 (::windows_core::Interface::vtable(self).OMSetDepthBounds)(::windows_core::Interface::as_raw(self), min, max)
7713 }
7714 pub unsafe fn SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION) {
7715 (::windows_core::Interface::vtable(self).SetSamplePositions)(::windows_core::Interface::as_raw(self), numsamplesperpixel, numpixels, psamplepositions)
7716 }
7717 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
7718 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
7719 pub unsafe fn ResolveSubresourceRegion<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: P1, srcsubresource: u32, psrcrect: ::core::option::Option<*const super::super::Foundation::RECT>, format: super::Dxgi::Common::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE)
7720 where
7721 P0: ::windows_core::IntoParam<ID3D12Resource>,
7722 P1: ::windows_core::IntoParam<ID3D12Resource>,
7723 {
7724 (::windows_core::Interface::vtable(self).ResolveSubresourceRegion)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, dstx, dsty, psrcresource.into_param().abi(), srcsubresource, ::core::mem::transmute(psrcrect.unwrap_or(::std::ptr::null())), format, resolvemode)
7725 }
7726 pub unsafe fn SetViewInstanceMask(&self, mask: u32) {
7727 (::windows_core::Interface::vtable(self).SetViewInstanceMask)(::windows_core::Interface::as_raw(self), mask)
7728 }
7729}
7730::windows_core::imp::interface_hierarchy!(ID3D12GraphicsCommandList1, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12CommandList, ID3D12GraphicsCommandList);
7731unsafe impl ::core::marker::Send for ID3D12GraphicsCommandList1 {}
7732unsafe impl ::core::marker::Sync for ID3D12GraphicsCommandList1 {}
7733unsafe impl ::windows_core::Interface for ID3D12GraphicsCommandList1 {
7734 type Vtable = ID3D12GraphicsCommandList1_Vtbl;
7735}
7736unsafe impl ::windows_core::ComInterface for ID3D12GraphicsCommandList1 {
7737 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x553103fb_1fe7_4557_bb38_946d7d0e7ca7);
7738}
7739#[repr(C)]
7740#[doc(hidden)]
7741pub struct ID3D12GraphicsCommandList1_Vtbl {
7742 pub base__: ID3D12GraphicsCommandList_Vtbl,
7743 pub AtomicCopyBufferUINT: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdstbuffer: *mut ::core::ffi::c_void, dstoffset: u64, psrcbuffer: *mut ::core::ffi::c_void, srcoffset: u64, dependencies: u32, ppdependentresources: *const *mut ::core::ffi::c_void, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64),
7744 pub AtomicCopyBufferUINT64: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdstbuffer: *mut ::core::ffi::c_void, dstoffset: u64, psrcbuffer: *mut ::core::ffi::c_void, srcoffset: u64, dependencies: u32, ppdependentresources: *const *mut ::core::ffi::c_void, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64),
7745 pub OMSetDepthBounds: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, min: f32, max: f32),
7746 pub SetSamplePositions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION),
7747 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
7748 pub ResolveSubresourceRegion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdstresource: *mut ::core::ffi::c_void, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: *mut ::core::ffi::c_void, srcsubresource: u32, psrcrect: *const super::super::Foundation::RECT, format: super::Dxgi::Common::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE),
7749 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common")))]
7750 ResolveSubresourceRegion: usize,
7751 pub SetViewInstanceMask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mask: u32),
7752}
7753#[repr(transparent)]
7754#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
7755pub struct ID3D12GraphicsCommandList2(::windows_core::IUnknown);
7756impl ID3D12GraphicsCommandList2 {
7757 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
7758 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
7759 }
7760 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
7761 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
7762 }
7763 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
7764 where
7765 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
7766 {
7767 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
7768 }
7769 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
7770 where
7771 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
7772 {
7773 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
7774 }
7775 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
7776 where
7777 T: ::windows_core::ComInterface,
7778 {
7779 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
7780 }
7781 pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
7782 (::windows_core::Interface::vtable(self).base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self))
7783 }
7784 pub unsafe fn Close(&self) -> ::windows_core::Result<()> {
7785 (::windows_core::Interface::vtable(self).base__.base__.Close)(::windows_core::Interface::as_raw(self)).ok()
7786 }
7787 pub unsafe fn Reset<P0, P1>(&self, pallocator: P0, pinitialstate: P1) -> ::windows_core::Result<()>
7788 where
7789 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
7790 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
7791 {
7792 (::windows_core::Interface::vtable(self).base__.base__.Reset)(::windows_core::Interface::as_raw(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
7793 }
7794 pub unsafe fn ClearState<P0>(&self, ppipelinestate: P0)
7795 where
7796 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
7797 {
7798 (::windows_core::Interface::vtable(self).base__.base__.ClearState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
7799 }
7800 pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
7801 (::windows_core::Interface::vtable(self).base__.base__.DrawInstanced)(::windows_core::Interface::as_raw(self), vertexcountperinstance, instancecount, startvertexlocation, startinstancelocation)
7802 }
7803 pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
7804 (::windows_core::Interface::vtable(self).base__.base__.DrawIndexedInstanced)(::windows_core::Interface::as_raw(self), indexcountperinstance, instancecount, startindexlocation, basevertexlocation, startinstancelocation)
7805 }
7806 pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
7807 (::windows_core::Interface::vtable(self).base__.base__.Dispatch)(::windows_core::Interface::as_raw(self), threadgroupcountx, threadgroupcounty, threadgroupcountz)
7808 }
7809 pub unsafe fn CopyBufferRegion<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, numbytes: u64)
7810 where
7811 P0: ::windows_core::IntoParam<ID3D12Resource>,
7812 P1: ::windows_core::IntoParam<ID3D12Resource>,
7813 {
7814 (::windows_core::Interface::vtable(self).base__.base__.CopyBufferRegion)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, numbytes)
7815 }
7816 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
7817 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7818 pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: ::core::option::Option<*const D3D12_BOX>) {
7819 (::windows_core::Interface::vtable(self).base__.base__.CopyTextureRegion)(::windows_core::Interface::as_raw(self), pdst, dstx, dsty, dstz, psrc, ::core::mem::transmute(psrcbox.unwrap_or(::std::ptr::null())))
7820 }
7821 pub unsafe fn CopyResource<P0, P1>(&self, pdstresource: P0, psrcresource: P1)
7822 where
7823 P0: ::windows_core::IntoParam<ID3D12Resource>,
7824 P1: ::windows_core::IntoParam<ID3D12Resource>,
7825 {
7826 (::windows_core::Interface::vtable(self).base__.base__.CopyResource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), psrcresource.into_param().abi())
7827 }
7828 #[doc = "Required features: `\"Win32_Foundation\"`"]
7829 #[cfg(feature = "Win32_Foundation")]
7830 pub unsafe fn CopyTiles<P0, P1>(&self, ptiledresource: P0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: P1, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)
7831 where
7832 P0: ::windows_core::IntoParam<ID3D12Resource>,
7833 P1: ::windows_core::IntoParam<ID3D12Resource>,
7834 {
7835 (::windows_core::Interface::vtable(self).base__.base__.CopyTiles)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ptileregionstartcoordinate, ptileregionsize, pbuffer.into_param().abi(), bufferstartoffsetinbytes, flags)
7836 }
7837 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
7838 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7839 pub unsafe fn ResolveSubresource<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, psrcresource: P1, srcsubresource: u32, format: super::Dxgi::Common::DXGI_FORMAT)
7840 where
7841 P0: ::windows_core::IntoParam<ID3D12Resource>,
7842 P1: ::windows_core::IntoParam<ID3D12Resource>,
7843 {
7844 (::windows_core::Interface::vtable(self).base__.base__.ResolveSubresource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, psrcresource.into_param().abi(), srcsubresource, format)
7845 }
7846 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
7847 #[cfg(feature = "Win32_Graphics_Direct3D")]
7848 pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY) {
7849 (::windows_core::Interface::vtable(self).base__.base__.IASetPrimitiveTopology)(::windows_core::Interface::as_raw(self), primitivetopology)
7850 }
7851 pub unsafe fn RSSetViewports(&self, pviewports: &[D3D12_VIEWPORT]) {
7852 (::windows_core::Interface::vtable(self).base__.base__.RSSetViewports)(::windows_core::Interface::as_raw(self), pviewports.len().try_into().unwrap(), ::core::mem::transmute(pviewports.as_ptr()))
7853 }
7854 #[doc = "Required features: `\"Win32_Foundation\"`"]
7855 #[cfg(feature = "Win32_Foundation")]
7856 pub unsafe fn RSSetScissorRects(&self, prects: &[super::super::Foundation::RECT]) {
7857 (::windows_core::Interface::vtable(self).base__.base__.RSSetScissorRects)(::windows_core::Interface::as_raw(self), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
7858 }
7859 pub unsafe fn OMSetBlendFactor(&self, blendfactor: ::core::option::Option<&[f32; 4]>) {
7860 (::windows_core::Interface::vtable(self).base__.base__.OMSetBlendFactor)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(blendfactor.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
7861 }
7862 pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
7863 (::windows_core::Interface::vtable(self).base__.base__.OMSetStencilRef)(::windows_core::Interface::as_raw(self), stencilref)
7864 }
7865 pub unsafe fn SetPipelineState<P0>(&self, ppipelinestate: P0)
7866 where
7867 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
7868 {
7869 (::windows_core::Interface::vtable(self).base__.base__.SetPipelineState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
7870 }
7871 pub unsafe fn ResourceBarrier(&self, pbarriers: &[D3D12_RESOURCE_BARRIER]) {
7872 (::windows_core::Interface::vtable(self).base__.base__.ResourceBarrier)(::windows_core::Interface::as_raw(self), pbarriers.len().try_into().unwrap(), ::core::mem::transmute(pbarriers.as_ptr()))
7873 }
7874 pub unsafe fn ExecuteBundle<P0>(&self, pcommandlist: P0)
7875 where
7876 P0: ::windows_core::IntoParam<ID3D12GraphicsCommandList>,
7877 {
7878 (::windows_core::Interface::vtable(self).base__.base__.ExecuteBundle)(::windows_core::Interface::as_raw(self), pcommandlist.into_param().abi())
7879 }
7880 pub unsafe fn SetDescriptorHeaps(&self, ppdescriptorheaps: &[::core::option::Option<ID3D12DescriptorHeap>]) {
7881 (::windows_core::Interface::vtable(self).base__.base__.SetDescriptorHeaps)(::windows_core::Interface::as_raw(self), ppdescriptorheaps.len().try_into().unwrap(), ::core::mem::transmute(ppdescriptorheaps.as_ptr()))
7882 }
7883 pub unsafe fn SetComputeRootSignature<P0>(&self, prootsignature: P0)
7884 where
7885 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
7886 {
7887 (::windows_core::Interface::vtable(self).base__.base__.SetComputeRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
7888 }
7889 pub unsafe fn SetGraphicsRootSignature<P0>(&self, prootsignature: P0)
7890 where
7891 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
7892 {
7893 (::windows_core::Interface::vtable(self).base__.base__.SetGraphicsRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
7894 }
7895 pub unsafe fn SetComputeRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
7896 (::windows_core::Interface::vtable(self).base__.base__.SetComputeRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
7897 }
7898 pub unsafe fn SetGraphicsRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
7899 (::windows_core::Interface::vtable(self).base__.base__.SetGraphicsRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
7900 }
7901 pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
7902 (::windows_core::Interface::vtable(self).base__.base__.SetComputeRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
7903 }
7904 pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
7905 (::windows_core::Interface::vtable(self).base__.base__.SetGraphicsRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
7906 }
7907 pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
7908 (::windows_core::Interface::vtable(self).base__.base__.SetComputeRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
7909 }
7910 pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
7911 (::windows_core::Interface::vtable(self).base__.base__.SetGraphicsRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
7912 }
7913 pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
7914 (::windows_core::Interface::vtable(self).base__.base__.SetComputeRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7915 }
7916 pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
7917 (::windows_core::Interface::vtable(self).base__.base__.SetGraphicsRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7918 }
7919 pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
7920 (::windows_core::Interface::vtable(self).base__.base__.SetComputeRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7921 }
7922 pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
7923 (::windows_core::Interface::vtable(self).base__.base__.SetGraphicsRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7924 }
7925 pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
7926 (::windows_core::Interface::vtable(self).base__.base__.SetComputeRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7927 }
7928 pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
7929 (::windows_core::Interface::vtable(self).base__.base__.SetGraphicsRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
7930 }
7931 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
7932 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
7933 pub unsafe fn IASetIndexBuffer(&self, pview: ::core::option::Option<*const D3D12_INDEX_BUFFER_VIEW>) {
7934 (::windows_core::Interface::vtable(self).base__.base__.IASetIndexBuffer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pview.unwrap_or(::std::ptr::null())))
7935 }
7936 pub unsafe fn IASetVertexBuffers(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_VERTEX_BUFFER_VIEW]>) {
7937 (::windows_core::Interface::vtable(self).base__.base__.IASetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
7938 }
7939 pub unsafe fn SOSetTargets(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_STREAM_OUTPUT_BUFFER_VIEW]>) {
7940 (::windows_core::Interface::vtable(self).base__.base__.SOSetTargets)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
7941 }
7942 #[doc = "Required features: `\"Win32_Foundation\"`"]
7943 #[cfg(feature = "Win32_Foundation")]
7944 pub unsafe fn OMSetRenderTargets<P0>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>, rtssinglehandletodescriptorrange: P0, pdepthstencildescriptor: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>)
7945 where
7946 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
7947 {
7948 (::windows_core::Interface::vtable(self).base__.base__.OMSetRenderTargets)(::windows_core::Interface::as_raw(self), numrendertargetdescriptors, ::core::mem::transmute(prendertargetdescriptors.unwrap_or(::std::ptr::null())), rtssinglehandletodescriptorrange.into_param().abi(), ::core::mem::transmute(pdepthstencildescriptor.unwrap_or(::std::ptr::null())))
7949 }
7950 #[doc = "Required features: `\"Win32_Foundation\"`"]
7951 #[cfg(feature = "Win32_Foundation")]
7952 pub unsafe fn ClearDepthStencilView(&self, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, prects: &[super::super::Foundation::RECT]) {
7953 (::windows_core::Interface::vtable(self).base__.base__.ClearDepthStencilView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(depthstencilview), clearflags, depth, stencil, prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
7954 }
7955 #[doc = "Required features: `\"Win32_Foundation\"`"]
7956 #[cfg(feature = "Win32_Foundation")]
7957 pub unsafe fn ClearRenderTargetView(&self, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: &[f32; 4], prects: ::core::option::Option<&[super::super::Foundation::RECT]>) {
7958 (::windows_core::Interface::vtable(self).base__.base__.ClearRenderTargetView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rendertargetview), ::core::mem::transmute(colorrgba.as_ptr()), prects.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prects.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
7959 }
7960 #[doc = "Required features: `\"Win32_Foundation\"`"]
7961 #[cfg(feature = "Win32_Foundation")]
7962 pub unsafe fn ClearUnorderedAccessViewUint<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[u32; 4], prects: &[super::super::Foundation::RECT])
7963 where
7964 P0: ::windows_core::IntoParam<ID3D12Resource>,
7965 {
7966 (::windows_core::Interface::vtable(self).base__.base__.ClearUnorderedAccessViewUint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
7967 }
7968 #[doc = "Required features: `\"Win32_Foundation\"`"]
7969 #[cfg(feature = "Win32_Foundation")]
7970 pub unsafe fn ClearUnorderedAccessViewFloat<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[f32; 4], prects: &[super::super::Foundation::RECT])
7971 where
7972 P0: ::windows_core::IntoParam<ID3D12Resource>,
7973 {
7974 (::windows_core::Interface::vtable(self).base__.base__.ClearUnorderedAccessViewFloat)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
7975 }
7976 #[doc = "Required features: `\"Win32_Foundation\"`"]
7977 #[cfg(feature = "Win32_Foundation")]
7978 pub unsafe fn DiscardResource<P0>(&self, presource: P0, pregion: ::core::option::Option<*const D3D12_DISCARD_REGION>)
7979 where
7980 P0: ::windows_core::IntoParam<ID3D12Resource>,
7981 {
7982 (::windows_core::Interface::vtable(self).base__.base__.DiscardResource)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pregion.unwrap_or(::std::ptr::null())))
7983 }
7984 pub unsafe fn BeginQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
7985 where
7986 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
7987 {
7988 (::windows_core::Interface::vtable(self).base__.base__.BeginQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
7989 }
7990 pub unsafe fn EndQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
7991 where
7992 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
7993 {
7994 (::windows_core::Interface::vtable(self).base__.base__.EndQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
7995 }
7996 pub unsafe fn ResolveQueryData<P0, P1>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: P1, aligneddestinationbufferoffset: u64)
7997 where
7998 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
7999 P1: ::windows_core::IntoParam<ID3D12Resource>,
8000 {
8001 (::windows_core::Interface::vtable(self).base__.base__.ResolveQueryData)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, startindex, numqueries, pdestinationbuffer.into_param().abi(), aligneddestinationbufferoffset)
8002 }
8003 pub unsafe fn SetPredication<P0>(&self, pbuffer: P0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)
8004 where
8005 P0: ::windows_core::IntoParam<ID3D12Resource>,
8006 {
8007 (::windows_core::Interface::vtable(self).base__.base__.SetPredication)(::windows_core::Interface::as_raw(self), pbuffer.into_param().abi(), alignedbufferoffset, operation)
8008 }
8009 pub unsafe fn SetMarker(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
8010 (::windows_core::Interface::vtable(self).base__.base__.SetMarker)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
8011 }
8012 pub unsafe fn BeginEvent(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
8013 (::windows_core::Interface::vtable(self).base__.base__.BeginEvent)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
8014 }
8015 pub unsafe fn EndEvent(&self) {
8016 (::windows_core::Interface::vtable(self).base__.base__.EndEvent)(::windows_core::Interface::as_raw(self))
8017 }
8018 pub unsafe fn ExecuteIndirect<P0, P1, P2>(&self, pcommandsignature: P0, maxcommandcount: u32, pargumentbuffer: P1, argumentbufferoffset: u64, pcountbuffer: P2, countbufferoffset: u64)
8019 where
8020 P0: ::windows_core::IntoParam<ID3D12CommandSignature>,
8021 P1: ::windows_core::IntoParam<ID3D12Resource>,
8022 P2: ::windows_core::IntoParam<ID3D12Resource>,
8023 {
8024 (::windows_core::Interface::vtable(self).base__.base__.ExecuteIndirect)(::windows_core::Interface::as_raw(self), pcommandsignature.into_param().abi(), maxcommandcount, pargumentbuffer.into_param().abi(), argumentbufferoffset, pcountbuffer.into_param().abi(), countbufferoffset)
8025 }
8026 pub unsafe fn AtomicCopyBufferUINT<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
8027 where
8028 P0: ::windows_core::IntoParam<ID3D12Resource>,
8029 P1: ::windows_core::IntoParam<ID3D12Resource>,
8030 {
8031 (::windows_core::Interface::vtable(self).base__.AtomicCopyBufferUINT)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
8032 }
8033 pub unsafe fn AtomicCopyBufferUINT64<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
8034 where
8035 P0: ::windows_core::IntoParam<ID3D12Resource>,
8036 P1: ::windows_core::IntoParam<ID3D12Resource>,
8037 {
8038 (::windows_core::Interface::vtable(self).base__.AtomicCopyBufferUINT64)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
8039 }
8040 pub unsafe fn OMSetDepthBounds(&self, min: f32, max: f32) {
8041 (::windows_core::Interface::vtable(self).base__.OMSetDepthBounds)(::windows_core::Interface::as_raw(self), min, max)
8042 }
8043 pub unsafe fn SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION) {
8044 (::windows_core::Interface::vtable(self).base__.SetSamplePositions)(::windows_core::Interface::as_raw(self), numsamplesperpixel, numpixels, psamplepositions)
8045 }
8046 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
8047 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
8048 pub unsafe fn ResolveSubresourceRegion<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: P1, srcsubresource: u32, psrcrect: ::core::option::Option<*const super::super::Foundation::RECT>, format: super::Dxgi::Common::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE)
8049 where
8050 P0: ::windows_core::IntoParam<ID3D12Resource>,
8051 P1: ::windows_core::IntoParam<ID3D12Resource>,
8052 {
8053 (::windows_core::Interface::vtable(self).base__.ResolveSubresourceRegion)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, dstx, dsty, psrcresource.into_param().abi(), srcsubresource, ::core::mem::transmute(psrcrect.unwrap_or(::std::ptr::null())), format, resolvemode)
8054 }
8055 pub unsafe fn SetViewInstanceMask(&self, mask: u32) {
8056 (::windows_core::Interface::vtable(self).base__.SetViewInstanceMask)(::windows_core::Interface::as_raw(self), mask)
8057 }
8058 pub unsafe fn WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: ::core::option::Option<*const D3D12_WRITEBUFFERIMMEDIATE_MODE>) {
8059 (::windows_core::Interface::vtable(self).WriteBufferImmediate)(::windows_core::Interface::as_raw(self), count, pparams, ::core::mem::transmute(pmodes.unwrap_or(::std::ptr::null())))
8060 }
8061}
8062::windows_core::imp::interface_hierarchy!(ID3D12GraphicsCommandList2, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12CommandList, ID3D12GraphicsCommandList, ID3D12GraphicsCommandList1);
8063unsafe impl ::core::marker::Send for ID3D12GraphicsCommandList2 {}
8064unsafe impl ::core::marker::Sync for ID3D12GraphicsCommandList2 {}
8065unsafe impl ::windows_core::Interface for ID3D12GraphicsCommandList2 {
8066 type Vtable = ID3D12GraphicsCommandList2_Vtbl;
8067}
8068unsafe impl ::windows_core::ComInterface for ID3D12GraphicsCommandList2 {
8069 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x38c3e585_ff17_412c_9150_4fc6f9d72a28);
8070}
8071#[repr(C)]
8072#[doc(hidden)]
8073pub struct ID3D12GraphicsCommandList2_Vtbl {
8074 pub base__: ID3D12GraphicsCommandList1_Vtbl,
8075 pub WriteBufferImmediate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: *const D3D12_WRITEBUFFERIMMEDIATE_MODE),
8076}
8077#[repr(transparent)]
8078#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
8079pub struct ID3D12GraphicsCommandList3(::windows_core::IUnknown);
8080impl ID3D12GraphicsCommandList3 {
8081 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
8082 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
8083 }
8084 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
8085 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
8086 }
8087 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
8088 where
8089 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
8090 {
8091 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
8092 }
8093 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
8094 where
8095 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
8096 {
8097 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
8098 }
8099 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
8100 where
8101 T: ::windows_core::ComInterface,
8102 {
8103 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
8104 }
8105 pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
8106 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self))
8107 }
8108 pub unsafe fn Close(&self) -> ::windows_core::Result<()> {
8109 (::windows_core::Interface::vtable(self).base__.base__.base__.Close)(::windows_core::Interface::as_raw(self)).ok()
8110 }
8111 pub unsafe fn Reset<P0, P1>(&self, pallocator: P0, pinitialstate: P1) -> ::windows_core::Result<()>
8112 where
8113 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
8114 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
8115 {
8116 (::windows_core::Interface::vtable(self).base__.base__.base__.Reset)(::windows_core::Interface::as_raw(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
8117 }
8118 pub unsafe fn ClearState<P0>(&self, ppipelinestate: P0)
8119 where
8120 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
8121 {
8122 (::windows_core::Interface::vtable(self).base__.base__.base__.ClearState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
8123 }
8124 pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
8125 (::windows_core::Interface::vtable(self).base__.base__.base__.DrawInstanced)(::windows_core::Interface::as_raw(self), vertexcountperinstance, instancecount, startvertexlocation, startinstancelocation)
8126 }
8127 pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
8128 (::windows_core::Interface::vtable(self).base__.base__.base__.DrawIndexedInstanced)(::windows_core::Interface::as_raw(self), indexcountperinstance, instancecount, startindexlocation, basevertexlocation, startinstancelocation)
8129 }
8130 pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
8131 (::windows_core::Interface::vtable(self).base__.base__.base__.Dispatch)(::windows_core::Interface::as_raw(self), threadgroupcountx, threadgroupcounty, threadgroupcountz)
8132 }
8133 pub unsafe fn CopyBufferRegion<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, numbytes: u64)
8134 where
8135 P0: ::windows_core::IntoParam<ID3D12Resource>,
8136 P1: ::windows_core::IntoParam<ID3D12Resource>,
8137 {
8138 (::windows_core::Interface::vtable(self).base__.base__.base__.CopyBufferRegion)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, numbytes)
8139 }
8140 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
8141 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
8142 pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: ::core::option::Option<*const D3D12_BOX>) {
8143 (::windows_core::Interface::vtable(self).base__.base__.base__.CopyTextureRegion)(::windows_core::Interface::as_raw(self), pdst, dstx, dsty, dstz, psrc, ::core::mem::transmute(psrcbox.unwrap_or(::std::ptr::null())))
8144 }
8145 pub unsafe fn CopyResource<P0, P1>(&self, pdstresource: P0, psrcresource: P1)
8146 where
8147 P0: ::windows_core::IntoParam<ID3D12Resource>,
8148 P1: ::windows_core::IntoParam<ID3D12Resource>,
8149 {
8150 (::windows_core::Interface::vtable(self).base__.base__.base__.CopyResource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), psrcresource.into_param().abi())
8151 }
8152 #[doc = "Required features: `\"Win32_Foundation\"`"]
8153 #[cfg(feature = "Win32_Foundation")]
8154 pub unsafe fn CopyTiles<P0, P1>(&self, ptiledresource: P0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: P1, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)
8155 where
8156 P0: ::windows_core::IntoParam<ID3D12Resource>,
8157 P1: ::windows_core::IntoParam<ID3D12Resource>,
8158 {
8159 (::windows_core::Interface::vtable(self).base__.base__.base__.CopyTiles)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ptileregionstartcoordinate, ptileregionsize, pbuffer.into_param().abi(), bufferstartoffsetinbytes, flags)
8160 }
8161 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
8162 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
8163 pub unsafe fn ResolveSubresource<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, psrcresource: P1, srcsubresource: u32, format: super::Dxgi::Common::DXGI_FORMAT)
8164 where
8165 P0: ::windows_core::IntoParam<ID3D12Resource>,
8166 P1: ::windows_core::IntoParam<ID3D12Resource>,
8167 {
8168 (::windows_core::Interface::vtable(self).base__.base__.base__.ResolveSubresource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, psrcresource.into_param().abi(), srcsubresource, format)
8169 }
8170 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
8171 #[cfg(feature = "Win32_Graphics_Direct3D")]
8172 pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY) {
8173 (::windows_core::Interface::vtable(self).base__.base__.base__.IASetPrimitiveTopology)(::windows_core::Interface::as_raw(self), primitivetopology)
8174 }
8175 pub unsafe fn RSSetViewports(&self, pviewports: &[D3D12_VIEWPORT]) {
8176 (::windows_core::Interface::vtable(self).base__.base__.base__.RSSetViewports)(::windows_core::Interface::as_raw(self), pviewports.len().try_into().unwrap(), ::core::mem::transmute(pviewports.as_ptr()))
8177 }
8178 #[doc = "Required features: `\"Win32_Foundation\"`"]
8179 #[cfg(feature = "Win32_Foundation")]
8180 pub unsafe fn RSSetScissorRects(&self, prects: &[super::super::Foundation::RECT]) {
8181 (::windows_core::Interface::vtable(self).base__.base__.base__.RSSetScissorRects)(::windows_core::Interface::as_raw(self), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
8182 }
8183 pub unsafe fn OMSetBlendFactor(&self, blendfactor: ::core::option::Option<&[f32; 4]>) {
8184 (::windows_core::Interface::vtable(self).base__.base__.base__.OMSetBlendFactor)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(blendfactor.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
8185 }
8186 pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
8187 (::windows_core::Interface::vtable(self).base__.base__.base__.OMSetStencilRef)(::windows_core::Interface::as_raw(self), stencilref)
8188 }
8189 pub unsafe fn SetPipelineState<P0>(&self, ppipelinestate: P0)
8190 where
8191 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
8192 {
8193 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPipelineState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
8194 }
8195 pub unsafe fn ResourceBarrier(&self, pbarriers: &[D3D12_RESOURCE_BARRIER]) {
8196 (::windows_core::Interface::vtable(self).base__.base__.base__.ResourceBarrier)(::windows_core::Interface::as_raw(self), pbarriers.len().try_into().unwrap(), ::core::mem::transmute(pbarriers.as_ptr()))
8197 }
8198 pub unsafe fn ExecuteBundle<P0>(&self, pcommandlist: P0)
8199 where
8200 P0: ::windows_core::IntoParam<ID3D12GraphicsCommandList>,
8201 {
8202 (::windows_core::Interface::vtable(self).base__.base__.base__.ExecuteBundle)(::windows_core::Interface::as_raw(self), pcommandlist.into_param().abi())
8203 }
8204 pub unsafe fn SetDescriptorHeaps(&self, ppdescriptorheaps: &[::core::option::Option<ID3D12DescriptorHeap>]) {
8205 (::windows_core::Interface::vtable(self).base__.base__.base__.SetDescriptorHeaps)(::windows_core::Interface::as_raw(self), ppdescriptorheaps.len().try_into().unwrap(), ::core::mem::transmute(ppdescriptorheaps.as_ptr()))
8206 }
8207 pub unsafe fn SetComputeRootSignature<P0>(&self, prootsignature: P0)
8208 where
8209 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
8210 {
8211 (::windows_core::Interface::vtable(self).base__.base__.base__.SetComputeRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
8212 }
8213 pub unsafe fn SetGraphicsRootSignature<P0>(&self, prootsignature: P0)
8214 where
8215 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
8216 {
8217 (::windows_core::Interface::vtable(self).base__.base__.base__.SetGraphicsRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
8218 }
8219 pub unsafe fn SetComputeRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
8220 (::windows_core::Interface::vtable(self).base__.base__.base__.SetComputeRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
8221 }
8222 pub unsafe fn SetGraphicsRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
8223 (::windows_core::Interface::vtable(self).base__.base__.base__.SetGraphicsRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
8224 }
8225 pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
8226 (::windows_core::Interface::vtable(self).base__.base__.base__.SetComputeRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
8227 }
8228 pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
8229 (::windows_core::Interface::vtable(self).base__.base__.base__.SetGraphicsRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
8230 }
8231 pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
8232 (::windows_core::Interface::vtable(self).base__.base__.base__.SetComputeRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
8233 }
8234 pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
8235 (::windows_core::Interface::vtable(self).base__.base__.base__.SetGraphicsRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
8236 }
8237 pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
8238 (::windows_core::Interface::vtable(self).base__.base__.base__.SetComputeRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8239 }
8240 pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
8241 (::windows_core::Interface::vtable(self).base__.base__.base__.SetGraphicsRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8242 }
8243 pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
8244 (::windows_core::Interface::vtable(self).base__.base__.base__.SetComputeRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8245 }
8246 pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
8247 (::windows_core::Interface::vtable(self).base__.base__.base__.SetGraphicsRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8248 }
8249 pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
8250 (::windows_core::Interface::vtable(self).base__.base__.base__.SetComputeRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8251 }
8252 pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
8253 (::windows_core::Interface::vtable(self).base__.base__.base__.SetGraphicsRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8254 }
8255 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
8256 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
8257 pub unsafe fn IASetIndexBuffer(&self, pview: ::core::option::Option<*const D3D12_INDEX_BUFFER_VIEW>) {
8258 (::windows_core::Interface::vtable(self).base__.base__.base__.IASetIndexBuffer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pview.unwrap_or(::std::ptr::null())))
8259 }
8260 pub unsafe fn IASetVertexBuffers(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_VERTEX_BUFFER_VIEW]>) {
8261 (::windows_core::Interface::vtable(self).base__.base__.base__.IASetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
8262 }
8263 pub unsafe fn SOSetTargets(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_STREAM_OUTPUT_BUFFER_VIEW]>) {
8264 (::windows_core::Interface::vtable(self).base__.base__.base__.SOSetTargets)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
8265 }
8266 #[doc = "Required features: `\"Win32_Foundation\"`"]
8267 #[cfg(feature = "Win32_Foundation")]
8268 pub unsafe fn OMSetRenderTargets<P0>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>, rtssinglehandletodescriptorrange: P0, pdepthstencildescriptor: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>)
8269 where
8270 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
8271 {
8272 (::windows_core::Interface::vtable(self).base__.base__.base__.OMSetRenderTargets)(::windows_core::Interface::as_raw(self), numrendertargetdescriptors, ::core::mem::transmute(prendertargetdescriptors.unwrap_or(::std::ptr::null())), rtssinglehandletodescriptorrange.into_param().abi(), ::core::mem::transmute(pdepthstencildescriptor.unwrap_or(::std::ptr::null())))
8273 }
8274 #[doc = "Required features: `\"Win32_Foundation\"`"]
8275 #[cfg(feature = "Win32_Foundation")]
8276 pub unsafe fn ClearDepthStencilView(&self, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, prects: &[super::super::Foundation::RECT]) {
8277 (::windows_core::Interface::vtable(self).base__.base__.base__.ClearDepthStencilView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(depthstencilview), clearflags, depth, stencil, prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
8278 }
8279 #[doc = "Required features: `\"Win32_Foundation\"`"]
8280 #[cfg(feature = "Win32_Foundation")]
8281 pub unsafe fn ClearRenderTargetView(&self, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: &[f32; 4], prects: ::core::option::Option<&[super::super::Foundation::RECT]>) {
8282 (::windows_core::Interface::vtable(self).base__.base__.base__.ClearRenderTargetView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rendertargetview), ::core::mem::transmute(colorrgba.as_ptr()), prects.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prects.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
8283 }
8284 #[doc = "Required features: `\"Win32_Foundation\"`"]
8285 #[cfg(feature = "Win32_Foundation")]
8286 pub unsafe fn ClearUnorderedAccessViewUint<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[u32; 4], prects: &[super::super::Foundation::RECT])
8287 where
8288 P0: ::windows_core::IntoParam<ID3D12Resource>,
8289 {
8290 (::windows_core::Interface::vtable(self).base__.base__.base__.ClearUnorderedAccessViewUint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
8291 }
8292 #[doc = "Required features: `\"Win32_Foundation\"`"]
8293 #[cfg(feature = "Win32_Foundation")]
8294 pub unsafe fn ClearUnorderedAccessViewFloat<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[f32; 4], prects: &[super::super::Foundation::RECT])
8295 where
8296 P0: ::windows_core::IntoParam<ID3D12Resource>,
8297 {
8298 (::windows_core::Interface::vtable(self).base__.base__.base__.ClearUnorderedAccessViewFloat)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
8299 }
8300 #[doc = "Required features: `\"Win32_Foundation\"`"]
8301 #[cfg(feature = "Win32_Foundation")]
8302 pub unsafe fn DiscardResource<P0>(&self, presource: P0, pregion: ::core::option::Option<*const D3D12_DISCARD_REGION>)
8303 where
8304 P0: ::windows_core::IntoParam<ID3D12Resource>,
8305 {
8306 (::windows_core::Interface::vtable(self).base__.base__.base__.DiscardResource)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pregion.unwrap_or(::std::ptr::null())))
8307 }
8308 pub unsafe fn BeginQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
8309 where
8310 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
8311 {
8312 (::windows_core::Interface::vtable(self).base__.base__.base__.BeginQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
8313 }
8314 pub unsafe fn EndQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
8315 where
8316 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
8317 {
8318 (::windows_core::Interface::vtable(self).base__.base__.base__.EndQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
8319 }
8320 pub unsafe fn ResolveQueryData<P0, P1>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: P1, aligneddestinationbufferoffset: u64)
8321 where
8322 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
8323 P1: ::windows_core::IntoParam<ID3D12Resource>,
8324 {
8325 (::windows_core::Interface::vtable(self).base__.base__.base__.ResolveQueryData)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, startindex, numqueries, pdestinationbuffer.into_param().abi(), aligneddestinationbufferoffset)
8326 }
8327 pub unsafe fn SetPredication<P0>(&self, pbuffer: P0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)
8328 where
8329 P0: ::windows_core::IntoParam<ID3D12Resource>,
8330 {
8331 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPredication)(::windows_core::Interface::as_raw(self), pbuffer.into_param().abi(), alignedbufferoffset, operation)
8332 }
8333 pub unsafe fn SetMarker(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
8334 (::windows_core::Interface::vtable(self).base__.base__.base__.SetMarker)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
8335 }
8336 pub unsafe fn BeginEvent(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
8337 (::windows_core::Interface::vtable(self).base__.base__.base__.BeginEvent)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
8338 }
8339 pub unsafe fn EndEvent(&self) {
8340 (::windows_core::Interface::vtable(self).base__.base__.base__.EndEvent)(::windows_core::Interface::as_raw(self))
8341 }
8342 pub unsafe fn ExecuteIndirect<P0, P1, P2>(&self, pcommandsignature: P0, maxcommandcount: u32, pargumentbuffer: P1, argumentbufferoffset: u64, pcountbuffer: P2, countbufferoffset: u64)
8343 where
8344 P0: ::windows_core::IntoParam<ID3D12CommandSignature>,
8345 P1: ::windows_core::IntoParam<ID3D12Resource>,
8346 P2: ::windows_core::IntoParam<ID3D12Resource>,
8347 {
8348 (::windows_core::Interface::vtable(self).base__.base__.base__.ExecuteIndirect)(::windows_core::Interface::as_raw(self), pcommandsignature.into_param().abi(), maxcommandcount, pargumentbuffer.into_param().abi(), argumentbufferoffset, pcountbuffer.into_param().abi(), countbufferoffset)
8349 }
8350 pub unsafe fn AtomicCopyBufferUINT<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
8351 where
8352 P0: ::windows_core::IntoParam<ID3D12Resource>,
8353 P1: ::windows_core::IntoParam<ID3D12Resource>,
8354 {
8355 (::windows_core::Interface::vtable(self).base__.base__.AtomicCopyBufferUINT)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
8356 }
8357 pub unsafe fn AtomicCopyBufferUINT64<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
8358 where
8359 P0: ::windows_core::IntoParam<ID3D12Resource>,
8360 P1: ::windows_core::IntoParam<ID3D12Resource>,
8361 {
8362 (::windows_core::Interface::vtable(self).base__.base__.AtomicCopyBufferUINT64)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
8363 }
8364 pub unsafe fn OMSetDepthBounds(&self, min: f32, max: f32) {
8365 (::windows_core::Interface::vtable(self).base__.base__.OMSetDepthBounds)(::windows_core::Interface::as_raw(self), min, max)
8366 }
8367 pub unsafe fn SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION) {
8368 (::windows_core::Interface::vtable(self).base__.base__.SetSamplePositions)(::windows_core::Interface::as_raw(self), numsamplesperpixel, numpixels, psamplepositions)
8369 }
8370 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
8371 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
8372 pub unsafe fn ResolveSubresourceRegion<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: P1, srcsubresource: u32, psrcrect: ::core::option::Option<*const super::super::Foundation::RECT>, format: super::Dxgi::Common::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE)
8373 where
8374 P0: ::windows_core::IntoParam<ID3D12Resource>,
8375 P1: ::windows_core::IntoParam<ID3D12Resource>,
8376 {
8377 (::windows_core::Interface::vtable(self).base__.base__.ResolveSubresourceRegion)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, dstx, dsty, psrcresource.into_param().abi(), srcsubresource, ::core::mem::transmute(psrcrect.unwrap_or(::std::ptr::null())), format, resolvemode)
8378 }
8379 pub unsafe fn SetViewInstanceMask(&self, mask: u32) {
8380 (::windows_core::Interface::vtable(self).base__.base__.SetViewInstanceMask)(::windows_core::Interface::as_raw(self), mask)
8381 }
8382 pub unsafe fn WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: ::core::option::Option<*const D3D12_WRITEBUFFERIMMEDIATE_MODE>) {
8383 (::windows_core::Interface::vtable(self).base__.WriteBufferImmediate)(::windows_core::Interface::as_raw(self), count, pparams, ::core::mem::transmute(pmodes.unwrap_or(::std::ptr::null())))
8384 }
8385 pub unsafe fn SetProtectedResourceSession<P0>(&self, pprotectedresourcesession: P0)
8386 where
8387 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
8388 {
8389 (::windows_core::Interface::vtable(self).SetProtectedResourceSession)(::windows_core::Interface::as_raw(self), pprotectedresourcesession.into_param().abi())
8390 }
8391}
8392::windows_core::imp::interface_hierarchy!(ID3D12GraphicsCommandList3, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12CommandList, ID3D12GraphicsCommandList, ID3D12GraphicsCommandList1, ID3D12GraphicsCommandList2);
8393unsafe impl ::core::marker::Send for ID3D12GraphicsCommandList3 {}
8394unsafe impl ::core::marker::Sync for ID3D12GraphicsCommandList3 {}
8395unsafe impl ::windows_core::Interface for ID3D12GraphicsCommandList3 {
8396 type Vtable = ID3D12GraphicsCommandList3_Vtbl;
8397}
8398unsafe impl ::windows_core::ComInterface for ID3D12GraphicsCommandList3 {
8399 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x6fda83a7_b84c_4e38_9ac8_c7bd22016b3d);
8400}
8401#[repr(C)]
8402#[doc(hidden)]
8403pub struct ID3D12GraphicsCommandList3_Vtbl {
8404 pub base__: ID3D12GraphicsCommandList2_Vtbl,
8405 pub SetProtectedResourceSession: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprotectedresourcesession: *mut ::core::ffi::c_void),
8406}
8407#[repr(transparent)]
8408#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
8409pub struct ID3D12GraphicsCommandList4(::windows_core::IUnknown);
8410impl ID3D12GraphicsCommandList4 {
8411 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
8412 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
8413 }
8414 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
8415 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
8416 }
8417 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
8418 where
8419 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
8420 {
8421 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
8422 }
8423 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
8424 where
8425 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
8426 {
8427 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
8428 }
8429 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
8430 where
8431 T: ::windows_core::ComInterface,
8432 {
8433 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
8434 }
8435 pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
8436 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self))
8437 }
8438 pub unsafe fn Close(&self) -> ::windows_core::Result<()> {
8439 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Close)(::windows_core::Interface::as_raw(self)).ok()
8440 }
8441 pub unsafe fn Reset<P0, P1>(&self, pallocator: P0, pinitialstate: P1) -> ::windows_core::Result<()>
8442 where
8443 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
8444 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
8445 {
8446 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Reset)(::windows_core::Interface::as_raw(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
8447 }
8448 pub unsafe fn ClearState<P0>(&self, ppipelinestate: P0)
8449 where
8450 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
8451 {
8452 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClearState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
8453 }
8454 pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
8455 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DrawInstanced)(::windows_core::Interface::as_raw(self), vertexcountperinstance, instancecount, startvertexlocation, startinstancelocation)
8456 }
8457 pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
8458 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DrawIndexedInstanced)(::windows_core::Interface::as_raw(self), indexcountperinstance, instancecount, startindexlocation, basevertexlocation, startinstancelocation)
8459 }
8460 pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
8461 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.Dispatch)(::windows_core::Interface::as_raw(self), threadgroupcountx, threadgroupcounty, threadgroupcountz)
8462 }
8463 pub unsafe fn CopyBufferRegion<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, numbytes: u64)
8464 where
8465 P0: ::windows_core::IntoParam<ID3D12Resource>,
8466 P1: ::windows_core::IntoParam<ID3D12Resource>,
8467 {
8468 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CopyBufferRegion)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, numbytes)
8469 }
8470 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
8471 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
8472 pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: ::core::option::Option<*const D3D12_BOX>) {
8473 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CopyTextureRegion)(::windows_core::Interface::as_raw(self), pdst, dstx, dsty, dstz, psrc, ::core::mem::transmute(psrcbox.unwrap_or(::std::ptr::null())))
8474 }
8475 pub unsafe fn CopyResource<P0, P1>(&self, pdstresource: P0, psrcresource: P1)
8476 where
8477 P0: ::windows_core::IntoParam<ID3D12Resource>,
8478 P1: ::windows_core::IntoParam<ID3D12Resource>,
8479 {
8480 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CopyResource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), psrcresource.into_param().abi())
8481 }
8482 #[doc = "Required features: `\"Win32_Foundation\"`"]
8483 #[cfg(feature = "Win32_Foundation")]
8484 pub unsafe fn CopyTiles<P0, P1>(&self, ptiledresource: P0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: P1, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)
8485 where
8486 P0: ::windows_core::IntoParam<ID3D12Resource>,
8487 P1: ::windows_core::IntoParam<ID3D12Resource>,
8488 {
8489 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CopyTiles)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ptileregionstartcoordinate, ptileregionsize, pbuffer.into_param().abi(), bufferstartoffsetinbytes, flags)
8490 }
8491 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
8492 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
8493 pub unsafe fn ResolveSubresource<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, psrcresource: P1, srcsubresource: u32, format: super::Dxgi::Common::DXGI_FORMAT)
8494 where
8495 P0: ::windows_core::IntoParam<ID3D12Resource>,
8496 P1: ::windows_core::IntoParam<ID3D12Resource>,
8497 {
8498 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ResolveSubresource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, psrcresource.into_param().abi(), srcsubresource, format)
8499 }
8500 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
8501 #[cfg(feature = "Win32_Graphics_Direct3D")]
8502 pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY) {
8503 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IASetPrimitiveTopology)(::windows_core::Interface::as_raw(self), primitivetopology)
8504 }
8505 pub unsafe fn RSSetViewports(&self, pviewports: &[D3D12_VIEWPORT]) {
8506 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RSSetViewports)(::windows_core::Interface::as_raw(self), pviewports.len().try_into().unwrap(), ::core::mem::transmute(pviewports.as_ptr()))
8507 }
8508 #[doc = "Required features: `\"Win32_Foundation\"`"]
8509 #[cfg(feature = "Win32_Foundation")]
8510 pub unsafe fn RSSetScissorRects(&self, prects: &[super::super::Foundation::RECT]) {
8511 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RSSetScissorRects)(::windows_core::Interface::as_raw(self), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
8512 }
8513 pub unsafe fn OMSetBlendFactor(&self, blendfactor: ::core::option::Option<&[f32; 4]>) {
8514 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OMSetBlendFactor)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(blendfactor.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
8515 }
8516 pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
8517 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OMSetStencilRef)(::windows_core::Interface::as_raw(self), stencilref)
8518 }
8519 pub unsafe fn SetPipelineState<P0>(&self, ppipelinestate: P0)
8520 where
8521 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
8522 {
8523 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPipelineState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
8524 }
8525 pub unsafe fn ResourceBarrier(&self, pbarriers: &[D3D12_RESOURCE_BARRIER]) {
8526 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ResourceBarrier)(::windows_core::Interface::as_raw(self), pbarriers.len().try_into().unwrap(), ::core::mem::transmute(pbarriers.as_ptr()))
8527 }
8528 pub unsafe fn ExecuteBundle<P0>(&self, pcommandlist: P0)
8529 where
8530 P0: ::windows_core::IntoParam<ID3D12GraphicsCommandList>,
8531 {
8532 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExecuteBundle)(::windows_core::Interface::as_raw(self), pcommandlist.into_param().abi())
8533 }
8534 pub unsafe fn SetDescriptorHeaps(&self, ppdescriptorheaps: &[::core::option::Option<ID3D12DescriptorHeap>]) {
8535 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetDescriptorHeaps)(::windows_core::Interface::as_raw(self), ppdescriptorheaps.len().try_into().unwrap(), ::core::mem::transmute(ppdescriptorheaps.as_ptr()))
8536 }
8537 pub unsafe fn SetComputeRootSignature<P0>(&self, prootsignature: P0)
8538 where
8539 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
8540 {
8541 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetComputeRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
8542 }
8543 pub unsafe fn SetGraphicsRootSignature<P0>(&self, prootsignature: P0)
8544 where
8545 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
8546 {
8547 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetGraphicsRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
8548 }
8549 pub unsafe fn SetComputeRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
8550 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetComputeRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
8551 }
8552 pub unsafe fn SetGraphicsRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
8553 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetGraphicsRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
8554 }
8555 pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
8556 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetComputeRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
8557 }
8558 pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
8559 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetGraphicsRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
8560 }
8561 pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
8562 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetComputeRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
8563 }
8564 pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
8565 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetGraphicsRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
8566 }
8567 pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
8568 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetComputeRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8569 }
8570 pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
8571 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetGraphicsRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8572 }
8573 pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
8574 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetComputeRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8575 }
8576 pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
8577 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetGraphicsRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8578 }
8579 pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
8580 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetComputeRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8581 }
8582 pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
8583 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetGraphicsRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8584 }
8585 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
8586 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
8587 pub unsafe fn IASetIndexBuffer(&self, pview: ::core::option::Option<*const D3D12_INDEX_BUFFER_VIEW>) {
8588 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IASetIndexBuffer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pview.unwrap_or(::std::ptr::null())))
8589 }
8590 pub unsafe fn IASetVertexBuffers(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_VERTEX_BUFFER_VIEW]>) {
8591 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.IASetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
8592 }
8593 pub unsafe fn SOSetTargets(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_STREAM_OUTPUT_BUFFER_VIEW]>) {
8594 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SOSetTargets)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
8595 }
8596 #[doc = "Required features: `\"Win32_Foundation\"`"]
8597 #[cfg(feature = "Win32_Foundation")]
8598 pub unsafe fn OMSetRenderTargets<P0>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>, rtssinglehandletodescriptorrange: P0, pdepthstencildescriptor: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>)
8599 where
8600 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
8601 {
8602 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OMSetRenderTargets)(::windows_core::Interface::as_raw(self), numrendertargetdescriptors, ::core::mem::transmute(prendertargetdescriptors.unwrap_or(::std::ptr::null())), rtssinglehandletodescriptorrange.into_param().abi(), ::core::mem::transmute(pdepthstencildescriptor.unwrap_or(::std::ptr::null())))
8603 }
8604 #[doc = "Required features: `\"Win32_Foundation\"`"]
8605 #[cfg(feature = "Win32_Foundation")]
8606 pub unsafe fn ClearDepthStencilView(&self, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, prects: &[super::super::Foundation::RECT]) {
8607 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClearDepthStencilView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(depthstencilview), clearflags, depth, stencil, prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
8608 }
8609 #[doc = "Required features: `\"Win32_Foundation\"`"]
8610 #[cfg(feature = "Win32_Foundation")]
8611 pub unsafe fn ClearRenderTargetView(&self, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: &[f32; 4], prects: ::core::option::Option<&[super::super::Foundation::RECT]>) {
8612 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClearRenderTargetView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rendertargetview), ::core::mem::transmute(colorrgba.as_ptr()), prects.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prects.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
8613 }
8614 #[doc = "Required features: `\"Win32_Foundation\"`"]
8615 #[cfg(feature = "Win32_Foundation")]
8616 pub unsafe fn ClearUnorderedAccessViewUint<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[u32; 4], prects: &[super::super::Foundation::RECT])
8617 where
8618 P0: ::windows_core::IntoParam<ID3D12Resource>,
8619 {
8620 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClearUnorderedAccessViewUint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
8621 }
8622 #[doc = "Required features: `\"Win32_Foundation\"`"]
8623 #[cfg(feature = "Win32_Foundation")]
8624 pub unsafe fn ClearUnorderedAccessViewFloat<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[f32; 4], prects: &[super::super::Foundation::RECT])
8625 where
8626 P0: ::windows_core::IntoParam<ID3D12Resource>,
8627 {
8628 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ClearUnorderedAccessViewFloat)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
8629 }
8630 #[doc = "Required features: `\"Win32_Foundation\"`"]
8631 #[cfg(feature = "Win32_Foundation")]
8632 pub unsafe fn DiscardResource<P0>(&self, presource: P0, pregion: ::core::option::Option<*const D3D12_DISCARD_REGION>)
8633 where
8634 P0: ::windows_core::IntoParam<ID3D12Resource>,
8635 {
8636 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DiscardResource)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pregion.unwrap_or(::std::ptr::null())))
8637 }
8638 pub unsafe fn BeginQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
8639 where
8640 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
8641 {
8642 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BeginQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
8643 }
8644 pub unsafe fn EndQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
8645 where
8646 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
8647 {
8648 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EndQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
8649 }
8650 pub unsafe fn ResolveQueryData<P0, P1>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: P1, aligneddestinationbufferoffset: u64)
8651 where
8652 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
8653 P1: ::windows_core::IntoParam<ID3D12Resource>,
8654 {
8655 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ResolveQueryData)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, startindex, numqueries, pdestinationbuffer.into_param().abi(), aligneddestinationbufferoffset)
8656 }
8657 pub unsafe fn SetPredication<P0>(&self, pbuffer: P0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)
8658 where
8659 P0: ::windows_core::IntoParam<ID3D12Resource>,
8660 {
8661 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPredication)(::windows_core::Interface::as_raw(self), pbuffer.into_param().abi(), alignedbufferoffset, operation)
8662 }
8663 pub unsafe fn SetMarker(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
8664 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetMarker)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
8665 }
8666 pub unsafe fn BeginEvent(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
8667 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BeginEvent)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
8668 }
8669 pub unsafe fn EndEvent(&self) {
8670 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EndEvent)(::windows_core::Interface::as_raw(self))
8671 }
8672 pub unsafe fn ExecuteIndirect<P0, P1, P2>(&self, pcommandsignature: P0, maxcommandcount: u32, pargumentbuffer: P1, argumentbufferoffset: u64, pcountbuffer: P2, countbufferoffset: u64)
8673 where
8674 P0: ::windows_core::IntoParam<ID3D12CommandSignature>,
8675 P1: ::windows_core::IntoParam<ID3D12Resource>,
8676 P2: ::windows_core::IntoParam<ID3D12Resource>,
8677 {
8678 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExecuteIndirect)(::windows_core::Interface::as_raw(self), pcommandsignature.into_param().abi(), maxcommandcount, pargumentbuffer.into_param().abi(), argumentbufferoffset, pcountbuffer.into_param().abi(), countbufferoffset)
8679 }
8680 pub unsafe fn AtomicCopyBufferUINT<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
8681 where
8682 P0: ::windows_core::IntoParam<ID3D12Resource>,
8683 P1: ::windows_core::IntoParam<ID3D12Resource>,
8684 {
8685 (::windows_core::Interface::vtable(self).base__.base__.base__.AtomicCopyBufferUINT)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
8686 }
8687 pub unsafe fn AtomicCopyBufferUINT64<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
8688 where
8689 P0: ::windows_core::IntoParam<ID3D12Resource>,
8690 P1: ::windows_core::IntoParam<ID3D12Resource>,
8691 {
8692 (::windows_core::Interface::vtable(self).base__.base__.base__.AtomicCopyBufferUINT64)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
8693 }
8694 pub unsafe fn OMSetDepthBounds(&self, min: f32, max: f32) {
8695 (::windows_core::Interface::vtable(self).base__.base__.base__.OMSetDepthBounds)(::windows_core::Interface::as_raw(self), min, max)
8696 }
8697 pub unsafe fn SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION) {
8698 (::windows_core::Interface::vtable(self).base__.base__.base__.SetSamplePositions)(::windows_core::Interface::as_raw(self), numsamplesperpixel, numpixels, psamplepositions)
8699 }
8700 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
8701 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
8702 pub unsafe fn ResolveSubresourceRegion<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: P1, srcsubresource: u32, psrcrect: ::core::option::Option<*const super::super::Foundation::RECT>, format: super::Dxgi::Common::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE)
8703 where
8704 P0: ::windows_core::IntoParam<ID3D12Resource>,
8705 P1: ::windows_core::IntoParam<ID3D12Resource>,
8706 {
8707 (::windows_core::Interface::vtable(self).base__.base__.base__.ResolveSubresourceRegion)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, dstx, dsty, psrcresource.into_param().abi(), srcsubresource, ::core::mem::transmute(psrcrect.unwrap_or(::std::ptr::null())), format, resolvemode)
8708 }
8709 pub unsafe fn SetViewInstanceMask(&self, mask: u32) {
8710 (::windows_core::Interface::vtable(self).base__.base__.base__.SetViewInstanceMask)(::windows_core::Interface::as_raw(self), mask)
8711 }
8712 pub unsafe fn WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: ::core::option::Option<*const D3D12_WRITEBUFFERIMMEDIATE_MODE>) {
8713 (::windows_core::Interface::vtable(self).base__.base__.WriteBufferImmediate)(::windows_core::Interface::as_raw(self), count, pparams, ::core::mem::transmute(pmodes.unwrap_or(::std::ptr::null())))
8714 }
8715 pub unsafe fn SetProtectedResourceSession<P0>(&self, pprotectedresourcesession: P0)
8716 where
8717 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
8718 {
8719 (::windows_core::Interface::vtable(self).base__.SetProtectedResourceSession)(::windows_core::Interface::as_raw(self), pprotectedresourcesession.into_param().abi())
8720 }
8721 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
8722 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
8723 pub unsafe fn BeginRenderPass(&self, prendertargets: ::core::option::Option<&[D3D12_RENDER_PASS_RENDER_TARGET_DESC]>, pdepthstencil: ::core::option::Option<*const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC>, flags: D3D12_RENDER_PASS_FLAGS) {
8724 (::windows_core::Interface::vtable(self).BeginRenderPass)(::windows_core::Interface::as_raw(self), prendertargets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prendertargets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), ::core::mem::transmute(pdepthstencil.unwrap_or(::std::ptr::null())), flags)
8725 }
8726 pub unsafe fn EndRenderPass(&self) {
8727 (::windows_core::Interface::vtable(self).EndRenderPass)(::windows_core::Interface::as_raw(self))
8728 }
8729 pub unsafe fn InitializeMetaCommand<P0>(&self, pmetacommand: P0, pinitializationparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, initializationparametersdatasizeinbytes: usize)
8730 where
8731 P0: ::windows_core::IntoParam<ID3D12MetaCommand>,
8732 {
8733 (::windows_core::Interface::vtable(self).InitializeMetaCommand)(::windows_core::Interface::as_raw(self), pmetacommand.into_param().abi(), ::core::mem::transmute(pinitializationparametersdata.unwrap_or(::std::ptr::null())), initializationparametersdatasizeinbytes)
8734 }
8735 pub unsafe fn ExecuteMetaCommand<P0>(&self, pmetacommand: P0, pexecutionparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, executionparametersdatasizeinbytes: usize)
8736 where
8737 P0: ::windows_core::IntoParam<ID3D12MetaCommand>,
8738 {
8739 (::windows_core::Interface::vtable(self).ExecuteMetaCommand)(::windows_core::Interface::as_raw(self), pmetacommand.into_param().abi(), ::core::mem::transmute(pexecutionparametersdata.unwrap_or(::std::ptr::null())), executionparametersdatasizeinbytes)
8740 }
8741 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
8742 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
8743 pub unsafe fn BuildRaytracingAccelerationStructure(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, ppostbuildinfodescs: ::core::option::Option<&[D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC]>) {
8744 (::windows_core::Interface::vtable(self).BuildRaytracingAccelerationStructure)(::windows_core::Interface::as_raw(self), pdesc, ppostbuildinfodescs.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppostbuildinfodescs.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
8745 }
8746 pub unsafe fn EmitRaytracingAccelerationStructurePostbuildInfo(&self, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, psourceaccelerationstructuredata: &[u64]) {
8747 (::windows_core::Interface::vtable(self).EmitRaytracingAccelerationStructurePostbuildInfo)(::windows_core::Interface::as_raw(self), pdesc, psourceaccelerationstructuredata.len().try_into().unwrap(), ::core::mem::transmute(psourceaccelerationstructuredata.as_ptr()))
8748 }
8749 pub unsafe fn CopyRaytracingAccelerationStructure(&self, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE) {
8750 (::windows_core::Interface::vtable(self).CopyRaytracingAccelerationStructure)(::windows_core::Interface::as_raw(self), destaccelerationstructuredata, sourceaccelerationstructuredata, mode)
8751 }
8752 pub unsafe fn SetPipelineState1<P0>(&self, pstateobject: P0)
8753 where
8754 P0: ::windows_core::IntoParam<ID3D12StateObject>,
8755 {
8756 (::windows_core::Interface::vtable(self).SetPipelineState1)(::windows_core::Interface::as_raw(self), pstateobject.into_param().abi())
8757 }
8758 pub unsafe fn DispatchRays(&self, pdesc: *const D3D12_DISPATCH_RAYS_DESC) {
8759 (::windows_core::Interface::vtable(self).DispatchRays)(::windows_core::Interface::as_raw(self), pdesc)
8760 }
8761}
8762::windows_core::imp::interface_hierarchy!(ID3D12GraphicsCommandList4, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12CommandList, ID3D12GraphicsCommandList, ID3D12GraphicsCommandList1, ID3D12GraphicsCommandList2, ID3D12GraphicsCommandList3);
8763unsafe impl ::core::marker::Send for ID3D12GraphicsCommandList4 {}
8764unsafe impl ::core::marker::Sync for ID3D12GraphicsCommandList4 {}
8765unsafe impl ::windows_core::Interface for ID3D12GraphicsCommandList4 {
8766 type Vtable = ID3D12GraphicsCommandList4_Vtbl;
8767}
8768unsafe impl ::windows_core::ComInterface for ID3D12GraphicsCommandList4 {
8769 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x8754318e_d3a9_4541_98cf_645b50dc4874);
8770}
8771#[repr(C)]
8772#[doc(hidden)]
8773pub struct ID3D12GraphicsCommandList4_Vtbl {
8774 pub base__: ID3D12GraphicsCommandList3_Vtbl,
8775 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
8776 pub BeginRenderPass: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numrendertargets: u32, prendertargets: *const D3D12_RENDER_PASS_RENDER_TARGET_DESC, pdepthstencil: *const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC, flags: D3D12_RENDER_PASS_FLAGS),
8777 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common")))]
8778 BeginRenderPass: usize,
8779 pub EndRenderPass: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
8780 pub InitializeMetaCommand: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmetacommand: *mut ::core::ffi::c_void, pinitializationparametersdata: *const ::core::ffi::c_void, initializationparametersdatasizeinbytes: usize),
8781 pub ExecuteMetaCommand: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmetacommand: *mut ::core::ffi::c_void, pexecutionparametersdata: *const ::core::ffi::c_void, executionparametersdatasizeinbytes: usize),
8782 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
8783 pub BuildRaytracingAccelerationStructure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, numpostbuildinfodescs: u32, ppostbuildinfodescs: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC),
8784 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
8785 BuildRaytracingAccelerationStructure: usize,
8786 pub EmitRaytracingAccelerationStructurePostbuildInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, numsourceaccelerationstructures: u32, psourceaccelerationstructuredata: *const u64),
8787 pub CopyRaytracingAccelerationStructure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE),
8788 pub SetPipelineState1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstateobject: *mut ::core::ffi::c_void),
8789 pub DispatchRays: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *const D3D12_DISPATCH_RAYS_DESC),
8790}
8791#[repr(transparent)]
8792#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
8793pub struct ID3D12GraphicsCommandList5(::windows_core::IUnknown);
8794impl ID3D12GraphicsCommandList5 {
8795 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
8796 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
8797 }
8798 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
8799 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
8800 }
8801 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
8802 where
8803 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
8804 {
8805 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
8806 }
8807 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
8808 where
8809 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
8810 {
8811 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
8812 }
8813 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
8814 where
8815 T: ::windows_core::ComInterface,
8816 {
8817 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
8818 }
8819 pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
8820 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self))
8821 }
8822 pub unsafe fn Close(&self) -> ::windows_core::Result<()> {
8823 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Close)(::windows_core::Interface::as_raw(self)).ok()
8824 }
8825 pub unsafe fn Reset<P0, P1>(&self, pallocator: P0, pinitialstate: P1) -> ::windows_core::Result<()>
8826 where
8827 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
8828 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
8829 {
8830 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Reset)(::windows_core::Interface::as_raw(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
8831 }
8832 pub unsafe fn ClearState<P0>(&self, ppipelinestate: P0)
8833 where
8834 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
8835 {
8836 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ClearState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
8837 }
8838 pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
8839 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DrawInstanced)(::windows_core::Interface::as_raw(self), vertexcountperinstance, instancecount, startvertexlocation, startinstancelocation)
8840 }
8841 pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
8842 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DrawIndexedInstanced)(::windows_core::Interface::as_raw(self), indexcountperinstance, instancecount, startindexlocation, basevertexlocation, startinstancelocation)
8843 }
8844 pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
8845 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.Dispatch)(::windows_core::Interface::as_raw(self), threadgroupcountx, threadgroupcounty, threadgroupcountz)
8846 }
8847 pub unsafe fn CopyBufferRegion<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, numbytes: u64)
8848 where
8849 P0: ::windows_core::IntoParam<ID3D12Resource>,
8850 P1: ::windows_core::IntoParam<ID3D12Resource>,
8851 {
8852 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CopyBufferRegion)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, numbytes)
8853 }
8854 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
8855 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
8856 pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: ::core::option::Option<*const D3D12_BOX>) {
8857 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CopyTextureRegion)(::windows_core::Interface::as_raw(self), pdst, dstx, dsty, dstz, psrc, ::core::mem::transmute(psrcbox.unwrap_or(::std::ptr::null())))
8858 }
8859 pub unsafe fn CopyResource<P0, P1>(&self, pdstresource: P0, psrcresource: P1)
8860 where
8861 P0: ::windows_core::IntoParam<ID3D12Resource>,
8862 P1: ::windows_core::IntoParam<ID3D12Resource>,
8863 {
8864 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CopyResource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), psrcresource.into_param().abi())
8865 }
8866 #[doc = "Required features: `\"Win32_Foundation\"`"]
8867 #[cfg(feature = "Win32_Foundation")]
8868 pub unsafe fn CopyTiles<P0, P1>(&self, ptiledresource: P0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: P1, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)
8869 where
8870 P0: ::windows_core::IntoParam<ID3D12Resource>,
8871 P1: ::windows_core::IntoParam<ID3D12Resource>,
8872 {
8873 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CopyTiles)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ptileregionstartcoordinate, ptileregionsize, pbuffer.into_param().abi(), bufferstartoffsetinbytes, flags)
8874 }
8875 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
8876 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
8877 pub unsafe fn ResolveSubresource<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, psrcresource: P1, srcsubresource: u32, format: super::Dxgi::Common::DXGI_FORMAT)
8878 where
8879 P0: ::windows_core::IntoParam<ID3D12Resource>,
8880 P1: ::windows_core::IntoParam<ID3D12Resource>,
8881 {
8882 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ResolveSubresource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, psrcresource.into_param().abi(), srcsubresource, format)
8883 }
8884 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
8885 #[cfg(feature = "Win32_Graphics_Direct3D")]
8886 pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY) {
8887 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IASetPrimitiveTopology)(::windows_core::Interface::as_raw(self), primitivetopology)
8888 }
8889 pub unsafe fn RSSetViewports(&self, pviewports: &[D3D12_VIEWPORT]) {
8890 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RSSetViewports)(::windows_core::Interface::as_raw(self), pviewports.len().try_into().unwrap(), ::core::mem::transmute(pviewports.as_ptr()))
8891 }
8892 #[doc = "Required features: `\"Win32_Foundation\"`"]
8893 #[cfg(feature = "Win32_Foundation")]
8894 pub unsafe fn RSSetScissorRects(&self, prects: &[super::super::Foundation::RECT]) {
8895 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.RSSetScissorRects)(::windows_core::Interface::as_raw(self), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
8896 }
8897 pub unsafe fn OMSetBlendFactor(&self, blendfactor: ::core::option::Option<&[f32; 4]>) {
8898 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.OMSetBlendFactor)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(blendfactor.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
8899 }
8900 pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
8901 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.OMSetStencilRef)(::windows_core::Interface::as_raw(self), stencilref)
8902 }
8903 pub unsafe fn SetPipelineState<P0>(&self, ppipelinestate: P0)
8904 where
8905 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
8906 {
8907 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetPipelineState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
8908 }
8909 pub unsafe fn ResourceBarrier(&self, pbarriers: &[D3D12_RESOURCE_BARRIER]) {
8910 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ResourceBarrier)(::windows_core::Interface::as_raw(self), pbarriers.len().try_into().unwrap(), ::core::mem::transmute(pbarriers.as_ptr()))
8911 }
8912 pub unsafe fn ExecuteBundle<P0>(&self, pcommandlist: P0)
8913 where
8914 P0: ::windows_core::IntoParam<ID3D12GraphicsCommandList>,
8915 {
8916 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExecuteBundle)(::windows_core::Interface::as_raw(self), pcommandlist.into_param().abi())
8917 }
8918 pub unsafe fn SetDescriptorHeaps(&self, ppdescriptorheaps: &[::core::option::Option<ID3D12DescriptorHeap>]) {
8919 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetDescriptorHeaps)(::windows_core::Interface::as_raw(self), ppdescriptorheaps.len().try_into().unwrap(), ::core::mem::transmute(ppdescriptorheaps.as_ptr()))
8920 }
8921 pub unsafe fn SetComputeRootSignature<P0>(&self, prootsignature: P0)
8922 where
8923 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
8924 {
8925 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetComputeRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
8926 }
8927 pub unsafe fn SetGraphicsRootSignature<P0>(&self, prootsignature: P0)
8928 where
8929 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
8930 {
8931 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetGraphicsRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
8932 }
8933 pub unsafe fn SetComputeRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
8934 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetComputeRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
8935 }
8936 pub unsafe fn SetGraphicsRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
8937 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetGraphicsRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
8938 }
8939 pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
8940 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetComputeRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
8941 }
8942 pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
8943 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetGraphicsRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
8944 }
8945 pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
8946 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetComputeRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
8947 }
8948 pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
8949 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetGraphicsRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
8950 }
8951 pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
8952 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetComputeRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8953 }
8954 pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
8955 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetGraphicsRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8956 }
8957 pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
8958 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetComputeRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8959 }
8960 pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
8961 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetGraphicsRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8962 }
8963 pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
8964 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetComputeRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8965 }
8966 pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
8967 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetGraphicsRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
8968 }
8969 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
8970 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
8971 pub unsafe fn IASetIndexBuffer(&self, pview: ::core::option::Option<*const D3D12_INDEX_BUFFER_VIEW>) {
8972 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IASetIndexBuffer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pview.unwrap_or(::std::ptr::null())))
8973 }
8974 pub unsafe fn IASetVertexBuffers(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_VERTEX_BUFFER_VIEW]>) {
8975 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.IASetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
8976 }
8977 pub unsafe fn SOSetTargets(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_STREAM_OUTPUT_BUFFER_VIEW]>) {
8978 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SOSetTargets)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
8979 }
8980 #[doc = "Required features: `\"Win32_Foundation\"`"]
8981 #[cfg(feature = "Win32_Foundation")]
8982 pub unsafe fn OMSetRenderTargets<P0>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>, rtssinglehandletodescriptorrange: P0, pdepthstencildescriptor: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>)
8983 where
8984 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
8985 {
8986 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.OMSetRenderTargets)(::windows_core::Interface::as_raw(self), numrendertargetdescriptors, ::core::mem::transmute(prendertargetdescriptors.unwrap_or(::std::ptr::null())), rtssinglehandletodescriptorrange.into_param().abi(), ::core::mem::transmute(pdepthstencildescriptor.unwrap_or(::std::ptr::null())))
8987 }
8988 #[doc = "Required features: `\"Win32_Foundation\"`"]
8989 #[cfg(feature = "Win32_Foundation")]
8990 pub unsafe fn ClearDepthStencilView(&self, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, prects: &[super::super::Foundation::RECT]) {
8991 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ClearDepthStencilView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(depthstencilview), clearflags, depth, stencil, prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
8992 }
8993 #[doc = "Required features: `\"Win32_Foundation\"`"]
8994 #[cfg(feature = "Win32_Foundation")]
8995 pub unsafe fn ClearRenderTargetView(&self, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: &[f32; 4], prects: ::core::option::Option<&[super::super::Foundation::RECT]>) {
8996 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ClearRenderTargetView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rendertargetview), ::core::mem::transmute(colorrgba.as_ptr()), prects.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prects.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
8997 }
8998 #[doc = "Required features: `\"Win32_Foundation\"`"]
8999 #[cfg(feature = "Win32_Foundation")]
9000 pub unsafe fn ClearUnorderedAccessViewUint<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[u32; 4], prects: &[super::super::Foundation::RECT])
9001 where
9002 P0: ::windows_core::IntoParam<ID3D12Resource>,
9003 {
9004 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ClearUnorderedAccessViewUint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
9005 }
9006 #[doc = "Required features: `\"Win32_Foundation\"`"]
9007 #[cfg(feature = "Win32_Foundation")]
9008 pub unsafe fn ClearUnorderedAccessViewFloat<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[f32; 4], prects: &[super::super::Foundation::RECT])
9009 where
9010 P0: ::windows_core::IntoParam<ID3D12Resource>,
9011 {
9012 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ClearUnorderedAccessViewFloat)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
9013 }
9014 #[doc = "Required features: `\"Win32_Foundation\"`"]
9015 #[cfg(feature = "Win32_Foundation")]
9016 pub unsafe fn DiscardResource<P0>(&self, presource: P0, pregion: ::core::option::Option<*const D3D12_DISCARD_REGION>)
9017 where
9018 P0: ::windows_core::IntoParam<ID3D12Resource>,
9019 {
9020 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DiscardResource)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pregion.unwrap_or(::std::ptr::null())))
9021 }
9022 pub unsafe fn BeginQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
9023 where
9024 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
9025 {
9026 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.BeginQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
9027 }
9028 pub unsafe fn EndQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
9029 where
9030 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
9031 {
9032 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EndQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
9033 }
9034 pub unsafe fn ResolveQueryData<P0, P1>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: P1, aligneddestinationbufferoffset: u64)
9035 where
9036 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
9037 P1: ::windows_core::IntoParam<ID3D12Resource>,
9038 {
9039 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ResolveQueryData)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, startindex, numqueries, pdestinationbuffer.into_param().abi(), aligneddestinationbufferoffset)
9040 }
9041 pub unsafe fn SetPredication<P0>(&self, pbuffer: P0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)
9042 where
9043 P0: ::windows_core::IntoParam<ID3D12Resource>,
9044 {
9045 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetPredication)(::windows_core::Interface::as_raw(self), pbuffer.into_param().abi(), alignedbufferoffset, operation)
9046 }
9047 pub unsafe fn SetMarker(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
9048 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetMarker)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
9049 }
9050 pub unsafe fn BeginEvent(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
9051 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.BeginEvent)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
9052 }
9053 pub unsafe fn EndEvent(&self) {
9054 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EndEvent)(::windows_core::Interface::as_raw(self))
9055 }
9056 pub unsafe fn ExecuteIndirect<P0, P1, P2>(&self, pcommandsignature: P0, maxcommandcount: u32, pargumentbuffer: P1, argumentbufferoffset: u64, pcountbuffer: P2, countbufferoffset: u64)
9057 where
9058 P0: ::windows_core::IntoParam<ID3D12CommandSignature>,
9059 P1: ::windows_core::IntoParam<ID3D12Resource>,
9060 P2: ::windows_core::IntoParam<ID3D12Resource>,
9061 {
9062 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExecuteIndirect)(::windows_core::Interface::as_raw(self), pcommandsignature.into_param().abi(), maxcommandcount, pargumentbuffer.into_param().abi(), argumentbufferoffset, pcountbuffer.into_param().abi(), countbufferoffset)
9063 }
9064 pub unsafe fn AtomicCopyBufferUINT<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
9065 where
9066 P0: ::windows_core::IntoParam<ID3D12Resource>,
9067 P1: ::windows_core::IntoParam<ID3D12Resource>,
9068 {
9069 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AtomicCopyBufferUINT)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
9070 }
9071 pub unsafe fn AtomicCopyBufferUINT64<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
9072 where
9073 P0: ::windows_core::IntoParam<ID3D12Resource>,
9074 P1: ::windows_core::IntoParam<ID3D12Resource>,
9075 {
9076 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.AtomicCopyBufferUINT64)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
9077 }
9078 pub unsafe fn OMSetDepthBounds(&self, min: f32, max: f32) {
9079 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.OMSetDepthBounds)(::windows_core::Interface::as_raw(self), min, max)
9080 }
9081 pub unsafe fn SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION) {
9082 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetSamplePositions)(::windows_core::Interface::as_raw(self), numsamplesperpixel, numpixels, psamplepositions)
9083 }
9084 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
9085 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
9086 pub unsafe fn ResolveSubresourceRegion<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: P1, srcsubresource: u32, psrcrect: ::core::option::Option<*const super::super::Foundation::RECT>, format: super::Dxgi::Common::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE)
9087 where
9088 P0: ::windows_core::IntoParam<ID3D12Resource>,
9089 P1: ::windows_core::IntoParam<ID3D12Resource>,
9090 {
9091 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ResolveSubresourceRegion)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, dstx, dsty, psrcresource.into_param().abi(), srcsubresource, ::core::mem::transmute(psrcrect.unwrap_or(::std::ptr::null())), format, resolvemode)
9092 }
9093 pub unsafe fn SetViewInstanceMask(&self, mask: u32) {
9094 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetViewInstanceMask)(::windows_core::Interface::as_raw(self), mask)
9095 }
9096 pub unsafe fn WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: ::core::option::Option<*const D3D12_WRITEBUFFERIMMEDIATE_MODE>) {
9097 (::windows_core::Interface::vtable(self).base__.base__.base__.WriteBufferImmediate)(::windows_core::Interface::as_raw(self), count, pparams, ::core::mem::transmute(pmodes.unwrap_or(::std::ptr::null())))
9098 }
9099 pub unsafe fn SetProtectedResourceSession<P0>(&self, pprotectedresourcesession: P0)
9100 where
9101 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
9102 {
9103 (::windows_core::Interface::vtable(self).base__.base__.SetProtectedResourceSession)(::windows_core::Interface::as_raw(self), pprotectedresourcesession.into_param().abi())
9104 }
9105 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
9106 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
9107 pub unsafe fn BeginRenderPass(&self, prendertargets: ::core::option::Option<&[D3D12_RENDER_PASS_RENDER_TARGET_DESC]>, pdepthstencil: ::core::option::Option<*const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC>, flags: D3D12_RENDER_PASS_FLAGS) {
9108 (::windows_core::Interface::vtable(self).base__.BeginRenderPass)(::windows_core::Interface::as_raw(self), prendertargets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prendertargets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), ::core::mem::transmute(pdepthstencil.unwrap_or(::std::ptr::null())), flags)
9109 }
9110 pub unsafe fn EndRenderPass(&self) {
9111 (::windows_core::Interface::vtable(self).base__.EndRenderPass)(::windows_core::Interface::as_raw(self))
9112 }
9113 pub unsafe fn InitializeMetaCommand<P0>(&self, pmetacommand: P0, pinitializationparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, initializationparametersdatasizeinbytes: usize)
9114 where
9115 P0: ::windows_core::IntoParam<ID3D12MetaCommand>,
9116 {
9117 (::windows_core::Interface::vtable(self).base__.InitializeMetaCommand)(::windows_core::Interface::as_raw(self), pmetacommand.into_param().abi(), ::core::mem::transmute(pinitializationparametersdata.unwrap_or(::std::ptr::null())), initializationparametersdatasizeinbytes)
9118 }
9119 pub unsafe fn ExecuteMetaCommand<P0>(&self, pmetacommand: P0, pexecutionparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, executionparametersdatasizeinbytes: usize)
9120 where
9121 P0: ::windows_core::IntoParam<ID3D12MetaCommand>,
9122 {
9123 (::windows_core::Interface::vtable(self).base__.ExecuteMetaCommand)(::windows_core::Interface::as_raw(self), pmetacommand.into_param().abi(), ::core::mem::transmute(pexecutionparametersdata.unwrap_or(::std::ptr::null())), executionparametersdatasizeinbytes)
9124 }
9125 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
9126 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9127 pub unsafe fn BuildRaytracingAccelerationStructure(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, ppostbuildinfodescs: ::core::option::Option<&[D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC]>) {
9128 (::windows_core::Interface::vtable(self).base__.BuildRaytracingAccelerationStructure)(::windows_core::Interface::as_raw(self), pdesc, ppostbuildinfodescs.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppostbuildinfodescs.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
9129 }
9130 pub unsafe fn EmitRaytracingAccelerationStructurePostbuildInfo(&self, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, psourceaccelerationstructuredata: &[u64]) {
9131 (::windows_core::Interface::vtable(self).base__.EmitRaytracingAccelerationStructurePostbuildInfo)(::windows_core::Interface::as_raw(self), pdesc, psourceaccelerationstructuredata.len().try_into().unwrap(), ::core::mem::transmute(psourceaccelerationstructuredata.as_ptr()))
9132 }
9133 pub unsafe fn CopyRaytracingAccelerationStructure(&self, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE) {
9134 (::windows_core::Interface::vtable(self).base__.CopyRaytracingAccelerationStructure)(::windows_core::Interface::as_raw(self), destaccelerationstructuredata, sourceaccelerationstructuredata, mode)
9135 }
9136 pub unsafe fn SetPipelineState1<P0>(&self, pstateobject: P0)
9137 where
9138 P0: ::windows_core::IntoParam<ID3D12StateObject>,
9139 {
9140 (::windows_core::Interface::vtable(self).base__.SetPipelineState1)(::windows_core::Interface::as_raw(self), pstateobject.into_param().abi())
9141 }
9142 pub unsafe fn DispatchRays(&self, pdesc: *const D3D12_DISPATCH_RAYS_DESC) {
9143 (::windows_core::Interface::vtable(self).base__.DispatchRays)(::windows_core::Interface::as_raw(self), pdesc)
9144 }
9145 pub unsafe fn RSSetShadingRate(&self, baseshadingrate: D3D12_SHADING_RATE, combiners: ::core::option::Option<*const D3D12_SHADING_RATE_COMBINER>) {
9146 (::windows_core::Interface::vtable(self).RSSetShadingRate)(::windows_core::Interface::as_raw(self), baseshadingrate, ::core::mem::transmute(combiners.unwrap_or(::std::ptr::null())))
9147 }
9148 pub unsafe fn RSSetShadingRateImage<P0>(&self, shadingrateimage: P0)
9149 where
9150 P0: ::windows_core::IntoParam<ID3D12Resource>,
9151 {
9152 (::windows_core::Interface::vtable(self).RSSetShadingRateImage)(::windows_core::Interface::as_raw(self), shadingrateimage.into_param().abi())
9153 }
9154}
9155::windows_core::imp::interface_hierarchy!(ID3D12GraphicsCommandList5, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12CommandList, ID3D12GraphicsCommandList, ID3D12GraphicsCommandList1, ID3D12GraphicsCommandList2, ID3D12GraphicsCommandList3, ID3D12GraphicsCommandList4);
9156unsafe impl ::core::marker::Send for ID3D12GraphicsCommandList5 {}
9157unsafe impl ::core::marker::Sync for ID3D12GraphicsCommandList5 {}
9158unsafe impl ::windows_core::Interface for ID3D12GraphicsCommandList5 {
9159 type Vtable = ID3D12GraphicsCommandList5_Vtbl;
9160}
9161unsafe impl ::windows_core::ComInterface for ID3D12GraphicsCommandList5 {
9162 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x55050859_4024_474c_87f5_6472eaee44ea);
9163}
9164#[repr(C)]
9165#[doc(hidden)]
9166pub struct ID3D12GraphicsCommandList5_Vtbl {
9167 pub base__: ID3D12GraphicsCommandList4_Vtbl,
9168 pub RSSetShadingRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, baseshadingrate: D3D12_SHADING_RATE, combiners: *const D3D12_SHADING_RATE_COMBINER),
9169 pub RSSetShadingRateImage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, shadingrateimage: *mut ::core::ffi::c_void),
9170}
9171#[repr(transparent)]
9172#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
9173pub struct ID3D12GraphicsCommandList6(::windows_core::IUnknown);
9174impl ID3D12GraphicsCommandList6 {
9175 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
9176 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
9177 }
9178 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
9179 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
9180 }
9181 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
9182 where
9183 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
9184 {
9185 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
9186 }
9187 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
9188 where
9189 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
9190 {
9191 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
9192 }
9193 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
9194 where
9195 T: ::windows_core::ComInterface,
9196 {
9197 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
9198 }
9199 pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
9200 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self))
9201 }
9202 pub unsafe fn Close(&self) -> ::windows_core::Result<()> {
9203 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.Close)(::windows_core::Interface::as_raw(self)).ok()
9204 }
9205 pub unsafe fn Reset<P0, P1>(&self, pallocator: P0, pinitialstate: P1) -> ::windows_core::Result<()>
9206 where
9207 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
9208 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
9209 {
9210 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.Reset)(::windows_core::Interface::as_raw(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
9211 }
9212 pub unsafe fn ClearState<P0>(&self, ppipelinestate: P0)
9213 where
9214 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
9215 {
9216 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ClearState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
9217 }
9218 pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
9219 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.DrawInstanced)(::windows_core::Interface::as_raw(self), vertexcountperinstance, instancecount, startvertexlocation, startinstancelocation)
9220 }
9221 pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
9222 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.DrawIndexedInstanced)(::windows_core::Interface::as_raw(self), indexcountperinstance, instancecount, startindexlocation, basevertexlocation, startinstancelocation)
9223 }
9224 pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
9225 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.Dispatch)(::windows_core::Interface::as_raw(self), threadgroupcountx, threadgroupcounty, threadgroupcountz)
9226 }
9227 pub unsafe fn CopyBufferRegion<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, numbytes: u64)
9228 where
9229 P0: ::windows_core::IntoParam<ID3D12Resource>,
9230 P1: ::windows_core::IntoParam<ID3D12Resource>,
9231 {
9232 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CopyBufferRegion)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, numbytes)
9233 }
9234 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
9235 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9236 pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: ::core::option::Option<*const D3D12_BOX>) {
9237 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CopyTextureRegion)(::windows_core::Interface::as_raw(self), pdst, dstx, dsty, dstz, psrc, ::core::mem::transmute(psrcbox.unwrap_or(::std::ptr::null())))
9238 }
9239 pub unsafe fn CopyResource<P0, P1>(&self, pdstresource: P0, psrcresource: P1)
9240 where
9241 P0: ::windows_core::IntoParam<ID3D12Resource>,
9242 P1: ::windows_core::IntoParam<ID3D12Resource>,
9243 {
9244 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CopyResource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), psrcresource.into_param().abi())
9245 }
9246 #[doc = "Required features: `\"Win32_Foundation\"`"]
9247 #[cfg(feature = "Win32_Foundation")]
9248 pub unsafe fn CopyTiles<P0, P1>(&self, ptiledresource: P0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: P1, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)
9249 where
9250 P0: ::windows_core::IntoParam<ID3D12Resource>,
9251 P1: ::windows_core::IntoParam<ID3D12Resource>,
9252 {
9253 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.CopyTiles)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ptileregionstartcoordinate, ptileregionsize, pbuffer.into_param().abi(), bufferstartoffsetinbytes, flags)
9254 }
9255 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
9256 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9257 pub unsafe fn ResolveSubresource<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, psrcresource: P1, srcsubresource: u32, format: super::Dxgi::Common::DXGI_FORMAT)
9258 where
9259 P0: ::windows_core::IntoParam<ID3D12Resource>,
9260 P1: ::windows_core::IntoParam<ID3D12Resource>,
9261 {
9262 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ResolveSubresource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, psrcresource.into_param().abi(), srcsubresource, format)
9263 }
9264 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
9265 #[cfg(feature = "Win32_Graphics_Direct3D")]
9266 pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY) {
9267 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IASetPrimitiveTopology)(::windows_core::Interface::as_raw(self), primitivetopology)
9268 }
9269 pub unsafe fn RSSetViewports(&self, pviewports: &[D3D12_VIEWPORT]) {
9270 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RSSetViewports)(::windows_core::Interface::as_raw(self), pviewports.len().try_into().unwrap(), ::core::mem::transmute(pviewports.as_ptr()))
9271 }
9272 #[doc = "Required features: `\"Win32_Foundation\"`"]
9273 #[cfg(feature = "Win32_Foundation")]
9274 pub unsafe fn RSSetScissorRects(&self, prects: &[super::super::Foundation::RECT]) {
9275 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.RSSetScissorRects)(::windows_core::Interface::as_raw(self), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
9276 }
9277 pub unsafe fn OMSetBlendFactor(&self, blendfactor: ::core::option::Option<&[f32; 4]>) {
9278 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.OMSetBlendFactor)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(blendfactor.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
9279 }
9280 pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
9281 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.OMSetStencilRef)(::windows_core::Interface::as_raw(self), stencilref)
9282 }
9283 pub unsafe fn SetPipelineState<P0>(&self, ppipelinestate: P0)
9284 where
9285 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
9286 {
9287 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetPipelineState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
9288 }
9289 pub unsafe fn ResourceBarrier(&self, pbarriers: &[D3D12_RESOURCE_BARRIER]) {
9290 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ResourceBarrier)(::windows_core::Interface::as_raw(self), pbarriers.len().try_into().unwrap(), ::core::mem::transmute(pbarriers.as_ptr()))
9291 }
9292 pub unsafe fn ExecuteBundle<P0>(&self, pcommandlist: P0)
9293 where
9294 P0: ::windows_core::IntoParam<ID3D12GraphicsCommandList>,
9295 {
9296 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExecuteBundle)(::windows_core::Interface::as_raw(self), pcommandlist.into_param().abi())
9297 }
9298 pub unsafe fn SetDescriptorHeaps(&self, ppdescriptorheaps: &[::core::option::Option<ID3D12DescriptorHeap>]) {
9299 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetDescriptorHeaps)(::windows_core::Interface::as_raw(self), ppdescriptorheaps.len().try_into().unwrap(), ::core::mem::transmute(ppdescriptorheaps.as_ptr()))
9300 }
9301 pub unsafe fn SetComputeRootSignature<P0>(&self, prootsignature: P0)
9302 where
9303 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
9304 {
9305 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetComputeRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
9306 }
9307 pub unsafe fn SetGraphicsRootSignature<P0>(&self, prootsignature: P0)
9308 where
9309 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
9310 {
9311 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetGraphicsRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
9312 }
9313 pub unsafe fn SetComputeRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
9314 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetComputeRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
9315 }
9316 pub unsafe fn SetGraphicsRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
9317 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetGraphicsRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
9318 }
9319 pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
9320 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetComputeRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
9321 }
9322 pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
9323 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetGraphicsRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
9324 }
9325 pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
9326 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetComputeRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
9327 }
9328 pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
9329 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetGraphicsRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
9330 }
9331 pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
9332 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetComputeRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
9333 }
9334 pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
9335 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetGraphicsRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
9336 }
9337 pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
9338 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetComputeRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
9339 }
9340 pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
9341 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetGraphicsRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
9342 }
9343 pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
9344 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetComputeRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
9345 }
9346 pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
9347 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetGraphicsRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
9348 }
9349 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
9350 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9351 pub unsafe fn IASetIndexBuffer(&self, pview: ::core::option::Option<*const D3D12_INDEX_BUFFER_VIEW>) {
9352 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IASetIndexBuffer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pview.unwrap_or(::std::ptr::null())))
9353 }
9354 pub unsafe fn IASetVertexBuffers(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_VERTEX_BUFFER_VIEW]>) {
9355 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.IASetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
9356 }
9357 pub unsafe fn SOSetTargets(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_STREAM_OUTPUT_BUFFER_VIEW]>) {
9358 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SOSetTargets)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
9359 }
9360 #[doc = "Required features: `\"Win32_Foundation\"`"]
9361 #[cfg(feature = "Win32_Foundation")]
9362 pub unsafe fn OMSetRenderTargets<P0>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>, rtssinglehandletodescriptorrange: P0, pdepthstencildescriptor: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>)
9363 where
9364 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
9365 {
9366 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.OMSetRenderTargets)(::windows_core::Interface::as_raw(self), numrendertargetdescriptors, ::core::mem::transmute(prendertargetdescriptors.unwrap_or(::std::ptr::null())), rtssinglehandletodescriptorrange.into_param().abi(), ::core::mem::transmute(pdepthstencildescriptor.unwrap_or(::std::ptr::null())))
9367 }
9368 #[doc = "Required features: `\"Win32_Foundation\"`"]
9369 #[cfg(feature = "Win32_Foundation")]
9370 pub unsafe fn ClearDepthStencilView(&self, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, prects: &[super::super::Foundation::RECT]) {
9371 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ClearDepthStencilView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(depthstencilview), clearflags, depth, stencil, prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
9372 }
9373 #[doc = "Required features: `\"Win32_Foundation\"`"]
9374 #[cfg(feature = "Win32_Foundation")]
9375 pub unsafe fn ClearRenderTargetView(&self, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: &[f32; 4], prects: ::core::option::Option<&[super::super::Foundation::RECT]>) {
9376 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ClearRenderTargetView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rendertargetview), ::core::mem::transmute(colorrgba.as_ptr()), prects.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prects.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
9377 }
9378 #[doc = "Required features: `\"Win32_Foundation\"`"]
9379 #[cfg(feature = "Win32_Foundation")]
9380 pub unsafe fn ClearUnorderedAccessViewUint<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[u32; 4], prects: &[super::super::Foundation::RECT])
9381 where
9382 P0: ::windows_core::IntoParam<ID3D12Resource>,
9383 {
9384 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ClearUnorderedAccessViewUint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
9385 }
9386 #[doc = "Required features: `\"Win32_Foundation\"`"]
9387 #[cfg(feature = "Win32_Foundation")]
9388 pub unsafe fn ClearUnorderedAccessViewFloat<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[f32; 4], prects: &[super::super::Foundation::RECT])
9389 where
9390 P0: ::windows_core::IntoParam<ID3D12Resource>,
9391 {
9392 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ClearUnorderedAccessViewFloat)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
9393 }
9394 #[doc = "Required features: `\"Win32_Foundation\"`"]
9395 #[cfg(feature = "Win32_Foundation")]
9396 pub unsafe fn DiscardResource<P0>(&self, presource: P0, pregion: ::core::option::Option<*const D3D12_DISCARD_REGION>)
9397 where
9398 P0: ::windows_core::IntoParam<ID3D12Resource>,
9399 {
9400 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.DiscardResource)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pregion.unwrap_or(::std::ptr::null())))
9401 }
9402 pub unsafe fn BeginQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
9403 where
9404 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
9405 {
9406 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.BeginQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
9407 }
9408 pub unsafe fn EndQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
9409 where
9410 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
9411 {
9412 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EndQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
9413 }
9414 pub unsafe fn ResolveQueryData<P0, P1>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: P1, aligneddestinationbufferoffset: u64)
9415 where
9416 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
9417 P1: ::windows_core::IntoParam<ID3D12Resource>,
9418 {
9419 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ResolveQueryData)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, startindex, numqueries, pdestinationbuffer.into_param().abi(), aligneddestinationbufferoffset)
9420 }
9421 pub unsafe fn SetPredication<P0>(&self, pbuffer: P0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)
9422 where
9423 P0: ::windows_core::IntoParam<ID3D12Resource>,
9424 {
9425 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetPredication)(::windows_core::Interface::as_raw(self), pbuffer.into_param().abi(), alignedbufferoffset, operation)
9426 }
9427 pub unsafe fn SetMarker(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
9428 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetMarker)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
9429 }
9430 pub unsafe fn BeginEvent(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
9431 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.BeginEvent)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
9432 }
9433 pub unsafe fn EndEvent(&self) {
9434 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.EndEvent)(::windows_core::Interface::as_raw(self))
9435 }
9436 pub unsafe fn ExecuteIndirect<P0, P1, P2>(&self, pcommandsignature: P0, maxcommandcount: u32, pargumentbuffer: P1, argumentbufferoffset: u64, pcountbuffer: P2, countbufferoffset: u64)
9437 where
9438 P0: ::windows_core::IntoParam<ID3D12CommandSignature>,
9439 P1: ::windows_core::IntoParam<ID3D12Resource>,
9440 P2: ::windows_core::IntoParam<ID3D12Resource>,
9441 {
9442 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ExecuteIndirect)(::windows_core::Interface::as_raw(self), pcommandsignature.into_param().abi(), maxcommandcount, pargumentbuffer.into_param().abi(), argumentbufferoffset, pcountbuffer.into_param().abi(), countbufferoffset)
9443 }
9444 pub unsafe fn AtomicCopyBufferUINT<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
9445 where
9446 P0: ::windows_core::IntoParam<ID3D12Resource>,
9447 P1: ::windows_core::IntoParam<ID3D12Resource>,
9448 {
9449 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AtomicCopyBufferUINT)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
9450 }
9451 pub unsafe fn AtomicCopyBufferUINT64<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
9452 where
9453 P0: ::windows_core::IntoParam<ID3D12Resource>,
9454 P1: ::windows_core::IntoParam<ID3D12Resource>,
9455 {
9456 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.AtomicCopyBufferUINT64)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
9457 }
9458 pub unsafe fn OMSetDepthBounds(&self, min: f32, max: f32) {
9459 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.OMSetDepthBounds)(::windows_core::Interface::as_raw(self), min, max)
9460 }
9461 pub unsafe fn SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION) {
9462 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetSamplePositions)(::windows_core::Interface::as_raw(self), numsamplesperpixel, numpixels, psamplepositions)
9463 }
9464 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
9465 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
9466 pub unsafe fn ResolveSubresourceRegion<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: P1, srcsubresource: u32, psrcrect: ::core::option::Option<*const super::super::Foundation::RECT>, format: super::Dxgi::Common::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE)
9467 where
9468 P0: ::windows_core::IntoParam<ID3D12Resource>,
9469 P1: ::windows_core::IntoParam<ID3D12Resource>,
9470 {
9471 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ResolveSubresourceRegion)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, dstx, dsty, psrcresource.into_param().abi(), srcsubresource, ::core::mem::transmute(psrcrect.unwrap_or(::std::ptr::null())), format, resolvemode)
9472 }
9473 pub unsafe fn SetViewInstanceMask(&self, mask: u32) {
9474 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetViewInstanceMask)(::windows_core::Interface::as_raw(self), mask)
9475 }
9476 pub unsafe fn WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: ::core::option::Option<*const D3D12_WRITEBUFFERIMMEDIATE_MODE>) {
9477 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.WriteBufferImmediate)(::windows_core::Interface::as_raw(self), count, pparams, ::core::mem::transmute(pmodes.unwrap_or(::std::ptr::null())))
9478 }
9479 pub unsafe fn SetProtectedResourceSession<P0>(&self, pprotectedresourcesession: P0)
9480 where
9481 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
9482 {
9483 (::windows_core::Interface::vtable(self).base__.base__.base__.SetProtectedResourceSession)(::windows_core::Interface::as_raw(self), pprotectedresourcesession.into_param().abi())
9484 }
9485 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
9486 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
9487 pub unsafe fn BeginRenderPass(&self, prendertargets: ::core::option::Option<&[D3D12_RENDER_PASS_RENDER_TARGET_DESC]>, pdepthstencil: ::core::option::Option<*const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC>, flags: D3D12_RENDER_PASS_FLAGS) {
9488 (::windows_core::Interface::vtable(self).base__.base__.BeginRenderPass)(::windows_core::Interface::as_raw(self), prendertargets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prendertargets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), ::core::mem::transmute(pdepthstencil.unwrap_or(::std::ptr::null())), flags)
9489 }
9490 pub unsafe fn EndRenderPass(&self) {
9491 (::windows_core::Interface::vtable(self).base__.base__.EndRenderPass)(::windows_core::Interface::as_raw(self))
9492 }
9493 pub unsafe fn InitializeMetaCommand<P0>(&self, pmetacommand: P0, pinitializationparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, initializationparametersdatasizeinbytes: usize)
9494 where
9495 P0: ::windows_core::IntoParam<ID3D12MetaCommand>,
9496 {
9497 (::windows_core::Interface::vtable(self).base__.base__.InitializeMetaCommand)(::windows_core::Interface::as_raw(self), pmetacommand.into_param().abi(), ::core::mem::transmute(pinitializationparametersdata.unwrap_or(::std::ptr::null())), initializationparametersdatasizeinbytes)
9498 }
9499 pub unsafe fn ExecuteMetaCommand<P0>(&self, pmetacommand: P0, pexecutionparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, executionparametersdatasizeinbytes: usize)
9500 where
9501 P0: ::windows_core::IntoParam<ID3D12MetaCommand>,
9502 {
9503 (::windows_core::Interface::vtable(self).base__.base__.ExecuteMetaCommand)(::windows_core::Interface::as_raw(self), pmetacommand.into_param().abi(), ::core::mem::transmute(pexecutionparametersdata.unwrap_or(::std::ptr::null())), executionparametersdatasizeinbytes)
9504 }
9505 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
9506 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9507 pub unsafe fn BuildRaytracingAccelerationStructure(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, ppostbuildinfodescs: ::core::option::Option<&[D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC]>) {
9508 (::windows_core::Interface::vtable(self).base__.base__.BuildRaytracingAccelerationStructure)(::windows_core::Interface::as_raw(self), pdesc, ppostbuildinfodescs.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppostbuildinfodescs.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
9509 }
9510 pub unsafe fn EmitRaytracingAccelerationStructurePostbuildInfo(&self, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, psourceaccelerationstructuredata: &[u64]) {
9511 (::windows_core::Interface::vtable(self).base__.base__.EmitRaytracingAccelerationStructurePostbuildInfo)(::windows_core::Interface::as_raw(self), pdesc, psourceaccelerationstructuredata.len().try_into().unwrap(), ::core::mem::transmute(psourceaccelerationstructuredata.as_ptr()))
9512 }
9513 pub unsafe fn CopyRaytracingAccelerationStructure(&self, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE) {
9514 (::windows_core::Interface::vtable(self).base__.base__.CopyRaytracingAccelerationStructure)(::windows_core::Interface::as_raw(self), destaccelerationstructuredata, sourceaccelerationstructuredata, mode)
9515 }
9516 pub unsafe fn SetPipelineState1<P0>(&self, pstateobject: P0)
9517 where
9518 P0: ::windows_core::IntoParam<ID3D12StateObject>,
9519 {
9520 (::windows_core::Interface::vtable(self).base__.base__.SetPipelineState1)(::windows_core::Interface::as_raw(self), pstateobject.into_param().abi())
9521 }
9522 pub unsafe fn DispatchRays(&self, pdesc: *const D3D12_DISPATCH_RAYS_DESC) {
9523 (::windows_core::Interface::vtable(self).base__.base__.DispatchRays)(::windows_core::Interface::as_raw(self), pdesc)
9524 }
9525 pub unsafe fn RSSetShadingRate(&self, baseshadingrate: D3D12_SHADING_RATE, combiners: ::core::option::Option<*const D3D12_SHADING_RATE_COMBINER>) {
9526 (::windows_core::Interface::vtable(self).base__.RSSetShadingRate)(::windows_core::Interface::as_raw(self), baseshadingrate, ::core::mem::transmute(combiners.unwrap_or(::std::ptr::null())))
9527 }
9528 pub unsafe fn RSSetShadingRateImage<P0>(&self, shadingrateimage: P0)
9529 where
9530 P0: ::windows_core::IntoParam<ID3D12Resource>,
9531 {
9532 (::windows_core::Interface::vtable(self).base__.RSSetShadingRateImage)(::windows_core::Interface::as_raw(self), shadingrateimage.into_param().abi())
9533 }
9534 pub unsafe fn DispatchMesh(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
9535 (::windows_core::Interface::vtable(self).DispatchMesh)(::windows_core::Interface::as_raw(self), threadgroupcountx, threadgroupcounty, threadgroupcountz)
9536 }
9537}
9538::windows_core::imp::interface_hierarchy!(ID3D12GraphicsCommandList6, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12CommandList, ID3D12GraphicsCommandList, ID3D12GraphicsCommandList1, ID3D12GraphicsCommandList2, ID3D12GraphicsCommandList3, ID3D12GraphicsCommandList4, ID3D12GraphicsCommandList5);
9539unsafe impl ::core::marker::Send for ID3D12GraphicsCommandList6 {}
9540unsafe impl ::core::marker::Sync for ID3D12GraphicsCommandList6 {}
9541unsafe impl ::windows_core::Interface for ID3D12GraphicsCommandList6 {
9542 type Vtable = ID3D12GraphicsCommandList6_Vtbl;
9543}
9544unsafe impl ::windows_core::ComInterface for ID3D12GraphicsCommandList6 {
9545 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xc3827890_e548_4cfa_96cf_5689a9370f80);
9546}
9547#[repr(C)]
9548#[doc(hidden)]
9549pub struct ID3D12GraphicsCommandList6_Vtbl {
9550 pub base__: ID3D12GraphicsCommandList5_Vtbl,
9551 pub DispatchMesh: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32),
9552}
9553#[repr(transparent)]
9554#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
9555pub struct ID3D12GraphicsCommandList7(::windows_core::IUnknown);
9556impl ID3D12GraphicsCommandList7 {
9557 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
9558 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
9559 }
9560 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
9561 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
9562 }
9563 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
9564 where
9565 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
9566 {
9567 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
9568 }
9569 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
9570 where
9571 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
9572 {
9573 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
9574 }
9575 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
9576 where
9577 T: ::windows_core::ComInterface,
9578 {
9579 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
9580 }
9581 pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
9582 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self))
9583 }
9584 pub unsafe fn Close(&self) -> ::windows_core::Result<()> {
9585 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.Close)(::windows_core::Interface::as_raw(self)).ok()
9586 }
9587 pub unsafe fn Reset<P0, P1>(&self, pallocator: P0, pinitialstate: P1) -> ::windows_core::Result<()>
9588 where
9589 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
9590 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
9591 {
9592 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.Reset)(::windows_core::Interface::as_raw(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
9593 }
9594 pub unsafe fn ClearState<P0>(&self, ppipelinestate: P0)
9595 where
9596 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
9597 {
9598 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ClearState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
9599 }
9600 pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
9601 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.DrawInstanced)(::windows_core::Interface::as_raw(self), vertexcountperinstance, instancecount, startvertexlocation, startinstancelocation)
9602 }
9603 pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
9604 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.DrawIndexedInstanced)(::windows_core::Interface::as_raw(self), indexcountperinstance, instancecount, startindexlocation, basevertexlocation, startinstancelocation)
9605 }
9606 pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
9607 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.Dispatch)(::windows_core::Interface::as_raw(self), threadgroupcountx, threadgroupcounty, threadgroupcountz)
9608 }
9609 pub unsafe fn CopyBufferRegion<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, numbytes: u64)
9610 where
9611 P0: ::windows_core::IntoParam<ID3D12Resource>,
9612 P1: ::windows_core::IntoParam<ID3D12Resource>,
9613 {
9614 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CopyBufferRegion)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, numbytes)
9615 }
9616 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
9617 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9618 pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: ::core::option::Option<*const D3D12_BOX>) {
9619 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CopyTextureRegion)(::windows_core::Interface::as_raw(self), pdst, dstx, dsty, dstz, psrc, ::core::mem::transmute(psrcbox.unwrap_or(::std::ptr::null())))
9620 }
9621 pub unsafe fn CopyResource<P0, P1>(&self, pdstresource: P0, psrcresource: P1)
9622 where
9623 P0: ::windows_core::IntoParam<ID3D12Resource>,
9624 P1: ::windows_core::IntoParam<ID3D12Resource>,
9625 {
9626 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CopyResource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), psrcresource.into_param().abi())
9627 }
9628 #[doc = "Required features: `\"Win32_Foundation\"`"]
9629 #[cfg(feature = "Win32_Foundation")]
9630 pub unsafe fn CopyTiles<P0, P1>(&self, ptiledresource: P0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: P1, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)
9631 where
9632 P0: ::windows_core::IntoParam<ID3D12Resource>,
9633 P1: ::windows_core::IntoParam<ID3D12Resource>,
9634 {
9635 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.CopyTiles)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ptileregionstartcoordinate, ptileregionsize, pbuffer.into_param().abi(), bufferstartoffsetinbytes, flags)
9636 }
9637 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
9638 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9639 pub unsafe fn ResolveSubresource<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, psrcresource: P1, srcsubresource: u32, format: super::Dxgi::Common::DXGI_FORMAT)
9640 where
9641 P0: ::windows_core::IntoParam<ID3D12Resource>,
9642 P1: ::windows_core::IntoParam<ID3D12Resource>,
9643 {
9644 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ResolveSubresource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, psrcresource.into_param().abi(), srcsubresource, format)
9645 }
9646 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
9647 #[cfg(feature = "Win32_Graphics_Direct3D")]
9648 pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY) {
9649 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.IASetPrimitiveTopology)(::windows_core::Interface::as_raw(self), primitivetopology)
9650 }
9651 pub unsafe fn RSSetViewports(&self, pviewports: &[D3D12_VIEWPORT]) {
9652 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RSSetViewports)(::windows_core::Interface::as_raw(self), pviewports.len().try_into().unwrap(), ::core::mem::transmute(pviewports.as_ptr()))
9653 }
9654 #[doc = "Required features: `\"Win32_Foundation\"`"]
9655 #[cfg(feature = "Win32_Foundation")]
9656 pub unsafe fn RSSetScissorRects(&self, prects: &[super::super::Foundation::RECT]) {
9657 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.RSSetScissorRects)(::windows_core::Interface::as_raw(self), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
9658 }
9659 pub unsafe fn OMSetBlendFactor(&self, blendfactor: ::core::option::Option<&[f32; 4]>) {
9660 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.OMSetBlendFactor)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(blendfactor.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
9661 }
9662 pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
9663 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.OMSetStencilRef)(::windows_core::Interface::as_raw(self), stencilref)
9664 }
9665 pub unsafe fn SetPipelineState<P0>(&self, ppipelinestate: P0)
9666 where
9667 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
9668 {
9669 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetPipelineState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
9670 }
9671 pub unsafe fn ResourceBarrier(&self, pbarriers: &[D3D12_RESOURCE_BARRIER]) {
9672 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ResourceBarrier)(::windows_core::Interface::as_raw(self), pbarriers.len().try_into().unwrap(), ::core::mem::transmute(pbarriers.as_ptr()))
9673 }
9674 pub unsafe fn ExecuteBundle<P0>(&self, pcommandlist: P0)
9675 where
9676 P0: ::windows_core::IntoParam<ID3D12GraphicsCommandList>,
9677 {
9678 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExecuteBundle)(::windows_core::Interface::as_raw(self), pcommandlist.into_param().abi())
9679 }
9680 pub unsafe fn SetDescriptorHeaps(&self, ppdescriptorheaps: &[::core::option::Option<ID3D12DescriptorHeap>]) {
9681 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetDescriptorHeaps)(::windows_core::Interface::as_raw(self), ppdescriptorheaps.len().try_into().unwrap(), ::core::mem::transmute(ppdescriptorheaps.as_ptr()))
9682 }
9683 pub unsafe fn SetComputeRootSignature<P0>(&self, prootsignature: P0)
9684 where
9685 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
9686 {
9687 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetComputeRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
9688 }
9689 pub unsafe fn SetGraphicsRootSignature<P0>(&self, prootsignature: P0)
9690 where
9691 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
9692 {
9693 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetGraphicsRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
9694 }
9695 pub unsafe fn SetComputeRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
9696 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetComputeRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
9697 }
9698 pub unsafe fn SetGraphicsRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
9699 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetGraphicsRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
9700 }
9701 pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
9702 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetComputeRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
9703 }
9704 pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
9705 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetGraphicsRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
9706 }
9707 pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
9708 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetComputeRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
9709 }
9710 pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
9711 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetGraphicsRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
9712 }
9713 pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
9714 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetComputeRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
9715 }
9716 pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
9717 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetGraphicsRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
9718 }
9719 pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
9720 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetComputeRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
9721 }
9722 pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
9723 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetGraphicsRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
9724 }
9725 pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
9726 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetComputeRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
9727 }
9728 pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
9729 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetGraphicsRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
9730 }
9731 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
9732 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9733 pub unsafe fn IASetIndexBuffer(&self, pview: ::core::option::Option<*const D3D12_INDEX_BUFFER_VIEW>) {
9734 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.IASetIndexBuffer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pview.unwrap_or(::std::ptr::null())))
9735 }
9736 pub unsafe fn IASetVertexBuffers(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_VERTEX_BUFFER_VIEW]>) {
9737 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.IASetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
9738 }
9739 pub unsafe fn SOSetTargets(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_STREAM_OUTPUT_BUFFER_VIEW]>) {
9740 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SOSetTargets)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
9741 }
9742 #[doc = "Required features: `\"Win32_Foundation\"`"]
9743 #[cfg(feature = "Win32_Foundation")]
9744 pub unsafe fn OMSetRenderTargets<P0>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>, rtssinglehandletodescriptorrange: P0, pdepthstencildescriptor: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>)
9745 where
9746 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
9747 {
9748 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.OMSetRenderTargets)(::windows_core::Interface::as_raw(self), numrendertargetdescriptors, ::core::mem::transmute(prendertargetdescriptors.unwrap_or(::std::ptr::null())), rtssinglehandletodescriptorrange.into_param().abi(), ::core::mem::transmute(pdepthstencildescriptor.unwrap_or(::std::ptr::null())))
9749 }
9750 #[doc = "Required features: `\"Win32_Foundation\"`"]
9751 #[cfg(feature = "Win32_Foundation")]
9752 pub unsafe fn ClearDepthStencilView(&self, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, prects: &[super::super::Foundation::RECT]) {
9753 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ClearDepthStencilView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(depthstencilview), clearflags, depth, stencil, prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
9754 }
9755 #[doc = "Required features: `\"Win32_Foundation\"`"]
9756 #[cfg(feature = "Win32_Foundation")]
9757 pub unsafe fn ClearRenderTargetView(&self, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: &[f32; 4], prects: ::core::option::Option<&[super::super::Foundation::RECT]>) {
9758 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ClearRenderTargetView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rendertargetview), ::core::mem::transmute(colorrgba.as_ptr()), prects.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prects.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
9759 }
9760 #[doc = "Required features: `\"Win32_Foundation\"`"]
9761 #[cfg(feature = "Win32_Foundation")]
9762 pub unsafe fn ClearUnorderedAccessViewUint<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[u32; 4], prects: &[super::super::Foundation::RECT])
9763 where
9764 P0: ::windows_core::IntoParam<ID3D12Resource>,
9765 {
9766 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ClearUnorderedAccessViewUint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
9767 }
9768 #[doc = "Required features: `\"Win32_Foundation\"`"]
9769 #[cfg(feature = "Win32_Foundation")]
9770 pub unsafe fn ClearUnorderedAccessViewFloat<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[f32; 4], prects: &[super::super::Foundation::RECT])
9771 where
9772 P0: ::windows_core::IntoParam<ID3D12Resource>,
9773 {
9774 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ClearUnorderedAccessViewFloat)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
9775 }
9776 #[doc = "Required features: `\"Win32_Foundation\"`"]
9777 #[cfg(feature = "Win32_Foundation")]
9778 pub unsafe fn DiscardResource<P0>(&self, presource: P0, pregion: ::core::option::Option<*const D3D12_DISCARD_REGION>)
9779 where
9780 P0: ::windows_core::IntoParam<ID3D12Resource>,
9781 {
9782 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.DiscardResource)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pregion.unwrap_or(::std::ptr::null())))
9783 }
9784 pub unsafe fn BeginQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
9785 where
9786 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
9787 {
9788 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.BeginQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
9789 }
9790 pub unsafe fn EndQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
9791 where
9792 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
9793 {
9794 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EndQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
9795 }
9796 pub unsafe fn ResolveQueryData<P0, P1>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: P1, aligneddestinationbufferoffset: u64)
9797 where
9798 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
9799 P1: ::windows_core::IntoParam<ID3D12Resource>,
9800 {
9801 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ResolveQueryData)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, startindex, numqueries, pdestinationbuffer.into_param().abi(), aligneddestinationbufferoffset)
9802 }
9803 pub unsafe fn SetPredication<P0>(&self, pbuffer: P0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)
9804 where
9805 P0: ::windows_core::IntoParam<ID3D12Resource>,
9806 {
9807 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetPredication)(::windows_core::Interface::as_raw(self), pbuffer.into_param().abi(), alignedbufferoffset, operation)
9808 }
9809 pub unsafe fn SetMarker(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
9810 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetMarker)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
9811 }
9812 pub unsafe fn BeginEvent(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
9813 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.BeginEvent)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
9814 }
9815 pub unsafe fn EndEvent(&self) {
9816 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.EndEvent)(::windows_core::Interface::as_raw(self))
9817 }
9818 pub unsafe fn ExecuteIndirect<P0, P1, P2>(&self, pcommandsignature: P0, maxcommandcount: u32, pargumentbuffer: P1, argumentbufferoffset: u64, pcountbuffer: P2, countbufferoffset: u64)
9819 where
9820 P0: ::windows_core::IntoParam<ID3D12CommandSignature>,
9821 P1: ::windows_core::IntoParam<ID3D12Resource>,
9822 P2: ::windows_core::IntoParam<ID3D12Resource>,
9823 {
9824 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ExecuteIndirect)(::windows_core::Interface::as_raw(self), pcommandsignature.into_param().abi(), maxcommandcount, pargumentbuffer.into_param().abi(), argumentbufferoffset, pcountbuffer.into_param().abi(), countbufferoffset)
9825 }
9826 pub unsafe fn AtomicCopyBufferUINT<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
9827 where
9828 P0: ::windows_core::IntoParam<ID3D12Resource>,
9829 P1: ::windows_core::IntoParam<ID3D12Resource>,
9830 {
9831 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.AtomicCopyBufferUINT)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
9832 }
9833 pub unsafe fn AtomicCopyBufferUINT64<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
9834 where
9835 P0: ::windows_core::IntoParam<ID3D12Resource>,
9836 P1: ::windows_core::IntoParam<ID3D12Resource>,
9837 {
9838 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.AtomicCopyBufferUINT64)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
9839 }
9840 pub unsafe fn OMSetDepthBounds(&self, min: f32, max: f32) {
9841 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.OMSetDepthBounds)(::windows_core::Interface::as_raw(self), min, max)
9842 }
9843 pub unsafe fn SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION) {
9844 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetSamplePositions)(::windows_core::Interface::as_raw(self), numsamplesperpixel, numpixels, psamplepositions)
9845 }
9846 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
9847 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
9848 pub unsafe fn ResolveSubresourceRegion<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: P1, srcsubresource: u32, psrcrect: ::core::option::Option<*const super::super::Foundation::RECT>, format: super::Dxgi::Common::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE)
9849 where
9850 P0: ::windows_core::IntoParam<ID3D12Resource>,
9851 P1: ::windows_core::IntoParam<ID3D12Resource>,
9852 {
9853 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.ResolveSubresourceRegion)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, dstx, dsty, psrcresource.into_param().abi(), srcsubresource, ::core::mem::transmute(psrcrect.unwrap_or(::std::ptr::null())), format, resolvemode)
9854 }
9855 pub unsafe fn SetViewInstanceMask(&self, mask: u32) {
9856 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetViewInstanceMask)(::windows_core::Interface::as_raw(self), mask)
9857 }
9858 pub unsafe fn WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: ::core::option::Option<*const D3D12_WRITEBUFFERIMMEDIATE_MODE>) {
9859 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.WriteBufferImmediate)(::windows_core::Interface::as_raw(self), count, pparams, ::core::mem::transmute(pmodes.unwrap_or(::std::ptr::null())))
9860 }
9861 pub unsafe fn SetProtectedResourceSession<P0>(&self, pprotectedresourcesession: P0)
9862 where
9863 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
9864 {
9865 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetProtectedResourceSession)(::windows_core::Interface::as_raw(self), pprotectedresourcesession.into_param().abi())
9866 }
9867 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
9868 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
9869 pub unsafe fn BeginRenderPass(&self, prendertargets: ::core::option::Option<&[D3D12_RENDER_PASS_RENDER_TARGET_DESC]>, pdepthstencil: ::core::option::Option<*const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC>, flags: D3D12_RENDER_PASS_FLAGS) {
9870 (::windows_core::Interface::vtable(self).base__.base__.base__.BeginRenderPass)(::windows_core::Interface::as_raw(self), prendertargets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prendertargets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), ::core::mem::transmute(pdepthstencil.unwrap_or(::std::ptr::null())), flags)
9871 }
9872 pub unsafe fn EndRenderPass(&self) {
9873 (::windows_core::Interface::vtable(self).base__.base__.base__.EndRenderPass)(::windows_core::Interface::as_raw(self))
9874 }
9875 pub unsafe fn InitializeMetaCommand<P0>(&self, pmetacommand: P0, pinitializationparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, initializationparametersdatasizeinbytes: usize)
9876 where
9877 P0: ::windows_core::IntoParam<ID3D12MetaCommand>,
9878 {
9879 (::windows_core::Interface::vtable(self).base__.base__.base__.InitializeMetaCommand)(::windows_core::Interface::as_raw(self), pmetacommand.into_param().abi(), ::core::mem::transmute(pinitializationparametersdata.unwrap_or(::std::ptr::null())), initializationparametersdatasizeinbytes)
9880 }
9881 pub unsafe fn ExecuteMetaCommand<P0>(&self, pmetacommand: P0, pexecutionparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, executionparametersdatasizeinbytes: usize)
9882 where
9883 P0: ::windows_core::IntoParam<ID3D12MetaCommand>,
9884 {
9885 (::windows_core::Interface::vtable(self).base__.base__.base__.ExecuteMetaCommand)(::windows_core::Interface::as_raw(self), pmetacommand.into_param().abi(), ::core::mem::transmute(pexecutionparametersdata.unwrap_or(::std::ptr::null())), executionparametersdatasizeinbytes)
9886 }
9887 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
9888 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
9889 pub unsafe fn BuildRaytracingAccelerationStructure(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, ppostbuildinfodescs: ::core::option::Option<&[D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC]>) {
9890 (::windows_core::Interface::vtable(self).base__.base__.base__.BuildRaytracingAccelerationStructure)(::windows_core::Interface::as_raw(self), pdesc, ppostbuildinfodescs.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppostbuildinfodescs.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
9891 }
9892 pub unsafe fn EmitRaytracingAccelerationStructurePostbuildInfo(&self, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, psourceaccelerationstructuredata: &[u64]) {
9893 (::windows_core::Interface::vtable(self).base__.base__.base__.EmitRaytracingAccelerationStructurePostbuildInfo)(::windows_core::Interface::as_raw(self), pdesc, psourceaccelerationstructuredata.len().try_into().unwrap(), ::core::mem::transmute(psourceaccelerationstructuredata.as_ptr()))
9894 }
9895 pub unsafe fn CopyRaytracingAccelerationStructure(&self, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE) {
9896 (::windows_core::Interface::vtable(self).base__.base__.base__.CopyRaytracingAccelerationStructure)(::windows_core::Interface::as_raw(self), destaccelerationstructuredata, sourceaccelerationstructuredata, mode)
9897 }
9898 pub unsafe fn SetPipelineState1<P0>(&self, pstateobject: P0)
9899 where
9900 P0: ::windows_core::IntoParam<ID3D12StateObject>,
9901 {
9902 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPipelineState1)(::windows_core::Interface::as_raw(self), pstateobject.into_param().abi())
9903 }
9904 pub unsafe fn DispatchRays(&self, pdesc: *const D3D12_DISPATCH_RAYS_DESC) {
9905 (::windows_core::Interface::vtable(self).base__.base__.base__.DispatchRays)(::windows_core::Interface::as_raw(self), pdesc)
9906 }
9907 pub unsafe fn RSSetShadingRate(&self, baseshadingrate: D3D12_SHADING_RATE, combiners: ::core::option::Option<*const D3D12_SHADING_RATE_COMBINER>) {
9908 (::windows_core::Interface::vtable(self).base__.base__.RSSetShadingRate)(::windows_core::Interface::as_raw(self), baseshadingrate, ::core::mem::transmute(combiners.unwrap_or(::std::ptr::null())))
9909 }
9910 pub unsafe fn RSSetShadingRateImage<P0>(&self, shadingrateimage: P0)
9911 where
9912 P0: ::windows_core::IntoParam<ID3D12Resource>,
9913 {
9914 (::windows_core::Interface::vtable(self).base__.base__.RSSetShadingRateImage)(::windows_core::Interface::as_raw(self), shadingrateimage.into_param().abi())
9915 }
9916 pub unsafe fn DispatchMesh(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
9917 (::windows_core::Interface::vtable(self).base__.DispatchMesh)(::windows_core::Interface::as_raw(self), threadgroupcountx, threadgroupcounty, threadgroupcountz)
9918 }
9919 pub unsafe fn Barrier(&self, pbarriergroups: &[D3D12_BARRIER_GROUP]) {
9920 (::windows_core::Interface::vtable(self).Barrier)(::windows_core::Interface::as_raw(self), pbarriergroups.len().try_into().unwrap(), ::core::mem::transmute(pbarriergroups.as_ptr()))
9921 }
9922}
9923::windows_core::imp::interface_hierarchy!(ID3D12GraphicsCommandList7, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12CommandList, ID3D12GraphicsCommandList, ID3D12GraphicsCommandList1, ID3D12GraphicsCommandList2, ID3D12GraphicsCommandList3, ID3D12GraphicsCommandList4, ID3D12GraphicsCommandList5, ID3D12GraphicsCommandList6);
9924unsafe impl ::core::marker::Send for ID3D12GraphicsCommandList7 {}
9925unsafe impl ::core::marker::Sync for ID3D12GraphicsCommandList7 {}
9926unsafe impl ::windows_core::Interface for ID3D12GraphicsCommandList7 {
9927 type Vtable = ID3D12GraphicsCommandList7_Vtbl;
9928}
9929unsafe impl ::windows_core::ComInterface for ID3D12GraphicsCommandList7 {
9930 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xdd171223_8b61_4769_90e3_160ccde4e2c1);
9931}
9932#[repr(C)]
9933#[doc(hidden)]
9934pub struct ID3D12GraphicsCommandList7_Vtbl {
9935 pub base__: ID3D12GraphicsCommandList6_Vtbl,
9936 pub Barrier: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numbarriergroups: u32, pbarriergroups: *const D3D12_BARRIER_GROUP),
9937}
9938#[repr(transparent)]
9939#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
9940pub struct ID3D12GraphicsCommandList8(::windows_core::IUnknown);
9941impl ID3D12GraphicsCommandList8 {
9942 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
9943 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
9944 }
9945 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
9946 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
9947 }
9948 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
9949 where
9950 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
9951 {
9952 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
9953 }
9954 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
9955 where
9956 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
9957 {
9958 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
9959 }
9960 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
9961 where
9962 T: ::windows_core::ComInterface,
9963 {
9964 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
9965 }
9966 pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
9967 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self))
9968 }
9969 pub unsafe fn Close(&self) -> ::windows_core::Result<()> {
9970 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.Close)(::windows_core::Interface::as_raw(self)).ok()
9971 }
9972 pub unsafe fn Reset<P0, P1>(&self, pallocator: P0, pinitialstate: P1) -> ::windows_core::Result<()>
9973 where
9974 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
9975 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
9976 {
9977 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.Reset)(::windows_core::Interface::as_raw(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
9978 }
9979 pub unsafe fn ClearState<P0>(&self, ppipelinestate: P0)
9980 where
9981 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
9982 {
9983 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ClearState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
9984 }
9985 pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
9986 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.DrawInstanced)(::windows_core::Interface::as_raw(self), vertexcountperinstance, instancecount, startvertexlocation, startinstancelocation)
9987 }
9988 pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
9989 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.DrawIndexedInstanced)(::windows_core::Interface::as_raw(self), indexcountperinstance, instancecount, startindexlocation, basevertexlocation, startinstancelocation)
9990 }
9991 pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
9992 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.Dispatch)(::windows_core::Interface::as_raw(self), threadgroupcountx, threadgroupcounty, threadgroupcountz)
9993 }
9994 pub unsafe fn CopyBufferRegion<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, numbytes: u64)
9995 where
9996 P0: ::windows_core::IntoParam<ID3D12Resource>,
9997 P1: ::windows_core::IntoParam<ID3D12Resource>,
9998 {
9999 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CopyBufferRegion)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, numbytes)
10000 }
10001 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
10002 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10003 pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: ::core::option::Option<*const D3D12_BOX>) {
10004 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CopyTextureRegion)(::windows_core::Interface::as_raw(self), pdst, dstx, dsty, dstz, psrc, ::core::mem::transmute(psrcbox.unwrap_or(::std::ptr::null())))
10005 }
10006 pub unsafe fn CopyResource<P0, P1>(&self, pdstresource: P0, psrcresource: P1)
10007 where
10008 P0: ::windows_core::IntoParam<ID3D12Resource>,
10009 P1: ::windows_core::IntoParam<ID3D12Resource>,
10010 {
10011 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CopyResource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), psrcresource.into_param().abi())
10012 }
10013 #[doc = "Required features: `\"Win32_Foundation\"`"]
10014 #[cfg(feature = "Win32_Foundation")]
10015 pub unsafe fn CopyTiles<P0, P1>(&self, ptiledresource: P0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: P1, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)
10016 where
10017 P0: ::windows_core::IntoParam<ID3D12Resource>,
10018 P1: ::windows_core::IntoParam<ID3D12Resource>,
10019 {
10020 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.CopyTiles)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ptileregionstartcoordinate, ptileregionsize, pbuffer.into_param().abi(), bufferstartoffsetinbytes, flags)
10021 }
10022 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
10023 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10024 pub unsafe fn ResolveSubresource<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, psrcresource: P1, srcsubresource: u32, format: super::Dxgi::Common::DXGI_FORMAT)
10025 where
10026 P0: ::windows_core::IntoParam<ID3D12Resource>,
10027 P1: ::windows_core::IntoParam<ID3D12Resource>,
10028 {
10029 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ResolveSubresource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, psrcresource.into_param().abi(), srcsubresource, format)
10030 }
10031 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
10032 #[cfg(feature = "Win32_Graphics_Direct3D")]
10033 pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY) {
10034 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.IASetPrimitiveTopology)(::windows_core::Interface::as_raw(self), primitivetopology)
10035 }
10036 pub unsafe fn RSSetViewports(&self, pviewports: &[D3D12_VIEWPORT]) {
10037 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RSSetViewports)(::windows_core::Interface::as_raw(self), pviewports.len().try_into().unwrap(), ::core::mem::transmute(pviewports.as_ptr()))
10038 }
10039 #[doc = "Required features: `\"Win32_Foundation\"`"]
10040 #[cfg(feature = "Win32_Foundation")]
10041 pub unsafe fn RSSetScissorRects(&self, prects: &[super::super::Foundation::RECT]) {
10042 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.RSSetScissorRects)(::windows_core::Interface::as_raw(self), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
10043 }
10044 pub unsafe fn OMSetBlendFactor(&self, blendfactor: ::core::option::Option<&[f32; 4]>) {
10045 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.OMSetBlendFactor)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(blendfactor.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
10046 }
10047 pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
10048 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.OMSetStencilRef)(::windows_core::Interface::as_raw(self), stencilref)
10049 }
10050 pub unsafe fn SetPipelineState<P0>(&self, ppipelinestate: P0)
10051 where
10052 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
10053 {
10054 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetPipelineState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
10055 }
10056 pub unsafe fn ResourceBarrier(&self, pbarriers: &[D3D12_RESOURCE_BARRIER]) {
10057 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ResourceBarrier)(::windows_core::Interface::as_raw(self), pbarriers.len().try_into().unwrap(), ::core::mem::transmute(pbarriers.as_ptr()))
10058 }
10059 pub unsafe fn ExecuteBundle<P0>(&self, pcommandlist: P0)
10060 where
10061 P0: ::windows_core::IntoParam<ID3D12GraphicsCommandList>,
10062 {
10063 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExecuteBundle)(::windows_core::Interface::as_raw(self), pcommandlist.into_param().abi())
10064 }
10065 pub unsafe fn SetDescriptorHeaps(&self, ppdescriptorheaps: &[::core::option::Option<ID3D12DescriptorHeap>]) {
10066 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetDescriptorHeaps)(::windows_core::Interface::as_raw(self), ppdescriptorheaps.len().try_into().unwrap(), ::core::mem::transmute(ppdescriptorheaps.as_ptr()))
10067 }
10068 pub unsafe fn SetComputeRootSignature<P0>(&self, prootsignature: P0)
10069 where
10070 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
10071 {
10072 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetComputeRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
10073 }
10074 pub unsafe fn SetGraphicsRootSignature<P0>(&self, prootsignature: P0)
10075 where
10076 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
10077 {
10078 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetGraphicsRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
10079 }
10080 pub unsafe fn SetComputeRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
10081 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetComputeRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
10082 }
10083 pub unsafe fn SetGraphicsRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
10084 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetGraphicsRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
10085 }
10086 pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
10087 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetComputeRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
10088 }
10089 pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
10090 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetGraphicsRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
10091 }
10092 pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
10093 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetComputeRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
10094 }
10095 pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
10096 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetGraphicsRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
10097 }
10098 pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
10099 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetComputeRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
10100 }
10101 pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
10102 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetGraphicsRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
10103 }
10104 pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
10105 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetComputeRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
10106 }
10107 pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
10108 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetGraphicsRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
10109 }
10110 pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
10111 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetComputeRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
10112 }
10113 pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
10114 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetGraphicsRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
10115 }
10116 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
10117 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10118 pub unsafe fn IASetIndexBuffer(&self, pview: ::core::option::Option<*const D3D12_INDEX_BUFFER_VIEW>) {
10119 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.IASetIndexBuffer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pview.unwrap_or(::std::ptr::null())))
10120 }
10121 pub unsafe fn IASetVertexBuffers(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_VERTEX_BUFFER_VIEW]>) {
10122 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.IASetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
10123 }
10124 pub unsafe fn SOSetTargets(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_STREAM_OUTPUT_BUFFER_VIEW]>) {
10125 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SOSetTargets)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
10126 }
10127 #[doc = "Required features: `\"Win32_Foundation\"`"]
10128 #[cfg(feature = "Win32_Foundation")]
10129 pub unsafe fn OMSetRenderTargets<P0>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>, rtssinglehandletodescriptorrange: P0, pdepthstencildescriptor: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>)
10130 where
10131 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
10132 {
10133 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.OMSetRenderTargets)(::windows_core::Interface::as_raw(self), numrendertargetdescriptors, ::core::mem::transmute(prendertargetdescriptors.unwrap_or(::std::ptr::null())), rtssinglehandletodescriptorrange.into_param().abi(), ::core::mem::transmute(pdepthstencildescriptor.unwrap_or(::std::ptr::null())))
10134 }
10135 #[doc = "Required features: `\"Win32_Foundation\"`"]
10136 #[cfg(feature = "Win32_Foundation")]
10137 pub unsafe fn ClearDepthStencilView(&self, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, prects: &[super::super::Foundation::RECT]) {
10138 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ClearDepthStencilView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(depthstencilview), clearflags, depth, stencil, prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
10139 }
10140 #[doc = "Required features: `\"Win32_Foundation\"`"]
10141 #[cfg(feature = "Win32_Foundation")]
10142 pub unsafe fn ClearRenderTargetView(&self, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: &[f32; 4], prects: ::core::option::Option<&[super::super::Foundation::RECT]>) {
10143 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ClearRenderTargetView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rendertargetview), ::core::mem::transmute(colorrgba.as_ptr()), prects.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prects.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
10144 }
10145 #[doc = "Required features: `\"Win32_Foundation\"`"]
10146 #[cfg(feature = "Win32_Foundation")]
10147 pub unsafe fn ClearUnorderedAccessViewUint<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[u32; 4], prects: &[super::super::Foundation::RECT])
10148 where
10149 P0: ::windows_core::IntoParam<ID3D12Resource>,
10150 {
10151 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ClearUnorderedAccessViewUint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
10152 }
10153 #[doc = "Required features: `\"Win32_Foundation\"`"]
10154 #[cfg(feature = "Win32_Foundation")]
10155 pub unsafe fn ClearUnorderedAccessViewFloat<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[f32; 4], prects: &[super::super::Foundation::RECT])
10156 where
10157 P0: ::windows_core::IntoParam<ID3D12Resource>,
10158 {
10159 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ClearUnorderedAccessViewFloat)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
10160 }
10161 #[doc = "Required features: `\"Win32_Foundation\"`"]
10162 #[cfg(feature = "Win32_Foundation")]
10163 pub unsafe fn DiscardResource<P0>(&self, presource: P0, pregion: ::core::option::Option<*const D3D12_DISCARD_REGION>)
10164 where
10165 P0: ::windows_core::IntoParam<ID3D12Resource>,
10166 {
10167 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.DiscardResource)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pregion.unwrap_or(::std::ptr::null())))
10168 }
10169 pub unsafe fn BeginQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
10170 where
10171 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
10172 {
10173 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.BeginQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
10174 }
10175 pub unsafe fn EndQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
10176 where
10177 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
10178 {
10179 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EndQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
10180 }
10181 pub unsafe fn ResolveQueryData<P0, P1>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: P1, aligneddestinationbufferoffset: u64)
10182 where
10183 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
10184 P1: ::windows_core::IntoParam<ID3D12Resource>,
10185 {
10186 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ResolveQueryData)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, startindex, numqueries, pdestinationbuffer.into_param().abi(), aligneddestinationbufferoffset)
10187 }
10188 pub unsafe fn SetPredication<P0>(&self, pbuffer: P0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)
10189 where
10190 P0: ::windows_core::IntoParam<ID3D12Resource>,
10191 {
10192 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetPredication)(::windows_core::Interface::as_raw(self), pbuffer.into_param().abi(), alignedbufferoffset, operation)
10193 }
10194 pub unsafe fn SetMarker(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
10195 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetMarker)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
10196 }
10197 pub unsafe fn BeginEvent(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
10198 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.BeginEvent)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
10199 }
10200 pub unsafe fn EndEvent(&self) {
10201 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.EndEvent)(::windows_core::Interface::as_raw(self))
10202 }
10203 pub unsafe fn ExecuteIndirect<P0, P1, P2>(&self, pcommandsignature: P0, maxcommandcount: u32, pargumentbuffer: P1, argumentbufferoffset: u64, pcountbuffer: P2, countbufferoffset: u64)
10204 where
10205 P0: ::windows_core::IntoParam<ID3D12CommandSignature>,
10206 P1: ::windows_core::IntoParam<ID3D12Resource>,
10207 P2: ::windows_core::IntoParam<ID3D12Resource>,
10208 {
10209 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ExecuteIndirect)(::windows_core::Interface::as_raw(self), pcommandsignature.into_param().abi(), maxcommandcount, pargumentbuffer.into_param().abi(), argumentbufferoffset, pcountbuffer.into_param().abi(), countbufferoffset)
10210 }
10211 pub unsafe fn AtomicCopyBufferUINT<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
10212 where
10213 P0: ::windows_core::IntoParam<ID3D12Resource>,
10214 P1: ::windows_core::IntoParam<ID3D12Resource>,
10215 {
10216 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.AtomicCopyBufferUINT)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
10217 }
10218 pub unsafe fn AtomicCopyBufferUINT64<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
10219 where
10220 P0: ::windows_core::IntoParam<ID3D12Resource>,
10221 P1: ::windows_core::IntoParam<ID3D12Resource>,
10222 {
10223 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.AtomicCopyBufferUINT64)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
10224 }
10225 pub unsafe fn OMSetDepthBounds(&self, min: f32, max: f32) {
10226 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.OMSetDepthBounds)(::windows_core::Interface::as_raw(self), min, max)
10227 }
10228 pub unsafe fn SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION) {
10229 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetSamplePositions)(::windows_core::Interface::as_raw(self), numsamplesperpixel, numpixels, psamplepositions)
10230 }
10231 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
10232 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
10233 pub unsafe fn ResolveSubresourceRegion<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: P1, srcsubresource: u32, psrcrect: ::core::option::Option<*const super::super::Foundation::RECT>, format: super::Dxgi::Common::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE)
10234 where
10235 P0: ::windows_core::IntoParam<ID3D12Resource>,
10236 P1: ::windows_core::IntoParam<ID3D12Resource>,
10237 {
10238 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.ResolveSubresourceRegion)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, dstx, dsty, psrcresource.into_param().abi(), srcsubresource, ::core::mem::transmute(psrcrect.unwrap_or(::std::ptr::null())), format, resolvemode)
10239 }
10240 pub unsafe fn SetViewInstanceMask(&self, mask: u32) {
10241 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.SetViewInstanceMask)(::windows_core::Interface::as_raw(self), mask)
10242 }
10243 pub unsafe fn WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: ::core::option::Option<*const D3D12_WRITEBUFFERIMMEDIATE_MODE>) {
10244 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.WriteBufferImmediate)(::windows_core::Interface::as_raw(self), count, pparams, ::core::mem::transmute(pmodes.unwrap_or(::std::ptr::null())))
10245 }
10246 pub unsafe fn SetProtectedResourceSession<P0>(&self, pprotectedresourcesession: P0)
10247 where
10248 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
10249 {
10250 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetProtectedResourceSession)(::windows_core::Interface::as_raw(self), pprotectedresourcesession.into_param().abi())
10251 }
10252 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
10253 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
10254 pub unsafe fn BeginRenderPass(&self, prendertargets: ::core::option::Option<&[D3D12_RENDER_PASS_RENDER_TARGET_DESC]>, pdepthstencil: ::core::option::Option<*const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC>, flags: D3D12_RENDER_PASS_FLAGS) {
10255 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BeginRenderPass)(::windows_core::Interface::as_raw(self), prendertargets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prendertargets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), ::core::mem::transmute(pdepthstencil.unwrap_or(::std::ptr::null())), flags)
10256 }
10257 pub unsafe fn EndRenderPass(&self) {
10258 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EndRenderPass)(::windows_core::Interface::as_raw(self))
10259 }
10260 pub unsafe fn InitializeMetaCommand<P0>(&self, pmetacommand: P0, pinitializationparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, initializationparametersdatasizeinbytes: usize)
10261 where
10262 P0: ::windows_core::IntoParam<ID3D12MetaCommand>,
10263 {
10264 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.InitializeMetaCommand)(::windows_core::Interface::as_raw(self), pmetacommand.into_param().abi(), ::core::mem::transmute(pinitializationparametersdata.unwrap_or(::std::ptr::null())), initializationparametersdatasizeinbytes)
10265 }
10266 pub unsafe fn ExecuteMetaCommand<P0>(&self, pmetacommand: P0, pexecutionparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, executionparametersdatasizeinbytes: usize)
10267 where
10268 P0: ::windows_core::IntoParam<ID3D12MetaCommand>,
10269 {
10270 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.ExecuteMetaCommand)(::windows_core::Interface::as_raw(self), pmetacommand.into_param().abi(), ::core::mem::transmute(pexecutionparametersdata.unwrap_or(::std::ptr::null())), executionparametersdatasizeinbytes)
10271 }
10272 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
10273 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10274 pub unsafe fn BuildRaytracingAccelerationStructure(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, ppostbuildinfodescs: ::core::option::Option<&[D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC]>) {
10275 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.BuildRaytracingAccelerationStructure)(::windows_core::Interface::as_raw(self), pdesc, ppostbuildinfodescs.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppostbuildinfodescs.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
10276 }
10277 pub unsafe fn EmitRaytracingAccelerationStructurePostbuildInfo(&self, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, psourceaccelerationstructuredata: &[u64]) {
10278 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.EmitRaytracingAccelerationStructurePostbuildInfo)(::windows_core::Interface::as_raw(self), pdesc, psourceaccelerationstructuredata.len().try_into().unwrap(), ::core::mem::transmute(psourceaccelerationstructuredata.as_ptr()))
10279 }
10280 pub unsafe fn CopyRaytracingAccelerationStructure(&self, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE) {
10281 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.CopyRaytracingAccelerationStructure)(::windows_core::Interface::as_raw(self), destaccelerationstructuredata, sourceaccelerationstructuredata, mode)
10282 }
10283 pub unsafe fn SetPipelineState1<P0>(&self, pstateobject: P0)
10284 where
10285 P0: ::windows_core::IntoParam<ID3D12StateObject>,
10286 {
10287 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPipelineState1)(::windows_core::Interface::as_raw(self), pstateobject.into_param().abi())
10288 }
10289 pub unsafe fn DispatchRays(&self, pdesc: *const D3D12_DISPATCH_RAYS_DESC) {
10290 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.DispatchRays)(::windows_core::Interface::as_raw(self), pdesc)
10291 }
10292 pub unsafe fn RSSetShadingRate(&self, baseshadingrate: D3D12_SHADING_RATE, combiners: ::core::option::Option<*const D3D12_SHADING_RATE_COMBINER>) {
10293 (::windows_core::Interface::vtable(self).base__.base__.base__.RSSetShadingRate)(::windows_core::Interface::as_raw(self), baseshadingrate, ::core::mem::transmute(combiners.unwrap_or(::std::ptr::null())))
10294 }
10295 pub unsafe fn RSSetShadingRateImage<P0>(&self, shadingrateimage: P0)
10296 where
10297 P0: ::windows_core::IntoParam<ID3D12Resource>,
10298 {
10299 (::windows_core::Interface::vtable(self).base__.base__.base__.RSSetShadingRateImage)(::windows_core::Interface::as_raw(self), shadingrateimage.into_param().abi())
10300 }
10301 pub unsafe fn DispatchMesh(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
10302 (::windows_core::Interface::vtable(self).base__.base__.DispatchMesh)(::windows_core::Interface::as_raw(self), threadgroupcountx, threadgroupcounty, threadgroupcountz)
10303 }
10304 pub unsafe fn Barrier(&self, pbarriergroups: &[D3D12_BARRIER_GROUP]) {
10305 (::windows_core::Interface::vtable(self).base__.Barrier)(::windows_core::Interface::as_raw(self), pbarriergroups.len().try_into().unwrap(), ::core::mem::transmute(pbarriergroups.as_ptr()))
10306 }
10307 pub unsafe fn OMSetFrontAndBackStencilRef(&self, frontstencilref: u32, backstencilref: u32) {
10308 (::windows_core::Interface::vtable(self).OMSetFrontAndBackStencilRef)(::windows_core::Interface::as_raw(self), frontstencilref, backstencilref)
10309 }
10310}
10311::windows_core::imp::interface_hierarchy!(ID3D12GraphicsCommandList8, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12CommandList, ID3D12GraphicsCommandList, ID3D12GraphicsCommandList1, ID3D12GraphicsCommandList2, ID3D12GraphicsCommandList3, ID3D12GraphicsCommandList4, ID3D12GraphicsCommandList5, ID3D12GraphicsCommandList6, ID3D12GraphicsCommandList7);
10312unsafe impl ::core::marker::Send for ID3D12GraphicsCommandList8 {}
10313unsafe impl ::core::marker::Sync for ID3D12GraphicsCommandList8 {}
10314unsafe impl ::windows_core::Interface for ID3D12GraphicsCommandList8 {
10315 type Vtable = ID3D12GraphicsCommandList8_Vtbl;
10316}
10317unsafe impl ::windows_core::ComInterface for ID3D12GraphicsCommandList8 {
10318 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xee936ef9_599d_4d28_938e_23c4ad05ce51);
10319}
10320#[repr(C)]
10321#[doc(hidden)]
10322pub struct ID3D12GraphicsCommandList8_Vtbl {
10323 pub base__: ID3D12GraphicsCommandList7_Vtbl,
10324 pub OMSetFrontAndBackStencilRef: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, frontstencilref: u32, backstencilref: u32),
10325}
10326#[repr(transparent)]
10327#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
10328pub struct ID3D12GraphicsCommandList9(::windows_core::IUnknown);
10329impl ID3D12GraphicsCommandList9 {
10330 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
10331 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
10332 }
10333 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
10334 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
10335 }
10336 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
10337 where
10338 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
10339 {
10340 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
10341 }
10342 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
10343 where
10344 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
10345 {
10346 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
10347 }
10348 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
10349 where
10350 T: ::windows_core::ComInterface,
10351 {
10352 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
10353 }
10354 pub unsafe fn GetType(&self) -> D3D12_COMMAND_LIST_TYPE {
10355 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.base__.GetType)(::windows_core::Interface::as_raw(self))
10356 }
10357 pub unsafe fn Close(&self) -> ::windows_core::Result<()> {
10358 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.Close)(::windows_core::Interface::as_raw(self)).ok()
10359 }
10360 pub unsafe fn Reset<P0, P1>(&self, pallocator: P0, pinitialstate: P1) -> ::windows_core::Result<()>
10361 where
10362 P0: ::windows_core::IntoParam<ID3D12CommandAllocator>,
10363 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
10364 {
10365 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.Reset)(::windows_core::Interface::as_raw(self), pallocator.into_param().abi(), pinitialstate.into_param().abi()).ok()
10366 }
10367 pub unsafe fn ClearState<P0>(&self, ppipelinestate: P0)
10368 where
10369 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
10370 {
10371 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ClearState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
10372 }
10373 pub unsafe fn DrawInstanced(&self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32) {
10374 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.DrawInstanced)(::windows_core::Interface::as_raw(self), vertexcountperinstance, instancecount, startvertexlocation, startinstancelocation)
10375 }
10376 pub unsafe fn DrawIndexedInstanced(&self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32) {
10377 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.DrawIndexedInstanced)(::windows_core::Interface::as_raw(self), indexcountperinstance, instancecount, startindexlocation, basevertexlocation, startinstancelocation)
10378 }
10379 pub unsafe fn Dispatch(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
10380 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.Dispatch)(::windows_core::Interface::as_raw(self), threadgroupcountx, threadgroupcounty, threadgroupcountz)
10381 }
10382 pub unsafe fn CopyBufferRegion<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, numbytes: u64)
10383 where
10384 P0: ::windows_core::IntoParam<ID3D12Resource>,
10385 P1: ::windows_core::IntoParam<ID3D12Resource>,
10386 {
10387 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CopyBufferRegion)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, numbytes)
10388 }
10389 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
10390 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10391 pub unsafe fn CopyTextureRegion(&self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: ::core::option::Option<*const D3D12_BOX>) {
10392 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CopyTextureRegion)(::windows_core::Interface::as_raw(self), pdst, dstx, dsty, dstz, psrc, ::core::mem::transmute(psrcbox.unwrap_or(::std::ptr::null())))
10393 }
10394 pub unsafe fn CopyResource<P0, P1>(&self, pdstresource: P0, psrcresource: P1)
10395 where
10396 P0: ::windows_core::IntoParam<ID3D12Resource>,
10397 P1: ::windows_core::IntoParam<ID3D12Resource>,
10398 {
10399 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CopyResource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), psrcresource.into_param().abi())
10400 }
10401 #[doc = "Required features: `\"Win32_Foundation\"`"]
10402 #[cfg(feature = "Win32_Foundation")]
10403 pub unsafe fn CopyTiles<P0, P1>(&self, ptiledresource: P0, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: P1, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS)
10404 where
10405 P0: ::windows_core::IntoParam<ID3D12Resource>,
10406 P1: ::windows_core::IntoParam<ID3D12Resource>,
10407 {
10408 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.CopyTiles)(::windows_core::Interface::as_raw(self), ptiledresource.into_param().abi(), ptileregionstartcoordinate, ptileregionsize, pbuffer.into_param().abi(), bufferstartoffsetinbytes, flags)
10409 }
10410 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
10411 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10412 pub unsafe fn ResolveSubresource<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, psrcresource: P1, srcsubresource: u32, format: super::Dxgi::Common::DXGI_FORMAT)
10413 where
10414 P0: ::windows_core::IntoParam<ID3D12Resource>,
10415 P1: ::windows_core::IntoParam<ID3D12Resource>,
10416 {
10417 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ResolveSubresource)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, psrcresource.into_param().abi(), srcsubresource, format)
10418 }
10419 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
10420 #[cfg(feature = "Win32_Graphics_Direct3D")]
10421 pub unsafe fn IASetPrimitiveTopology(&self, primitivetopology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY) {
10422 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.IASetPrimitiveTopology)(::windows_core::Interface::as_raw(self), primitivetopology)
10423 }
10424 pub unsafe fn RSSetViewports(&self, pviewports: &[D3D12_VIEWPORT]) {
10425 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RSSetViewports)(::windows_core::Interface::as_raw(self), pviewports.len().try_into().unwrap(), ::core::mem::transmute(pviewports.as_ptr()))
10426 }
10427 #[doc = "Required features: `\"Win32_Foundation\"`"]
10428 #[cfg(feature = "Win32_Foundation")]
10429 pub unsafe fn RSSetScissorRects(&self, prects: &[super::super::Foundation::RECT]) {
10430 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.RSSetScissorRects)(::windows_core::Interface::as_raw(self), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
10431 }
10432 pub unsafe fn OMSetBlendFactor(&self, blendfactor: ::core::option::Option<&[f32; 4]>) {
10433 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.OMSetBlendFactor)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(blendfactor.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
10434 }
10435 pub unsafe fn OMSetStencilRef(&self, stencilref: u32) {
10436 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.OMSetStencilRef)(::windows_core::Interface::as_raw(self), stencilref)
10437 }
10438 pub unsafe fn SetPipelineState<P0>(&self, ppipelinestate: P0)
10439 where
10440 P0: ::windows_core::IntoParam<ID3D12PipelineState>,
10441 {
10442 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPipelineState)(::windows_core::Interface::as_raw(self), ppipelinestate.into_param().abi())
10443 }
10444 pub unsafe fn ResourceBarrier(&self, pbarriers: &[D3D12_RESOURCE_BARRIER]) {
10445 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ResourceBarrier)(::windows_core::Interface::as_raw(self), pbarriers.len().try_into().unwrap(), ::core::mem::transmute(pbarriers.as_ptr()))
10446 }
10447 pub unsafe fn ExecuteBundle<P0>(&self, pcommandlist: P0)
10448 where
10449 P0: ::windows_core::IntoParam<ID3D12GraphicsCommandList>,
10450 {
10451 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExecuteBundle)(::windows_core::Interface::as_raw(self), pcommandlist.into_param().abi())
10452 }
10453 pub unsafe fn SetDescriptorHeaps(&self, ppdescriptorheaps: &[::core::option::Option<ID3D12DescriptorHeap>]) {
10454 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetDescriptorHeaps)(::windows_core::Interface::as_raw(self), ppdescriptorheaps.len().try_into().unwrap(), ::core::mem::transmute(ppdescriptorheaps.as_ptr()))
10455 }
10456 pub unsafe fn SetComputeRootSignature<P0>(&self, prootsignature: P0)
10457 where
10458 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
10459 {
10460 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetComputeRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
10461 }
10462 pub unsafe fn SetGraphicsRootSignature<P0>(&self, prootsignature: P0)
10463 where
10464 P0: ::windows_core::IntoParam<ID3D12RootSignature>,
10465 {
10466 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetGraphicsRootSignature)(::windows_core::Interface::as_raw(self), prootsignature.into_param().abi())
10467 }
10468 pub unsafe fn SetComputeRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
10469 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetComputeRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
10470 }
10471 pub unsafe fn SetGraphicsRootDescriptorTable(&self, rootparameterindex: u32, basedescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) {
10472 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetGraphicsRootDescriptorTable)(::windows_core::Interface::as_raw(self), rootparameterindex, ::core::mem::transmute(basedescriptor))
10473 }
10474 pub unsafe fn SetComputeRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
10475 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetComputeRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
10476 }
10477 pub unsafe fn SetGraphicsRoot32BitConstant(&self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32) {
10478 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetGraphicsRoot32BitConstant)(::windows_core::Interface::as_raw(self), rootparameterindex, srcdata, destoffsetin32bitvalues)
10479 }
10480 pub unsafe fn SetComputeRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
10481 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetComputeRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
10482 }
10483 pub unsafe fn SetGraphicsRoot32BitConstants(&self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const ::core::ffi::c_void, destoffsetin32bitvalues: u32) {
10484 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetGraphicsRoot32BitConstants)(::windows_core::Interface::as_raw(self), rootparameterindex, num32bitvaluestoset, psrcdata, destoffsetin32bitvalues)
10485 }
10486 pub unsafe fn SetComputeRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
10487 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetComputeRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
10488 }
10489 pub unsafe fn SetGraphicsRootConstantBufferView(&self, rootparameterindex: u32, bufferlocation: u64) {
10490 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetGraphicsRootConstantBufferView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
10491 }
10492 pub unsafe fn SetComputeRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
10493 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetComputeRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
10494 }
10495 pub unsafe fn SetGraphicsRootShaderResourceView(&self, rootparameterindex: u32, bufferlocation: u64) {
10496 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetGraphicsRootShaderResourceView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
10497 }
10498 pub unsafe fn SetComputeRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
10499 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetComputeRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
10500 }
10501 pub unsafe fn SetGraphicsRootUnorderedAccessView(&self, rootparameterindex: u32, bufferlocation: u64) {
10502 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetGraphicsRootUnorderedAccessView)(::windows_core::Interface::as_raw(self), rootparameterindex, bufferlocation)
10503 }
10504 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
10505 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10506 pub unsafe fn IASetIndexBuffer(&self, pview: ::core::option::Option<*const D3D12_INDEX_BUFFER_VIEW>) {
10507 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.IASetIndexBuffer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pview.unwrap_or(::std::ptr::null())))
10508 }
10509 pub unsafe fn IASetVertexBuffers(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_VERTEX_BUFFER_VIEW]>) {
10510 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.IASetVertexBuffers)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
10511 }
10512 pub unsafe fn SOSetTargets(&self, startslot: u32, pviews: ::core::option::Option<&[D3D12_STREAM_OUTPUT_BUFFER_VIEW]>) {
10513 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SOSetTargets)(::windows_core::Interface::as_raw(self), startslot, pviews.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(pviews.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
10514 }
10515 #[doc = "Required features: `\"Win32_Foundation\"`"]
10516 #[cfg(feature = "Win32_Foundation")]
10517 pub unsafe fn OMSetRenderTargets<P0>(&self, numrendertargetdescriptors: u32, prendertargetdescriptors: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>, rtssinglehandletodescriptorrange: P0, pdepthstencildescriptor: ::core::option::Option<*const D3D12_CPU_DESCRIPTOR_HANDLE>)
10518 where
10519 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
10520 {
10521 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.OMSetRenderTargets)(::windows_core::Interface::as_raw(self), numrendertargetdescriptors, ::core::mem::transmute(prendertargetdescriptors.unwrap_or(::std::ptr::null())), rtssinglehandletodescriptorrange.into_param().abi(), ::core::mem::transmute(pdepthstencildescriptor.unwrap_or(::std::ptr::null())))
10522 }
10523 #[doc = "Required features: `\"Win32_Foundation\"`"]
10524 #[cfg(feature = "Win32_Foundation")]
10525 pub unsafe fn ClearDepthStencilView(&self, depthstencilview: D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, prects: &[super::super::Foundation::RECT]) {
10526 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ClearDepthStencilView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(depthstencilview), clearflags, depth, stencil, prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
10527 }
10528 #[doc = "Required features: `\"Win32_Foundation\"`"]
10529 #[cfg(feature = "Win32_Foundation")]
10530 pub unsafe fn ClearRenderTargetView(&self, rendertargetview: D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: &[f32; 4], prects: ::core::option::Option<&[super::super::Foundation::RECT]>) {
10531 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ClearRenderTargetView)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(rendertargetview), ::core::mem::transmute(colorrgba.as_ptr()), prects.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prects.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
10532 }
10533 #[doc = "Required features: `\"Win32_Foundation\"`"]
10534 #[cfg(feature = "Win32_Foundation")]
10535 pub unsafe fn ClearUnorderedAccessViewUint<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[u32; 4], prects: &[super::super::Foundation::RECT])
10536 where
10537 P0: ::windows_core::IntoParam<ID3D12Resource>,
10538 {
10539 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ClearUnorderedAccessViewUint)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
10540 }
10541 #[doc = "Required features: `\"Win32_Foundation\"`"]
10542 #[cfg(feature = "Win32_Foundation")]
10543 pub unsafe fn ClearUnorderedAccessViewFloat<P0>(&self, viewgpuhandleincurrentheap: D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: D3D12_CPU_DESCRIPTOR_HANDLE, presource: P0, values: &[f32; 4], prects: &[super::super::Foundation::RECT])
10544 where
10545 P0: ::windows_core::IntoParam<ID3D12Resource>,
10546 {
10547 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ClearUnorderedAccessViewFloat)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(viewgpuhandleincurrentheap), ::core::mem::transmute(viewcpuhandle), presource.into_param().abi(), ::core::mem::transmute(values.as_ptr()), prects.len().try_into().unwrap(), ::core::mem::transmute(prects.as_ptr()))
10548 }
10549 #[doc = "Required features: `\"Win32_Foundation\"`"]
10550 #[cfg(feature = "Win32_Foundation")]
10551 pub unsafe fn DiscardResource<P0>(&self, presource: P0, pregion: ::core::option::Option<*const D3D12_DISCARD_REGION>)
10552 where
10553 P0: ::windows_core::IntoParam<ID3D12Resource>,
10554 {
10555 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.DiscardResource)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), ::core::mem::transmute(pregion.unwrap_or(::std::ptr::null())))
10556 }
10557 pub unsafe fn BeginQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
10558 where
10559 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
10560 {
10561 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
10562 }
10563 pub unsafe fn EndQuery<P0>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, index: u32)
10564 where
10565 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
10566 {
10567 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EndQuery)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, index)
10568 }
10569 pub unsafe fn ResolveQueryData<P0, P1>(&self, pqueryheap: P0, r#type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: P1, aligneddestinationbufferoffset: u64)
10570 where
10571 P0: ::windows_core::IntoParam<ID3D12QueryHeap>,
10572 P1: ::windows_core::IntoParam<ID3D12Resource>,
10573 {
10574 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ResolveQueryData)(::windows_core::Interface::as_raw(self), pqueryheap.into_param().abi(), r#type, startindex, numqueries, pdestinationbuffer.into_param().abi(), aligneddestinationbufferoffset)
10575 }
10576 pub unsafe fn SetPredication<P0>(&self, pbuffer: P0, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP)
10577 where
10578 P0: ::windows_core::IntoParam<ID3D12Resource>,
10579 {
10580 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetPredication)(::windows_core::Interface::as_raw(self), pbuffer.into_param().abi(), alignedbufferoffset, operation)
10581 }
10582 pub unsafe fn SetMarker(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
10583 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.SetMarker)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
10584 }
10585 pub unsafe fn BeginEvent(&self, metadata: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>, size: u32) {
10586 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.BeginEvent)(::windows_core::Interface::as_raw(self), metadata, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null())), size)
10587 }
10588 pub unsafe fn EndEvent(&self) {
10589 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.EndEvent)(::windows_core::Interface::as_raw(self))
10590 }
10591 pub unsafe fn ExecuteIndirect<P0, P1, P2>(&self, pcommandsignature: P0, maxcommandcount: u32, pargumentbuffer: P1, argumentbufferoffset: u64, pcountbuffer: P2, countbufferoffset: u64)
10592 where
10593 P0: ::windows_core::IntoParam<ID3D12CommandSignature>,
10594 P1: ::windows_core::IntoParam<ID3D12Resource>,
10595 P2: ::windows_core::IntoParam<ID3D12Resource>,
10596 {
10597 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.base__.ExecuteIndirect)(::windows_core::Interface::as_raw(self), pcommandsignature.into_param().abi(), maxcommandcount, pargumentbuffer.into_param().abi(), argumentbufferoffset, pcountbuffer.into_param().abi(), countbufferoffset)
10598 }
10599 pub unsafe fn AtomicCopyBufferUINT<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
10600 where
10601 P0: ::windows_core::IntoParam<ID3D12Resource>,
10602 P1: ::windows_core::IntoParam<ID3D12Resource>,
10603 {
10604 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.AtomicCopyBufferUINT)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
10605 }
10606 pub unsafe fn AtomicCopyBufferUINT64<P0, P1>(&self, pdstbuffer: P0, dstoffset: u64, psrcbuffer: P1, srcoffset: u64, dependencies: u32, ppdependentresources: *const ::core::option::Option<ID3D12Resource>, pdependentsubresourceranges: *const D3D12_SUBRESOURCE_RANGE_UINT64)
10607 where
10608 P0: ::windows_core::IntoParam<ID3D12Resource>,
10609 P1: ::windows_core::IntoParam<ID3D12Resource>,
10610 {
10611 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.AtomicCopyBufferUINT64)(::windows_core::Interface::as_raw(self), pdstbuffer.into_param().abi(), dstoffset, psrcbuffer.into_param().abi(), srcoffset, dependencies, ::core::mem::transmute(ppdependentresources), pdependentsubresourceranges)
10612 }
10613 pub unsafe fn OMSetDepthBounds(&self, min: f32, max: f32) {
10614 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.OMSetDepthBounds)(::windows_core::Interface::as_raw(self), min, max)
10615 }
10616 pub unsafe fn SetSamplePositions(&self, numsamplesperpixel: u32, numpixels: u32, psamplepositions: *const D3D12_SAMPLE_POSITION) {
10617 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetSamplePositions)(::windows_core::Interface::as_raw(self), numsamplesperpixel, numpixels, psamplepositions)
10618 }
10619 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
10620 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
10621 pub unsafe fn ResolveSubresourceRegion<P0, P1>(&self, pdstresource: P0, dstsubresource: u32, dstx: u32, dsty: u32, psrcresource: P1, srcsubresource: u32, psrcrect: ::core::option::Option<*const super::super::Foundation::RECT>, format: super::Dxgi::Common::DXGI_FORMAT, resolvemode: D3D12_RESOLVE_MODE)
10622 where
10623 P0: ::windows_core::IntoParam<ID3D12Resource>,
10624 P1: ::windows_core::IntoParam<ID3D12Resource>,
10625 {
10626 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.ResolveSubresourceRegion)(::windows_core::Interface::as_raw(self), pdstresource.into_param().abi(), dstsubresource, dstx, dsty, psrcresource.into_param().abi(), srcsubresource, ::core::mem::transmute(psrcrect.unwrap_or(::std::ptr::null())), format, resolvemode)
10627 }
10628 pub unsafe fn SetViewInstanceMask(&self, mask: u32) {
10629 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.base__.SetViewInstanceMask)(::windows_core::Interface::as_raw(self), mask)
10630 }
10631 pub unsafe fn WriteBufferImmediate(&self, count: u32, pparams: *const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pmodes: ::core::option::Option<*const D3D12_WRITEBUFFERIMMEDIATE_MODE>) {
10632 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.base__.WriteBufferImmediate)(::windows_core::Interface::as_raw(self), count, pparams, ::core::mem::transmute(pmodes.unwrap_or(::std::ptr::null())))
10633 }
10634 pub unsafe fn SetProtectedResourceSession<P0>(&self, pprotectedresourcesession: P0)
10635 where
10636 P0: ::windows_core::IntoParam<ID3D12ProtectedResourceSession>,
10637 {
10638 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.base__.SetProtectedResourceSession)(::windows_core::Interface::as_raw(self), pprotectedresourcesession.into_param().abi())
10639 }
10640 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
10641 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
10642 pub unsafe fn BeginRenderPass(&self, prendertargets: ::core::option::Option<&[D3D12_RENDER_PASS_RENDER_TARGET_DESC]>, pdepthstencil: ::core::option::Option<*const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC>, flags: D3D12_RENDER_PASS_FLAGS) {
10643 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.BeginRenderPass)(::windows_core::Interface::as_raw(self), prendertargets.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(prendertargets.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), ::core::mem::transmute(pdepthstencil.unwrap_or(::std::ptr::null())), flags)
10644 }
10645 pub unsafe fn EndRenderPass(&self) {
10646 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EndRenderPass)(::windows_core::Interface::as_raw(self))
10647 }
10648 pub unsafe fn InitializeMetaCommand<P0>(&self, pmetacommand: P0, pinitializationparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, initializationparametersdatasizeinbytes: usize)
10649 where
10650 P0: ::windows_core::IntoParam<ID3D12MetaCommand>,
10651 {
10652 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.InitializeMetaCommand)(::windows_core::Interface::as_raw(self), pmetacommand.into_param().abi(), ::core::mem::transmute(pinitializationparametersdata.unwrap_or(::std::ptr::null())), initializationparametersdatasizeinbytes)
10653 }
10654 pub unsafe fn ExecuteMetaCommand<P0>(&self, pmetacommand: P0, pexecutionparametersdata: ::core::option::Option<*const ::core::ffi::c_void>, executionparametersdatasizeinbytes: usize)
10655 where
10656 P0: ::windows_core::IntoParam<ID3D12MetaCommand>,
10657 {
10658 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.ExecuteMetaCommand)(::windows_core::Interface::as_raw(self), pmetacommand.into_param().abi(), ::core::mem::transmute(pexecutionparametersdata.unwrap_or(::std::ptr::null())), executionparametersdatasizeinbytes)
10659 }
10660 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
10661 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
10662 pub unsafe fn BuildRaytracingAccelerationStructure(&self, pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, ppostbuildinfodescs: ::core::option::Option<&[D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC]>) {
10663 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.BuildRaytracingAccelerationStructure)(::windows_core::Interface::as_raw(self), pdesc, ppostbuildinfodescs.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), ::core::mem::transmute(ppostbuildinfodescs.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())))
10664 }
10665 pub unsafe fn EmitRaytracingAccelerationStructurePostbuildInfo(&self, pdesc: *const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, psourceaccelerationstructuredata: &[u64]) {
10666 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.EmitRaytracingAccelerationStructurePostbuildInfo)(::windows_core::Interface::as_raw(self), pdesc, psourceaccelerationstructuredata.len().try_into().unwrap(), ::core::mem::transmute(psourceaccelerationstructuredata.as_ptr()))
10667 }
10668 pub unsafe fn CopyRaytracingAccelerationStructure(&self, destaccelerationstructuredata: u64, sourceaccelerationstructuredata: u64, mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE) {
10669 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.CopyRaytracingAccelerationStructure)(::windows_core::Interface::as_raw(self), destaccelerationstructuredata, sourceaccelerationstructuredata, mode)
10670 }
10671 pub unsafe fn SetPipelineState1<P0>(&self, pstateobject: P0)
10672 where
10673 P0: ::windows_core::IntoParam<ID3D12StateObject>,
10674 {
10675 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetPipelineState1)(::windows_core::Interface::as_raw(self), pstateobject.into_param().abi())
10676 }
10677 pub unsafe fn DispatchRays(&self, pdesc: *const D3D12_DISPATCH_RAYS_DESC) {
10678 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.DispatchRays)(::windows_core::Interface::as_raw(self), pdesc)
10679 }
10680 pub unsafe fn RSSetShadingRate(&self, baseshadingrate: D3D12_SHADING_RATE, combiners: ::core::option::Option<*const D3D12_SHADING_RATE_COMBINER>) {
10681 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RSSetShadingRate)(::windows_core::Interface::as_raw(self), baseshadingrate, ::core::mem::transmute(combiners.unwrap_or(::std::ptr::null())))
10682 }
10683 pub unsafe fn RSSetShadingRateImage<P0>(&self, shadingrateimage: P0)
10684 where
10685 P0: ::windows_core::IntoParam<ID3D12Resource>,
10686 {
10687 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.RSSetShadingRateImage)(::windows_core::Interface::as_raw(self), shadingrateimage.into_param().abi())
10688 }
10689 pub unsafe fn DispatchMesh(&self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32) {
10690 (::windows_core::Interface::vtable(self).base__.base__.base__.DispatchMesh)(::windows_core::Interface::as_raw(self), threadgroupcountx, threadgroupcounty, threadgroupcountz)
10691 }
10692 pub unsafe fn Barrier(&self, pbarriergroups: &[D3D12_BARRIER_GROUP]) {
10693 (::windows_core::Interface::vtable(self).base__.base__.Barrier)(::windows_core::Interface::as_raw(self), pbarriergroups.len().try_into().unwrap(), ::core::mem::transmute(pbarriergroups.as_ptr()))
10694 }
10695 pub unsafe fn OMSetFrontAndBackStencilRef(&self, frontstencilref: u32, backstencilref: u32) {
10696 (::windows_core::Interface::vtable(self).base__.OMSetFrontAndBackStencilRef)(::windows_core::Interface::as_raw(self), frontstencilref, backstencilref)
10697 }
10698 pub unsafe fn RSSetDepthBias(&self, depthbias: f32, depthbiasclamp: f32, slopescaleddepthbias: f32) {
10699 (::windows_core::Interface::vtable(self).RSSetDepthBias)(::windows_core::Interface::as_raw(self), depthbias, depthbiasclamp, slopescaleddepthbias)
10700 }
10701 pub unsafe fn IASetIndexBufferStripCutValue(&self, ibstripcutvalue: D3D12_INDEX_BUFFER_STRIP_CUT_VALUE) {
10702 (::windows_core::Interface::vtable(self).IASetIndexBufferStripCutValue)(::windows_core::Interface::as_raw(self), ibstripcutvalue)
10703 }
10704}
10705::windows_core::imp::interface_hierarchy!(ID3D12GraphicsCommandList9, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12CommandList, ID3D12GraphicsCommandList, ID3D12GraphicsCommandList1, ID3D12GraphicsCommandList2, ID3D12GraphicsCommandList3, ID3D12GraphicsCommandList4, ID3D12GraphicsCommandList5, ID3D12GraphicsCommandList6, ID3D12GraphicsCommandList7, ID3D12GraphicsCommandList8);
10706unsafe impl ::core::marker::Send for ID3D12GraphicsCommandList9 {}
10707unsafe impl ::core::marker::Sync for ID3D12GraphicsCommandList9 {}
10708unsafe impl ::windows_core::Interface for ID3D12GraphicsCommandList9 {
10709 type Vtable = ID3D12GraphicsCommandList9_Vtbl;
10710}
10711unsafe impl ::windows_core::ComInterface for ID3D12GraphicsCommandList9 {
10712 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x34ed2808_ffe6_4c2b_b11a_cabd2b0c59e1);
10713}
10714#[repr(C)]
10715#[doc(hidden)]
10716pub struct ID3D12GraphicsCommandList9_Vtbl {
10717 pub base__: ID3D12GraphicsCommandList8_Vtbl,
10718 pub RSSetDepthBias: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, depthbias: f32, depthbiasclamp: f32, slopescaleddepthbias: f32),
10719 pub IASetIndexBufferStripCutValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ibstripcutvalue: D3D12_INDEX_BUFFER_STRIP_CUT_VALUE),
10720}
10721#[repr(transparent)]
10722#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
10723pub struct ID3D12Heap(::windows_core::IUnknown);
10724impl ID3D12Heap {
10725 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
10726 (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
10727 }
10728 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
10729 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
10730 }
10731 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
10732 where
10733 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
10734 {
10735 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
10736 }
10737 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
10738 where
10739 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
10740 {
10741 (::windows_core::Interface::vtable(self).base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
10742 }
10743 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
10744 where
10745 T: ::windows_core::ComInterface,
10746 {
10747 (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
10748 }
10749 pub unsafe fn GetDesc(&self) -> D3D12_HEAP_DESC {
10750 let mut result__: D3D12_HEAP_DESC = ::core::mem::zeroed();
10751 (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__);
10752 result__
10753 }
10754}
10755::windows_core::imp::interface_hierarchy!(ID3D12Heap, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12Pageable);
10756unsafe impl ::core::marker::Send for ID3D12Heap {}
10757unsafe impl ::core::marker::Sync for ID3D12Heap {}
10758unsafe impl ::windows_core::Interface for ID3D12Heap {
10759 type Vtable = ID3D12Heap_Vtbl;
10760}
10761unsafe impl ::windows_core::ComInterface for ID3D12Heap {
10762 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x6b3b2502_6e51_45b3_90ee_9884265e8df3);
10763}
10764#[repr(C)]
10765#[doc(hidden)]
10766pub struct ID3D12Heap_Vtbl {
10767 pub base__: ID3D12Pageable_Vtbl,
10768 pub GetDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_HEAP_DESC),
10769}
10770#[repr(transparent)]
10771#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
10772pub struct ID3D12Heap1(::windows_core::IUnknown);
10773impl ID3D12Heap1 {
10774 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
10775 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
10776 }
10777 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
10778 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
10779 }
10780 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
10781 where
10782 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
10783 {
10784 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
10785 }
10786 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
10787 where
10788 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
10789 {
10790 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
10791 }
10792 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
10793 where
10794 T: ::windows_core::ComInterface,
10795 {
10796 (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
10797 }
10798 pub unsafe fn GetDesc(&self) -> D3D12_HEAP_DESC {
10799 let mut result__: D3D12_HEAP_DESC = ::core::mem::zeroed();
10800 (::windows_core::Interface::vtable(self).base__.GetDesc)(::windows_core::Interface::as_raw(self), &mut result__);
10801 result__
10802 }
10803 pub unsafe fn GetProtectedResourceSession<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
10804 where
10805 T: ::windows_core::ComInterface,
10806 {
10807 (::windows_core::Interface::vtable(self).GetProtectedResourceSession)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
10808 }
10809}
10810::windows_core::imp::interface_hierarchy!(ID3D12Heap1, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12Pageable, ID3D12Heap);
10811unsafe impl ::core::marker::Send for ID3D12Heap1 {}
10812unsafe impl ::core::marker::Sync for ID3D12Heap1 {}
10813unsafe impl ::windows_core::Interface for ID3D12Heap1 {
10814 type Vtable = ID3D12Heap1_Vtbl;
10815}
10816unsafe impl ::windows_core::ComInterface for ID3D12Heap1 {
10817 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x572f7389_2168_49e3_9693_d6df5871bf6d);
10818}
10819#[repr(C)]
10820#[doc(hidden)]
10821pub struct ID3D12Heap1_Vtbl {
10822 pub base__: ID3D12Heap_Vtbl,
10823 pub GetProtectedResourceSession: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppprotectedsession: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
10824}
10825#[repr(transparent)]
10826#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
10827pub struct ID3D12InfoQueue(::windows_core::IUnknown);
10828impl ID3D12InfoQueue {
10829 pub unsafe fn SetMessageCountLimit(&self, messagecountlimit: u64) -> ::windows_core::Result<()> {
10830 (::windows_core::Interface::vtable(self).SetMessageCountLimit)(::windows_core::Interface::as_raw(self), messagecountlimit).ok()
10831 }
10832 pub unsafe fn ClearStoredMessages(&self) {
10833 (::windows_core::Interface::vtable(self).ClearStoredMessages)(::windows_core::Interface::as_raw(self))
10834 }
10835 pub unsafe fn GetMessage(&self, messageindex: u64, pmessage: ::core::option::Option<*mut D3D12_MESSAGE>, pmessagebytelength: *mut usize) -> ::windows_core::Result<()> {
10836 (::windows_core::Interface::vtable(self).GetMessage)(::windows_core::Interface::as_raw(self), messageindex, ::core::mem::transmute(pmessage.unwrap_or(::std::ptr::null_mut())), pmessagebytelength).ok()
10837 }
10838 pub unsafe fn GetNumMessagesAllowedByStorageFilter(&self) -> u64 {
10839 (::windows_core::Interface::vtable(self).GetNumMessagesAllowedByStorageFilter)(::windows_core::Interface::as_raw(self))
10840 }
10841 pub unsafe fn GetNumMessagesDeniedByStorageFilter(&self) -> u64 {
10842 (::windows_core::Interface::vtable(self).GetNumMessagesDeniedByStorageFilter)(::windows_core::Interface::as_raw(self))
10843 }
10844 pub unsafe fn GetNumStoredMessages(&self) -> u64 {
10845 (::windows_core::Interface::vtable(self).GetNumStoredMessages)(::windows_core::Interface::as_raw(self))
10846 }
10847 pub unsafe fn GetNumStoredMessagesAllowedByRetrievalFilter(&self) -> u64 {
10848 (::windows_core::Interface::vtable(self).GetNumStoredMessagesAllowedByRetrievalFilter)(::windows_core::Interface::as_raw(self))
10849 }
10850 pub unsafe fn GetNumMessagesDiscardedByMessageCountLimit(&self) -> u64 {
10851 (::windows_core::Interface::vtable(self).GetNumMessagesDiscardedByMessageCountLimit)(::windows_core::Interface::as_raw(self))
10852 }
10853 pub unsafe fn GetMessageCountLimit(&self) -> u64 {
10854 (::windows_core::Interface::vtable(self).GetMessageCountLimit)(::windows_core::Interface::as_raw(self))
10855 }
10856 pub unsafe fn AddStorageFilterEntries(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows_core::Result<()> {
10857 (::windows_core::Interface::vtable(self).AddStorageFilterEntries)(::windows_core::Interface::as_raw(self), pfilter).ok()
10858 }
10859 pub unsafe fn GetStorageFilter(&self, pfilter: ::core::option::Option<*mut D3D12_INFO_QUEUE_FILTER>, pfilterbytelength: *mut usize) -> ::windows_core::Result<()> {
10860 (::windows_core::Interface::vtable(self).GetStorageFilter)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pfilter.unwrap_or(::std::ptr::null_mut())), pfilterbytelength).ok()
10861 }
10862 pub unsafe fn ClearStorageFilter(&self) {
10863 (::windows_core::Interface::vtable(self).ClearStorageFilter)(::windows_core::Interface::as_raw(self))
10864 }
10865 pub unsafe fn PushEmptyStorageFilter(&self) -> ::windows_core::Result<()> {
10866 (::windows_core::Interface::vtable(self).PushEmptyStorageFilter)(::windows_core::Interface::as_raw(self)).ok()
10867 }
10868 pub unsafe fn PushCopyOfStorageFilter(&self) -> ::windows_core::Result<()> {
10869 (::windows_core::Interface::vtable(self).PushCopyOfStorageFilter)(::windows_core::Interface::as_raw(self)).ok()
10870 }
10871 pub unsafe fn PushStorageFilter(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows_core::Result<()> {
10872 (::windows_core::Interface::vtable(self).PushStorageFilter)(::windows_core::Interface::as_raw(self), pfilter).ok()
10873 }
10874 pub unsafe fn PopStorageFilter(&self) {
10875 (::windows_core::Interface::vtable(self).PopStorageFilter)(::windows_core::Interface::as_raw(self))
10876 }
10877 pub unsafe fn GetStorageFilterStackSize(&self) -> u32 {
10878 (::windows_core::Interface::vtable(self).GetStorageFilterStackSize)(::windows_core::Interface::as_raw(self))
10879 }
10880 pub unsafe fn AddRetrievalFilterEntries(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows_core::Result<()> {
10881 (::windows_core::Interface::vtable(self).AddRetrievalFilterEntries)(::windows_core::Interface::as_raw(self), pfilter).ok()
10882 }
10883 pub unsafe fn GetRetrievalFilter(&self, pfilter: ::core::option::Option<*mut D3D12_INFO_QUEUE_FILTER>, pfilterbytelength: *mut usize) -> ::windows_core::Result<()> {
10884 (::windows_core::Interface::vtable(self).GetRetrievalFilter)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pfilter.unwrap_or(::std::ptr::null_mut())), pfilterbytelength).ok()
10885 }
10886 pub unsafe fn ClearRetrievalFilter(&self) {
10887 (::windows_core::Interface::vtable(self).ClearRetrievalFilter)(::windows_core::Interface::as_raw(self))
10888 }
10889 pub unsafe fn PushEmptyRetrievalFilter(&self) -> ::windows_core::Result<()> {
10890 (::windows_core::Interface::vtable(self).PushEmptyRetrievalFilter)(::windows_core::Interface::as_raw(self)).ok()
10891 }
10892 pub unsafe fn PushCopyOfRetrievalFilter(&self) -> ::windows_core::Result<()> {
10893 (::windows_core::Interface::vtable(self).PushCopyOfRetrievalFilter)(::windows_core::Interface::as_raw(self)).ok()
10894 }
10895 pub unsafe fn PushRetrievalFilter(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows_core::Result<()> {
10896 (::windows_core::Interface::vtable(self).PushRetrievalFilter)(::windows_core::Interface::as_raw(self), pfilter).ok()
10897 }
10898 pub unsafe fn PopRetrievalFilter(&self) {
10899 (::windows_core::Interface::vtable(self).PopRetrievalFilter)(::windows_core::Interface::as_raw(self))
10900 }
10901 pub unsafe fn GetRetrievalFilterStackSize(&self) -> u32 {
10902 (::windows_core::Interface::vtable(self).GetRetrievalFilterStackSize)(::windows_core::Interface::as_raw(self))
10903 }
10904 pub unsafe fn AddMessage<P0>(&self, category: D3D12_MESSAGE_CATEGORY, severity: D3D12_MESSAGE_SEVERITY, id: D3D12_MESSAGE_ID, pdescription: P0) -> ::windows_core::Result<()>
10905 where
10906 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
10907 {
10908 (::windows_core::Interface::vtable(self).AddMessage)(::windows_core::Interface::as_raw(self), category, severity, id, pdescription.into_param().abi()).ok()
10909 }
10910 pub unsafe fn AddApplicationMessage<P0>(&self, severity: D3D12_MESSAGE_SEVERITY, pdescription: P0) -> ::windows_core::Result<()>
10911 where
10912 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
10913 {
10914 (::windows_core::Interface::vtable(self).AddApplicationMessage)(::windows_core::Interface::as_raw(self), severity, pdescription.into_param().abi()).ok()
10915 }
10916 #[doc = "Required features: `\"Win32_Foundation\"`"]
10917 #[cfg(feature = "Win32_Foundation")]
10918 pub unsafe fn SetBreakOnCategory<P0>(&self, category: D3D12_MESSAGE_CATEGORY, benable: P0) -> ::windows_core::Result<()>
10919 where
10920 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
10921 {
10922 (::windows_core::Interface::vtable(self).SetBreakOnCategory)(::windows_core::Interface::as_raw(self), category, benable.into_param().abi()).ok()
10923 }
10924 #[doc = "Required features: `\"Win32_Foundation\"`"]
10925 #[cfg(feature = "Win32_Foundation")]
10926 pub unsafe fn SetBreakOnSeverity<P0>(&self, severity: D3D12_MESSAGE_SEVERITY, benable: P0) -> ::windows_core::Result<()>
10927 where
10928 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
10929 {
10930 (::windows_core::Interface::vtable(self).SetBreakOnSeverity)(::windows_core::Interface::as_raw(self), severity, benable.into_param().abi()).ok()
10931 }
10932 #[doc = "Required features: `\"Win32_Foundation\"`"]
10933 #[cfg(feature = "Win32_Foundation")]
10934 pub unsafe fn SetBreakOnID<P0>(&self, id: D3D12_MESSAGE_ID, benable: P0) -> ::windows_core::Result<()>
10935 where
10936 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
10937 {
10938 (::windows_core::Interface::vtable(self).SetBreakOnID)(::windows_core::Interface::as_raw(self), id, benable.into_param().abi()).ok()
10939 }
10940 #[doc = "Required features: `\"Win32_Foundation\"`"]
10941 #[cfg(feature = "Win32_Foundation")]
10942 pub unsafe fn GetBreakOnCategory(&self, category: D3D12_MESSAGE_CATEGORY) -> super::super::Foundation::BOOL {
10943 (::windows_core::Interface::vtable(self).GetBreakOnCategory)(::windows_core::Interface::as_raw(self), category)
10944 }
10945 #[doc = "Required features: `\"Win32_Foundation\"`"]
10946 #[cfg(feature = "Win32_Foundation")]
10947 pub unsafe fn GetBreakOnSeverity(&self, severity: D3D12_MESSAGE_SEVERITY) -> super::super::Foundation::BOOL {
10948 (::windows_core::Interface::vtable(self).GetBreakOnSeverity)(::windows_core::Interface::as_raw(self), severity)
10949 }
10950 #[doc = "Required features: `\"Win32_Foundation\"`"]
10951 #[cfg(feature = "Win32_Foundation")]
10952 pub unsafe fn GetBreakOnID(&self, id: D3D12_MESSAGE_ID) -> super::super::Foundation::BOOL {
10953 (::windows_core::Interface::vtable(self).GetBreakOnID)(::windows_core::Interface::as_raw(self), id)
10954 }
10955 #[doc = "Required features: `\"Win32_Foundation\"`"]
10956 #[cfg(feature = "Win32_Foundation")]
10957 pub unsafe fn SetMuteDebugOutput<P0>(&self, bmute: P0)
10958 where
10959 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
10960 {
10961 (::windows_core::Interface::vtable(self).SetMuteDebugOutput)(::windows_core::Interface::as_raw(self), bmute.into_param().abi())
10962 }
10963 #[doc = "Required features: `\"Win32_Foundation\"`"]
10964 #[cfg(feature = "Win32_Foundation")]
10965 pub unsafe fn GetMuteDebugOutput(&self) -> super::super::Foundation::BOOL {
10966 (::windows_core::Interface::vtable(self).GetMuteDebugOutput)(::windows_core::Interface::as_raw(self))
10967 }
10968}
10969::windows_core::imp::interface_hierarchy!(ID3D12InfoQueue, ::windows_core::IUnknown);
10970unsafe impl ::core::marker::Send for ID3D12InfoQueue {}
10971unsafe impl ::core::marker::Sync for ID3D12InfoQueue {}
10972unsafe impl ::windows_core::Interface for ID3D12InfoQueue {
10973 type Vtable = ID3D12InfoQueue_Vtbl;
10974}
10975unsafe impl ::windows_core::ComInterface for ID3D12InfoQueue {
10976 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0742a90b_c387_483f_b946_30a7e4e61458);
10977}
10978#[repr(C)]
10979#[doc(hidden)]
10980pub struct ID3D12InfoQueue_Vtbl {
10981 pub base__: ::windows_core::IUnknown_Vtbl,
10982 pub SetMessageCountLimit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, messagecountlimit: u64) -> ::windows_core::HRESULT,
10983 pub ClearStoredMessages: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
10984 pub GetMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, messageindex: u64, pmessage: *mut D3D12_MESSAGE, pmessagebytelength: *mut usize) -> ::windows_core::HRESULT,
10985 pub GetNumMessagesAllowedByStorageFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u64,
10986 pub GetNumMessagesDeniedByStorageFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u64,
10987 pub GetNumStoredMessages: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u64,
10988 pub GetNumStoredMessagesAllowedByRetrievalFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u64,
10989 pub GetNumMessagesDiscardedByMessageCountLimit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u64,
10990 pub GetMessageCountLimit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u64,
10991 pub AddStorageFilterEntries: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows_core::HRESULT,
10992 pub GetStorageFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfilter: *mut D3D12_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows_core::HRESULT,
10993 pub ClearStorageFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
10994 pub PushEmptyStorageFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
10995 pub PushCopyOfStorageFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
10996 pub PushStorageFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows_core::HRESULT,
10997 pub PopStorageFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
10998 pub GetStorageFilterStackSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
10999 pub AddRetrievalFilterEntries: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows_core::HRESULT,
11000 pub GetRetrievalFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfilter: *mut D3D12_INFO_QUEUE_FILTER, pfilterbytelength: *mut usize) -> ::windows_core::HRESULT,
11001 pub ClearRetrievalFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
11002 pub PushEmptyRetrievalFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
11003 pub PushCopyOfRetrievalFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
11004 pub PushRetrievalFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows_core::HRESULT,
11005 pub PopRetrievalFilter: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
11006 pub GetRetrievalFilterStackSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
11007 pub AddMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, category: D3D12_MESSAGE_CATEGORY, severity: D3D12_MESSAGE_SEVERITY, id: D3D12_MESSAGE_ID, pdescription: ::windows_core::PCSTR) -> ::windows_core::HRESULT,
11008 pub AddApplicationMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, severity: D3D12_MESSAGE_SEVERITY, pdescription: ::windows_core::PCSTR) -> ::windows_core::HRESULT,
11009 #[cfg(feature = "Win32_Foundation")]
11010 pub SetBreakOnCategory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, category: D3D12_MESSAGE_CATEGORY, benable: super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
11011 #[cfg(not(feature = "Win32_Foundation"))]
11012 SetBreakOnCategory: usize,
11013 #[cfg(feature = "Win32_Foundation")]
11014 pub SetBreakOnSeverity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, severity: D3D12_MESSAGE_SEVERITY, benable: super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
11015 #[cfg(not(feature = "Win32_Foundation"))]
11016 SetBreakOnSeverity: usize,
11017 #[cfg(feature = "Win32_Foundation")]
11018 pub SetBreakOnID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: D3D12_MESSAGE_ID, benable: super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
11019 #[cfg(not(feature = "Win32_Foundation"))]
11020 SetBreakOnID: usize,
11021 #[cfg(feature = "Win32_Foundation")]
11022 pub GetBreakOnCategory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, category: D3D12_MESSAGE_CATEGORY) -> super::super::Foundation::BOOL,
11023 #[cfg(not(feature = "Win32_Foundation"))]
11024 GetBreakOnCategory: usize,
11025 #[cfg(feature = "Win32_Foundation")]
11026 pub GetBreakOnSeverity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, severity: D3D12_MESSAGE_SEVERITY) -> super::super::Foundation::BOOL,
11027 #[cfg(not(feature = "Win32_Foundation"))]
11028 GetBreakOnSeverity: usize,
11029 #[cfg(feature = "Win32_Foundation")]
11030 pub GetBreakOnID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: D3D12_MESSAGE_ID) -> super::super::Foundation::BOOL,
11031 #[cfg(not(feature = "Win32_Foundation"))]
11032 GetBreakOnID: usize,
11033 #[cfg(feature = "Win32_Foundation")]
11034 pub SetMuteDebugOutput: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bmute: super::super::Foundation::BOOL),
11035 #[cfg(not(feature = "Win32_Foundation"))]
11036 SetMuteDebugOutput: usize,
11037 #[cfg(feature = "Win32_Foundation")]
11038 pub GetMuteDebugOutput: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL,
11039 #[cfg(not(feature = "Win32_Foundation"))]
11040 GetMuteDebugOutput: usize,
11041}
11042#[repr(transparent)]
11043#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11044pub struct ID3D12InfoQueue1(::windows_core::IUnknown);
11045impl ID3D12InfoQueue1 {
11046 pub unsafe fn SetMessageCountLimit(&self, messagecountlimit: u64) -> ::windows_core::Result<()> {
11047 (::windows_core::Interface::vtable(self).base__.SetMessageCountLimit)(::windows_core::Interface::as_raw(self), messagecountlimit).ok()
11048 }
11049 pub unsafe fn ClearStoredMessages(&self) {
11050 (::windows_core::Interface::vtable(self).base__.ClearStoredMessages)(::windows_core::Interface::as_raw(self))
11051 }
11052 pub unsafe fn GetMessage(&self, messageindex: u64, pmessage: ::core::option::Option<*mut D3D12_MESSAGE>, pmessagebytelength: *mut usize) -> ::windows_core::Result<()> {
11053 (::windows_core::Interface::vtable(self).base__.GetMessage)(::windows_core::Interface::as_raw(self), messageindex, ::core::mem::transmute(pmessage.unwrap_or(::std::ptr::null_mut())), pmessagebytelength).ok()
11054 }
11055 pub unsafe fn GetNumMessagesAllowedByStorageFilter(&self) -> u64 {
11056 (::windows_core::Interface::vtable(self).base__.GetNumMessagesAllowedByStorageFilter)(::windows_core::Interface::as_raw(self))
11057 }
11058 pub unsafe fn GetNumMessagesDeniedByStorageFilter(&self) -> u64 {
11059 (::windows_core::Interface::vtable(self).base__.GetNumMessagesDeniedByStorageFilter)(::windows_core::Interface::as_raw(self))
11060 }
11061 pub unsafe fn GetNumStoredMessages(&self) -> u64 {
11062 (::windows_core::Interface::vtable(self).base__.GetNumStoredMessages)(::windows_core::Interface::as_raw(self))
11063 }
11064 pub unsafe fn GetNumStoredMessagesAllowedByRetrievalFilter(&self) -> u64 {
11065 (::windows_core::Interface::vtable(self).base__.GetNumStoredMessagesAllowedByRetrievalFilter)(::windows_core::Interface::as_raw(self))
11066 }
11067 pub unsafe fn GetNumMessagesDiscardedByMessageCountLimit(&self) -> u64 {
11068 (::windows_core::Interface::vtable(self).base__.GetNumMessagesDiscardedByMessageCountLimit)(::windows_core::Interface::as_raw(self))
11069 }
11070 pub unsafe fn GetMessageCountLimit(&self) -> u64 {
11071 (::windows_core::Interface::vtable(self).base__.GetMessageCountLimit)(::windows_core::Interface::as_raw(self))
11072 }
11073 pub unsafe fn AddStorageFilterEntries(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows_core::Result<()> {
11074 (::windows_core::Interface::vtable(self).base__.AddStorageFilterEntries)(::windows_core::Interface::as_raw(self), pfilter).ok()
11075 }
11076 pub unsafe fn GetStorageFilter(&self, pfilter: ::core::option::Option<*mut D3D12_INFO_QUEUE_FILTER>, pfilterbytelength: *mut usize) -> ::windows_core::Result<()> {
11077 (::windows_core::Interface::vtable(self).base__.GetStorageFilter)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pfilter.unwrap_or(::std::ptr::null_mut())), pfilterbytelength).ok()
11078 }
11079 pub unsafe fn ClearStorageFilter(&self) {
11080 (::windows_core::Interface::vtable(self).base__.ClearStorageFilter)(::windows_core::Interface::as_raw(self))
11081 }
11082 pub unsafe fn PushEmptyStorageFilter(&self) -> ::windows_core::Result<()> {
11083 (::windows_core::Interface::vtable(self).base__.PushEmptyStorageFilter)(::windows_core::Interface::as_raw(self)).ok()
11084 }
11085 pub unsafe fn PushCopyOfStorageFilter(&self) -> ::windows_core::Result<()> {
11086 (::windows_core::Interface::vtable(self).base__.PushCopyOfStorageFilter)(::windows_core::Interface::as_raw(self)).ok()
11087 }
11088 pub unsafe fn PushStorageFilter(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows_core::Result<()> {
11089 (::windows_core::Interface::vtable(self).base__.PushStorageFilter)(::windows_core::Interface::as_raw(self), pfilter).ok()
11090 }
11091 pub unsafe fn PopStorageFilter(&self) {
11092 (::windows_core::Interface::vtable(self).base__.PopStorageFilter)(::windows_core::Interface::as_raw(self))
11093 }
11094 pub unsafe fn GetStorageFilterStackSize(&self) -> u32 {
11095 (::windows_core::Interface::vtable(self).base__.GetStorageFilterStackSize)(::windows_core::Interface::as_raw(self))
11096 }
11097 pub unsafe fn AddRetrievalFilterEntries(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows_core::Result<()> {
11098 (::windows_core::Interface::vtable(self).base__.AddRetrievalFilterEntries)(::windows_core::Interface::as_raw(self), pfilter).ok()
11099 }
11100 pub unsafe fn GetRetrievalFilter(&self, pfilter: ::core::option::Option<*mut D3D12_INFO_QUEUE_FILTER>, pfilterbytelength: *mut usize) -> ::windows_core::Result<()> {
11101 (::windows_core::Interface::vtable(self).base__.GetRetrievalFilter)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pfilter.unwrap_or(::std::ptr::null_mut())), pfilterbytelength).ok()
11102 }
11103 pub unsafe fn ClearRetrievalFilter(&self) {
11104 (::windows_core::Interface::vtable(self).base__.ClearRetrievalFilter)(::windows_core::Interface::as_raw(self))
11105 }
11106 pub unsafe fn PushEmptyRetrievalFilter(&self) -> ::windows_core::Result<()> {
11107 (::windows_core::Interface::vtable(self).base__.PushEmptyRetrievalFilter)(::windows_core::Interface::as_raw(self)).ok()
11108 }
11109 pub unsafe fn PushCopyOfRetrievalFilter(&self) -> ::windows_core::Result<()> {
11110 (::windows_core::Interface::vtable(self).base__.PushCopyOfRetrievalFilter)(::windows_core::Interface::as_raw(self)).ok()
11111 }
11112 pub unsafe fn PushRetrievalFilter(&self, pfilter: *const D3D12_INFO_QUEUE_FILTER) -> ::windows_core::Result<()> {
11113 (::windows_core::Interface::vtable(self).base__.PushRetrievalFilter)(::windows_core::Interface::as_raw(self), pfilter).ok()
11114 }
11115 pub unsafe fn PopRetrievalFilter(&self) {
11116 (::windows_core::Interface::vtable(self).base__.PopRetrievalFilter)(::windows_core::Interface::as_raw(self))
11117 }
11118 pub unsafe fn GetRetrievalFilterStackSize(&self) -> u32 {
11119 (::windows_core::Interface::vtable(self).base__.GetRetrievalFilterStackSize)(::windows_core::Interface::as_raw(self))
11120 }
11121 pub unsafe fn AddMessage<P0>(&self, category: D3D12_MESSAGE_CATEGORY, severity: D3D12_MESSAGE_SEVERITY, id: D3D12_MESSAGE_ID, pdescription: P0) -> ::windows_core::Result<()>
11122 where
11123 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
11124 {
11125 (::windows_core::Interface::vtable(self).base__.AddMessage)(::windows_core::Interface::as_raw(self), category, severity, id, pdescription.into_param().abi()).ok()
11126 }
11127 pub unsafe fn AddApplicationMessage<P0>(&self, severity: D3D12_MESSAGE_SEVERITY, pdescription: P0) -> ::windows_core::Result<()>
11128 where
11129 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
11130 {
11131 (::windows_core::Interface::vtable(self).base__.AddApplicationMessage)(::windows_core::Interface::as_raw(self), severity, pdescription.into_param().abi()).ok()
11132 }
11133 #[doc = "Required features: `\"Win32_Foundation\"`"]
11134 #[cfg(feature = "Win32_Foundation")]
11135 pub unsafe fn SetBreakOnCategory<P0>(&self, category: D3D12_MESSAGE_CATEGORY, benable: P0) -> ::windows_core::Result<()>
11136 where
11137 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
11138 {
11139 (::windows_core::Interface::vtable(self).base__.SetBreakOnCategory)(::windows_core::Interface::as_raw(self), category, benable.into_param().abi()).ok()
11140 }
11141 #[doc = "Required features: `\"Win32_Foundation\"`"]
11142 #[cfg(feature = "Win32_Foundation")]
11143 pub unsafe fn SetBreakOnSeverity<P0>(&self, severity: D3D12_MESSAGE_SEVERITY, benable: P0) -> ::windows_core::Result<()>
11144 where
11145 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
11146 {
11147 (::windows_core::Interface::vtable(self).base__.SetBreakOnSeverity)(::windows_core::Interface::as_raw(self), severity, benable.into_param().abi()).ok()
11148 }
11149 #[doc = "Required features: `\"Win32_Foundation\"`"]
11150 #[cfg(feature = "Win32_Foundation")]
11151 pub unsafe fn SetBreakOnID<P0>(&self, id: D3D12_MESSAGE_ID, benable: P0) -> ::windows_core::Result<()>
11152 where
11153 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
11154 {
11155 (::windows_core::Interface::vtable(self).base__.SetBreakOnID)(::windows_core::Interface::as_raw(self), id, benable.into_param().abi()).ok()
11156 }
11157 #[doc = "Required features: `\"Win32_Foundation\"`"]
11158 #[cfg(feature = "Win32_Foundation")]
11159 pub unsafe fn GetBreakOnCategory(&self, category: D3D12_MESSAGE_CATEGORY) -> super::super::Foundation::BOOL {
11160 (::windows_core::Interface::vtable(self).base__.GetBreakOnCategory)(::windows_core::Interface::as_raw(self), category)
11161 }
11162 #[doc = "Required features: `\"Win32_Foundation\"`"]
11163 #[cfg(feature = "Win32_Foundation")]
11164 pub unsafe fn GetBreakOnSeverity(&self, severity: D3D12_MESSAGE_SEVERITY) -> super::super::Foundation::BOOL {
11165 (::windows_core::Interface::vtable(self).base__.GetBreakOnSeverity)(::windows_core::Interface::as_raw(self), severity)
11166 }
11167 #[doc = "Required features: `\"Win32_Foundation\"`"]
11168 #[cfg(feature = "Win32_Foundation")]
11169 pub unsafe fn GetBreakOnID(&self, id: D3D12_MESSAGE_ID) -> super::super::Foundation::BOOL {
11170 (::windows_core::Interface::vtable(self).base__.GetBreakOnID)(::windows_core::Interface::as_raw(self), id)
11171 }
11172 #[doc = "Required features: `\"Win32_Foundation\"`"]
11173 #[cfg(feature = "Win32_Foundation")]
11174 pub unsafe fn SetMuteDebugOutput<P0>(&self, bmute: P0)
11175 where
11176 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
11177 {
11178 (::windows_core::Interface::vtable(self).base__.SetMuteDebugOutput)(::windows_core::Interface::as_raw(self), bmute.into_param().abi())
11179 }
11180 #[doc = "Required features: `\"Win32_Foundation\"`"]
11181 #[cfg(feature = "Win32_Foundation")]
11182 pub unsafe fn GetMuteDebugOutput(&self) -> super::super::Foundation::BOOL {
11183 (::windows_core::Interface::vtable(self).base__.GetMuteDebugOutput)(::windows_core::Interface::as_raw(self))
11184 }
11185 pub unsafe fn RegisterMessageCallback(&self, callbackfunc: D3D12MessageFunc, callbackfilterflags: D3D12_MESSAGE_CALLBACK_FLAGS, pcontext: *const ::core::ffi::c_void, pcallbackcookie: *mut u32) -> ::windows_core::Result<()> {
11186 (::windows_core::Interface::vtable(self).RegisterMessageCallback)(::windows_core::Interface::as_raw(self), callbackfunc, callbackfilterflags, pcontext, pcallbackcookie).ok()
11187 }
11188 pub unsafe fn UnregisterMessageCallback(&self, callbackcookie: u32) -> ::windows_core::Result<()> {
11189 (::windows_core::Interface::vtable(self).UnregisterMessageCallback)(::windows_core::Interface::as_raw(self), callbackcookie).ok()
11190 }
11191}
11192::windows_core::imp::interface_hierarchy!(ID3D12InfoQueue1, ::windows_core::IUnknown, ID3D12InfoQueue);
11193unsafe impl ::core::marker::Send for ID3D12InfoQueue1 {}
11194unsafe impl ::core::marker::Sync for ID3D12InfoQueue1 {}
11195unsafe impl ::windows_core::Interface for ID3D12InfoQueue1 {
11196 type Vtable = ID3D12InfoQueue1_Vtbl;
11197}
11198unsafe impl ::windows_core::ComInterface for ID3D12InfoQueue1 {
11199 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x2852dd88_b484_4c0c_b6b1_67168500e600);
11200}
11201#[repr(C)]
11202#[doc(hidden)]
11203pub struct ID3D12InfoQueue1_Vtbl {
11204 pub base__: ID3D12InfoQueue_Vtbl,
11205 pub RegisterMessageCallback: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, callbackfunc: D3D12MessageFunc, callbackfilterflags: D3D12_MESSAGE_CALLBACK_FLAGS, pcontext: *const ::core::ffi::c_void, pcallbackcookie: *mut u32) -> ::windows_core::HRESULT,
11206 pub UnregisterMessageCallback: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, callbackcookie: u32) -> ::windows_core::HRESULT,
11207}
11208#[repr(transparent)]
11209#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11210pub struct ID3D12LibraryReflection(::windows_core::IUnknown);
11211impl ID3D12LibraryReflection {
11212 pub unsafe fn GetDesc(&self) -> ::windows_core::Result<D3D12_LIBRARY_DESC> {
11213 let mut result__: D3D12_LIBRARY_DESC = ::std::mem::zeroed();
11214 (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
11215 }
11216 pub unsafe fn GetFunctionByIndex(&self, functionindex: i32) -> ::core::option::Option<ID3D12FunctionReflection> {
11217 (::windows_core::Interface::vtable(self).GetFunctionByIndex)(::windows_core::Interface::as_raw(self), functionindex)
11218 }
11219}
11220::windows_core::imp::interface_hierarchy!(ID3D12LibraryReflection, ::windows_core::IUnknown);
11221unsafe impl ::core::marker::Send for ID3D12LibraryReflection {}
11222unsafe impl ::core::marker::Sync for ID3D12LibraryReflection {}
11223unsafe impl ::windows_core::Interface for ID3D12LibraryReflection {
11224 type Vtable = ID3D12LibraryReflection_Vtbl;
11225}
11226unsafe impl ::windows_core::ComInterface for ID3D12LibraryReflection {
11227 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x8e349d19_54db_4a56_9dc9_119d87bdb804);
11228}
11229#[repr(C)]
11230#[doc(hidden)]
11231pub struct ID3D12LibraryReflection_Vtbl {
11232 pub base__: ::windows_core::IUnknown_Vtbl,
11233 pub GetDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *mut D3D12_LIBRARY_DESC) -> ::windows_core::HRESULT,
11234 pub GetFunctionByIndex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, functionindex: i32) -> ::core::option::Option<ID3D12FunctionReflection>,
11235}
11236#[repr(transparent)]
11237#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11238pub struct ID3D12LifetimeOwner(::windows_core::IUnknown);
11239impl ID3D12LifetimeOwner {
11240 pub unsafe fn LifetimeStateUpdated(&self, newstate: D3D12_LIFETIME_STATE) {
11241 (::windows_core::Interface::vtable(self).LifetimeStateUpdated)(::windows_core::Interface::as_raw(self), newstate)
11242 }
11243}
11244::windows_core::imp::interface_hierarchy!(ID3D12LifetimeOwner, ::windows_core::IUnknown);
11245unsafe impl ::core::marker::Send for ID3D12LifetimeOwner {}
11246unsafe impl ::core::marker::Sync for ID3D12LifetimeOwner {}
11247unsafe impl ::windows_core::Interface for ID3D12LifetimeOwner {
11248 type Vtable = ID3D12LifetimeOwner_Vtbl;
11249}
11250unsafe impl ::windows_core::ComInterface for ID3D12LifetimeOwner {
11251 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xe667af9f_cd56_4f46_83ce_032e595d70a8);
11252}
11253#[repr(C)]
11254#[doc(hidden)]
11255pub struct ID3D12LifetimeOwner_Vtbl {
11256 pub base__: ::windows_core::IUnknown_Vtbl,
11257 pub LifetimeStateUpdated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newstate: D3D12_LIFETIME_STATE),
11258}
11259#[repr(transparent)]
11260#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11261pub struct ID3D12LifetimeTracker(::windows_core::IUnknown);
11262impl ID3D12LifetimeTracker {
11263 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11264 (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
11265 }
11266 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11267 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
11268 }
11269 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
11270 where
11271 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
11272 {
11273 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
11274 }
11275 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
11276 where
11277 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11278 {
11279 (::windows_core::Interface::vtable(self).base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
11280 }
11281 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
11282 where
11283 T: ::windows_core::ComInterface,
11284 {
11285 (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
11286 }
11287 pub unsafe fn DestroyOwnedObject<P0>(&self, pobject: P0) -> ::windows_core::Result<()>
11288 where
11289 P0: ::windows_core::IntoParam<ID3D12DeviceChild>,
11290 {
11291 (::windows_core::Interface::vtable(self).DestroyOwnedObject)(::windows_core::Interface::as_raw(self), pobject.into_param().abi()).ok()
11292 }
11293}
11294::windows_core::imp::interface_hierarchy!(ID3D12LifetimeTracker, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild);
11295unsafe impl ::core::marker::Send for ID3D12LifetimeTracker {}
11296unsafe impl ::core::marker::Sync for ID3D12LifetimeTracker {}
11297unsafe impl ::windows_core::Interface for ID3D12LifetimeTracker {
11298 type Vtable = ID3D12LifetimeTracker_Vtbl;
11299}
11300unsafe impl ::windows_core::ComInterface for ID3D12LifetimeTracker {
11301 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x3fd03d36_4eb1_424a_a582_494ecb8ba813);
11302}
11303#[repr(C)]
11304#[doc(hidden)]
11305pub struct ID3D12LifetimeTracker_Vtbl {
11306 pub base__: ID3D12DeviceChild_Vtbl,
11307 pub DestroyOwnedObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pobject: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
11308}
11309#[repr(transparent)]
11310#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11311pub struct ID3D12ManualWriteTrackingResource(::windows_core::IUnknown);
11312impl ID3D12ManualWriteTrackingResource {
11313 pub unsafe fn TrackWrite(&self, subresource: u32, pwrittenrange: ::core::option::Option<*const D3D12_RANGE>) {
11314 (::windows_core::Interface::vtable(self).TrackWrite)(::windows_core::Interface::as_raw(self), subresource, ::core::mem::transmute(src:pwrittenrange.unwrap_or(::std::ptr::null())))
11315 }
11316}
11317::windows_core::imp::interface_hierarchy!(ID3D12ManualWriteTrackingResource, ::windows_core::IUnknown);
11318unsafe impl ::core::marker::Send for ID3D12ManualWriteTrackingResource {}
11319unsafe impl ::core::marker::Sync for ID3D12ManualWriteTrackingResource {}
11320unsafe impl ::windows_core::Interface for ID3D12ManualWriteTrackingResource {
11321 type Vtable = ID3D12ManualWriteTrackingResource_Vtbl;
11322}
11323unsafe impl ::windows_core::ComInterface for ID3D12ManualWriteTrackingResource {
11324 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x86ca3b85_49ad_4b6e_aed5_eddb18540f41);
11325}
11326#[repr(C)]
11327#[doc(hidden)]
11328pub struct ID3D12ManualWriteTrackingResource_Vtbl {
11329 pub base__: ::windows_core::IUnknown_Vtbl,
11330 pub TrackWrite: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, subresource: u32, pwrittenrange: *const D3D12_RANGE),
11331}
11332#[repr(transparent)]
11333#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11334pub struct ID3D12MetaCommand(::windows_core::IUnknown);
11335impl ID3D12MetaCommand {
11336 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11337 (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
11338 }
11339 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11340 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
11341 }
11342 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
11343 where
11344 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
11345 {
11346 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
11347 }
11348 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
11349 where
11350 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11351 {
11352 (::windows_core::Interface::vtable(self).base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
11353 }
11354 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
11355 where
11356 T: ::windows_core::ComInterface,
11357 {
11358 (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
11359 }
11360 pub unsafe fn GetRequiredParameterResourceSize(&self, stage: D3D12_META_COMMAND_PARAMETER_STAGE, parameterindex: u32) -> u64 {
11361 (::windows_core::Interface::vtable(self).GetRequiredParameterResourceSize)(::windows_core::Interface::as_raw(self), stage, parameterindex)
11362 }
11363}
11364::windows_core::imp::interface_hierarchy!(ID3D12MetaCommand, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12Pageable);
11365unsafe impl ::core::marker::Send for ID3D12MetaCommand {}
11366unsafe impl ::core::marker::Sync for ID3D12MetaCommand {}
11367unsafe impl ::windows_core::Interface for ID3D12MetaCommand {
11368 type Vtable = ID3D12MetaCommand_Vtbl;
11369}
11370unsafe impl ::windows_core::ComInterface for ID3D12MetaCommand {
11371 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xdbb84c27_36ce_4fc9_b801_f048c46ac570);
11372}
11373#[repr(C)]
11374#[doc(hidden)]
11375pub struct ID3D12MetaCommand_Vtbl {
11376 pub base__: ID3D12Pageable_Vtbl,
11377 pub GetRequiredParameterResourceSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, stage: D3D12_META_COMMAND_PARAMETER_STAGE, parameterindex: u32) -> u64,
11378}
11379#[repr(transparent)]
11380#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11381pub struct ID3D12Object(::windows_core::IUnknown);
11382impl ID3D12Object {
11383 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11384 (::windows_core::Interface::vtable(self).GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(src:pdata.unwrap_or(::std::ptr::null_mut()))).ok()
11385 }
11386 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11387 (::windows_core::Interface::vtable(self).SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(src:pdata.unwrap_or(::std::ptr::null()))).ok()
11388 }
11389 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
11390 where
11391 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
11392 {
11393 (::windows_core::Interface::vtable(self).SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
11394 }
11395 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
11396 where
11397 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11398 {
11399 (::windows_core::Interface::vtable(self).SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
11400 }
11401}
11402::windows_core::imp::interface_hierarchy!(ID3D12Object, ::windows_core::IUnknown);
11403unsafe impl ::core::marker::Send for ID3D12Object {}
11404unsafe impl ::core::marker::Sync for ID3D12Object {}
11405unsafe impl ::windows_core::Interface for ID3D12Object {
11406 type Vtable = ID3D12Object_Vtbl;
11407}
11408unsafe impl ::windows_core::ComInterface for ID3D12Object {
11409 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xc4fec28f_7966_4e95_9f94_f431cb56c3b8);
11410}
11411#[repr(C)]
11412#[doc(hidden)]
11413pub struct ID3D12Object_Vtbl {
11414 pub base__: ::windows_core::IUnknown_Vtbl,
11415 pub GetPrivateData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
11416 pub SetPrivateData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guid: *const ::windows_core::GUID, datasize: u32, pdata: *const ::core::ffi::c_void) -> ::windows_core::HRESULT,
11417 pub SetPrivateDataInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guid: *const ::windows_core::GUID, pdata: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
11418 pub SetName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
11419}
11420#[repr(transparent)]
11421#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11422pub struct ID3D12Pageable(::windows_core::IUnknown);
11423impl ID3D12Pageable {
11424 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11425 (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
11426 }
11427 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11428 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
11429 }
11430 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
11431 where
11432 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
11433 {
11434 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
11435 }
11436 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
11437 where
11438 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11439 {
11440 (::windows_core::Interface::vtable(self).base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
11441 }
11442 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
11443 where
11444 T: ::windows_core::ComInterface,
11445 {
11446 (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
11447 }
11448}
11449::windows_core::imp::interface_hierarchy!(ID3D12Pageable, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild);
11450unsafe impl ::core::marker::Send for ID3D12Pageable {}
11451unsafe impl ::core::marker::Sync for ID3D12Pageable {}
11452unsafe impl ::windows_core::Interface for ID3D12Pageable {
11453 type Vtable = ID3D12Pageable_Vtbl;
11454}
11455unsafe impl ::windows_core::ComInterface for ID3D12Pageable {
11456 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x63ee58fb_1268_4835_86da_f008ce62f0d6);
11457}
11458#[repr(C)]
11459#[doc(hidden)]
11460pub struct ID3D12Pageable_Vtbl {
11461 pub base__: ID3D12DeviceChild_Vtbl,
11462}
11463#[repr(transparent)]
11464#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11465pub struct ID3D12PipelineLibrary(::windows_core::IUnknown);
11466impl ID3D12PipelineLibrary {
11467 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11468 (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
11469 }
11470 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11471 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
11472 }
11473 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
11474 where
11475 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
11476 {
11477 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
11478 }
11479 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
11480 where
11481 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11482 {
11483 (::windows_core::Interface::vtable(self).base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
11484 }
11485 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
11486 where
11487 T: ::windows_core::ComInterface,
11488 {
11489 (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
11490 }
11491 pub unsafe fn StorePipeline<P0, P1>(&self, pname: P0, ppipeline: P1) -> ::windows_core::Result<()>
11492 where
11493 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11494 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
11495 {
11496 (::windows_core::Interface::vtable(self).StorePipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), ppipeline.into_param().abi()).ok()
11497 }
11498 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
11499 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
11500 pub unsafe fn LoadGraphicsPipeline<P0, T>(&self, pname: P0, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
11501 where
11502 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11503 T: ::windows_core::ComInterface,
11504 {
11505 let mut result__ = ::std::ptr::null_mut();
11506 (::windows_core::Interface::vtable(self).LoadGraphicsPipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
11507 }
11508 pub unsafe fn LoadComputePipeline<P0, T>(&self, pname: P0, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
11509 where
11510 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11511 T: ::windows_core::ComInterface,
11512 {
11513 let mut result__ = ::std::ptr::null_mut();
11514 (::windows_core::Interface::vtable(self).LoadComputePipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
11515 }
11516 pub unsafe fn GetSerializedSize(&self) -> usize {
11517 (::windows_core::Interface::vtable(self).GetSerializedSize)(::windows_core::Interface::as_raw(self))
11518 }
11519 pub unsafe fn Serialize(&self, pdata: &mut [u8]) -> ::windows_core::Result<()> {
11520 (::windows_core::Interface::vtable(self).Serialize)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdata.as_ptr()), pdata.len().try_into().unwrap()).ok()
11521 }
11522}
11523::windows_core::imp::interface_hierarchy!(ID3D12PipelineLibrary, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild);
11524unsafe impl ::core::marker::Send for ID3D12PipelineLibrary {}
11525unsafe impl ::core::marker::Sync for ID3D12PipelineLibrary {}
11526unsafe impl ::windows_core::Interface for ID3D12PipelineLibrary {
11527 type Vtable = ID3D12PipelineLibrary_Vtbl;
11528}
11529unsafe impl ::windows_core::ComInterface for ID3D12PipelineLibrary {
11530 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xc64226a8_9201_46af_b4cc_53fb9ff7414f);
11531}
11532#[repr(C)]
11533#[doc(hidden)]
11534pub struct ID3D12PipelineLibrary_Vtbl {
11535 pub base__: ID3D12DeviceChild_Vtbl,
11536 pub StorePipeline: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pname: ::windows_core::PCWSTR, ppipeline: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
11537 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
11538 pub LoadGraphicsPipeline: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pname: ::windows_core::PCWSTR, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC, riid: *const ::windows_core::GUID, pppipelinestate: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
11539 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common")))]
11540 LoadGraphicsPipeline: usize,
11541 pub LoadComputePipeline: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pname: ::windows_core::PCWSTR, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC, riid: *const ::windows_core::GUID, pppipelinestate: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
11542 pub GetSerializedSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> usize,
11543 pub Serialize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdata: *mut ::core::ffi::c_void, datasizeinbytes: usize) -> ::windows_core::HRESULT,
11544}
11545#[repr(transparent)]
11546#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11547pub struct ID3D12PipelineLibrary1(::windows_core::IUnknown);
11548impl ID3D12PipelineLibrary1 {
11549 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11550 (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
11551 }
11552 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11553 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
11554 }
11555 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
11556 where
11557 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
11558 {
11559 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
11560 }
11561 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
11562 where
11563 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11564 {
11565 (::windows_core::Interface::vtable(self).base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
11566 }
11567 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
11568 where
11569 T: ::windows_core::ComInterface,
11570 {
11571 (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
11572 }
11573 pub unsafe fn StorePipeline<P0, P1>(&self, pname: P0, ppipeline: P1) -> ::windows_core::Result<()>
11574 where
11575 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11576 P1: ::windows_core::IntoParam<ID3D12PipelineState>,
11577 {
11578 (::windows_core::Interface::vtable(self).base__.StorePipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), ppipeline.into_param().abi()).ok()
11579 }
11580 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
11581 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
11582 pub unsafe fn LoadGraphicsPipeline<P0, T>(&self, pname: P0, pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
11583 where
11584 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11585 T: ::windows_core::ComInterface,
11586 {
11587 let mut result__ = ::std::ptr::null_mut();
11588 (::windows_core::Interface::vtable(self).base__.LoadGraphicsPipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
11589 }
11590 pub unsafe fn LoadComputePipeline<P0, T>(&self, pname: P0, pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC) -> ::windows_core::Result<T>
11591 where
11592 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11593 T: ::windows_core::ComInterface,
11594 {
11595 let mut result__ = ::std::ptr::null_mut();
11596 (::windows_core::Interface::vtable(self).base__.LoadComputePipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
11597 }
11598 pub unsafe fn GetSerializedSize(&self) -> usize {
11599 (::windows_core::Interface::vtable(self).base__.GetSerializedSize)(::windows_core::Interface::as_raw(self))
11600 }
11601 pub unsafe fn Serialize(&self, pdata: &mut [u8]) -> ::windows_core::Result<()> {
11602 (::windows_core::Interface::vtable(self).base__.Serialize)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pdata.as_ptr()), pdata.len().try_into().unwrap()).ok()
11603 }
11604 pub unsafe fn LoadPipeline<P0, T>(&self, pname: P0, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC) -> ::windows_core::Result<T>
11605 where
11606 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11607 T: ::windows_core::ComInterface,
11608 {
11609 let mut result__ = ::std::ptr::null_mut();
11610 (::windows_core::Interface::vtable(self).LoadPipeline)(::windows_core::Interface::as_raw(self), pname.into_param().abi(), pdesc, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
11611 }
11612}
11613::windows_core::imp::interface_hierarchy!(ID3D12PipelineLibrary1, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12PipelineLibrary);
11614unsafe impl ::core::marker::Send for ID3D12PipelineLibrary1 {}
11615unsafe impl ::core::marker::Sync for ID3D12PipelineLibrary1 {}
11616unsafe impl ::windows_core::Interface for ID3D12PipelineLibrary1 {
11617 type Vtable = ID3D12PipelineLibrary1_Vtbl;
11618}
11619unsafe impl ::windows_core::ComInterface for ID3D12PipelineLibrary1 {
11620 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x80eabf42_2568_4e5e_bd82_c37f86961dc3);
11621}
11622#[repr(C)]
11623#[doc(hidden)]
11624pub struct ID3D12PipelineLibrary1_Vtbl {
11625 pub base__: ID3D12PipelineLibrary_Vtbl,
11626 pub LoadPipeline: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pname: ::windows_core::PCWSTR, pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC, riid: *const ::windows_core::GUID, pppipelinestate: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
11627}
11628#[repr(transparent)]
11629#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11630pub struct ID3D12PipelineState(::windows_core::IUnknown);
11631impl ID3D12PipelineState {
11632 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11633 (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
11634 }
11635 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11636 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
11637 }
11638 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
11639 where
11640 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
11641 {
11642 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
11643 }
11644 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
11645 where
11646 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11647 {
11648 (::windows_core::Interface::vtable(self).base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
11649 }
11650 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
11651 where
11652 T: ::windows_core::ComInterface,
11653 {
11654 (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
11655 }
11656 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
11657 #[cfg(feature = "Win32_Graphics_Direct3D")]
11658 pub unsafe fn GetCachedBlob(&self) -> ::windows_core::Result<super::Direct3D::ID3DBlob> {
11659 let mut result__ = ::std::mem::zeroed();
11660 (::windows_core::Interface::vtable(self).GetCachedBlob)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
11661 }
11662}
11663::windows_core::imp::interface_hierarchy!(ID3D12PipelineState, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12Pageable);
11664unsafe impl ::core::marker::Send for ID3D12PipelineState {}
11665unsafe impl ::core::marker::Sync for ID3D12PipelineState {}
11666unsafe impl ::windows_core::Interface for ID3D12PipelineState {
11667 type Vtable = ID3D12PipelineState_Vtbl;
11668}
11669unsafe impl ::windows_core::ComInterface for ID3D12PipelineState {
11670 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x765a30f3_f624_4c6f_a828_ace948622445);
11671}
11672#[repr(C)]
11673#[doc(hidden)]
11674pub struct ID3D12PipelineState_Vtbl {
11675 pub base__: ID3D12Pageable_Vtbl,
11676 #[cfg(feature = "Win32_Graphics_Direct3D")]
11677 pub GetCachedBlob: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppblob: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
11678 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
11679 GetCachedBlob: usize,
11680}
11681#[repr(transparent)]
11682#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11683pub struct ID3D12ProtectedResourceSession(::windows_core::IUnknown);
11684impl ID3D12ProtectedResourceSession {
11685 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11686 (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
11687 }
11688 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11689 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
11690 }
11691 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
11692 where
11693 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
11694 {
11695 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
11696 }
11697 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
11698 where
11699 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11700 {
11701 (::windows_core::Interface::vtable(self).base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
11702 }
11703 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
11704 where
11705 T: ::windows_core::ComInterface,
11706 {
11707 (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
11708 }
11709 pub unsafe fn GetStatusFence<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
11710 where
11711 T: ::windows_core::ComInterface,
11712 {
11713 (::windows_core::Interface::vtable(self).base__.GetStatusFence)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
11714 }
11715 pub unsafe fn GetSessionStatus(&self) -> D3D12_PROTECTED_SESSION_STATUS {
11716 (::windows_core::Interface::vtable(self).base__.GetSessionStatus)(::windows_core::Interface::as_raw(self))
11717 }
11718 pub unsafe fn GetDesc(&self) -> D3D12_PROTECTED_RESOURCE_SESSION_DESC {
11719 let mut result__: D3D12_PROTECTED_RESOURCE_SESSION_DESC = ::core::mem::zeroed();
11720 (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__);
11721 result__
11722 }
11723}
11724::windows_core::imp::interface_hierarchy!(ID3D12ProtectedResourceSession, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12ProtectedSession);
11725unsafe impl ::core::marker::Send for ID3D12ProtectedResourceSession {}
11726unsafe impl ::core::marker::Sync for ID3D12ProtectedResourceSession {}
11727unsafe impl ::windows_core::Interface for ID3D12ProtectedResourceSession {
11728 type Vtable = ID3D12ProtectedResourceSession_Vtbl;
11729}
11730unsafe impl ::windows_core::ComInterface for ID3D12ProtectedResourceSession {
11731 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x6cd696f4_f289_40cc_8091_5a6c0a099c3d);
11732}
11733#[repr(C)]
11734#[doc(hidden)]
11735pub struct ID3D12ProtectedResourceSession_Vtbl {
11736 pub base__: ID3D12ProtectedSession_Vtbl,
11737 pub GetDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_PROTECTED_RESOURCE_SESSION_DESC),
11738}
11739#[repr(transparent)]
11740#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11741pub struct ID3D12ProtectedResourceSession1(::windows_core::IUnknown);
11742impl ID3D12ProtectedResourceSession1 {
11743 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11744 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
11745 }
11746 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11747 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
11748 }
11749 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
11750 where
11751 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
11752 {
11753 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
11754 }
11755 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
11756 where
11757 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11758 {
11759 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
11760 }
11761 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
11762 where
11763 T: ::windows_core::ComInterface,
11764 {
11765 (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
11766 }
11767 pub unsafe fn GetStatusFence<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
11768 where
11769 T: ::windows_core::ComInterface,
11770 {
11771 (::windows_core::Interface::vtable(self).base__.base__.GetStatusFence)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
11772 }
11773 pub unsafe fn GetSessionStatus(&self) -> D3D12_PROTECTED_SESSION_STATUS {
11774 (::windows_core::Interface::vtable(self).base__.base__.GetSessionStatus)(::windows_core::Interface::as_raw(self))
11775 }
11776 pub unsafe fn GetDesc(&self) -> D3D12_PROTECTED_RESOURCE_SESSION_DESC {
11777 let mut result__: D3D12_PROTECTED_RESOURCE_SESSION_DESC = ::core::mem::zeroed();
11778 (::windows_core::Interface::vtable(self).base__.GetDesc)(::windows_core::Interface::as_raw(self), &mut result__);
11779 result__
11780 }
11781 pub unsafe fn GetDesc1(&self) -> D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {
11782 let mut result__: D3D12_PROTECTED_RESOURCE_SESSION_DESC1 = ::core::mem::zeroed();
11783 (::windows_core::Interface::vtable(self).GetDesc1)(::windows_core::Interface::as_raw(self), &mut result__);
11784 result__
11785 }
11786}
11787::windows_core::imp::interface_hierarchy!(ID3D12ProtectedResourceSession1, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12ProtectedSession, ID3D12ProtectedResourceSession);
11788unsafe impl ::core::marker::Send for ID3D12ProtectedResourceSession1 {}
11789unsafe impl ::core::marker::Sync for ID3D12ProtectedResourceSession1 {}
11790unsafe impl ::windows_core::Interface for ID3D12ProtectedResourceSession1 {
11791 type Vtable = ID3D12ProtectedResourceSession1_Vtbl;
11792}
11793unsafe impl ::windows_core::ComInterface for ID3D12ProtectedResourceSession1 {
11794 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xd6f12dd6_76fb_406e_8961_4296eefc0409);
11795}
11796#[repr(C)]
11797#[doc(hidden)]
11798pub struct ID3D12ProtectedResourceSession1_Vtbl {
11799 pub base__: ID3D12ProtectedResourceSession_Vtbl,
11800 pub GetDesc1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_PROTECTED_RESOURCE_SESSION_DESC1),
11801}
11802#[repr(transparent)]
11803#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11804pub struct ID3D12ProtectedSession(::windows_core::IUnknown);
11805impl ID3D12ProtectedSession {
11806 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11807 (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
11808 }
11809 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11810 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
11811 }
11812 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
11813 where
11814 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
11815 {
11816 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
11817 }
11818 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
11819 where
11820 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11821 {
11822 (::windows_core::Interface::vtable(self).base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
11823 }
11824 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
11825 where
11826 T: ::windows_core::ComInterface,
11827 {
11828 (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
11829 }
11830 pub unsafe fn GetStatusFence<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
11831 where
11832 T: ::windows_core::ComInterface,
11833 {
11834 (::windows_core::Interface::vtable(self).GetStatusFence)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
11835 }
11836 pub unsafe fn GetSessionStatus(&self) -> D3D12_PROTECTED_SESSION_STATUS {
11837 (::windows_core::Interface::vtable(self).GetSessionStatus)(::windows_core::Interface::as_raw(self))
11838 }
11839}
11840::windows_core::imp::interface_hierarchy!(ID3D12ProtectedSession, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild);
11841unsafe impl ::core::marker::Send for ID3D12ProtectedSession {}
11842unsafe impl ::core::marker::Sync for ID3D12ProtectedSession {}
11843unsafe impl ::windows_core::Interface for ID3D12ProtectedSession {
11844 type Vtable = ID3D12ProtectedSession_Vtbl;
11845}
11846unsafe impl ::windows_core::ComInterface for ID3D12ProtectedSession {
11847 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xa1533d18_0ac1_4084_85b9_89a96116806b);
11848}
11849#[repr(C)]
11850#[doc(hidden)]
11851pub struct ID3D12ProtectedSession_Vtbl {
11852 pub base__: ID3D12DeviceChild_Vtbl,
11853 pub GetStatusFence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppfence: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
11854 pub GetSessionStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> D3D12_PROTECTED_SESSION_STATUS,
11855}
11856#[repr(transparent)]
11857#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11858pub struct ID3D12QueryHeap(::windows_core::IUnknown);
11859impl ID3D12QueryHeap {
11860 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11861 (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
11862 }
11863 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11864 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
11865 }
11866 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
11867 where
11868 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
11869 {
11870 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
11871 }
11872 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
11873 where
11874 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11875 {
11876 (::windows_core::Interface::vtable(self).base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
11877 }
11878 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
11879 where
11880 T: ::windows_core::ComInterface,
11881 {
11882 (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
11883 }
11884}
11885::windows_core::imp::interface_hierarchy!(ID3D12QueryHeap, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12Pageable);
11886unsafe impl ::core::marker::Send for ID3D12QueryHeap {}
11887unsafe impl ::core::marker::Sync for ID3D12QueryHeap {}
11888unsafe impl ::windows_core::Interface for ID3D12QueryHeap {
11889 type Vtable = ID3D12QueryHeap_Vtbl;
11890}
11891unsafe impl ::windows_core::ComInterface for ID3D12QueryHeap {
11892 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0d9658ae_ed45_469e_a61d_970ec583cab4);
11893}
11894#[repr(C)]
11895#[doc(hidden)]
11896pub struct ID3D12QueryHeap_Vtbl {
11897 pub base__: ID3D12Pageable_Vtbl,
11898}
11899#[repr(transparent)]
11900#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11901pub struct ID3D12Resource(::windows_core::IUnknown);
11902impl ID3D12Resource {
11903 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11904 (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
11905 }
11906 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11907 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
11908 }
11909 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
11910 where
11911 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
11912 {
11913 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
11914 }
11915 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
11916 where
11917 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11918 {
11919 (::windows_core::Interface::vtable(self).base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
11920 }
11921 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
11922 where
11923 T: ::windows_core::ComInterface,
11924 {
11925 (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
11926 }
11927 pub unsafe fn Map(&self, subresource: u32, preadrange: ::core::option::Option<*const D3D12_RANGE>, ppdata: ::core::option::Option<*mut *mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11928 (::windows_core::Interface::vtable(self).Map)(::windows_core::Interface::as_raw(self), subresource, ::core::mem::transmute(preadrange.unwrap_or(::std::ptr::null())), ::core::mem::transmute(ppdata.unwrap_or(::std::ptr::null_mut()))).ok()
11929 }
11930 pub unsafe fn Unmap(&self, subresource: u32, pwrittenrange: ::core::option::Option<*const D3D12_RANGE>) {
11931 (::windows_core::Interface::vtable(self).Unmap)(::windows_core::Interface::as_raw(self), subresource, ::core::mem::transmute(pwrittenrange.unwrap_or(::std::ptr::null())))
11932 }
11933 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
11934 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
11935 pub unsafe fn GetDesc(&self) -> D3D12_RESOURCE_DESC {
11936 let mut result__: D3D12_RESOURCE_DESC = ::core::mem::zeroed();
11937 (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__);
11938 result__
11939 }
11940 pub unsafe fn GetGPUVirtualAddress(&self) -> u64 {
11941 (::windows_core::Interface::vtable(self).GetGPUVirtualAddress)(::windows_core::Interface::as_raw(self))
11942 }
11943 pub unsafe fn WriteToSubresource(&self, dstsubresource: u32, pdstbox: ::core::option::Option<*const D3D12_BOX>, psrcdata: *const ::core::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32) -> ::windows_core::Result<()> {
11944 (::windows_core::Interface::vtable(self).WriteToSubresource)(::windows_core::Interface::as_raw(self), dstsubresource, ::core::mem::transmute(pdstbox.unwrap_or(::std::ptr::null())), psrcdata, srcrowpitch, srcdepthpitch).ok()
11945 }
11946 pub unsafe fn ReadFromSubresource(&self, pdstdata: *mut ::core::ffi::c_void, dstrowpitch: u32, dstdepthpitch: u32, srcsubresource: u32, psrcbox: ::core::option::Option<*const D3D12_BOX>) -> ::windows_core::Result<()> {
11947 (::windows_core::Interface::vtable(self).ReadFromSubresource)(::windows_core::Interface::as_raw(self), pdstdata, dstrowpitch, dstdepthpitch, srcsubresource, ::core::mem::transmute(psrcbox.unwrap_or(::std::ptr::null()))).ok()
11948 }
11949 pub unsafe fn GetHeapProperties(&self, pheapproperties: ::core::option::Option<*mut D3D12_HEAP_PROPERTIES>, pheapflags: ::core::option::Option<*mut D3D12_HEAP_FLAGS>) -> ::windows_core::Result<()> {
11950 (::windows_core::Interface::vtable(self).GetHeapProperties)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pheapproperties.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pheapflags.unwrap_or(::std::ptr::null_mut()))).ok()
11951 }
11952}
11953::windows_core::imp::interface_hierarchy!(ID3D12Resource, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12Pageable);
11954unsafe impl ::core::marker::Send for ID3D12Resource {}
11955unsafe impl ::core::marker::Sync for ID3D12Resource {}
11956unsafe impl ::windows_core::Interface for ID3D12Resource {
11957 type Vtable = ID3D12Resource_Vtbl;
11958}
11959unsafe impl ::windows_core::ComInterface for ID3D12Resource {
11960 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x696442be_a72e_4059_bc79_5b5c98040fad);
11961}
11962#[repr(C)]
11963#[doc(hidden)]
11964pub struct ID3D12Resource_Vtbl {
11965 pub base__: ID3D12Pageable_Vtbl,
11966 pub Map: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, subresource: u32, preadrange: *const D3D12_RANGE, ppdata: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
11967 pub Unmap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, subresource: u32, pwrittenrange: *const D3D12_RANGE),
11968 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
11969 pub GetDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_RESOURCE_DESC),
11970 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
11971 GetDesc: usize,
11972 pub GetGPUVirtualAddress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u64,
11973 pub WriteToSubresource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dstsubresource: u32, pdstbox: *const D3D12_BOX, psrcdata: *const ::core::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32) -> ::windows_core::HRESULT,
11974 pub ReadFromSubresource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdstdata: *mut ::core::ffi::c_void, dstrowpitch: u32, dstdepthpitch: u32, srcsubresource: u32, psrcbox: *const D3D12_BOX) -> ::windows_core::HRESULT,
11975 pub GetHeapProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pheapproperties: *mut D3D12_HEAP_PROPERTIES, pheapflags: *mut D3D12_HEAP_FLAGS) -> ::windows_core::HRESULT,
11976}
11977#[repr(transparent)]
11978#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
11979pub struct ID3D12Resource1(::windows_core::IUnknown);
11980impl ID3D12Resource1 {
11981 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11982 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
11983 }
11984 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
11985 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
11986 }
11987 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
11988 where
11989 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
11990 {
11991 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
11992 }
11993 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
11994 where
11995 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
11996 {
11997 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
11998 }
11999 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
12000 where
12001 T: ::windows_core::ComInterface,
12002 {
12003 (::windows_core::Interface::vtable(self).base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
12004 }
12005 pub unsafe fn Map(&self, subresource: u32, preadrange: ::core::option::Option<*const D3D12_RANGE>, ppdata: ::core::option::Option<*mut *mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
12006 (::windows_core::Interface::vtable(self).base__.Map)(::windows_core::Interface::as_raw(self), subresource, ::core::mem::transmute(preadrange.unwrap_or(::std::ptr::null())), ::core::mem::transmute(ppdata.unwrap_or(::std::ptr::null_mut()))).ok()
12007 }
12008 pub unsafe fn Unmap(&self, subresource: u32, pwrittenrange: ::core::option::Option<*const D3D12_RANGE>) {
12009 (::windows_core::Interface::vtable(self).base__.Unmap)(::windows_core::Interface::as_raw(self), subresource, ::core::mem::transmute(pwrittenrange.unwrap_or(::std::ptr::null())))
12010 }
12011 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
12012 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
12013 pub unsafe fn GetDesc(&self) -> D3D12_RESOURCE_DESC {
12014 let mut result__: D3D12_RESOURCE_DESC = ::core::mem::zeroed();
12015 (::windows_core::Interface::vtable(self).base__.GetDesc)(::windows_core::Interface::as_raw(self), &mut result__);
12016 result__
12017 }
12018 pub unsafe fn GetGPUVirtualAddress(&self) -> u64 {
12019 (::windows_core::Interface::vtable(self).base__.GetGPUVirtualAddress)(::windows_core::Interface::as_raw(self))
12020 }
12021 pub unsafe fn WriteToSubresource(&self, dstsubresource: u32, pdstbox: ::core::option::Option<*const D3D12_BOX>, psrcdata: *const ::core::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32) -> ::windows_core::Result<()> {
12022 (::windows_core::Interface::vtable(self).base__.WriteToSubresource)(::windows_core::Interface::as_raw(self), dstsubresource, ::core::mem::transmute(pdstbox.unwrap_or(::std::ptr::null())), psrcdata, srcrowpitch, srcdepthpitch).ok()
12023 }
12024 pub unsafe fn ReadFromSubresource(&self, pdstdata: *mut ::core::ffi::c_void, dstrowpitch: u32, dstdepthpitch: u32, srcsubresource: u32, psrcbox: ::core::option::Option<*const D3D12_BOX>) -> ::windows_core::Result<()> {
12025 (::windows_core::Interface::vtable(self).base__.ReadFromSubresource)(::windows_core::Interface::as_raw(self), pdstdata, dstrowpitch, dstdepthpitch, srcsubresource, ::core::mem::transmute(psrcbox.unwrap_or(::std::ptr::null()))).ok()
12026 }
12027 pub unsafe fn GetHeapProperties(&self, pheapproperties: ::core::option::Option<*mut D3D12_HEAP_PROPERTIES>, pheapflags: ::core::option::Option<*mut D3D12_HEAP_FLAGS>) -> ::windows_core::Result<()> {
12028 (::windows_core::Interface::vtable(self).base__.GetHeapProperties)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pheapproperties.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pheapflags.unwrap_or(::std::ptr::null_mut()))).ok()
12029 }
12030 pub unsafe fn GetProtectedResourceSession<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
12031 where
12032 T: ::windows_core::ComInterface,
12033 {
12034 (::windows_core::Interface::vtable(self).GetProtectedResourceSession)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
12035 }
12036}
12037::windows_core::imp::interface_hierarchy!(ID3D12Resource1, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12Pageable, ID3D12Resource);
12038unsafe impl ::core::marker::Send for ID3D12Resource1 {}
12039unsafe impl ::core::marker::Sync for ID3D12Resource1 {}
12040unsafe impl ::windows_core::Interface for ID3D12Resource1 {
12041 type Vtable = ID3D12Resource1_Vtbl;
12042}
12043unsafe impl ::windows_core::ComInterface for ID3D12Resource1 {
12044 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x9d5e227a_4430_4161_88b3_3eca6bb16e19);
12045}
12046#[repr(C)]
12047#[doc(hidden)]
12048pub struct ID3D12Resource1_Vtbl {
12049 pub base__: ID3D12Resource_Vtbl,
12050 pub GetProtectedResourceSession: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppprotectedsession: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
12051}
12052#[repr(transparent)]
12053#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12054pub struct ID3D12Resource2(::windows_core::IUnknown);
12055impl ID3D12Resource2 {
12056 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
12057 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
12058 }
12059 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
12060 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
12061 }
12062 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
12063 where
12064 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
12065 {
12066 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
12067 }
12068 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
12069 where
12070 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
12071 {
12072 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
12073 }
12074 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
12075 where
12076 T: ::windows_core::ComInterface,
12077 {
12078 (::windows_core::Interface::vtable(self).base__.base__.base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
12079 }
12080 pub unsafe fn Map(&self, subresource: u32, preadrange: ::core::option::Option<*const D3D12_RANGE>, ppdata: ::core::option::Option<*mut *mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
12081 (::windows_core::Interface::vtable(self).base__.base__.Map)(::windows_core::Interface::as_raw(self), subresource, ::core::mem::transmute(preadrange.unwrap_or(::std::ptr::null())), ::core::mem::transmute(ppdata.unwrap_or(::std::ptr::null_mut()))).ok()
12082 }
12083 pub unsafe fn Unmap(&self, subresource: u32, pwrittenrange: ::core::option::Option<*const D3D12_RANGE>) {
12084 (::windows_core::Interface::vtable(self).base__.base__.Unmap)(::windows_core::Interface::as_raw(self), subresource, ::core::mem::transmute(pwrittenrange.unwrap_or(::std::ptr::null())))
12085 }
12086 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
12087 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
12088 pub unsafe fn GetDesc(&self) -> D3D12_RESOURCE_DESC {
12089 let mut result__: D3D12_RESOURCE_DESC = ::core::mem::zeroed();
12090 (::windows_core::Interface::vtable(self).base__.base__.GetDesc)(::windows_core::Interface::as_raw(self), &mut result__);
12091 result__
12092 }
12093 pub unsafe fn GetGPUVirtualAddress(&self) -> u64 {
12094 (::windows_core::Interface::vtable(self).base__.base__.GetGPUVirtualAddress)(::windows_core::Interface::as_raw(self))
12095 }
12096 pub unsafe fn WriteToSubresource(&self, dstsubresource: u32, pdstbox: ::core::option::Option<*const D3D12_BOX>, psrcdata: *const ::core::ffi::c_void, srcrowpitch: u32, srcdepthpitch: u32) -> ::windows_core::Result<()> {
12097 (::windows_core::Interface::vtable(self).base__.base__.WriteToSubresource)(::windows_core::Interface::as_raw(self), dstsubresource, ::core::mem::transmute(pdstbox.unwrap_or(::std::ptr::null())), psrcdata, srcrowpitch, srcdepthpitch).ok()
12098 }
12099 pub unsafe fn ReadFromSubresource(&self, pdstdata: *mut ::core::ffi::c_void, dstrowpitch: u32, dstdepthpitch: u32, srcsubresource: u32, psrcbox: ::core::option::Option<*const D3D12_BOX>) -> ::windows_core::Result<()> {
12100 (::windows_core::Interface::vtable(self).base__.base__.ReadFromSubresource)(::windows_core::Interface::as_raw(self), pdstdata, dstrowpitch, dstdepthpitch, srcsubresource, ::core::mem::transmute(psrcbox.unwrap_or(::std::ptr::null()))).ok()
12101 }
12102 pub unsafe fn GetHeapProperties(&self, pheapproperties: ::core::option::Option<*mut D3D12_HEAP_PROPERTIES>, pheapflags: ::core::option::Option<*mut D3D12_HEAP_FLAGS>) -> ::windows_core::Result<()> {
12103 (::windows_core::Interface::vtable(self).base__.base__.GetHeapProperties)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pheapproperties.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pheapflags.unwrap_or(::std::ptr::null_mut()))).ok()
12104 }
12105 pub unsafe fn GetProtectedResourceSession<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
12106 where
12107 T: ::windows_core::ComInterface,
12108 {
12109 (::windows_core::Interface::vtable(self).base__.GetProtectedResourceSession)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
12110 }
12111 #[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
12112 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
12113 pub unsafe fn GetDesc1(&self) -> D3D12_RESOURCE_DESC1 {
12114 let mut result__: D3D12_RESOURCE_DESC1 = ::core::mem::zeroed();
12115 (::windows_core::Interface::vtable(self).GetDesc1)(::windows_core::Interface::as_raw(self), &mut result__);
12116 result__
12117 }
12118}
12119::windows_core::imp::interface_hierarchy!(ID3D12Resource2, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12Pageable, ID3D12Resource, ID3D12Resource1);
12120unsafe impl ::core::marker::Send for ID3D12Resource2 {}
12121unsafe impl ::core::marker::Sync for ID3D12Resource2 {}
12122unsafe impl ::windows_core::Interface for ID3D12Resource2 {
12123 type Vtable = ID3D12Resource2_Vtbl;
12124}
12125unsafe impl ::windows_core::ComInterface for ID3D12Resource2 {
12126 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xbe36ec3b_ea85_4aeb_a45a_e9d76404a495);
12127}
12128#[repr(C)]
12129#[doc(hidden)]
12130pub struct ID3D12Resource2_Vtbl {
12131 pub base__: ID3D12Resource1_Vtbl,
12132 #[cfg(feature = "Win32_Graphics_Dxgi_Common")]
12133 pub GetDesc1: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_RESOURCE_DESC1),
12134 #[cfg(not(feature = "Win32_Graphics_Dxgi_Common"))]
12135 GetDesc1: usize,
12136}
12137#[repr(transparent)]
12138#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12139pub struct ID3D12RootSignature(::windows_core::IUnknown);
12140impl ID3D12RootSignature {
12141 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
12142 (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
12143 }
12144 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
12145 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
12146 }
12147 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
12148 where
12149 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
12150 {
12151 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
12152 }
12153 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
12154 where
12155 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
12156 {
12157 (::windows_core::Interface::vtable(self).base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
12158 }
12159 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
12160 where
12161 T: ::windows_core::ComInterface,
12162 {
12163 (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
12164 }
12165}
12166::windows_core::imp::interface_hierarchy!(ID3D12RootSignature, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild);
12167unsafe impl ::core::marker::Send for ID3D12RootSignature {}
12168unsafe impl ::core::marker::Sync for ID3D12RootSignature {}
12169unsafe impl ::windows_core::Interface for ID3D12RootSignature {
12170 type Vtable = ID3D12RootSignature_Vtbl;
12171}
12172unsafe impl ::windows_core::ComInterface for ID3D12RootSignature {
12173 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xc54a6b66_72df_4ee8_8be5_a946a1429214);
12174}
12175#[repr(C)]
12176#[doc(hidden)]
12177pub struct ID3D12RootSignature_Vtbl {
12178 pub base__: ID3D12DeviceChild_Vtbl,
12179}
12180#[repr(transparent)]
12181#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12182pub struct ID3D12RootSignatureDeserializer(::windows_core::IUnknown);
12183impl ID3D12RootSignatureDeserializer {
12184 pub unsafe fn GetRootSignatureDesc(&self) -> *mut D3D12_ROOT_SIGNATURE_DESC {
12185 (::windows_core::Interface::vtable(self).GetRootSignatureDesc)(::windows_core::Interface::as_raw(self))
12186 }
12187}
12188::windows_core::imp::interface_hierarchy!(ID3D12RootSignatureDeserializer, ::windows_core::IUnknown);
12189unsafe impl ::core::marker::Send for ID3D12RootSignatureDeserializer {}
12190unsafe impl ::core::marker::Sync for ID3D12RootSignatureDeserializer {}
12191unsafe impl ::windows_core::Interface for ID3D12RootSignatureDeserializer {
12192 type Vtable = ID3D12RootSignatureDeserializer_Vtbl;
12193}
12194unsafe impl ::windows_core::ComInterface for ID3D12RootSignatureDeserializer {
12195 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x34ab647b_3cc8_46ac_841b_c0965645c046);
12196}
12197#[repr(C)]
12198#[doc(hidden)]
12199pub struct ID3D12RootSignatureDeserializer_Vtbl {
12200 pub base__: ::windows_core::IUnknown_Vtbl,
12201 pub GetRootSignatureDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> *mut D3D12_ROOT_SIGNATURE_DESC,
12202}
12203#[repr(transparent)]
12204#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12205pub struct ID3D12SDKConfiguration(::windows_core::IUnknown);
12206impl ID3D12SDKConfiguration {
12207 pub unsafe fn SetSDKVersion<P0>(&self, sdkversion: u32, sdkpath: P0) -> ::windows_core::Result<()>
12208 where
12209 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
12210 {
12211 (::windows_core::Interface::vtable(self).SetSDKVersion)(::windows_core::Interface::as_raw(self), sdkversion, sdkpath.into_param().abi()).ok()
12212 }
12213}
12214::windows_core::imp::interface_hierarchy!(ID3D12SDKConfiguration, ::windows_core::IUnknown);
12215unsafe impl ::core::marker::Send for ID3D12SDKConfiguration {}
12216unsafe impl ::core::marker::Sync for ID3D12SDKConfiguration {}
12217unsafe impl ::windows_core::Interface for ID3D12SDKConfiguration {
12218 type Vtable = ID3D12SDKConfiguration_Vtbl;
12219}
12220unsafe impl ::windows_core::ComInterface for ID3D12SDKConfiguration {
12221 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xe9eb5314_33aa_42b2_a718_d77f58b1f1c7);
12222}
12223#[repr(C)]
12224#[doc(hidden)]
12225pub struct ID3D12SDKConfiguration_Vtbl {
12226 pub base__: ::windows_core::IUnknown_Vtbl,
12227 pub SetSDKVersion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sdkversion: u32, sdkpath: ::windows_core::PCSTR) -> ::windows_core::HRESULT,
12228}
12229#[repr(transparent)]
12230#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12231pub struct ID3D12SDKConfiguration1(::windows_core::IUnknown);
12232impl ID3D12SDKConfiguration1 {
12233 pub unsafe fn SetSDKVersion<P0>(&self, sdkversion: u32, sdkpath: P0) -> ::windows_core::Result<()>
12234 where
12235 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
12236 {
12237 (::windows_core::Interface::vtable(self).base__.SetSDKVersion)(::windows_core::Interface::as_raw(self), sdkversion, sdkpath.into_param().abi()).ok()
12238 }
12239 pub unsafe fn CreateDeviceFactory<P0, T>(&self, sdkversion: u32, sdkpath: P0) -> ::windows_core::Result<T>
12240 where
12241 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
12242 T: ::windows_core::ComInterface,
12243 {
12244 let mut result__: *mut c_void = ::std::ptr::null_mut();
12245 (::windows_core::Interface::vtable(self).CreateDeviceFactory)(::windows_core::Interface::as_raw(self), sdkversion, sdkpath.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
12246 }
12247 pub unsafe fn FreeUnusedSDKs(&self) {
12248 (::windows_core::Interface::vtable(self).FreeUnusedSDKs)(::windows_core::Interface::as_raw(self))
12249 }
12250}
12251::windows_core::imp::interface_hierarchy!(ID3D12SDKConfiguration1, ::windows_core::IUnknown, ID3D12SDKConfiguration);
12252unsafe impl ::core::marker::Send for ID3D12SDKConfiguration1 {}
12253unsafe impl ::core::marker::Sync for ID3D12SDKConfiguration1 {}
12254unsafe impl ::windows_core::Interface for ID3D12SDKConfiguration1 {
12255 type Vtable = ID3D12SDKConfiguration1_Vtbl;
12256}
12257unsafe impl ::windows_core::ComInterface for ID3D12SDKConfiguration1 {
12258 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x8aaf9303_ad25_48b9_9a57_d9c37e009d9f);
12259}
12260#[repr(C)]
12261#[doc(hidden)]
12262pub struct ID3D12SDKConfiguration1_Vtbl {
12263 pub base__: ID3D12SDKConfiguration_Vtbl,
12264 pub CreateDeviceFactory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sdkversion: u32, sdkpath: ::windows_core::PCSTR, riid: *const ::windows_core::GUID, ppvfactory: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
12265 pub FreeUnusedSDKs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
12266}
12267#[repr(transparent)]
12268#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12269pub struct ID3D12ShaderCacheSession(::windows_core::IUnknown);
12270impl ID3D12ShaderCacheSession {
12271 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
12272 (::windows_core::Interface::vtable(self).base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
12273 }
12274 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
12275 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
12276 }
12277 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
12278 where
12279 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
12280 {
12281 (::windows_core::Interface::vtable(self).base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
12282 }
12283 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
12284 where
12285 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
12286 {
12287 (::windows_core::Interface::vtable(self).base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
12288 }
12289 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
12290 where
12291 T: ::windows_core::ComInterface,
12292 {
12293 (::windows_core::Interface::vtable(self).base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
12294 }
12295 pub unsafe fn FindValue(&self, pkey: *const ::core::ffi::c_void, keysize: u32, pvalue: *mut ::core::ffi::c_void, pvaluesize: *mut u32) -> ::windows_core::Result<()> {
12296 (::windows_core::Interface::vtable(self).FindValue)(::windows_core::Interface::as_raw(self), pkey, keysize, pvalue, pvaluesize).ok()
12297 }
12298 pub unsafe fn StoreValue(&self, pkey: *const ::core::ffi::c_void, keysize: u32, pvalue: *const ::core::ffi::c_void, valuesize: u32) -> ::windows_core::Result<()> {
12299 (::windows_core::Interface::vtable(self).StoreValue)(::windows_core::Interface::as_raw(self), pkey, keysize, pvalue, valuesize).ok()
12300 }
12301 pub unsafe fn SetDeleteOnDestroy(&self) {
12302 (::windows_core::Interface::vtable(self).SetDeleteOnDestroy)(::windows_core::Interface::as_raw(self))
12303 }
12304 pub unsafe fn GetDesc(&self) -> D3D12_SHADER_CACHE_SESSION_DESC {
12305 let mut result__: D3D12_SHADER_CACHE_SESSION_DESC = ::core::mem::zeroed();
12306 (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), &mut result__);
12307 result__
12308 }
12309}
12310::windows_core::imp::interface_hierarchy!(ID3D12ShaderCacheSession, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild);
12311unsafe impl ::core::marker::Send for ID3D12ShaderCacheSession {}
12312unsafe impl ::core::marker::Sync for ID3D12ShaderCacheSession {}
12313unsafe impl ::windows_core::Interface for ID3D12ShaderCacheSession {
12314 type Vtable = ID3D12ShaderCacheSession_Vtbl;
12315}
12316unsafe impl ::windows_core::ComInterface for ID3D12ShaderCacheSession {
12317 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x28e2495d_0f64_4ae4_a6ec_129255dc49a8);
12318}
12319#[repr(C)]
12320#[doc(hidden)]
12321pub struct ID3D12ShaderCacheSession_Vtbl {
12322 pub base__: ID3D12DeviceChild_Vtbl,
12323 pub FindValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pkey: *const ::core::ffi::c_void, keysize: u32, pvalue: *mut ::core::ffi::c_void, pvaluesize: *mut u32) -> ::windows_core::HRESULT,
12324 pub StoreValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pkey: *const ::core::ffi::c_void, keysize: u32, pvalue: *const ::core::ffi::c_void, valuesize: u32) -> ::windows_core::HRESULT,
12325 pub SetDeleteOnDestroy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
12326 pub GetDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut D3D12_SHADER_CACHE_SESSION_DESC),
12327}
12328#[repr(transparent)]
12329#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12330pub struct ID3D12ShaderReflection(::windows_core::IUnknown);
12331impl ID3D12ShaderReflection {
12332 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
12333 #[cfg(feature = "Win32_Graphics_Direct3D")]
12334 pub unsafe fn GetDesc(&self, pdesc: *mut D3D12_SHADER_DESC) -> ::windows_core::Result<()> {
12335 (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), pdesc).ok()
12336 }
12337 pub unsafe fn GetConstantBufferByIndex(&self, index: u32) -> ::core::option::Option<ID3D12ShaderReflectionConstantBuffer> {
12338 (::windows_core::Interface::vtable(self).GetConstantBufferByIndex)(::windows_core::Interface::as_raw(self), index)
12339 }
12340 pub unsafe fn GetConstantBufferByName<P0>(&self, name: P0) -> ::core::option::Option<ID3D12ShaderReflectionConstantBuffer>
12341 where
12342 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
12343 {
12344 (::windows_core::Interface::vtable(self).GetConstantBufferByName)(::windows_core::Interface::as_raw(self), name.into_param().abi())
12345 }
12346 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
12347 #[cfg(feature = "Win32_Graphics_Direct3D")]
12348 pub unsafe fn GetResourceBindingDesc(&self, resourceindex: u32, pdesc: *mut D3D12_SHADER_INPUT_BIND_DESC) -> ::windows_core::Result<()> {
12349 (::windows_core::Interface::vtable(self).GetResourceBindingDesc)(::windows_core::Interface::as_raw(self), resourceindex, pdesc).ok()
12350 }
12351 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
12352 #[cfg(feature = "Win32_Graphics_Direct3D")]
12353 pub unsafe fn GetInputParameterDesc(&self, parameterindex: u32, pdesc: *mut D3D12_SIGNATURE_PARAMETER_DESC) -> ::windows_core::Result<()> {
12354 (::windows_core::Interface::vtable(self).GetInputParameterDesc)(::windows_core::Interface::as_raw(self), parameterindex, pdesc).ok()
12355 }
12356 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
12357 #[cfg(feature = "Win32_Graphics_Direct3D")]
12358 pub unsafe fn GetOutputParameterDesc(&self, parameterindex: u32, pdesc: *mut D3D12_SIGNATURE_PARAMETER_DESC) -> ::windows_core::Result<()> {
12359 (::windows_core::Interface::vtable(self).GetOutputParameterDesc)(::windows_core::Interface::as_raw(self), parameterindex, pdesc).ok()
12360 }
12361 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
12362 #[cfg(feature = "Win32_Graphics_Direct3D")]
12363 pub unsafe fn GetPatchConstantParameterDesc(&self, parameterindex: u32, pdesc: *mut D3D12_SIGNATURE_PARAMETER_DESC) -> ::windows_core::Result<()> {
12364 (::windows_core::Interface::vtable(self).GetPatchConstantParameterDesc)(::windows_core::Interface::as_raw(self), parameterindex, pdesc).ok()
12365 }
12366 pub unsafe fn GetVariableByName<P0>(&self, name: P0) -> ::core::option::Option<ID3D12ShaderReflectionVariable>
12367 where
12368 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
12369 {
12370 (::windows_core::Interface::vtable(self).GetVariableByName)(::windows_core::Interface::as_raw(self), name.into_param().abi())
12371 }
12372 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
12373 #[cfg(feature = "Win32_Graphics_Direct3D")]
12374 pub unsafe fn GetResourceBindingDescByName<P0>(&self, name: P0, pdesc: *mut D3D12_SHADER_INPUT_BIND_DESC) -> ::windows_core::Result<()>
12375 where
12376 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
12377 {
12378 (::windows_core::Interface::vtable(self).GetResourceBindingDescByName)(::windows_core::Interface::as_raw(self), name.into_param().abi(), pdesc).ok()
12379 }
12380 pub unsafe fn GetMovInstructionCount(&self) -> u32 {
12381 (::windows_core::Interface::vtable(self).GetMovInstructionCount)(::windows_core::Interface::as_raw(self))
12382 }
12383 pub unsafe fn GetMovcInstructionCount(&self) -> u32 {
12384 (::windows_core::Interface::vtable(self).GetMovcInstructionCount)(::windows_core::Interface::as_raw(self))
12385 }
12386 pub unsafe fn GetConversionInstructionCount(&self) -> u32 {
12387 (::windows_core::Interface::vtable(self).GetConversionInstructionCount)(::windows_core::Interface::as_raw(self))
12388 }
12389 pub unsafe fn GetBitwiseInstructionCount(&self) -> u32 {
12390 (::windows_core::Interface::vtable(self).GetBitwiseInstructionCount)(::windows_core::Interface::as_raw(self))
12391 }
12392 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
12393 #[cfg(feature = "Win32_Graphics_Direct3D")]
12394 pub unsafe fn GetGSInputPrimitive(&self) -> super::Direct3D::D3D_PRIMITIVE {
12395 (::windows_core::Interface::vtable(self).GetGSInputPrimitive)(::windows_core::Interface::as_raw(self))
12396 }
12397 #[doc = "Required features: `\"Win32_Foundation\"`"]
12398 #[cfg(feature = "Win32_Foundation")]
12399 pub unsafe fn IsSampleFrequencyShader(&self) -> super::super::Foundation::BOOL {
12400 (::windows_core::Interface::vtable(self).IsSampleFrequencyShader)(::windows_core::Interface::as_raw(self))
12401 }
12402 pub unsafe fn GetNumInterfaceSlots(&self) -> u32 {
12403 (::windows_core::Interface::vtable(self).GetNumInterfaceSlots)(::windows_core::Interface::as_raw(self))
12404 }
12405 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
12406 #[cfg(feature = "Win32_Graphics_Direct3D")]
12407 pub unsafe fn GetMinFeatureLevel(&self) -> ::windows_core::Result<super::Direct3D::D3D_FEATURE_LEVEL> {
12408 let mut result__ = ::std::mem::zeroed();
12409 (::windows_core::Interface::vtable(self).GetMinFeatureLevel)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
12410 }
12411 pub unsafe fn GetThreadGroupSize(&self, psizex: ::core::option::Option<*mut u32>, psizey: ::core::option::Option<*mut u32>, psizez: ::core::option::Option<*mut u32>) -> u32 {
12412 (::windows_core::Interface::vtable(self).GetThreadGroupSize)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(psizex.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(psizey.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(psizez.unwrap_or(::std::ptr::null_mut())))
12413 }
12414 pub unsafe fn GetRequiresFlags(&self) -> u64 {
12415 (::windows_core::Interface::vtable(self).GetRequiresFlags)(::windows_core::Interface::as_raw(self))
12416 }
12417}
12418::windows_core::imp::interface_hierarchy!(ID3D12ShaderReflection, ::windows_core::IUnknown);
12419unsafe impl ::core::marker::Send for ID3D12ShaderReflection {}
12420unsafe impl ::core::marker::Sync for ID3D12ShaderReflection {}
12421unsafe impl ::windows_core::Interface for ID3D12ShaderReflection {
12422 type Vtable = ID3D12ShaderReflection_Vtbl;
12423}
12424unsafe impl ::windows_core::ComInterface for ID3D12ShaderReflection {
12425 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x5a58797d_a72c_478d_8ba2_efc6b0efe88e);
12426}
12427#[repr(C)]
12428#[doc(hidden)]
12429pub struct ID3D12ShaderReflection_Vtbl {
12430 pub base__: ::windows_core::IUnknown_Vtbl,
12431 #[cfg(feature = "Win32_Graphics_Direct3D")]
12432 pub GetDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *mut D3D12_SHADER_DESC) -> ::windows_core::HRESULT,
12433 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
12434 GetDesc: usize,
12435 pub GetConstantBufferByIndex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32) -> ::core::option::Option<ID3D12ShaderReflectionConstantBuffer>,
12436 pub GetConstantBufferByName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::windows_core::PCSTR) -> ::core::option::Option<ID3D12ShaderReflectionConstantBuffer>,
12437 #[cfg(feature = "Win32_Graphics_Direct3D")]
12438 pub GetResourceBindingDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, resourceindex: u32, pdesc: *mut D3D12_SHADER_INPUT_BIND_DESC) -> ::windows_core::HRESULT,
12439 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
12440 GetResourceBindingDesc: usize,
12441 #[cfg(feature = "Win32_Graphics_Direct3D")]
12442 pub GetInputParameterDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, parameterindex: u32, pdesc: *mut D3D12_SIGNATURE_PARAMETER_DESC) -> ::windows_core::HRESULT,
12443 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
12444 GetInputParameterDesc: usize,
12445 #[cfg(feature = "Win32_Graphics_Direct3D")]
12446 pub GetOutputParameterDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, parameterindex: u32, pdesc: *mut D3D12_SIGNATURE_PARAMETER_DESC) -> ::windows_core::HRESULT,
12447 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
12448 GetOutputParameterDesc: usize,
12449 #[cfg(feature = "Win32_Graphics_Direct3D")]
12450 pub GetPatchConstantParameterDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, parameterindex: u32, pdesc: *mut D3D12_SIGNATURE_PARAMETER_DESC) -> ::windows_core::HRESULT,
12451 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
12452 GetPatchConstantParameterDesc: usize,
12453 pub GetVariableByName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::windows_core::PCSTR) -> ::core::option::Option<ID3D12ShaderReflectionVariable>,
12454 #[cfg(feature = "Win32_Graphics_Direct3D")]
12455 pub GetResourceBindingDescByName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::windows_core::PCSTR, pdesc: *mut D3D12_SHADER_INPUT_BIND_DESC) -> ::windows_core::HRESULT,
12456 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
12457 GetResourceBindingDescByName: usize,
12458 pub GetMovInstructionCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
12459 pub GetMovcInstructionCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
12460 pub GetConversionInstructionCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
12461 pub GetBitwiseInstructionCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
12462 #[cfg(feature = "Win32_Graphics_Direct3D")]
12463 pub GetGSInputPrimitive: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> super::Direct3D::D3D_PRIMITIVE,
12464 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
12465 GetGSInputPrimitive: usize,
12466 #[cfg(feature = "Win32_Foundation")]
12467 pub IsSampleFrequencyShader: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL,
12468 #[cfg(not(feature = "Win32_Foundation"))]
12469 IsSampleFrequencyShader: usize,
12470 pub GetNumInterfaceSlots: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
12471 #[cfg(feature = "Win32_Graphics_Direct3D")]
12472 pub GetMinFeatureLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plevel: *mut super::Direct3D::D3D_FEATURE_LEVEL) -> ::windows_core::HRESULT,
12473 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
12474 GetMinFeatureLevel: usize,
12475 pub GetThreadGroupSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psizex: *mut u32, psizey: *mut u32, psizez: *mut u32) -> u32,
12476 pub GetRequiresFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u64,
12477}
12478#[repr(transparent)]
12479#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12480pub struct ID3D12ShaderReflectionConstantBuffer(::std::ptr::NonNull<::std::ffi::c_void>);
12481impl ID3D12ShaderReflectionConstantBuffer {
12482 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
12483 #[cfg(feature = "Win32_Graphics_Direct3D")]
12484 pub unsafe fn GetDesc(&self, pdesc: *mut D3D12_SHADER_BUFFER_DESC) -> ::windows_core::Result<()> {
12485 (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), pdesc).ok()
12486 }
12487 pub unsafe fn GetVariableByIndex(&self, index: u32) -> ::core::option::Option<ID3D12ShaderReflectionVariable> {
12488 (::windows_core::Interface::vtable(self).GetVariableByIndex)(::windows_core::Interface::as_raw(self), index)
12489 }
12490 pub unsafe fn GetVariableByName<P0>(&self, name: P0) -> ::core::option::Option<ID3D12ShaderReflectionVariable>
12491 where
12492 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
12493 {
12494 (::windows_core::Interface::vtable(self).GetVariableByName)(::windows_core::Interface::as_raw(self), name.into_param().abi())
12495 }
12496}
12497unsafe impl ::core::marker::Send for ID3D12ShaderReflectionConstantBuffer {}
12498unsafe impl ::core::marker::Sync for ID3D12ShaderReflectionConstantBuffer {}
12499unsafe impl ::windows_core::Interface for ID3D12ShaderReflectionConstantBuffer {
12500 type Vtable = ID3D12ShaderReflectionConstantBuffer_Vtbl;
12501}
12502#[repr(C)]
12503#[doc(hidden)]
12504pub struct ID3D12ShaderReflectionConstantBuffer_Vtbl {
12505 #[cfg(feature = "Win32_Graphics_Direct3D")]
12506 pub GetDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *mut D3D12_SHADER_BUFFER_DESC) -> ::windows_core::HRESULT,
12507 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
12508 GetDesc: usize,
12509 pub GetVariableByIndex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32) -> ::core::option::Option<ID3D12ShaderReflectionVariable>,
12510 pub GetVariableByName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::windows_core::PCSTR) -> ::core::option::Option<ID3D12ShaderReflectionVariable>,
12511}
12512#[repr(transparent)]
12513#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12514pub struct ID3D12ShaderReflectionType(::std::ptr::NonNull<::std::ffi::c_void>);
12515impl ID3D12ShaderReflectionType {
12516 #[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
12517 #[cfg(feature = "Win32_Graphics_Direct3D")]
12518 pub unsafe fn GetDesc(&self, pdesc: *mut D3D12_SHADER_TYPE_DESC) -> ::windows_core::Result<()> {
12519 (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), pdesc).ok()
12520 }
12521 pub unsafe fn GetMemberTypeByIndex(&self, index: u32) -> ::core::option::Option<ID3D12ShaderReflectionType> {
12522 (::windows_core::Interface::vtable(self).GetMemberTypeByIndex)(::windows_core::Interface::as_raw(self), index)
12523 }
12524 pub unsafe fn GetMemberTypeByName<P0>(&self, name: P0) -> ::core::option::Option<ID3D12ShaderReflectionType>
12525 where
12526 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
12527 {
12528 (::windows_core::Interface::vtable(self).GetMemberTypeByName)(::windows_core::Interface::as_raw(self), name.into_param().abi())
12529 }
12530 pub unsafe fn GetMemberTypeName(&self, index: u32) -> ::windows_core::PCSTR {
12531 (::windows_core::Interface::vtable(self).GetMemberTypeName)(::windows_core::Interface::as_raw(self), index)
12532 }
12533 pub unsafe fn IsEqual<P0>(&self, ptype: P0) -> ::windows_core::Result<()>
12534 where
12535 P0: ::windows_core::IntoParam<ID3D12ShaderReflectionType>,
12536 {
12537 (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), ptype.into_param().abi()).ok()
12538 }
12539 pub unsafe fn GetSubType(&self) -> ::core::option::Option<ID3D12ShaderReflectionType> {
12540 (::windows_core::Interface::vtable(self).GetSubType)(::windows_core::Interface::as_raw(self))
12541 }
12542 pub unsafe fn GetBaseClass(&self) -> ::core::option::Option<ID3D12ShaderReflectionType> {
12543 (::windows_core::Interface::vtable(self).GetBaseClass)(::windows_core::Interface::as_raw(self))
12544 }
12545 pub unsafe fn GetNumInterfaces(&self) -> u32 {
12546 (::windows_core::Interface::vtable(self).GetNumInterfaces)(::windows_core::Interface::as_raw(self))
12547 }
12548 pub unsafe fn GetInterfaceByIndex(&self, uindex: u32) -> ::core::option::Option<ID3D12ShaderReflectionType> {
12549 (::windows_core::Interface::vtable(self).GetInterfaceByIndex)(::windows_core::Interface::as_raw(self), uindex)
12550 }
12551 pub unsafe fn IsOfType<P0>(&self, ptype: P0) -> ::windows_core::Result<()>
12552 where
12553 P0: ::windows_core::IntoParam<ID3D12ShaderReflectionType>,
12554 {
12555 (::windows_core::Interface::vtable(self).IsOfType)(::windows_core::Interface::as_raw(self), ptype.into_param().abi()).ok()
12556 }
12557 pub unsafe fn ImplementsInterface<P0>(&self, pbase: P0) -> ::windows_core::Result<()>
12558 where
12559 P0: ::windows_core::IntoParam<ID3D12ShaderReflectionType>,
12560 {
12561 (::windows_core::Interface::vtable(self).ImplementsInterface)(::windows_core::Interface::as_raw(self), pbase.into_param().abi()).ok()
12562 }
12563}
12564unsafe impl ::core::marker::Send for ID3D12ShaderReflectionType {}
12565unsafe impl ::core::marker::Sync for ID3D12ShaderReflectionType {}
12566unsafe impl ::windows_core::Interface for ID3D12ShaderReflectionType {
12567 type Vtable = ID3D12ShaderReflectionType_Vtbl;
12568}
12569#[repr(C)]
12570#[doc(hidden)]
12571pub struct ID3D12ShaderReflectionType_Vtbl {
12572 #[cfg(feature = "Win32_Graphics_Direct3D")]
12573 pub GetDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *mut D3D12_SHADER_TYPE_DESC) -> ::windows_core::HRESULT,
12574 #[cfg(not(feature = "Win32_Graphics_Direct3D"))]
12575 GetDesc: usize,
12576 pub GetMemberTypeByIndex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32) -> ::core::option::Option<ID3D12ShaderReflectionType>,
12577 pub GetMemberTypeByName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::windows_core::PCSTR) -> ::core::option::Option<ID3D12ShaderReflectionType>,
12578 pub GetMemberTypeName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32) -> ::windows_core::PCSTR,
12579 pub IsEqual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptype: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
12580 pub GetSubType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::core::option::Option<ID3D12ShaderReflectionType>,
12581 pub GetBaseClass: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::core::option::Option<ID3D12ShaderReflectionType>,
12582 pub GetNumInterfaces: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
12583 pub GetInterfaceByIndex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uindex: u32) -> ::core::option::Option<ID3D12ShaderReflectionType>,
12584 pub IsOfType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptype: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
12585 pub ImplementsInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbase: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
12586}
12587#[repr(transparent)]
12588#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12589pub struct ID3D12ShaderReflectionVariable(::std::ptr::NonNull<::std::ffi::c_void>);
12590impl ID3D12ShaderReflectionVariable {
12591 pub unsafe fn GetDesc(&self, pdesc: *mut D3D12_SHADER_VARIABLE_DESC) -> ::windows_core::Result<()> {
12592 (::windows_core::Interface::vtable(self).GetDesc)(::windows_core::Interface::as_raw(self), pdesc).ok()
12593 }
12594 pub unsafe fn GetType(&self) -> ::core::option::Option<ID3D12ShaderReflectionType> {
12595 (::windows_core::Interface::vtable(self).GetType)(::windows_core::Interface::as_raw(self))
12596 }
12597 pub unsafe fn GetBuffer(&self) -> ::core::option::Option<ID3D12ShaderReflectionConstantBuffer> {
12598 (::windows_core::Interface::vtable(self).GetBuffer)(::windows_core::Interface::as_raw(self))
12599 }
12600 pub unsafe fn GetInterfaceSlot(&self, uarrayindex: u32) -> u32 {
12601 (::windows_core::Interface::vtable(self).GetInterfaceSlot)(::windows_core::Interface::as_raw(self), uarrayindex)
12602 }
12603}
12604unsafe impl ::core::marker::Send for ID3D12ShaderReflectionVariable {}
12605unsafe impl ::core::marker::Sync for ID3D12ShaderReflectionVariable {}
12606unsafe impl ::windows_core::Interface for ID3D12ShaderReflectionVariable {
12607 type Vtable = ID3D12ShaderReflectionVariable_Vtbl;
12608}
12609#[repr(C)]
12610#[doc(hidden)]
12611pub struct ID3D12ShaderReflectionVariable_Vtbl {
12612 pub GetDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdesc: *mut D3D12_SHADER_VARIABLE_DESC) -> ::windows_core::HRESULT,
12613 pub GetType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::core::option::Option<ID3D12ShaderReflectionType>,
12614 pub GetBuffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::core::option::Option<ID3D12ShaderReflectionConstantBuffer>,
12615 pub GetInterfaceSlot: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uarrayindex: u32) -> u32,
12616}
12617#[repr(transparent)]
12618#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12619pub struct ID3D12SharingContract(::windows_core::IUnknown);
12620impl ID3D12SharingContract {
12621 #[doc = "Required features: `\"Win32_Foundation\"`"]
12622 #[cfg(feature = "Win32_Foundation")]
12623 pub unsafe fn Present<P0, P1>(&self, presource: P0, subresource: u32, window: P1)
12624 where
12625 P0: ::windows_core::IntoParam<ID3D12Resource>,
12626 P1: ::windows_core::IntoParam<super::super::Foundation::HWND>,
12627 {
12628 (::windows_core::Interface::vtable(self).Present)(::windows_core::Interface::as_raw(self), presource.into_param().abi(), subresource, window.into_param().abi())
12629 }
12630 pub unsafe fn SharedFenceSignal<P0>(&self, pfence: P0, fencevalue: u64)
12631 where
12632 P0: ::windows_core::IntoParam<ID3D12Fence>,
12633 {
12634 (::windows_core::Interface::vtable(self).SharedFenceSignal)(::windows_core::Interface::as_raw(self), pfence.into_param().abi(), fencevalue)
12635 }
12636 pub unsafe fn BeginCapturableWork(&self, guid: *const ::windows_core::GUID) {
12637 (::windows_core::Interface::vtable(self).BeginCapturableWork)(::windows_core::Interface::as_raw(self), guid)
12638 }
12639 pub unsafe fn EndCapturableWork(&self, guid: *const ::windows_core::GUID) {
12640 (::windows_core::Interface::vtable(self).EndCapturableWork)(::windows_core::Interface::as_raw(self), guid)
12641 }
12642}
12643::windows_core::imp::interface_hierarchy!(ID3D12SharingContract, ::windows_core::IUnknown);
12644unsafe impl ::core::marker::Send for ID3D12SharingContract {}
12645unsafe impl ::core::marker::Sync for ID3D12SharingContract {}
12646unsafe impl ::windows_core::Interface for ID3D12SharingContract {
12647 type Vtable = ID3D12SharingContract_Vtbl;
12648}
12649unsafe impl ::windows_core::ComInterface for ID3D12SharingContract {
12650 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0adf7d52_929c_4e61_addb_ffed30de66ef);
12651}
12652#[repr(C)]
12653#[doc(hidden)]
12654pub struct ID3D12SharingContract_Vtbl {
12655 pub base__: ::windows_core::IUnknown_Vtbl,
12656 #[cfg(feature = "Win32_Foundation")]
12657 pub Present: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, presource: *mut ::core::ffi::c_void, subresource: u32, window: super::super::Foundation::HWND),
12658 #[cfg(not(feature = "Win32_Foundation"))]
12659 Present: usize,
12660 pub SharedFenceSignal: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfence: *mut ::core::ffi::c_void, fencevalue: u64),
12661 pub BeginCapturableWork: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guid: *const ::windows_core::GUID),
12662 pub EndCapturableWork: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guid: *const ::windows_core::GUID),
12663}
12664#[repr(transparent)]
12665#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12666pub struct ID3D12StateObject(::windows_core::IUnknown);
12667impl ID3D12StateObject {
12668 pub unsafe fn GetPrivateData(&self, guid: *const ::windows_core::GUID, pdatasize: *mut u32, pdata: ::core::option::Option<*mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
12669 (::windows_core::Interface::vtable(self).base__.base__.base__.GetPrivateData)(::windows_core::Interface::as_raw(self), guid, pdatasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null_mut()))).ok()
12670 }
12671 pub unsafe fn SetPrivateData(&self, guid: *const ::windows_core::GUID, datasize: u32, pdata: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
12672 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateData)(::windows_core::Interface::as_raw(self), guid, datasize, ::core::mem::transmute(pdata.unwrap_or(::std::ptr::null()))).ok()
12673 }
12674 pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const ::windows_core::GUID, pdata: P0) -> ::windows_core::Result<()>
12675 where
12676 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
12677 {
12678 (::windows_core::Interface::vtable(self).base__.base__.base__.SetPrivateDataInterface)(::windows_core::Interface::as_raw(self), guid, pdata.into_param().abi()).ok()
12679 }
12680 pub unsafe fn SetName<P0>(&self, name: P0) -> ::windows_core::Result<()>
12681 where
12682 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
12683 {
12684 (::windows_core::Interface::vtable(self).base__.base__.base__.SetName)(::windows_core::Interface::as_raw(self), name.into_param().abi()).ok()
12685 }
12686 pub unsafe fn GetDevice<T>(&self, result__: *mut ::core::option::Option<T>) -> ::windows_core::Result<()>
12687 where
12688 T: ::windows_core::ComInterface,
12689 {
12690 (::windows_core::Interface::vtable(self).base__.base__.GetDevice)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, result__ as *mut _ as *mut _).ok()
12691 }
12692}
12693::windows_core::imp::interface_hierarchy!(ID3D12StateObject, ::windows_core::IUnknown, ID3D12Object, ID3D12DeviceChild, ID3D12Pageable);
12694unsafe impl ::core::marker::Send for ID3D12StateObject {}
12695unsafe impl ::core::marker::Sync for ID3D12StateObject {}
12696unsafe impl ::windows_core::Interface for ID3D12StateObject {
12697 type Vtable = ID3D12StateObject_Vtbl;
12698}
12699unsafe impl ::windows_core::ComInterface for ID3D12StateObject {
12700 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x47016943_fca8_4594_93ea_af258b55346d);
12701}
12702#[repr(C)]
12703#[doc(hidden)]
12704pub struct ID3D12StateObject_Vtbl {
12705 pub base__: ID3D12Pageable_Vtbl,
12706}
12707#[repr(transparent)]
12708#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12709pub struct ID3D12StateObjectProperties(::windows_core::IUnknown);
12710impl ID3D12StateObjectProperties {
12711 pub unsafe fn GetShaderIdentifier<P0>(&self, pexportname: P0) -> *mut ::core::ffi::c_void
12712 where
12713 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
12714 {
12715 (::windows_core::Interface::vtable(self).GetShaderIdentifier)(::windows_core::Interface::as_raw(self), pexportname.into_param().abi())
12716 }
12717 pub unsafe fn GetShaderStackSize<P0>(&self, pexportname: P0) -> u64
12718 where
12719 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
12720 {
12721 (::windows_core::Interface::vtable(self).GetShaderStackSize)(::windows_core::Interface::as_raw(self), pexportname.into_param().abi())
12722 }
12723 pub unsafe fn GetPipelineStackSize(&self) -> u64 {
12724 (::windows_core::Interface::vtable(self).GetPipelineStackSize)(::windows_core::Interface::as_raw(self))
12725 }
12726 pub unsafe fn SetPipelineStackSize(&self, pipelinestacksizeinbytes: u64) {
12727 (::windows_core::Interface::vtable(self).SetPipelineStackSize)(::windows_core::Interface::as_raw(self), pipelinestacksizeinbytes)
12728 }
12729}
12730::windows_core::imp::interface_hierarchy!(ID3D12StateObjectProperties, ::windows_core::IUnknown);
12731unsafe impl ::core::marker::Send for ID3D12StateObjectProperties {}
12732unsafe impl ::core::marker::Sync for ID3D12StateObjectProperties {}
12733unsafe impl ::windows_core::Interface for ID3D12StateObjectProperties {
12734 type Vtable = ID3D12StateObjectProperties_Vtbl;
12735}
12736unsafe impl ::windows_core::ComInterface for ID3D12StateObjectProperties {
12737 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xde5fa827_9bf9_4f26_89ff_d7f56fde3860);
12738}
12739#[repr(C)]
12740#[doc(hidden)]
12741pub struct ID3D12StateObjectProperties_Vtbl {
12742 pub base__: ::windows_core::IUnknown_Vtbl,
12743 pub GetShaderIdentifier: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pexportname: ::windows_core::PCWSTR) -> *mut ::core::ffi::c_void,
12744 pub GetShaderStackSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pexportname: ::windows_core::PCWSTR) -> u64,
12745 pub GetPipelineStackSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u64,
12746 pub SetPipelineStackSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pipelinestacksizeinbytes: u64),
12747}
12748#[repr(transparent)]
12749#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12750pub struct ID3D12SwapChainAssistant(::windows_core::IUnknown);
12751impl ID3D12SwapChainAssistant {
12752 #[doc = "Required features: `\"Win32_Foundation\"`"]
12753 #[cfg(feature = "Win32_Foundation")]
12754 pub unsafe fn GetLUID(&self) -> super::super::Foundation::LUID {
12755 let mut result__: super::super::Foundation::LUID = ::core::mem::zeroed();
12756 (::windows_core::Interface::vtable(self).GetLUID)(::windows_core::Interface::as_raw(self), &mut result__);
12757 result__
12758 }
12759 pub unsafe fn GetSwapChainObject<T>(&self) -> ::windows_core::Result<T>
12760 where
12761 T: ::windows_core::ComInterface,
12762 {
12763 let mut result__ = ::std::ptr::null_mut();
12764 (::windows_core::Interface::vtable(self).GetSwapChainObject)(::windows_core::Interface::as_raw(self), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
12765 }
12766 pub unsafe fn GetCurrentResourceAndCommandQueue<T>(&self, riidresource: *const ::windows_core::GUID, ppvresource: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<T>
12767 where
12768 T: ::windows_core::ComInterface,
12769 {
12770 let mut result__ = ::std::ptr::null_mut();
12771 (::windows_core::Interface::vtable(self).GetCurrentResourceAndCommandQueue)(::windows_core::Interface::as_raw(self), riidresource, ppvresource, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
12772 }
12773 pub unsafe fn InsertImplicitSync(&self) -> ::windows_core::Result<()> {
12774 (::windows_core::Interface::vtable(self).InsertImplicitSync)(::windows_core::Interface::as_raw(self)).ok()
12775 }
12776}
12777::windows_core::imp::interface_hierarchy!(ID3D12SwapChainAssistant, ::windows_core::IUnknown);
12778unsafe impl ::core::marker::Send for ID3D12SwapChainAssistant {}
12779unsafe impl ::core::marker::Sync for ID3D12SwapChainAssistant {}
12780unsafe impl ::windows_core::Interface for ID3D12SwapChainAssistant {
12781 type Vtable = ID3D12SwapChainAssistant_Vtbl;
12782}
12783unsafe impl ::windows_core::ComInterface for ID3D12SwapChainAssistant {
12784 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xf1df64b6_57fd_49cd_8807_c0eb88b45c8f);
12785}
12786#[repr(C)]
12787#[doc(hidden)]
12788pub struct ID3D12SwapChainAssistant_Vtbl {
12789 pub base__: ::windows_core::IUnknown_Vtbl,
12790 #[cfg(feature = "Win32_Foundation")]
12791 pub GetLUID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::LUID),
12792 #[cfg(not(feature = "Win32_Foundation"))]
12793 GetLUID: usize,
12794 pub GetSwapChainObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
12795 pub GetCurrentResourceAndCommandQueue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riidresource: *const ::windows_core::GUID, ppvresource: *mut *mut ::core::ffi::c_void, riidqueue: *const ::windows_core::GUID, ppvqueue: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
12796 pub InsertImplicitSync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
12797}
12798#[repr(transparent)]
12799#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12800pub struct ID3D12Tools(::windows_core::IUnknown);
12801impl ID3D12Tools {
12802 #[doc = "Required features: `\"Win32_Foundation\"`"]
12803 #[cfg(feature = "Win32_Foundation")]
12804 pub unsafe fn EnableShaderInstrumentation<P0>(&self, benable: P0)
12805 where
12806 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
12807 {
12808 (::windows_core::Interface::vtable(self).EnableShaderInstrumentation)(::windows_core::Interface::as_raw(self), benable.into_param().abi())
12809 }
12810 #[doc = "Required features: `\"Win32_Foundation\"`"]
12811 #[cfg(feature = "Win32_Foundation")]
12812 pub unsafe fn ShaderInstrumentationEnabled(&self) -> super::super::Foundation::BOOL {
12813 (::windows_core::Interface::vtable(self).ShaderInstrumentationEnabled)(::windows_core::Interface::as_raw(self))
12814 }
12815}
12816::windows_core::imp::interface_hierarchy!(ID3D12Tools, ::windows_core::IUnknown);
12817unsafe impl ::core::marker::Send for ID3D12Tools {}
12818unsafe impl ::core::marker::Sync for ID3D12Tools {}
12819unsafe impl ::windows_core::Interface for ID3D12Tools {
12820 type Vtable = ID3D12Tools_Vtbl;
12821}
12822unsafe impl ::windows_core::ComInterface for ID3D12Tools {
12823 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x7071e1f0_e84b_4b33_974f_12fa49de65c5);
12824}
12825#[repr(C)]
12826#[doc(hidden)]
12827pub struct ID3D12Tools_Vtbl {
12828 pub base__: ::windows_core::IUnknown_Vtbl,
12829 #[cfg(feature = "Win32_Foundation")]
12830 pub EnableShaderInstrumentation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, benable: super::super::Foundation::BOOL),
12831 #[cfg(not(feature = "Win32_Foundation"))]
12832 EnableShaderInstrumentation: usize,
12833 #[cfg(feature = "Win32_Foundation")]
12834 pub ShaderInstrumentationEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL,
12835 #[cfg(not(feature = "Win32_Foundation"))]
12836 ShaderInstrumentationEnabled: usize,
12837}
12838#[repr(transparent)]
12839#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12840pub struct ID3D12VersionedRootSignatureDeserializer(::windows_core::IUnknown);
12841impl ID3D12VersionedRootSignatureDeserializer {
12842 pub unsafe fn GetRootSignatureDescAtVersion(&self, converttoversion: D3D_ROOT_SIGNATURE_VERSION) -> ::windows_core::Result<*mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC> {
12843 let mut result__: *mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC = ::std::mem::zeroed();
12844 (::windows_core::Interface::vtable(self).GetRootSignatureDescAtVersion)(::windows_core::Interface::as_raw(self), converttoversion, &mut result__).from_abi(result__)
12845 }
12846 pub unsafe fn GetUnconvertedRootSignatureDesc(&self) -> *mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC {
12847 (::windows_core::Interface::vtable(self).GetUnconvertedRootSignatureDesc)(::windows_core::Interface::as_raw(self))
12848 }
12849}
12850::windows_core::imp::interface_hierarchy!(ID3D12VersionedRootSignatureDeserializer, ::windows_core::IUnknown);
12851unsafe impl ::core::marker::Send for ID3D12VersionedRootSignatureDeserializer {}
12852unsafe impl ::core::marker::Sync for ID3D12VersionedRootSignatureDeserializer {}
12853unsafe impl ::windows_core::Interface for ID3D12VersionedRootSignatureDeserializer {
12854 type Vtable = ID3D12VersionedRootSignatureDeserializer_Vtbl;
12855}
12856unsafe impl ::windows_core::ComInterface for ID3D12VersionedRootSignatureDeserializer {
12857 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x7f91ce67_090c_4bb7_b78e_ed8ff2e31da0);
12858}
12859#[repr(C)]
12860#[doc(hidden)]
12861pub struct ID3D12VersionedRootSignatureDeserializer_Vtbl {
12862 pub base__: ::windows_core::IUnknown_Vtbl,
12863 pub GetRootSignatureDescAtVersion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, converttoversion: D3D_ROOT_SIGNATURE_VERSION, ppdesc: *mut *mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC) -> ::windows_core::HRESULT,
12864 pub GetUnconvertedRootSignatureDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> *mut D3D12_VERSIONED_ROOT_SIGNATURE_DESC,
12865}
12866#[repr(transparent)]
12867#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
12868pub struct ID3D12VirtualizationGuestDevice(::windows_core::IUnknown);
12869impl ID3D12VirtualizationGuestDevice {
12870 #[doc = "Required features: `\"Win32_Foundation\"`"]
12871 #[cfg(feature = "Win32_Foundation")]
12872 pub unsafe fn ShareWithHost<P0>(&self, pobject: P0) -> ::windows_core::Result<super::super::Foundation::HANDLE>
12873 where
12874 P0: ::windows_core::IntoParam<ID3D12DeviceChild>,
12875 {
12876 let mut result__: HANDLE = ::std::mem::zeroed();
12877 (::windows_core::Interface::vtable(self).ShareWithHost)(::windows_core::Interface::as_raw(self), pobject.into_param().abi(), &mut result__).from_abi(result__)
12878 }
12879 pub unsafe fn CreateFenceFd<P0>(&self, pfence: P0, fencevalue: u64) -> ::windows_core::Result<i32>
12880 where
12881 P0: ::windows_core::IntoParam<ID3D12Fence>,
12882 {
12883 let mut result__: i32 = ::std::mem::zeroed();
12884 (::windows_core::Interface::vtable(self).CreateFenceFd)(::windows_core::Interface::as_raw(self), pfence.into_param().abi(), fencevalue, &mut result__).from_abi(result__)
12885 }
12886}
12887::windows_core::imp::interface_hierarchy!(ID3D12VirtualizationGuestDevice, ::windows_core::IUnknown);
12888unsafe impl ::core::marker::Send for ID3D12VirtualizationGuestDevice {}
12889unsafe impl ::core::marker::Sync for ID3D12VirtualizationGuestDevice {}
12890unsafe impl ::windows_core::Interface for ID3D12VirtualizationGuestDevice {
12891 type Vtable = ID3D12VirtualizationGuestDevice_Vtbl;
12892}
12893unsafe impl ::windows_core::ComInterface for ID3D12VirtualizationGuestDevice {
12894 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xbc66d368_7373_4943_8757_fc87dc79e476);
12895}
12896#[repr(C)]
12897#[doc(hidden)]
12898pub struct ID3D12VirtualizationGuestDevice_Vtbl {
12899 pub base__: ::windows_core::IUnknown_Vtbl,
12900 #[cfg(feature = "Win32_Foundation")]
12901 pub ShareWithHost: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pobject: *mut ::core::ffi::c_void, phandle: *mut super::super::Foundation::HANDLE) -> ::windows_core::HRESULT,
12902 #[cfg(not(feature = "Win32_Foundation"))]
12903 ShareWithHost: usize,
12904 pub CreateFenceFd: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfence: *mut ::core::ffi::c_void, fencevalue: u64, pfencefd: *mut i32) -> ::windows_core::HRESULT,
12905}
12906pub const CLSID_D3D12DSRDeviceFactory: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x7f9bdcac_f629_455e_ab13_a807fbe9aba4);
12907pub const CLSID_D3D12Debug: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xf2352aeb_dd84_49fe_b97b_a9dcfdcc1b4f);
12908pub const CLSID_D3D12DeviceFactory: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x114863bf_c386_4aee_b39d_8f0bbb062955);
12909pub const CLSID_D3D12DeviceRemovedExtendedData: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x4a75bbc4_9ff4_4ad8_9f18_abae84dc5ff2);
12910pub const CLSID_D3D12SDKConfiguration: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x7cda6aca_a03e_49c8_9458_0334d20e07ce);
12911pub const CLSID_D3D12Tools: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xe38216b1_3c8c_4833_aa09_0a06b65d96c8);
12912pub const D3D12ExperimentalShaderModels: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x76f5573e_f13a_40f5_b297_81ce9e18933f);
12913pub const D3D12TiledResourceTier4: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xc9c4725f_a81a_4f56_8c5b_c51039d694fb);
12914pub const D3D12_16BIT_INDEX_STRIP_CUT_VALUE: u32 = 65535u32;
12915pub const D3D12_32BIT_INDEX_STRIP_CUT_VALUE: u32 = 4294967295u32;
12916pub const D3D12_8BIT_INDEX_STRIP_CUT_VALUE: u32 = 255u32;
12917pub const D3D12_ANISOTROPIC_FILTERING_BIT: u32 = 64u32;
12918pub const D3D12_APPEND_ALIGNED_ELEMENT: u32 = 4294967295u32;
12919pub const D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT: u32 = 9u32;
12920pub const D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(23i32);
12921pub const D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(24i32);
12922pub const D3D12_AUTO_BREADCRUMB_OP_BARRIER: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(45i32);
12923pub const D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(1i32);
12924pub const D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(19i32);
12925pub const D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(31i32);
12926pub const D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(14i32);
12927pub const D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(12i32);
12928pub const D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(13i32);
12929pub const D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(7i32);
12930pub const D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(33i32);
12931pub const D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(9i32);
12932pub const D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(8i32);
12933pub const D3D12_AUTO_BREADCRUMB_OP_COPYTILES: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(10i32);
12934pub const D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(21i32);
12935pub const D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(27i32);
12936pub const D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(29i32);
12937pub const D3D12_AUTO_BREADCRUMB_OP_DISPATCH: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(6i32);
12938pub const D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(42i32);
12939pub const D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(34i32);
12940pub const D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(4i32);
12941pub const D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(3i32);
12942pub const D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(32i32);
12943pub const D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(43i32);
12944pub const D3D12_AUTO_BREADCRUMB_OP_ENDEVENT: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(2i32);
12945pub const D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(20i32);
12946pub const D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(37i32);
12947pub const D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(16i32);
12948pub const D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(41i32);
12949pub const D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(5i32);
12950pub const D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(36i32);
12951pub const D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(40i32);
12952pub const D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(35i32);
12953pub const D3D12_AUTO_BREADCRUMB_OP_PRESENT: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(17i32);
12954pub const D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(22i32);
12955pub const D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(30i32);
12956pub const D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(44i32);
12957pub const D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(38i32);
12958pub const D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(18i32);
12959pub const D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(11i32);
12960pub const D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(25i32);
12961pub const D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(15i32);
12962pub const D3D12_AUTO_BREADCRUMB_OP_SETMARKER: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(0i32);
12963pub const D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(39i32);
12964pub const D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(28i32);
12965pub const D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE: D3D12_AUTO_BREADCRUMB_OP = D3D12_AUTO_BREADCRUMB_OP(26i32);
12966pub const D3D12_AXIS_SHADING_RATE_1X: D3D12_AXIS_SHADING_RATE = D3D12_AXIS_SHADING_RATE(0i32);
12967pub const D3D12_AXIS_SHADING_RATE_2X: D3D12_AXIS_SHADING_RATE = D3D12_AXIS_SHADING_RATE(1i32);
12968pub const D3D12_AXIS_SHADING_RATE_4X: D3D12_AXIS_SHADING_RATE = D3D12_AXIS_SHADING_RATE(2i32);
12969pub const D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED: D3D12_BACKGROUND_PROCESSING_MODE = D3D12_BACKGROUND_PROCESSING_MODE(0i32);
12970pub const D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS: D3D12_BACKGROUND_PROCESSING_MODE = D3D12_BACKGROUND_PROCESSING_MODE(1i32);
12971pub const D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK: D3D12_BACKGROUND_PROCESSING_MODE = D3D12_BACKGROUND_PROCESSING_MODE(2i32);
12972pub const D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM: D3D12_BACKGROUND_PROCESSING_MODE = D3D12_BACKGROUND_PROCESSING_MODE(3i32);
12973pub const D3D12_BARRIER_ACCESS_COMMON: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(0i32);
12974pub const D3D12_BARRIER_ACCESS_CONSTANT_BUFFER: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(2i32);
12975pub const D3D12_BARRIER_ACCESS_COPY_DEST: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(1024i32);
12976pub const D3D12_BARRIER_ACCESS_COPY_SOURCE: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(2048i32);
12977pub const D3D12_BARRIER_ACCESS_DEPTH_STENCIL_READ: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(64i32);
12978pub const D3D12_BARRIER_ACCESS_DEPTH_STENCIL_WRITE: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(32i32);
12979pub const D3D12_BARRIER_ACCESS_INDEX_BUFFER: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(4i32);
12980pub const D3D12_BARRIER_ACCESS_INDIRECT_ARGUMENT: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(512i32);
12981pub const D3D12_BARRIER_ACCESS_NO_ACCESS: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(-2147483648i32);
12982pub const D3D12_BARRIER_ACCESS_PREDICATION: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(512i32);
12983pub const D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(16384i32);
12984pub const D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(32768i32);
12985pub const D3D12_BARRIER_ACCESS_RENDER_TARGET: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(8i32);
12986pub const D3D12_BARRIER_ACCESS_RESOLVE_DEST: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(4096i32);
12987pub const D3D12_BARRIER_ACCESS_RESOLVE_SOURCE: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(8192i32);
12988pub const D3D12_BARRIER_ACCESS_SHADER_RESOURCE: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(128i32);
12989pub const D3D12_BARRIER_ACCESS_SHADING_RATE_SOURCE: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(65536i32);
12990pub const D3D12_BARRIER_ACCESS_STREAM_OUTPUT: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(256i32);
12991pub const D3D12_BARRIER_ACCESS_UNORDERED_ACCESS: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(16i32);
12992pub const D3D12_BARRIER_ACCESS_VERTEX_BUFFER: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(1i32);
12993pub const D3D12_BARRIER_ACCESS_VIDEO_DECODE_READ: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(131072i32);
12994pub const D3D12_BARRIER_ACCESS_VIDEO_DECODE_WRITE: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(262144i32);
12995pub const D3D12_BARRIER_ACCESS_VIDEO_ENCODE_READ: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(2097152i32);
12996pub const D3D12_BARRIER_ACCESS_VIDEO_ENCODE_WRITE: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(4194304i32);
12997pub const D3D12_BARRIER_ACCESS_VIDEO_PROCESS_READ: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(524288i32);
12998pub const D3D12_BARRIER_ACCESS_VIDEO_PROCESS_WRITE: D3D12_BARRIER_ACCESS = D3D12_BARRIER_ACCESS(1048576i32);
12999pub const D3D12_BARRIER_LAYOUT_COMMON: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(0i32);
13000pub const D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(24i32);
13001pub const D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(29i32);
13002pub const D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(28i32);
13003pub const D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(25i32);
13004pub const D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(27i32);
13005pub const D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(26i32);
13006pub const D3D12_BARRIER_LAYOUT_COPY_DEST: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(8i32);
13007pub const D3D12_BARRIER_LAYOUT_COPY_SOURCE: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(7i32);
13008pub const D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(5i32);
13009pub const D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(4i32);
13010pub const D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(18i32);
13011pub const D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(23i32);
13012pub const D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(22i32);
13013pub const D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(19i32);
13014pub const D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(21i32);
13015pub const D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(20i32);
13016pub const D3D12_BARRIER_LAYOUT_GENERIC_READ: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(1i32);
13017pub const D3D12_BARRIER_LAYOUT_PRESENT: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(0i32);
13018pub const D3D12_BARRIER_LAYOUT_RENDER_TARGET: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(2i32);
13019pub const D3D12_BARRIER_LAYOUT_RESOLVE_DEST: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(10i32);
13020pub const D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(9i32);
13021pub const D3D12_BARRIER_LAYOUT_SHADER_RESOURCE: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(6i32);
13022pub const D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(11i32);
13023pub const D3D12_BARRIER_LAYOUT_UNDEFINED: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(-1i32);
13024pub const D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(3i32);
13025pub const D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(12i32);
13026pub const D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(13i32);
13027pub const D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(16i32);
13028pub const D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(17i32);
13029pub const D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(14i32);
13030pub const D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(15i32);
13031pub const D3D12_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON: D3D12_BARRIER_LAYOUT = D3D12_BARRIER_LAYOUT(30i32);
13032pub const D3D12_BARRIER_SYNC_ALL: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(1i32);
13033pub const D3D12_BARRIER_SYNC_ALL_SHADING: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(4096i32);
13034pub const D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(8388608i32);
13035pub const D3D12_BARRIER_SYNC_CLEAR_UNORDERED_ACCESS_VIEW: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(32768i32);
13036pub const D3D12_BARRIER_SYNC_COMPUTE_SHADING: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(128i32);
13037pub const D3D12_BARRIER_SYNC_COPY: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(512i32);
13038pub const D3D12_BARRIER_SYNC_COPY_RAYTRACING_ACCELERATION_STRUCTURE: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(16777216i32);
13039pub const D3D12_BARRIER_SYNC_DEPTH_STENCIL: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(32i32);
13040pub const D3D12_BARRIER_SYNC_DRAW: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(2i32);
13041pub const D3D12_BARRIER_SYNC_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(16384i32);
13042pub const D3D12_BARRIER_SYNC_EXECUTE_INDIRECT: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(2048i32);
13043pub const D3D12_BARRIER_SYNC_INDEX_INPUT: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(4i32);
13044pub const D3D12_BARRIER_SYNC_NONE: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(0i32);
13045pub const D3D12_BARRIER_SYNC_NON_PIXEL_SHADING: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(8192i32);
13046pub const D3D12_BARRIER_SYNC_PIXEL_SHADING: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(16i32);
13047pub const D3D12_BARRIER_SYNC_PREDICATION: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(2048i32);
13048pub const D3D12_BARRIER_SYNC_RAYTRACING: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(256i32);
13049pub const D3D12_BARRIER_SYNC_RENDER_TARGET: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(64i32);
13050pub const D3D12_BARRIER_SYNC_RESOLVE: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(1024i32);
13051pub const D3D12_BARRIER_SYNC_SPLIT: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(-2147483648i32);
13052pub const D3D12_BARRIER_SYNC_VERTEX_SHADING: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(8i32);
13053pub const D3D12_BARRIER_SYNC_VIDEO_DECODE: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(1048576i32);
13054pub const D3D12_BARRIER_SYNC_VIDEO_ENCODE: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(4194304i32);
13055pub const D3D12_BARRIER_SYNC_VIDEO_PROCESS: D3D12_BARRIER_SYNC = D3D12_BARRIER_SYNC(2097152i32);
13056pub const D3D12_BARRIER_TYPE_BUFFER: D3D12_BARRIER_TYPE = D3D12_BARRIER_TYPE(2i32);
13057pub const D3D12_BARRIER_TYPE_GLOBAL: D3D12_BARRIER_TYPE = D3D12_BARRIER_TYPE(0i32);
13058pub const D3D12_BARRIER_TYPE_TEXTURE: D3D12_BARRIER_TYPE = D3D12_BARRIER_TYPE(1i32);
13059pub const D3D12_BLEND_ALPHA_FACTOR: D3D12_BLEND = D3D12_BLEND(20i32);
13060pub const D3D12_BLEND_BLEND_FACTOR: D3D12_BLEND = D3D12_BLEND(14i32);
13061pub const D3D12_BLEND_DEST_ALPHA: D3D12_BLEND = D3D12_BLEND(7i32);
13062pub const D3D12_BLEND_DEST_COLOR: D3D12_BLEND = D3D12_BLEND(9i32);
13063pub const D3D12_BLEND_INV_ALPHA_FACTOR: D3D12_BLEND = D3D12_BLEND(21i32);
13064pub const D3D12_BLEND_INV_BLEND_FACTOR: D3D12_BLEND = D3D12_BLEND(15i32);
13065pub const D3D12_BLEND_INV_DEST_ALPHA: D3D12_BLEND = D3D12_BLEND(8i32);
13066pub const D3D12_BLEND_INV_DEST_COLOR: D3D12_BLEND = D3D12_BLEND(10i32);
13067pub const D3D12_BLEND_INV_SRC1_ALPHA: D3D12_BLEND = D3D12_BLEND(19i32);
13068pub const D3D12_BLEND_INV_SRC1_COLOR: D3D12_BLEND = D3D12_BLEND(17i32);
13069pub const D3D12_BLEND_INV_SRC_ALPHA: D3D12_BLEND = D3D12_BLEND(6i32);
13070pub const D3D12_BLEND_INV_SRC_COLOR: D3D12_BLEND = D3D12_BLEND(4i32);
13071pub const D3D12_BLEND_ONE: D3D12_BLEND = D3D12_BLEND(2i32);
13072pub const D3D12_BLEND_OP_ADD: D3D12_BLEND_OP = D3D12_BLEND_OP(1i32);
13073pub const D3D12_BLEND_OP_MAX: D3D12_BLEND_OP = D3D12_BLEND_OP(5i32);
13074pub const D3D12_BLEND_OP_MIN: D3D12_BLEND_OP = D3D12_BLEND_OP(4i32);
13075pub const D3D12_BLEND_OP_REV_SUBTRACT: D3D12_BLEND_OP = D3D12_BLEND_OP(3i32);
13076pub const D3D12_BLEND_OP_SUBTRACT: D3D12_BLEND_OP = D3D12_BLEND_OP(2i32);
13077pub const D3D12_BLEND_SRC1_ALPHA: D3D12_BLEND = D3D12_BLEND(18i32);
13078pub const D3D12_BLEND_SRC1_COLOR: D3D12_BLEND = D3D12_BLEND(16i32);
13079pub const D3D12_BLEND_SRC_ALPHA: D3D12_BLEND = D3D12_BLEND(5i32);
13080pub const D3D12_BLEND_SRC_ALPHA_SAT: D3D12_BLEND = D3D12_BLEND(11i32);
13081pub const D3D12_BLEND_SRC_COLOR: D3D12_BLEND = D3D12_BLEND(3i32);
13082pub const D3D12_BLEND_ZERO: D3D12_BLEND = D3D12_BLEND(1i32);
13083pub const D3D12_BUFFER_SRV_FLAG_NONE: D3D12_BUFFER_SRV_FLAGS = D3D12_BUFFER_SRV_FLAGS(0i32);
13084pub const D3D12_BUFFER_SRV_FLAG_RAW: D3D12_BUFFER_SRV_FLAGS = D3D12_BUFFER_SRV_FLAGS(1i32);
13085pub const D3D12_BUFFER_UAV_FLAG_NONE: D3D12_BUFFER_UAV_FLAGS = D3D12_BUFFER_UAV_FLAGS(0i32);
13086pub const D3D12_BUFFER_UAV_FLAG_RAW: D3D12_BUFFER_UAV_FLAGS = D3D12_BUFFER_UAV_FLAGS(1i32);
13087pub const D3D12_CLEAR_FLAG_DEPTH: D3D12_CLEAR_FLAGS = D3D12_CLEAR_FLAGS(1i32);
13088pub const D3D12_CLEAR_FLAG_STENCIL: D3D12_CLEAR_FLAGS = D3D12_CLEAR_FLAGS(2i32);
13089pub const D3D12_CLIP_OR_CULL_DISTANCE_COUNT: u32 = 8u32;
13090pub const D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT: u32 = 2u32;
13091pub const D3D12_COLOR_WRITE_ENABLE_ALL: D3D12_COLOR_WRITE_ENABLE = D3D12_COLOR_WRITE_ENABLE(15i32);
13092pub const D3D12_COLOR_WRITE_ENABLE_ALPHA: D3D12_COLOR_WRITE_ENABLE = D3D12_COLOR_WRITE_ENABLE(8i32);
13093pub const D3D12_COLOR_WRITE_ENABLE_BLUE: D3D12_COLOR_WRITE_ENABLE = D3D12_COLOR_WRITE_ENABLE(4i32);
13094pub const D3D12_COLOR_WRITE_ENABLE_GREEN: D3D12_COLOR_WRITE_ENABLE = D3D12_COLOR_WRITE_ENABLE(2i32);
13095pub const D3D12_COLOR_WRITE_ENABLE_RED: D3D12_COLOR_WRITE_ENABLE = D3D12_COLOR_WRITE_ENABLE(1i32);
13096pub const D3D12_COMMAND_LIST_FLAG_NONE: D3D12_COMMAND_LIST_FLAGS = D3D12_COMMAND_LIST_FLAGS(0i32);
13097pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_BUNDLE: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(2i32);
13098pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_COMPUTE: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(4i32);
13099pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(8i32);
13100pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(1i32);
13101pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(0i32);
13102pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(16i32);
13103pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(64i32);
13104pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS: D3D12_COMMAND_LIST_SUPPORT_FLAGS = D3D12_COMMAND_LIST_SUPPORT_FLAGS(32i32);
13105pub const D3D12_COMMAND_LIST_TYPE_BUNDLE: D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE(1i32);
13106pub const D3D12_COMMAND_LIST_TYPE_COMPUTE: D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE(2i32);
13107pub const D3D12_COMMAND_LIST_TYPE_COPY: D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE(3i32);
13108pub const D3D12_COMMAND_LIST_TYPE_DIRECT: D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE(0i32);
13109pub const D3D12_COMMAND_LIST_TYPE_NONE: D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE(-1i32);
13110pub const D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE: D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE(4i32);
13111pub const D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE: D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE(6i32);
13112pub const D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS: D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE(5i32);
13113pub const D3D12_COMMAND_POOL_FLAG_NONE: D3D12_COMMAND_POOL_FLAGS = D3D12_COMMAND_POOL_FLAGS(0i32);
13114pub const D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT: D3D12_COMMAND_QUEUE_FLAGS = D3D12_COMMAND_QUEUE_FLAGS(1i32);
13115pub const D3D12_COMMAND_QUEUE_FLAG_NONE: D3D12_COMMAND_QUEUE_FLAGS = D3D12_COMMAND_QUEUE_FLAGS(0i32);
13116pub const D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME: D3D12_COMMAND_QUEUE_PRIORITY = D3D12_COMMAND_QUEUE_PRIORITY(10000i32);
13117pub const D3D12_COMMAND_QUEUE_PRIORITY_HIGH: D3D12_COMMAND_QUEUE_PRIORITY = D3D12_COMMAND_QUEUE_PRIORITY(100i32);
13118pub const D3D12_COMMAND_QUEUE_PRIORITY_NORMAL: D3D12_COMMAND_QUEUE_PRIORITY = D3D12_COMMAND_QUEUE_PRIORITY(0i32);
13119pub const D3D12_COMMAND_RECORDER_FLAG_NONE: D3D12_COMMAND_RECORDER_FLAGS = D3D12_COMMAND_RECORDER_FLAGS(0i32);
13120pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT: u32 = 14u32;
13121pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS: u32 = 4u32;
13122pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT: u32 = 32u32;
13123pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT: u32 = 15u32;
13124pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT: u32 = 16u32;
13125pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS: u32 = 4u32;
13126pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT: u32 = 15u32;
13127pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST: u32 = 1u32;
13128pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS: u32 = 1u32;
13129pub const D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT: u32 = 64u32;
13130pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS: u32 = 4u32;
13131pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT: u32 = 1u32;
13132pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST: u32 = 1u32;
13133pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS: u32 = 1u32;
13134pub const D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT: u32 = 32u32;
13135pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS: u32 = 1u32;
13136pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT: u32 = 128u32;
13137pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST: u32 = 1u32;
13138pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS: u32 = 1u32;
13139pub const D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT: u32 = 128u32;
13140pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS: u32 = 1u32;
13141pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT: u32 = 16u32;
13142pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST: u32 = 1u32;
13143pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS: u32 = 1u32;
13144pub const D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT: u32 = 16u32;
13145pub const D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT: u32 = 32u32;
13146pub const D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS: u32 = 4u32;
13147pub const D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13148pub const D3D12_COMMONSHADER_TEMP_REGISTER_COUNT: u32 = 4096u32;
13149pub const D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST: u32 = 3u32;
13150pub const D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS: u32 = 3u32;
13151pub const D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX: u32 = 10u32;
13152pub const D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN: i32 = -10i32;
13153pub const D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE: i32 = -8i32;
13154pub const D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE: u32 = 7u32;
13155pub const D3D12_COMPARISON_FUNC_ALWAYS: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(8i32);
13156pub const D3D12_COMPARISON_FUNC_EQUAL: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(3i32);
13157pub const D3D12_COMPARISON_FUNC_GREATER: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(5i32);
13158pub const D3D12_COMPARISON_FUNC_GREATER_EQUAL: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(7i32);
13159pub const D3D12_COMPARISON_FUNC_LESS: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(2i32);
13160pub const D3D12_COMPARISON_FUNC_LESS_EQUAL: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(4i32);
13161pub const D3D12_COMPARISON_FUNC_NEVER: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(1i32);
13162pub const D3D12_COMPARISON_FUNC_NONE: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(0i32);
13163pub const D3D12_COMPARISON_FUNC_NOT_EQUAL: D3D12_COMPARISON_FUNC = D3D12_COMPARISON_FUNC(6i32);
13164pub const D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF: D3D12_CONSERVATIVE_RASTERIZATION_MODE = D3D12_CONSERVATIVE_RASTERIZATION_MODE(0i32);
13165pub const D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON: D3D12_CONSERVATIVE_RASTERIZATION_MODE = D3D12_CONSERVATIVE_RASTERIZATION_MODE(1i32);
13166pub const D3D12_CONSERVATIVE_RASTERIZATION_TIER_1: D3D12_CONSERVATIVE_RASTERIZATION_TIER = D3D12_CONSERVATIVE_RASTERIZATION_TIER(1i32);
13167pub const D3D12_CONSERVATIVE_RASTERIZATION_TIER_2: D3D12_CONSERVATIVE_RASTERIZATION_TIER = D3D12_CONSERVATIVE_RASTERIZATION_TIER(2i32);
13168pub const D3D12_CONSERVATIVE_RASTERIZATION_TIER_3: D3D12_CONSERVATIVE_RASTERIZATION_TIER = D3D12_CONSERVATIVE_RASTERIZATION_TIER(3i32);
13169pub const D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED: D3D12_CONSERVATIVE_RASTERIZATION_TIER = D3D12_CONSERVATIVE_RASTERIZATION_TIER(0i32);
13170pub const D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT: u32 = 256u32;
13171pub const D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE: D3D12_CPU_PAGE_PROPERTY = D3D12_CPU_PAGE_PROPERTY(1i32);
13172pub const D3D12_CPU_PAGE_PROPERTY_UNKNOWN: D3D12_CPU_PAGE_PROPERTY = D3D12_CPU_PAGE_PROPERTY(0i32);
13173pub const D3D12_CPU_PAGE_PROPERTY_WRITE_BACK: D3D12_CPU_PAGE_PROPERTY = D3D12_CPU_PAGE_PROPERTY(3i32);
13174pub const D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE: D3D12_CPU_PAGE_PROPERTY = D3D12_CPU_PAGE_PROPERTY(2i32);
13175pub const D3D12_CROSS_NODE_SHARING_TIER_1: D3D12_CROSS_NODE_SHARING_TIER = D3D12_CROSS_NODE_SHARING_TIER(2i32);
13176pub const D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED: D3D12_CROSS_NODE_SHARING_TIER = D3D12_CROSS_NODE_SHARING_TIER(1i32);
13177pub const D3D12_CROSS_NODE_SHARING_TIER_2: D3D12_CROSS_NODE_SHARING_TIER = D3D12_CROSS_NODE_SHARING_TIER(3i32);
13178pub const D3D12_CROSS_NODE_SHARING_TIER_3: D3D12_CROSS_NODE_SHARING_TIER = D3D12_CROSS_NODE_SHARING_TIER(4i32);
13179pub const D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED: D3D12_CROSS_NODE_SHARING_TIER = D3D12_CROSS_NODE_SHARING_TIER(0i32);
13180pub const D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 256u32;
13181pub const D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP: u32 = 64u32;
13182pub const D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 240u32;
13183pub const D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP: u32 = 68u32;
13184pub const D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 224u32;
13185pub const D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP: u32 = 72u32;
13186pub const D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 208u32;
13187pub const D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP: u32 = 76u32;
13188pub const D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 192u32;
13189pub const D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP: u32 = 84u32;
13190pub const D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 176u32;
13191pub const D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP: u32 = 92u32;
13192pub const D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 160u32;
13193pub const D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP: u32 = 100u32;
13194pub const D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 144u32;
13195pub const D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP: u32 = 112u32;
13196pub const D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 128u32;
13197pub const D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP: u32 = 128u32;
13198pub const D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 112u32;
13199pub const D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP: u32 = 144u32;
13200pub const D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 96u32;
13201pub const D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP: u32 = 168u32;
13202pub const D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 80u32;
13203pub const D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP: u32 = 204u32;
13204pub const D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 64u32;
13205pub const D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP: u32 = 256u32;
13206pub const D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 48u32;
13207pub const D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP: u32 = 340u32;
13208pub const D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 32u32;
13209pub const D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP: u32 = 512u32;
13210pub const D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: u32 = 16u32;
13211pub const D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP: u32 = 768u32;
13212pub const D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION: u32 = 1u32;
13213pub const D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT: u32 = 256u32;
13214pub const D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP: u32 = 768u32;
13215pub const D3D12_CS_4_X_THREAD_GROUP_MAX_X: u32 = 768u32;
13216pub const D3D12_CS_4_X_THREAD_GROUP_MAX_Y: u32 = 768u32;
13217pub const D3D12_CS_4_X_UAV_REGISTER_COUNT: u32 = 1u32;
13218pub const D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION: u32 = 65535u32;
13219pub const D3D12_CS_TGSM_REGISTER_COUNT: u32 = 8192u32;
13220pub const D3D12_CS_TGSM_REGISTER_READS_PER_INST: u32 = 1u32;
13221pub const D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS: u32 = 1u32;
13222pub const D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS: u32 = 1u32;
13223pub const D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS: u32 = 3u32;
13224pub const D3D12_CS_THREADGROUPID_REGISTER_COUNT: u32 = 1u32;
13225pub const D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS: u32 = 1u32;
13226pub const D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT: u32 = 1u32;
13227pub const D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS: u32 = 3u32;
13228pub const D3D12_CS_THREADIDINGROUP_REGISTER_COUNT: u32 = 1u32;
13229pub const D3D12_CS_THREADID_REGISTER_COMPONENTS: u32 = 3u32;
13230pub const D3D12_CS_THREADID_REGISTER_COUNT: u32 = 1u32;
13231pub const D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP: u32 = 1024u32;
13232pub const D3D12_CS_THREAD_GROUP_MAX_X: u32 = 1024u32;
13233pub const D3D12_CS_THREAD_GROUP_MAX_Y: u32 = 1024u32;
13234pub const D3D12_CS_THREAD_GROUP_MAX_Z: u32 = 64u32;
13235pub const D3D12_CS_THREAD_GROUP_MIN_X: u32 = 1u32;
13236pub const D3D12_CS_THREAD_GROUP_MIN_Y: u32 = 1u32;
13237pub const D3D12_CS_THREAD_GROUP_MIN_Z: u32 = 1u32;
13238pub const D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL: u32 = 16384u32;
13239pub const D3D12_CULL_MODE_BACK: D3D12_CULL_MODE = D3D12_CULL_MODE(3i32);
13240pub const D3D12_CULL_MODE_FRONT: D3D12_CULL_MODE = D3D12_CULL_MODE(2i32);
13241pub const D3D12_CULL_MODE_NONE: D3D12_CULL_MODE = D3D12_CULL_MODE(1i32);
13242pub const D3D12_DEBUG_COMMAND_LIST_PARAMETER_GPU_BASED_VALIDATION_SETTINGS: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE = D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE(0i32);
13243pub const D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS: D3D12_DEBUG_DEVICE_PARAMETER_TYPE = D3D12_DEBUG_DEVICE_PARAMETER_TYPE(0i32);
13244pub const D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS: D3D12_DEBUG_DEVICE_PARAMETER_TYPE = D3D12_DEBUG_DEVICE_PARAMETER_TYPE(1i32);
13245pub const D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR: D3D12_DEBUG_DEVICE_PARAMETER_TYPE = D3D12_DEBUG_DEVICE_PARAMETER_TYPE(2i32);
13246pub const D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS: D3D12_DEBUG_FEATURE = D3D12_DEBUG_FEATURE(1i32);
13247pub const D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING: D3D12_DEBUG_FEATURE = D3D12_DEBUG_FEATURE(2i32);
13248pub const D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION: D3D12_DEBUG_FEATURE = D3D12_DEBUG_FEATURE(4i32);
13249pub const D3D12_DEBUG_FEATURE_EMULATE_WINDOWS7: D3D12_DEBUG_FEATURE = D3D12_DEBUG_FEATURE(8i32);
13250pub const D3D12_DEBUG_FEATURE_NONE: D3D12_DEBUG_FEATURE = D3D12_DEBUG_FEATURE(0i32);
13251pub const D3D12_DEFAULT_BLEND_FACTOR_ALPHA: f32 = 1f32;
13252pub const D3D12_DEFAULT_BLEND_FACTOR_BLUE: f32 = 1f32;
13253pub const D3D12_DEFAULT_BLEND_FACTOR_GREEN: f32 = 1f32;
13254pub const D3D12_DEFAULT_BLEND_FACTOR_RED: f32 = 1f32;
13255pub const D3D12_DEFAULT_BORDER_COLOR_COMPONENT: f32 = 0f32;
13256pub const D3D12_DEFAULT_DEPTH_BIAS: i32 = 0i32;
13257pub const D3D12_DEFAULT_DEPTH_BIAS_CLAMP: f32 = 0f32;
13258pub const D3D12_DEFAULT_MAX_ANISOTROPY: u32 = 16u32;
13259pub const D3D12_DEFAULT_MIP_LOD_BIAS: f32 = 0f32;
13260pub const D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT: u32 = 4194304u32;
13261pub const D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX: u32 = 0u32;
13262pub const D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT: u32 = 65536u32;
13263pub const D3D12_DEFAULT_SAMPLE_MASK: u32 = 4294967295u32;
13264pub const D3D12_DEFAULT_SCISSOR_ENDX: u32 = 0u32;
13265pub const D3D12_DEFAULT_SCISSOR_ENDY: u32 = 0u32;
13266pub const D3D12_DEFAULT_SCISSOR_STARTX: u32 = 0u32;
13267pub const D3D12_DEFAULT_SCISSOR_STARTY: u32 = 0u32;
13268pub const D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING: u32 = 5768u32;
13269pub const D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS: f32 = 0f32;
13270pub const D3D12_DEFAULT_STENCIL_READ_MASK: u32 = 255u32;
13271pub const D3D12_DEFAULT_STENCIL_REFERENCE: u32 = 0u32;
13272pub const D3D12_DEFAULT_STENCIL_WRITE_MASK: u32 = 255u32;
13273pub const D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX: u32 = 0u32;
13274pub const D3D12_DEFAULT_VIEWPORT_HEIGHT: u32 = 0u32;
13275pub const D3D12_DEFAULT_VIEWPORT_MAX_DEPTH: f32 = 0f32;
13276pub const D3D12_DEFAULT_VIEWPORT_MIN_DEPTH: f32 = 0f32;
13277pub const D3D12_DEFAULT_VIEWPORT_TOPLEFTX: u32 = 0u32;
13278pub const D3D12_DEFAULT_VIEWPORT_TOPLEFTY: u32 = 0u32;
13279pub const D3D12_DEFAULT_VIEWPORT_WIDTH: u32 = 0u32;
13280pub const D3D12_DEPTH_WRITE_MASK_ALL: D3D12_DEPTH_WRITE_MASK = D3D12_DEPTH_WRITE_MASK(1i32);
13281pub const D3D12_DEPTH_WRITE_MASK_ZERO: D3D12_DEPTH_WRITE_MASK = D3D12_DEPTH_WRITE_MASK(0i32);
13282pub const D3D12_DESCRIPTOR_HEAP_FLAG_NONE: D3D12_DESCRIPTOR_HEAP_FLAGS = D3D12_DESCRIPTOR_HEAP_FLAGS(0i32);
13283pub const D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE: D3D12_DESCRIPTOR_HEAP_FLAGS = D3D12_DESCRIPTOR_HEAP_FLAGS(1i32);
13284pub const D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV: D3D12_DESCRIPTOR_HEAP_TYPE = D3D12_DESCRIPTOR_HEAP_TYPE(0i32);
13285pub const D3D12_DESCRIPTOR_HEAP_TYPE_DSV: D3D12_DESCRIPTOR_HEAP_TYPE = D3D12_DESCRIPTOR_HEAP_TYPE(3i32);
13286pub const D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES: D3D12_DESCRIPTOR_HEAP_TYPE = D3D12_DESCRIPTOR_HEAP_TYPE(4i32);
13287pub const D3D12_DESCRIPTOR_HEAP_TYPE_RTV: D3D12_DESCRIPTOR_HEAP_TYPE = D3D12_DESCRIPTOR_HEAP_TYPE(2i32);
13288pub const D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER: D3D12_DESCRIPTOR_HEAP_TYPE = D3D12_DESCRIPTOR_HEAP_TYPE(1i32);
13289pub const D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC: D3D12_DESCRIPTOR_RANGE_FLAGS = D3D12_DESCRIPTOR_RANGE_FLAGS(8i32);
13290pub const D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE: D3D12_DESCRIPTOR_RANGE_FLAGS = D3D12_DESCRIPTOR_RANGE_FLAGS(4i32);
13291pub const D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE: D3D12_DESCRIPTOR_RANGE_FLAGS = D3D12_DESCRIPTOR_RANGE_FLAGS(2i32);
13292pub const D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS: D3D12_DESCRIPTOR_RANGE_FLAGS = D3D12_DESCRIPTOR_RANGE_FLAGS(65536i32);
13293pub const D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE: D3D12_DESCRIPTOR_RANGE_FLAGS = D3D12_DESCRIPTOR_RANGE_FLAGS(1i32);
13294pub const D3D12_DESCRIPTOR_RANGE_FLAG_NONE: D3D12_DESCRIPTOR_RANGE_FLAGS = D3D12_DESCRIPTOR_RANGE_FLAGS(0i32);
13295pub const D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND: u32 = 4294967295u32;
13296pub const D3D12_DESCRIPTOR_RANGE_TYPE_CBV: D3D12_DESCRIPTOR_RANGE_TYPE = D3D12_DESCRIPTOR_RANGE_TYPE(2i32);
13297pub const D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER: D3D12_DESCRIPTOR_RANGE_TYPE = D3D12_DESCRIPTOR_RANGE_TYPE(3i32);
13298pub const D3D12_DESCRIPTOR_RANGE_TYPE_SRV: D3D12_DESCRIPTOR_RANGE_TYPE = D3D12_DESCRIPTOR_RANGE_TYPE(0i32);
13299pub const D3D12_DESCRIPTOR_RANGE_TYPE_UAV: D3D12_DESCRIPTOR_RANGE_TYPE = D3D12_DESCRIPTOR_RANGE_TYPE(1i32);
13300pub const D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_EXISTING_DEVICE: D3D12_DEVICE_FACTORY_FLAGS = D3D12_DEVICE_FACTORY_FLAGS(1i32);
13301pub const D3D12_DEVICE_FACTORY_FLAG_ALLOW_RETURNING_INCOMPATIBLE_EXISTING_DEVICE: D3D12_DEVICE_FACTORY_FLAGS = D3D12_DEVICE_FACTORY_FLAGS(2i32);
13302pub const D3D12_DEVICE_FACTORY_FLAG_DISALLOW_STORING_NEW_DEVICE_AS_SINGLETON: D3D12_DEVICE_FACTORY_FLAGS = D3D12_DEVICE_FACTORY_FLAGS(4i32);
13303pub const D3D12_DEVICE_FACTORY_FLAG_NONE: D3D12_DEVICE_FACTORY_FLAGS = D3D12_DEVICE_FACTORY_FLAGS(0i32);
13304pub const D3D12_DEVICE_FLAG_AUTO_DEBUG_NAME_ENABLED: D3D12_DEVICE_FLAGS = D3D12_DEVICE_FLAGS(512i32);
13305pub const D3D12_DEVICE_FLAG_DEBUG_LAYER_ENABLED: D3D12_DEVICE_FLAGS = D3D12_DEVICE_FLAGS(1i32);
13306pub const D3D12_DEVICE_FLAG_DRED_AUTO_BREADCRUMBS_ENABLED: D3D12_DEVICE_FLAGS = D3D12_DEVICE_FLAGS(8i32);
13307pub const D3D12_DEVICE_FLAG_DRED_BREADCRUMB_CONTEXT_ENABLED: D3D12_DEVICE_FLAGS = D3D12_DEVICE_FLAGS(64i32);
13308pub const D3D12_DEVICE_FLAG_DRED_PAGE_FAULT_REPORTING_ENABLED: D3D12_DEVICE_FLAGS = D3D12_DEVICE_FLAGS(16i32);
13309pub const D3D12_DEVICE_FLAG_DRED_USE_MARKERS_ONLY_BREADCRUMBS: D3D12_DEVICE_FLAGS = D3D12_DEVICE_FLAGS(128i32);
13310pub const D3D12_DEVICE_FLAG_DRED_WATSON_REPORTING_ENABLED: D3D12_DEVICE_FLAGS = D3D12_DEVICE_FLAGS(32i32);
13311pub const D3D12_DEVICE_FLAG_FORCE_LEGACY_STATE_VALIDATION: D3D12_DEVICE_FLAGS = D3D12_DEVICE_FLAGS(1024i32);
13312pub const D3D12_DEVICE_FLAG_GPU_BASED_VALIDATION_ENABLED: D3D12_DEVICE_FLAGS = D3D12_DEVICE_FLAGS(2i32);
13313pub const D3D12_DEVICE_FLAG_NONE: D3D12_DEVICE_FLAGS = D3D12_DEVICE_FLAGS(0i32);
13314pub const D3D12_DEVICE_FLAG_SHADER_INSTRUMENTATION_ENABLED: D3D12_DEVICE_FLAGS = D3D12_DEVICE_FLAGS(256i32);
13315pub const D3D12_DEVICE_FLAG_SYNCHRONIZED_COMMAND_QUEUE_VALIDATION_DISABLED: D3D12_DEVICE_FLAGS = D3D12_DEVICE_FLAGS(4i32);
13316pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(20i32);
13317pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(22i32);
13318pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(40i32);
13319pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(19i32);
13320pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(41i32);
13321pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(28i32);
13322pub const D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(36i32);
13323pub const D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(37i32);
13324pub const D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(24i32);
13325pub const D3D12_DRED_ALLOCATION_TYPE_FENCE: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(23i32);
13326pub const D3D12_DRED_ALLOCATION_TYPE_HEAP: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(25i32);
13327pub const D3D12_DRED_ALLOCATION_TYPE_INVALID: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(-1i32);
13328pub const D3D12_DRED_ALLOCATION_TYPE_METACOMMAND: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(43i32);
13329pub const D3D12_DRED_ALLOCATION_TYPE_PASS: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(35i32);
13330pub const D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(29i32);
13331pub const D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(21i32);
13332pub const D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(38i32);
13333pub const D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(27i32);
13334pub const D3D12_DRED_ALLOCATION_TYPE_RESOURCE: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(34i32);
13335pub const D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(44i32);
13336pub const D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(42i32);
13337pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(30i32);
13338pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(39i32);
13339pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(48i32);
13340pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER_HEAP: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(49i32);
13341pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(47i32);
13342pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(45i32);
13343pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(46i32);
13344pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR: D3D12_DRED_ALLOCATION_TYPE = D3D12_DRED_ALLOCATION_TYPE(32i32);
13345pub const D3D12_DRED_DEVICE_STATE_FAULT: D3D12_DRED_DEVICE_STATE = D3D12_DRED_DEVICE_STATE(6i32);
13346pub const D3D12_DRED_DEVICE_STATE_HUNG: D3D12_DRED_DEVICE_STATE = D3D12_DRED_DEVICE_STATE(3i32);
13347pub const D3D12_DRED_DEVICE_STATE_PAGEFAULT: D3D12_DRED_DEVICE_STATE = D3D12_DRED_DEVICE_STATE(7i32);
13348pub const D3D12_DRED_DEVICE_STATE_UNKNOWN: D3D12_DRED_DEVICE_STATE = D3D12_DRED_DEVICE_STATE(0i32);
13349pub const D3D12_DRED_ENABLEMENT_FORCED_OFF: D3D12_DRED_ENABLEMENT = D3D12_DRED_ENABLEMENT(1i32);
13350pub const D3D12_DRED_ENABLEMENT_FORCED_ON: D3D12_DRED_ENABLEMENT = D3D12_DRED_ENABLEMENT(2i32);
13351pub const D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED: D3D12_DRED_ENABLEMENT = D3D12_DRED_ENABLEMENT(0i32);
13352pub const D3D12_DRED_FLAG_DISABLE_AUTOBREADCRUMBS: D3D12_DRED_FLAGS = D3D12_DRED_FLAGS(2i32);
13353pub const D3D12_DRED_FLAG_FORCE_ENABLE: D3D12_DRED_FLAGS = D3D12_DRED_FLAGS(1i32);
13354pub const D3D12_DRED_FLAG_NONE: D3D12_DRED_FLAGS = D3D12_DRED_FLAGS(0i32);
13355pub const D3D12_DRED_PAGE_FAULT_FLAGS_NONE: D3D12_DRED_PAGE_FAULT_FLAGS = D3D12_DRED_PAGE_FAULT_FLAGS(0i32);
13356pub const D3D12_DRED_VERSION_1_0: D3D12_DRED_VERSION = D3D12_DRED_VERSION(1i32);
13357pub const D3D12_DRED_VERSION_1_1: D3D12_DRED_VERSION = D3D12_DRED_VERSION(2i32);
13358pub const D3D12_DRED_VERSION_1_2: D3D12_DRED_VERSION = D3D12_DRED_VERSION(3i32);
13359pub const D3D12_DRED_VERSION_1_3: D3D12_DRED_VERSION = D3D12_DRED_VERSION(4i32);
13360pub const D3D12_DRIVER_MATCHING_IDENTIFIER_COMPATIBLE_WITH_DEVICE: D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS = D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS(0i32);
13361pub const D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE: D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS = D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS(4i32);
13362pub const D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_VERSION: D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS = D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS(3i32);
13363pub const D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED: D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS = D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS(2i32);
13364pub const D3D12_DRIVER_MATCHING_IDENTIFIER_UNSUPPORTED_TYPE: D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS = D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS(1i32);
13365pub const D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END: u32 = 4294967287u32;
13366pub const D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START: u32 = 4294967280u32;
13367pub const D3D12_DSV_DIMENSION_TEXTURE1D: D3D12_DSV_DIMENSION = D3D12_DSV_DIMENSION(1i32);
13368pub const D3D12_DSV_DIMENSION_TEXTURE1DARRAY: D3D12_DSV_DIMENSION = D3D12_DSV_DIMENSION(2i32);
13369pub const D3D12_DSV_DIMENSION_TEXTURE2D: D3D12_DSV_DIMENSION = D3D12_DSV_DIMENSION(3i32);
13370pub const D3D12_DSV_DIMENSION_TEXTURE2DARRAY: D3D12_DSV_DIMENSION = D3D12_DSV_DIMENSION(4i32);
13371pub const D3D12_DSV_DIMENSION_TEXTURE2DMS: D3D12_DSV_DIMENSION = D3D12_DSV_DIMENSION(5i32);
13372pub const D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY: D3D12_DSV_DIMENSION = D3D12_DSV_DIMENSION(6i32);
13373pub const D3D12_DSV_DIMENSION_UNKNOWN: D3D12_DSV_DIMENSION = D3D12_DSV_DIMENSION(0i32);
13374pub const D3D12_DSV_FLAG_NONE: D3D12_DSV_FLAGS = D3D12_DSV_FLAGS(0i32);
13375pub const D3D12_DSV_FLAG_READ_ONLY_DEPTH: D3D12_DSV_FLAGS = D3D12_DSV_FLAGS(1i32);
13376pub const D3D12_DSV_FLAG_READ_ONLY_STENCIL: D3D12_DSV_FLAGS = D3D12_DSV_FLAGS(2i32);
13377pub const D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: u32 = 3968u32;
13378pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS: u32 = 4u32;
13379pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13380pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT: u32 = 32u32;
13381pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST: u32 = 2u32;
13382pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS: u32 = 1u32;
13383pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS: u32 = 3u32;
13384pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13385pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT: u32 = 1u32;
13386pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST: u32 = 2u32;
13387pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS: u32 = 1u32;
13388pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: u32 = 4u32;
13389pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13390pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT: u32 = 32u32;
13391pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: u32 = 2u32;
13392pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: u32 = 1u32;
13393pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: u32 = 1u32;
13394pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13395pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: u32 = 1u32;
13396pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: u32 = 2u32;
13397pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: u32 = 1u32;
13398pub const D3D12_DS_OUTPUT_REGISTER_COMPONENTS: u32 = 4u32;
13399pub const D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13400pub const D3D12_DS_OUTPUT_REGISTER_COUNT: u32 = 32u32;
13401pub const D3D12_ELEMENTS_LAYOUT_ARRAY: D3D12_ELEMENTS_LAYOUT = D3D12_ELEMENTS_LAYOUT(0i32);
13402pub const D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS: D3D12_ELEMENTS_LAYOUT = D3D12_ELEMENTS_LAYOUT(1i32);
13403pub const D3D12_EXPORT_FLAG_NONE: D3D12_EXPORT_FLAGS = D3D12_EXPORT_FLAGS(0i32);
13404pub const D3D12_FEATURE_ARCHITECTURE: D3D12_FEATURE = D3D12_FEATURE(1i32);
13405pub const D3D12_FEATURE_ARCHITECTURE1: D3D12_FEATURE = D3D12_FEATURE(16i32);
13406pub const D3D12_FEATURE_COMMAND_QUEUE_PRIORITY: D3D12_FEATURE = D3D12_FEATURE(20i32);
13407pub const D3D12_FEATURE_CROSS_NODE: D3D12_FEATURE = D3D12_FEATURE(25i32);
13408pub const D3D12_FEATURE_D3D12_OPTIONS: D3D12_FEATURE = D3D12_FEATURE(0i32);
13409pub const D3D12_FEATURE_D3D12_OPTIONS1: D3D12_FEATURE = D3D12_FEATURE(8i32);
13410pub const D3D12_FEATURE_D3D12_OPTIONS10: D3D12_FEATURE = D3D12_FEATURE(39i32);
13411pub const D3D12_FEATURE_D3D12_OPTIONS11: D3D12_FEATURE = D3D12_FEATURE(40i32);
13412pub const D3D12_FEATURE_D3D12_OPTIONS12: D3D12_FEATURE = D3D12_FEATURE(41i32);
13413pub const D3D12_FEATURE_D3D12_OPTIONS13: D3D12_FEATURE = D3D12_FEATURE(42i32);
13414pub const D3D12_FEATURE_D3D12_OPTIONS14: D3D12_FEATURE = D3D12_FEATURE(43i32);
13415pub const D3D12_FEATURE_D3D12_OPTIONS15: D3D12_FEATURE = D3D12_FEATURE(44i32);
13416pub const D3D12_FEATURE_D3D12_OPTIONS16: D3D12_FEATURE = D3D12_FEATURE(45i32);
13417pub const D3D12_FEATURE_D3D12_OPTIONS17: D3D12_FEATURE = D3D12_FEATURE(46i32);
13418pub const D3D12_FEATURE_D3D12_OPTIONS18: D3D12_FEATURE = D3D12_FEATURE(47i32);
13419pub const D3D12_FEATURE_D3D12_OPTIONS19: D3D12_FEATURE = D3D12_FEATURE(48i32);
13420pub const D3D12_FEATURE_D3D12_OPTIONS2: D3D12_FEATURE = D3D12_FEATURE(18i32);
13421pub const D3D12_FEATURE_D3D12_OPTIONS3: D3D12_FEATURE = D3D12_FEATURE(21i32);
13422pub const D3D12_FEATURE_D3D12_OPTIONS4: D3D12_FEATURE = D3D12_FEATURE(23i32);
13423pub const D3D12_FEATURE_D3D12_OPTIONS5: D3D12_FEATURE = D3D12_FEATURE(27i32);
13424pub const D3D12_FEATURE_D3D12_OPTIONS6: D3D12_FEATURE = D3D12_FEATURE(30i32);
13425pub const D3D12_FEATURE_D3D12_OPTIONS7: D3D12_FEATURE = D3D12_FEATURE(32i32);
13426pub const D3D12_FEATURE_D3D12_OPTIONS8: D3D12_FEATURE = D3D12_FEATURE(36i32);
13427pub const D3D12_FEATURE_D3D12_OPTIONS9: D3D12_FEATURE = D3D12_FEATURE(37i32);
13428pub const D3D12_FEATURE_DISPLAYABLE: D3D12_FEATURE = D3D12_FEATURE(28i32);
13429pub const D3D12_FEATURE_EXISTING_HEAPS: D3D12_FEATURE = D3D12_FEATURE(22i32);
13430pub const D3D12_FEATURE_FEATURE_LEVELS: D3D12_FEATURE = D3D12_FEATURE(2i32);
13431pub const D3D12_FEATURE_FORMAT_INFO: D3D12_FEATURE = D3D12_FEATURE(5i32);
13432pub const D3D12_FEATURE_FORMAT_SUPPORT: D3D12_FEATURE = D3D12_FEATURE(3i32);
13433pub const D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT: D3D12_FEATURE = D3D12_FEATURE(6i32);
13434pub const D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS: D3D12_FEATURE = D3D12_FEATURE(4i32);
13435pub const D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT: D3D12_FEATURE = D3D12_FEATURE(10i32);
13436pub const D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES: D3D12_FEATURE = D3D12_FEATURE(34i32);
13437pub const D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT: D3D12_FEATURE = D3D12_FEATURE(33i32);
13438pub const D3D12_FEATURE_QUERY_META_COMMAND: D3D12_FEATURE = D3D12_FEATURE(31i32);
13439pub const D3D12_FEATURE_ROOT_SIGNATURE: D3D12_FEATURE = D3D12_FEATURE(12i32);
13440pub const D3D12_FEATURE_SERIALIZATION: D3D12_FEATURE = D3D12_FEATURE(24i32);
13441pub const D3D12_FEATURE_SHADER_CACHE: D3D12_FEATURE = D3D12_FEATURE(19i32);
13442pub const D3D12_FEATURE_SHADER_MODEL: D3D12_FEATURE = D3D12_FEATURE(7i32);
13443pub const D3D12_FENCE_FLAG_NONE: D3D12_FENCE_FLAGS = D3D12_FENCE_FLAGS(0i32);
13444pub const D3D12_FENCE_FLAG_NON_MONITORED: D3D12_FENCE_FLAGS = D3D12_FENCE_FLAGS(4i32);
13445pub const D3D12_FENCE_FLAG_SHARED: D3D12_FENCE_FLAGS = D3D12_FENCE_FLAGS(1i32);
13446pub const D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER: D3D12_FENCE_FLAGS = D3D12_FENCE_FLAGS(2i32);
13447pub const D3D12_FILL_MODE_SOLID: D3D12_FILL_MODE = D3D12_FILL_MODE(3i32);
13448pub const D3D12_FILL_MODE_WIREFRAME: D3D12_FILL_MODE = D3D12_FILL_MODE(2i32);
13449pub const D3D12_FILTER_ANISOTROPIC: D3D12_FILTER = D3D12_FILTER(85i32);
13450pub const D3D12_FILTER_COMPARISON_ANISOTROPIC: D3D12_FILTER = D3D12_FILTER(213i32);
13451pub const D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(144i32);
13452pub const D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(145i32);
13453pub const D3D12_FILTER_COMPARISON_MIN_MAG_ANISOTROPIC_MIP_POINT: D3D12_FILTER = D3D12_FILTER(212i32);
13454pub const D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(148i32);
13455pub const D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(149i32);
13456pub const D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(128i32);
13457pub const D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(129i32);
13458pub const D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(132i32);
13459pub const D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(133i32);
13460pub const D3D12_FILTER_MAXIMUM_ANISOTROPIC: D3D12_FILTER = D3D12_FILTER(469i32);
13461pub const D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(400i32);
13462pub const D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(401i32);
13463pub const D3D12_FILTER_MAXIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT: D3D12_FILTER = D3D12_FILTER(468i32);
13464pub const D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(404i32);
13465pub const D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(405i32);
13466pub const D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(384i32);
13467pub const D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(385i32);
13468pub const D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(388i32);
13469pub const D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(389i32);
13470pub const D3D12_FILTER_MINIMUM_ANISOTROPIC: D3D12_FILTER = D3D12_FILTER(341i32);
13471pub const D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(272i32);
13472pub const D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(273i32);
13473pub const D3D12_FILTER_MINIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT: D3D12_FILTER = D3D12_FILTER(340i32);
13474pub const D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(276i32);
13475pub const D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(277i32);
13476pub const D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(256i32);
13477pub const D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(257i32);
13478pub const D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(260i32);
13479pub const D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(261i32);
13480pub const D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(16i32);
13481pub const D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(17i32);
13482pub const D3D12_FILTER_MIN_MAG_ANISOTROPIC_MIP_POINT: D3D12_FILTER = D3D12_FILTER(84i32);
13483pub const D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(20i32);
13484pub const D3D12_FILTER_MIN_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(21i32);
13485pub const D3D12_FILTER_MIN_MAG_MIP_POINT: D3D12_FILTER = D3D12_FILTER(0i32);
13486pub const D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(1i32);
13487pub const D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT: D3D12_FILTER = D3D12_FILTER(4i32);
13488pub const D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR: D3D12_FILTER = D3D12_FILTER(5i32);
13489pub const D3D12_FILTER_REDUCTION_TYPE_COMPARISON: D3D12_FILTER_REDUCTION_TYPE = D3D12_FILTER_REDUCTION_TYPE(1i32);
13490pub const D3D12_FILTER_REDUCTION_TYPE_MASK: u32 = 3u32;
13491pub const D3D12_FILTER_REDUCTION_TYPE_MAXIMUM: D3D12_FILTER_REDUCTION_TYPE = D3D12_FILTER_REDUCTION_TYPE(3i32);
13492pub const D3D12_FILTER_REDUCTION_TYPE_MINIMUM: D3D12_FILTER_REDUCTION_TYPE = D3D12_FILTER_REDUCTION_TYPE(2i32);
13493pub const D3D12_FILTER_REDUCTION_TYPE_SHIFT: u32 = 7u32;
13494pub const D3D12_FILTER_REDUCTION_TYPE_STANDARD: D3D12_FILTER_REDUCTION_TYPE = D3D12_FILTER_REDUCTION_TYPE(0i32);
13495pub const D3D12_FILTER_TYPE_LINEAR: D3D12_FILTER_TYPE = D3D12_FILTER_TYPE(1i32);
13496pub const D3D12_FILTER_TYPE_MASK: u32 = 3u32;
13497pub const D3D12_FILTER_TYPE_POINT: D3D12_FILTER_TYPE = D3D12_FILTER_TYPE(0i32);
13498pub const D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP: f64 = 0.6f64;
13499pub const D3D12_FLOAT32_MAX: f32 = 340282350000000000000000000000000000000f32;
13500pub const D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP: f32 = 0.6f32;
13501pub const D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR: f32 = 2.4f32;
13502pub const D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR: f32 = 1f32;
13503pub const D3D12_FLOAT_TO_SRGB_OFFSET: f32 = 0.055f32;
13504pub const D3D12_FLOAT_TO_SRGB_SCALE_1: f32 = 12.92f32;
13505pub const D3D12_FLOAT_TO_SRGB_SCALE_2: f32 = 1.055f32;
13506pub const D3D12_FLOAT_TO_SRGB_THRESHOLD: f32 = 0.0031308f32;
13507pub const D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(16777216i32);
13508pub const D3D12_FORMAT_SUPPORT1_BLENDABLE: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(32768i32);
13509pub const D3D12_FORMAT_SUPPORT1_BUFFER: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(1i32);
13510pub const D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(1048576i32);
13511pub const D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(134217728i32);
13512pub const D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(65536i32);
13513pub const D3D12_FORMAT_SUPPORT1_DISPLAY: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(524288i32);
13514pub const D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(4i32);
13515pub const D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(2i32);
13516pub const D3D12_FORMAT_SUPPORT1_MIP: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(4096i32);
13517pub const D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(4194304i32);
13518pub const D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(2097152i32);
13519pub const D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(262144i32);
13520pub const D3D12_FORMAT_SUPPORT1_NONE: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(0i32);
13521pub const D3D12_FORMAT_SUPPORT1_RENDER_TARGET: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(16384i32);
13522pub const D3D12_FORMAT_SUPPORT1_SHADER_GATHER: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(8388608i32);
13523pub const D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(67108864i32);
13524pub const D3D12_FORMAT_SUPPORT1_SHADER_LOAD: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(256i32);
13525pub const D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(512i32);
13526pub const D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(1024i32);
13527pub const D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(2048i32);
13528pub const D3D12_FORMAT_SUPPORT1_SO_BUFFER: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(8i32);
13529pub const D3D12_FORMAT_SUPPORT1_TEXTURE1D: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(16i32);
13530pub const D3D12_FORMAT_SUPPORT1_TEXTURE2D: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(32i32);
13531pub const D3D12_FORMAT_SUPPORT1_TEXTURE3D: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(64i32);
13532pub const D3D12_FORMAT_SUPPORT1_TEXTURECUBE: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(128i32);
13533pub const D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(33554432i32);
13534pub const D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(1073741824i32);
13535pub const D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(536870912i32);
13536pub const D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT: D3D12_FORMAT_SUPPORT1 = D3D12_FORMAT_SUPPORT1(268435456i32);
13537pub const D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(16384i32);
13538pub const D3D12_FORMAT_SUPPORT2_NONE: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(0i32);
13539pub const D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(256i32);
13540pub const D3D12_FORMAT_SUPPORT2_SAMPLER_FEEDBACK: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(32768i32);
13541pub const D3D12_FORMAT_SUPPORT2_TILED: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(512i32);
13542pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(1i32);
13543pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(2i32);
13544pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(4i32);
13545pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(8i32);
13546pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(16i32);
13547pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(32i32);
13548pub const D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(64i32);
13549pub const D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE: D3D12_FORMAT_SUPPORT2 = D3D12_FORMAT_SUPPORT2(128i32);
13550pub const D3D12_FTOI_INSTRUCTION_MAX_INPUT: f32 = 2147483600f32;
13551pub const D3D12_FTOI_INSTRUCTION_MIN_INPUT: f32 = -2147483600f32;
13552pub const D3D12_FTOU_INSTRUCTION_MAX_INPUT: f32 = 4294967300f32;
13553pub const D3D12_FTOU_INSTRUCTION_MIN_INPUT: f32 = 0f32;
13554pub const D3D12_GPU_BASED_VALIDATION_FLAGS_DISABLE_STATE_TRACKING: D3D12_GPU_BASED_VALIDATION_FLAGS = D3D12_GPU_BASED_VALIDATION_FLAGS(1i32);
13555pub const D3D12_GPU_BASED_VALIDATION_FLAGS_NONE: D3D12_GPU_BASED_VALIDATION_FLAGS = D3D12_GPU_BASED_VALIDATION_FLAGS(0i32);
13556pub 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);
13557pub 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);
13558pub 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);
13559pub 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);
13560pub 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);
13561pub 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);
13562pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE: D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE = D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE(0i32);
13563pub 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);
13564pub 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);
13565pub const D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(32i32);
13566pub const D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(8i32);
13567pub const D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(16i32);
13568pub const D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(2i32);
13569pub const D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(4i32);
13570pub const D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(1i32);
13571pub const D3D12_GRAPHICS_STATE_NONE: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(0i32);
13572pub const D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(2048i32);
13573pub const D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(16384i32);
13574pub const D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(512i32);
13575pub const D3D12_GRAPHICS_STATE_OM_STENCIL_REF: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(1024i32);
13576pub const D3D12_GRAPHICS_STATE_PIPELINE_STATE: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(4096i32);
13577pub const D3D12_GRAPHICS_STATE_PREDICATION: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(256i32);
13578pub const D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(128i32);
13579pub const D3D12_GRAPHICS_STATE_RS_VIEWPORTS: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(64i32);
13580pub const D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(32768i32);
13581pub const D3D12_GRAPHICS_STATE_SO_TARGETS: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(8192i32);
13582pub const D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK: D3D12_GRAPHICS_STATES = D3D12_GRAPHICS_STATES(65536i32);
13583pub const D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST: u32 = 2u32;
13584pub const D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS: u32 = 1u32;
13585pub const D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS: u32 = 1u32;
13586pub const D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13587pub const D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT: u32 = 1u32;
13588pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS: u32 = 1u32;
13589pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13590pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT: u32 = 1u32;
13591pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST: u32 = 2u32;
13592pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS: u32 = 1u32;
13593pub const D3D12_GS_INPUT_REGISTER_COMPONENTS: u32 = 4u32;
13594pub const D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13595pub const D3D12_GS_INPUT_REGISTER_COUNT: u32 = 32u32;
13596pub const D3D12_GS_INPUT_REGISTER_READS_PER_INST: u32 = 2u32;
13597pub const D3D12_GS_INPUT_REGISTER_READ_PORTS: u32 = 1u32;
13598pub const D3D12_GS_INPUT_REGISTER_VERTICES: u32 = 32u32;
13599pub const D3D12_GS_MAX_INSTANCE_COUNT: u32 = 32u32;
13600pub const D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES: u32 = 1024u32;
13601pub const D3D12_GS_OUTPUT_ELEMENTS: u32 = 32u32;
13602pub const D3D12_GS_OUTPUT_REGISTER_COMPONENTS: u32 = 4u32;
13603pub const D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13604pub const D3D12_GS_OUTPUT_REGISTER_COUNT: u32 = 32u32;
13605pub const D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(0i32);
13606pub const D3D12_HEAP_FLAG_ALLOW_DISPLAY: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(8i32);
13607pub const D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(192i32);
13608pub const D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(68i32);
13609pub const D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(132i32);
13610pub const D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(1024i32);
13611pub const D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(512i32);
13612pub const D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(2048i32);
13613pub const D3D12_HEAP_FLAG_CREATE_NOT_ZEROED: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(4096i32);
13614pub const D3D12_HEAP_FLAG_DENY_BUFFERS: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(4i32);
13615pub const D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(128i32);
13616pub const D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(64i32);
13617pub const D3D12_HEAP_FLAG_HARDWARE_PROTECTED: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(256i32);
13618pub const D3D12_HEAP_FLAG_NONE: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(0i32);
13619pub const D3D12_HEAP_FLAG_SHARED: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(1i32);
13620pub const D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(32i32);
13621pub const D3D12_HEAP_FLAG_TOOLS_USE_MANUAL_WRITE_TRACKING: D3D12_HEAP_FLAGS = D3D12_HEAP_FLAGS(8192i32);
13622pub const D3D12_HEAP_SERIALIZATION_TIER_0: D3D12_HEAP_SERIALIZATION_TIER = D3D12_HEAP_SERIALIZATION_TIER(0i32);
13623pub const D3D12_HEAP_SERIALIZATION_TIER_10: D3D12_HEAP_SERIALIZATION_TIER = D3D12_HEAP_SERIALIZATION_TIER(10i32);
13624pub const D3D12_HEAP_TYPE_CUSTOM: D3D12_HEAP_TYPE = D3D12_HEAP_TYPE(4i32);
13625pub const D3D12_HEAP_TYPE_DEFAULT: D3D12_HEAP_TYPE = D3D12_HEAP_TYPE(1i32);
13626pub const D3D12_HEAP_TYPE_GPU_UPLOAD: D3D12_HEAP_TYPE = D3D12_HEAP_TYPE(5i32);
13627pub const D3D12_HEAP_TYPE_READBACK: D3D12_HEAP_TYPE = D3D12_HEAP_TYPE(3i32);
13628pub const D3D12_HEAP_TYPE_UPLOAD: D3D12_HEAP_TYPE = D3D12_HEAP_TYPE(2i32);
13629pub const D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE: D3D12_HIT_GROUP_TYPE = D3D12_HIT_GROUP_TYPE(1i32);
13630pub const D3D12_HIT_GROUP_TYPE_TRIANGLES: D3D12_HIT_GROUP_TYPE = D3D12_HIT_GROUP_TYPE(0i32);
13631pub const D3D12_HIT_KIND_TRIANGLE_BACK_FACE: D3D12_HIT_KIND = D3D12_HIT_KIND(255i32);
13632pub const D3D12_HIT_KIND_TRIANGLE_FRONT_FACE: D3D12_HIT_KIND = D3D12_HIT_KIND(254i32);
13633pub const D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT: u32 = 32u32;
13634pub const D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT: u32 = 32u32;
13635pub const D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS: u32 = 4u32;
13636pub const D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13637pub const D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST: u32 = 2u32;
13638pub const D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS: u32 = 1u32;
13639pub const D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND: u32 = 4294967295u32;
13640pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS: u32 = 1u32;
13641pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13642pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT: u32 = 1u32;
13643pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST: u32 = 2u32;
13644pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS: u32 = 1u32;
13645pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS: u32 = 1u32;
13646pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13647pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT: u32 = 1u32;
13648pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST: u32 = 2u32;
13649pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS: u32 = 1u32;
13650pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: u32 = 1u32;
13651pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13652pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: u32 = 1u32;
13653pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: u32 = 2u32;
13654pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: u32 = 1u32;
13655pub const D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND: u32 = 4294967295u32;
13656pub const D3D12_HS_MAXTESSFACTOR_LOWER_BOUND: f32 = 1f32;
13657pub const D3D12_HS_MAXTESSFACTOR_UPPER_BOUND: f32 = 64f32;
13658pub const D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: u32 = 3968u32;
13659pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS: u32 = 1u32;
13660pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13661pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT: u32 = 1u32;
13662pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST: u32 = 2u32;
13663pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS: u32 = 1u32;
13664pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: u32 = 4u32;
13665pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
13666pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT: u32 = 32u32;
13667pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: u32 = 2u32;
13668pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: u32 = 1u32;
13669pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS: u32 = 128u32;
13670pub const D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES: u32 = 0u32;
13671pub const D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY: u32 = 0u32;
13672pub const D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES: u32 = 0u32;
13673pub const D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT: u32 = 1u32;
13674pub const D3D12_IA_INSTANCE_ID_BIT_COUNT: u32 = 32u32;
13675pub const D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT: u32 = 32u32;
13676pub const D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT: u32 = 32u32;
13677pub const D3D12_IA_PRIMITIVE_ID_BIT_COUNT: u32 = 32u32;
13678pub const D3D12_IA_VERTEX_ID_BIT_COUNT: u32 = 32u32;
13679pub const D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT: u32 = 32u32;
13680pub const D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS: u32 = 128u32;
13681pub const D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT: u32 = 32u32;
13682pub const D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF: D3D12_INDEX_BUFFER_STRIP_CUT_VALUE = D3D12_INDEX_BUFFER_STRIP_CUT_VALUE(1i32);
13683pub const D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF: D3D12_INDEX_BUFFER_STRIP_CUT_VALUE = D3D12_INDEX_BUFFER_STRIP_CUT_VALUE(2i32);
13684pub const D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED: D3D12_INDEX_BUFFER_STRIP_CUT_VALUE = D3D12_INDEX_BUFFER_STRIP_CUT_VALUE(0i32);
13685pub const D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(5i32);
13686pub const D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(6i32);
13687pub const D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(2i32);
13688pub const D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(10i32);
13689pub const D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(9i32);
13690pub const D3D12_INDIRECT_ARGUMENT_TYPE_DRAW: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(0i32);
13691pub const D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(1i32);
13692pub const D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(4i32);
13693pub const D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(7i32);
13694pub const D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(8i32);
13695pub const D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW: D3D12_INDIRECT_ARGUMENT_TYPE = D3D12_INDIRECT_ARGUMENT_TYPE(3i32);
13696pub const D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT: u32 = 1024u32;
13697pub const D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA: D3D12_INPUT_CLASSIFICATION = D3D12_INPUT_CLASSIFICATION(1i32);
13698pub const D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA: D3D12_INPUT_CLASSIFICATION = D3D12_INPUT_CLASSIFICATION(0i32);
13699pub const D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT: u32 = 4294967295u32;
13700pub const D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER: u32 = 4294967295u32;
13701pub const D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL: u32 = 4294967295u32;
13702pub const D3D12_KEEP_UNORDERED_ACCESS_VIEWS: u32 = 4294967295u32;
13703pub const D3D12_LIFETIME_STATE_IN_USE: D3D12_LIFETIME_STATE = D3D12_LIFETIME_STATE(0i32);
13704pub const D3D12_LIFETIME_STATE_NOT_IN_USE: D3D12_LIFETIME_STATE = D3D12_LIFETIME_STATE(1i32);
13705pub const D3D12_LINEAR_GAMMA: f32 = 1f32;
13706pub const D3D12_LINE_RASTERIZATION_MODE_ALIASED: D3D12_LINE_RASTERIZATION_MODE = D3D12_LINE_RASTERIZATION_MODE(0i32);
13707pub const D3D12_LINE_RASTERIZATION_MODE_ALPHA_ANTIALIASED: D3D12_LINE_RASTERIZATION_MODE = D3D12_LINE_RASTERIZATION_MODE(1i32);
13708pub const D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_NARROW: D3D12_LINE_RASTERIZATION_MODE = D3D12_LINE_RASTERIZATION_MODE(3i32);
13709pub const D3D12_LINE_RASTERIZATION_MODE_QUADRILATERAL_WIDE: D3D12_LINE_RASTERIZATION_MODE = D3D12_LINE_RASTERIZATION_MODE(2i32);
13710pub const D3D12_LOGIC_OP_AND: D3D12_LOGIC_OP = D3D12_LOGIC_OP(6i32);
13711pub const D3D12_LOGIC_OP_AND_INVERTED: D3D12_LOGIC_OP = D3D12_LOGIC_OP(13i32);
13712pub const D3D12_LOGIC_OP_AND_REVERSE: D3D12_LOGIC_OP = D3D12_LOGIC_OP(12i32);
13713pub const D3D12_LOGIC_OP_CLEAR: D3D12_LOGIC_OP = D3D12_LOGIC_OP(0i32);
13714pub const D3D12_LOGIC_OP_COPY: D3D12_LOGIC_OP = D3D12_LOGIC_OP(2i32);
13715pub const D3D12_LOGIC_OP_COPY_INVERTED: D3D12_LOGIC_OP = D3D12_LOGIC_OP(3i32);
13716pub const D3D12_LOGIC_OP_EQUIV: D3D12_LOGIC_OP = D3D12_LOGIC_OP(11i32);
13717pub const D3D12_LOGIC_OP_INVERT: D3D12_LOGIC_OP = D3D12_LOGIC_OP(5i32);
13718pub const D3D12_LOGIC_OP_NAND: D3D12_LOGIC_OP = D3D12_LOGIC_OP(7i32);
13719pub const D3D12_LOGIC_OP_NOOP: D3D12_LOGIC_OP = D3D12_LOGIC_OP(4i32);
13720pub const D3D12_LOGIC_OP_NOR: D3D12_LOGIC_OP = D3D12_LOGIC_OP(9i32);
13721pub const D3D12_LOGIC_OP_OR: D3D12_LOGIC_OP = D3D12_LOGIC_OP(8i32);
13722pub const D3D12_LOGIC_OP_OR_INVERTED: D3D12_LOGIC_OP = D3D12_LOGIC_OP(15i32);
13723pub const D3D12_LOGIC_OP_OR_REVERSE: D3D12_LOGIC_OP = D3D12_LOGIC_OP(14i32);
13724pub const D3D12_LOGIC_OP_SET: D3D12_LOGIC_OP = D3D12_LOGIC_OP(1i32);
13725pub const D3D12_LOGIC_OP_XOR: D3D12_LOGIC_OP = D3D12_LOGIC_OP(10i32);
13726pub const D3D12_MAG_FILTER_SHIFT: u32 = 2u32;
13727pub const D3D12_MAJOR_VERSION: u32 = 12u32;
13728pub const D3D12_MAX_BORDER_COLOR_COMPONENT: f32 = 1f32;
13729pub const D3D12_MAX_DEPTH: f32 = 1f32;
13730pub const D3D12_MAX_LIVE_STATIC_SAMPLERS: u32 = 2032u32;
13731pub const D3D12_MAX_MAXANISOTROPY: u32 = 16u32;
13732pub const D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT: u32 = 32u32;
13733pub const D3D12_MAX_POSITION_VALUE: f32 = 34028236000000000000000000000000000f32;
13734pub const D3D12_MAX_ROOT_COST: u32 = 64u32;
13735pub const D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1: u32 = 1000000u32;
13736pub const D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2: u32 = 1000000u32;
13737pub const D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE: u32 = 2048u32;
13738pub const D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP: u32 = 17u32;
13739pub const D3D12_MAX_VIEW_INSTANCE_COUNT: u32 = 4u32;
13740pub const D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS: D3D12_MEASUREMENTS_ACTION = D3D12_MEASUREMENTS_ACTION(1i32);
13741pub const D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY: D3D12_MEASUREMENTS_ACTION = D3D12_MEASUREMENTS_ACTION(2i32);
13742pub const D3D12_MEASUREMENTS_ACTION_DISCARD_PREVIOUS: D3D12_MEASUREMENTS_ACTION = D3D12_MEASUREMENTS_ACTION(3i32);
13743pub const D3D12_MEASUREMENTS_ACTION_KEEP_ALL: D3D12_MEASUREMENTS_ACTION = D3D12_MEASUREMENTS_ACTION(0i32);
13744pub const D3D12_MEMORY_POOL_L0: D3D12_MEMORY_POOL = D3D12_MEMORY_POOL(1i32);
13745pub const D3D12_MEMORY_POOL_L1: D3D12_MEMORY_POOL = D3D12_MEMORY_POOL(2i32);
13746pub const D3D12_MEMORY_POOL_UNKNOWN: D3D12_MEMORY_POOL = D3D12_MEMORY_POOL(0i32);
13747pub const D3D12_MESH_SHADER_TIER_1: D3D12_MESH_SHADER_TIER = D3D12_MESH_SHADER_TIER(10i32);
13748pub const D3D12_MESH_SHADER_TIER_NOT_SUPPORTED: D3D12_MESH_SHADER_TIER = D3D12_MESH_SHADER_TIER(0i32);
13749pub const D3D12_MESSAGE_CALLBACK_FLAG_NONE: D3D12_MESSAGE_CALLBACK_FLAGS = D3D12_MESSAGE_CALLBACK_FLAGS(0i32);
13750pub const D3D12_MESSAGE_CALLBACK_IGNORE_FILTERS: D3D12_MESSAGE_CALLBACK_FLAGS = D3D12_MESSAGE_CALLBACK_FLAGS(1i32);
13751pub const D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(0i32);
13752pub const D3D12_MESSAGE_CATEGORY_CLEANUP: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(3i32);
13753pub const D3D12_MESSAGE_CATEGORY_COMPILATION: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(4i32);
13754pub const D3D12_MESSAGE_CATEGORY_EXECUTION: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(9i32);
13755pub const D3D12_MESSAGE_CATEGORY_INITIALIZATION: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(2i32);
13756pub const D3D12_MESSAGE_CATEGORY_MISCELLANEOUS: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(1i32);
13757pub const D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(8i32);
13758pub const D3D12_MESSAGE_CATEGORY_SHADER: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(10i32);
13759pub const D3D12_MESSAGE_CATEGORY_STATE_CREATION: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(5i32);
13760pub const D3D12_MESSAGE_CATEGORY_STATE_GETTING: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(7i32);
13761pub const D3D12_MESSAGE_CATEGORY_STATE_SETTING: D3D12_MESSAGE_CATEGORY = D3D12_MESSAGE_CATEGORY(6i32);
13762pub const D3D12_MESSAGE_ID_ADD_TO_STATE_OBJECT_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1246i32);
13763pub const D3D12_MESSAGE_ID_ALPHA_BLEND_FACTOR_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1349i32);
13764pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1039i32);
13765pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1038i32);
13766pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1029i32);
13767pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_ARCHITECTURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1026i32);
13768pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1036i32);
13769pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1037i32);
13770pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1142i32);
13771pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1028i32);
13772pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1033i32);
13773pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1143i32);
13774pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1031i32);
13775pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1034i32);
13776pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1035i32);
13777pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1027i32);
13778pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_SRC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1030i32);
13779pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1032i32);
13780pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_ZERO_DEPENDENCIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1040i32);
13781pub const D3D12_MESSAGE_ID_BARRIER_INTEROP_INVALID_LAYOUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1350i32);
13782pub const D3D12_MESSAGE_ID_BARRIER_INTEROP_INVALID_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1351i32);
13783pub const D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(955i32);
13784pub const D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(731i32);
13785pub const D3D12_MESSAGE_ID_BEGIN_EVENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1014i32);
13786pub const D3D12_MESSAGE_ID_BUFFER_BARRIER_SUBREGION_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1340i32);
13787pub const D3D12_MESSAGE_ID_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1158i32);
13788pub const D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(610i32);
13789pub const D3D12_MESSAGE_ID_CANNOT_ADD_TRACKED_WORKLOAD: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1192i32);
13790pub const D3D12_MESSAGE_ID_CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1134i32);
13791pub const D3D12_MESSAGE_ID_CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1153i32);
13792pub const D3D12_MESSAGE_ID_CANNOT_EXECUTE_EMPTY_COMMAND_LIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1131i32);
13793pub const D3D12_MESSAGE_ID_CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1132i32);
13794pub const D3D12_MESSAGE_ID_CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1133i32);
13795pub const D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1201i32);
13796pub const D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1200i32);
13797pub const D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(135i32);
13798pub const D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(821i32);
13799pub const D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(820i32);
13800pub const D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1156i32);
13801pub const D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1215i32);
13802pub const D3D12_MESSAGE_ID_CLEAR_UNORDERED_ACCESS_VIEW_INVALID_DESCRIPTOR_HANDLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1314i32);
13803pub const D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(732i32);
13804pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(543i32);
13805pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(540i32);
13806pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(541i32);
13807pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(542i32);
13808pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(552i32);
13809pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1130i32);
13810pub const D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(547i32);
13811pub const D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(991i32);
13812pub const D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(953i32);
13813pub const D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(952i32);
13814pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ELEMENT_OFFSET_UNALIGNED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1348i32);
13815pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(212i32);
13816pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(211i32);
13817pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(213i32);
13818pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(222i32);
13819pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(219i32);
13820pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(924i32);
13821pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(201i32);
13822pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(200i32);
13823pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(202i32);
13824pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(209i32);
13825pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(210i32);
13826pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(221i32);
13827pub const D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(904i32);
13828pub const D3D12_MESSAGE_ID_COMMAND_LIST_OPEN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(544i32);
13829pub const D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(903i32);
13830pub const D3D12_MESSAGE_ID_COMMAND_LIST_PIPELINE_STATE_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1045i32);
13831pub const D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(992i32);
13832pub const D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(993i32);
13833pub const D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(994i32);
13834pub const D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(908i32);
13835pub const D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1023i32);
13836pub const D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_SAMPLER_MODE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1321i32);
13837pub const D3D12_MESSAGE_ID_COMMAND_LIST_SYNC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(553i32);
13838pub const D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(905i32);
13839pub const D3D12_MESSAGE_ID_COMMAND_POOL_SYNC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1135i32);
13840pub const D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(906i32);
13841pub const D3D12_MESSAGE_ID_COMMAND_RECORDER_CONTENTION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1128i32);
13842pub const D3D12_MESSAGE_ID_COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1127i32);
13843pub const D3D12_MESSAGE_ID_COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1129i32);
13844pub const D3D12_MESSAGE_ID_COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1157i32);
13845pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(841i32);
13846pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(845i32);
13847pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(840i32);
13848pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(843i32);
13849pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_DST_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1140i32);
13850pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_SRC_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1141i32);
13851pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(839i32);
13852pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(842i32);
13853pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(844i32);
13854pub const D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(944i32);
13855pub const D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(946i32);
13856pub const D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1098i32);
13857pub const D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1304i32);
13858pub const D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(943i32);
13859pub const D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(945i32);
13860pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(858i32);
13861pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(875i32);
13862pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(874i32);
13863pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(876i32);
13864pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(872i32);
13865pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(854i32);
13866pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(857i32);
13867pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(853i32);
13868pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(851i32);
13869pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(856i32);
13870pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(849i32);
13871pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(848i32);
13872pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(855i32);
13873pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(850i32);
13874pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(873i32);
13875pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(867i32);
13876pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(870i32);
13877pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(866i32);
13878pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(864i32);
13879pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(869i32);
13880pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(862i32);
13881pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(861i32);
13882pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(868i32);
13883pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(863i32);
13884pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1097i32);
13885pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1303i32);
13886pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(846i32);
13887pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(859i32);
13888pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(871i32);
13889pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(852i32);
13890pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(847i32);
13891pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(865i32);
13892pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(860i32);
13893pub const D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(494i32);
13894pub const D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(653i32);
13895pub const D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(654i32);
13896pub const D3D12_MESSAGE_ID_COPY_INVALIDLAYOUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1067i32);
13897pub const D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(998i32);
13898pub const D3D12_MESSAGE_ID_COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1160i32);
13899pub const D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(18i32);
13900pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(3i32);
13901pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(12i32);
13902pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(13i32);
13903pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(14i32);
13904pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(15i32);
13905pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(16i32);
13906pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(17i32);
13907pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(4i32);
13908pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(5i32);
13909pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(6i32);
13910pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(7i32);
13911pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(8i32);
13912pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(9i32);
13913pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(10i32);
13914pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(11i32);
13915pub const D3D12_MESSAGE_ID_CORRUPTED_THIS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(2i32);
13916pub const D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1278i32);
13917pub const D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1279i32);
13918pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOPALPHA_WARNING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1317i32);
13919pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOP_WARNING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1316i32);
13920pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(113i32);
13921pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(116i32);
13922pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(112i32);
13923pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(115i32);
13924pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(403i32);
13925pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(117i32);
13926pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(111i32);
13927pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(114i32);
13928pub const D3D12_MESSAGE_ID_CREATECOMMANDLIST_NULL_COMMANDALLOCATOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1313i32);
13929pub const D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(743i32);
13930pub const D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(882i32);
13931pub const D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(881i32);
13932pub const D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(883i32);
13933pub const D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(323i32);
13934pub const D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(322i32);
13935pub const D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(321i32);
13936pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1017i32);
13937pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INDEPENDENT_MASKS_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1354i32);
13938pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(106i32);
13939pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(109i32);
13940pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(108i32);
13941pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(107i32);
13942pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(101i32);
13943pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(100i32);
13944pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(102i32);
13945pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(105i32);
13946pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(104i32);
13947pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(103i32);
13948pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(46i32);
13949pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(48i32);
13950pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(276i32);
13951pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(47i32);
13952pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(49i32);
13953pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(45i32);
13954pub const D3D12_MESSAGE_ID_CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1016i32);
13955pub const D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(506i32);
13956pub const D3D12_MESSAGE_ID_CREATEDEVICE_WARNING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(507i32);
13957pub const D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(297i32);
13958pub const D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(295i32);
13959pub const D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(296i32);
13960pub const D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(294i32);
13961pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(89i32);
13962pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(90i32);
13963pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(82i32);
13964pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(84i32);
13965pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(75i32);
13966pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(287i32);
13967pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(80i32);
13968pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(86i32);
13969pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(73i32);
13970pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(74i32);
13971pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(83i32);
13972pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(284i32);
13973pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(280i32);
13974pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(88i32);
13975pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(91i32);
13976pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(87i32);
13977pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(81i32);
13978pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(72i32);
13979pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(79i32);
13980pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(76i32);
13981pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(85i32);
13982pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(240i32);
13983pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(285i32);
13984pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(286i32);
13985pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(278i32);
13986pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(70i32);
13987pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(71i32);
13988pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(69i32);
13989pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(925i32);
13990pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1250i32);
13991pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1244i32);
13992pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(680i32);
13993pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(687i32);
13994pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(681i32);
13995pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(689i32);
13996pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(669i32);
13997pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(670i32);
13998pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(686i32);
13999pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(667i32);
14000pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(668i32);
14001pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(658i32);
14002pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1253i32);
14003pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(684i32);
14004pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(673i32);
14005pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(656i32);
14006pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(685i32);
14007pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(674i32);
14008pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(671i32);
14009pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(672i32);
14010pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1103i32);
14011pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(691i32);
14012pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(683i32);
14013pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1251i32);
14014pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1248i32);
14015pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1245i32);
14016pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(675i32);
14017pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(676i32);
14018pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(678i32);
14019pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(682i32);
14020pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(974i32);
14021pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(677i32);
14022pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(690i32);
14023pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(679i32);
14024pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(655i32);
14025pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1105i32);
14026pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(661i32);
14027pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(659i32);
14028pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(665i32);
14029pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(664i32);
14030pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(660i32);
14031pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(662i32);
14032pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(666i32);
14033pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(663i32);
14034pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1046i32);
14035pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(657i32);
14036pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1104i32);
14037pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(688i32);
14038pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(629i32);
14039pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(632i32);
14040pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDHEAPTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1362i32);
14041pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(631i32);
14042pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(628i32);
14043pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(624i32);
14044pub const D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(623i32);
14045pub const D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(633i32);
14046pub const D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(626i32);
14047pub const D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(625i32);
14048pub const D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(627i32);
14049pub const D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(630i32);
14050pub const D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(292i32);
14051pub const D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(290i32);
14052pub const D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(291i32);
14053pub const D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(289i32);
14054pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(62i32);
14055pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(253i32);
14056pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(55i32);
14057pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(61i32);
14058pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(54i32);
14059pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(57i32);
14060pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(56i32);
14061pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(59i32);
14062pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(60i32);
14063pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(65i32);
14064pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(64i32);
14065pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(52i32);
14066pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(58i32);
14067pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(53i32);
14068pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(239i32);
14069pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(245i32);
14070pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(63i32);
14071pub const D3D12_MESSAGE_ID_CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1267i32);
14072pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1273i32);
14073pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1265i32);
14074pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1276i32);
14075pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1266i32);
14076pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1272i32);
14077pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_TOPOLOGY_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1323i32);
14078pub const D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(964i32);
14079pub const D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(963i32);
14080pub const D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(962i32);
14081pub const D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(965i32);
14082pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(885i32);
14083pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(887i32);
14084pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(886i32);
14085pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(888i32);
14086pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1022i32);
14087pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1018i32);
14088pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(884i32);
14089pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(922i32);
14090pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_STREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1021i32);
14091pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1249i32);
14092pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1019i32);
14093pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_ZERO_SIZE_STREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1020i32);
14094pub const D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(283i32);
14095pub const D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(93i32);
14096pub const D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(94i32);
14097pub const D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(92i32);
14098pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1147i32);
14099pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1148i32);
14100pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1149i32);
14101pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1150i32);
14102pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1151i32);
14103pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1144i32);
14104pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1145i32);
14105pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1152i32);
14106pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1146i32);
14107pub const D3D12_MESSAGE_ID_CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1079i32);
14108pub const D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(729i32);
14109pub const D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(978i32);
14110pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(96i32);
14111pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(97i32);
14112pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(95i32);
14113pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(401i32);
14114pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(98i32);
14115pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(647i32);
14116pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_LINERASTERIZATIONMODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1379i32);
14117pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_NON_WHOLE_DYNAMIC_DEPTH_BIAS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1365i32);
14118pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(37i32);
14119pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(41i32);
14120pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(38i32);
14121pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(40i32);
14122pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(42i32);
14123pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(39i32);
14124pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(35i32);
14125pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(36i32);
14126pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(641i32);
14127pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(640i32);
14128pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(638i32);
14129pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1363i32);
14130pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1342i32);
14131pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(701i32);
14132pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(634i32);
14133pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(700i32);
14134pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(642i32);
14135pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(636i32);
14136pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(639i32);
14137pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(635i32);
14138pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(637i32);
14139pub const D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(818i32);
14140pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(721i32);
14141pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT_SMALLRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1380i32);
14142pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(602i32);
14143pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(815i32);
14144pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(817i32);
14145pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(604i32);
14146pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(720i32);
14147pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(597i32);
14148pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(738i32);
14149pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(724i32);
14150pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(722i32);
14151pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(599i32);
14152pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(723i32);
14153pub const D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(603i32);
14154pub const D3D12_MESSAGE_ID_CREATERESOURCE_STATE_IGNORED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1328i32);
14155pub const D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(816i32);
14156pub const D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(718i32);
14157pub const D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(737i32);
14158pub const D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(719i32);
14159pub const D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_ALREADYOPEN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1285i32);
14160pub const D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_DISABLED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1284i32);
14161pub const D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_INVALIDARGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1283i32);
14162pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(27i32);
14163pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(31i32);
14164pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(28i32);
14165pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(30i32);
14166pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(32i32);
14167pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(29i32);
14168pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(26i32);
14169pub const D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(622i32);
14170pub const D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(913i32);
14171pub const D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(911i32);
14172pub const D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(912i32);
14173pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(341i32);
14174pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(345i32);
14175pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(354i32);
14176pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(342i32);
14177pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(344i32);
14178pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(340i32);
14179pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(343i32);
14180pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(346i32);
14181pub const D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(277i32);
14182pub const D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(67i32);
14183pub const D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(68i32);
14184pub const D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(66i32);
14185pub const D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(558i32);
14186pub const D3D12_MESSAGE_ID_CREATE_COMMANDLIST12: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(560i32);
14187pub const D3D12_MESSAGE_ID_CREATE_COMMANDPOOL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1122i32);
14188pub const D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(557i32);
14189pub const D3D12_MESSAGE_ID_CREATE_COMMANDRECORDER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1115i32);
14190pub const D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(569i32);
14191pub const D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(977i32);
14192pub const D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1155i32);
14193pub const D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1224i32);
14194pub const D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1126i32);
14195pub const D3D12_MESSAGE_ID_CREATE_COMMAND_POOL_INVALID_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1125i32);
14196pub const D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1025i32);
14197pub const D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1024i32);
14198pub const D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1120i32);
14199pub const D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1119i32);
14200pub const D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1121i32);
14201pub const D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1118i32);
14202pub const D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(650i32);
14203pub const D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(649i32);
14204pub const D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1068i32);
14205pub const D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION_POLICY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1069i32);
14206pub const D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(563i32);
14207pub const D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(645i32);
14208pub const D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1013i32);
14209pub const D3D12_MESSAGE_ID_CREATE_FENCE_INVALID_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1007i32);
14210pub const D3D12_MESSAGE_ID_CREATE_HEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(566i32);
14211pub const D3D12_MESSAGE_ID_CREATE_LIBRARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(565i32);
14212pub const D3D12_MESSAGE_ID_CREATE_LIFETIMETRACKER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1163i32);
14213pub const D3D12_MESSAGE_ID_CREATE_META_COMMAND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1137i32);
14214pub const D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(567i32);
14215pub const D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(966i32);
14216pub const D3D12_MESSAGE_ID_CREATE_PIPELINESTATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(559i32);
14217pub const D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1070i32);
14218pub const D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1247i32);
14219pub const D3D12_MESSAGE_ID_CREATE_QUERYHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(568i32);
14220pub const D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(910i32);
14221pub const D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(920i32);
14222pub const D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(909i32);
14223pub const D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(976i32);
14224pub const D3D12_MESSAGE_ID_CREATE_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(562i32);
14225pub const D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(564i32);
14226pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(696i32);
14227pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(697i32);
14228pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(698i32);
14229pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(699i32);
14230pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1230i32);
14231pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1277i32);
14232pub const D3D12_MESSAGE_ID_CREATE_SAMPLER_COMPARISON_FUNC_IGNORED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1361i32);
14233pub const D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(742i32);
14234pub const D3D12_MESSAGE_ID_CREATE_SHADERCACHESESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1280i32);
14235pub const D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1194i32);
14236pub const D3D12_MESSAGE_ID_CREATE_TRACKEDWORKLOAD: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1167i32);
14237pub const D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(652i32);
14238pub const D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(979i32);
14239pub const D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1051i32);
14240pub const D3D12_MESSAGE_ID_CREATE_VIDEODECODER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(980i32);
14241pub const D3D12_MESSAGE_ID_CREATE_VIDEODECODERHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1083i32);
14242pub const D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(981i32);
14243pub const D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1177i32);
14244pub const D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1180i32);
14245pub const D3D12_MESSAGE_ID_CREATE_VIDEOENCODER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1297i32);
14246pub const D3D12_MESSAGE_ID_CREATE_VIDEOENCODERHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1300i32);
14247pub const D3D12_MESSAGE_ID_CREATE_VIDEOEXTENSIONCOMMAND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1225i32);
14248pub const D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONESTIMATOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1183i32);
14249pub const D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONVECTORHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1186i32);
14250pub const D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1052i32);
14251pub const D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1053i32);
14252pub const D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1060i32);
14253pub const D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSSTREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1061i32);
14254pub const D3D12_MESSAGE_ID_CREATE_VIDEO_DECODER_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1102i32);
14255pub const D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1099i32);
14256pub const D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1100i32);
14257pub const D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1311i32);
14258pub const D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_UNSUPPORTED_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1312i32);
14259pub const D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1309i32);
14260pub const D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_UNSUPPORTED_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1310i32);
14261pub const D3D12_MESSAGE_ID_CREATE_VIDEO_PROCESSOR_CAPS_FAILURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1108i32);
14262pub const D3D12_MESSAGE_ID_D3D12_MESSAGES_END: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1381i32);
14263pub const D3D12_MESSAGE_ID_DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1002i32);
14264pub const D3D12_MESSAGE_ID_DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1003i32);
14265pub const D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(988i32);
14266pub const D3D12_MESSAGE_ID_DEPRECATED_API: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(989i32);
14267pub const D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(615i32);
14268pub const D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(616i32);
14269pub const D3D12_MESSAGE_ID_DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1042i32);
14270pub const D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SHADER_VISIBLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1315i32);
14271pub const D3D12_MESSAGE_ID_DESTROYOWNEDOBJECT_OBJECTNOTOWNED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1166i32);
14272pub const D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(584i32);
14273pub const D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(586i32);
14274pub const D3D12_MESSAGE_ID_DESTROY_COMMANDPOOL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1124i32);
14275pub const D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(583i32);
14276pub const D3D12_MESSAGE_ID_DESTROY_COMMANDRECORDER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1117i32);
14277pub const D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(595i32);
14278pub const D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1074i32);
14279pub const D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION_POLICY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1075i32);
14280pub const D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(589i32);
14281pub const D3D12_MESSAGE_ID_DESTROY_HEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(592i32);
14282pub const D3D12_MESSAGE_ID_DESTROY_LIBRARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(591i32);
14283pub const D3D12_MESSAGE_ID_DESTROY_LIFETIMETRACKER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1165i32);
14284pub const D3D12_MESSAGE_ID_DESTROY_META_COMMAND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1139i32);
14285pub const D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(593i32);
14286pub const D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(968i32);
14287pub const D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(585i32);
14288pub const D3D12_MESSAGE_ID_DESTROY_PROTECTED_RESOURCE_SESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1076i32);
14289pub const D3D12_MESSAGE_ID_DESTROY_QUERYHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(594i32);
14290pub const D3D12_MESSAGE_ID_DESTROY_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(588i32);
14291pub const D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(590i32);
14292pub const D3D12_MESSAGE_ID_DESTROY_SHADERCACHESESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1282i32);
14293pub const D3D12_MESSAGE_ID_DESTROY_TRACKEDWORKLOAD: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1169i32);
14294pub const D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(985i32);
14295pub const D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1057i32);
14296pub const D3D12_MESSAGE_ID_DESTROY_VIDEODECODER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(986i32);
14297pub const D3D12_MESSAGE_ID_DESTROY_VIDEODECODERHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1085i32);
14298pub const D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(987i32);
14299pub const D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1179i32);
14300pub const D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1182i32);
14301pub const D3D12_MESSAGE_ID_DESTROY_VIDEOENCODER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1299i32);
14302pub const D3D12_MESSAGE_ID_DESTROY_VIDEOENCODERHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1302i32);
14303pub const D3D12_MESSAGE_ID_DESTROY_VIDEOEXTENSIONCOMMAND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1227i32);
14304pub const D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONESTIMATOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1185i32);
14305pub const D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONVECTORHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1188i32);
14306pub const D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1058i32);
14307pub const D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1059i32);
14308pub const D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1064i32);
14309pub const D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSSTREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1065i32);
14310pub const D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(318i32);
14311pub const D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(448i32);
14312pub const D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(447i32);
14313pub const D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(422i32);
14314pub const D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(337i32);
14315pub const D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(431i32);
14316pub const D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(414i32);
14317pub const D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(333i32);
14318pub const D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(427i32);
14319pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(418i32);
14320pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(335i32);
14321pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(429i32);
14322pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(416i32);
14323pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(334i32);
14324pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(428i32);
14325pub const D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(412i32);
14326pub const D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(332i32);
14327pub const D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(426i32);
14328pub const D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(420i32);
14329pub const D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(336i32);
14330pub const D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(430i32);
14331pub const D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(410i32);
14332pub const D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(331i32);
14333pub const D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(425i32);
14334pub const D3D12_MESSAGE_ID_DEVICE_CREATE_SHARED_HANDLE_INVALIDARG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1041i32);
14335pub const D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_HANDLE_ACCESS_DENIED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1330i32);
14336pub const D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(232i32);
14337pub const D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(234i32);
14338pub const D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(233i32);
14339pub const D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(995i32);
14340pub const D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(997i32);
14341pub const D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(996i32);
14342pub const D3D12_MESSAGE_ID_DISPATCH_RAYS_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1161i32);
14343pub const D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(695i32);
14344pub const D3D12_MESSAGE_ID_DRAW_POTENTIALLY_OUTSIDE_OF_VALID_RENDER_AREA: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1378i32);
14345pub const D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_FLAG_MISSING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1366i32);
14346pub const D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1364i32);
14347pub const D3D12_MESSAGE_ID_DYNAMIC_DEPTH_BIAS_NO_PIPELINE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1367i32);
14348pub const D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_FLAG_MISSING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1368i32);
14349pub const D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1359i32);
14350pub const D3D12_MESSAGE_ID_DYNAMIC_INDEX_BUFFER_STRIP_CUT_NO_PIPELINE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1369i32);
14351pub const D3D12_MESSAGE_ID_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1159i32);
14352pub const D3D12_MESSAGE_ID_EMPTY_DISPATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1254i32);
14353pub const D3D12_MESSAGE_ID_EMPTY_ROOT_DESCRIPTOR_TABLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1347i32);
14354pub const D3D12_MESSAGE_ID_ENCODE_FRAME_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1305i32);
14355pub const D3D12_MESSAGE_ID_ENCODE_FRAME_UNSUPPORTED_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1306i32);
14356pub const D3D12_MESSAGE_ID_END_EVENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1015i32);
14357pub const D3D12_MESSAGE_ID_ENHANCED_BARRIERS_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1343i32);
14358pub const D3D12_MESSAGE_ID_ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1111i32);
14359pub const D3D12_MESSAGE_ID_ESTIMATE_MOTION_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1220i32);
14360pub const D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(705i32);
14361pub const D3D12_MESSAGE_ID_EVICT_UNDERFLOW: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1136i32);
14362pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(835i32);
14363pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(836i32);
14364pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(838i32);
14365pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(927i32);
14366pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(837i32);
14367pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(907i32);
14368pub const D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(693i32);
14369pub const D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(692i32);
14370pub const D3D12_MESSAGE_ID_EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1004i32);
14371pub const D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(694i32);
14372pub const D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(744i32);
14373pub const D3D12_MESSAGE_ID_EXECUTE_INDIRECT_ZERO_COMMAND_COUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1357i32);
14374pub const D3D12_MESSAGE_ID_FENCE_INVALIDOPERATION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1078i32);
14375pub 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);
14376pub const D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(740i32);
14377pub const D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(739i32);
14378pub const D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_UNSUPPORTED_BUFFER_WIDTH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1322i32);
14379pub const D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(740i32);
14380pub const D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(739i32);
14381pub const D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(644i32);
14382pub const D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(643i32);
14383pub const D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1222i32);
14384pub const D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(745i32);
14385pub const D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(901i32);
14386pub const D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(20i32);
14387pub const D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(702i32);
14388pub const D3D12_MESSAGE_ID_GET_PIPELINE_STACK_SIZE_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1197i32);
14389pub const D3D12_MESSAGE_ID_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1162i32);
14390pub const D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1195i32);
14391pub const D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_SIZE_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1199i32);
14392pub const D3D12_MESSAGE_ID_GET_SHADER_STACK_SIZE_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1196i32);
14393pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(936i32);
14394pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(937i32);
14395pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(939i32);
14396pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(938i32);
14397pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(942i32);
14398pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_TEXTURE_LAYOUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1358i32);
14399pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(958i32);
14400pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1005i32);
14401pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1044i32);
14402pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(935i32);
14403pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(961i32);
14404pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1006i32);
14405pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(940i32);
14406pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(941i32);
14407pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1000i32);
14408pub const D3D12_MESSAGE_ID_GRAPHICS_PIPELINE_STATE_DESC_ZERO_SAMPLE_MASK: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1352i32);
14409pub const D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(923i32);
14410pub const D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(926i32);
14411pub const D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_ACCESS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1332i32);
14412pub const D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_LAYOUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1334i32);
14413pub const D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_RESOURCE_DIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1337i32);
14414pub const D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_SYNC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1333i32);
14415pub const D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1335i32);
14416pub const D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_VALUES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1331i32);
14417pub const D3D12_MESSAGE_ID_INCOMPLETE_TRACKED_WORKLOAD_PAIR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1193i32);
14418pub const D3D12_MESSAGE_ID_INDEPENDENT_STENCIL_REF_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1353i32);
14419pub const D3D12_MESSAGE_ID_INVALID_BUNDLE_API: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(546i32);
14420pub const D3D12_MESSAGE_ID_INVALID_CAST_TARGET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1371i32);
14421pub const D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(646i32);
14422pub const D3D12_MESSAGE_ID_INVALID_NODE_INDEX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(900i32);
14423pub const D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(538i32);
14424pub const D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(608i32);
14425pub const D3D12_MESSAGE_ID_INVALID_VIDEO_EXTENSION_COMMAND_ID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1228i32);
14426pub const D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(918i32);
14427pub const D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(917i32);
14428pub const D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(919i32);
14429pub const D3D12_MESSAGE_ID_LEGACY_BARRIER_VALIDATION_FORCED_ON: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1346i32);
14430pub const D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(571i32);
14431pub const D3D12_MESSAGE_ID_LIVE_COMMANDLIST12: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(573i32);
14432pub const D3D12_MESSAGE_ID_LIVE_COMMANDPOOL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1123i32);
14433pub const D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(570i32);
14434pub const D3D12_MESSAGE_ID_LIVE_COMMANDRECORDER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1116i32);
14435pub const D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(582i32);
14436pub const D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1071i32);
14437pub const D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION_POLICY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1072i32);
14438pub const D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(576i32);
14439pub const D3D12_MESSAGE_ID_LIVE_DEVICE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(274i32);
14440pub const D3D12_MESSAGE_ID_LIVE_HEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(579i32);
14441pub const D3D12_MESSAGE_ID_LIVE_LIBRARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(578i32);
14442pub const D3D12_MESSAGE_ID_LIVE_LIFETIMETRACKER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1164i32);
14443pub const D3D12_MESSAGE_ID_LIVE_META_COMMAND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1138i32);
14444pub const D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(580i32);
14445pub const D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(255i32);
14446pub const D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(967i32);
14447pub const D3D12_MESSAGE_ID_LIVE_PIPELINESTATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(572i32);
14448pub const D3D12_MESSAGE_ID_LIVE_PROTECTED_RESOURCE_SESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1073i32);
14449pub const D3D12_MESSAGE_ID_LIVE_QUERYHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(581i32);
14450pub const D3D12_MESSAGE_ID_LIVE_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(575i32);
14451pub const D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(577i32);
14452pub const D3D12_MESSAGE_ID_LIVE_SHADERCACHESESSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1281i32);
14453pub const D3D12_MESSAGE_ID_LIVE_SWAPCHAIN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(275i32);
14454pub const D3D12_MESSAGE_ID_LIVE_TRACKEDWORKLOAD: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1168i32);
14455pub const D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(982i32);
14456pub const D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1054i32);
14457pub const D3D12_MESSAGE_ID_LIVE_VIDEODECODER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(983i32);
14458pub const D3D12_MESSAGE_ID_LIVE_VIDEODECODERHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1084i32);
14459pub const D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(984i32);
14460pub const D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1178i32);
14461pub const D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1181i32);
14462pub const D3D12_MESSAGE_ID_LIVE_VIDEOENCODER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1298i32);
14463pub const D3D12_MESSAGE_ID_LIVE_VIDEOENCODERHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1301i32);
14464pub const D3D12_MESSAGE_ID_LIVE_VIDEOEXTENSIONCOMMAND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1226i32);
14465pub const D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONESTIMATOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1184i32);
14466pub const D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONVECTORHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1187i32);
14467pub const D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDLIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1055i32);
14468pub const D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDQUEUE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1056i32);
14469pub const D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSOR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1062i32);
14470pub const D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSSTREAM: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1063i32);
14471pub const D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(972i32);
14472pub const D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(971i32);
14473pub const D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(703i32);
14474pub const D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(833i32);
14475pub const D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(832i32);
14476pub const D3D12_MESSAGE_ID_MAP_INVALIDHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(822i32);
14477pub const D3D12_MESSAGE_ID_MAP_INVALIDRANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(828i32);
14478pub const D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(824i32);
14479pub const D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(826i32);
14480pub const D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(930i32);
14481pub const D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(834i32);
14482pub 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);
14483pub const D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(19i32);
14484pub const D3D12_MESSAGE_ID_META_COMMAND_FAILED_ENUMERATION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1173i32);
14485pub const D3D12_MESSAGE_ID_META_COMMAND_ID_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1171i32);
14486pub const D3D12_MESSAGE_ID_META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1176i32);
14487pub const D3D12_MESSAGE_ID_META_COMMAND_PARAMETER_SIZE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1174i32);
14488pub const D3D12_MESSAGE_ID_META_COMMAND_UNSUPPORTED_PARAMS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1172i32);
14489pub const D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOADS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1189i32);
14490pub const D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOAD_PAIRS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1190i32);
14491pub const D3D12_MESSAGE_ID_NODE_MASK_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(902i32);
14492pub const D3D12_MESSAGE_ID_NONNORMALIZED_COORDINATE_SAMPLING_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1370i32);
14493pub const D3D12_MESSAGE_ID_NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1252i32);
14494pub const D3D12_MESSAGE_ID_NON_OPTIMAL_BARRIER_ONLY_EXECUTE_COMMAND_LISTS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1356i32);
14495pub const D3D12_MESSAGE_ID_NON_RETAIL_SHADER_MODEL_WONT_VALIDATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1243i32);
14496pub const D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(933i32);
14497pub const D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(932i32);
14498pub const D3D12_MESSAGE_ID_NO_VIDEO_API_SUPPORT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1106i32);
14499pub const D3D12_MESSAGE_ID_OBJECT_ACCESSED_WHILE_STILL_IN_USE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1047i32);
14500pub const D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(921i32);
14501pub const D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(960i32);
14502pub const D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDADDRESS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1088i32);
14503pub const D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDARG_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1086i32);
14504pub const D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDHANDLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1089i32);
14505pub const D3D12_MESSAGE_ID_OPENEXISTINGHEAP_OUTOFMEMORY_RETURN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1087i32);
14506pub const D3D12_MESSAGE_ID_OPENEXISTINGHEAP_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1112i32);
14507pub const D3D12_MESSAGE_ID_OUT_OF_BOUNDS_BARRIER_SUBRESOURCE_RANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1336i32);
14508pub const D3D12_MESSAGE_ID_OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1191i32);
14509pub const D3D12_MESSAGE_ID_OVERSIZED_DISPATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1296i32);
14510pub const D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(973i32);
14511pub const D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(951i32);
14512pub const D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(609i32);
14513pub const D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(607i32);
14514pub const D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(611i32);
14515pub const D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_TRIANGLE_FANS_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1360i32);
14516pub const D3D12_MESSAGE_ID_PROCESS_FRAME_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1066i32);
14517pub const D3D12_MESSAGE_ID_PROGRAMMABLE_MSAA_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1048i32);
14518pub const D3D12_MESSAGE_ID_PROTECTED_RESOURCE_SESSION_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1077i32);
14519pub const D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(898i32);
14520pub const D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(896i32);
14521pub const D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(894i32);
14522pub const D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(895i32);
14523pub const D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(897i32);
14524pub const D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(916i32);
14525pub const D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(915i32);
14526pub const D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(914i32);
14527pub const D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1206i32);
14528pub const D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_END_WITHOUT_BEGIN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1205i32);
14529pub const D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_NEST_RENDER_PASSES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1204i32);
14530pub const D3D12_MESSAGE_ID_RENDER_PASS_COMMANDLIST_INVALID_END_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1372i32);
14531pub const D3D12_MESSAGE_ID_RENDER_PASS_COMMANDLIST_INVALID_START_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1373i32);
14532pub const D3D12_MESSAGE_ID_RENDER_PASS_DISALLOWED_API_CALLED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1203i32);
14533pub const D3D12_MESSAGE_ID_RENDER_PASS_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1170i32);
14534pub const D3D12_MESSAGE_ID_RENDER_PASS_GPU_WORK_WHILE_SUSPENDED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1207i32);
14535pub const D3D12_MESSAGE_ID_RENDER_PASS_INVALID_RESOURCE_BARRIER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1202i32);
14536pub const D3D12_MESSAGE_ID_RENDER_PASS_LOCAL_DEPTH_STENCIL_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1377i32);
14537pub const D3D12_MESSAGE_ID_RENDER_PASS_LOCAL_PRESERVE_RENDER_PARAMETERS_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1376i32);
14538pub const D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_ACCESS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1374i32);
14539pub const D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_LOCAL_PRESERVE_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1375i32);
14540pub const D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_NO_ACCESS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1213i32);
14541pub const D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_SUSPEND_RESUME: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1208i32);
14542pub const D3D12_MESSAGE_ID_RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1209i32);
14543pub const D3D12_MESSAGE_ID_RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1210i32);
14544pub const D3D12_MESSAGE_ID_RENDER_PASS_UNSUPPORTED_RESOLVE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1214i32);
14545pub const D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(613i32);
14546pub const D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(614i32);
14547pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCEREGION_INVALID_RECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1050i32);
14548pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(948i32);
14549pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(950i32);
14550pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(878i32);
14551pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(880i32);
14552pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(877i32);
14553pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(947i32);
14554pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(949i32);
14555pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(934i32);
14556pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(879i32);
14557pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1269i32);
14558pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1270i32);
14559pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1268i32);
14560pub const D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1307i32);
14561pub const D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_UNSUPPORTED_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1308i32);
14562pub const D3D12_MESSAGE_ID_RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1221i32);
14563pub const D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(733i32);
14564pub const D3D12_MESSAGE_ID_RESOLVE_QUERY_INVALID_QUERY_STATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1319i32);
14565pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(527i32);
14566pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1008i32);
14567pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(526i32);
14568pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(531i32);
14569pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(537i32);
14570pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(536i32);
14571pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(530i32);
14572pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(532i32);
14573pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(741i32);
14574pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(528i32);
14575pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(533i32);
14576pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(521i32);
14577pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(519i32);
14578pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(525i32);
14579pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(957i32);
14580pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(990i32);
14581pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(524i32);
14582pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(523i32);
14583pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(520i32);
14584pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(956i32);
14585pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(522i32);
14586pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(529i32);
14587pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(535i32);
14588pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(534i32);
14589pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(954i32);
14590pub const D3D12_MESSAGE_ID_RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1255i32);
14591pub const D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(310i32);
14592pub const D3D12_MESSAGE_ID_RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1236i32);
14593pub const D3D12_MESSAGE_ID_RSSETSHADINGRATE_REQUIRES_TIER_1: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1237i32);
14594pub const D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_COMBINER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1235i32);
14595pub const D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_SHADING_RATE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1233i32);
14596pub const D3D12_MESSAGE_ID_RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1234i32);
14597pub const D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_DEFERRED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1080i32);
14598pub const D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1082i32);
14599pub const D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1081i32);
14600pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1271i32);
14601pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1262i32);
14602pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1264i32);
14603pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1257i32);
14604pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1260i32);
14605pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1256i32);
14606pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1258i32);
14607pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1259i32);
14608pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1261i32);
14609pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1263i32);
14610pub const D3D12_MESSAGE_ID_SETDEPTHBOUNDS_INVALIDARGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1043i32);
14611pub const D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(975i32);
14612pub const D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(24i32);
14613pub const D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(21i32);
14614pub const D3D12_MESSAGE_ID_SETPRIVATEDATA_NO_ACCESS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1320i32);
14615pub const D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(25i32);
14616pub const D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(999i32);
14617pub const D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PRIORITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1009i32);
14618pub const D3D12_MESSAGE_ID_SETSAMPLEPOSITIONS_INVALIDARGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1049i32);
14619pub const D3D12_MESSAGE_ID_SETTING_SHADING_RATE_FROM_MS_REQUIRES_CAPABILITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1325i32);
14620pub const D3D12_MESSAGE_ID_SETVIEWINSTANCEMASK_INVALIDARGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1094i32);
14621pub const D3D12_MESSAGE_ID_SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1223i32);
14622pub const D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(554i32);
14623pub const D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(708i32);
14624pub const D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(725i32);
14625pub const D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(715i32);
14626pub const D3D12_MESSAGE_ID_SET_PIPELINE_STACK_SIZE_ERROR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1198i32);
14627pub const D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(734i32);
14628pub const D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(728i32);
14629pub const D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(710i32);
14630pub const D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(709i32);
14631pub const D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(711i32);
14632pub const D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(712i32);
14633pub const D3D12_MESSAGE_ID_SET_SCISSOR_RECTS_INVALID_RECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1338i32);
14634pub const D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(727i32);
14635pub const D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(717i32);
14636pub const D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(726i32);
14637pub const D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(713i32);
14638pub const D3D12_MESSAGE_ID_SHADERCACHECONTROL_DEVELOPERMODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1286i32);
14639pub const D3D12_MESSAGE_ID_SHADERCACHECONTROL_IGNOREDFLAG: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1289i32);
14640pub const D3D12_MESSAGE_ID_SHADERCACHECONTROL_INVALIDFLAGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1287i32);
14641pub const D3D12_MESSAGE_ID_SHADERCACHECONTROL_SHADERCACHECLEAR_NOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1327i32);
14642pub const D3D12_MESSAGE_ID_SHADERCACHECONTROL_STATEALREADYSET: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1288i32);
14643pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_CORRUPT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1294i32);
14644pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_DISABLED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1295i32);
14645pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_FINDVALUE_NOTFOUND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1293i32);
14646pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_SHADERCACHEDELETE_NOTSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1326i32);
14647pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_ALREADYPRESENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1290i32);
14648pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_CACHEFULL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1292i32);
14649pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_HASHCOLLISION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1291i32);
14650pub const D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1239i32);
14651pub const D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1238i32);
14652pub const D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1240i32);
14653pub const D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1241i32);
14654pub const D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1242i32);
14655pub const D3D12_MESSAGE_ID_SHADING_RATE_SOURCE_REQUIRES_DIMENSION_TEXTURE2D: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1339i32);
14656pub const D3D12_MESSAGE_ID_STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1001i32);
14657pub const D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(970i32);
14658pub const D3D12_MESSAGE_ID_STOREPIPELINE_NONAME: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(969i32);
14659pub const D3D12_MESSAGE_ID_STRING_FROM_APPLICATION: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1i32);
14660pub const D3D12_MESSAGE_ID_TEXTURE_BARRIER_SUBRESOURCES_OUT_OF_BOUNDS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1355i32);
14661pub const D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(735i32);
14662pub const D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(899i32);
14663pub const D3D12_MESSAGE_ID_TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1211i32);
14664pub const D3D12_MESSAGE_ID_TRACKED_WORKLOAD_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1212i32);
14665pub const D3D12_MESSAGE_ID_UNINITIALIZED_META_COMMAND: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1175i32);
14666pub const D3D12_MESSAGE_ID_UNKNOWN: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(0i32);
14667pub const D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(823i32);
14668pub const D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(829i32);
14669pub const D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(825i32);
14670pub const D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(827i32);
14671pub const D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(931i32);
14672pub const D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(929i32);
14673pub const D3D12_MESSAGE_ID_UNSUPPORTED_BARRIER_LAYOUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1341i32);
14674pub const D3D12_MESSAGE_ID_UNUSED_CROSS_EXECUTE_SPLIT_BARRIER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1329i32);
14675pub const D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(493i32);
14676pub const D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1154i32);
14677pub const D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(959i32);
14678pub const D3D12_MESSAGE_ID_VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1231i32);
14679pub 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);
14680pub const D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1218i32);
14681pub const D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1219i32);
14682pub const D3D12_MESSAGE_ID_VIDEO_DECODE_FRAME_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1110i32);
14683pub const D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_INVALID_INPUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1101i32);
14684pub const D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1114i32);
14685pub const D3D12_MESSAGE_ID_VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1229i32);
14686pub const D3D12_MESSAGE_ID_VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1113i32);
14687pub const D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_INVALID_INPUT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1107i32);
14688pub const D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1109i32);
14689pub const D3D12_MESSAGE_ID_VIEW_INSTANCING_INVALIDARGS: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1096i32);
14690pub const D3D12_MESSAGE_ID_VIEW_INSTANCING_UNSUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1095i32);
14691pub const D3D12_MESSAGE_ID_VRS_SUM_COMBINER_REQUIRES_CAPABILITY: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1324i32);
14692pub const D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_SIGNAL: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1216i32);
14693pub const D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_WAIT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1217i32);
14694pub const D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1092i32);
14695pub const D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_DEST: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1090i32);
14696pub const D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_MODE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1091i32);
14697pub const D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_NOT_SUPPORTED: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1093i32);
14698pub const D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(893i32);
14699pub const D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(891i32);
14700pub const D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(889i32);
14701pub const D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(890i32);
14702pub const D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(892i32);
14703pub const D3D12_MESSAGE_ID_WRITE_COMBINE_PERFORMANCE_WARNING: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(1318i32);
14704pub const D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE: D3D12_MESSAGE_ID = D3D12_MESSAGE_ID(549i32);
14705pub const D3D12_MESSAGE_SEVERITY_CORRUPTION: D3D12_MESSAGE_SEVERITY = D3D12_MESSAGE_SEVERITY(0i32);
14706pub const D3D12_MESSAGE_SEVERITY_ERROR: D3D12_MESSAGE_SEVERITY = D3D12_MESSAGE_SEVERITY(1i32);
14707pub const D3D12_MESSAGE_SEVERITY_INFO: D3D12_MESSAGE_SEVERITY = D3D12_MESSAGE_SEVERITY(3i32);
14708pub const D3D12_MESSAGE_SEVERITY_MESSAGE: D3D12_MESSAGE_SEVERITY = D3D12_MESSAGE_SEVERITY(4i32);
14709pub const D3D12_MESSAGE_SEVERITY_WARNING: D3D12_MESSAGE_SEVERITY = D3D12_MESSAGE_SEVERITY(2i32);
14710pub const D3D12_META_COMMAND_PARAMETER_FLAG_INPUT: D3D12_META_COMMAND_PARAMETER_FLAGS = D3D12_META_COMMAND_PARAMETER_FLAGS(1i32);
14711pub const D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT: D3D12_META_COMMAND_PARAMETER_FLAGS = D3D12_META_COMMAND_PARAMETER_FLAGS(2i32);
14712pub const D3D12_META_COMMAND_PARAMETER_STAGE_CREATION: D3D12_META_COMMAND_PARAMETER_STAGE = D3D12_META_COMMAND_PARAMETER_STAGE(0i32);
14713pub const D3D12_META_COMMAND_PARAMETER_STAGE_EXECUTION: D3D12_META_COMMAND_PARAMETER_STAGE = D3D12_META_COMMAND_PARAMETER_STAGE(2i32);
14714pub const D3D12_META_COMMAND_PARAMETER_STAGE_INITIALIZATION: D3D12_META_COMMAND_PARAMETER_STAGE = D3D12_META_COMMAND_PARAMETER_STAGE(1i32);
14715pub 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);
14716pub const D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT: D3D12_META_COMMAND_PARAMETER_TYPE = D3D12_META_COMMAND_PARAMETER_TYPE(0i32);
14717pub 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);
14718pub const D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS: D3D12_META_COMMAND_PARAMETER_TYPE = D3D12_META_COMMAND_PARAMETER_TYPE(2i32);
14719pub const D3D12_META_COMMAND_PARAMETER_TYPE_UINT64: D3D12_META_COMMAND_PARAMETER_TYPE = D3D12_META_COMMAND_PARAMETER_TYPE(1i32);
14720pub const D3D12_MINOR_VERSION: u32 = 0u32;
14721pub const D3D12_MIN_BORDER_COLOR_COMPONENT: f32 = 0f32;
14722pub const D3D12_MIN_DEPTH: f32 = 0f32;
14723pub const D3D12_MIN_FILTER_SHIFT: u32 = 4u32;
14724pub const D3D12_MIN_MAXANISOTROPY: u32 = 0u32;
14725pub const D3D12_MIP_FILTER_SHIFT: u32 = 0u32;
14726pub const D3D12_MIP_LOD_BIAS_MAX: f32 = 15.99f32;
14727pub const D3D12_MIP_LOD_BIAS_MIN: f32 = -16f32;
14728pub const D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT: u32 = 8u32;
14729pub const D3D12_MIP_LOD_RANGE_BIT_COUNT: u32 = 8u32;
14730pub const D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL: D3D12_MULTIPLE_FENCE_WAIT_FLAGS = D3D12_MULTIPLE_FENCE_WAIT_FLAGS(0i32);
14731pub const D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY: D3D12_MULTIPLE_FENCE_WAIT_FLAGS = D3D12_MULTIPLE_FENCE_WAIT_FLAGS(1i32);
14732pub const D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE: D3D12_MULTIPLE_FENCE_WAIT_FLAGS = D3D12_MULTIPLE_FENCE_WAIT_FLAGS(0i32);
14733pub const D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH: f32 = 1.4f32;
14734pub const D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE: D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS = D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS(0i32);
14735pub const D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE: D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS = D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS(1i32);
14736pub const D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT: u32 = 0u32;
14737pub const D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END: u32 = 4294967295u32;
14738pub const D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START: u32 = 4294967288u32;
14739pub const D3D12_PACKED_TILE: u32 = 4294967295u32;
14740pub const D3D12_PIPELINE_STATE_FLAG_DYNAMIC_DEPTH_BIAS: D3D12_PIPELINE_STATE_FLAGS = D3D12_PIPELINE_STATE_FLAGS(4i32);
14741pub const D3D12_PIPELINE_STATE_FLAG_DYNAMIC_INDEX_BUFFER_STRIP_CUT: D3D12_PIPELINE_STATE_FLAGS = D3D12_PIPELINE_STATE_FLAGS(8i32);
14742pub const D3D12_PIPELINE_STATE_FLAG_NONE: D3D12_PIPELINE_STATE_FLAGS = D3D12_PIPELINE_STATE_FLAGS(0i32);
14743pub const D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG: D3D12_PIPELINE_STATE_FLAGS = D3D12_PIPELINE_STATE_FLAGS(1i32);
14744pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(24i32);
14745pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(8i32);
14746pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(19i32);
14747pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(6i32);
14748pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(11i32);
14749pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(21i32);
14750pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(26i32);
14751pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(16i32);
14752pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(3i32);
14753pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(20i32);
14754pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(5i32);
14755pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(4i32);
14756pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(13i32);
14757pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(12i32);
14758pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(29i32);
14759pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(25i32);
14760pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(18i32);
14761pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(14i32);
14762pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(2i32);
14763pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(10i32);
14764pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER1: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(27i32);
14765pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(28i32);
14766pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(15i32);
14767pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(0i32);
14768pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(17i32);
14769pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(9i32);
14770pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(7i32);
14771pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(22i32);
14772pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS: D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(1i32);
14773pub const D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT: u32 = 15u32;
14774pub const D3D12_PREDICATION_OP_EQUAL_ZERO: D3D12_PREDICATION_OP = D3D12_PREDICATION_OP(0i32);
14775pub const D3D12_PREDICATION_OP_NOT_EQUAL_ZERO: D3D12_PREDICATION_OP = D3D12_PREDICATION_OP(1i32);
14776pub const D3D12_PREVIEW_SDK_VERSION: u32 = 710u32;
14777pub const D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT: u32 = 16u32;
14778pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE: D3D12_PRIMITIVE_TOPOLOGY_TYPE = D3D12_PRIMITIVE_TOPOLOGY_TYPE(2i32);
14779pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH: D3D12_PRIMITIVE_TOPOLOGY_TYPE = D3D12_PRIMITIVE_TOPOLOGY_TYPE(4i32);
14780pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT: D3D12_PRIMITIVE_TOPOLOGY_TYPE = D3D12_PRIMITIVE_TOPOLOGY_TYPE(1i32);
14781pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE: D3D12_PRIMITIVE_TOPOLOGY_TYPE = D3D12_PRIMITIVE_TOPOLOGY_TYPE(3i32);
14782pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED: D3D12_PRIMITIVE_TOPOLOGY_TYPE = D3D12_PRIMITIVE_TOPOLOGY_TYPE(0i32);
14783pub const D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1: D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER = D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER(1i32);
14784pub const D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2: D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER = D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER(2i32);
14785pub const D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED: D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER = D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER(0i32);
14786pub const D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x62b0084e_c70e_4daa_a109_30ff8d5a0482);
14787pub const D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE: D3D12_PROTECTED_RESOURCE_SESSION_FLAGS = D3D12_PROTECTED_RESOURCE_SESSION_FLAGS(0i32);
14788pub const D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE: D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS = D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS(0i32);
14789pub const D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_SUPPORTED: D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS = D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS(1i32);
14790pub const D3D12_PROTECTED_SESSION_STATUS_INVALID: D3D12_PROTECTED_SESSION_STATUS = D3D12_PROTECTED_SESSION_STATUS(1i32);
14791pub const D3D12_PROTECTED_SESSION_STATUS_OK: D3D12_PROTECTED_SESSION_STATUS = D3D12_PROTECTED_SESSION_STATUS(0i32);
14792pub const D3D12_PS_CS_UAV_REGISTER_COMPONENTS: u32 = 1u32;
14793pub const D3D12_PS_CS_UAV_REGISTER_COUNT: u32 = 8u32;
14794pub const D3D12_PS_CS_UAV_REGISTER_READS_PER_INST: u32 = 1u32;
14795pub const D3D12_PS_CS_UAV_REGISTER_READ_PORTS: u32 = 1u32;
14796pub const D3D12_PS_FRONTFACING_DEFAULT_VALUE: u32 = 4294967295u32;
14797pub const D3D12_PS_FRONTFACING_FALSE_VALUE: u32 = 0u32;
14798pub const D3D12_PS_FRONTFACING_TRUE_VALUE: u32 = 4294967295u32;
14799pub const D3D12_PS_INPUT_REGISTER_COMPONENTS: u32 = 4u32;
14800pub const D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
14801pub const D3D12_PS_INPUT_REGISTER_COUNT: u32 = 32u32;
14802pub const D3D12_PS_INPUT_REGISTER_READS_PER_INST: u32 = 2u32;
14803pub const D3D12_PS_INPUT_REGISTER_READ_PORTS: u32 = 1u32;
14804pub const D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT: f32 = 0f32;
14805pub const D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS: u32 = 1u32;
14806pub const D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
14807pub const D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT: u32 = 1u32;
14808pub const D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS: u32 = 1u32;
14809pub const D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
14810pub const D3D12_PS_OUTPUT_MASK_REGISTER_COUNT: u32 = 1u32;
14811pub const D3D12_PS_OUTPUT_REGISTER_COMPONENTS: u32 = 4u32;
14812pub const D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
14813pub const D3D12_PS_OUTPUT_REGISTER_COUNT: u32 = 8u32;
14814pub const D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT: f32 = 0.5f32;
14815pub const D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP: D3D12_QUERY_HEAP_TYPE = D3D12_QUERY_HEAP_TYPE(5i32);
14816pub const D3D12_QUERY_HEAP_TYPE_OCCLUSION: D3D12_QUERY_HEAP_TYPE = D3D12_QUERY_HEAP_TYPE(0i32);
14817pub const D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS: D3D12_QUERY_HEAP_TYPE = D3D12_QUERY_HEAP_TYPE(2i32);
14818pub const D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS1: D3D12_QUERY_HEAP_TYPE = D3D12_QUERY_HEAP_TYPE(7i32);
14819pub const D3D12_QUERY_HEAP_TYPE_SO_STATISTICS: D3D12_QUERY_HEAP_TYPE = D3D12_QUERY_HEAP_TYPE(3i32);
14820pub const D3D12_QUERY_HEAP_TYPE_TIMESTAMP: D3D12_QUERY_HEAP_TYPE = D3D12_QUERY_HEAP_TYPE(1i32);
14821pub const D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS: D3D12_QUERY_HEAP_TYPE = D3D12_QUERY_HEAP_TYPE(4i32);
14822pub const D3D12_QUERY_TYPE_BINARY_OCCLUSION: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(1i32);
14823pub const D3D12_QUERY_TYPE_OCCLUSION: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(0i32);
14824pub const D3D12_QUERY_TYPE_PIPELINE_STATISTICS: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(3i32);
14825pub const D3D12_QUERY_TYPE_PIPELINE_STATISTICS1: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(10i32);
14826pub const D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(4i32);
14827pub const D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(5i32);
14828pub const D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(6i32);
14829pub const D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(7i32);
14830pub const D3D12_QUERY_TYPE_TIMESTAMP: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(2i32);
14831pub const D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS: D3D12_QUERY_TYPE = D3D12_QUERY_TYPE(8i32);
14832pub const D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT: u32 = 16u32;
14833pub const D3D12_RAYTRACING_AABB_BYTE_ALIGNMENT: u32 = 8u32;
14834pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(2i32);
14835pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(1i32);
14836pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(16i32);
14837pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(0i32);
14838pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(32i32);
14839pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(8i32);
14840pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(4i32);
14841pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT: u32 = 256u32;
14842pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE(0i32);
14843pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE(1i32);
14844pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_DESERIALIZE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE(4i32);
14845pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE(3i32);
14846pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_VISUALIZATION_DECODE_FOR_TOOLS: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE(2i32);
14847pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE(0i32);
14848pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE(3i32);
14849pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE(2i32);
14850pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE(1i32);
14851pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE(1i32);
14852pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE(0i32);
14853pub const D3D12_RAYTRACING_GEOMETRY_FLAG_NONE: D3D12_RAYTRACING_GEOMETRY_FLAGS = D3D12_RAYTRACING_GEOMETRY_FLAGS(0i32);
14854pub const D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION: D3D12_RAYTRACING_GEOMETRY_FLAGS = D3D12_RAYTRACING_GEOMETRY_FLAGS(2i32);
14855pub const D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE: D3D12_RAYTRACING_GEOMETRY_FLAGS = D3D12_RAYTRACING_GEOMETRY_FLAGS(1i32);
14856pub const D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS: D3D12_RAYTRACING_GEOMETRY_TYPE = D3D12_RAYTRACING_GEOMETRY_TYPE(1i32);
14857pub const D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES: D3D12_RAYTRACING_GEOMETRY_TYPE = D3D12_RAYTRACING_GEOMETRY_TYPE(0i32);
14858pub const D3D12_RAYTRACING_INSTANCE_DESCS_BYTE_ALIGNMENT: u32 = 16u32;
14859pub const D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE: D3D12_RAYTRACING_INSTANCE_FLAGS = D3D12_RAYTRACING_INSTANCE_FLAGS(8i32);
14860pub const D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE: D3D12_RAYTRACING_INSTANCE_FLAGS = D3D12_RAYTRACING_INSTANCE_FLAGS(4i32);
14861pub const D3D12_RAYTRACING_INSTANCE_FLAG_NONE: D3D12_RAYTRACING_INSTANCE_FLAGS = D3D12_RAYTRACING_INSTANCE_FLAGS(0i32);
14862pub const D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE: D3D12_RAYTRACING_INSTANCE_FLAGS = D3D12_RAYTRACING_INSTANCE_FLAGS(1i32);
14863pub const D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE: D3D12_RAYTRACING_INSTANCE_FLAGS = D3D12_RAYTRACING_INSTANCE_FLAGS(2i32);
14864pub const D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES: u32 = 32u32;
14865pub const D3D12_RAYTRACING_MAX_DECLARABLE_TRACE_RECURSION_DEPTH: u32 = 31u32;
14866pub const D3D12_RAYTRACING_MAX_GEOMETRIES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE: u32 = 16777216u32;
14867pub const D3D12_RAYTRACING_MAX_INSTANCES_PER_TOP_LEVEL_ACCELERATION_STRUCTURE: u32 = 16777216u32;
14868pub const D3D12_RAYTRACING_MAX_PRIMITIVES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE: u32 = 536870912u32;
14869pub const D3D12_RAYTRACING_MAX_RAY_GENERATION_SHADER_THREADS: u32 = 1073741824u32;
14870pub const D3D12_RAYTRACING_MAX_SHADER_RECORD_STRIDE: u32 = 4096u32;
14871pub const D3D12_RAYTRACING_PIPELINE_FLAG_NONE: D3D12_RAYTRACING_PIPELINE_FLAGS = D3D12_RAYTRACING_PIPELINE_FLAGS(0i32);
14872pub const D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES: D3D12_RAYTRACING_PIPELINE_FLAGS = D3D12_RAYTRACING_PIPELINE_FLAGS(512i32);
14873pub const D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES: D3D12_RAYTRACING_PIPELINE_FLAGS = D3D12_RAYTRACING_PIPELINE_FLAGS(256i32);
14874pub const D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT: u32 = 32u32;
14875pub const D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT: u32 = 64u32;
14876pub const D3D12_RAYTRACING_TIER_1_0: D3D12_RAYTRACING_TIER = D3D12_RAYTRACING_TIER(10i32);
14877pub const D3D12_RAYTRACING_TIER_1_1: D3D12_RAYTRACING_TIER = D3D12_RAYTRACING_TIER(11i32);
14878pub const D3D12_RAYTRACING_TIER_NOT_SUPPORTED: D3D12_RAYTRACING_TIER = D3D12_RAYTRACING_TIER(0i32);
14879pub const D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT: u32 = 16u32;
14880pub const D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(4i32);
14881pub const D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(16i32);
14882pub const D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(32i32);
14883pub const D3D12_RAY_FLAG_CULL_NON_OPAQUE: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(128i32);
14884pub const D3D12_RAY_FLAG_CULL_OPAQUE: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(64i32);
14885pub const D3D12_RAY_FLAG_FORCE_NON_OPAQUE: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(2i32);
14886pub const D3D12_RAY_FLAG_FORCE_OPAQUE: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(1i32);
14887pub const D3D12_RAY_FLAG_NONE: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(0i32);
14888pub const D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(8i32);
14889pub const D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(512i32);
14890pub const D3D12_RAY_FLAG_SKIP_TRIANGLES: D3D12_RAY_FLAGS = D3D12_RAY_FLAGS(256i32);
14891pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR: D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE(2i32);
14892pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD: D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE(0i32);
14893pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS: D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE(3i32);
14894pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE: D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE(1i32);
14895pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER: D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE(4i32);
14896pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_SRV: D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE(5i32);
14897pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE_LOCAL_UAV: D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE(6i32);
14898pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD: D3D12_RENDER_PASS_ENDING_ACCESS_TYPE = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE(0i32);
14899pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS: D3D12_RENDER_PASS_ENDING_ACCESS_TYPE = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE(3i32);
14900pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE: D3D12_RENDER_PASS_ENDING_ACCESS_TYPE = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE(1i32);
14901pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_RENDER: D3D12_RENDER_PASS_ENDING_ACCESS_TYPE = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE(4i32);
14902pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_SRV: D3D12_RENDER_PASS_ENDING_ACCESS_TYPE = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE(5i32);
14903pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE_LOCAL_UAV: D3D12_RENDER_PASS_ENDING_ACCESS_TYPE = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE(6i32);
14904pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE: D3D12_RENDER_PASS_ENDING_ACCESS_TYPE = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE(2i32);
14905pub const D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES: D3D12_RENDER_PASS_FLAGS = D3D12_RENDER_PASS_FLAGS(1i32);
14906pub const D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_DEPTH: D3D12_RENDER_PASS_FLAGS = D3D12_RENDER_PASS_FLAGS(8i32);
14907pub const D3D12_RENDER_PASS_FLAG_BIND_READ_ONLY_STENCIL: D3D12_RENDER_PASS_FLAGS = D3D12_RENDER_PASS_FLAGS(16i32);
14908pub const D3D12_RENDER_PASS_FLAG_NONE: D3D12_RENDER_PASS_FLAGS = D3D12_RENDER_PASS_FLAGS(0i32);
14909pub const D3D12_RENDER_PASS_FLAG_RESUMING_PASS: D3D12_RENDER_PASS_FLAGS = D3D12_RENDER_PASS_FLAGS(4i32);
14910pub const D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS: D3D12_RENDER_PASS_FLAGS = D3D12_RENDER_PASS_FLAGS(2i32);
14911pub const D3D12_RENDER_PASS_TIER_0: D3D12_RENDER_PASS_TIER = D3D12_RENDER_PASS_TIER(0i32);
14912pub const D3D12_RENDER_PASS_TIER_1: D3D12_RENDER_PASS_TIER = D3D12_RENDER_PASS_TIER(1i32);
14913pub const D3D12_RENDER_PASS_TIER_2: D3D12_RENDER_PASS_TIER = D3D12_RENDER_PASS_TIER(2i32);
14914pub const D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE: u32 = 4096u32;
14915pub const D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP: u32 = 27u32;
14916pub const D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT: u32 = 4096u32;
14917pub const D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE: u32 = 4096u32;
14918pub const D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: u32 = 32u32;
14919pub const D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP: u32 = 32u32;
14920pub const D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION: u32 = 16384u32;
14921pub const D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT: u32 = 1024u32;
14922pub const D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT: u32 = 4096u32;
14923pub const D3D12_REQ_MAXANISOTROPY: u32 = 16u32;
14924pub const D3D12_REQ_MIP_LEVELS: u32 = 15u32;
14925pub const D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES: u32 = 2048u32;
14926pub const D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE: u32 = 4096u32;
14927pub const D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH: u32 = 16384u32;
14928pub const D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM: u32 = 128u32;
14929pub const D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM: f32 = 0.25f32;
14930pub const D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM: u32 = 2048u32;
14931pub const D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP: u32 = 20u32;
14932pub const D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE: u32 = 4096u32;
14933pub const D3D12_REQ_SUBRESOURCES: u32 = 30720u32;
14934pub const D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION: u32 = 2048u32;
14935pub const D3D12_REQ_TEXTURE1D_U_DIMENSION: u32 = 16384u32;
14936pub const D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION: u32 = 2048u32;
14937pub const D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION: u32 = 16384u32;
14938pub const D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION: u32 = 2048u32;
14939pub const D3D12_REQ_TEXTURECUBE_DIMENSION: u32 = 16384u32;
14940pub const D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET: D3D12_RESIDENCY_FLAGS = D3D12_RESIDENCY_FLAGS(1i32);
14941pub const D3D12_RESIDENCY_FLAG_NONE: D3D12_RESIDENCY_FLAGS = D3D12_RESIDENCY_FLAGS(0i32);
14942pub const D3D12_RESIDENCY_PRIORITY_HIGH: D3D12_RESIDENCY_PRIORITY = D3D12_RESIDENCY_PRIORITY(-1610547200i32);
14943pub const D3D12_RESIDENCY_PRIORITY_LOW: D3D12_RESIDENCY_PRIORITY = D3D12_RESIDENCY_PRIORITY(1342177280i32);
14944pub const D3D12_RESIDENCY_PRIORITY_MAXIMUM: D3D12_RESIDENCY_PRIORITY = D3D12_RESIDENCY_PRIORITY(-939524096i32);
14945pub const D3D12_RESIDENCY_PRIORITY_MINIMUM: D3D12_RESIDENCY_PRIORITY = D3D12_RESIDENCY_PRIORITY(671088640i32);
14946pub const D3D12_RESIDENCY_PRIORITY_NORMAL: D3D12_RESIDENCY_PRIORITY = D3D12_RESIDENCY_PRIORITY(2013265920i32);
14947pub const D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL: u32 = 0u32;
14948pub const D3D12_RESOLVE_MODE_AVERAGE: D3D12_RESOLVE_MODE = D3D12_RESOLVE_MODE(3i32);
14949pub const D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK: D3D12_RESOLVE_MODE = D3D12_RESOLVE_MODE(5i32);
14950pub const D3D12_RESOLVE_MODE_DECOMPRESS: D3D12_RESOLVE_MODE = D3D12_RESOLVE_MODE(0i32);
14951pub const D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK: D3D12_RESOLVE_MODE = D3D12_RESOLVE_MODE(4i32);
14952pub const D3D12_RESOLVE_MODE_MAX: D3D12_RESOLVE_MODE = D3D12_RESOLVE_MODE(2i32);
14953pub const D3D12_RESOLVE_MODE_MIN: D3D12_RESOLVE_MODE = D3D12_RESOLVE_MODE(1i32);
14954pub const D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES: u32 = 4294967295u32;
14955pub const D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY: D3D12_RESOURCE_BARRIER_FLAGS = D3D12_RESOURCE_BARRIER_FLAGS(1i32);
14956pub const D3D12_RESOURCE_BARRIER_FLAG_END_ONLY: D3D12_RESOURCE_BARRIER_FLAGS = D3D12_RESOURCE_BARRIER_FLAGS(2i32);
14957pub const D3D12_RESOURCE_BARRIER_FLAG_NONE: D3D12_RESOURCE_BARRIER_FLAGS = D3D12_RESOURCE_BARRIER_FLAGS(0i32);
14958pub const D3D12_RESOURCE_BARRIER_TYPE_ALIASING: D3D12_RESOURCE_BARRIER_TYPE = D3D12_RESOURCE_BARRIER_TYPE(1i32);
14959pub const D3D12_RESOURCE_BARRIER_TYPE_TRANSITION: D3D12_RESOURCE_BARRIER_TYPE = D3D12_RESOURCE_BARRIER_TYPE(0i32);
14960pub const D3D12_RESOURCE_BARRIER_TYPE_UAV: D3D12_RESOURCE_BARRIER_TYPE = D3D12_RESOURCE_BARRIER_TYPE(2i32);
14961pub const D3D12_RESOURCE_BINDING_TIER_1: D3D12_RESOURCE_BINDING_TIER = D3D12_RESOURCE_BINDING_TIER(1i32);
14962pub const D3D12_RESOURCE_BINDING_TIER_2: D3D12_RESOURCE_BINDING_TIER = D3D12_RESOURCE_BINDING_TIER(2i32);
14963pub const D3D12_RESOURCE_BINDING_TIER_3: D3D12_RESOURCE_BINDING_TIER = D3D12_RESOURCE_BINDING_TIER(3i32);
14964pub const D3D12_RESOURCE_DIMENSION_BUFFER: D3D12_RESOURCE_DIMENSION = D3D12_RESOURCE_DIMENSION(1i32);
14965pub const D3D12_RESOURCE_DIMENSION_TEXTURE1D: D3D12_RESOURCE_DIMENSION = D3D12_RESOURCE_DIMENSION(2i32);
14966pub const D3D12_RESOURCE_DIMENSION_TEXTURE2D: D3D12_RESOURCE_DIMENSION = D3D12_RESOURCE_DIMENSION(3i32);
14967pub const D3D12_RESOURCE_DIMENSION_TEXTURE3D: D3D12_RESOURCE_DIMENSION = D3D12_RESOURCE_DIMENSION(4i32);
14968pub const D3D12_RESOURCE_DIMENSION_UNKNOWN: D3D12_RESOURCE_DIMENSION = D3D12_RESOURCE_DIMENSION(0i32);
14969pub const D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(16i32);
14970pub const D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(2i32);
14971pub const D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(1i32);
14972pub const D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(32i32);
14973pub const D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(4i32);
14974pub const D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(8i32);
14975pub const D3D12_RESOURCE_FLAG_NONE: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(0i32);
14976pub const D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(256i32);
14977pub const D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(64i32);
14978pub const D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY: D3D12_RESOURCE_FLAGS = D3D12_RESOURCE_FLAGS(128i32);
14979pub const D3D12_RESOURCE_HEAP_TIER_1: D3D12_RESOURCE_HEAP_TIER = D3D12_RESOURCE_HEAP_TIER(1i32);
14980pub const D3D12_RESOURCE_HEAP_TIER_2: D3D12_RESOURCE_HEAP_TIER = D3D12_RESOURCE_HEAP_TIER(2i32);
14981pub const D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(192i32);
14982pub const D3D12_RESOURCE_STATE_COMMON: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(0i32);
14983pub const D3D12_RESOURCE_STATE_COPY_DEST: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(1024i32);
14984pub const D3D12_RESOURCE_STATE_COPY_SOURCE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(2048i32);
14985pub const D3D12_RESOURCE_STATE_DEPTH_READ: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(32i32);
14986pub const D3D12_RESOURCE_STATE_DEPTH_WRITE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(16i32);
14987pub const D3D12_RESOURCE_STATE_GENERIC_READ: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(2755i32);
14988pub const D3D12_RESOURCE_STATE_INDEX_BUFFER: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(2i32);
14989pub const D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(512i32);
14990pub const D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(64i32);
14991pub const D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(128i32);
14992pub const D3D12_RESOURCE_STATE_PREDICATION: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(512i32);
14993pub const D3D12_RESOURCE_STATE_PRESENT: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(0i32);
14994pub const D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(4194304i32);
14995pub const D3D12_RESOURCE_STATE_RENDER_TARGET: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(4i32);
14996pub const D3D12_RESOURCE_STATE_RESOLVE_DEST: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(4096i32);
14997pub const D3D12_RESOURCE_STATE_RESOLVE_SOURCE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(8192i32);
14998pub const D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(16777216i32);
14999pub const D3D12_RESOURCE_STATE_STREAM_OUT: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(256i32);
15000pub const D3D12_RESOURCE_STATE_UNORDERED_ACCESS: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(8i32);
15001pub const D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(1i32);
15002pub const D3D12_RESOURCE_STATE_VIDEO_DECODE_READ: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(65536i32);
15003pub const D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(131072i32);
15004pub const D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(2097152i32);
15005pub const D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(8388608i32);
15006pub const D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(262144i32);
15007pub const D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE: D3D12_RESOURCE_STATES = D3D12_RESOURCE_STATES(524288i32);
15008pub const D3D12_RLDO_DETAIL: D3D12_RLDO_FLAGS = D3D12_RLDO_FLAGS(2i32);
15009pub const D3D12_RLDO_IGNORE_INTERNAL: D3D12_RLDO_FLAGS = D3D12_RLDO_FLAGS(4i32);
15010pub const D3D12_RLDO_NONE: D3D12_RLDO_FLAGS = D3D12_RLDO_FLAGS(0i32);
15011pub const D3D12_RLDO_SUMMARY: D3D12_RLDO_FLAGS = D3D12_RLDO_FLAGS(1i32);
15012pub const D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC: D3D12_ROOT_DESCRIPTOR_FLAGS = D3D12_ROOT_DESCRIPTOR_FLAGS(8i32);
15013pub const D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE: D3D12_ROOT_DESCRIPTOR_FLAGS = D3D12_ROOT_DESCRIPTOR_FLAGS(4i32);
15014pub const D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE: D3D12_ROOT_DESCRIPTOR_FLAGS = D3D12_ROOT_DESCRIPTOR_FLAGS(2i32);
15015pub const D3D12_ROOT_DESCRIPTOR_FLAG_NONE: D3D12_ROOT_DESCRIPTOR_FLAGS = D3D12_ROOT_DESCRIPTOR_FLAGS(0i32);
15016pub const D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS: D3D12_ROOT_PARAMETER_TYPE = D3D12_ROOT_PARAMETER_TYPE(1i32);
15017pub const D3D12_ROOT_PARAMETER_TYPE_CBV: D3D12_ROOT_PARAMETER_TYPE = D3D12_ROOT_PARAMETER_TYPE(2i32);
15018pub const D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE: D3D12_ROOT_PARAMETER_TYPE = D3D12_ROOT_PARAMETER_TYPE(0i32);
15019pub const D3D12_ROOT_PARAMETER_TYPE_SRV: D3D12_ROOT_PARAMETER_TYPE = D3D12_ROOT_PARAMETER_TYPE(3i32);
15020pub const D3D12_ROOT_PARAMETER_TYPE_UAV: D3D12_ROOT_PARAMETER_TYPE = D3D12_ROOT_PARAMETER_TYPE(4i32);
15021pub const D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(1i32);
15022pub const D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(64i32);
15023pub const D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(1024i32);
15024pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(256i32);
15025pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(8i32);
15026pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(16i32);
15027pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(4i32);
15028pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(512i32);
15029pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(32i32);
15030pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(2i32);
15031pub const D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(128i32);
15032pub const D3D12_ROOT_SIGNATURE_FLAG_NONE: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(0i32);
15033pub const D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED: D3D12_ROOT_SIGNATURE_FLAGS = D3D12_ROOT_SIGNATURE_FLAGS(2048i32);
15034pub const D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT: u32 = 2u32;
15035pub const D3D12_RTV_DIMENSION_BUFFER: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(1i32);
15036pub const D3D12_RTV_DIMENSION_TEXTURE1D: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(2i32);
15037pub const D3D12_RTV_DIMENSION_TEXTURE1DARRAY: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(3i32);
15038pub const D3D12_RTV_DIMENSION_TEXTURE2D: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(4i32);
15039pub const D3D12_RTV_DIMENSION_TEXTURE2DARRAY: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(5i32);
15040pub const D3D12_RTV_DIMENSION_TEXTURE2DMS: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(6i32);
15041pub const D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(7i32);
15042pub const D3D12_RTV_DIMENSION_TEXTURE3D: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(8i32);
15043pub const D3D12_RTV_DIMENSION_UNKNOWN: D3D12_RTV_DIMENSION = D3D12_RTV_DIMENSION(0i32);
15044pub const D3D12_SAMPLER_FEEDBACK_TIER_0_9: D3D12_SAMPLER_FEEDBACK_TIER = D3D12_SAMPLER_FEEDBACK_TIER(90i32);
15045pub const D3D12_SAMPLER_FEEDBACK_TIER_1_0: D3D12_SAMPLER_FEEDBACK_TIER = D3D12_SAMPLER_FEEDBACK_TIER(100i32);
15046pub const D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED: D3D12_SAMPLER_FEEDBACK_TIER = D3D12_SAMPLER_FEEDBACK_TIER(0i32);
15047pub const D3D12_SAMPLER_FLAG_NONE: D3D12_SAMPLER_FLAGS = D3D12_SAMPLER_FLAGS(0i32);
15048pub const D3D12_SAMPLER_FLAG_NON_NORMALIZED_COORDINATES: D3D12_SAMPLER_FLAGS = D3D12_SAMPLER_FLAGS(2i32);
15049pub const D3D12_SAMPLER_FLAG_UINT_BORDER_COLOR: D3D12_SAMPLER_FLAGS = D3D12_SAMPLER_FLAGS(1i32);
15050pub const D3D12_SDK_VERSION: u32 = 610u32;
15051pub const D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE: D3D12_SERIALIZED_DATA_TYPE = D3D12_SERIALIZED_DATA_TYPE(0i32);
15052pub const D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR: D3D12_SHADER_CACHE_CONTROL_FLAGS = D3D12_SHADER_CACHE_CONTROL_FLAGS(4i32);
15053pub const D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE: D3D12_SHADER_CACHE_CONTROL_FLAGS = D3D12_SHADER_CACHE_CONTROL_FLAGS(1i32);
15054pub const D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE: D3D12_SHADER_CACHE_CONTROL_FLAGS = D3D12_SHADER_CACHE_CONTROL_FLAGS(2i32);
15055pub const D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED: D3D12_SHADER_CACHE_FLAGS = D3D12_SHADER_CACHE_FLAGS(1i32);
15056pub const D3D12_SHADER_CACHE_FLAG_NONE: D3D12_SHADER_CACHE_FLAGS = D3D12_SHADER_CACHE_FLAGS(0i32);
15057pub const D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR: D3D12_SHADER_CACHE_FLAGS = D3D12_SHADER_CACHE_FLAGS(2i32);
15058pub const D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED: D3D12_SHADER_CACHE_KIND_FLAGS = D3D12_SHADER_CACHE_KIND_FLAGS(8i32);
15059pub const D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER: D3D12_SHADER_CACHE_KIND_FLAGS = D3D12_SHADER_CACHE_KIND_FLAGS(1i32);
15060pub const D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS: D3D12_SHADER_CACHE_KIND_FLAGS = D3D12_SHADER_CACHE_KIND_FLAGS(2i32);
15061pub const D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED: D3D12_SHADER_CACHE_KIND_FLAGS = D3D12_SHADER_CACHE_KIND_FLAGS(4i32);
15062pub const D3D12_SHADER_CACHE_MODE_DISK: D3D12_SHADER_CACHE_MODE = D3D12_SHADER_CACHE_MODE(1i32);
15063pub const D3D12_SHADER_CACHE_MODE_MEMORY: D3D12_SHADER_CACHE_MODE = D3D12_SHADER_CACHE_MODE(0i32);
15064pub const D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(8i32);
15065pub const D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(4i32);
15066pub const D3D12_SHADER_CACHE_SUPPORT_DRIVER_MANAGED_CACHE: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(16i32);
15067pub const D3D12_SHADER_CACHE_SUPPORT_LIBRARY: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(2i32);
15068pub const D3D12_SHADER_CACHE_SUPPORT_NONE: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(0i32);
15069pub const D3D12_SHADER_CACHE_SUPPORT_SHADER_CONTROL_CLEAR: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(32i32);
15070pub const D3D12_SHADER_CACHE_SUPPORT_SHADER_SESSION_DELETE: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(64i32);
15071pub const D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO: D3D12_SHADER_CACHE_SUPPORT_FLAGS = D3D12_SHADER_CACHE_SUPPORT_FLAGS(1i32);
15072pub const D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES: u32 = 4096u32;
15073pub const D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0: D3D12_SHADER_COMPONENT_MAPPING = D3D12_SHADER_COMPONENT_MAPPING(4i32);
15074pub const D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1: D3D12_SHADER_COMPONENT_MAPPING = D3D12_SHADER_COMPONENT_MAPPING(5i32);
15075pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0: D3D12_SHADER_COMPONENT_MAPPING = D3D12_SHADER_COMPONENT_MAPPING(0i32);
15076pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1: D3D12_SHADER_COMPONENT_MAPPING = D3D12_SHADER_COMPONENT_MAPPING(1i32);
15077pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2: D3D12_SHADER_COMPONENT_MAPPING = D3D12_SHADER_COMPONENT_MAPPING(2i32);
15078pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3: D3D12_SHADER_COMPONENT_MAPPING = D3D12_SHADER_COMPONENT_MAPPING(3i32);
15079pub const D3D12_SHADER_COMPONENT_MAPPING_MASK: u32 = 7u32;
15080pub const D3D12_SHADER_COMPONENT_MAPPING_SHIFT: u32 = 3u32;
15081pub const D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES: u32 = 32u32;
15082pub const D3D12_SHADER_MAJOR_VERSION: u32 = 5u32;
15083pub const D3D12_SHADER_MAX_INSTANCES: u32 = 65535u32;
15084pub const D3D12_SHADER_MAX_INTERFACES: u32 = 253u32;
15085pub const D3D12_SHADER_MAX_INTERFACE_CALL_SITES: u32 = 4096u32;
15086pub const D3D12_SHADER_MAX_TYPES: u32 = 65535u32;
15087pub const D3D12_SHADER_MINOR_VERSION: u32 = 1u32;
15088pub const D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT: D3D12_SHADER_MIN_PRECISION_SUPPORT = D3D12_SHADER_MIN_PRECISION_SUPPORT(1i32);
15089pub const D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT: D3D12_SHADER_MIN_PRECISION_SUPPORT = D3D12_SHADER_MIN_PRECISION_SUPPORT(2i32);
15090pub const D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE: D3D12_SHADER_MIN_PRECISION_SUPPORT = D3D12_SHADER_MIN_PRECISION_SUPPORT(0i32);
15091pub const D3D12_SHADER_VISIBILITY_ALL: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(0i32);
15092pub const D3D12_SHADER_VISIBILITY_AMPLIFICATION: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(6i32);
15093pub const D3D12_SHADER_VISIBILITY_DOMAIN: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(3i32);
15094pub const D3D12_SHADER_VISIBILITY_GEOMETRY: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(4i32);
15095pub const D3D12_SHADER_VISIBILITY_HULL: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(2i32);
15096pub const D3D12_SHADER_VISIBILITY_MESH: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(7i32);
15097pub const D3D12_SHADER_VISIBILITY_PIXEL: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(5i32);
15098pub const D3D12_SHADER_VISIBILITY_VERTEX: D3D12_SHADER_VISIBILITY = D3D12_SHADER_VISIBILITY(1i32);
15099pub const D3D12_SHADING_RATE_1X1: D3D12_SHADING_RATE = D3D12_SHADING_RATE(0i32);
15100pub const D3D12_SHADING_RATE_1X2: D3D12_SHADING_RATE = D3D12_SHADING_RATE(1i32);
15101pub const D3D12_SHADING_RATE_2X1: D3D12_SHADING_RATE = D3D12_SHADING_RATE(4i32);
15102pub const D3D12_SHADING_RATE_2X2: D3D12_SHADING_RATE = D3D12_SHADING_RATE(5i32);
15103pub const D3D12_SHADING_RATE_2X4: D3D12_SHADING_RATE = D3D12_SHADING_RATE(6i32);
15104pub const D3D12_SHADING_RATE_4X2: D3D12_SHADING_RATE = D3D12_SHADING_RATE(9i32);
15105pub const D3D12_SHADING_RATE_4X4: D3D12_SHADING_RATE = D3D12_SHADING_RATE(10i32);
15106pub const D3D12_SHADING_RATE_COMBINER_MAX: D3D12_SHADING_RATE_COMBINER = D3D12_SHADING_RATE_COMBINER(3i32);
15107pub const D3D12_SHADING_RATE_COMBINER_MIN: D3D12_SHADING_RATE_COMBINER = D3D12_SHADING_RATE_COMBINER(2i32);
15108pub const D3D12_SHADING_RATE_COMBINER_OVERRIDE: D3D12_SHADING_RATE_COMBINER = D3D12_SHADING_RATE_COMBINER(1i32);
15109pub const D3D12_SHADING_RATE_COMBINER_PASSTHROUGH: D3D12_SHADING_RATE_COMBINER = D3D12_SHADING_RATE_COMBINER(0i32);
15110pub const D3D12_SHADING_RATE_COMBINER_SUM: D3D12_SHADING_RATE_COMBINER = D3D12_SHADING_RATE_COMBINER(4i32);
15111pub const D3D12_SHADING_RATE_VALID_MASK: u32 = 3u32;
15112pub const D3D12_SHADING_RATE_X_AXIS_SHIFT: u32 = 2u32;
15113pub const D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0: D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER = D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER(0i32);
15114pub const D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1: D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER = D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER(1i32);
15115pub const D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2: D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER = D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER(2i32);
15116pub const D3D12_SHIFT_INSTRUCTION_PAD_VALUE: u32 = 0u32;
15117pub const D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT: u32 = 5u32;
15118pub const D3D12_SHVER_AMPLIFICATION_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(14i32);
15119pub const D3D12_SHVER_ANY_HIT_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(9i32);
15120pub const D3D12_SHVER_CALLABLE_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(12i32);
15121pub const D3D12_SHVER_CLOSEST_HIT_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(10i32);
15122pub const D3D12_SHVER_COMPUTE_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(5i32);
15123pub const D3D12_SHVER_DOMAIN_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(4i32);
15124pub const D3D12_SHVER_GEOMETRY_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(2i32);
15125pub const D3D12_SHVER_HULL_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(3i32);
15126pub const D3D12_SHVER_INTERSECTION_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(8i32);
15127pub const D3D12_SHVER_LIBRARY: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(6i32);
15128pub const D3D12_SHVER_MESH_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(13i32);
15129pub const D3D12_SHVER_MISS_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(11i32);
15130pub const D3D12_SHVER_PIXEL_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(0i32);
15131pub const D3D12_SHVER_RAY_GENERATION_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(7i32);
15132pub const D3D12_SHVER_RESERVED0: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(65520i32);
15133pub const D3D12_SHVER_VERTEX_SHADER: D3D12_SHADER_VERSION_TYPE = D3D12_SHADER_VERSION_TYPE(1i32);
15134pub const D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT: u32 = 8u32;
15135pub const D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT: u32 = 65536u32;
15136pub const D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT: u32 = 4096u32;
15137pub const D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES: u32 = 2048u32;
15138pub const D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES: u32 = 512u32;
15139pub const D3D12_SO_BUFFER_SLOT_COUNT: u32 = 4u32;
15140pub const D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP: u32 = 4294967295u32;
15141pub const D3D12_SO_NO_RASTERIZED_STREAM: u32 = 4294967295u32;
15142pub const D3D12_SO_OUTPUT_COMPONENT_COUNT: u32 = 128u32;
15143pub const D3D12_SO_STREAM_COUNT: u32 = 4u32;
15144pub const D3D12_SPEC_DATE_DAY: u32 = 14u32;
15145pub const D3D12_SPEC_DATE_MONTH: u32 = 11u32;
15146pub const D3D12_SPEC_DATE_YEAR: u32 = 2014u32;
15147pub const D3D12_SPEC_VERSION: f64 = 1.16f64;
15148pub const D3D12_SRGB_GAMMA: f32 = 2.2f32;
15149pub const D3D12_SRGB_TO_FLOAT_DENOMINATOR_1: f32 = 12.92f32;
15150pub const D3D12_SRGB_TO_FLOAT_DENOMINATOR_2: f32 = 1.055f32;
15151pub const D3D12_SRGB_TO_FLOAT_EXPONENT: f32 = 2.4f32;
15152pub const D3D12_SRGB_TO_FLOAT_OFFSET: f32 = 0.055f32;
15153pub const D3D12_SRGB_TO_FLOAT_THRESHOLD: f32 = 0.04045f32;
15154pub const D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP: f32 = 0.5f32;
15155pub const D3D12_SRV_DIMENSION_BUFFER: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(1i32);
15156pub const D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(11i32);
15157pub const D3D12_SRV_DIMENSION_TEXTURE1D: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(2i32);
15158pub const D3D12_SRV_DIMENSION_TEXTURE1DARRAY: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(3i32);
15159pub const D3D12_SRV_DIMENSION_TEXTURE2D: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(4i32);
15160pub const D3D12_SRV_DIMENSION_TEXTURE2DARRAY: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(5i32);
15161pub const D3D12_SRV_DIMENSION_TEXTURE2DMS: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(6i32);
15162pub const D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(7i32);
15163pub const D3D12_SRV_DIMENSION_TEXTURE3D: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(8i32);
15164pub const D3D12_SRV_DIMENSION_TEXTURECUBE: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(9i32);
15165pub const D3D12_SRV_DIMENSION_TEXTURECUBEARRAY: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(10i32);
15166pub const D3D12_SRV_DIMENSION_UNKNOWN: D3D12_SRV_DIMENSION = D3D12_SRV_DIMENSION(0i32);
15167pub const D3D12_STANDARD_COMPONENT_BIT_COUNT: u32 = 32u32;
15168pub const D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED: u32 = 64u32;
15169pub const D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE: u32 = 4u32;
15170pub const D3D12_STANDARD_PIXEL_COMPONENT_COUNT: u32 = 128u32;
15171pub const D3D12_STANDARD_PIXEL_ELEMENT_COUNT: u32 = 32u32;
15172pub const D3D12_STANDARD_VECTOR_SIZE: u32 = 4u32;
15173pub const D3D12_STANDARD_VERTEX_ELEMENT_COUNT: u32 = 32u32;
15174pub const D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT: u32 = 64u32;
15175pub const D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS: D3D12_STATE_OBJECT_FLAGS = D3D12_STATE_OBJECT_FLAGS(2i32);
15176pub const D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS: D3D12_STATE_OBJECT_FLAGS = D3D12_STATE_OBJECT_FLAGS(1i32);
15177pub const D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS: D3D12_STATE_OBJECT_FLAGS = D3D12_STATE_OBJECT_FLAGS(4i32);
15178pub const D3D12_STATE_OBJECT_FLAG_NONE: D3D12_STATE_OBJECT_FLAGS = D3D12_STATE_OBJECT_FLAGS(0i32);
15179pub const D3D12_STATE_OBJECT_TYPE_COLLECTION: D3D12_STATE_OBJECT_TYPE = D3D12_STATE_OBJECT_TYPE(0i32);
15180pub const D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE: D3D12_STATE_OBJECT_TYPE = D3D12_STATE_OBJECT_TYPE(3i32);
15181pub const D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(5i32);
15182pub const D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(8i32);
15183pub const D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(6i32);
15184pub const D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(1i32);
15185pub const D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(11i32);
15186pub const D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(2i32);
15187pub const D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(13i32);
15188pub const D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(3i32);
15189pub const D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(10i32);
15190pub const D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(12i32);
15191pub const D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(9i32);
15192pub const D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(0i32);
15193pub const D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION: D3D12_STATE_SUBOBJECT_TYPE = D3D12_STATE_SUBOBJECT_TYPE(7i32);
15194pub const D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK: D3D12_STATIC_BORDER_COLOR = D3D12_STATIC_BORDER_COLOR(1i32);
15195pub const D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK_UINT: D3D12_STATIC_BORDER_COLOR = D3D12_STATIC_BORDER_COLOR(3i32);
15196pub const D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE: D3D12_STATIC_BORDER_COLOR = D3D12_STATIC_BORDER_COLOR(2i32);
15197pub const D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE_UINT: D3D12_STATIC_BORDER_COLOR = D3D12_STATIC_BORDER_COLOR(4i32);
15198pub const D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK: D3D12_STATIC_BORDER_COLOR = D3D12_STATIC_BORDER_COLOR(0i32);
15199pub const D3D12_STENCIL_OP_DECR: D3D12_STENCIL_OP = D3D12_STENCIL_OP(8i32);
15200pub const D3D12_STENCIL_OP_DECR_SAT: D3D12_STENCIL_OP = D3D12_STENCIL_OP(5i32);
15201pub const D3D12_STENCIL_OP_INCR: D3D12_STENCIL_OP = D3D12_STENCIL_OP(7i32);
15202pub const D3D12_STENCIL_OP_INCR_SAT: D3D12_STENCIL_OP = D3D12_STENCIL_OP(4i32);
15203pub const D3D12_STENCIL_OP_INVERT: D3D12_STENCIL_OP = D3D12_STENCIL_OP(6i32);
15204pub const D3D12_STENCIL_OP_KEEP: D3D12_STENCIL_OP = D3D12_STENCIL_OP(1i32);
15205pub const D3D12_STENCIL_OP_REPLACE: D3D12_STENCIL_OP = D3D12_STENCIL_OP(3i32);
15206pub const D3D12_STENCIL_OP_ZERO: D3D12_STENCIL_OP = D3D12_STENCIL_OP(2i32);
15207pub const D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT: u32 = 8u32;
15208pub const D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT: u32 = 8u32;
15209pub const D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END: u32 = 4294967295u32;
15210pub const D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START: u32 = 4294967280u32;
15211pub const D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR: u32 = 64u32;
15212pub const D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR: u32 = 64u32;
15213pub const D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR: u32 = 63u32;
15214pub const D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR: u32 = 64u32;
15215pub const D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR: u32 = 2u32;
15216pub const D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR: u32 = 1u32;
15217pub const D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR: u32 = 1u32;
15218pub const D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT: u32 = 16u32;
15219pub const D3D12_TEXTURE_ADDRESS_MODE_BORDER: D3D12_TEXTURE_ADDRESS_MODE = D3D12_TEXTURE_ADDRESS_MODE(4i32);
15220pub const D3D12_TEXTURE_ADDRESS_MODE_CLAMP: D3D12_TEXTURE_ADDRESS_MODE = D3D12_TEXTURE_ADDRESS_MODE(3i32);
15221pub const D3D12_TEXTURE_ADDRESS_MODE_MIRROR: D3D12_TEXTURE_ADDRESS_MODE = D3D12_TEXTURE_ADDRESS_MODE(2i32);
15222pub const D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE: D3D12_TEXTURE_ADDRESS_MODE = D3D12_TEXTURE_ADDRESS_MODE(5i32);
15223pub const D3D12_TEXTURE_ADDRESS_MODE_WRAP: D3D12_TEXTURE_ADDRESS_MODE = D3D12_TEXTURE_ADDRESS_MODE(1i32);
15224pub const D3D12_TEXTURE_BARRIER_FLAG_DISCARD: D3D12_TEXTURE_BARRIER_FLAGS = D3D12_TEXTURE_BARRIER_FLAGS(1i32);
15225pub const D3D12_TEXTURE_BARRIER_FLAG_NONE: D3D12_TEXTURE_BARRIER_FLAGS = D3D12_TEXTURE_BARRIER_FLAGS(0i32);
15226pub const D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT: D3D12_TEXTURE_COPY_TYPE = D3D12_TEXTURE_COPY_TYPE(1i32);
15227pub const D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX: D3D12_TEXTURE_COPY_TYPE = D3D12_TEXTURE_COPY_TYPE(0i32);
15228pub const D3D12_TEXTURE_DATA_PITCH_ALIGNMENT: u32 = 256u32;
15229pub const D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT: u32 = 512u32;
15230pub const D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE: D3D12_TEXTURE_LAYOUT = D3D12_TEXTURE_LAYOUT(3i32);
15231pub const D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE: D3D12_TEXTURE_LAYOUT = D3D12_TEXTURE_LAYOUT(2i32);
15232pub const D3D12_TEXTURE_LAYOUT_ROW_MAJOR: D3D12_TEXTURE_LAYOUT = D3D12_TEXTURE_LAYOUT(1i32);
15233pub const D3D12_TEXTURE_LAYOUT_UNKNOWN: D3D12_TEXTURE_LAYOUT = D3D12_TEXTURE_LAYOUT(0i32);
15234pub const D3D12_TILED_RESOURCES_TIER_1: D3D12_TILED_RESOURCES_TIER = D3D12_TILED_RESOURCES_TIER(1i32);
15235pub const D3D12_TILED_RESOURCES_TIER_2: D3D12_TILED_RESOURCES_TIER = D3D12_TILED_RESOURCES_TIER(2i32);
15236pub const D3D12_TILED_RESOURCES_TIER_3: D3D12_TILED_RESOURCES_TIER = D3D12_TILED_RESOURCES_TIER(3i32);
15237pub const D3D12_TILED_RESOURCES_TIER_4: D3D12_TILED_RESOURCES_TIER = D3D12_TILED_RESOURCES_TIER(4i32);
15238pub const D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED: D3D12_TILED_RESOURCES_TIER = D3D12_TILED_RESOURCES_TIER(0i32);
15239pub const D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES: u32 = 65536u32;
15240pub const D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE: D3D12_TILE_COPY_FLAGS = D3D12_TILE_COPY_FLAGS(2i32);
15241pub const D3D12_TILE_COPY_FLAG_NONE: D3D12_TILE_COPY_FLAGS = D3D12_TILE_COPY_FLAGS(0i32);
15242pub const D3D12_TILE_COPY_FLAG_NO_HAZARD: D3D12_TILE_COPY_FLAGS = D3D12_TILE_COPY_FLAGS(1i32);
15243pub const D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER: D3D12_TILE_COPY_FLAGS = D3D12_TILE_COPY_FLAGS(4i32);
15244pub const D3D12_TILE_MAPPING_FLAG_NONE: D3D12_TILE_MAPPING_FLAGS = D3D12_TILE_MAPPING_FLAGS(0i32);
15245pub const D3D12_TILE_MAPPING_FLAG_NO_HAZARD: D3D12_TILE_MAPPING_FLAGS = D3D12_TILE_MAPPING_FLAGS(1i32);
15246pub const D3D12_TILE_RANGE_FLAG_NONE: D3D12_TILE_RANGE_FLAGS = D3D12_TILE_RANGE_FLAGS(0i32);
15247pub const D3D12_TILE_RANGE_FLAG_NULL: D3D12_TILE_RANGE_FLAGS = D3D12_TILE_RANGE_FLAGS(1i32);
15248pub const D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE: D3D12_TILE_RANGE_FLAGS = D3D12_TILE_RANGE_FLAGS(4i32);
15249pub const D3D12_TILE_RANGE_FLAG_SKIP: D3D12_TILE_RANGE_FLAGS = D3D12_TILE_RANGE_FLAGS(2i32);
15250pub const D3D12_TRACKED_WORKLOAD_MAX_INSTANCES: u32 = 32u32;
15251pub const D3D12_TRI_STATE_FALSE: D3D12_TRI_STATE = D3D12_TRI_STATE(0i32);
15252pub const D3D12_TRI_STATE_TRUE: D3D12_TRI_STATE = D3D12_TRI_STATE(1i32);
15253pub const D3D12_TRI_STATE_UNKNOWN: D3D12_TRI_STATE = D3D12_TRI_STATE(-1i32);
15254pub const D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT: u32 = 4096u32;
15255pub const D3D12_UAV_DIMENSION_BUFFER: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(1i32);
15256pub const D3D12_UAV_DIMENSION_TEXTURE1D: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(2i32);
15257pub const D3D12_UAV_DIMENSION_TEXTURE1DARRAY: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(3i32);
15258pub const D3D12_UAV_DIMENSION_TEXTURE2D: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(4i32);
15259pub const D3D12_UAV_DIMENSION_TEXTURE2DARRAY: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(5i32);
15260pub const D3D12_UAV_DIMENSION_TEXTURE2DMS: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(6i32);
15261pub const D3D12_UAV_DIMENSION_TEXTURE2DMSARRAY: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(7i32);
15262pub const D3D12_UAV_DIMENSION_TEXTURE3D: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(8i32);
15263pub const D3D12_UAV_DIMENSION_UNKNOWN: D3D12_UAV_DIMENSION = D3D12_UAV_DIMENSION(0i32);
15264pub const D3D12_UAV_SLOT_COUNT: u32 = 64u32;
15265pub const D3D12_UNBOUND_MEMORY_ACCESS_RESULT: u32 = 0u32;
15266pub const D3D12_VARIABLE_SHADING_RATE_TIER_1: D3D12_VARIABLE_SHADING_RATE_TIER = D3D12_VARIABLE_SHADING_RATE_TIER(1i32);
15267pub const D3D12_VARIABLE_SHADING_RATE_TIER_2: D3D12_VARIABLE_SHADING_RATE_TIER = D3D12_VARIABLE_SHADING_RATE_TIER(2i32);
15268pub const D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED: D3D12_VARIABLE_SHADING_RATE_TIER = D3D12_VARIABLE_SHADING_RATE_TIER(0i32);
15269pub const D3D12_VIDEO_DECODE_MAX_ARGUMENTS: u32 = 10u32;
15270pub const D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS: u32 = 4u32;
15271pub const D3D12_VIDEO_DECODE_MIN_BITSTREAM_OFFSET_ALIGNMENT: u32 = 256u32;
15272pub const D3D12_VIDEO_DECODE_MIN_HISTOGRAM_OFFSET_ALIGNMENT: u32 = 256u32;
15273pub const D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN: u32 = 4294967295u32;
15274pub const D3D12_VIDEO_PROCESS_MAX_FILTERS: u32 = 32u32;
15275pub const D3D12_VIDEO_PROCESS_STEREO_VIEWS: u32 = 2u32;
15276pub const D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX: u32 = 15u32;
15277pub const D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE: u32 = 16u32;
15278pub const D3D12_VIEWPORT_BOUNDS_MAX: u32 = 32767u32;
15279pub const D3D12_VIEWPORT_BOUNDS_MIN: i32 = -32768i32;
15280pub const D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING: D3D12_VIEW_INSTANCING_FLAGS = D3D12_VIEW_INSTANCING_FLAGS(1i32);
15281pub const D3D12_VIEW_INSTANCING_FLAG_NONE: D3D12_VIEW_INSTANCING_FLAGS = D3D12_VIEW_INSTANCING_FLAGS(0i32);
15282pub const D3D12_VIEW_INSTANCING_TIER_1: D3D12_VIEW_INSTANCING_TIER = D3D12_VIEW_INSTANCING_TIER(1i32);
15283pub const D3D12_VIEW_INSTANCING_TIER_2: D3D12_VIEW_INSTANCING_TIER = D3D12_VIEW_INSTANCING_TIER(2i32);
15284pub const D3D12_VIEW_INSTANCING_TIER_3: D3D12_VIEW_INSTANCING_TIER = D3D12_VIEW_INSTANCING_TIER(3i32);
15285pub const D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED: D3D12_VIEW_INSTANCING_TIER = D3D12_VIEW_INSTANCING_TIER(0i32);
15286pub const D3D12_VS_INPUT_REGISTER_COMPONENTS: u32 = 4u32;
15287pub const D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
15288pub const D3D12_VS_INPUT_REGISTER_COUNT: u32 = 32u32;
15289pub const D3D12_VS_INPUT_REGISTER_READS_PER_INST: u32 = 2u32;
15290pub const D3D12_VS_INPUT_REGISTER_READ_PORTS: u32 = 1u32;
15291pub const D3D12_VS_OUTPUT_REGISTER_COMPONENTS: u32 = 4u32;
15292pub const D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: u32 = 32u32;
15293pub const D3D12_VS_OUTPUT_REGISTER_COUNT: u32 = 32u32;
15294pub const D3D12_WAVE_MMA_TIER_1_0: D3D12_WAVE_MMA_TIER = D3D12_WAVE_MMA_TIER(10i32);
15295pub const D3D12_WAVE_MMA_TIER_NOT_SUPPORTED: D3D12_WAVE_MMA_TIER = D3D12_WAVE_MMA_TIER(0i32);
15296pub const D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT: u32 = 10u32;
15297pub const D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: u32 = 25u32;
15298pub const D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP: u32 = 25u32;
15299pub const D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT: D3D12_WRITEBUFFERIMMEDIATE_MODE = D3D12_WRITEBUFFERIMMEDIATE_MODE(0i32);
15300pub const D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN: D3D12_WRITEBUFFERIMMEDIATE_MODE = D3D12_WRITEBUFFERIMMEDIATE_MODE(1i32);
15301pub const D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT: D3D12_WRITEBUFFERIMMEDIATE_MODE = D3D12_WRITEBUFFERIMMEDIATE_MODE(2i32);
15302pub const D3D_HIGHEST_SHADER_MODEL: D3D_SHADER_MODEL = D3D_SHADER_MODEL(104i32);
15303pub const D3D_ROOT_SIGNATURE_VERSION_1: D3D_ROOT_SIGNATURE_VERSION = D3D_ROOT_SIGNATURE_VERSION(1i32);
15304pub const D3D_ROOT_SIGNATURE_VERSION_1_0: D3D_ROOT_SIGNATURE_VERSION = D3D_ROOT_SIGNATURE_VERSION(1i32);
15305pub const D3D_ROOT_SIGNATURE_VERSION_1_1: D3D_ROOT_SIGNATURE_VERSION = D3D_ROOT_SIGNATURE_VERSION(2i32);
15306pub const D3D_ROOT_SIGNATURE_VERSION_1_2: D3D_ROOT_SIGNATURE_VERSION = D3D_ROOT_SIGNATURE_VERSION(3i32);
15307pub const D3D_SHADER_FEATURE_ADVANCED_TEXTURE_OPS: u32 = 536870912u32;
15308pub const D3D_SHADER_FEATURE_WRITEABLE_MSAA_TEXTURES: u32 = 1073741824u32;
15309pub const D3D_SHADER_MODEL_5_1: D3D_SHADER_MODEL = D3D_SHADER_MODEL(81i32);
15310pub const D3D_SHADER_MODEL_6_0: D3D_SHADER_MODEL = D3D_SHADER_MODEL(96i32);
15311pub const D3D_SHADER_MODEL_6_1: D3D_SHADER_MODEL = D3D_SHADER_MODEL(97i32);
15312pub const D3D_SHADER_MODEL_6_2: D3D_SHADER_MODEL = D3D_SHADER_MODEL(98i32);
15313pub const D3D_SHADER_MODEL_6_3: D3D_SHADER_MODEL = D3D_SHADER_MODEL(99i32);
15314pub const D3D_SHADER_MODEL_6_4: D3D_SHADER_MODEL = D3D_SHADER_MODEL(100i32);
15315pub const D3D_SHADER_MODEL_6_5: D3D_SHADER_MODEL = D3D_SHADER_MODEL(101i32);
15316pub const D3D_SHADER_MODEL_6_6: D3D_SHADER_MODEL = D3D_SHADER_MODEL(102i32);
15317pub const D3D_SHADER_MODEL_6_7: D3D_SHADER_MODEL = D3D_SHADER_MODEL(103i32);
15318pub const D3D_SHADER_MODEL_6_8: D3D_SHADER_MODEL = D3D_SHADER_MODEL(104i32);
15319pub const D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE: u32 = 268435456u32;
15320pub const D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_GROUP_SHARED: u32 = 8388608u32;
15321pub const D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_TYPED_RESOURCE: u32 = 4194304u32;
15322pub const D3D_SHADER_REQUIRES_BARYCENTRICS: u32 = 131072u32;
15323pub const D3D_SHADER_REQUIRES_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS: u32 = 16777216u32;
15324pub const D3D_SHADER_REQUIRES_INNER_COVERAGE: u32 = 1024u32;
15325pub const D3D_SHADER_REQUIRES_INT64_OPS: u32 = 32768u32;
15326pub const D3D_SHADER_REQUIRES_NATIVE_16BIT_OPS: u32 = 262144u32;
15327pub const D3D_SHADER_REQUIRES_RAYTRACING_TIER_1_1: u32 = 1048576u32;
15328pub const D3D_SHADER_REQUIRES_RESOURCE_DESCRIPTOR_HEAP_INDEXING: u32 = 33554432u32;
15329pub const D3D_SHADER_REQUIRES_ROVS: u32 = 4096u32;
15330pub const D3D_SHADER_REQUIRES_SAMPLER_DESCRIPTOR_HEAP_INDEXING: u32 = 67108864u32;
15331pub const D3D_SHADER_REQUIRES_SAMPLER_FEEDBACK: u32 = 2097152u32;
15332pub const D3D_SHADER_REQUIRES_SHADING_RATE: u32 = 524288u32;
15333pub const D3D_SHADER_REQUIRES_STENCIL_REF: u32 = 512u32;
15334pub const D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS: u32 = 2048u32;
15335pub const D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER: u32 = 8192u32;
15336pub const D3D_SHADER_REQUIRES_VIEW_ID: u32 = 65536u32;
15337pub const D3D_SHADER_REQUIRES_WAVE_MMA: u32 = 134217728u32;
15338pub const D3D_SHADER_REQUIRES_WAVE_OPS: u32 = 16384u32;
15339pub const DXGI_DEBUG_D3D12: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xcf59a98c_a950_4326_91ef_9bbaa17bfd95);
15340pub const LUID_DEFINED: u32 = 1u32;
15341pub const NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES: D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE = D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE(4i32);
15342pub const WKPDID_D3DAutoDebugObjectNameW: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xd4902e36_757a_4942_9594_b6769afa43cd);
15343#[repr(transparent)]
15344#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15345pub struct D3D12_AUTO_BREADCRUMB_OP(pub i32);
15346impl ::core::marker::Copy for D3D12_AUTO_BREADCRUMB_OP {}
15347impl ::core::clone::Clone for D3D12_AUTO_BREADCRUMB_OP {
15348 fn clone(&self) -> Self {
15349 *self
15350 }
15351}
15352impl ::core::default::Default for D3D12_AUTO_BREADCRUMB_OP {
15353 fn default() -> Self {
15354 Self(0)
15355 }
15356}
15357impl ::windows_core::TypeKind for D3D12_AUTO_BREADCRUMB_OP {
15358 type TypeKind = ::windows_core::CopyType;
15359}
15360impl ::core::fmt::Debug for D3D12_AUTO_BREADCRUMB_OP {
15361 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15362 f.debug_tuple(name:"D3D12_AUTO_BREADCRUMB_OP").field(&self.0).finish()
15363 }
15364}
15365#[repr(transparent)]
15366#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15367pub struct D3D12_AXIS_SHADING_RATE(pub i32);
15368impl ::core::marker::Copy for D3D12_AXIS_SHADING_RATE {}
15369impl ::core::clone::Clone for D3D12_AXIS_SHADING_RATE {
15370 fn clone(&self) -> Self {
15371 *self
15372 }
15373}
15374impl ::core::default::Default for D3D12_AXIS_SHADING_RATE {
15375 fn default() -> Self {
15376 Self(0)
15377 }
15378}
15379impl ::windows_core::TypeKind for D3D12_AXIS_SHADING_RATE {
15380 type TypeKind = ::windows_core::CopyType;
15381}
15382impl ::core::fmt::Debug for D3D12_AXIS_SHADING_RATE {
15383 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15384 f.debug_tuple(name:"D3D12_AXIS_SHADING_RATE").field(&self.0).finish()
15385 }
15386}
15387#[repr(transparent)]
15388#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15389pub struct D3D12_BACKGROUND_PROCESSING_MODE(pub i32);
15390impl ::core::marker::Copy for D3D12_BACKGROUND_PROCESSING_MODE {}
15391impl ::core::clone::Clone for D3D12_BACKGROUND_PROCESSING_MODE {
15392 fn clone(&self) -> Self {
15393 *self
15394 }
15395}
15396impl ::core::default::Default for D3D12_BACKGROUND_PROCESSING_MODE {
15397 fn default() -> Self {
15398 Self(0)
15399 }
15400}
15401impl ::windows_core::TypeKind for D3D12_BACKGROUND_PROCESSING_MODE {
15402 type TypeKind = ::windows_core::CopyType;
15403}
15404impl ::core::fmt::Debug for D3D12_BACKGROUND_PROCESSING_MODE {
15405 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15406 f.debug_tuple(name:"D3D12_BACKGROUND_PROCESSING_MODE").field(&self.0).finish()
15407 }
15408}
15409#[repr(transparent)]
15410#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15411pub struct D3D12_BARRIER_ACCESS(pub i32);
15412impl ::core::marker::Copy for D3D12_BARRIER_ACCESS {}
15413impl ::core::clone::Clone for D3D12_BARRIER_ACCESS {
15414 fn clone(&self) -> Self {
15415 *self
15416 }
15417}
15418impl ::core::default::Default for D3D12_BARRIER_ACCESS {
15419 fn default() -> Self {
15420 Self(0)
15421 }
15422}
15423impl ::windows_core::TypeKind for D3D12_BARRIER_ACCESS {
15424 type TypeKind = ::windows_core::CopyType;
15425}
15426impl ::core::fmt::Debug for D3D12_BARRIER_ACCESS {
15427 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15428 f.debug_tuple(name:"D3D12_BARRIER_ACCESS").field(&self.0).finish()
15429 }
15430}
15431impl D3D12_BARRIER_ACCESS {
15432 pub const fn contains(&self, other: Self) -> bool {
15433 self.0 & other.0 == other.0
15434 }
15435}
15436impl ::core::ops::BitOr for D3D12_BARRIER_ACCESS {
15437 type Output = Self;
15438 fn bitor(self, other: Self) -> Self {
15439 Self(self.0 | other.0)
15440 }
15441}
15442impl ::core::ops::BitAnd for D3D12_BARRIER_ACCESS {
15443 type Output = Self;
15444 fn bitand(self, other: Self) -> Self {
15445 Self(self.0 & other.0)
15446 }
15447}
15448impl ::core::ops::BitOrAssign for D3D12_BARRIER_ACCESS {
15449 fn bitor_assign(&mut self, other: Self) {
15450 self.0.bitor_assign(other.0)
15451 }
15452}
15453impl ::core::ops::BitAndAssign for D3D12_BARRIER_ACCESS {
15454 fn bitand_assign(&mut self, other: Self) {
15455 self.0.bitand_assign(other.0)
15456 }
15457}
15458impl ::core::ops::Not for D3D12_BARRIER_ACCESS {
15459 type Output = Self;
15460 fn not(self) -> Self {
15461 Self(self.0.not())
15462 }
15463}
15464#[repr(transparent)]
15465#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15466pub struct D3D12_BARRIER_LAYOUT(pub i32);
15467impl ::core::marker::Copy for D3D12_BARRIER_LAYOUT {}
15468impl ::core::clone::Clone for D3D12_BARRIER_LAYOUT {
15469 fn clone(&self) -> Self {
15470 *self
15471 }
15472}
15473impl ::core::default::Default for D3D12_BARRIER_LAYOUT {
15474 fn default() -> Self {
15475 Self(0)
15476 }
15477}
15478impl ::windows_core::TypeKind for D3D12_BARRIER_LAYOUT {
15479 type TypeKind = ::windows_core::CopyType;
15480}
15481impl ::core::fmt::Debug for D3D12_BARRIER_LAYOUT {
15482 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15483 f.debug_tuple(name:"D3D12_BARRIER_LAYOUT").field(&self.0).finish()
15484 }
15485}
15486#[repr(transparent)]
15487#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15488pub struct D3D12_BARRIER_SYNC(pub i32);
15489impl ::core::marker::Copy for D3D12_BARRIER_SYNC {}
15490impl ::core::clone::Clone for D3D12_BARRIER_SYNC {
15491 fn clone(&self) -> Self {
15492 *self
15493 }
15494}
15495impl ::core::default::Default for D3D12_BARRIER_SYNC {
15496 fn default() -> Self {
15497 Self(0)
15498 }
15499}
15500impl ::windows_core::TypeKind for D3D12_BARRIER_SYNC {
15501 type TypeKind = ::windows_core::CopyType;
15502}
15503impl ::core::fmt::Debug for D3D12_BARRIER_SYNC {
15504 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15505 f.debug_tuple(name:"D3D12_BARRIER_SYNC").field(&self.0).finish()
15506 }
15507}
15508impl D3D12_BARRIER_SYNC {
15509 pub const fn contains(&self, other: Self) -> bool {
15510 self.0 & other.0 == other.0
15511 }
15512}
15513impl ::core::ops::BitOr for D3D12_BARRIER_SYNC {
15514 type Output = Self;
15515 fn bitor(self, other: Self) -> Self {
15516 Self(self.0 | other.0)
15517 }
15518}
15519impl ::core::ops::BitAnd for D3D12_BARRIER_SYNC {
15520 type Output = Self;
15521 fn bitand(self, other: Self) -> Self {
15522 Self(self.0 & other.0)
15523 }
15524}
15525impl ::core::ops::BitOrAssign for D3D12_BARRIER_SYNC {
15526 fn bitor_assign(&mut self, other: Self) {
15527 self.0.bitor_assign(other.0)
15528 }
15529}
15530impl ::core::ops::BitAndAssign for D3D12_BARRIER_SYNC {
15531 fn bitand_assign(&mut self, other: Self) {
15532 self.0.bitand_assign(other.0)
15533 }
15534}
15535impl ::core::ops::Not for D3D12_BARRIER_SYNC {
15536 type Output = Self;
15537 fn not(self) -> Self {
15538 Self(self.0.not())
15539 }
15540}
15541#[repr(transparent)]
15542#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15543pub struct D3D12_BARRIER_TYPE(pub i32);
15544impl ::core::marker::Copy for D3D12_BARRIER_TYPE {}
15545impl ::core::clone::Clone for D3D12_BARRIER_TYPE {
15546 fn clone(&self) -> Self {
15547 *self
15548 }
15549}
15550impl ::core::default::Default for D3D12_BARRIER_TYPE {
15551 fn default() -> Self {
15552 Self(0)
15553 }
15554}
15555impl ::windows_core::TypeKind for D3D12_BARRIER_TYPE {
15556 type TypeKind = ::windows_core::CopyType;
15557}
15558impl ::core::fmt::Debug for D3D12_BARRIER_TYPE {
15559 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15560 f.debug_tuple(name:"D3D12_BARRIER_TYPE").field(&self.0).finish()
15561 }
15562}
15563#[repr(transparent)]
15564#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15565pub struct D3D12_BLEND(pub i32);
15566impl ::core::marker::Copy for D3D12_BLEND {}
15567impl ::core::clone::Clone for D3D12_BLEND {
15568 fn clone(&self) -> Self {
15569 *self
15570 }
15571}
15572impl ::core::default::Default for D3D12_BLEND {
15573 fn default() -> Self {
15574 Self(0)
15575 }
15576}
15577impl ::windows_core::TypeKind for D3D12_BLEND {
15578 type TypeKind = ::windows_core::CopyType;
15579}
15580impl ::core::fmt::Debug for D3D12_BLEND {
15581 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15582 f.debug_tuple(name:"D3D12_BLEND").field(&self.0).finish()
15583 }
15584}
15585#[repr(transparent)]
15586#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15587pub struct D3D12_BLEND_OP(pub i32);
15588impl ::core::marker::Copy for D3D12_BLEND_OP {}
15589impl ::core::clone::Clone for D3D12_BLEND_OP {
15590 fn clone(&self) -> Self {
15591 *self
15592 }
15593}
15594impl ::core::default::Default for D3D12_BLEND_OP {
15595 fn default() -> Self {
15596 Self(0)
15597 }
15598}
15599impl ::windows_core::TypeKind for D3D12_BLEND_OP {
15600 type TypeKind = ::windows_core::CopyType;
15601}
15602impl ::core::fmt::Debug for D3D12_BLEND_OP {
15603 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15604 f.debug_tuple(name:"D3D12_BLEND_OP").field(&self.0).finish()
15605 }
15606}
15607#[repr(transparent)]
15608#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15609pub struct D3D12_BUFFER_SRV_FLAGS(pub i32);
15610impl ::core::marker::Copy for D3D12_BUFFER_SRV_FLAGS {}
15611impl ::core::clone::Clone for D3D12_BUFFER_SRV_FLAGS {
15612 fn clone(&self) -> Self {
15613 *self
15614 }
15615}
15616impl ::core::default::Default for D3D12_BUFFER_SRV_FLAGS {
15617 fn default() -> Self {
15618 Self(0)
15619 }
15620}
15621impl ::windows_core::TypeKind for D3D12_BUFFER_SRV_FLAGS {
15622 type TypeKind = ::windows_core::CopyType;
15623}
15624impl ::core::fmt::Debug for D3D12_BUFFER_SRV_FLAGS {
15625 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15626 f.debug_tuple(name:"D3D12_BUFFER_SRV_FLAGS").field(&self.0).finish()
15627 }
15628}
15629impl D3D12_BUFFER_SRV_FLAGS {
15630 pub const fn contains(&self, other: Self) -> bool {
15631 self.0 & other.0 == other.0
15632 }
15633}
15634impl ::core::ops::BitOr for D3D12_BUFFER_SRV_FLAGS {
15635 type Output = Self;
15636 fn bitor(self, other: Self) -> Self {
15637 Self(self.0 | other.0)
15638 }
15639}
15640impl ::core::ops::BitAnd for D3D12_BUFFER_SRV_FLAGS {
15641 type Output = Self;
15642 fn bitand(self, other: Self) -> Self {
15643 Self(self.0 & other.0)
15644 }
15645}
15646impl ::core::ops::BitOrAssign for D3D12_BUFFER_SRV_FLAGS {
15647 fn bitor_assign(&mut self, other: Self) {
15648 self.0.bitor_assign(other.0)
15649 }
15650}
15651impl ::core::ops::BitAndAssign for D3D12_BUFFER_SRV_FLAGS {
15652 fn bitand_assign(&mut self, other: Self) {
15653 self.0.bitand_assign(other.0)
15654 }
15655}
15656impl ::core::ops::Not for D3D12_BUFFER_SRV_FLAGS {
15657 type Output = Self;
15658 fn not(self) -> Self {
15659 Self(self.0.not())
15660 }
15661}
15662#[repr(transparent)]
15663#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15664pub struct D3D12_BUFFER_UAV_FLAGS(pub i32);
15665impl ::core::marker::Copy for D3D12_BUFFER_UAV_FLAGS {}
15666impl ::core::clone::Clone for D3D12_BUFFER_UAV_FLAGS {
15667 fn clone(&self) -> Self {
15668 *self
15669 }
15670}
15671impl ::core::default::Default for D3D12_BUFFER_UAV_FLAGS {
15672 fn default() -> Self {
15673 Self(0)
15674 }
15675}
15676impl ::windows_core::TypeKind for D3D12_BUFFER_UAV_FLAGS {
15677 type TypeKind = ::windows_core::CopyType;
15678}
15679impl ::core::fmt::Debug for D3D12_BUFFER_UAV_FLAGS {
15680 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15681 f.debug_tuple(name:"D3D12_BUFFER_UAV_FLAGS").field(&self.0).finish()
15682 }
15683}
15684impl D3D12_BUFFER_UAV_FLAGS {
15685 pub const fn contains(&self, other: Self) -> bool {
15686 self.0 & other.0 == other.0
15687 }
15688}
15689impl ::core::ops::BitOr for D3D12_BUFFER_UAV_FLAGS {
15690 type Output = Self;
15691 fn bitor(self, other: Self) -> Self {
15692 Self(self.0 | other.0)
15693 }
15694}
15695impl ::core::ops::BitAnd for D3D12_BUFFER_UAV_FLAGS {
15696 type Output = Self;
15697 fn bitand(self, other: Self) -> Self {
15698 Self(self.0 & other.0)
15699 }
15700}
15701impl ::core::ops::BitOrAssign for D3D12_BUFFER_UAV_FLAGS {
15702 fn bitor_assign(&mut self, other: Self) {
15703 self.0.bitor_assign(other.0)
15704 }
15705}
15706impl ::core::ops::BitAndAssign for D3D12_BUFFER_UAV_FLAGS {
15707 fn bitand_assign(&mut self, other: Self) {
15708 self.0.bitand_assign(other.0)
15709 }
15710}
15711impl ::core::ops::Not for D3D12_BUFFER_UAV_FLAGS {
15712 type Output = Self;
15713 fn not(self) -> Self {
15714 Self(self.0.not())
15715 }
15716}
15717#[repr(transparent)]
15718#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15719pub struct D3D12_CLEAR_FLAGS(pub i32);
15720impl ::core::marker::Copy for D3D12_CLEAR_FLAGS {}
15721impl ::core::clone::Clone for D3D12_CLEAR_FLAGS {
15722 fn clone(&self) -> Self {
15723 *self
15724 }
15725}
15726impl ::core::default::Default for D3D12_CLEAR_FLAGS {
15727 fn default() -> Self {
15728 Self(0)
15729 }
15730}
15731impl ::windows_core::TypeKind for D3D12_CLEAR_FLAGS {
15732 type TypeKind = ::windows_core::CopyType;
15733}
15734impl ::core::fmt::Debug for D3D12_CLEAR_FLAGS {
15735 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15736 f.debug_tuple(name:"D3D12_CLEAR_FLAGS").field(&self.0).finish()
15737 }
15738}
15739impl D3D12_CLEAR_FLAGS {
15740 pub const fn contains(&self, other: Self) -> bool {
15741 self.0 & other.0 == other.0
15742 }
15743}
15744impl ::core::ops::BitOr for D3D12_CLEAR_FLAGS {
15745 type Output = Self;
15746 fn bitor(self, other: Self) -> Self {
15747 Self(self.0 | other.0)
15748 }
15749}
15750impl ::core::ops::BitAnd for D3D12_CLEAR_FLAGS {
15751 type Output = Self;
15752 fn bitand(self, other: Self) -> Self {
15753 Self(self.0 & other.0)
15754 }
15755}
15756impl ::core::ops::BitOrAssign for D3D12_CLEAR_FLAGS {
15757 fn bitor_assign(&mut self, other: Self) {
15758 self.0.bitor_assign(other.0)
15759 }
15760}
15761impl ::core::ops::BitAndAssign for D3D12_CLEAR_FLAGS {
15762 fn bitand_assign(&mut self, other: Self) {
15763 self.0.bitand_assign(other.0)
15764 }
15765}
15766impl ::core::ops::Not for D3D12_CLEAR_FLAGS {
15767 type Output = Self;
15768 fn not(self) -> Self {
15769 Self(self.0.not())
15770 }
15771}
15772#[repr(transparent)]
15773#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15774pub struct D3D12_COLOR_WRITE_ENABLE(pub i32);
15775impl ::core::marker::Copy for D3D12_COLOR_WRITE_ENABLE {}
15776impl ::core::clone::Clone for D3D12_COLOR_WRITE_ENABLE {
15777 fn clone(&self) -> Self {
15778 *self
15779 }
15780}
15781impl ::core::default::Default for D3D12_COLOR_WRITE_ENABLE {
15782 fn default() -> Self {
15783 Self(0)
15784 }
15785}
15786impl ::windows_core::TypeKind for D3D12_COLOR_WRITE_ENABLE {
15787 type TypeKind = ::windows_core::CopyType;
15788}
15789impl ::core::fmt::Debug for D3D12_COLOR_WRITE_ENABLE {
15790 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15791 f.debug_tuple(name:"D3D12_COLOR_WRITE_ENABLE").field(&self.0).finish()
15792 }
15793}
15794#[repr(transparent)]
15795#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15796pub struct D3D12_COMMAND_LIST_FLAGS(pub i32);
15797impl ::core::marker::Copy for D3D12_COMMAND_LIST_FLAGS {}
15798impl ::core::clone::Clone for D3D12_COMMAND_LIST_FLAGS {
15799 fn clone(&self) -> Self {
15800 *self
15801 }
15802}
15803impl ::core::default::Default for D3D12_COMMAND_LIST_FLAGS {
15804 fn default() -> Self {
15805 Self(0)
15806 }
15807}
15808impl ::windows_core::TypeKind for D3D12_COMMAND_LIST_FLAGS {
15809 type TypeKind = ::windows_core::CopyType;
15810}
15811impl ::core::fmt::Debug for D3D12_COMMAND_LIST_FLAGS {
15812 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15813 f.debug_tuple(name:"D3D12_COMMAND_LIST_FLAGS").field(&self.0).finish()
15814 }
15815}
15816impl D3D12_COMMAND_LIST_FLAGS {
15817 pub const fn contains(&self, other: Self) -> bool {
15818 self.0 & other.0 == other.0
15819 }
15820}
15821impl ::core::ops::BitOr for D3D12_COMMAND_LIST_FLAGS {
15822 type Output = Self;
15823 fn bitor(self, other: Self) -> Self {
15824 Self(self.0 | other.0)
15825 }
15826}
15827impl ::core::ops::BitAnd for D3D12_COMMAND_LIST_FLAGS {
15828 type Output = Self;
15829 fn bitand(self, other: Self) -> Self {
15830 Self(self.0 & other.0)
15831 }
15832}
15833impl ::core::ops::BitOrAssign for D3D12_COMMAND_LIST_FLAGS {
15834 fn bitor_assign(&mut self, other: Self) {
15835 self.0.bitor_assign(other.0)
15836 }
15837}
15838impl ::core::ops::BitAndAssign for D3D12_COMMAND_LIST_FLAGS {
15839 fn bitand_assign(&mut self, other: Self) {
15840 self.0.bitand_assign(other.0)
15841 }
15842}
15843impl ::core::ops::Not for D3D12_COMMAND_LIST_FLAGS {
15844 type Output = Self;
15845 fn not(self) -> Self {
15846 Self(self.0.not())
15847 }
15848}
15849#[repr(transparent)]
15850#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15851pub struct D3D12_COMMAND_LIST_SUPPORT_FLAGS(pub i32);
15852impl ::core::marker::Copy for D3D12_COMMAND_LIST_SUPPORT_FLAGS {}
15853impl ::core::clone::Clone for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
15854 fn clone(&self) -> Self {
15855 *self
15856 }
15857}
15858impl ::core::default::Default for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
15859 fn default() -> Self {
15860 Self(0)
15861 }
15862}
15863impl ::windows_core::TypeKind for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
15864 type TypeKind = ::windows_core::CopyType;
15865}
15866impl ::core::fmt::Debug for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
15867 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15868 f.debug_tuple(name:"D3D12_COMMAND_LIST_SUPPORT_FLAGS").field(&self.0).finish()
15869 }
15870}
15871impl D3D12_COMMAND_LIST_SUPPORT_FLAGS {
15872 pub const fn contains(&self, other: Self) -> bool {
15873 self.0 & other.0 == other.0
15874 }
15875}
15876impl ::core::ops::BitOr for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
15877 type Output = Self;
15878 fn bitor(self, other: Self) -> Self {
15879 Self(self.0 | other.0)
15880 }
15881}
15882impl ::core::ops::BitAnd for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
15883 type Output = Self;
15884 fn bitand(self, other: Self) -> Self {
15885 Self(self.0 & other.0)
15886 }
15887}
15888impl ::core::ops::BitOrAssign for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
15889 fn bitor_assign(&mut self, other: Self) {
15890 self.0.bitor_assign(other.0)
15891 }
15892}
15893impl ::core::ops::BitAndAssign for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
15894 fn bitand_assign(&mut self, other: Self) {
15895 self.0.bitand_assign(other.0)
15896 }
15897}
15898impl ::core::ops::Not for D3D12_COMMAND_LIST_SUPPORT_FLAGS {
15899 type Output = Self;
15900 fn not(self) -> Self {
15901 Self(self.0.not())
15902 }
15903}
15904#[repr(transparent)]
15905#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15906pub struct D3D12_COMMAND_LIST_TYPE(pub i32);
15907impl ::core::marker::Copy for D3D12_COMMAND_LIST_TYPE {}
15908impl ::core::clone::Clone for D3D12_COMMAND_LIST_TYPE {
15909 fn clone(&self) -> Self {
15910 *self
15911 }
15912}
15913impl ::core::default::Default for D3D12_COMMAND_LIST_TYPE {
15914 fn default() -> Self {
15915 Self(0)
15916 }
15917}
15918impl ::windows_core::TypeKind for D3D12_COMMAND_LIST_TYPE {
15919 type TypeKind = ::windows_core::CopyType;
15920}
15921impl ::core::fmt::Debug for D3D12_COMMAND_LIST_TYPE {
15922 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15923 f.debug_tuple(name:"D3D12_COMMAND_LIST_TYPE").field(&self.0).finish()
15924 }
15925}
15926#[repr(transparent)]
15927#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15928pub struct D3D12_COMMAND_POOL_FLAGS(pub i32);
15929impl ::core::marker::Copy for D3D12_COMMAND_POOL_FLAGS {}
15930impl ::core::clone::Clone for D3D12_COMMAND_POOL_FLAGS {
15931 fn clone(&self) -> Self {
15932 *self
15933 }
15934}
15935impl ::core::default::Default for D3D12_COMMAND_POOL_FLAGS {
15936 fn default() -> Self {
15937 Self(0)
15938 }
15939}
15940impl ::windows_core::TypeKind for D3D12_COMMAND_POOL_FLAGS {
15941 type TypeKind = ::windows_core::CopyType;
15942}
15943impl ::core::fmt::Debug for D3D12_COMMAND_POOL_FLAGS {
15944 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15945 f.debug_tuple(name:"D3D12_COMMAND_POOL_FLAGS").field(&self.0).finish()
15946 }
15947}
15948impl D3D12_COMMAND_POOL_FLAGS {
15949 pub const fn contains(&self, other: Self) -> bool {
15950 self.0 & other.0 == other.0
15951 }
15952}
15953impl ::core::ops::BitOr for D3D12_COMMAND_POOL_FLAGS {
15954 type Output = Self;
15955 fn bitor(self, other: Self) -> Self {
15956 Self(self.0 | other.0)
15957 }
15958}
15959impl ::core::ops::BitAnd for D3D12_COMMAND_POOL_FLAGS {
15960 type Output = Self;
15961 fn bitand(self, other: Self) -> Self {
15962 Self(self.0 & other.0)
15963 }
15964}
15965impl ::core::ops::BitOrAssign for D3D12_COMMAND_POOL_FLAGS {
15966 fn bitor_assign(&mut self, other: Self) {
15967 self.0.bitor_assign(other.0)
15968 }
15969}
15970impl ::core::ops::BitAndAssign for D3D12_COMMAND_POOL_FLAGS {
15971 fn bitand_assign(&mut self, other: Self) {
15972 self.0.bitand_assign(other.0)
15973 }
15974}
15975impl ::core::ops::Not for D3D12_COMMAND_POOL_FLAGS {
15976 type Output = Self;
15977 fn not(self) -> Self {
15978 Self(self.0.not())
15979 }
15980}
15981#[repr(transparent)]
15982#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15983pub struct D3D12_COMMAND_QUEUE_FLAGS(pub i32);
15984impl ::core::marker::Copy for D3D12_COMMAND_QUEUE_FLAGS {}
15985impl ::core::clone::Clone for D3D12_COMMAND_QUEUE_FLAGS {
15986 fn clone(&self) -> Self {
15987 *self
15988 }
15989}
15990impl ::core::default::Default for D3D12_COMMAND_QUEUE_FLAGS {
15991 fn default() -> Self {
15992 Self(0)
15993 }
15994}
15995impl ::windows_core::TypeKind for D3D12_COMMAND_QUEUE_FLAGS {
15996 type TypeKind = ::windows_core::CopyType;
15997}
15998impl ::core::fmt::Debug for D3D12_COMMAND_QUEUE_FLAGS {
15999 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16000 f.debug_tuple(name:"D3D12_COMMAND_QUEUE_FLAGS").field(&self.0).finish()
16001 }
16002}
16003impl D3D12_COMMAND_QUEUE_FLAGS {
16004 pub const fn contains(&self, other: Self) -> bool {
16005 self.0 & other.0 == other.0
16006 }
16007}
16008impl ::core::ops::BitOr for D3D12_COMMAND_QUEUE_FLAGS {
16009 type Output = Self;
16010 fn bitor(self, other: Self) -> Self {
16011 Self(self.0 | other.0)
16012 }
16013}
16014impl ::core::ops::BitAnd for D3D12_COMMAND_QUEUE_FLAGS {
16015 type Output = Self;
16016 fn bitand(self, other: Self) -> Self {
16017 Self(self.0 & other.0)
16018 }
16019}
16020impl ::core::ops::BitOrAssign for D3D12_COMMAND_QUEUE_FLAGS {
16021 fn bitor_assign(&mut self, other: Self) {
16022 self.0.bitor_assign(other.0)
16023 }
16024}
16025impl ::core::ops::BitAndAssign for D3D12_COMMAND_QUEUE_FLAGS {
16026 fn bitand_assign(&mut self, other: Self) {
16027 self.0.bitand_assign(other.0)
16028 }
16029}
16030impl ::core::ops::Not for D3D12_COMMAND_QUEUE_FLAGS {
16031 type Output = Self;
16032 fn not(self) -> Self {
16033 Self(self.0.not())
16034 }
16035}
16036#[repr(transparent)]
16037#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16038pub struct D3D12_COMMAND_QUEUE_PRIORITY(pub i32);
16039impl ::core::marker::Copy for D3D12_COMMAND_QUEUE_PRIORITY {}
16040impl ::core::clone::Clone for D3D12_COMMAND_QUEUE_PRIORITY {
16041 fn clone(&self) -> Self {
16042 *self
16043 }
16044}
16045impl ::core::default::Default for D3D12_COMMAND_QUEUE_PRIORITY {
16046 fn default() -> Self {
16047 Self(0)
16048 }
16049}
16050impl ::windows_core::TypeKind for D3D12_COMMAND_QUEUE_PRIORITY {
16051 type TypeKind = ::windows_core::CopyType;
16052}
16053impl ::core::fmt::Debug for D3D12_COMMAND_QUEUE_PRIORITY {
16054 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16055 f.debug_tuple(name:"D3D12_COMMAND_QUEUE_PRIORITY").field(&self.0).finish()
16056 }
16057}
16058#[repr(transparent)]
16059#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16060pub struct D3D12_COMMAND_RECORDER_FLAGS(pub i32);
16061impl ::core::marker::Copy for D3D12_COMMAND_RECORDER_FLAGS {}
16062impl ::core::clone::Clone for D3D12_COMMAND_RECORDER_FLAGS {
16063 fn clone(&self) -> Self {
16064 *self
16065 }
16066}
16067impl ::core::default::Default for D3D12_COMMAND_RECORDER_FLAGS {
16068 fn default() -> Self {
16069 Self(0)
16070 }
16071}
16072impl ::windows_core::TypeKind for D3D12_COMMAND_RECORDER_FLAGS {
16073 type TypeKind = ::windows_core::CopyType;
16074}
16075impl ::core::fmt::Debug for D3D12_COMMAND_RECORDER_FLAGS {
16076 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16077 f.debug_tuple(name:"D3D12_COMMAND_RECORDER_FLAGS").field(&self.0).finish()
16078 }
16079}
16080impl D3D12_COMMAND_RECORDER_FLAGS {
16081 pub const fn contains(&self, other: Self) -> bool {
16082 self.0 & other.0 == other.0
16083 }
16084}
16085impl ::core::ops::BitOr for D3D12_COMMAND_RECORDER_FLAGS {
16086 type Output = Self;
16087 fn bitor(self, other: Self) -> Self {
16088 Self(self.0 | other.0)
16089 }
16090}
16091impl ::core::ops::BitAnd for D3D12_COMMAND_RECORDER_FLAGS {
16092 type Output = Self;
16093 fn bitand(self, other: Self) -> Self {
16094 Self(self.0 & other.0)
16095 }
16096}
16097impl ::core::ops::BitOrAssign for D3D12_COMMAND_RECORDER_FLAGS {
16098 fn bitor_assign(&mut self, other: Self) {
16099 self.0.bitor_assign(other.0)
16100 }
16101}
16102impl ::core::ops::BitAndAssign for D3D12_COMMAND_RECORDER_FLAGS {
16103 fn bitand_assign(&mut self, other: Self) {
16104 self.0.bitand_assign(other.0)
16105 }
16106}
16107impl ::core::ops::Not for D3D12_COMMAND_RECORDER_FLAGS {
16108 type Output = Self;
16109 fn not(self) -> Self {
16110 Self(self.0.not())
16111 }
16112}
16113#[repr(transparent)]
16114#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16115pub struct D3D12_COMPARISON_FUNC(pub i32);
16116impl ::core::marker::Copy for D3D12_COMPARISON_FUNC {}
16117impl ::core::clone::Clone for D3D12_COMPARISON_FUNC {
16118 fn clone(&self) -> Self {
16119 *self
16120 }
16121}
16122impl ::core::default::Default for D3D12_COMPARISON_FUNC {
16123 fn default() -> Self {
16124 Self(0)
16125 }
16126}
16127impl ::windows_core::TypeKind for D3D12_COMPARISON_FUNC {
16128 type TypeKind = ::windows_core::CopyType;
16129}
16130impl ::core::fmt::Debug for D3D12_COMPARISON_FUNC {
16131 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16132 f.debug_tuple(name:"D3D12_COMPARISON_FUNC").field(&self.0).finish()
16133 }
16134}
16135#[repr(transparent)]
16136#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16137pub struct D3D12_CONSERVATIVE_RASTERIZATION_MODE(pub i32);
16138impl ::core::marker::Copy for D3D12_CONSERVATIVE_RASTERIZATION_MODE {}
16139impl ::core::clone::Clone for D3D12_CONSERVATIVE_RASTERIZATION_MODE {
16140 fn clone(&self) -> Self {
16141 *self
16142 }
16143}
16144impl ::core::default::Default for D3D12_CONSERVATIVE_RASTERIZATION_MODE {
16145 fn default() -> Self {
16146 Self(0)
16147 }
16148}
16149impl ::windows_core::TypeKind for D3D12_CONSERVATIVE_RASTERIZATION_MODE {
16150 type TypeKind = ::windows_core::CopyType;
16151}
16152impl ::core::fmt::Debug for D3D12_CONSERVATIVE_RASTERIZATION_MODE {
16153 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16154 f.debug_tuple(name:"D3D12_CONSERVATIVE_RASTERIZATION_MODE").field(&self.0).finish()
16155 }
16156}
16157#[repr(transparent)]
16158#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16159pub struct D3D12_CONSERVATIVE_RASTERIZATION_TIER(pub i32);
16160impl ::core::marker::Copy for D3D12_CONSERVATIVE_RASTERIZATION_TIER {}
16161impl ::core::clone::Clone for D3D12_CONSERVATIVE_RASTERIZATION_TIER {
16162 fn clone(&self) -> Self {
16163 *self
16164 }
16165}
16166impl ::core::default::Default for D3D12_CONSERVATIVE_RASTERIZATION_TIER {
16167 fn default() -> Self {
16168 Self(0)
16169 }
16170}
16171impl ::windows_core::TypeKind for D3D12_CONSERVATIVE_RASTERIZATION_TIER {
16172 type TypeKind = ::windows_core::CopyType;
16173}
16174impl ::core::fmt::Debug for D3D12_CONSERVATIVE_RASTERIZATION_TIER {
16175 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16176 f.debug_tuple(name:"D3D12_CONSERVATIVE_RASTERIZATION_TIER").field(&self.0).finish()
16177 }
16178}
16179#[repr(transparent)]
16180#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16181pub struct D3D12_CPU_PAGE_PROPERTY(pub i32);
16182impl ::core::marker::Copy for D3D12_CPU_PAGE_PROPERTY {}
16183impl ::core::clone::Clone for D3D12_CPU_PAGE_PROPERTY {
16184 fn clone(&self) -> Self {
16185 *self
16186 }
16187}
16188impl ::core::default::Default for D3D12_CPU_PAGE_PROPERTY {
16189 fn default() -> Self {
16190 Self(0)
16191 }
16192}
16193impl ::windows_core::TypeKind for D3D12_CPU_PAGE_PROPERTY {
16194 type TypeKind = ::windows_core::CopyType;
16195}
16196impl ::core::fmt::Debug for D3D12_CPU_PAGE_PROPERTY {
16197 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16198 f.debug_tuple(name:"D3D12_CPU_PAGE_PROPERTY").field(&self.0).finish()
16199 }
16200}
16201#[repr(transparent)]
16202#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16203pub struct D3D12_CROSS_NODE_SHARING_TIER(pub i32);
16204impl ::core::marker::Copy for D3D12_CROSS_NODE_SHARING_TIER {}
16205impl ::core::clone::Clone for D3D12_CROSS_NODE_SHARING_TIER {
16206 fn clone(&self) -> Self {
16207 *self
16208 }
16209}
16210impl ::core::default::Default for D3D12_CROSS_NODE_SHARING_TIER {
16211 fn default() -> Self {
16212 Self(0)
16213 }
16214}
16215impl ::windows_core::TypeKind for D3D12_CROSS_NODE_SHARING_TIER {
16216 type TypeKind = ::windows_core::CopyType;
16217}
16218impl ::core::fmt::Debug for D3D12_CROSS_NODE_SHARING_TIER {
16219 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16220 f.debug_tuple(name:"D3D12_CROSS_NODE_SHARING_TIER").field(&self.0).finish()
16221 }
16222}
16223#[repr(transparent)]
16224#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16225pub struct D3D12_CULL_MODE(pub i32);
16226impl ::core::marker::Copy for D3D12_CULL_MODE {}
16227impl ::core::clone::Clone for D3D12_CULL_MODE {
16228 fn clone(&self) -> Self {
16229 *self
16230 }
16231}
16232impl ::core::default::Default for D3D12_CULL_MODE {
16233 fn default() -> Self {
16234 Self(0)
16235 }
16236}
16237impl ::windows_core::TypeKind for D3D12_CULL_MODE {
16238 type TypeKind = ::windows_core::CopyType;
16239}
16240impl ::core::fmt::Debug for D3D12_CULL_MODE {
16241 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16242 f.debug_tuple(name:"D3D12_CULL_MODE").field(&self.0).finish()
16243 }
16244}
16245#[repr(transparent)]
16246#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16247pub struct D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE(pub i32);
16248impl ::core::marker::Copy for D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE {}
16249impl ::core::clone::Clone for D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE {
16250 fn clone(&self) -> Self {
16251 *self
16252 }
16253}
16254impl ::core::default::Default for D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE {
16255 fn default() -> Self {
16256 Self(0)
16257 }
16258}
16259impl ::windows_core::TypeKind for D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE {
16260 type TypeKind = ::windows_core::CopyType;
16261}
16262impl ::core::fmt::Debug for D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE {
16263 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16264 f.debug_tuple(name:"D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE").field(&self.0).finish()
16265 }
16266}
16267#[repr(transparent)]
16268#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16269pub struct D3D12_DEBUG_DEVICE_PARAMETER_TYPE(pub i32);
16270impl ::core::marker::Copy for D3D12_DEBUG_DEVICE_PARAMETER_TYPE {}
16271impl ::core::clone::Clone for D3D12_DEBUG_DEVICE_PARAMETER_TYPE {
16272 fn clone(&self) -> Self {
16273 *self
16274 }
16275}
16276impl ::core::default::Default for D3D12_DEBUG_DEVICE_PARAMETER_TYPE {
16277 fn default() -> Self {
16278 Self(0)
16279 }
16280}
16281impl ::windows_core::TypeKind for D3D12_DEBUG_DEVICE_PARAMETER_TYPE {
16282 type TypeKind = ::windows_core::CopyType;
16283}
16284impl ::core::fmt::Debug for D3D12_DEBUG_DEVICE_PARAMETER_TYPE {
16285 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16286 f.debug_tuple(name:"D3D12_DEBUG_DEVICE_PARAMETER_TYPE").field(&self.0).finish()
16287 }
16288}
16289#[repr(transparent)]
16290#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16291pub struct D3D12_DEBUG_FEATURE(pub i32);
16292impl ::core::marker::Copy for D3D12_DEBUG_FEATURE {}
16293impl ::core::clone::Clone for D3D12_DEBUG_FEATURE {
16294 fn clone(&self) -> Self {
16295 *self
16296 }
16297}
16298impl ::core::default::Default for D3D12_DEBUG_FEATURE {
16299 fn default() -> Self {
16300 Self(0)
16301 }
16302}
16303impl ::windows_core::TypeKind for D3D12_DEBUG_FEATURE {
16304 type TypeKind = ::windows_core::CopyType;
16305}
16306impl ::core::fmt::Debug for D3D12_DEBUG_FEATURE {
16307 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16308 f.debug_tuple(name:"D3D12_DEBUG_FEATURE").field(&self.0).finish()
16309 }
16310}
16311impl D3D12_DEBUG_FEATURE {
16312 pub const fn contains(&self, other: Self) -> bool {
16313 self.0 & other.0 == other.0
16314 }
16315}
16316impl ::core::ops::BitOr for D3D12_DEBUG_FEATURE {
16317 type Output = Self;
16318 fn bitor(self, other: Self) -> Self {
16319 Self(self.0 | other.0)
16320 }
16321}
16322impl ::core::ops::BitAnd for D3D12_DEBUG_FEATURE {
16323 type Output = Self;
16324 fn bitand(self, other: Self) -> Self {
16325 Self(self.0 & other.0)
16326 }
16327}
16328impl ::core::ops::BitOrAssign for D3D12_DEBUG_FEATURE {
16329 fn bitor_assign(&mut self, other: Self) {
16330 self.0.bitor_assign(other.0)
16331 }
16332}
16333impl ::core::ops::BitAndAssign for D3D12_DEBUG_FEATURE {
16334 fn bitand_assign(&mut self, other: Self) {
16335 self.0.bitand_assign(other.0)
16336 }
16337}
16338impl ::core::ops::Not for D3D12_DEBUG_FEATURE {
16339 type Output = Self;
16340 fn not(self) -> Self {
16341 Self(self.0.not())
16342 }
16343}
16344#[repr(transparent)]
16345#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16346pub struct D3D12_DEPTH_WRITE_MASK(pub i32);
16347impl ::core::marker::Copy for D3D12_DEPTH_WRITE_MASK {}
16348impl ::core::clone::Clone for D3D12_DEPTH_WRITE_MASK {
16349 fn clone(&self) -> Self {
16350 *self
16351 }
16352}
16353impl ::core::default::Default for D3D12_DEPTH_WRITE_MASK {
16354 fn default() -> Self {
16355 Self(0)
16356 }
16357}
16358impl ::windows_core::TypeKind for D3D12_DEPTH_WRITE_MASK {
16359 type TypeKind = ::windows_core::CopyType;
16360}
16361impl ::core::fmt::Debug for D3D12_DEPTH_WRITE_MASK {
16362 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16363 f.debug_tuple(name:"D3D12_DEPTH_WRITE_MASK").field(&self.0).finish()
16364 }
16365}
16366#[repr(transparent)]
16367#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16368pub struct D3D12_DESCRIPTOR_HEAP_FLAGS(pub i32);
16369impl ::core::marker::Copy for D3D12_DESCRIPTOR_HEAP_FLAGS {}
16370impl ::core::clone::Clone for D3D12_DESCRIPTOR_HEAP_FLAGS {
16371 fn clone(&self) -> Self {
16372 *self
16373 }
16374}
16375impl ::core::default::Default for D3D12_DESCRIPTOR_HEAP_FLAGS {
16376 fn default() -> Self {
16377 Self(0)
16378 }
16379}
16380impl ::windows_core::TypeKind for D3D12_DESCRIPTOR_HEAP_FLAGS {
16381 type TypeKind = ::windows_core::CopyType;
16382}
16383impl ::core::fmt::Debug for D3D12_DESCRIPTOR_HEAP_FLAGS {
16384 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16385 f.debug_tuple(name:"D3D12_DESCRIPTOR_HEAP_FLAGS").field(&self.0).finish()
16386 }
16387}
16388impl D3D12_DESCRIPTOR_HEAP_FLAGS {
16389 pub const fn contains(&self, other: Self) -> bool {
16390 self.0 & other.0 == other.0
16391 }
16392}
16393impl ::core::ops::BitOr for D3D12_DESCRIPTOR_HEAP_FLAGS {
16394 type Output = Self;
16395 fn bitor(self, other: Self) -> Self {
16396 Self(self.0 | other.0)
16397 }
16398}
16399impl ::core::ops::BitAnd for D3D12_DESCRIPTOR_HEAP_FLAGS {
16400 type Output = Self;
16401 fn bitand(self, other: Self) -> Self {
16402 Self(self.0 & other.0)
16403 }
16404}
16405impl ::core::ops::BitOrAssign for D3D12_DESCRIPTOR_HEAP_FLAGS {
16406 fn bitor_assign(&mut self, other: Self) {
16407 self.0.bitor_assign(other.0)
16408 }
16409}
16410impl ::core::ops::BitAndAssign for D3D12_DESCRIPTOR_HEAP_FLAGS {
16411 fn bitand_assign(&mut self, other: Self) {
16412 self.0.bitand_assign(other.0)
16413 }
16414}
16415impl ::core::ops::Not for D3D12_DESCRIPTOR_HEAP_FLAGS {
16416 type Output = Self;
16417 fn not(self) -> Self {
16418 Self(self.0.not())
16419 }
16420}
16421#[repr(transparent)]
16422#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16423pub struct D3D12_DESCRIPTOR_HEAP_TYPE(pub i32);
16424impl ::core::marker::Copy for D3D12_DESCRIPTOR_HEAP_TYPE {}
16425impl ::core::clone::Clone for D3D12_DESCRIPTOR_HEAP_TYPE {
16426 fn clone(&self) -> Self {
16427 *self
16428 }
16429}
16430impl ::core::default::Default for D3D12_DESCRIPTOR_HEAP_TYPE {
16431 fn default() -> Self {
16432 Self(0)
16433 }
16434}
16435impl ::windows_core::TypeKind for D3D12_DESCRIPTOR_HEAP_TYPE {
16436 type TypeKind = ::windows_core::CopyType;
16437}
16438impl ::core::fmt::Debug for D3D12_DESCRIPTOR_HEAP_TYPE {
16439 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16440 f.debug_tuple(name:"D3D12_DESCRIPTOR_HEAP_TYPE").field(&self.0).finish()
16441 }
16442}
16443#[repr(transparent)]
16444#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16445pub struct D3D12_DESCRIPTOR_RANGE_FLAGS(pub i32);
16446impl ::core::marker::Copy for D3D12_DESCRIPTOR_RANGE_FLAGS {}
16447impl ::core::clone::Clone for D3D12_DESCRIPTOR_RANGE_FLAGS {
16448 fn clone(&self) -> Self {
16449 *self
16450 }
16451}
16452impl ::core::default::Default for D3D12_DESCRIPTOR_RANGE_FLAGS {
16453 fn default() -> Self {
16454 Self(0)
16455 }
16456}
16457impl ::windows_core::TypeKind for D3D12_DESCRIPTOR_RANGE_FLAGS {
16458 type TypeKind = ::windows_core::CopyType;
16459}
16460impl ::core::fmt::Debug for D3D12_DESCRIPTOR_RANGE_FLAGS {
16461 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16462 f.debug_tuple(name:"D3D12_DESCRIPTOR_RANGE_FLAGS").field(&self.0).finish()
16463 }
16464}
16465impl D3D12_DESCRIPTOR_RANGE_FLAGS {
16466 pub const fn contains(&self, other: Self) -> bool {
16467 self.0 & other.0 == other.0
16468 }
16469}
16470impl ::core::ops::BitOr for D3D12_DESCRIPTOR_RANGE_FLAGS {
16471 type Output = Self;
16472 fn bitor(self, other: Self) -> Self {
16473 Self(self.0 | other.0)
16474 }
16475}
16476impl ::core::ops::BitAnd for D3D12_DESCRIPTOR_RANGE_FLAGS {
16477 type Output = Self;
16478 fn bitand(self, other: Self) -> Self {
16479 Self(self.0 & other.0)
16480 }
16481}
16482impl ::core::ops::BitOrAssign for D3D12_DESCRIPTOR_RANGE_FLAGS {
16483 fn bitor_assign(&mut self, other: Self) {
16484 self.0.bitor_assign(other.0)
16485 }
16486}
16487impl ::core::ops::BitAndAssign for D3D12_DESCRIPTOR_RANGE_FLAGS {
16488 fn bitand_assign(&mut self, other: Self) {
16489 self.0.bitand_assign(other.0)
16490 }
16491}
16492impl ::core::ops::Not for D3D12_DESCRIPTOR_RANGE_FLAGS {
16493 type Output = Self;
16494 fn not(self) -> Self {
16495 Self(self.0.not())
16496 }
16497}
16498#[repr(transparent)]
16499#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16500pub struct D3D12_DESCRIPTOR_RANGE_TYPE(pub i32);
16501impl ::core::marker::Copy for D3D12_DESCRIPTOR_RANGE_TYPE {}
16502impl ::core::clone::Clone for D3D12_DESCRIPTOR_RANGE_TYPE {
16503 fn clone(&self) -> Self {
16504 *self
16505 }
16506}
16507impl ::core::default::Default for D3D12_DESCRIPTOR_RANGE_TYPE {
16508 fn default() -> Self {
16509 Self(0)
16510 }
16511}
16512impl ::windows_core::TypeKind for D3D12_DESCRIPTOR_RANGE_TYPE {
16513 type TypeKind = ::windows_core::CopyType;
16514}
16515impl ::core::fmt::Debug for D3D12_DESCRIPTOR_RANGE_TYPE {
16516 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16517 f.debug_tuple(name:"D3D12_DESCRIPTOR_RANGE_TYPE").field(&self.0).finish()
16518 }
16519}
16520#[repr(transparent)]
16521#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16522pub struct D3D12_DEVICE_FACTORY_FLAGS(pub i32);
16523impl ::core::marker::Copy for D3D12_DEVICE_FACTORY_FLAGS {}
16524impl ::core::clone::Clone for D3D12_DEVICE_FACTORY_FLAGS {
16525 fn clone(&self) -> Self {
16526 *self
16527 }
16528}
16529impl ::core::default::Default for D3D12_DEVICE_FACTORY_FLAGS {
16530 fn default() -> Self {
16531 Self(0)
16532 }
16533}
16534impl ::windows_core::TypeKind for D3D12_DEVICE_FACTORY_FLAGS {
16535 type TypeKind = ::windows_core::CopyType;
16536}
16537impl ::core::fmt::Debug for D3D12_DEVICE_FACTORY_FLAGS {
16538 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16539 f.debug_tuple(name:"D3D12_DEVICE_FACTORY_FLAGS").field(&self.0).finish()
16540 }
16541}
16542impl D3D12_DEVICE_FACTORY_FLAGS {
16543 pub const fn contains(&self, other: Self) -> bool {
16544 self.0 & other.0 == other.0
16545 }
16546}
16547impl ::core::ops::BitOr for D3D12_DEVICE_FACTORY_FLAGS {
16548 type Output = Self;
16549 fn bitor(self, other: Self) -> Self {
16550 Self(self.0 | other.0)
16551 }
16552}
16553impl ::core::ops::BitAnd for D3D12_DEVICE_FACTORY_FLAGS {
16554 type Output = Self;
16555 fn bitand(self, other: Self) -> Self {
16556 Self(self.0 & other.0)
16557 }
16558}
16559impl ::core::ops::BitOrAssign for D3D12_DEVICE_FACTORY_FLAGS {
16560 fn bitor_assign(&mut self, other: Self) {
16561 self.0.bitor_assign(other.0)
16562 }
16563}
16564impl ::core::ops::BitAndAssign for D3D12_DEVICE_FACTORY_FLAGS {
16565 fn bitand_assign(&mut self, other: Self) {
16566 self.0.bitand_assign(other.0)
16567 }
16568}
16569impl ::core::ops::Not for D3D12_DEVICE_FACTORY_FLAGS {
16570 type Output = Self;
16571 fn not(self) -> Self {
16572 Self(self.0.not())
16573 }
16574}
16575#[repr(transparent)]
16576#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16577pub struct D3D12_DEVICE_FLAGS(pub i32);
16578impl ::core::marker::Copy for D3D12_DEVICE_FLAGS {}
16579impl ::core::clone::Clone for D3D12_DEVICE_FLAGS {
16580 fn clone(&self) -> Self {
16581 *self
16582 }
16583}
16584impl ::core::default::Default for D3D12_DEVICE_FLAGS {
16585 fn default() -> Self {
16586 Self(0)
16587 }
16588}
16589impl ::windows_core::TypeKind for D3D12_DEVICE_FLAGS {
16590 type TypeKind = ::windows_core::CopyType;
16591}
16592impl ::core::fmt::Debug for D3D12_DEVICE_FLAGS {
16593 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16594 f.debug_tuple(name:"D3D12_DEVICE_FLAGS").field(&self.0).finish()
16595 }
16596}
16597impl D3D12_DEVICE_FLAGS {
16598 pub const fn contains(&self, other: Self) -> bool {
16599 self.0 & other.0 == other.0
16600 }
16601}
16602impl ::core::ops::BitOr for D3D12_DEVICE_FLAGS {
16603 type Output = Self;
16604 fn bitor(self, other: Self) -> Self {
16605 Self(self.0 | other.0)
16606 }
16607}
16608impl ::core::ops::BitAnd for D3D12_DEVICE_FLAGS {
16609 type Output = Self;
16610 fn bitand(self, other: Self) -> Self {
16611 Self(self.0 & other.0)
16612 }
16613}
16614impl ::core::ops::BitOrAssign for D3D12_DEVICE_FLAGS {
16615 fn bitor_assign(&mut self, other: Self) {
16616 self.0.bitor_assign(other.0)
16617 }
16618}
16619impl ::core::ops::BitAndAssign for D3D12_DEVICE_FLAGS {
16620 fn bitand_assign(&mut self, other: Self) {
16621 self.0.bitand_assign(other.0)
16622 }
16623}
16624impl ::core::ops::Not for D3D12_DEVICE_FLAGS {
16625 type Output = Self;
16626 fn not(self) -> Self {
16627 Self(self.0.not())
16628 }
16629}
16630#[repr(transparent)]
16631#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16632pub struct D3D12_DRED_ALLOCATION_TYPE(pub i32);
16633impl ::core::marker::Copy for D3D12_DRED_ALLOCATION_TYPE {}
16634impl ::core::clone::Clone for D3D12_DRED_ALLOCATION_TYPE {
16635 fn clone(&self) -> Self {
16636 *self
16637 }
16638}
16639impl ::core::default::Default for D3D12_DRED_ALLOCATION_TYPE {
16640 fn default() -> Self {
16641 Self(0)
16642 }
16643}
16644impl ::windows_core::TypeKind for D3D12_DRED_ALLOCATION_TYPE {
16645 type TypeKind = ::windows_core::CopyType;
16646}
16647impl ::core::fmt::Debug for D3D12_DRED_ALLOCATION_TYPE {
16648 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16649 f.debug_tuple(name:"D3D12_DRED_ALLOCATION_TYPE").field(&self.0).finish()
16650 }
16651}
16652#[repr(transparent)]
16653#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16654pub struct D3D12_DRED_DEVICE_STATE(pub i32);
16655impl ::core::marker::Copy for D3D12_DRED_DEVICE_STATE {}
16656impl ::core::clone::Clone for D3D12_DRED_DEVICE_STATE {
16657 fn clone(&self) -> Self {
16658 *self
16659 }
16660}
16661impl ::core::default::Default for D3D12_DRED_DEVICE_STATE {
16662 fn default() -> Self {
16663 Self(0)
16664 }
16665}
16666impl ::windows_core::TypeKind for D3D12_DRED_DEVICE_STATE {
16667 type TypeKind = ::windows_core::CopyType;
16668}
16669impl ::core::fmt::Debug for D3D12_DRED_DEVICE_STATE {
16670 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16671 f.debug_tuple(name:"D3D12_DRED_DEVICE_STATE").field(&self.0).finish()
16672 }
16673}
16674#[repr(transparent)]
16675#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16676pub struct D3D12_DRED_ENABLEMENT(pub i32);
16677impl ::core::marker::Copy for D3D12_DRED_ENABLEMENT {}
16678impl ::core::clone::Clone for D3D12_DRED_ENABLEMENT {
16679 fn clone(&self) -> Self {
16680 *self
16681 }
16682}
16683impl ::core::default::Default for D3D12_DRED_ENABLEMENT {
16684 fn default() -> Self {
16685 Self(0)
16686 }
16687}
16688impl ::windows_core::TypeKind for D3D12_DRED_ENABLEMENT {
16689 type TypeKind = ::windows_core::CopyType;
16690}
16691impl ::core::fmt::Debug for D3D12_DRED_ENABLEMENT {
16692 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16693 f.debug_tuple(name:"D3D12_DRED_ENABLEMENT").field(&self.0).finish()
16694 }
16695}
16696#[repr(transparent)]
16697#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16698pub struct D3D12_DRED_FLAGS(pub i32);
16699impl ::core::marker::Copy for D3D12_DRED_FLAGS {}
16700impl ::core::clone::Clone for D3D12_DRED_FLAGS {
16701 fn clone(&self) -> Self {
16702 *self
16703 }
16704}
16705impl ::core::default::Default for D3D12_DRED_FLAGS {
16706 fn default() -> Self {
16707 Self(0)
16708 }
16709}
16710impl ::windows_core::TypeKind for D3D12_DRED_FLAGS {
16711 type TypeKind = ::windows_core::CopyType;
16712}
16713impl ::core::fmt::Debug for D3D12_DRED_FLAGS {
16714 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16715 f.debug_tuple(name:"D3D12_DRED_FLAGS").field(&self.0).finish()
16716 }
16717}
16718impl D3D12_DRED_FLAGS {
16719 pub const fn contains(&self, other: Self) -> bool {
16720 self.0 & other.0 == other.0
16721 }
16722}
16723impl ::core::ops::BitOr for D3D12_DRED_FLAGS {
16724 type Output = Self;
16725 fn bitor(self, other: Self) -> Self {
16726 Self(self.0 | other.0)
16727 }
16728}
16729impl ::core::ops::BitAnd for D3D12_DRED_FLAGS {
16730 type Output = Self;
16731 fn bitand(self, other: Self) -> Self {
16732 Self(self.0 & other.0)
16733 }
16734}
16735impl ::core::ops::BitOrAssign for D3D12_DRED_FLAGS {
16736 fn bitor_assign(&mut self, other: Self) {
16737 self.0.bitor_assign(other.0)
16738 }
16739}
16740impl ::core::ops::BitAndAssign for D3D12_DRED_FLAGS {
16741 fn bitand_assign(&mut self, other: Self) {
16742 self.0.bitand_assign(other.0)
16743 }
16744}
16745impl ::core::ops::Not for D3D12_DRED_FLAGS {
16746 type Output = Self;
16747 fn not(self) -> Self {
16748 Self(self.0.not())
16749 }
16750}
16751#[repr(transparent)]
16752#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16753pub struct D3D12_DRED_PAGE_FAULT_FLAGS(pub i32);
16754impl ::core::marker::Copy for D3D12_DRED_PAGE_FAULT_FLAGS {}
16755impl ::core::clone::Clone for D3D12_DRED_PAGE_FAULT_FLAGS {
16756 fn clone(&self) -> Self {
16757 *self
16758 }
16759}
16760impl ::core::default::Default for D3D12_DRED_PAGE_FAULT_FLAGS {
16761 fn default() -> Self {
16762 Self(0)
16763 }
16764}
16765impl ::windows_core::TypeKind for D3D12_DRED_PAGE_FAULT_FLAGS {
16766 type TypeKind = ::windows_core::CopyType;
16767}
16768impl ::core::fmt::Debug for D3D12_DRED_PAGE_FAULT_FLAGS {
16769 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16770 f.debug_tuple(name:"D3D12_DRED_PAGE_FAULT_FLAGS").field(&self.0).finish()
16771 }
16772}
16773impl D3D12_DRED_PAGE_FAULT_FLAGS {
16774 pub const fn contains(&self, other: Self) -> bool {
16775 self.0 & other.0 == other.0
16776 }
16777}
16778impl ::core::ops::BitOr for D3D12_DRED_PAGE_FAULT_FLAGS {
16779 type Output = Self;
16780 fn bitor(self, other: Self) -> Self {
16781 Self(self.0 | other.0)
16782 }
16783}
16784impl ::core::ops::BitAnd for D3D12_DRED_PAGE_FAULT_FLAGS {
16785 type Output = Self;
16786 fn bitand(self, other: Self) -> Self {
16787 Self(self.0 & other.0)
16788 }
16789}
16790impl ::core::ops::BitOrAssign for D3D12_DRED_PAGE_FAULT_FLAGS {
16791 fn bitor_assign(&mut self, other: Self) {
16792 self.0.bitor_assign(other.0)
16793 }
16794}
16795impl ::core::ops::BitAndAssign for D3D12_DRED_PAGE_FAULT_FLAGS {
16796 fn bitand_assign(&mut self, other: Self) {
16797 self.0.bitand_assign(other.0)
16798 }
16799}
16800impl ::core::ops::Not for D3D12_DRED_PAGE_FAULT_FLAGS {
16801 type Output = Self;
16802 fn not(self) -> Self {
16803 Self(self.0.not())
16804 }
16805}
16806#[repr(transparent)]
16807#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16808pub struct D3D12_DRED_VERSION(pub i32);
16809impl ::core::marker::Copy for D3D12_DRED_VERSION {}
16810impl ::core::clone::Clone for D3D12_DRED_VERSION {
16811 fn clone(&self) -> Self {
16812 *self
16813 }
16814}
16815impl ::core::default::Default for D3D12_DRED_VERSION {
16816 fn default() -> Self {
16817 Self(0)
16818 }
16819}
16820impl ::windows_core::TypeKind for D3D12_DRED_VERSION {
16821 type TypeKind = ::windows_core::CopyType;
16822}
16823impl ::core::fmt::Debug for D3D12_DRED_VERSION {
16824 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16825 f.debug_tuple(name:"D3D12_DRED_VERSION").field(&self.0).finish()
16826 }
16827}
16828#[repr(transparent)]
16829#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16830pub struct D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS(pub i32);
16831impl ::core::marker::Copy for D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {}
16832impl ::core::clone::Clone for D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
16833 fn clone(&self) -> Self {
16834 *self
16835 }
16836}
16837impl ::core::default::Default for D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
16838 fn default() -> Self {
16839 Self(0)
16840 }
16841}
16842impl ::windows_core::TypeKind for D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
16843 type TypeKind = ::windows_core::CopyType;
16844}
16845impl ::core::fmt::Debug for D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
16846 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16847 f.debug_tuple(name:"D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS").field(&self.0).finish()
16848 }
16849}
16850#[repr(transparent)]
16851#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16852pub struct D3D12_DSV_DIMENSION(pub i32);
16853impl ::core::marker::Copy for D3D12_DSV_DIMENSION {}
16854impl ::core::clone::Clone for D3D12_DSV_DIMENSION {
16855 fn clone(&self) -> Self {
16856 *self
16857 }
16858}
16859impl ::core::default::Default for D3D12_DSV_DIMENSION {
16860 fn default() -> Self {
16861 Self(0)
16862 }
16863}
16864impl ::windows_core::TypeKind for D3D12_DSV_DIMENSION {
16865 type TypeKind = ::windows_core::CopyType;
16866}
16867impl ::core::fmt::Debug for D3D12_DSV_DIMENSION {
16868 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16869 f.debug_tuple(name:"D3D12_DSV_DIMENSION").field(&self.0).finish()
16870 }
16871}
16872#[repr(transparent)]
16873#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16874pub struct D3D12_DSV_FLAGS(pub i32);
16875impl ::core::marker::Copy for D3D12_DSV_FLAGS {}
16876impl ::core::clone::Clone for D3D12_DSV_FLAGS {
16877 fn clone(&self) -> Self {
16878 *self
16879 }
16880}
16881impl ::core::default::Default for D3D12_DSV_FLAGS {
16882 fn default() -> Self {
16883 Self(0)
16884 }
16885}
16886impl ::windows_core::TypeKind for D3D12_DSV_FLAGS {
16887 type TypeKind = ::windows_core::CopyType;
16888}
16889impl ::core::fmt::Debug for D3D12_DSV_FLAGS {
16890 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16891 f.debug_tuple(name:"D3D12_DSV_FLAGS").field(&self.0).finish()
16892 }
16893}
16894impl D3D12_DSV_FLAGS {
16895 pub const fn contains(&self, other: Self) -> bool {
16896 self.0 & other.0 == other.0
16897 }
16898}
16899impl ::core::ops::BitOr for D3D12_DSV_FLAGS {
16900 type Output = Self;
16901 fn bitor(self, other: Self) -> Self {
16902 Self(self.0 | other.0)
16903 }
16904}
16905impl ::core::ops::BitAnd for D3D12_DSV_FLAGS {
16906 type Output = Self;
16907 fn bitand(self, other: Self) -> Self {
16908 Self(self.0 & other.0)
16909 }
16910}
16911impl ::core::ops::BitOrAssign for D3D12_DSV_FLAGS {
16912 fn bitor_assign(&mut self, other: Self) {
16913 self.0.bitor_assign(other.0)
16914 }
16915}
16916impl ::core::ops::BitAndAssign for D3D12_DSV_FLAGS {
16917 fn bitand_assign(&mut self, other: Self) {
16918 self.0.bitand_assign(other.0)
16919 }
16920}
16921impl ::core::ops::Not for D3D12_DSV_FLAGS {
16922 type Output = Self;
16923 fn not(self) -> Self {
16924 Self(self.0.not())
16925 }
16926}
16927#[repr(transparent)]
16928#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16929pub struct D3D12_ELEMENTS_LAYOUT(pub i32);
16930impl ::core::marker::Copy for D3D12_ELEMENTS_LAYOUT {}
16931impl ::core::clone::Clone for D3D12_ELEMENTS_LAYOUT {
16932 fn clone(&self) -> Self {
16933 *self
16934 }
16935}
16936impl ::core::default::Default for D3D12_ELEMENTS_LAYOUT {
16937 fn default() -> Self {
16938 Self(0)
16939 }
16940}
16941impl ::windows_core::TypeKind for D3D12_ELEMENTS_LAYOUT {
16942 type TypeKind = ::windows_core::CopyType;
16943}
16944impl ::core::fmt::Debug for D3D12_ELEMENTS_LAYOUT {
16945 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16946 f.debug_tuple(name:"D3D12_ELEMENTS_LAYOUT").field(&self.0).finish()
16947 }
16948}
16949#[repr(transparent)]
16950#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
16951pub struct D3D12_EXPORT_FLAGS(pub i32);
16952impl ::core::marker::Copy for D3D12_EXPORT_FLAGS {}
16953impl ::core::clone::Clone for D3D12_EXPORT_FLAGS {
16954 fn clone(&self) -> Self {
16955 *self
16956 }
16957}
16958impl ::core::default::Default for D3D12_EXPORT_FLAGS {
16959 fn default() -> Self {
16960 Self(0)
16961 }
16962}
16963impl ::windows_core::TypeKind for D3D12_EXPORT_FLAGS {
16964 type TypeKind = ::windows_core::CopyType;
16965}
16966impl ::core::fmt::Debug for D3D12_EXPORT_FLAGS {
16967 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16968 f.debug_tuple(name:"D3D12_EXPORT_FLAGS").field(&self.0).finish()
16969 }
16970}
16971impl D3D12_EXPORT_FLAGS {
16972 pub const fn contains(&self, other: Self) -> bool {
16973 self.0 & other.0 == other.0
16974 }
16975}
16976impl ::core::ops::BitOr for D3D12_EXPORT_FLAGS {
16977 type Output = Self;
16978 fn bitor(self, other: Self) -> Self {
16979 Self(self.0 | other.0)
16980 }
16981}
16982impl ::core::ops::BitAnd for D3D12_EXPORT_FLAGS {
16983 type Output = Self;
16984 fn bitand(self, other: Self) -> Self {
16985 Self(self.0 & other.0)
16986 }
16987}
16988impl ::core::ops::BitOrAssign for D3D12_EXPORT_FLAGS {
16989 fn bitor_assign(&mut self, other: Self) {
16990 self.0.bitor_assign(other.0)
16991 }
16992}
16993impl ::core::ops::BitAndAssign for D3D12_EXPORT_FLAGS {
16994 fn bitand_assign(&mut self, other: Self) {
16995 self.0.bitand_assign(other.0)
16996 }
16997}
16998impl ::core::ops::Not for D3D12_EXPORT_FLAGS {
16999 type Output = Self;
17000 fn not(self) -> Self {
17001 Self(self.0.not())
17002 }
17003}
17004#[repr(transparent)]
17005#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17006pub struct D3D12_FEATURE(pub i32);
17007impl ::core::marker::Copy for D3D12_FEATURE {}
17008impl ::core::clone::Clone for D3D12_FEATURE {
17009 fn clone(&self) -> Self {
17010 *self
17011 }
17012}
17013impl ::core::default::Default for D3D12_FEATURE {
17014 fn default() -> Self {
17015 Self(0)
17016 }
17017}
17018impl ::windows_core::TypeKind for D3D12_FEATURE {
17019 type TypeKind = ::windows_core::CopyType;
17020}
17021impl ::core::fmt::Debug for D3D12_FEATURE {
17022 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17023 f.debug_tuple(name:"D3D12_FEATURE").field(&self.0).finish()
17024 }
17025}
17026#[repr(transparent)]
17027#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17028pub struct D3D12_FENCE_FLAGS(pub i32);
17029impl ::core::marker::Copy for D3D12_FENCE_FLAGS {}
17030impl ::core::clone::Clone for D3D12_FENCE_FLAGS {
17031 fn clone(&self) -> Self {
17032 *self
17033 }
17034}
17035impl ::core::default::Default for D3D12_FENCE_FLAGS {
17036 fn default() -> Self {
17037 Self(0)
17038 }
17039}
17040impl ::windows_core::TypeKind for D3D12_FENCE_FLAGS {
17041 type TypeKind = ::windows_core::CopyType;
17042}
17043impl ::core::fmt::Debug for D3D12_FENCE_FLAGS {
17044 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17045 f.debug_tuple(name:"D3D12_FENCE_FLAGS").field(&self.0).finish()
17046 }
17047}
17048impl D3D12_FENCE_FLAGS {
17049 pub const fn contains(&self, other: Self) -> bool {
17050 self.0 & other.0 == other.0
17051 }
17052}
17053impl ::core::ops::BitOr for D3D12_FENCE_FLAGS {
17054 type Output = Self;
17055 fn bitor(self, other: Self) -> Self {
17056 Self(self.0 | other.0)
17057 }
17058}
17059impl ::core::ops::BitAnd for D3D12_FENCE_FLAGS {
17060 type Output = Self;
17061 fn bitand(self, other: Self) -> Self {
17062 Self(self.0 & other.0)
17063 }
17064}
17065impl ::core::ops::BitOrAssign for D3D12_FENCE_FLAGS {
17066 fn bitor_assign(&mut self, other: Self) {
17067 self.0.bitor_assign(other.0)
17068 }
17069}
17070impl ::core::ops::BitAndAssign for D3D12_FENCE_FLAGS {
17071 fn bitand_assign(&mut self, other: Self) {
17072 self.0.bitand_assign(other.0)
17073 }
17074}
17075impl ::core::ops::Not for D3D12_FENCE_FLAGS {
17076 type Output = Self;
17077 fn not(self) -> Self {
17078 Self(self.0.not())
17079 }
17080}
17081#[repr(transparent)]
17082#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17083pub struct D3D12_FILL_MODE(pub i32);
17084impl ::core::marker::Copy for D3D12_FILL_MODE {}
17085impl ::core::clone::Clone for D3D12_FILL_MODE {
17086 fn clone(&self) -> Self {
17087 *self
17088 }
17089}
17090impl ::core::default::Default for D3D12_FILL_MODE {
17091 fn default() -> Self {
17092 Self(0)
17093 }
17094}
17095impl ::windows_core::TypeKind for D3D12_FILL_MODE {
17096 type TypeKind = ::windows_core::CopyType;
17097}
17098impl ::core::fmt::Debug for D3D12_FILL_MODE {
17099 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17100 f.debug_tuple(name:"D3D12_FILL_MODE").field(&self.0).finish()
17101 }
17102}
17103#[repr(transparent)]
17104#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17105pub struct D3D12_FILTER(pub i32);
17106impl ::core::marker::Copy for D3D12_FILTER {}
17107impl ::core::clone::Clone for D3D12_FILTER {
17108 fn clone(&self) -> Self {
17109 *self
17110 }
17111}
17112impl ::core::default::Default for D3D12_FILTER {
17113 fn default() -> Self {
17114 Self(0)
17115 }
17116}
17117impl ::windows_core::TypeKind for D3D12_FILTER {
17118 type TypeKind = ::windows_core::CopyType;
17119}
17120impl ::core::fmt::Debug for D3D12_FILTER {
17121 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17122 f.debug_tuple(name:"D3D12_FILTER").field(&self.0).finish()
17123 }
17124}
17125#[repr(transparent)]
17126#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17127pub struct D3D12_FILTER_REDUCTION_TYPE(pub i32);
17128impl ::core::marker::Copy for D3D12_FILTER_REDUCTION_TYPE {}
17129impl ::core::clone::Clone for D3D12_FILTER_REDUCTION_TYPE {
17130 fn clone(&self) -> Self {
17131 *self
17132 }
17133}
17134impl ::core::default::Default for D3D12_FILTER_REDUCTION_TYPE {
17135 fn default() -> Self {
17136 Self(0)
17137 }
17138}
17139impl ::windows_core::TypeKind for D3D12_FILTER_REDUCTION_TYPE {
17140 type TypeKind = ::windows_core::CopyType;
17141}
17142impl ::core::fmt::Debug for D3D12_FILTER_REDUCTION_TYPE {
17143 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17144 f.debug_tuple(name:"D3D12_FILTER_REDUCTION_TYPE").field(&self.0).finish()
17145 }
17146}
17147#[repr(transparent)]
17148#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17149pub struct D3D12_FILTER_TYPE(pub i32);
17150impl ::core::marker::Copy for D3D12_FILTER_TYPE {}
17151impl ::core::clone::Clone for D3D12_FILTER_TYPE {
17152 fn clone(&self) -> Self {
17153 *self
17154 }
17155}
17156impl ::core::default::Default for D3D12_FILTER_TYPE {
17157 fn default() -> Self {
17158 Self(0)
17159 }
17160}
17161impl ::windows_core::TypeKind for D3D12_FILTER_TYPE {
17162 type TypeKind = ::windows_core::CopyType;
17163}
17164impl ::core::fmt::Debug for D3D12_FILTER_TYPE {
17165 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17166 f.debug_tuple(name:"D3D12_FILTER_TYPE").field(&self.0).finish()
17167 }
17168}
17169#[repr(transparent)]
17170#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17171pub struct D3D12_FORMAT_SUPPORT1(pub i32);
17172impl ::core::marker::Copy for D3D12_FORMAT_SUPPORT1 {}
17173impl ::core::clone::Clone for D3D12_FORMAT_SUPPORT1 {
17174 fn clone(&self) -> Self {
17175 *self
17176 }
17177}
17178impl ::core::default::Default for D3D12_FORMAT_SUPPORT1 {
17179 fn default() -> Self {
17180 Self(0)
17181 }
17182}
17183impl ::windows_core::TypeKind for D3D12_FORMAT_SUPPORT1 {
17184 type TypeKind = ::windows_core::CopyType;
17185}
17186impl ::core::fmt::Debug for D3D12_FORMAT_SUPPORT1 {
17187 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17188 f.debug_tuple(name:"D3D12_FORMAT_SUPPORT1").field(&self.0).finish()
17189 }
17190}
17191impl D3D12_FORMAT_SUPPORT1 {
17192 pub const fn contains(&self, other: Self) -> bool {
17193 self.0 & other.0 == other.0
17194 }
17195}
17196impl ::core::ops::BitOr for D3D12_FORMAT_SUPPORT1 {
17197 type Output = Self;
17198 fn bitor(self, other: Self) -> Self {
17199 Self(self.0 | other.0)
17200 }
17201}
17202impl ::core::ops::BitAnd for D3D12_FORMAT_SUPPORT1 {
17203 type Output = Self;
17204 fn bitand(self, other: Self) -> Self {
17205 Self(self.0 & other.0)
17206 }
17207}
17208impl ::core::ops::BitOrAssign for D3D12_FORMAT_SUPPORT1 {
17209 fn bitor_assign(&mut self, other: Self) {
17210 self.0.bitor_assign(other.0)
17211 }
17212}
17213impl ::core::ops::BitAndAssign for D3D12_FORMAT_SUPPORT1 {
17214 fn bitand_assign(&mut self, other: Self) {
17215 self.0.bitand_assign(other.0)
17216 }
17217}
17218impl ::core::ops::Not for D3D12_FORMAT_SUPPORT1 {
17219 type Output = Self;
17220 fn not(self) -> Self {
17221 Self(self.0.not())
17222 }
17223}
17224#[repr(transparent)]
17225#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17226pub struct D3D12_FORMAT_SUPPORT2(pub i32);
17227impl ::core::marker::Copy for D3D12_FORMAT_SUPPORT2 {}
17228impl ::core::clone::Clone for D3D12_FORMAT_SUPPORT2 {
17229 fn clone(&self) -> Self {
17230 *self
17231 }
17232}
17233impl ::core::default::Default for D3D12_FORMAT_SUPPORT2 {
17234 fn default() -> Self {
17235 Self(0)
17236 }
17237}
17238impl ::windows_core::TypeKind for D3D12_FORMAT_SUPPORT2 {
17239 type TypeKind = ::windows_core::CopyType;
17240}
17241impl ::core::fmt::Debug for D3D12_FORMAT_SUPPORT2 {
17242 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17243 f.debug_tuple(name:"D3D12_FORMAT_SUPPORT2").field(&self.0).finish()
17244 }
17245}
17246impl D3D12_FORMAT_SUPPORT2 {
17247 pub const fn contains(&self, other: Self) -> bool {
17248 self.0 & other.0 == other.0
17249 }
17250}
17251impl ::core::ops::BitOr for D3D12_FORMAT_SUPPORT2 {
17252 type Output = Self;
17253 fn bitor(self, other: Self) -> Self {
17254 Self(self.0 | other.0)
17255 }
17256}
17257impl ::core::ops::BitAnd for D3D12_FORMAT_SUPPORT2 {
17258 type Output = Self;
17259 fn bitand(self, other: Self) -> Self {
17260 Self(self.0 & other.0)
17261 }
17262}
17263impl ::core::ops::BitOrAssign for D3D12_FORMAT_SUPPORT2 {
17264 fn bitor_assign(&mut self, other: Self) {
17265 self.0.bitor_assign(other.0)
17266 }
17267}
17268impl ::core::ops::BitAndAssign for D3D12_FORMAT_SUPPORT2 {
17269 fn bitand_assign(&mut self, other: Self) {
17270 self.0.bitand_assign(other.0)
17271 }
17272}
17273impl ::core::ops::Not for D3D12_FORMAT_SUPPORT2 {
17274 type Output = Self;
17275 fn not(self) -> Self {
17276 Self(self.0.not())
17277 }
17278}
17279#[repr(transparent)]
17280#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17281pub struct D3D12_GPU_BASED_VALIDATION_FLAGS(pub i32);
17282impl ::core::marker::Copy for D3D12_GPU_BASED_VALIDATION_FLAGS {}
17283impl ::core::clone::Clone for D3D12_GPU_BASED_VALIDATION_FLAGS {
17284 fn clone(&self) -> Self {
17285 *self
17286 }
17287}
17288impl ::core::default::Default for D3D12_GPU_BASED_VALIDATION_FLAGS {
17289 fn default() -> Self {
17290 Self(0)
17291 }
17292}
17293impl ::windows_core::TypeKind for D3D12_GPU_BASED_VALIDATION_FLAGS {
17294 type TypeKind = ::windows_core::CopyType;
17295}
17296impl ::core::fmt::Debug for D3D12_GPU_BASED_VALIDATION_FLAGS {
17297 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17298 f.debug_tuple(name:"D3D12_GPU_BASED_VALIDATION_FLAGS").field(&self.0).finish()
17299 }
17300}
17301impl D3D12_GPU_BASED_VALIDATION_FLAGS {
17302 pub const fn contains(&self, other: Self) -> bool {
17303 self.0 & other.0 == other.0
17304 }
17305}
17306impl ::core::ops::BitOr for D3D12_GPU_BASED_VALIDATION_FLAGS {
17307 type Output = Self;
17308 fn bitor(self, other: Self) -> Self {
17309 Self(self.0 | other.0)
17310 }
17311}
17312impl ::core::ops::BitAnd for D3D12_GPU_BASED_VALIDATION_FLAGS {
17313 type Output = Self;
17314 fn bitand(self, other: Self) -> Self {
17315 Self(self.0 & other.0)
17316 }
17317}
17318impl ::core::ops::BitOrAssign for D3D12_GPU_BASED_VALIDATION_FLAGS {
17319 fn bitor_assign(&mut self, other: Self) {
17320 self.0.bitor_assign(other.0)
17321 }
17322}
17323impl ::core::ops::BitAndAssign for D3D12_GPU_BASED_VALIDATION_FLAGS {
17324 fn bitand_assign(&mut self, other: Self) {
17325 self.0.bitand_assign(other.0)
17326 }
17327}
17328impl ::core::ops::Not for D3D12_GPU_BASED_VALIDATION_FLAGS {
17329 type Output = Self;
17330 fn not(self) -> Self {
17331 Self(self.0.not())
17332 }
17333}
17334#[repr(transparent)]
17335#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17336pub struct D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS(pub i32);
17337impl ::core::marker::Copy for D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS {}
17338impl ::core::clone::Clone for D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS {
17339 fn clone(&self) -> Self {
17340 *self
17341 }
17342}
17343impl ::core::default::Default for D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS {
17344 fn default() -> Self {
17345 Self(0)
17346 }
17347}
17348impl ::windows_core::TypeKind for D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS {
17349 type TypeKind = ::windows_core::CopyType;
17350}
17351impl ::core::fmt::Debug for D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS {
17352 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17353 f.debug_tuple(name:"D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS").field(&self.0).finish()
17354 }
17355}
17356impl D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS {
17357 pub const fn contains(&self, other: Self) -> bool {
17358 self.0 & other.0 == other.0
17359 }
17360}
17361impl ::core::ops::BitOr for D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS {
17362 type Output = Self;
17363 fn bitor(self, other: Self) -> Self {
17364 Self(self.0 | other.0)
17365 }
17366}
17367impl ::core::ops::BitAnd for D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS {
17368 type Output = Self;
17369 fn bitand(self, other: Self) -> Self {
17370 Self(self.0 & other.0)
17371 }
17372}
17373impl ::core::ops::BitOrAssign for D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS {
17374 fn bitor_assign(&mut self, other: Self) {
17375 self.0.bitor_assign(other.0)
17376 }
17377}
17378impl ::core::ops::BitAndAssign for D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS {
17379 fn bitand_assign(&mut self, other: Self) {
17380 self.0.bitand_assign(other.0)
17381 }
17382}
17383impl ::core::ops::Not for D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS {
17384 type Output = Self;
17385 fn not(self) -> Self {
17386 Self(self.0.not())
17387 }
17388}
17389#[repr(transparent)]
17390#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17391pub struct D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE(pub i32);
17392impl ::core::marker::Copy for D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE {}
17393impl ::core::clone::Clone for D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE {
17394 fn clone(&self) -> Self {
17395 *self
17396 }
17397}
17398impl ::core::default::Default for D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE {
17399 fn default() -> Self {
17400 Self(0)
17401 }
17402}
17403impl ::windows_core::TypeKind for D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE {
17404 type TypeKind = ::windows_core::CopyType;
17405}
17406impl ::core::fmt::Debug for D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE {
17407 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17408 f.debug_tuple(name:"D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE").field(&self.0).finish()
17409 }
17410}
17411#[repr(transparent)]
17412#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17413pub struct D3D12_GRAPHICS_STATES(pub i32);
17414impl ::core::marker::Copy for D3D12_GRAPHICS_STATES {}
17415impl ::core::clone::Clone for D3D12_GRAPHICS_STATES {
17416 fn clone(&self) -> Self {
17417 *self
17418 }
17419}
17420impl ::core::default::Default for D3D12_GRAPHICS_STATES {
17421 fn default() -> Self {
17422 Self(0)
17423 }
17424}
17425impl ::windows_core::TypeKind for D3D12_GRAPHICS_STATES {
17426 type TypeKind = ::windows_core::CopyType;
17427}
17428impl ::core::fmt::Debug for D3D12_GRAPHICS_STATES {
17429 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17430 f.debug_tuple(name:"D3D12_GRAPHICS_STATES").field(&self.0).finish()
17431 }
17432}
17433impl D3D12_GRAPHICS_STATES {
17434 pub const fn contains(&self, other: Self) -> bool {
17435 self.0 & other.0 == other.0
17436 }
17437}
17438impl ::core::ops::BitOr for D3D12_GRAPHICS_STATES {
17439 type Output = Self;
17440 fn bitor(self, other: Self) -> Self {
17441 Self(self.0 | other.0)
17442 }
17443}
17444impl ::core::ops::BitAnd for D3D12_GRAPHICS_STATES {
17445 type Output = Self;
17446 fn bitand(self, other: Self) -> Self {
17447 Self(self.0 & other.0)
17448 }
17449}
17450impl ::core::ops::BitOrAssign for D3D12_GRAPHICS_STATES {
17451 fn bitor_assign(&mut self, other: Self) {
17452 self.0.bitor_assign(other.0)
17453 }
17454}
17455impl ::core::ops::BitAndAssign for D3D12_GRAPHICS_STATES {
17456 fn bitand_assign(&mut self, other: Self) {
17457 self.0.bitand_assign(other.0)
17458 }
17459}
17460impl ::core::ops::Not for D3D12_GRAPHICS_STATES {
17461 type Output = Self;
17462 fn not(self) -> Self {
17463 Self(self.0.not())
17464 }
17465}
17466#[repr(transparent)]
17467#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17468pub struct D3D12_HEAP_FLAGS(pub i32);
17469impl ::core::marker::Copy for D3D12_HEAP_FLAGS {}
17470impl ::core::clone::Clone for D3D12_HEAP_FLAGS {
17471 fn clone(&self) -> Self {
17472 *self
17473 }
17474}
17475impl ::core::default::Default for D3D12_HEAP_FLAGS {
17476 fn default() -> Self {
17477 Self(0)
17478 }
17479}
17480impl ::windows_core::TypeKind for D3D12_HEAP_FLAGS {
17481 type TypeKind = ::windows_core::CopyType;
17482}
17483impl ::core::fmt::Debug for D3D12_HEAP_FLAGS {
17484 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17485 f.debug_tuple(name:"D3D12_HEAP_FLAGS").field(&self.0).finish()
17486 }
17487}
17488impl D3D12_HEAP_FLAGS {
17489 pub const fn contains(&self, other: Self) -> bool {
17490 self.0 & other.0 == other.0
17491 }
17492}
17493impl ::core::ops::BitOr for D3D12_HEAP_FLAGS {
17494 type Output = Self;
17495 fn bitor(self, other: Self) -> Self {
17496 Self(self.0 | other.0)
17497 }
17498}
17499impl ::core::ops::BitAnd for D3D12_HEAP_FLAGS {
17500 type Output = Self;
17501 fn bitand(self, other: Self) -> Self {
17502 Self(self.0 & other.0)
17503 }
17504}
17505impl ::core::ops::BitOrAssign for D3D12_HEAP_FLAGS {
17506 fn bitor_assign(&mut self, other: Self) {
17507 self.0.bitor_assign(other.0)
17508 }
17509}
17510impl ::core::ops::BitAndAssign for D3D12_HEAP_FLAGS {
17511 fn bitand_assign(&mut self, other: Self) {
17512 self.0.bitand_assign(other.0)
17513 }
17514}
17515impl ::core::ops::Not for D3D12_HEAP_FLAGS {
17516 type Output = Self;
17517 fn not(self) -> Self {
17518 Self(self.0.not())
17519 }
17520}
17521#[repr(transparent)]
17522#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17523pub struct D3D12_HEAP_SERIALIZATION_TIER(pub i32);
17524impl ::core::marker::Copy for D3D12_HEAP_SERIALIZATION_TIER {}
17525impl ::core::clone::Clone for D3D12_HEAP_SERIALIZATION_TIER {
17526 fn clone(&self) -> Self {
17527 *self
17528 }
17529}
17530impl ::core::default::Default for D3D12_HEAP_SERIALIZATION_TIER {
17531 fn default() -> Self {
17532 Self(0)
17533 }
17534}
17535impl ::windows_core::TypeKind for D3D12_HEAP_SERIALIZATION_TIER {
17536 type TypeKind = ::windows_core::CopyType;
17537}
17538impl ::core::fmt::Debug for D3D12_HEAP_SERIALIZATION_TIER {
17539 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17540 f.debug_tuple(name:"D3D12_HEAP_SERIALIZATION_TIER").field(&self.0).finish()
17541 }
17542}
17543#[repr(transparent)]
17544#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17545pub struct D3D12_HEAP_TYPE(pub i32);
17546impl ::core::marker::Copy for D3D12_HEAP_TYPE {}
17547impl ::core::clone::Clone for D3D12_HEAP_TYPE {
17548 fn clone(&self) -> Self {
17549 *self
17550 }
17551}
17552impl ::core::default::Default for D3D12_HEAP_TYPE {
17553 fn default() -> Self {
17554 Self(0)
17555 }
17556}
17557impl ::windows_core::TypeKind for D3D12_HEAP_TYPE {
17558 type TypeKind = ::windows_core::CopyType;
17559}
17560impl ::core::fmt::Debug for D3D12_HEAP_TYPE {
17561 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17562 f.debug_tuple(name:"D3D12_HEAP_TYPE").field(&self.0).finish()
17563 }
17564}
17565#[repr(transparent)]
17566#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17567pub struct D3D12_HIT_GROUP_TYPE(pub i32);
17568impl ::core::marker::Copy for D3D12_HIT_GROUP_TYPE {}
17569impl ::core::clone::Clone for D3D12_HIT_GROUP_TYPE {
17570 fn clone(&self) -> Self {
17571 *self
17572 }
17573}
17574impl ::core::default::Default for D3D12_HIT_GROUP_TYPE {
17575 fn default() -> Self {
17576 Self(0)
17577 }
17578}
17579impl ::windows_core::TypeKind for D3D12_HIT_GROUP_TYPE {
17580 type TypeKind = ::windows_core::CopyType;
17581}
17582impl ::core::fmt::Debug for D3D12_HIT_GROUP_TYPE {
17583 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17584 f.debug_tuple(name:"D3D12_HIT_GROUP_TYPE").field(&self.0).finish()
17585 }
17586}
17587#[repr(transparent)]
17588#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17589pub struct D3D12_HIT_KIND(pub i32);
17590impl ::core::marker::Copy for D3D12_HIT_KIND {}
17591impl ::core::clone::Clone for D3D12_HIT_KIND {
17592 fn clone(&self) -> Self {
17593 *self
17594 }
17595}
17596impl ::core::default::Default for D3D12_HIT_KIND {
17597 fn default() -> Self {
17598 Self(0)
17599 }
17600}
17601impl ::windows_core::TypeKind for D3D12_HIT_KIND {
17602 type TypeKind = ::windows_core::CopyType;
17603}
17604impl ::core::fmt::Debug for D3D12_HIT_KIND {
17605 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17606 f.debug_tuple(name:"D3D12_HIT_KIND").field(&self.0).finish()
17607 }
17608}
17609#[repr(transparent)]
17610#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17611pub struct D3D12_INDEX_BUFFER_STRIP_CUT_VALUE(pub i32);
17612impl ::core::marker::Copy for D3D12_INDEX_BUFFER_STRIP_CUT_VALUE {}
17613impl ::core::clone::Clone for D3D12_INDEX_BUFFER_STRIP_CUT_VALUE {
17614 fn clone(&self) -> Self {
17615 *self
17616 }
17617}
17618impl ::core::default::Default for D3D12_INDEX_BUFFER_STRIP_CUT_VALUE {
17619 fn default() -> Self {
17620 Self(0)
17621 }
17622}
17623impl ::windows_core::TypeKind for D3D12_INDEX_BUFFER_STRIP_CUT_VALUE {
17624 type TypeKind = ::windows_core::CopyType;
17625}
17626impl ::core::fmt::Debug for D3D12_INDEX_BUFFER_STRIP_CUT_VALUE {
17627 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17628 f.debug_tuple(name:"D3D12_INDEX_BUFFER_STRIP_CUT_VALUE").field(&self.0).finish()
17629 }
17630}
17631#[repr(transparent)]
17632#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17633pub struct D3D12_INDIRECT_ARGUMENT_TYPE(pub i32);
17634impl ::core::marker::Copy for D3D12_INDIRECT_ARGUMENT_TYPE {}
17635impl ::core::clone::Clone for D3D12_INDIRECT_ARGUMENT_TYPE {
17636 fn clone(&self) -> Self {
17637 *self
17638 }
17639}
17640impl ::core::default::Default for D3D12_INDIRECT_ARGUMENT_TYPE {
17641 fn default() -> Self {
17642 Self(0)
17643 }
17644}
17645impl ::windows_core::TypeKind for D3D12_INDIRECT_ARGUMENT_TYPE {
17646 type TypeKind = ::windows_core::CopyType;
17647}
17648impl ::core::fmt::Debug for D3D12_INDIRECT_ARGUMENT_TYPE {
17649 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17650 f.debug_tuple(name:"D3D12_INDIRECT_ARGUMENT_TYPE").field(&self.0).finish()
17651 }
17652}
17653#[repr(transparent)]
17654#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17655pub struct D3D12_INPUT_CLASSIFICATION(pub i32);
17656impl ::core::marker::Copy for D3D12_INPUT_CLASSIFICATION {}
17657impl ::core::clone::Clone for D3D12_INPUT_CLASSIFICATION {
17658 fn clone(&self) -> Self {
17659 *self
17660 }
17661}
17662impl ::core::default::Default for D3D12_INPUT_CLASSIFICATION {
17663 fn default() -> Self {
17664 Self(0)
17665 }
17666}
17667impl ::windows_core::TypeKind for D3D12_INPUT_CLASSIFICATION {
17668 type TypeKind = ::windows_core::CopyType;
17669}
17670impl ::core::fmt::Debug for D3D12_INPUT_CLASSIFICATION {
17671 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17672 f.debug_tuple(name:"D3D12_INPUT_CLASSIFICATION").field(&self.0).finish()
17673 }
17674}
17675#[repr(transparent)]
17676#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17677pub struct D3D12_LIFETIME_STATE(pub i32);
17678impl ::core::marker::Copy for D3D12_LIFETIME_STATE {}
17679impl ::core::clone::Clone for D3D12_LIFETIME_STATE {
17680 fn clone(&self) -> Self {
17681 *self
17682 }
17683}
17684impl ::core::default::Default for D3D12_LIFETIME_STATE {
17685 fn default() -> Self {
17686 Self(0)
17687 }
17688}
17689impl ::windows_core::TypeKind for D3D12_LIFETIME_STATE {
17690 type TypeKind = ::windows_core::CopyType;
17691}
17692impl ::core::fmt::Debug for D3D12_LIFETIME_STATE {
17693 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17694 f.debug_tuple(name:"D3D12_LIFETIME_STATE").field(&self.0).finish()
17695 }
17696}
17697#[repr(transparent)]
17698#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17699pub struct D3D12_LINE_RASTERIZATION_MODE(pub i32);
17700impl ::core::marker::Copy for D3D12_LINE_RASTERIZATION_MODE {}
17701impl ::core::clone::Clone for D3D12_LINE_RASTERIZATION_MODE {
17702 fn clone(&self) -> Self {
17703 *self
17704 }
17705}
17706impl ::core::default::Default for D3D12_LINE_RASTERIZATION_MODE {
17707 fn default() -> Self {
17708 Self(0)
17709 }
17710}
17711impl ::windows_core::TypeKind for D3D12_LINE_RASTERIZATION_MODE {
17712 type TypeKind = ::windows_core::CopyType;
17713}
17714impl ::core::fmt::Debug for D3D12_LINE_RASTERIZATION_MODE {
17715 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17716 f.debug_tuple(name:"D3D12_LINE_RASTERIZATION_MODE").field(&self.0).finish()
17717 }
17718}
17719#[repr(transparent)]
17720#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17721pub struct D3D12_LOGIC_OP(pub i32);
17722impl ::core::marker::Copy for D3D12_LOGIC_OP {}
17723impl ::core::clone::Clone for D3D12_LOGIC_OP {
17724 fn clone(&self) -> Self {
17725 *self
17726 }
17727}
17728impl ::core::default::Default for D3D12_LOGIC_OP {
17729 fn default() -> Self {
17730 Self(0)
17731 }
17732}
17733impl ::windows_core::TypeKind for D3D12_LOGIC_OP {
17734 type TypeKind = ::windows_core::CopyType;
17735}
17736impl ::core::fmt::Debug for D3D12_LOGIC_OP {
17737 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17738 f.debug_tuple(name:"D3D12_LOGIC_OP").field(&self.0).finish()
17739 }
17740}
17741#[repr(transparent)]
17742#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17743pub struct D3D12_MEASUREMENTS_ACTION(pub i32);
17744impl ::core::marker::Copy for D3D12_MEASUREMENTS_ACTION {}
17745impl ::core::clone::Clone for D3D12_MEASUREMENTS_ACTION {
17746 fn clone(&self) -> Self {
17747 *self
17748 }
17749}
17750impl ::core::default::Default for D3D12_MEASUREMENTS_ACTION {
17751 fn default() -> Self {
17752 Self(0)
17753 }
17754}
17755impl ::windows_core::TypeKind for D3D12_MEASUREMENTS_ACTION {
17756 type TypeKind = ::windows_core::CopyType;
17757}
17758impl ::core::fmt::Debug for D3D12_MEASUREMENTS_ACTION {
17759 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17760 f.debug_tuple(name:"D3D12_MEASUREMENTS_ACTION").field(&self.0).finish()
17761 }
17762}
17763#[repr(transparent)]
17764#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17765pub struct D3D12_MEMORY_POOL(pub i32);
17766impl ::core::marker::Copy for D3D12_MEMORY_POOL {}
17767impl ::core::clone::Clone for D3D12_MEMORY_POOL {
17768 fn clone(&self) -> Self {
17769 *self
17770 }
17771}
17772impl ::core::default::Default for D3D12_MEMORY_POOL {
17773 fn default() -> Self {
17774 Self(0)
17775 }
17776}
17777impl ::windows_core::TypeKind for D3D12_MEMORY_POOL {
17778 type TypeKind = ::windows_core::CopyType;
17779}
17780impl ::core::fmt::Debug for D3D12_MEMORY_POOL {
17781 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17782 f.debug_tuple(name:"D3D12_MEMORY_POOL").field(&self.0).finish()
17783 }
17784}
17785#[repr(transparent)]
17786#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17787pub struct D3D12_MESH_SHADER_TIER(pub i32);
17788impl ::core::marker::Copy for D3D12_MESH_SHADER_TIER {}
17789impl ::core::clone::Clone for D3D12_MESH_SHADER_TIER {
17790 fn clone(&self) -> Self {
17791 *self
17792 }
17793}
17794impl ::core::default::Default for D3D12_MESH_SHADER_TIER {
17795 fn default() -> Self {
17796 Self(0)
17797 }
17798}
17799impl ::windows_core::TypeKind for D3D12_MESH_SHADER_TIER {
17800 type TypeKind = ::windows_core::CopyType;
17801}
17802impl ::core::fmt::Debug for D3D12_MESH_SHADER_TIER {
17803 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17804 f.debug_tuple(name:"D3D12_MESH_SHADER_TIER").field(&self.0).finish()
17805 }
17806}
17807#[repr(transparent)]
17808#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17809pub struct D3D12_MESSAGE_CALLBACK_FLAGS(pub i32);
17810impl ::core::marker::Copy for D3D12_MESSAGE_CALLBACK_FLAGS {}
17811impl ::core::clone::Clone for D3D12_MESSAGE_CALLBACK_FLAGS {
17812 fn clone(&self) -> Self {
17813 *self
17814 }
17815}
17816impl ::core::default::Default for D3D12_MESSAGE_CALLBACK_FLAGS {
17817 fn default() -> Self {
17818 Self(0)
17819 }
17820}
17821impl ::windows_core::TypeKind for D3D12_MESSAGE_CALLBACK_FLAGS {
17822 type TypeKind = ::windows_core::CopyType;
17823}
17824impl ::core::fmt::Debug for D3D12_MESSAGE_CALLBACK_FLAGS {
17825 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17826 f.debug_tuple(name:"D3D12_MESSAGE_CALLBACK_FLAGS").field(&self.0).finish()
17827 }
17828}
17829impl D3D12_MESSAGE_CALLBACK_FLAGS {
17830 pub const fn contains(&self, other: Self) -> bool {
17831 self.0 & other.0 == other.0
17832 }
17833}
17834impl ::core::ops::BitOr for D3D12_MESSAGE_CALLBACK_FLAGS {
17835 type Output = Self;
17836 fn bitor(self, other: Self) -> Self {
17837 Self(self.0 | other.0)
17838 }
17839}
17840impl ::core::ops::BitAnd for D3D12_MESSAGE_CALLBACK_FLAGS {
17841 type Output = Self;
17842 fn bitand(self, other: Self) -> Self {
17843 Self(self.0 & other.0)
17844 }
17845}
17846impl ::core::ops::BitOrAssign for D3D12_MESSAGE_CALLBACK_FLAGS {
17847 fn bitor_assign(&mut self, other: Self) {
17848 self.0.bitor_assign(other.0)
17849 }
17850}
17851impl ::core::ops::BitAndAssign for D3D12_MESSAGE_CALLBACK_FLAGS {
17852 fn bitand_assign(&mut self, other: Self) {
17853 self.0.bitand_assign(other.0)
17854 }
17855}
17856impl ::core::ops::Not for D3D12_MESSAGE_CALLBACK_FLAGS {
17857 type Output = Self;
17858 fn not(self) -> Self {
17859 Self(self.0.not())
17860 }
17861}
17862#[repr(transparent)]
17863#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17864pub struct D3D12_MESSAGE_CATEGORY(pub i32);
17865impl ::core::marker::Copy for D3D12_MESSAGE_CATEGORY {}
17866impl ::core::clone::Clone for D3D12_MESSAGE_CATEGORY {
17867 fn clone(&self) -> Self {
17868 *self
17869 }
17870}
17871impl ::core::default::Default for D3D12_MESSAGE_CATEGORY {
17872 fn default() -> Self {
17873 Self(0)
17874 }
17875}
17876impl ::windows_core::TypeKind for D3D12_MESSAGE_CATEGORY {
17877 type TypeKind = ::windows_core::CopyType;
17878}
17879impl ::core::fmt::Debug for D3D12_MESSAGE_CATEGORY {
17880 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17881 f.debug_tuple(name:"D3D12_MESSAGE_CATEGORY").field(&self.0).finish()
17882 }
17883}
17884#[repr(transparent)]
17885#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17886pub struct D3D12_MESSAGE_ID(pub i32);
17887impl ::core::marker::Copy for D3D12_MESSAGE_ID {}
17888impl ::core::clone::Clone for D3D12_MESSAGE_ID {
17889 fn clone(&self) -> Self {
17890 *self
17891 }
17892}
17893impl ::core::default::Default for D3D12_MESSAGE_ID {
17894 fn default() -> Self {
17895 Self(0)
17896 }
17897}
17898impl ::windows_core::TypeKind for D3D12_MESSAGE_ID {
17899 type TypeKind = ::windows_core::CopyType;
17900}
17901impl ::core::fmt::Debug for D3D12_MESSAGE_ID {
17902 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17903 f.debug_tuple(name:"D3D12_MESSAGE_ID").field(&self.0).finish()
17904 }
17905}
17906#[repr(transparent)]
17907#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17908pub struct D3D12_MESSAGE_SEVERITY(pub i32);
17909impl ::core::marker::Copy for D3D12_MESSAGE_SEVERITY {}
17910impl ::core::clone::Clone for D3D12_MESSAGE_SEVERITY {
17911 fn clone(&self) -> Self {
17912 *self
17913 }
17914}
17915impl ::core::default::Default for D3D12_MESSAGE_SEVERITY {
17916 fn default() -> Self {
17917 Self(0)
17918 }
17919}
17920impl ::windows_core::TypeKind for D3D12_MESSAGE_SEVERITY {
17921 type TypeKind = ::windows_core::CopyType;
17922}
17923impl ::core::fmt::Debug for D3D12_MESSAGE_SEVERITY {
17924 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17925 f.debug_tuple(name:"D3D12_MESSAGE_SEVERITY").field(&self.0).finish()
17926 }
17927}
17928#[repr(transparent)]
17929#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17930pub struct D3D12_META_COMMAND_PARAMETER_FLAGS(pub i32);
17931impl ::core::marker::Copy for D3D12_META_COMMAND_PARAMETER_FLAGS {}
17932impl ::core::clone::Clone for D3D12_META_COMMAND_PARAMETER_FLAGS {
17933 fn clone(&self) -> Self {
17934 *self
17935 }
17936}
17937impl ::core::default::Default for D3D12_META_COMMAND_PARAMETER_FLAGS {
17938 fn default() -> Self {
17939 Self(0)
17940 }
17941}
17942impl ::windows_core::TypeKind for D3D12_META_COMMAND_PARAMETER_FLAGS {
17943 type TypeKind = ::windows_core::CopyType;
17944}
17945impl ::core::fmt::Debug for D3D12_META_COMMAND_PARAMETER_FLAGS {
17946 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
17947 f.debug_tuple(name:"D3D12_META_COMMAND_PARAMETER_FLAGS").field(&self.0).finish()
17948 }
17949}
17950impl D3D12_META_COMMAND_PARAMETER_FLAGS {
17951 pub const fn contains(&self, other: Self) -> bool {
17952 self.0 & other.0 == other.0
17953 }
17954}
17955impl ::core::ops::BitOr for D3D12_META_COMMAND_PARAMETER_FLAGS {
17956 type Output = Self;
17957 fn bitor(self, other: Self) -> Self {
17958 Self(self.0 | other.0)
17959 }
17960}
17961impl ::core::ops::BitAnd for D3D12_META_COMMAND_PARAMETER_FLAGS {
17962 type Output = Self;
17963 fn bitand(self, other: Self) -> Self {
17964 Self(self.0 & other.0)
17965 }
17966}
17967impl ::core::ops::BitOrAssign for D3D12_META_COMMAND_PARAMETER_FLAGS {
17968 fn bitor_assign(&mut self, other: Self) {
17969 self.0.bitor_assign(other.0)
17970 }
17971}
17972impl ::core::ops::BitAndAssign for D3D12_META_COMMAND_PARAMETER_FLAGS {
17973 fn bitand_assign(&mut self, other: Self) {
17974 self.0.bitand_assign(other.0)
17975 }
17976}
17977impl ::core::ops::Not for D3D12_META_COMMAND_PARAMETER_FLAGS {
17978 type Output = Self;
17979 fn not(self) -> Self {
17980 Self(self.0.not())
17981 }
17982}
17983#[repr(transparent)]
17984#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
17985pub struct D3D12_META_COMMAND_PARAMETER_STAGE(pub i32);
17986impl ::core::marker::Copy for D3D12_META_COMMAND_PARAMETER_STAGE {}
17987impl ::core::clone::Clone for D3D12_META_COMMAND_PARAMETER_STAGE {
17988 fn clone(&self) -> Self {
17989 *self
17990 }
17991}
17992impl ::core::default::Default for D3D12_META_COMMAND_PARAMETER_STAGE {
17993 fn default() -> Self {
17994 Self(0)
17995 }
17996}
17997impl ::windows_core::TypeKind for D3D12_META_COMMAND_PARAMETER_STAGE {
17998 type TypeKind = ::windows_core::CopyType;
17999}
18000impl ::core::fmt::Debug for D3D12_META_COMMAND_PARAMETER_STAGE {
18001 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18002 f.debug_tuple(name:"D3D12_META_COMMAND_PARAMETER_STAGE").field(&self.0).finish()
18003 }
18004}
18005#[repr(transparent)]
18006#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18007pub struct D3D12_META_COMMAND_PARAMETER_TYPE(pub i32);
18008impl ::core::marker::Copy for D3D12_META_COMMAND_PARAMETER_TYPE {}
18009impl ::core::clone::Clone for D3D12_META_COMMAND_PARAMETER_TYPE {
18010 fn clone(&self) -> Self {
18011 *self
18012 }
18013}
18014impl ::core::default::Default for D3D12_META_COMMAND_PARAMETER_TYPE {
18015 fn default() -> Self {
18016 Self(0)
18017 }
18018}
18019impl ::windows_core::TypeKind for D3D12_META_COMMAND_PARAMETER_TYPE {
18020 type TypeKind = ::windows_core::CopyType;
18021}
18022impl ::core::fmt::Debug for D3D12_META_COMMAND_PARAMETER_TYPE {
18023 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18024 f.debug_tuple(name:"D3D12_META_COMMAND_PARAMETER_TYPE").field(&self.0).finish()
18025 }
18026}
18027#[repr(transparent)]
18028#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18029pub struct D3D12_MULTIPLE_FENCE_WAIT_FLAGS(pub i32);
18030impl ::core::marker::Copy for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {}
18031impl ::core::clone::Clone for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
18032 fn clone(&self) -> Self {
18033 *self
18034 }
18035}
18036impl ::core::default::Default for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
18037 fn default() -> Self {
18038 Self(0)
18039 }
18040}
18041impl ::windows_core::TypeKind for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
18042 type TypeKind = ::windows_core::CopyType;
18043}
18044impl ::core::fmt::Debug for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
18045 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18046 f.debug_tuple(name:"D3D12_MULTIPLE_FENCE_WAIT_FLAGS").field(&self.0).finish()
18047 }
18048}
18049impl D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
18050 pub const fn contains(&self, other: Self) -> bool {
18051 self.0 & other.0 == other.0
18052 }
18053}
18054impl ::core::ops::BitOr for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
18055 type Output = Self;
18056 fn bitor(self, other: Self) -> Self {
18057 Self(self.0 | other.0)
18058 }
18059}
18060impl ::core::ops::BitAnd for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
18061 type Output = Self;
18062 fn bitand(self, other: Self) -> Self {
18063 Self(self.0 & other.0)
18064 }
18065}
18066impl ::core::ops::BitOrAssign for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
18067 fn bitor_assign(&mut self, other: Self) {
18068 self.0.bitor_assign(other.0)
18069 }
18070}
18071impl ::core::ops::BitAndAssign for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
18072 fn bitand_assign(&mut self, other: Self) {
18073 self.0.bitand_assign(other.0)
18074 }
18075}
18076impl ::core::ops::Not for D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
18077 type Output = Self;
18078 fn not(self) -> Self {
18079 Self(self.0.not())
18080 }
18081}
18082#[repr(transparent)]
18083#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18084pub struct D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS(pub i32);
18085impl ::core::marker::Copy for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {}
18086impl ::core::clone::Clone for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
18087 fn clone(&self) -> Self {
18088 *self
18089 }
18090}
18091impl ::core::default::Default for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
18092 fn default() -> Self {
18093 Self(0)
18094 }
18095}
18096impl ::windows_core::TypeKind for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
18097 type TypeKind = ::windows_core::CopyType;
18098}
18099impl ::core::fmt::Debug for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
18100 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18101 f.debug_tuple(name:"D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS").field(&self.0).finish()
18102 }
18103}
18104impl D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
18105 pub const fn contains(&self, other: Self) -> bool {
18106 self.0 & other.0 == other.0
18107 }
18108}
18109impl ::core::ops::BitOr for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
18110 type Output = Self;
18111 fn bitor(self, other: Self) -> Self {
18112 Self(self.0 | other.0)
18113 }
18114}
18115impl ::core::ops::BitAnd for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
18116 type Output = Self;
18117 fn bitand(self, other: Self) -> Self {
18118 Self(self.0 & other.0)
18119 }
18120}
18121impl ::core::ops::BitOrAssign for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
18122 fn bitor_assign(&mut self, other: Self) {
18123 self.0.bitor_assign(other.0)
18124 }
18125}
18126impl ::core::ops::BitAndAssign for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
18127 fn bitand_assign(&mut self, other: Self) {
18128 self.0.bitand_assign(other.0)
18129 }
18130}
18131impl ::core::ops::Not for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
18132 type Output = Self;
18133 fn not(self) -> Self {
18134 Self(self.0.not())
18135 }
18136}
18137#[repr(transparent)]
18138#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18139pub struct D3D12_PIPELINE_STATE_FLAGS(pub i32);
18140impl ::core::marker::Copy for D3D12_PIPELINE_STATE_FLAGS {}
18141impl ::core::clone::Clone for D3D12_PIPELINE_STATE_FLAGS {
18142 fn clone(&self) -> Self {
18143 *self
18144 }
18145}
18146impl ::core::default::Default for D3D12_PIPELINE_STATE_FLAGS {
18147 fn default() -> Self {
18148 Self(0)
18149 }
18150}
18151impl ::windows_core::TypeKind for D3D12_PIPELINE_STATE_FLAGS {
18152 type TypeKind = ::windows_core::CopyType;
18153}
18154impl ::core::fmt::Debug for D3D12_PIPELINE_STATE_FLAGS {
18155 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18156 f.debug_tuple(name:"D3D12_PIPELINE_STATE_FLAGS").field(&self.0).finish()
18157 }
18158}
18159impl D3D12_PIPELINE_STATE_FLAGS {
18160 pub const fn contains(&self, other: Self) -> bool {
18161 self.0 & other.0 == other.0
18162 }
18163}
18164impl ::core::ops::BitOr for D3D12_PIPELINE_STATE_FLAGS {
18165 type Output = Self;
18166 fn bitor(self, other: Self) -> Self {
18167 Self(self.0 | other.0)
18168 }
18169}
18170impl ::core::ops::BitAnd for D3D12_PIPELINE_STATE_FLAGS {
18171 type Output = Self;
18172 fn bitand(self, other: Self) -> Self {
18173 Self(self.0 & other.0)
18174 }
18175}
18176impl ::core::ops::BitOrAssign for D3D12_PIPELINE_STATE_FLAGS {
18177 fn bitor_assign(&mut self, other: Self) {
18178 self.0.bitor_assign(other.0)
18179 }
18180}
18181impl ::core::ops::BitAndAssign for D3D12_PIPELINE_STATE_FLAGS {
18182 fn bitand_assign(&mut self, other: Self) {
18183 self.0.bitand_assign(other.0)
18184 }
18185}
18186impl ::core::ops::Not for D3D12_PIPELINE_STATE_FLAGS {
18187 type Output = Self;
18188 fn not(self) -> Self {
18189 Self(self.0.not())
18190 }
18191}
18192#[repr(transparent)]
18193#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18194pub struct D3D12_PIPELINE_STATE_SUBOBJECT_TYPE(pub i32);
18195impl ::core::marker::Copy for D3D12_PIPELINE_STATE_SUBOBJECT_TYPE {}
18196impl ::core::clone::Clone for D3D12_PIPELINE_STATE_SUBOBJECT_TYPE {
18197 fn clone(&self) -> Self {
18198 *self
18199 }
18200}
18201impl ::core::default::Default for D3D12_PIPELINE_STATE_SUBOBJECT_TYPE {
18202 fn default() -> Self {
18203 Self(0)
18204 }
18205}
18206impl ::windows_core::TypeKind for D3D12_PIPELINE_STATE_SUBOBJECT_TYPE {
18207 type TypeKind = ::windows_core::CopyType;
18208}
18209impl ::core::fmt::Debug for D3D12_PIPELINE_STATE_SUBOBJECT_TYPE {
18210 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18211 f.debug_tuple(name:"D3D12_PIPELINE_STATE_SUBOBJECT_TYPE").field(&self.0).finish()
18212 }
18213}
18214#[repr(transparent)]
18215#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18216pub struct D3D12_PREDICATION_OP(pub i32);
18217impl ::core::marker::Copy for D3D12_PREDICATION_OP {}
18218impl ::core::clone::Clone for D3D12_PREDICATION_OP {
18219 fn clone(&self) -> Self {
18220 *self
18221 }
18222}
18223impl ::core::default::Default for D3D12_PREDICATION_OP {
18224 fn default() -> Self {
18225 Self(0)
18226 }
18227}
18228impl ::windows_core::TypeKind for D3D12_PREDICATION_OP {
18229 type TypeKind = ::windows_core::CopyType;
18230}
18231impl ::core::fmt::Debug for D3D12_PREDICATION_OP {
18232 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18233 f.debug_tuple(name:"D3D12_PREDICATION_OP").field(&self.0).finish()
18234 }
18235}
18236#[repr(transparent)]
18237#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18238pub struct D3D12_PRIMITIVE_TOPOLOGY_TYPE(pub i32);
18239impl ::core::marker::Copy for D3D12_PRIMITIVE_TOPOLOGY_TYPE {}
18240impl ::core::clone::Clone for D3D12_PRIMITIVE_TOPOLOGY_TYPE {
18241 fn clone(&self) -> Self {
18242 *self
18243 }
18244}
18245impl ::core::default::Default for D3D12_PRIMITIVE_TOPOLOGY_TYPE {
18246 fn default() -> Self {
18247 Self(0)
18248 }
18249}
18250impl ::windows_core::TypeKind for D3D12_PRIMITIVE_TOPOLOGY_TYPE {
18251 type TypeKind = ::windows_core::CopyType;
18252}
18253impl ::core::fmt::Debug for D3D12_PRIMITIVE_TOPOLOGY_TYPE {
18254 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18255 f.debug_tuple(name:"D3D12_PRIMITIVE_TOPOLOGY_TYPE").field(&self.0).finish()
18256 }
18257}
18258#[repr(transparent)]
18259#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18260pub struct D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER(pub i32);
18261impl ::core::marker::Copy for D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER {}
18262impl ::core::clone::Clone for D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER {
18263 fn clone(&self) -> Self {
18264 *self
18265 }
18266}
18267impl ::core::default::Default for D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER {
18268 fn default() -> Self {
18269 Self(0)
18270 }
18271}
18272impl ::windows_core::TypeKind for D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER {
18273 type TypeKind = ::windows_core::CopyType;
18274}
18275impl ::core::fmt::Debug for D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER {
18276 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18277 f.debug_tuple(name:"D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER").field(&self.0).finish()
18278 }
18279}
18280#[repr(transparent)]
18281#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18282pub struct D3D12_PROTECTED_RESOURCE_SESSION_FLAGS(pub i32);
18283impl ::core::marker::Copy for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {}
18284impl ::core::clone::Clone for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
18285 fn clone(&self) -> Self {
18286 *self
18287 }
18288}
18289impl ::core::default::Default for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
18290 fn default() -> Self {
18291 Self(0)
18292 }
18293}
18294impl ::windows_core::TypeKind for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
18295 type TypeKind = ::windows_core::CopyType;
18296}
18297impl ::core::fmt::Debug for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
18298 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18299 f.debug_tuple(name:"D3D12_PROTECTED_RESOURCE_SESSION_FLAGS").field(&self.0).finish()
18300 }
18301}
18302impl D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
18303 pub const fn contains(&self, other: Self) -> bool {
18304 self.0 & other.0 == other.0
18305 }
18306}
18307impl ::core::ops::BitOr for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
18308 type Output = Self;
18309 fn bitor(self, other: Self) -> Self {
18310 Self(self.0 | other.0)
18311 }
18312}
18313impl ::core::ops::BitAnd for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
18314 type Output = Self;
18315 fn bitand(self, other: Self) -> Self {
18316 Self(self.0 & other.0)
18317 }
18318}
18319impl ::core::ops::BitOrAssign for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
18320 fn bitor_assign(&mut self, other: Self) {
18321 self.0.bitor_assign(other.0)
18322 }
18323}
18324impl ::core::ops::BitAndAssign for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
18325 fn bitand_assign(&mut self, other: Self) {
18326 self.0.bitand_assign(other.0)
18327 }
18328}
18329impl ::core::ops::Not for D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
18330 type Output = Self;
18331 fn not(self) -> Self {
18332 Self(self.0.not())
18333 }
18334}
18335#[repr(transparent)]
18336#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18337pub struct D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS(pub i32);
18338impl ::core::marker::Copy for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {}
18339impl ::core::clone::Clone for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
18340 fn clone(&self) -> Self {
18341 *self
18342 }
18343}
18344impl ::core::default::Default for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
18345 fn default() -> Self {
18346 Self(0)
18347 }
18348}
18349impl ::windows_core::TypeKind for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
18350 type TypeKind = ::windows_core::CopyType;
18351}
18352impl ::core::fmt::Debug for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
18353 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18354 f.debug_tuple(name:"D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS").field(&self.0).finish()
18355 }
18356}
18357impl D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
18358 pub const fn contains(&self, other: Self) -> bool {
18359 self.0 & other.0 == other.0
18360 }
18361}
18362impl ::core::ops::BitOr for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
18363 type Output = Self;
18364 fn bitor(self, other: Self) -> Self {
18365 Self(self.0 | other.0)
18366 }
18367}
18368impl ::core::ops::BitAnd for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
18369 type Output = Self;
18370 fn bitand(self, other: Self) -> Self {
18371 Self(self.0 & other.0)
18372 }
18373}
18374impl ::core::ops::BitOrAssign for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
18375 fn bitor_assign(&mut self, other: Self) {
18376 self.0.bitor_assign(other.0)
18377 }
18378}
18379impl ::core::ops::BitAndAssign for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
18380 fn bitand_assign(&mut self, other: Self) {
18381 self.0.bitand_assign(other.0)
18382 }
18383}
18384impl ::core::ops::Not for D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
18385 type Output = Self;
18386 fn not(self) -> Self {
18387 Self(self.0.not())
18388 }
18389}
18390#[repr(transparent)]
18391#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18392pub struct D3D12_PROTECTED_SESSION_STATUS(pub i32);
18393impl ::core::marker::Copy for D3D12_PROTECTED_SESSION_STATUS {}
18394impl ::core::clone::Clone for D3D12_PROTECTED_SESSION_STATUS {
18395 fn clone(&self) -> Self {
18396 *self
18397 }
18398}
18399impl ::core::default::Default for D3D12_PROTECTED_SESSION_STATUS {
18400 fn default() -> Self {
18401 Self(0)
18402 }
18403}
18404impl ::windows_core::TypeKind for D3D12_PROTECTED_SESSION_STATUS {
18405 type TypeKind = ::windows_core::CopyType;
18406}
18407impl ::core::fmt::Debug for D3D12_PROTECTED_SESSION_STATUS {
18408 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18409 f.debug_tuple(name:"D3D12_PROTECTED_SESSION_STATUS").field(&self.0).finish()
18410 }
18411}
18412#[repr(transparent)]
18413#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18414pub struct D3D12_QUERY_HEAP_TYPE(pub i32);
18415impl ::core::marker::Copy for D3D12_QUERY_HEAP_TYPE {}
18416impl ::core::clone::Clone for D3D12_QUERY_HEAP_TYPE {
18417 fn clone(&self) -> Self {
18418 *self
18419 }
18420}
18421impl ::core::default::Default for D3D12_QUERY_HEAP_TYPE {
18422 fn default() -> Self {
18423 Self(0)
18424 }
18425}
18426impl ::windows_core::TypeKind for D3D12_QUERY_HEAP_TYPE {
18427 type TypeKind = ::windows_core::CopyType;
18428}
18429impl ::core::fmt::Debug for D3D12_QUERY_HEAP_TYPE {
18430 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18431 f.debug_tuple(name:"D3D12_QUERY_HEAP_TYPE").field(&self.0).finish()
18432 }
18433}
18434#[repr(transparent)]
18435#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18436pub struct D3D12_QUERY_TYPE(pub i32);
18437impl ::core::marker::Copy for D3D12_QUERY_TYPE {}
18438impl ::core::clone::Clone for D3D12_QUERY_TYPE {
18439 fn clone(&self) -> Self {
18440 *self
18441 }
18442}
18443impl ::core::default::Default for D3D12_QUERY_TYPE {
18444 fn default() -> Self {
18445 Self(0)
18446 }
18447}
18448impl ::windows_core::TypeKind for D3D12_QUERY_TYPE {
18449 type TypeKind = ::windows_core::CopyType;
18450}
18451impl ::core::fmt::Debug for D3D12_QUERY_TYPE {
18452 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18453 f.debug_tuple(name:"D3D12_QUERY_TYPE").field(&self.0).finish()
18454 }
18455}
18456#[repr(transparent)]
18457#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18458pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS(pub i32);
18459impl ::core::marker::Copy for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {}
18460impl ::core::clone::Clone for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
18461 fn clone(&self) -> Self {
18462 *self
18463 }
18464}
18465impl ::core::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
18466 fn default() -> Self {
18467 Self(0)
18468 }
18469}
18470impl ::windows_core::TypeKind for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
18471 type TypeKind = ::windows_core::CopyType;
18472}
18473impl ::core::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
18474 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18475 f.debug_tuple(name:"D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS").field(&self.0).finish()
18476 }
18477}
18478impl D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
18479 pub const fn contains(&self, other: Self) -> bool {
18480 self.0 & other.0 == other.0
18481 }
18482}
18483impl ::core::ops::BitOr for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
18484 type Output = Self;
18485 fn bitor(self, other: Self) -> Self {
18486 Self(self.0 | other.0)
18487 }
18488}
18489impl ::core::ops::BitAnd for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
18490 type Output = Self;
18491 fn bitand(self, other: Self) -> Self {
18492 Self(self.0 & other.0)
18493 }
18494}
18495impl ::core::ops::BitOrAssign for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
18496 fn bitor_assign(&mut self, other: Self) {
18497 self.0.bitor_assign(other.0)
18498 }
18499}
18500impl ::core::ops::BitAndAssign for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
18501 fn bitand_assign(&mut self, other: Self) {
18502 self.0.bitand_assign(other.0)
18503 }
18504}
18505impl ::core::ops::Not for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
18506 type Output = Self;
18507 fn not(self) -> Self {
18508 Self(self.0.not())
18509 }
18510}
18511#[repr(transparent)]
18512#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18513pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE(pub i32);
18514impl ::core::marker::Copy for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE {}
18515impl ::core::clone::Clone for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE {
18516 fn clone(&self) -> Self {
18517 *self
18518 }
18519}
18520impl ::core::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE {
18521 fn default() -> Self {
18522 Self(0)
18523 }
18524}
18525impl ::windows_core::TypeKind for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE {
18526 type TypeKind = ::windows_core::CopyType;
18527}
18528impl ::core::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE {
18529 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18530 f.debug_tuple(name:"D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE").field(&self.0).finish()
18531 }
18532}
18533#[repr(transparent)]
18534#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18535pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE(pub i32);
18536impl ::core::marker::Copy for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE {}
18537impl ::core::clone::Clone for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE {
18538 fn clone(&self) -> Self {
18539 *self
18540 }
18541}
18542impl ::core::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE {
18543 fn default() -> Self {
18544 Self(0)
18545 }
18546}
18547impl ::windows_core::TypeKind for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE {
18548 type TypeKind = ::windows_core::CopyType;
18549}
18550impl ::core::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE {
18551 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18552 f.debug_tuple(name:"D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE").field(&self.0).finish()
18553 }
18554}
18555#[repr(transparent)]
18556#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18557pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE(pub i32);
18558impl ::core::marker::Copy for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE {}
18559impl ::core::clone::Clone for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE {
18560 fn clone(&self) -> Self {
18561 *self
18562 }
18563}
18564impl ::core::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE {
18565 fn default() -> Self {
18566 Self(0)
18567 }
18568}
18569impl ::windows_core::TypeKind for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE {
18570 type TypeKind = ::windows_core::CopyType;
18571}
18572impl ::core::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE {
18573 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18574 f.debug_tuple(name:"D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE").field(&self.0).finish()
18575 }
18576}
18577#[repr(transparent)]
18578#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18579pub struct D3D12_RAYTRACING_GEOMETRY_FLAGS(pub i32);
18580impl ::core::marker::Copy for D3D12_RAYTRACING_GEOMETRY_FLAGS {}
18581impl ::core::clone::Clone for D3D12_RAYTRACING_GEOMETRY_FLAGS {
18582 fn clone(&self) -> Self {
18583 *self
18584 }
18585}
18586impl ::core::default::Default for D3D12_RAYTRACING_GEOMETRY_FLAGS {
18587 fn default() -> Self {
18588 Self(0)
18589 }
18590}
18591impl ::windows_core::TypeKind for D3D12_RAYTRACING_GEOMETRY_FLAGS {
18592 type TypeKind = ::windows_core::CopyType;
18593}
18594impl ::core::fmt::Debug for D3D12_RAYTRACING_GEOMETRY_FLAGS {
18595 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18596 f.debug_tuple(name:"D3D12_RAYTRACING_GEOMETRY_FLAGS").field(&self.0).finish()
18597 }
18598}
18599impl D3D12_RAYTRACING_GEOMETRY_FLAGS {
18600 pub const fn contains(&self, other: Self) -> bool {
18601 self.0 & other.0 == other.0
18602 }
18603}
18604impl ::core::ops::BitOr for D3D12_RAYTRACING_GEOMETRY_FLAGS {
18605 type Output = Self;
18606 fn bitor(self, other: Self) -> Self {
18607 Self(self.0 | other.0)
18608 }
18609}
18610impl ::core::ops::BitAnd for D3D12_RAYTRACING_GEOMETRY_FLAGS {
18611 type Output = Self;
18612 fn bitand(self, other: Self) -> Self {
18613 Self(self.0 & other.0)
18614 }
18615}
18616impl ::core::ops::BitOrAssign for D3D12_RAYTRACING_GEOMETRY_FLAGS {
18617 fn bitor_assign(&mut self, other: Self) {
18618 self.0.bitor_assign(other.0)
18619 }
18620}
18621impl ::core::ops::BitAndAssign for D3D12_RAYTRACING_GEOMETRY_FLAGS {
18622 fn bitand_assign(&mut self, other: Self) {
18623 self.0.bitand_assign(other.0)
18624 }
18625}
18626impl ::core::ops::Not for D3D12_RAYTRACING_GEOMETRY_FLAGS {
18627 type Output = Self;
18628 fn not(self) -> Self {
18629 Self(self.0.not())
18630 }
18631}
18632#[repr(transparent)]
18633#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18634pub struct D3D12_RAYTRACING_GEOMETRY_TYPE(pub i32);
18635impl ::core::marker::Copy for D3D12_RAYTRACING_GEOMETRY_TYPE {}
18636impl ::core::clone::Clone for D3D12_RAYTRACING_GEOMETRY_TYPE {
18637 fn clone(&self) -> Self {
18638 *self
18639 }
18640}
18641impl ::core::default::Default for D3D12_RAYTRACING_GEOMETRY_TYPE {
18642 fn default() -> Self {
18643 Self(0)
18644 }
18645}
18646impl ::windows_core::TypeKind for D3D12_RAYTRACING_GEOMETRY_TYPE {
18647 type TypeKind = ::windows_core::CopyType;
18648}
18649impl ::core::fmt::Debug for D3D12_RAYTRACING_GEOMETRY_TYPE {
18650 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18651 f.debug_tuple(name:"D3D12_RAYTRACING_GEOMETRY_TYPE").field(&self.0).finish()
18652 }
18653}
18654#[repr(transparent)]
18655#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18656pub struct D3D12_RAYTRACING_INSTANCE_FLAGS(pub i32);
18657impl ::core::marker::Copy for D3D12_RAYTRACING_INSTANCE_FLAGS {}
18658impl ::core::clone::Clone for D3D12_RAYTRACING_INSTANCE_FLAGS {
18659 fn clone(&self) -> Self {
18660 *self
18661 }
18662}
18663impl ::core::default::Default for D3D12_RAYTRACING_INSTANCE_FLAGS {
18664 fn default() -> Self {
18665 Self(0)
18666 }
18667}
18668impl ::windows_core::TypeKind for D3D12_RAYTRACING_INSTANCE_FLAGS {
18669 type TypeKind = ::windows_core::CopyType;
18670}
18671impl ::core::fmt::Debug for D3D12_RAYTRACING_INSTANCE_FLAGS {
18672 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18673 f.debug_tuple(name:"D3D12_RAYTRACING_INSTANCE_FLAGS").field(&self.0).finish()
18674 }
18675}
18676impl D3D12_RAYTRACING_INSTANCE_FLAGS {
18677 pub const fn contains(&self, other: Self) -> bool {
18678 self.0 & other.0 == other.0
18679 }
18680}
18681impl ::core::ops::BitOr for D3D12_RAYTRACING_INSTANCE_FLAGS {
18682 type Output = Self;
18683 fn bitor(self, other: Self) -> Self {
18684 Self(self.0 | other.0)
18685 }
18686}
18687impl ::core::ops::BitAnd for D3D12_RAYTRACING_INSTANCE_FLAGS {
18688 type Output = Self;
18689 fn bitand(self, other: Self) -> Self {
18690 Self(self.0 & other.0)
18691 }
18692}
18693impl ::core::ops::BitOrAssign for D3D12_RAYTRACING_INSTANCE_FLAGS {
18694 fn bitor_assign(&mut self, other: Self) {
18695 self.0.bitor_assign(other.0)
18696 }
18697}
18698impl ::core::ops::BitAndAssign for D3D12_RAYTRACING_INSTANCE_FLAGS {
18699 fn bitand_assign(&mut self, other: Self) {
18700 self.0.bitand_assign(other.0)
18701 }
18702}
18703impl ::core::ops::Not for D3D12_RAYTRACING_INSTANCE_FLAGS {
18704 type Output = Self;
18705 fn not(self) -> Self {
18706 Self(self.0.not())
18707 }
18708}
18709#[repr(transparent)]
18710#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18711pub struct D3D12_RAYTRACING_PIPELINE_FLAGS(pub i32);
18712impl ::core::marker::Copy for D3D12_RAYTRACING_PIPELINE_FLAGS {}
18713impl ::core::clone::Clone for D3D12_RAYTRACING_PIPELINE_FLAGS {
18714 fn clone(&self) -> Self {
18715 *self
18716 }
18717}
18718impl ::core::default::Default for D3D12_RAYTRACING_PIPELINE_FLAGS {
18719 fn default() -> Self {
18720 Self(0)
18721 }
18722}
18723impl ::windows_core::TypeKind for D3D12_RAYTRACING_PIPELINE_FLAGS {
18724 type TypeKind = ::windows_core::CopyType;
18725}
18726impl ::core::fmt::Debug for D3D12_RAYTRACING_PIPELINE_FLAGS {
18727 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18728 f.debug_tuple(name:"D3D12_RAYTRACING_PIPELINE_FLAGS").field(&self.0).finish()
18729 }
18730}
18731impl D3D12_RAYTRACING_PIPELINE_FLAGS {
18732 pub const fn contains(&self, other: Self) -> bool {
18733 self.0 & other.0 == other.0
18734 }
18735}
18736impl ::core::ops::BitOr for D3D12_RAYTRACING_PIPELINE_FLAGS {
18737 type Output = Self;
18738 fn bitor(self, other: Self) -> Self {
18739 Self(self.0 | other.0)
18740 }
18741}
18742impl ::core::ops::BitAnd for D3D12_RAYTRACING_PIPELINE_FLAGS {
18743 type Output = Self;
18744 fn bitand(self, other: Self) -> Self {
18745 Self(self.0 & other.0)
18746 }
18747}
18748impl ::core::ops::BitOrAssign for D3D12_RAYTRACING_PIPELINE_FLAGS {
18749 fn bitor_assign(&mut self, other: Self) {
18750 self.0.bitor_assign(other.0)
18751 }
18752}
18753impl ::core::ops::BitAndAssign for D3D12_RAYTRACING_PIPELINE_FLAGS {
18754 fn bitand_assign(&mut self, other: Self) {
18755 self.0.bitand_assign(other.0)
18756 }
18757}
18758impl ::core::ops::Not for D3D12_RAYTRACING_PIPELINE_FLAGS {
18759 type Output = Self;
18760 fn not(self) -> Self {
18761 Self(self.0.not())
18762 }
18763}
18764#[repr(transparent)]
18765#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18766pub struct D3D12_RAYTRACING_TIER(pub i32);
18767impl ::core::marker::Copy for D3D12_RAYTRACING_TIER {}
18768impl ::core::clone::Clone for D3D12_RAYTRACING_TIER {
18769 fn clone(&self) -> Self {
18770 *self
18771 }
18772}
18773impl ::core::default::Default for D3D12_RAYTRACING_TIER {
18774 fn default() -> Self {
18775 Self(0)
18776 }
18777}
18778impl ::windows_core::TypeKind for D3D12_RAYTRACING_TIER {
18779 type TypeKind = ::windows_core::CopyType;
18780}
18781impl ::core::fmt::Debug for D3D12_RAYTRACING_TIER {
18782 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18783 f.debug_tuple(name:"D3D12_RAYTRACING_TIER").field(&self.0).finish()
18784 }
18785}
18786#[repr(transparent)]
18787#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18788pub struct D3D12_RAY_FLAGS(pub i32);
18789impl ::core::marker::Copy for D3D12_RAY_FLAGS {}
18790impl ::core::clone::Clone for D3D12_RAY_FLAGS {
18791 fn clone(&self) -> Self {
18792 *self
18793 }
18794}
18795impl ::core::default::Default for D3D12_RAY_FLAGS {
18796 fn default() -> Self {
18797 Self(0)
18798 }
18799}
18800impl ::windows_core::TypeKind for D3D12_RAY_FLAGS {
18801 type TypeKind = ::windows_core::CopyType;
18802}
18803impl ::core::fmt::Debug for D3D12_RAY_FLAGS {
18804 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18805 f.debug_tuple(name:"D3D12_RAY_FLAGS").field(&self.0).finish()
18806 }
18807}
18808impl D3D12_RAY_FLAGS {
18809 pub const fn contains(&self, other: Self) -> bool {
18810 self.0 & other.0 == other.0
18811 }
18812}
18813impl ::core::ops::BitOr for D3D12_RAY_FLAGS {
18814 type Output = Self;
18815 fn bitor(self, other: Self) -> Self {
18816 Self(self.0 | other.0)
18817 }
18818}
18819impl ::core::ops::BitAnd for D3D12_RAY_FLAGS {
18820 type Output = Self;
18821 fn bitand(self, other: Self) -> Self {
18822 Self(self.0 & other.0)
18823 }
18824}
18825impl ::core::ops::BitOrAssign for D3D12_RAY_FLAGS {
18826 fn bitor_assign(&mut self, other: Self) {
18827 self.0.bitor_assign(other.0)
18828 }
18829}
18830impl ::core::ops::BitAndAssign for D3D12_RAY_FLAGS {
18831 fn bitand_assign(&mut self, other: Self) {
18832 self.0.bitand_assign(other.0)
18833 }
18834}
18835impl ::core::ops::Not for D3D12_RAY_FLAGS {
18836 type Output = Self;
18837 fn not(self) -> Self {
18838 Self(self.0.not())
18839 }
18840}
18841#[repr(transparent)]
18842#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18843pub struct D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE(pub i32);
18844impl ::core::marker::Copy for D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE {}
18845impl ::core::clone::Clone for D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE {
18846 fn clone(&self) -> Self {
18847 *self
18848 }
18849}
18850impl ::core::default::Default for D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE {
18851 fn default() -> Self {
18852 Self(0)
18853 }
18854}
18855impl ::windows_core::TypeKind for D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE {
18856 type TypeKind = ::windows_core::CopyType;
18857}
18858impl ::core::fmt::Debug for D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE {
18859 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18860 f.debug_tuple(name:"D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE").field(&self.0).finish()
18861 }
18862}
18863#[repr(transparent)]
18864#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18865pub struct D3D12_RENDER_PASS_ENDING_ACCESS_TYPE(pub i32);
18866impl ::core::marker::Copy for D3D12_RENDER_PASS_ENDING_ACCESS_TYPE {}
18867impl ::core::clone::Clone for D3D12_RENDER_PASS_ENDING_ACCESS_TYPE {
18868 fn clone(&self) -> Self {
18869 *self
18870 }
18871}
18872impl ::core::default::Default for D3D12_RENDER_PASS_ENDING_ACCESS_TYPE {
18873 fn default() -> Self {
18874 Self(0)
18875 }
18876}
18877impl ::windows_core::TypeKind for D3D12_RENDER_PASS_ENDING_ACCESS_TYPE {
18878 type TypeKind = ::windows_core::CopyType;
18879}
18880impl ::core::fmt::Debug for D3D12_RENDER_PASS_ENDING_ACCESS_TYPE {
18881 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18882 f.debug_tuple(name:"D3D12_RENDER_PASS_ENDING_ACCESS_TYPE").field(&self.0).finish()
18883 }
18884}
18885#[repr(transparent)]
18886#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18887pub struct D3D12_RENDER_PASS_FLAGS(pub i32);
18888impl ::core::marker::Copy for D3D12_RENDER_PASS_FLAGS {}
18889impl ::core::clone::Clone for D3D12_RENDER_PASS_FLAGS {
18890 fn clone(&self) -> Self {
18891 *self
18892 }
18893}
18894impl ::core::default::Default for D3D12_RENDER_PASS_FLAGS {
18895 fn default() -> Self {
18896 Self(0)
18897 }
18898}
18899impl ::windows_core::TypeKind for D3D12_RENDER_PASS_FLAGS {
18900 type TypeKind = ::windows_core::CopyType;
18901}
18902impl ::core::fmt::Debug for D3D12_RENDER_PASS_FLAGS {
18903 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18904 f.debug_tuple(name:"D3D12_RENDER_PASS_FLAGS").field(&self.0).finish()
18905 }
18906}
18907impl D3D12_RENDER_PASS_FLAGS {
18908 pub const fn contains(&self, other: Self) -> bool {
18909 self.0 & other.0 == other.0
18910 }
18911}
18912impl ::core::ops::BitOr for D3D12_RENDER_PASS_FLAGS {
18913 type Output = Self;
18914 fn bitor(self, other: Self) -> Self {
18915 Self(self.0 | other.0)
18916 }
18917}
18918impl ::core::ops::BitAnd for D3D12_RENDER_PASS_FLAGS {
18919 type Output = Self;
18920 fn bitand(self, other: Self) -> Self {
18921 Self(self.0 & other.0)
18922 }
18923}
18924impl ::core::ops::BitOrAssign for D3D12_RENDER_PASS_FLAGS {
18925 fn bitor_assign(&mut self, other: Self) {
18926 self.0.bitor_assign(other.0)
18927 }
18928}
18929impl ::core::ops::BitAndAssign for D3D12_RENDER_PASS_FLAGS {
18930 fn bitand_assign(&mut self, other: Self) {
18931 self.0.bitand_assign(other.0)
18932 }
18933}
18934impl ::core::ops::Not for D3D12_RENDER_PASS_FLAGS {
18935 type Output = Self;
18936 fn not(self) -> Self {
18937 Self(self.0.not())
18938 }
18939}
18940#[repr(transparent)]
18941#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18942pub struct D3D12_RENDER_PASS_TIER(pub i32);
18943impl ::core::marker::Copy for D3D12_RENDER_PASS_TIER {}
18944impl ::core::clone::Clone for D3D12_RENDER_PASS_TIER {
18945 fn clone(&self) -> Self {
18946 *self
18947 }
18948}
18949impl ::core::default::Default for D3D12_RENDER_PASS_TIER {
18950 fn default() -> Self {
18951 Self(0)
18952 }
18953}
18954impl ::windows_core::TypeKind for D3D12_RENDER_PASS_TIER {
18955 type TypeKind = ::windows_core::CopyType;
18956}
18957impl ::core::fmt::Debug for D3D12_RENDER_PASS_TIER {
18958 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18959 f.debug_tuple(name:"D3D12_RENDER_PASS_TIER").field(&self.0).finish()
18960 }
18961}
18962#[repr(transparent)]
18963#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
18964pub struct D3D12_RESIDENCY_FLAGS(pub i32);
18965impl ::core::marker::Copy for D3D12_RESIDENCY_FLAGS {}
18966impl ::core::clone::Clone for D3D12_RESIDENCY_FLAGS {
18967 fn clone(&self) -> Self {
18968 *self
18969 }
18970}
18971impl ::core::default::Default for D3D12_RESIDENCY_FLAGS {
18972 fn default() -> Self {
18973 Self(0)
18974 }
18975}
18976impl ::windows_core::TypeKind for D3D12_RESIDENCY_FLAGS {
18977 type TypeKind = ::windows_core::CopyType;
18978}
18979impl ::core::fmt::Debug for D3D12_RESIDENCY_FLAGS {
18980 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
18981 f.debug_tuple(name:"D3D12_RESIDENCY_FLAGS").field(&self.0).finish()
18982 }
18983}
18984impl D3D12_RESIDENCY_FLAGS {
18985 pub const fn contains(&self, other: Self) -> bool {
18986 self.0 & other.0 == other.0
18987 }
18988}
18989impl ::core::ops::BitOr for D3D12_RESIDENCY_FLAGS {
18990 type Output = Self;
18991 fn bitor(self, other: Self) -> Self {
18992 Self(self.0 | other.0)
18993 }
18994}
18995impl ::core::ops::BitAnd for D3D12_RESIDENCY_FLAGS {
18996 type Output = Self;
18997 fn bitand(self, other: Self) -> Self {
18998 Self(self.0 & other.0)
18999 }
19000}
19001impl ::core::ops::BitOrAssign for D3D12_RESIDENCY_FLAGS {
19002 fn bitor_assign(&mut self, other: Self) {
19003 self.0.bitor_assign(other.0)
19004 }
19005}
19006impl ::core::ops::BitAndAssign for D3D12_RESIDENCY_FLAGS {
19007 fn bitand_assign(&mut self, other: Self) {
19008 self.0.bitand_assign(other.0)
19009 }
19010}
19011impl ::core::ops::Not for D3D12_RESIDENCY_FLAGS {
19012 type Output = Self;
19013 fn not(self) -> Self {
19014 Self(self.0.not())
19015 }
19016}
19017#[repr(transparent)]
19018#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19019pub struct D3D12_RESIDENCY_PRIORITY(pub i32);
19020impl ::core::marker::Copy for D3D12_RESIDENCY_PRIORITY {}
19021impl ::core::clone::Clone for D3D12_RESIDENCY_PRIORITY {
19022 fn clone(&self) -> Self {
19023 *self
19024 }
19025}
19026impl ::core::default::Default for D3D12_RESIDENCY_PRIORITY {
19027 fn default() -> Self {
19028 Self(0)
19029 }
19030}
19031impl ::windows_core::TypeKind for D3D12_RESIDENCY_PRIORITY {
19032 type TypeKind = ::windows_core::CopyType;
19033}
19034impl ::core::fmt::Debug for D3D12_RESIDENCY_PRIORITY {
19035 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19036 f.debug_tuple(name:"D3D12_RESIDENCY_PRIORITY").field(&self.0).finish()
19037 }
19038}
19039#[repr(transparent)]
19040#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19041pub struct D3D12_RESOLVE_MODE(pub i32);
19042impl ::core::marker::Copy for D3D12_RESOLVE_MODE {}
19043impl ::core::clone::Clone for D3D12_RESOLVE_MODE {
19044 fn clone(&self) -> Self {
19045 *self
19046 }
19047}
19048impl ::core::default::Default for D3D12_RESOLVE_MODE {
19049 fn default() -> Self {
19050 Self(0)
19051 }
19052}
19053impl ::windows_core::TypeKind for D3D12_RESOLVE_MODE {
19054 type TypeKind = ::windows_core::CopyType;
19055}
19056impl ::core::fmt::Debug for D3D12_RESOLVE_MODE {
19057 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19058 f.debug_tuple(name:"D3D12_RESOLVE_MODE").field(&self.0).finish()
19059 }
19060}
19061#[repr(transparent)]
19062#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19063pub struct D3D12_RESOURCE_BARRIER_FLAGS(pub i32);
19064impl ::core::marker::Copy for D3D12_RESOURCE_BARRIER_FLAGS {}
19065impl ::core::clone::Clone for D3D12_RESOURCE_BARRIER_FLAGS {
19066 fn clone(&self) -> Self {
19067 *self
19068 }
19069}
19070impl ::core::default::Default for D3D12_RESOURCE_BARRIER_FLAGS {
19071 fn default() -> Self {
19072 Self(0)
19073 }
19074}
19075impl ::windows_core::TypeKind for D3D12_RESOURCE_BARRIER_FLAGS {
19076 type TypeKind = ::windows_core::CopyType;
19077}
19078impl ::core::fmt::Debug for D3D12_RESOURCE_BARRIER_FLAGS {
19079 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19080 f.debug_tuple(name:"D3D12_RESOURCE_BARRIER_FLAGS").field(&self.0).finish()
19081 }
19082}
19083impl D3D12_RESOURCE_BARRIER_FLAGS {
19084 pub const fn contains(&self, other: Self) -> bool {
19085 self.0 & other.0 == other.0
19086 }
19087}
19088impl ::core::ops::BitOr for D3D12_RESOURCE_BARRIER_FLAGS {
19089 type Output = Self;
19090 fn bitor(self, other: Self) -> Self {
19091 Self(self.0 | other.0)
19092 }
19093}
19094impl ::core::ops::BitAnd for D3D12_RESOURCE_BARRIER_FLAGS {
19095 type Output = Self;
19096 fn bitand(self, other: Self) -> Self {
19097 Self(self.0 & other.0)
19098 }
19099}
19100impl ::core::ops::BitOrAssign for D3D12_RESOURCE_BARRIER_FLAGS {
19101 fn bitor_assign(&mut self, other: Self) {
19102 self.0.bitor_assign(other.0)
19103 }
19104}
19105impl ::core::ops::BitAndAssign for D3D12_RESOURCE_BARRIER_FLAGS {
19106 fn bitand_assign(&mut self, other: Self) {
19107 self.0.bitand_assign(other.0)
19108 }
19109}
19110impl ::core::ops::Not for D3D12_RESOURCE_BARRIER_FLAGS {
19111 type Output = Self;
19112 fn not(self) -> Self {
19113 Self(self.0.not())
19114 }
19115}
19116#[repr(transparent)]
19117#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19118pub struct D3D12_RESOURCE_BARRIER_TYPE(pub i32);
19119impl ::core::marker::Copy for D3D12_RESOURCE_BARRIER_TYPE {}
19120impl ::core::clone::Clone for D3D12_RESOURCE_BARRIER_TYPE {
19121 fn clone(&self) -> Self {
19122 *self
19123 }
19124}
19125impl ::core::default::Default for D3D12_RESOURCE_BARRIER_TYPE {
19126 fn default() -> Self {
19127 Self(0)
19128 }
19129}
19130impl ::windows_core::TypeKind for D3D12_RESOURCE_BARRIER_TYPE {
19131 type TypeKind = ::windows_core::CopyType;
19132}
19133impl ::core::fmt::Debug for D3D12_RESOURCE_BARRIER_TYPE {
19134 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19135 f.debug_tuple(name:"D3D12_RESOURCE_BARRIER_TYPE").field(&self.0).finish()
19136 }
19137}
19138#[repr(transparent)]
19139#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19140pub struct D3D12_RESOURCE_BINDING_TIER(pub i32);
19141impl ::core::marker::Copy for D3D12_RESOURCE_BINDING_TIER {}
19142impl ::core::clone::Clone for D3D12_RESOURCE_BINDING_TIER {
19143 fn clone(&self) -> Self {
19144 *self
19145 }
19146}
19147impl ::core::default::Default for D3D12_RESOURCE_BINDING_TIER {
19148 fn default() -> Self {
19149 Self(0)
19150 }
19151}
19152impl ::windows_core::TypeKind for D3D12_RESOURCE_BINDING_TIER {
19153 type TypeKind = ::windows_core::CopyType;
19154}
19155impl ::core::fmt::Debug for D3D12_RESOURCE_BINDING_TIER {
19156 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19157 f.debug_tuple(name:"D3D12_RESOURCE_BINDING_TIER").field(&self.0).finish()
19158 }
19159}
19160#[repr(transparent)]
19161#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19162pub struct D3D12_RESOURCE_DIMENSION(pub i32);
19163impl ::core::marker::Copy for D3D12_RESOURCE_DIMENSION {}
19164impl ::core::clone::Clone for D3D12_RESOURCE_DIMENSION {
19165 fn clone(&self) -> Self {
19166 *self
19167 }
19168}
19169impl ::core::default::Default for D3D12_RESOURCE_DIMENSION {
19170 fn default() -> Self {
19171 Self(0)
19172 }
19173}
19174impl ::windows_core::TypeKind for D3D12_RESOURCE_DIMENSION {
19175 type TypeKind = ::windows_core::CopyType;
19176}
19177impl ::core::fmt::Debug for D3D12_RESOURCE_DIMENSION {
19178 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19179 f.debug_tuple(name:"D3D12_RESOURCE_DIMENSION").field(&self.0).finish()
19180 }
19181}
19182#[repr(transparent)]
19183#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19184pub struct D3D12_RESOURCE_FLAGS(pub i32);
19185impl ::core::marker::Copy for D3D12_RESOURCE_FLAGS {}
19186impl ::core::clone::Clone for D3D12_RESOURCE_FLAGS {
19187 fn clone(&self) -> Self {
19188 *self
19189 }
19190}
19191impl ::core::default::Default for D3D12_RESOURCE_FLAGS {
19192 fn default() -> Self {
19193 Self(0)
19194 }
19195}
19196impl ::windows_core::TypeKind for D3D12_RESOURCE_FLAGS {
19197 type TypeKind = ::windows_core::CopyType;
19198}
19199impl ::core::fmt::Debug for D3D12_RESOURCE_FLAGS {
19200 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19201 f.debug_tuple(name:"D3D12_RESOURCE_FLAGS").field(&self.0).finish()
19202 }
19203}
19204impl D3D12_RESOURCE_FLAGS {
19205 pub const fn contains(&self, other: Self) -> bool {
19206 self.0 & other.0 == other.0
19207 }
19208}
19209impl ::core::ops::BitOr for D3D12_RESOURCE_FLAGS {
19210 type Output = Self;
19211 fn bitor(self, other: Self) -> Self {
19212 Self(self.0 | other.0)
19213 }
19214}
19215impl ::core::ops::BitAnd for D3D12_RESOURCE_FLAGS {
19216 type Output = Self;
19217 fn bitand(self, other: Self) -> Self {
19218 Self(self.0 & other.0)
19219 }
19220}
19221impl ::core::ops::BitOrAssign for D3D12_RESOURCE_FLAGS {
19222 fn bitor_assign(&mut self, other: Self) {
19223 self.0.bitor_assign(other.0)
19224 }
19225}
19226impl ::core::ops::BitAndAssign for D3D12_RESOURCE_FLAGS {
19227 fn bitand_assign(&mut self, other: Self) {
19228 self.0.bitand_assign(other.0)
19229 }
19230}
19231impl ::core::ops::Not for D3D12_RESOURCE_FLAGS {
19232 type Output = Self;
19233 fn not(self) -> Self {
19234 Self(self.0.not())
19235 }
19236}
19237#[repr(transparent)]
19238#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19239pub struct D3D12_RESOURCE_HEAP_TIER(pub i32);
19240impl ::core::marker::Copy for D3D12_RESOURCE_HEAP_TIER {}
19241impl ::core::clone::Clone for D3D12_RESOURCE_HEAP_TIER {
19242 fn clone(&self) -> Self {
19243 *self
19244 }
19245}
19246impl ::core::default::Default for D3D12_RESOURCE_HEAP_TIER {
19247 fn default() -> Self {
19248 Self(0)
19249 }
19250}
19251impl ::windows_core::TypeKind for D3D12_RESOURCE_HEAP_TIER {
19252 type TypeKind = ::windows_core::CopyType;
19253}
19254impl ::core::fmt::Debug for D3D12_RESOURCE_HEAP_TIER {
19255 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19256 f.debug_tuple(name:"D3D12_RESOURCE_HEAP_TIER").field(&self.0).finish()
19257 }
19258}
19259#[repr(transparent)]
19260#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19261pub struct D3D12_RESOURCE_STATES(pub i32);
19262impl ::core::marker::Copy for D3D12_RESOURCE_STATES {}
19263impl ::core::clone::Clone for D3D12_RESOURCE_STATES {
19264 fn clone(&self) -> Self {
19265 *self
19266 }
19267}
19268impl ::core::default::Default for D3D12_RESOURCE_STATES {
19269 fn default() -> Self {
19270 Self(0)
19271 }
19272}
19273impl ::windows_core::TypeKind for D3D12_RESOURCE_STATES {
19274 type TypeKind = ::windows_core::CopyType;
19275}
19276impl ::core::fmt::Debug for D3D12_RESOURCE_STATES {
19277 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19278 f.debug_tuple(name:"D3D12_RESOURCE_STATES").field(&self.0).finish()
19279 }
19280}
19281impl D3D12_RESOURCE_STATES {
19282 pub const fn contains(&self, other: Self) -> bool {
19283 self.0 & other.0 == other.0
19284 }
19285}
19286impl ::core::ops::BitOr for D3D12_RESOURCE_STATES {
19287 type Output = Self;
19288 fn bitor(self, other: Self) -> Self {
19289 Self(self.0 | other.0)
19290 }
19291}
19292impl ::core::ops::BitAnd for D3D12_RESOURCE_STATES {
19293 type Output = Self;
19294 fn bitand(self, other: Self) -> Self {
19295 Self(self.0 & other.0)
19296 }
19297}
19298impl ::core::ops::BitOrAssign for D3D12_RESOURCE_STATES {
19299 fn bitor_assign(&mut self, other: Self) {
19300 self.0.bitor_assign(other.0)
19301 }
19302}
19303impl ::core::ops::BitAndAssign for D3D12_RESOURCE_STATES {
19304 fn bitand_assign(&mut self, other: Self) {
19305 self.0.bitand_assign(other.0)
19306 }
19307}
19308impl ::core::ops::Not for D3D12_RESOURCE_STATES {
19309 type Output = Self;
19310 fn not(self) -> Self {
19311 Self(self.0.not())
19312 }
19313}
19314#[repr(transparent)]
19315#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19316pub struct D3D12_RLDO_FLAGS(pub i32);
19317impl ::core::marker::Copy for D3D12_RLDO_FLAGS {}
19318impl ::core::clone::Clone for D3D12_RLDO_FLAGS {
19319 fn clone(&self) -> Self {
19320 *self
19321 }
19322}
19323impl ::core::default::Default for D3D12_RLDO_FLAGS {
19324 fn default() -> Self {
19325 Self(0)
19326 }
19327}
19328impl ::windows_core::TypeKind for D3D12_RLDO_FLAGS {
19329 type TypeKind = ::windows_core::CopyType;
19330}
19331impl ::core::fmt::Debug for D3D12_RLDO_FLAGS {
19332 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19333 f.debug_tuple(name:"D3D12_RLDO_FLAGS").field(&self.0).finish()
19334 }
19335}
19336impl D3D12_RLDO_FLAGS {
19337 pub const fn contains(&self, other: Self) -> bool {
19338 self.0 & other.0 == other.0
19339 }
19340}
19341impl ::core::ops::BitOr for D3D12_RLDO_FLAGS {
19342 type Output = Self;
19343 fn bitor(self, other: Self) -> Self {
19344 Self(self.0 | other.0)
19345 }
19346}
19347impl ::core::ops::BitAnd for D3D12_RLDO_FLAGS {
19348 type Output = Self;
19349 fn bitand(self, other: Self) -> Self {
19350 Self(self.0 & other.0)
19351 }
19352}
19353impl ::core::ops::BitOrAssign for D3D12_RLDO_FLAGS {
19354 fn bitor_assign(&mut self, other: Self) {
19355 self.0.bitor_assign(other.0)
19356 }
19357}
19358impl ::core::ops::BitAndAssign for D3D12_RLDO_FLAGS {
19359 fn bitand_assign(&mut self, other: Self) {
19360 self.0.bitand_assign(other.0)
19361 }
19362}
19363impl ::core::ops::Not for D3D12_RLDO_FLAGS {
19364 type Output = Self;
19365 fn not(self) -> Self {
19366 Self(self.0.not())
19367 }
19368}
19369#[repr(transparent)]
19370#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19371pub struct D3D12_ROOT_DESCRIPTOR_FLAGS(pub i32);
19372impl ::core::marker::Copy for D3D12_ROOT_DESCRIPTOR_FLAGS {}
19373impl ::core::clone::Clone for D3D12_ROOT_DESCRIPTOR_FLAGS {
19374 fn clone(&self) -> Self {
19375 *self
19376 }
19377}
19378impl ::core::default::Default for D3D12_ROOT_DESCRIPTOR_FLAGS {
19379 fn default() -> Self {
19380 Self(0)
19381 }
19382}
19383impl ::windows_core::TypeKind for D3D12_ROOT_DESCRIPTOR_FLAGS {
19384 type TypeKind = ::windows_core::CopyType;
19385}
19386impl ::core::fmt::Debug for D3D12_ROOT_DESCRIPTOR_FLAGS {
19387 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19388 f.debug_tuple(name:"D3D12_ROOT_DESCRIPTOR_FLAGS").field(&self.0).finish()
19389 }
19390}
19391impl D3D12_ROOT_DESCRIPTOR_FLAGS {
19392 pub const fn contains(&self, other: Self) -> bool {
19393 self.0 & other.0 == other.0
19394 }
19395}
19396impl ::core::ops::BitOr for D3D12_ROOT_DESCRIPTOR_FLAGS {
19397 type Output = Self;
19398 fn bitor(self, other: Self) -> Self {
19399 Self(self.0 | other.0)
19400 }
19401}
19402impl ::core::ops::BitAnd for D3D12_ROOT_DESCRIPTOR_FLAGS {
19403 type Output = Self;
19404 fn bitand(self, other: Self) -> Self {
19405 Self(self.0 & other.0)
19406 }
19407}
19408impl ::core::ops::BitOrAssign for D3D12_ROOT_DESCRIPTOR_FLAGS {
19409 fn bitor_assign(&mut self, other: Self) {
19410 self.0.bitor_assign(other.0)
19411 }
19412}
19413impl ::core::ops::BitAndAssign for D3D12_ROOT_DESCRIPTOR_FLAGS {
19414 fn bitand_assign(&mut self, other: Self) {
19415 self.0.bitand_assign(other.0)
19416 }
19417}
19418impl ::core::ops::Not for D3D12_ROOT_DESCRIPTOR_FLAGS {
19419 type Output = Self;
19420 fn not(self) -> Self {
19421 Self(self.0.not())
19422 }
19423}
19424#[repr(transparent)]
19425#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19426pub struct D3D12_ROOT_PARAMETER_TYPE(pub i32);
19427impl ::core::marker::Copy for D3D12_ROOT_PARAMETER_TYPE {}
19428impl ::core::clone::Clone for D3D12_ROOT_PARAMETER_TYPE {
19429 fn clone(&self) -> Self {
19430 *self
19431 }
19432}
19433impl ::core::default::Default for D3D12_ROOT_PARAMETER_TYPE {
19434 fn default() -> Self {
19435 Self(0)
19436 }
19437}
19438impl ::windows_core::TypeKind for D3D12_ROOT_PARAMETER_TYPE {
19439 type TypeKind = ::windows_core::CopyType;
19440}
19441impl ::core::fmt::Debug for D3D12_ROOT_PARAMETER_TYPE {
19442 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19443 f.debug_tuple(name:"D3D12_ROOT_PARAMETER_TYPE").field(&self.0).finish()
19444 }
19445}
19446#[repr(transparent)]
19447#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19448pub struct D3D12_ROOT_SIGNATURE_FLAGS(pub i32);
19449impl ::core::marker::Copy for D3D12_ROOT_SIGNATURE_FLAGS {}
19450impl ::core::clone::Clone for D3D12_ROOT_SIGNATURE_FLAGS {
19451 fn clone(&self) -> Self {
19452 *self
19453 }
19454}
19455impl ::core::default::Default for D3D12_ROOT_SIGNATURE_FLAGS {
19456 fn default() -> Self {
19457 Self(0)
19458 }
19459}
19460impl ::windows_core::TypeKind for D3D12_ROOT_SIGNATURE_FLAGS {
19461 type TypeKind = ::windows_core::CopyType;
19462}
19463impl ::core::fmt::Debug for D3D12_ROOT_SIGNATURE_FLAGS {
19464 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19465 f.debug_tuple(name:"D3D12_ROOT_SIGNATURE_FLAGS").field(&self.0).finish()
19466 }
19467}
19468impl D3D12_ROOT_SIGNATURE_FLAGS {
19469 pub const fn contains(&self, other: Self) -> bool {
19470 self.0 & other.0 == other.0
19471 }
19472}
19473impl ::core::ops::BitOr for D3D12_ROOT_SIGNATURE_FLAGS {
19474 type Output = Self;
19475 fn bitor(self, other: Self) -> Self {
19476 Self(self.0 | other.0)
19477 }
19478}
19479impl ::core::ops::BitAnd for D3D12_ROOT_SIGNATURE_FLAGS {
19480 type Output = Self;
19481 fn bitand(self, other: Self) -> Self {
19482 Self(self.0 & other.0)
19483 }
19484}
19485impl ::core::ops::BitOrAssign for D3D12_ROOT_SIGNATURE_FLAGS {
19486 fn bitor_assign(&mut self, other: Self) {
19487 self.0.bitor_assign(other.0)
19488 }
19489}
19490impl ::core::ops::BitAndAssign for D3D12_ROOT_SIGNATURE_FLAGS {
19491 fn bitand_assign(&mut self, other: Self) {
19492 self.0.bitand_assign(other.0)
19493 }
19494}
19495impl ::core::ops::Not for D3D12_ROOT_SIGNATURE_FLAGS {
19496 type Output = Self;
19497 fn not(self) -> Self {
19498 Self(self.0.not())
19499 }
19500}
19501#[repr(transparent)]
19502#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19503pub struct D3D12_RTV_DIMENSION(pub i32);
19504impl ::core::marker::Copy for D3D12_RTV_DIMENSION {}
19505impl ::core::clone::Clone for D3D12_RTV_DIMENSION {
19506 fn clone(&self) -> Self {
19507 *self
19508 }
19509}
19510impl ::core::default::Default for D3D12_RTV_DIMENSION {
19511 fn default() -> Self {
19512 Self(0)
19513 }
19514}
19515impl ::windows_core::TypeKind for D3D12_RTV_DIMENSION {
19516 type TypeKind = ::windows_core::CopyType;
19517}
19518impl ::core::fmt::Debug for D3D12_RTV_DIMENSION {
19519 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19520 f.debug_tuple(name:"D3D12_RTV_DIMENSION").field(&self.0).finish()
19521 }
19522}
19523#[repr(transparent)]
19524#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19525pub struct D3D12_SAMPLER_FEEDBACK_TIER(pub i32);
19526impl ::core::marker::Copy for D3D12_SAMPLER_FEEDBACK_TIER {}
19527impl ::core::clone::Clone for D3D12_SAMPLER_FEEDBACK_TIER {
19528 fn clone(&self) -> Self {
19529 *self
19530 }
19531}
19532impl ::core::default::Default for D3D12_SAMPLER_FEEDBACK_TIER {
19533 fn default() -> Self {
19534 Self(0)
19535 }
19536}
19537impl ::windows_core::TypeKind for D3D12_SAMPLER_FEEDBACK_TIER {
19538 type TypeKind = ::windows_core::CopyType;
19539}
19540impl ::core::fmt::Debug for D3D12_SAMPLER_FEEDBACK_TIER {
19541 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19542 f.debug_tuple(name:"D3D12_SAMPLER_FEEDBACK_TIER").field(&self.0).finish()
19543 }
19544}
19545#[repr(transparent)]
19546#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19547pub struct D3D12_SAMPLER_FLAGS(pub i32);
19548impl ::core::marker::Copy for D3D12_SAMPLER_FLAGS {}
19549impl ::core::clone::Clone for D3D12_SAMPLER_FLAGS {
19550 fn clone(&self) -> Self {
19551 *self
19552 }
19553}
19554impl ::core::default::Default for D3D12_SAMPLER_FLAGS {
19555 fn default() -> Self {
19556 Self(0)
19557 }
19558}
19559impl ::windows_core::TypeKind for D3D12_SAMPLER_FLAGS {
19560 type TypeKind = ::windows_core::CopyType;
19561}
19562impl ::core::fmt::Debug for D3D12_SAMPLER_FLAGS {
19563 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19564 f.debug_tuple(name:"D3D12_SAMPLER_FLAGS").field(&self.0).finish()
19565 }
19566}
19567impl D3D12_SAMPLER_FLAGS {
19568 pub const fn contains(&self, other: Self) -> bool {
19569 self.0 & other.0 == other.0
19570 }
19571}
19572impl ::core::ops::BitOr for D3D12_SAMPLER_FLAGS {
19573 type Output = Self;
19574 fn bitor(self, other: Self) -> Self {
19575 Self(self.0 | other.0)
19576 }
19577}
19578impl ::core::ops::BitAnd for D3D12_SAMPLER_FLAGS {
19579 type Output = Self;
19580 fn bitand(self, other: Self) -> Self {
19581 Self(self.0 & other.0)
19582 }
19583}
19584impl ::core::ops::BitOrAssign for D3D12_SAMPLER_FLAGS {
19585 fn bitor_assign(&mut self, other: Self) {
19586 self.0.bitor_assign(other.0)
19587 }
19588}
19589impl ::core::ops::BitAndAssign for D3D12_SAMPLER_FLAGS {
19590 fn bitand_assign(&mut self, other: Self) {
19591 self.0.bitand_assign(other.0)
19592 }
19593}
19594impl ::core::ops::Not for D3D12_SAMPLER_FLAGS {
19595 type Output = Self;
19596 fn not(self) -> Self {
19597 Self(self.0.not())
19598 }
19599}
19600#[repr(transparent)]
19601#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19602pub struct D3D12_SERIALIZED_DATA_TYPE(pub i32);
19603impl ::core::marker::Copy for D3D12_SERIALIZED_DATA_TYPE {}
19604impl ::core::clone::Clone for D3D12_SERIALIZED_DATA_TYPE {
19605 fn clone(&self) -> Self {
19606 *self
19607 }
19608}
19609impl ::core::default::Default for D3D12_SERIALIZED_DATA_TYPE {
19610 fn default() -> Self {
19611 Self(0)
19612 }
19613}
19614impl ::windows_core::TypeKind for D3D12_SERIALIZED_DATA_TYPE {
19615 type TypeKind = ::windows_core::CopyType;
19616}
19617impl ::core::fmt::Debug for D3D12_SERIALIZED_DATA_TYPE {
19618 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19619 f.debug_tuple(name:"D3D12_SERIALIZED_DATA_TYPE").field(&self.0).finish()
19620 }
19621}
19622#[repr(transparent)]
19623#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19624pub struct D3D12_SHADER_CACHE_CONTROL_FLAGS(pub i32);
19625impl ::core::marker::Copy for D3D12_SHADER_CACHE_CONTROL_FLAGS {}
19626impl ::core::clone::Clone for D3D12_SHADER_CACHE_CONTROL_FLAGS {
19627 fn clone(&self) -> Self {
19628 *self
19629 }
19630}
19631impl ::core::default::Default for D3D12_SHADER_CACHE_CONTROL_FLAGS {
19632 fn default() -> Self {
19633 Self(0)
19634 }
19635}
19636impl ::windows_core::TypeKind for D3D12_SHADER_CACHE_CONTROL_FLAGS {
19637 type TypeKind = ::windows_core::CopyType;
19638}
19639impl ::core::fmt::Debug for D3D12_SHADER_CACHE_CONTROL_FLAGS {
19640 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19641 f.debug_tuple(name:"D3D12_SHADER_CACHE_CONTROL_FLAGS").field(&self.0).finish()
19642 }
19643}
19644impl D3D12_SHADER_CACHE_CONTROL_FLAGS {
19645 pub const fn contains(&self, other: Self) -> bool {
19646 self.0 & other.0 == other.0
19647 }
19648}
19649impl ::core::ops::BitOr for D3D12_SHADER_CACHE_CONTROL_FLAGS {
19650 type Output = Self;
19651 fn bitor(self, other: Self) -> Self {
19652 Self(self.0 | other.0)
19653 }
19654}
19655impl ::core::ops::BitAnd for D3D12_SHADER_CACHE_CONTROL_FLAGS {
19656 type Output = Self;
19657 fn bitand(self, other: Self) -> Self {
19658 Self(self.0 & other.0)
19659 }
19660}
19661impl ::core::ops::BitOrAssign for D3D12_SHADER_CACHE_CONTROL_FLAGS {
19662 fn bitor_assign(&mut self, other: Self) {
19663 self.0.bitor_assign(other.0)
19664 }
19665}
19666impl ::core::ops::BitAndAssign for D3D12_SHADER_CACHE_CONTROL_FLAGS {
19667 fn bitand_assign(&mut self, other: Self) {
19668 self.0.bitand_assign(other.0)
19669 }
19670}
19671impl ::core::ops::Not for D3D12_SHADER_CACHE_CONTROL_FLAGS {
19672 type Output = Self;
19673 fn not(self) -> Self {
19674 Self(self.0.not())
19675 }
19676}
19677#[repr(transparent)]
19678#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19679pub struct D3D12_SHADER_CACHE_FLAGS(pub i32);
19680impl ::core::marker::Copy for D3D12_SHADER_CACHE_FLAGS {}
19681impl ::core::clone::Clone for D3D12_SHADER_CACHE_FLAGS {
19682 fn clone(&self) -> Self {
19683 *self
19684 }
19685}
19686impl ::core::default::Default for D3D12_SHADER_CACHE_FLAGS {
19687 fn default() -> Self {
19688 Self(0)
19689 }
19690}
19691impl ::windows_core::TypeKind for D3D12_SHADER_CACHE_FLAGS {
19692 type TypeKind = ::windows_core::CopyType;
19693}
19694impl ::core::fmt::Debug for D3D12_SHADER_CACHE_FLAGS {
19695 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19696 f.debug_tuple(name:"D3D12_SHADER_CACHE_FLAGS").field(&self.0).finish()
19697 }
19698}
19699impl D3D12_SHADER_CACHE_FLAGS {
19700 pub const fn contains(&self, other: Self) -> bool {
19701 self.0 & other.0 == other.0
19702 }
19703}
19704impl ::core::ops::BitOr for D3D12_SHADER_CACHE_FLAGS {
19705 type Output = Self;
19706 fn bitor(self, other: Self) -> Self {
19707 Self(self.0 | other.0)
19708 }
19709}
19710impl ::core::ops::BitAnd for D3D12_SHADER_CACHE_FLAGS {
19711 type Output = Self;
19712 fn bitand(self, other: Self) -> Self {
19713 Self(self.0 & other.0)
19714 }
19715}
19716impl ::core::ops::BitOrAssign for D3D12_SHADER_CACHE_FLAGS {
19717 fn bitor_assign(&mut self, other: Self) {
19718 self.0.bitor_assign(other.0)
19719 }
19720}
19721impl ::core::ops::BitAndAssign for D3D12_SHADER_CACHE_FLAGS {
19722 fn bitand_assign(&mut self, other: Self) {
19723 self.0.bitand_assign(other.0)
19724 }
19725}
19726impl ::core::ops::Not for D3D12_SHADER_CACHE_FLAGS {
19727 type Output = Self;
19728 fn not(self) -> Self {
19729 Self(self.0.not())
19730 }
19731}
19732#[repr(transparent)]
19733#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19734pub struct D3D12_SHADER_CACHE_KIND_FLAGS(pub i32);
19735impl ::core::marker::Copy for D3D12_SHADER_CACHE_KIND_FLAGS {}
19736impl ::core::clone::Clone for D3D12_SHADER_CACHE_KIND_FLAGS {
19737 fn clone(&self) -> Self {
19738 *self
19739 }
19740}
19741impl ::core::default::Default for D3D12_SHADER_CACHE_KIND_FLAGS {
19742 fn default() -> Self {
19743 Self(0)
19744 }
19745}
19746impl ::windows_core::TypeKind for D3D12_SHADER_CACHE_KIND_FLAGS {
19747 type TypeKind = ::windows_core::CopyType;
19748}
19749impl ::core::fmt::Debug for D3D12_SHADER_CACHE_KIND_FLAGS {
19750 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19751 f.debug_tuple(name:"D3D12_SHADER_CACHE_KIND_FLAGS").field(&self.0).finish()
19752 }
19753}
19754impl D3D12_SHADER_CACHE_KIND_FLAGS {
19755 pub const fn contains(&self, other: Self) -> bool {
19756 self.0 & other.0 == other.0
19757 }
19758}
19759impl ::core::ops::BitOr for D3D12_SHADER_CACHE_KIND_FLAGS {
19760 type Output = Self;
19761 fn bitor(self, other: Self) -> Self {
19762 Self(self.0 | other.0)
19763 }
19764}
19765impl ::core::ops::BitAnd for D3D12_SHADER_CACHE_KIND_FLAGS {
19766 type Output = Self;
19767 fn bitand(self, other: Self) -> Self {
19768 Self(self.0 & other.0)
19769 }
19770}
19771impl ::core::ops::BitOrAssign for D3D12_SHADER_CACHE_KIND_FLAGS {
19772 fn bitor_assign(&mut self, other: Self) {
19773 self.0.bitor_assign(other.0)
19774 }
19775}
19776impl ::core::ops::BitAndAssign for D3D12_SHADER_CACHE_KIND_FLAGS {
19777 fn bitand_assign(&mut self, other: Self) {
19778 self.0.bitand_assign(other.0)
19779 }
19780}
19781impl ::core::ops::Not for D3D12_SHADER_CACHE_KIND_FLAGS {
19782 type Output = Self;
19783 fn not(self) -> Self {
19784 Self(self.0.not())
19785 }
19786}
19787#[repr(transparent)]
19788#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19789pub struct D3D12_SHADER_CACHE_MODE(pub i32);
19790impl ::core::marker::Copy for D3D12_SHADER_CACHE_MODE {}
19791impl ::core::clone::Clone for D3D12_SHADER_CACHE_MODE {
19792 fn clone(&self) -> Self {
19793 *self
19794 }
19795}
19796impl ::core::default::Default for D3D12_SHADER_CACHE_MODE {
19797 fn default() -> Self {
19798 Self(0)
19799 }
19800}
19801impl ::windows_core::TypeKind for D3D12_SHADER_CACHE_MODE {
19802 type TypeKind = ::windows_core::CopyType;
19803}
19804impl ::core::fmt::Debug for D3D12_SHADER_CACHE_MODE {
19805 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19806 f.debug_tuple(name:"D3D12_SHADER_CACHE_MODE").field(&self.0).finish()
19807 }
19808}
19809#[repr(transparent)]
19810#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19811pub struct D3D12_SHADER_CACHE_SUPPORT_FLAGS(pub i32);
19812impl ::core::marker::Copy for D3D12_SHADER_CACHE_SUPPORT_FLAGS {}
19813impl ::core::clone::Clone for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
19814 fn clone(&self) -> Self {
19815 *self
19816 }
19817}
19818impl ::core::default::Default for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
19819 fn default() -> Self {
19820 Self(0)
19821 }
19822}
19823impl ::windows_core::TypeKind for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
19824 type TypeKind = ::windows_core::CopyType;
19825}
19826impl ::core::fmt::Debug for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
19827 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19828 f.debug_tuple(name:"D3D12_SHADER_CACHE_SUPPORT_FLAGS").field(&self.0).finish()
19829 }
19830}
19831impl D3D12_SHADER_CACHE_SUPPORT_FLAGS {
19832 pub const fn contains(&self, other: Self) -> bool {
19833 self.0 & other.0 == other.0
19834 }
19835}
19836impl ::core::ops::BitOr for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
19837 type Output = Self;
19838 fn bitor(self, other: Self) -> Self {
19839 Self(self.0 | other.0)
19840 }
19841}
19842impl ::core::ops::BitAnd for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
19843 type Output = Self;
19844 fn bitand(self, other: Self) -> Self {
19845 Self(self.0 & other.0)
19846 }
19847}
19848impl ::core::ops::BitOrAssign for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
19849 fn bitor_assign(&mut self, other: Self) {
19850 self.0.bitor_assign(other.0)
19851 }
19852}
19853impl ::core::ops::BitAndAssign for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
19854 fn bitand_assign(&mut self, other: Self) {
19855 self.0.bitand_assign(other.0)
19856 }
19857}
19858impl ::core::ops::Not for D3D12_SHADER_CACHE_SUPPORT_FLAGS {
19859 type Output = Self;
19860 fn not(self) -> Self {
19861 Self(self.0.not())
19862 }
19863}
19864#[repr(transparent)]
19865#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19866pub struct D3D12_SHADER_COMPONENT_MAPPING(pub i32);
19867impl ::core::marker::Copy for D3D12_SHADER_COMPONENT_MAPPING {}
19868impl ::core::clone::Clone for D3D12_SHADER_COMPONENT_MAPPING {
19869 fn clone(&self) -> Self {
19870 *self
19871 }
19872}
19873impl ::core::default::Default for D3D12_SHADER_COMPONENT_MAPPING {
19874 fn default() -> Self {
19875 Self(0)
19876 }
19877}
19878impl ::windows_core::TypeKind for D3D12_SHADER_COMPONENT_MAPPING {
19879 type TypeKind = ::windows_core::CopyType;
19880}
19881impl ::core::fmt::Debug for D3D12_SHADER_COMPONENT_MAPPING {
19882 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19883 f.debug_tuple(name:"D3D12_SHADER_COMPONENT_MAPPING").field(&self.0).finish()
19884 }
19885}
19886#[repr(transparent)]
19887#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19888pub struct D3D12_SHADER_MIN_PRECISION_SUPPORT(pub i32);
19889impl ::core::marker::Copy for D3D12_SHADER_MIN_PRECISION_SUPPORT {}
19890impl ::core::clone::Clone for D3D12_SHADER_MIN_PRECISION_SUPPORT {
19891 fn clone(&self) -> Self {
19892 *self
19893 }
19894}
19895impl ::core::default::Default for D3D12_SHADER_MIN_PRECISION_SUPPORT {
19896 fn default() -> Self {
19897 Self(0)
19898 }
19899}
19900impl ::windows_core::TypeKind for D3D12_SHADER_MIN_PRECISION_SUPPORT {
19901 type TypeKind = ::windows_core::CopyType;
19902}
19903impl ::core::fmt::Debug for D3D12_SHADER_MIN_PRECISION_SUPPORT {
19904 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19905 f.debug_tuple(name:"D3D12_SHADER_MIN_PRECISION_SUPPORT").field(&self.0).finish()
19906 }
19907}
19908impl D3D12_SHADER_MIN_PRECISION_SUPPORT {
19909 pub const fn contains(&self, other: Self) -> bool {
19910 self.0 & other.0 == other.0
19911 }
19912}
19913impl ::core::ops::BitOr for D3D12_SHADER_MIN_PRECISION_SUPPORT {
19914 type Output = Self;
19915 fn bitor(self, other: Self) -> Self {
19916 Self(self.0 | other.0)
19917 }
19918}
19919impl ::core::ops::BitAnd for D3D12_SHADER_MIN_PRECISION_SUPPORT {
19920 type Output = Self;
19921 fn bitand(self, other: Self) -> Self {
19922 Self(self.0 & other.0)
19923 }
19924}
19925impl ::core::ops::BitOrAssign for D3D12_SHADER_MIN_PRECISION_SUPPORT {
19926 fn bitor_assign(&mut self, other: Self) {
19927 self.0.bitor_assign(other.0)
19928 }
19929}
19930impl ::core::ops::BitAndAssign for D3D12_SHADER_MIN_PRECISION_SUPPORT {
19931 fn bitand_assign(&mut self, other: Self) {
19932 self.0.bitand_assign(other.0)
19933 }
19934}
19935impl ::core::ops::Not for D3D12_SHADER_MIN_PRECISION_SUPPORT {
19936 type Output = Self;
19937 fn not(self) -> Self {
19938 Self(self.0.not())
19939 }
19940}
19941#[repr(transparent)]
19942#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19943pub struct D3D12_SHADER_VERSION_TYPE(pub i32);
19944impl ::core::marker::Copy for D3D12_SHADER_VERSION_TYPE {}
19945impl ::core::clone::Clone for D3D12_SHADER_VERSION_TYPE {
19946 fn clone(&self) -> Self {
19947 *self
19948 }
19949}
19950impl ::core::default::Default for D3D12_SHADER_VERSION_TYPE {
19951 fn default() -> Self {
19952 Self(0)
19953 }
19954}
19955impl ::windows_core::TypeKind for D3D12_SHADER_VERSION_TYPE {
19956 type TypeKind = ::windows_core::CopyType;
19957}
19958impl ::core::fmt::Debug for D3D12_SHADER_VERSION_TYPE {
19959 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19960 f.debug_tuple(name:"D3D12_SHADER_VERSION_TYPE").field(&self.0).finish()
19961 }
19962}
19963#[repr(transparent)]
19964#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19965pub struct D3D12_SHADER_VISIBILITY(pub i32);
19966impl ::core::marker::Copy for D3D12_SHADER_VISIBILITY {}
19967impl ::core::clone::Clone for D3D12_SHADER_VISIBILITY {
19968 fn clone(&self) -> Self {
19969 *self
19970 }
19971}
19972impl ::core::default::Default for D3D12_SHADER_VISIBILITY {
19973 fn default() -> Self {
19974 Self(0)
19975 }
19976}
19977impl ::windows_core::TypeKind for D3D12_SHADER_VISIBILITY {
19978 type TypeKind = ::windows_core::CopyType;
19979}
19980impl ::core::fmt::Debug for D3D12_SHADER_VISIBILITY {
19981 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
19982 f.debug_tuple(name:"D3D12_SHADER_VISIBILITY").field(&self.0).finish()
19983 }
19984}
19985#[repr(transparent)]
19986#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
19987pub struct D3D12_SHADING_RATE(pub i32);
19988impl ::core::marker::Copy for D3D12_SHADING_RATE {}
19989impl ::core::clone::Clone for D3D12_SHADING_RATE {
19990 fn clone(&self) -> Self {
19991 *self
19992 }
19993}
19994impl ::core::default::Default for D3D12_SHADING_RATE {
19995 fn default() -> Self {
19996 Self(0)
19997 }
19998}
19999impl ::windows_core::TypeKind for D3D12_SHADING_RATE {
20000 type TypeKind = ::windows_core::CopyType;
20001}
20002impl ::core::fmt::Debug for D3D12_SHADING_RATE {
20003 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20004 f.debug_tuple(name:"D3D12_SHADING_RATE").field(&self.0).finish()
20005 }
20006}
20007#[repr(transparent)]
20008#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20009pub struct D3D12_SHADING_RATE_COMBINER(pub i32);
20010impl ::core::marker::Copy for D3D12_SHADING_RATE_COMBINER {}
20011impl ::core::clone::Clone for D3D12_SHADING_RATE_COMBINER {
20012 fn clone(&self) -> Self {
20013 *self
20014 }
20015}
20016impl ::core::default::Default for D3D12_SHADING_RATE_COMBINER {
20017 fn default() -> Self {
20018 Self(0)
20019 }
20020}
20021impl ::windows_core::TypeKind for D3D12_SHADING_RATE_COMBINER {
20022 type TypeKind = ::windows_core::CopyType;
20023}
20024impl ::core::fmt::Debug for D3D12_SHADING_RATE_COMBINER {
20025 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20026 f.debug_tuple(name:"D3D12_SHADING_RATE_COMBINER").field(&self.0).finish()
20027 }
20028}
20029#[repr(transparent)]
20030#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20031pub struct D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER(pub i32);
20032impl ::core::marker::Copy for D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER {}
20033impl ::core::clone::Clone for D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER {
20034 fn clone(&self) -> Self {
20035 *self
20036 }
20037}
20038impl ::core::default::Default for D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER {
20039 fn default() -> Self {
20040 Self(0)
20041 }
20042}
20043impl ::windows_core::TypeKind for D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER {
20044 type TypeKind = ::windows_core::CopyType;
20045}
20046impl ::core::fmt::Debug for D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER {
20047 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20048 f.debug_tuple(name:"D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER").field(&self.0).finish()
20049 }
20050}
20051#[repr(transparent)]
20052#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20053pub struct D3D12_SRV_DIMENSION(pub i32);
20054impl ::core::marker::Copy for D3D12_SRV_DIMENSION {}
20055impl ::core::clone::Clone for D3D12_SRV_DIMENSION {
20056 fn clone(&self) -> Self {
20057 *self
20058 }
20059}
20060impl ::core::default::Default for D3D12_SRV_DIMENSION {
20061 fn default() -> Self {
20062 Self(0)
20063 }
20064}
20065impl ::windows_core::TypeKind for D3D12_SRV_DIMENSION {
20066 type TypeKind = ::windows_core::CopyType;
20067}
20068impl ::core::fmt::Debug for D3D12_SRV_DIMENSION {
20069 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20070 f.debug_tuple(name:"D3D12_SRV_DIMENSION").field(&self.0).finish()
20071 }
20072}
20073#[repr(transparent)]
20074#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20075pub struct D3D12_STATE_OBJECT_FLAGS(pub i32);
20076impl ::core::marker::Copy for D3D12_STATE_OBJECT_FLAGS {}
20077impl ::core::clone::Clone for D3D12_STATE_OBJECT_FLAGS {
20078 fn clone(&self) -> Self {
20079 *self
20080 }
20081}
20082impl ::core::default::Default for D3D12_STATE_OBJECT_FLAGS {
20083 fn default() -> Self {
20084 Self(0)
20085 }
20086}
20087impl ::windows_core::TypeKind for D3D12_STATE_OBJECT_FLAGS {
20088 type TypeKind = ::windows_core::CopyType;
20089}
20090impl ::core::fmt::Debug for D3D12_STATE_OBJECT_FLAGS {
20091 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20092 f.debug_tuple(name:"D3D12_STATE_OBJECT_FLAGS").field(&self.0).finish()
20093 }
20094}
20095impl D3D12_STATE_OBJECT_FLAGS {
20096 pub const fn contains(&self, other: Self) -> bool {
20097 self.0 & other.0 == other.0
20098 }
20099}
20100impl ::core::ops::BitOr for D3D12_STATE_OBJECT_FLAGS {
20101 type Output = Self;
20102 fn bitor(self, other: Self) -> Self {
20103 Self(self.0 | other.0)
20104 }
20105}
20106impl ::core::ops::BitAnd for D3D12_STATE_OBJECT_FLAGS {
20107 type Output = Self;
20108 fn bitand(self, other: Self) -> Self {
20109 Self(self.0 & other.0)
20110 }
20111}
20112impl ::core::ops::BitOrAssign for D3D12_STATE_OBJECT_FLAGS {
20113 fn bitor_assign(&mut self, other: Self) {
20114 self.0.bitor_assign(other.0)
20115 }
20116}
20117impl ::core::ops::BitAndAssign for D3D12_STATE_OBJECT_FLAGS {
20118 fn bitand_assign(&mut self, other: Self) {
20119 self.0.bitand_assign(other.0)
20120 }
20121}
20122impl ::core::ops::Not for D3D12_STATE_OBJECT_FLAGS {
20123 type Output = Self;
20124 fn not(self) -> Self {
20125 Self(self.0.not())
20126 }
20127}
20128#[repr(transparent)]
20129#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20130pub struct D3D12_STATE_OBJECT_TYPE(pub i32);
20131impl ::core::marker::Copy for D3D12_STATE_OBJECT_TYPE {}
20132impl ::core::clone::Clone for D3D12_STATE_OBJECT_TYPE {
20133 fn clone(&self) -> Self {
20134 *self
20135 }
20136}
20137impl ::core::default::Default for D3D12_STATE_OBJECT_TYPE {
20138 fn default() -> Self {
20139 Self(0)
20140 }
20141}
20142impl ::windows_core::TypeKind for D3D12_STATE_OBJECT_TYPE {
20143 type TypeKind = ::windows_core::CopyType;
20144}
20145impl ::core::fmt::Debug for D3D12_STATE_OBJECT_TYPE {
20146 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20147 f.debug_tuple(name:"D3D12_STATE_OBJECT_TYPE").field(&self.0).finish()
20148 }
20149}
20150#[repr(transparent)]
20151#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20152pub struct D3D12_STATE_SUBOBJECT_TYPE(pub i32);
20153impl ::core::marker::Copy for D3D12_STATE_SUBOBJECT_TYPE {}
20154impl ::core::clone::Clone for D3D12_STATE_SUBOBJECT_TYPE {
20155 fn clone(&self) -> Self {
20156 *self
20157 }
20158}
20159impl ::core::default::Default for D3D12_STATE_SUBOBJECT_TYPE {
20160 fn default() -> Self {
20161 Self(0)
20162 }
20163}
20164impl ::windows_core::TypeKind for D3D12_STATE_SUBOBJECT_TYPE {
20165 type TypeKind = ::windows_core::CopyType;
20166}
20167impl ::core::fmt::Debug for D3D12_STATE_SUBOBJECT_TYPE {
20168 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20169 f.debug_tuple(name:"D3D12_STATE_SUBOBJECT_TYPE").field(&self.0).finish()
20170 }
20171}
20172#[repr(transparent)]
20173#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20174pub struct D3D12_STATIC_BORDER_COLOR(pub i32);
20175impl ::core::marker::Copy for D3D12_STATIC_BORDER_COLOR {}
20176impl ::core::clone::Clone for D3D12_STATIC_BORDER_COLOR {
20177 fn clone(&self) -> Self {
20178 *self
20179 }
20180}
20181impl ::core::default::Default for D3D12_STATIC_BORDER_COLOR {
20182 fn default() -> Self {
20183 Self(0)
20184 }
20185}
20186impl ::windows_core::TypeKind for D3D12_STATIC_BORDER_COLOR {
20187 type TypeKind = ::windows_core::CopyType;
20188}
20189impl ::core::fmt::Debug for D3D12_STATIC_BORDER_COLOR {
20190 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20191 f.debug_tuple(name:"D3D12_STATIC_BORDER_COLOR").field(&self.0).finish()
20192 }
20193}
20194#[repr(transparent)]
20195#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20196pub struct D3D12_STENCIL_OP(pub i32);
20197impl ::core::marker::Copy for D3D12_STENCIL_OP {}
20198impl ::core::clone::Clone for D3D12_STENCIL_OP {
20199 fn clone(&self) -> Self {
20200 *self
20201 }
20202}
20203impl ::core::default::Default for D3D12_STENCIL_OP {
20204 fn default() -> Self {
20205 Self(0)
20206 }
20207}
20208impl ::windows_core::TypeKind for D3D12_STENCIL_OP {
20209 type TypeKind = ::windows_core::CopyType;
20210}
20211impl ::core::fmt::Debug for D3D12_STENCIL_OP {
20212 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20213 f.debug_tuple(name:"D3D12_STENCIL_OP").field(&self.0).finish()
20214 }
20215}
20216#[repr(transparent)]
20217#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20218pub struct D3D12_TEXTURE_ADDRESS_MODE(pub i32);
20219impl ::core::marker::Copy for D3D12_TEXTURE_ADDRESS_MODE {}
20220impl ::core::clone::Clone for D3D12_TEXTURE_ADDRESS_MODE {
20221 fn clone(&self) -> Self {
20222 *self
20223 }
20224}
20225impl ::core::default::Default for D3D12_TEXTURE_ADDRESS_MODE {
20226 fn default() -> Self {
20227 Self(0)
20228 }
20229}
20230impl ::windows_core::TypeKind for D3D12_TEXTURE_ADDRESS_MODE {
20231 type TypeKind = ::windows_core::CopyType;
20232}
20233impl ::core::fmt::Debug for D3D12_TEXTURE_ADDRESS_MODE {
20234 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20235 f.debug_tuple(name:"D3D12_TEXTURE_ADDRESS_MODE").field(&self.0).finish()
20236 }
20237}
20238#[repr(transparent)]
20239#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20240pub struct D3D12_TEXTURE_BARRIER_FLAGS(pub i32);
20241impl ::core::marker::Copy for D3D12_TEXTURE_BARRIER_FLAGS {}
20242impl ::core::clone::Clone for D3D12_TEXTURE_BARRIER_FLAGS {
20243 fn clone(&self) -> Self {
20244 *self
20245 }
20246}
20247impl ::core::default::Default for D3D12_TEXTURE_BARRIER_FLAGS {
20248 fn default() -> Self {
20249 Self(0)
20250 }
20251}
20252impl ::windows_core::TypeKind for D3D12_TEXTURE_BARRIER_FLAGS {
20253 type TypeKind = ::windows_core::CopyType;
20254}
20255impl ::core::fmt::Debug for D3D12_TEXTURE_BARRIER_FLAGS {
20256 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20257 f.debug_tuple(name:"D3D12_TEXTURE_BARRIER_FLAGS").field(&self.0).finish()
20258 }
20259}
20260impl D3D12_TEXTURE_BARRIER_FLAGS {
20261 pub const fn contains(&self, other: Self) -> bool {
20262 self.0 & other.0 == other.0
20263 }
20264}
20265impl ::core::ops::BitOr for D3D12_TEXTURE_BARRIER_FLAGS {
20266 type Output = Self;
20267 fn bitor(self, other: Self) -> Self {
20268 Self(self.0 | other.0)
20269 }
20270}
20271impl ::core::ops::BitAnd for D3D12_TEXTURE_BARRIER_FLAGS {
20272 type Output = Self;
20273 fn bitand(self, other: Self) -> Self {
20274 Self(self.0 & other.0)
20275 }
20276}
20277impl ::core::ops::BitOrAssign for D3D12_TEXTURE_BARRIER_FLAGS {
20278 fn bitor_assign(&mut self, other: Self) {
20279 self.0.bitor_assign(other.0)
20280 }
20281}
20282impl ::core::ops::BitAndAssign for D3D12_TEXTURE_BARRIER_FLAGS {
20283 fn bitand_assign(&mut self, other: Self) {
20284 self.0.bitand_assign(other.0)
20285 }
20286}
20287impl ::core::ops::Not for D3D12_TEXTURE_BARRIER_FLAGS {
20288 type Output = Self;
20289 fn not(self) -> Self {
20290 Self(self.0.not())
20291 }
20292}
20293#[repr(transparent)]
20294#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20295pub struct D3D12_TEXTURE_COPY_TYPE(pub i32);
20296impl ::core::marker::Copy for D3D12_TEXTURE_COPY_TYPE {}
20297impl ::core::clone::Clone for D3D12_TEXTURE_COPY_TYPE {
20298 fn clone(&self) -> Self {
20299 *self
20300 }
20301}
20302impl ::core::default::Default for D3D12_TEXTURE_COPY_TYPE {
20303 fn default() -> Self {
20304 Self(0)
20305 }
20306}
20307impl ::windows_core::TypeKind for D3D12_TEXTURE_COPY_TYPE {
20308 type TypeKind = ::windows_core::CopyType;
20309}
20310impl ::core::fmt::Debug for D3D12_TEXTURE_COPY_TYPE {
20311 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20312 f.debug_tuple(name:"D3D12_TEXTURE_COPY_TYPE").field(&self.0).finish()
20313 }
20314}
20315#[repr(transparent)]
20316#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20317pub struct D3D12_TEXTURE_LAYOUT(pub i32);
20318impl ::core::marker::Copy for D3D12_TEXTURE_LAYOUT {}
20319impl ::core::clone::Clone for D3D12_TEXTURE_LAYOUT {
20320 fn clone(&self) -> Self {
20321 *self
20322 }
20323}
20324impl ::core::default::Default for D3D12_TEXTURE_LAYOUT {
20325 fn default() -> Self {
20326 Self(0)
20327 }
20328}
20329impl ::windows_core::TypeKind for D3D12_TEXTURE_LAYOUT {
20330 type TypeKind = ::windows_core::CopyType;
20331}
20332impl ::core::fmt::Debug for D3D12_TEXTURE_LAYOUT {
20333 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20334 f.debug_tuple(name:"D3D12_TEXTURE_LAYOUT").field(&self.0).finish()
20335 }
20336}
20337#[repr(transparent)]
20338#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20339pub struct D3D12_TILED_RESOURCES_TIER(pub i32);
20340impl ::core::marker::Copy for D3D12_TILED_RESOURCES_TIER {}
20341impl ::core::clone::Clone for D3D12_TILED_RESOURCES_TIER {
20342 fn clone(&self) -> Self {
20343 *self
20344 }
20345}
20346impl ::core::default::Default for D3D12_TILED_RESOURCES_TIER {
20347 fn default() -> Self {
20348 Self(0)
20349 }
20350}
20351impl ::windows_core::TypeKind for D3D12_TILED_RESOURCES_TIER {
20352 type TypeKind = ::windows_core::CopyType;
20353}
20354impl ::core::fmt::Debug for D3D12_TILED_RESOURCES_TIER {
20355 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20356 f.debug_tuple(name:"D3D12_TILED_RESOURCES_TIER").field(&self.0).finish()
20357 }
20358}
20359#[repr(transparent)]
20360#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20361pub struct D3D12_TILE_COPY_FLAGS(pub i32);
20362impl ::core::marker::Copy for D3D12_TILE_COPY_FLAGS {}
20363impl ::core::clone::Clone for D3D12_TILE_COPY_FLAGS {
20364 fn clone(&self) -> Self {
20365 *self
20366 }
20367}
20368impl ::core::default::Default for D3D12_TILE_COPY_FLAGS {
20369 fn default() -> Self {
20370 Self(0)
20371 }
20372}
20373impl ::windows_core::TypeKind for D3D12_TILE_COPY_FLAGS {
20374 type TypeKind = ::windows_core::CopyType;
20375}
20376impl ::core::fmt::Debug for D3D12_TILE_COPY_FLAGS {
20377 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20378 f.debug_tuple(name:"D3D12_TILE_COPY_FLAGS").field(&self.0).finish()
20379 }
20380}
20381impl D3D12_TILE_COPY_FLAGS {
20382 pub const fn contains(&self, other: Self) -> bool {
20383 self.0 & other.0 == other.0
20384 }
20385}
20386impl ::core::ops::BitOr for D3D12_TILE_COPY_FLAGS {
20387 type Output = Self;
20388 fn bitor(self, other: Self) -> Self {
20389 Self(self.0 | other.0)
20390 }
20391}
20392impl ::core::ops::BitAnd for D3D12_TILE_COPY_FLAGS {
20393 type Output = Self;
20394 fn bitand(self, other: Self) -> Self {
20395 Self(self.0 & other.0)
20396 }
20397}
20398impl ::core::ops::BitOrAssign for D3D12_TILE_COPY_FLAGS {
20399 fn bitor_assign(&mut self, other: Self) {
20400 self.0.bitor_assign(other.0)
20401 }
20402}
20403impl ::core::ops::BitAndAssign for D3D12_TILE_COPY_FLAGS {
20404 fn bitand_assign(&mut self, other: Self) {
20405 self.0.bitand_assign(other.0)
20406 }
20407}
20408impl ::core::ops::Not for D3D12_TILE_COPY_FLAGS {
20409 type Output = Self;
20410 fn not(self) -> Self {
20411 Self(self.0.not())
20412 }
20413}
20414#[repr(transparent)]
20415#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20416pub struct D3D12_TILE_MAPPING_FLAGS(pub i32);
20417impl ::core::marker::Copy for D3D12_TILE_MAPPING_FLAGS {}
20418impl ::core::clone::Clone for D3D12_TILE_MAPPING_FLAGS {
20419 fn clone(&self) -> Self {
20420 *self
20421 }
20422}
20423impl ::core::default::Default for D3D12_TILE_MAPPING_FLAGS {
20424 fn default() -> Self {
20425 Self(0)
20426 }
20427}
20428impl ::windows_core::TypeKind for D3D12_TILE_MAPPING_FLAGS {
20429 type TypeKind = ::windows_core::CopyType;
20430}
20431impl ::core::fmt::Debug for D3D12_TILE_MAPPING_FLAGS {
20432 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20433 f.debug_tuple(name:"D3D12_TILE_MAPPING_FLAGS").field(&self.0).finish()
20434 }
20435}
20436impl D3D12_TILE_MAPPING_FLAGS {
20437 pub const fn contains(&self, other: Self) -> bool {
20438 self.0 & other.0 == other.0
20439 }
20440}
20441impl ::core::ops::BitOr for D3D12_TILE_MAPPING_FLAGS {
20442 type Output = Self;
20443 fn bitor(self, other: Self) -> Self {
20444 Self(self.0 | other.0)
20445 }
20446}
20447impl ::core::ops::BitAnd for D3D12_TILE_MAPPING_FLAGS {
20448 type Output = Self;
20449 fn bitand(self, other: Self) -> Self {
20450 Self(self.0 & other.0)
20451 }
20452}
20453impl ::core::ops::BitOrAssign for D3D12_TILE_MAPPING_FLAGS {
20454 fn bitor_assign(&mut self, other: Self) {
20455 self.0.bitor_assign(other.0)
20456 }
20457}
20458impl ::core::ops::BitAndAssign for D3D12_TILE_MAPPING_FLAGS {
20459 fn bitand_assign(&mut self, other: Self) {
20460 self.0.bitand_assign(other.0)
20461 }
20462}
20463impl ::core::ops::Not for D3D12_TILE_MAPPING_FLAGS {
20464 type Output = Self;
20465 fn not(self) -> Self {
20466 Self(self.0.not())
20467 }
20468}
20469#[repr(transparent)]
20470#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20471pub struct D3D12_TILE_RANGE_FLAGS(pub i32);
20472impl ::core::marker::Copy for D3D12_TILE_RANGE_FLAGS {}
20473impl ::core::clone::Clone for D3D12_TILE_RANGE_FLAGS {
20474 fn clone(&self) -> Self {
20475 *self
20476 }
20477}
20478impl ::core::default::Default for D3D12_TILE_RANGE_FLAGS {
20479 fn default() -> Self {
20480 Self(0)
20481 }
20482}
20483impl ::windows_core::TypeKind for D3D12_TILE_RANGE_FLAGS {
20484 type TypeKind = ::windows_core::CopyType;
20485}
20486impl ::core::fmt::Debug for D3D12_TILE_RANGE_FLAGS {
20487 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20488 f.debug_tuple(name:"D3D12_TILE_RANGE_FLAGS").field(&self.0).finish()
20489 }
20490}
20491#[repr(transparent)]
20492#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20493pub struct D3D12_TRI_STATE(pub i32);
20494impl ::core::marker::Copy for D3D12_TRI_STATE {}
20495impl ::core::clone::Clone for D3D12_TRI_STATE {
20496 fn clone(&self) -> Self {
20497 *self
20498 }
20499}
20500impl ::core::default::Default for D3D12_TRI_STATE {
20501 fn default() -> Self {
20502 Self(0)
20503 }
20504}
20505impl ::windows_core::TypeKind for D3D12_TRI_STATE {
20506 type TypeKind = ::windows_core::CopyType;
20507}
20508impl ::core::fmt::Debug for D3D12_TRI_STATE {
20509 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20510 f.debug_tuple(name:"D3D12_TRI_STATE").field(&self.0).finish()
20511 }
20512}
20513#[repr(transparent)]
20514#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20515pub struct D3D12_UAV_DIMENSION(pub i32);
20516impl ::core::marker::Copy for D3D12_UAV_DIMENSION {}
20517impl ::core::clone::Clone for D3D12_UAV_DIMENSION {
20518 fn clone(&self) -> Self {
20519 *self
20520 }
20521}
20522impl ::core::default::Default for D3D12_UAV_DIMENSION {
20523 fn default() -> Self {
20524 Self(0)
20525 }
20526}
20527impl ::windows_core::TypeKind for D3D12_UAV_DIMENSION {
20528 type TypeKind = ::windows_core::CopyType;
20529}
20530impl ::core::fmt::Debug for D3D12_UAV_DIMENSION {
20531 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20532 f.debug_tuple(name:"D3D12_UAV_DIMENSION").field(&self.0).finish()
20533 }
20534}
20535#[repr(transparent)]
20536#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20537pub struct D3D12_VARIABLE_SHADING_RATE_TIER(pub i32);
20538impl ::core::marker::Copy for D3D12_VARIABLE_SHADING_RATE_TIER {}
20539impl ::core::clone::Clone for D3D12_VARIABLE_SHADING_RATE_TIER {
20540 fn clone(&self) -> Self {
20541 *self
20542 }
20543}
20544impl ::core::default::Default for D3D12_VARIABLE_SHADING_RATE_TIER {
20545 fn default() -> Self {
20546 Self(0)
20547 }
20548}
20549impl ::windows_core::TypeKind for D3D12_VARIABLE_SHADING_RATE_TIER {
20550 type TypeKind = ::windows_core::CopyType;
20551}
20552impl ::core::fmt::Debug for D3D12_VARIABLE_SHADING_RATE_TIER {
20553 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20554 f.debug_tuple(name:"D3D12_VARIABLE_SHADING_RATE_TIER").field(&self.0).finish()
20555 }
20556}
20557#[repr(transparent)]
20558#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20559pub struct D3D12_VIEW_INSTANCING_FLAGS(pub i32);
20560impl ::core::marker::Copy for D3D12_VIEW_INSTANCING_FLAGS {}
20561impl ::core::clone::Clone for D3D12_VIEW_INSTANCING_FLAGS {
20562 fn clone(&self) -> Self {
20563 *self
20564 }
20565}
20566impl ::core::default::Default for D3D12_VIEW_INSTANCING_FLAGS {
20567 fn default() -> Self {
20568 Self(0)
20569 }
20570}
20571impl ::windows_core::TypeKind for D3D12_VIEW_INSTANCING_FLAGS {
20572 type TypeKind = ::windows_core::CopyType;
20573}
20574impl ::core::fmt::Debug for D3D12_VIEW_INSTANCING_FLAGS {
20575 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20576 f.debug_tuple(name:"D3D12_VIEW_INSTANCING_FLAGS").field(&self.0).finish()
20577 }
20578}
20579impl D3D12_VIEW_INSTANCING_FLAGS {
20580 pub const fn contains(&self, other: Self) -> bool {
20581 self.0 & other.0 == other.0
20582 }
20583}
20584impl ::core::ops::BitOr for D3D12_VIEW_INSTANCING_FLAGS {
20585 type Output = Self;
20586 fn bitor(self, other: Self) -> Self {
20587 Self(self.0 | other.0)
20588 }
20589}
20590impl ::core::ops::BitAnd for D3D12_VIEW_INSTANCING_FLAGS {
20591 type Output = Self;
20592 fn bitand(self, other: Self) -> Self {
20593 Self(self.0 & other.0)
20594 }
20595}
20596impl ::core::ops::BitOrAssign for D3D12_VIEW_INSTANCING_FLAGS {
20597 fn bitor_assign(&mut self, other: Self) {
20598 self.0.bitor_assign(other.0)
20599 }
20600}
20601impl ::core::ops::BitAndAssign for D3D12_VIEW_INSTANCING_FLAGS {
20602 fn bitand_assign(&mut self, other: Self) {
20603 self.0.bitand_assign(other.0)
20604 }
20605}
20606impl ::core::ops::Not for D3D12_VIEW_INSTANCING_FLAGS {
20607 type Output = Self;
20608 fn not(self) -> Self {
20609 Self(self.0.not())
20610 }
20611}
20612#[repr(transparent)]
20613#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20614pub struct D3D12_VIEW_INSTANCING_TIER(pub i32);
20615impl ::core::marker::Copy for D3D12_VIEW_INSTANCING_TIER {}
20616impl ::core::clone::Clone for D3D12_VIEW_INSTANCING_TIER {
20617 fn clone(&self) -> Self {
20618 *self
20619 }
20620}
20621impl ::core::default::Default for D3D12_VIEW_INSTANCING_TIER {
20622 fn default() -> Self {
20623 Self(0)
20624 }
20625}
20626impl ::windows_core::TypeKind for D3D12_VIEW_INSTANCING_TIER {
20627 type TypeKind = ::windows_core::CopyType;
20628}
20629impl ::core::fmt::Debug for D3D12_VIEW_INSTANCING_TIER {
20630 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20631 f.debug_tuple(name:"D3D12_VIEW_INSTANCING_TIER").field(&self.0).finish()
20632 }
20633}
20634#[repr(transparent)]
20635#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20636pub struct D3D12_WAVE_MMA_TIER(pub i32);
20637impl ::core::marker::Copy for D3D12_WAVE_MMA_TIER {}
20638impl ::core::clone::Clone for D3D12_WAVE_MMA_TIER {
20639 fn clone(&self) -> Self {
20640 *self
20641 }
20642}
20643impl ::core::default::Default for D3D12_WAVE_MMA_TIER {
20644 fn default() -> Self {
20645 Self(0)
20646 }
20647}
20648impl ::windows_core::TypeKind for D3D12_WAVE_MMA_TIER {
20649 type TypeKind = ::windows_core::CopyType;
20650}
20651impl ::core::fmt::Debug for D3D12_WAVE_MMA_TIER {
20652 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20653 f.debug_tuple(name:"D3D12_WAVE_MMA_TIER").field(&self.0).finish()
20654 }
20655}
20656#[repr(transparent)]
20657#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20658pub struct D3D12_WRITEBUFFERIMMEDIATE_MODE(pub i32);
20659impl ::core::marker::Copy for D3D12_WRITEBUFFERIMMEDIATE_MODE {}
20660impl ::core::clone::Clone for D3D12_WRITEBUFFERIMMEDIATE_MODE {
20661 fn clone(&self) -> Self {
20662 *self
20663 }
20664}
20665impl ::core::default::Default for D3D12_WRITEBUFFERIMMEDIATE_MODE {
20666 fn default() -> Self {
20667 Self(0)
20668 }
20669}
20670impl ::windows_core::TypeKind for D3D12_WRITEBUFFERIMMEDIATE_MODE {
20671 type TypeKind = ::windows_core::CopyType;
20672}
20673impl ::core::fmt::Debug for D3D12_WRITEBUFFERIMMEDIATE_MODE {
20674 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20675 f.debug_tuple(name:"D3D12_WRITEBUFFERIMMEDIATE_MODE").field(&self.0).finish()
20676 }
20677}
20678#[repr(transparent)]
20679#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20680pub struct D3D_ROOT_SIGNATURE_VERSION(pub i32);
20681impl ::core::marker::Copy for D3D_ROOT_SIGNATURE_VERSION {}
20682impl ::core::clone::Clone for D3D_ROOT_SIGNATURE_VERSION {
20683 fn clone(&self) -> Self {
20684 *self
20685 }
20686}
20687impl ::core::default::Default for D3D_ROOT_SIGNATURE_VERSION {
20688 fn default() -> Self {
20689 Self(0)
20690 }
20691}
20692impl ::windows_core::TypeKind for D3D_ROOT_SIGNATURE_VERSION {
20693 type TypeKind = ::windows_core::CopyType;
20694}
20695impl ::core::fmt::Debug for D3D_ROOT_SIGNATURE_VERSION {
20696 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20697 f.debug_tuple(name:"D3D_ROOT_SIGNATURE_VERSION").field(&self.0).finish()
20698 }
20699}
20700#[repr(transparent)]
20701#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
20702pub struct D3D_SHADER_MODEL(pub i32);
20703impl ::core::marker::Copy for D3D_SHADER_MODEL {}
20704impl ::core::clone::Clone for D3D_SHADER_MODEL {
20705 fn clone(&self) -> Self {
20706 *self
20707 }
20708}
20709impl ::core::default::Default for D3D_SHADER_MODEL {
20710 fn default() -> Self {
20711 Self(0)
20712 }
20713}
20714impl ::windows_core::TypeKind for D3D_SHADER_MODEL {
20715 type TypeKind = ::windows_core::CopyType;
20716}
20717impl ::core::fmt::Debug for D3D_SHADER_MODEL {
20718 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20719 f.debug_tuple(name:"D3D_SHADER_MODEL").field(&self.0).finish()
20720 }
20721}
20722#[repr(C)]
20723pub struct D3D12_AUTO_BREADCRUMB_NODE {
20724 pub pCommandListDebugNameA: *const u8,
20725 pub pCommandListDebugNameW: ::windows_core::PCWSTR,
20726 pub pCommandQueueDebugNameA: *const u8,
20727 pub pCommandQueueDebugNameW: ::windows_core::PCWSTR,
20728 pub pCommandList: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12GraphicsCommandList>>,
20729 pub pCommandQueue: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12CommandQueue>>,
20730 pub BreadcrumbCount: u32,
20731 pub pLastBreadcrumbValue: *const u32,
20732 pub pCommandHistory: *const D3D12_AUTO_BREADCRUMB_OP,
20733 pub pNext: *const D3D12_AUTO_BREADCRUMB_NODE,
20734}
20735impl ::core::clone::Clone for D3D12_AUTO_BREADCRUMB_NODE {
20736 fn clone(&self) -> Self {
20737 unsafe { ::core::mem::transmute_copy(self) }
20738 }
20739}
20740impl ::core::fmt::Debug for D3D12_AUTO_BREADCRUMB_NODE {
20741 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20742 f&mut DebugStruct<'_, '_>.debug_struct("D3D12_AUTO_BREADCRUMB_NODE")
20743 .field("pCommandListDebugNameA", &self.pCommandListDebugNameA)
20744 .field("pCommandListDebugNameW", &self.pCommandListDebugNameW)
20745 .field("pCommandQueueDebugNameA", &self.pCommandQueueDebugNameA)
20746 .field("pCommandQueueDebugNameW", &self.pCommandQueueDebugNameW)
20747 .field("pCommandList", &self.pCommandList)
20748 .field("pCommandQueue", &self.pCommandQueue)
20749 .field("BreadcrumbCount", &self.BreadcrumbCount)
20750 .field("pLastBreadcrumbValue", &self.pLastBreadcrumbValue)
20751 .field("pCommandHistory", &self.pCommandHistory)
20752 .field(name:"pNext", &self.pNext)
20753 .finish()
20754 }
20755}
20756impl ::windows_core::TypeKind for D3D12_AUTO_BREADCRUMB_NODE {
20757 type TypeKind = ::windows_core::CopyType;
20758}
20759impl ::core::cmp::PartialEq for D3D12_AUTO_BREADCRUMB_NODE {
20760 fn eq(&self, other: &Self) -> bool {
20761 self.pCommandListDebugNameA == other.pCommandListDebugNameA && self.pCommandListDebugNameW == other.pCommandListDebugNameW && self.pCommandQueueDebugNameA == other.pCommandQueueDebugNameA && self.pCommandQueueDebugNameW == other.pCommandQueueDebugNameW && self.pCommandList == other.pCommandList && self.pCommandQueue == other.pCommandQueue && self.BreadcrumbCount == other.BreadcrumbCount && self.pLastBreadcrumbValue == other.pLastBreadcrumbValue && self.pCommandHistory == other.pCommandHistory && self.pNext == other.pNext
20762 }
20763}
20764impl ::core::cmp::Eq for D3D12_AUTO_BREADCRUMB_NODE {}
20765impl ::core::default::Default for D3D12_AUTO_BREADCRUMB_NODE {
20766 fn default() -> Self {
20767 unsafe { ::core::mem::zeroed() }
20768 }
20769}
20770#[repr(C)]
20771pub struct D3D12_AUTO_BREADCRUMB_NODE1 {
20772 pub pCommandListDebugNameA: *const u8,
20773 pub pCommandListDebugNameW: ::windows_core::PCWSTR,
20774 pub pCommandQueueDebugNameA: *const u8,
20775 pub pCommandQueueDebugNameW: ::windows_core::PCWSTR,
20776 pub pCommandList: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12GraphicsCommandList>>,
20777 pub pCommandQueue: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12CommandQueue>>,
20778 pub BreadcrumbCount: u32,
20779 pub pLastBreadcrumbValue: *const u32,
20780 pub pCommandHistory: *const D3D12_AUTO_BREADCRUMB_OP,
20781 pub pNext: *const D3D12_AUTO_BREADCRUMB_NODE1,
20782 pub BreadcrumbContextsCount: u32,
20783 pub pBreadcrumbContexts: *mut D3D12_DRED_BREADCRUMB_CONTEXT,
20784}
20785impl ::core::clone::Clone for D3D12_AUTO_BREADCRUMB_NODE1 {
20786 fn clone(&self) -> Self {
20787 unsafe { ::core::mem::transmute_copy(self) }
20788 }
20789}
20790impl ::core::fmt::Debug for D3D12_AUTO_BREADCRUMB_NODE1 {
20791 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20792 f&mut DebugStruct<'_, '_>.debug_struct("D3D12_AUTO_BREADCRUMB_NODE1")
20793 .field("pCommandListDebugNameA", &self.pCommandListDebugNameA)
20794 .field("pCommandListDebugNameW", &self.pCommandListDebugNameW)
20795 .field("pCommandQueueDebugNameA", &self.pCommandQueueDebugNameA)
20796 .field("pCommandQueueDebugNameW", &self.pCommandQueueDebugNameW)
20797 .field("pCommandList", &self.pCommandList)
20798 .field("pCommandQueue", &self.pCommandQueue)
20799 .field("BreadcrumbCount", &self.BreadcrumbCount)
20800 .field("pLastBreadcrumbValue", &self.pLastBreadcrumbValue)
20801 .field("pCommandHistory", &self.pCommandHistory)
20802 .field("pNext", &self.pNext)
20803 .field("BreadcrumbContextsCount", &self.BreadcrumbContextsCount)
20804 .field(name:"pBreadcrumbContexts", &self.pBreadcrumbContexts)
20805 .finish()
20806 }
20807}
20808impl ::windows_core::TypeKind for D3D12_AUTO_BREADCRUMB_NODE1 {
20809 type TypeKind = ::windows_core::CopyType;
20810}
20811impl ::core::cmp::PartialEq for D3D12_AUTO_BREADCRUMB_NODE1 {
20812 fn eq(&self, other: &Self) -> bool {
20813 self.pCommandListDebugNameA == other.pCommandListDebugNameA && self.pCommandListDebugNameW == other.pCommandListDebugNameW && self.pCommandQueueDebugNameA == other.pCommandQueueDebugNameA && self.pCommandQueueDebugNameW == other.pCommandQueueDebugNameW && self.pCommandList == other.pCommandList && self.pCommandQueue == other.pCommandQueue && self.BreadcrumbCount == other.BreadcrumbCount && self.pLastBreadcrumbValue == other.pLastBreadcrumbValue && self.pCommandHistory == other.pCommandHistory && self.pNext == other.pNext && self.BreadcrumbContextsCount == other.BreadcrumbContextsCount && self.pBreadcrumbContexts == other.pBreadcrumbContexts
20814 }
20815}
20816impl ::core::cmp::Eq for D3D12_AUTO_BREADCRUMB_NODE1 {}
20817impl ::core::default::Default for D3D12_AUTO_BREADCRUMB_NODE1 {
20818 fn default() -> Self {
20819 unsafe { ::core::mem::zeroed() }
20820 }
20821}
20822#[repr(C)]
20823pub struct D3D12_BARRIER_GROUP {
20824 pub Type: D3D12_BARRIER_TYPE,
20825 pub NumBarriers: u32,
20826 pub Anonymous: D3D12_BARRIER_GROUP_0,
20827}
20828impl ::core::marker::Copy for D3D12_BARRIER_GROUP {}
20829impl ::core::clone::Clone for D3D12_BARRIER_GROUP {
20830 fn clone(&self) -> Self {
20831 *self
20832 }
20833}
20834impl ::windows_core::TypeKind for D3D12_BARRIER_GROUP {
20835 type TypeKind = ::windows_core::CopyType;
20836}
20837impl ::core::default::Default for D3D12_BARRIER_GROUP {
20838 fn default() -> Self {
20839 unsafe { ::core::mem::zeroed() }
20840 }
20841}
20842#[repr(C)]
20843pub union D3D12_BARRIER_GROUP_0 {
20844 pub pGlobalBarriers: *const D3D12_GLOBAL_BARRIER,
20845 pub pTextureBarriers: *const D3D12_TEXTURE_BARRIER,
20846 pub pBufferBarriers: *const D3D12_BUFFER_BARRIER,
20847}
20848impl ::core::marker::Copy for D3D12_BARRIER_GROUP_0 {}
20849impl ::core::clone::Clone for D3D12_BARRIER_GROUP_0 {
20850 fn clone(&self) -> Self {
20851 *self
20852 }
20853}
20854impl ::windows_core::TypeKind for D3D12_BARRIER_GROUP_0 {
20855 type TypeKind = ::windows_core::CopyType;
20856}
20857impl ::core::default::Default for D3D12_BARRIER_GROUP_0 {
20858 fn default() -> Self {
20859 unsafe { ::core::mem::zeroed() }
20860 }
20861}
20862#[repr(C)]
20863pub struct D3D12_BARRIER_SUBRESOURCE_RANGE {
20864 pub IndexOrFirstMipLevel: u32,
20865 pub NumMipLevels: u32,
20866 pub FirstArraySlice: u32,
20867 pub NumArraySlices: u32,
20868 pub FirstPlane: u32,
20869 pub NumPlanes: u32,
20870}
20871impl ::core::marker::Copy for D3D12_BARRIER_SUBRESOURCE_RANGE {}
20872impl ::core::clone::Clone for D3D12_BARRIER_SUBRESOURCE_RANGE {
20873 fn clone(&self) -> Self {
20874 *self
20875 }
20876}
20877impl ::core::fmt::Debug for D3D12_BARRIER_SUBRESOURCE_RANGE {
20878 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20879 f.debug_struct("D3D12_BARRIER_SUBRESOURCE_RANGE").field("IndexOrFirstMipLevel", &self.IndexOrFirstMipLevel).field("NumMipLevels", &self.NumMipLevels).field("FirstArraySlice", &self.FirstArraySlice).field("NumArraySlices", &self.NumArraySlices).field("FirstPlane", &self.FirstPlane).field(name:"NumPlanes", &self.NumPlanes).finish()
20880 }
20881}
20882impl ::windows_core::TypeKind for D3D12_BARRIER_SUBRESOURCE_RANGE {
20883 type TypeKind = ::windows_core::CopyType;
20884}
20885impl ::core::cmp::PartialEq for D3D12_BARRIER_SUBRESOURCE_RANGE {
20886 fn eq(&self, other: &Self) -> bool {
20887 self.IndexOrFirstMipLevel == other.IndexOrFirstMipLevel && self.NumMipLevels == other.NumMipLevels && self.FirstArraySlice == other.FirstArraySlice && self.NumArraySlices == other.NumArraySlices && self.FirstPlane == other.FirstPlane && self.NumPlanes == other.NumPlanes
20888 }
20889}
20890impl ::core::cmp::Eq for D3D12_BARRIER_SUBRESOURCE_RANGE {}
20891impl ::core::default::Default for D3D12_BARRIER_SUBRESOURCE_RANGE {
20892 fn default() -> Self {
20893 unsafe { ::core::mem::zeroed() }
20894 }
20895}
20896#[repr(C)]
20897#[doc = "Required features: `\"Win32_Foundation\"`"]
20898#[cfg(feature = "Win32_Foundation")]
20899pub struct D3D12_BLEND_DESC {
20900 pub AlphaToCoverageEnable: super::super::Foundation::BOOL,
20901 pub IndependentBlendEnable: super::super::Foundation::BOOL,
20902 pub RenderTarget: [D3D12_RENDER_TARGET_BLEND_DESC; 8],
20903}
20904#[cfg(feature = "Win32_Foundation")]
20905impl ::core::marker::Copy for D3D12_BLEND_DESC {}
20906#[cfg(feature = "Win32_Foundation")]
20907impl ::core::clone::Clone for D3D12_BLEND_DESC {
20908 fn clone(&self) -> Self {
20909 *self
20910 }
20911}
20912#[cfg(feature = "Win32_Foundation")]
20913impl ::core::fmt::Debug for D3D12_BLEND_DESC {
20914 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20915 f.debug_struct("D3D12_BLEND_DESC").field("AlphaToCoverageEnable", &self.AlphaToCoverageEnable).field("IndependentBlendEnable", &self.IndependentBlendEnable).field(name:"RenderTarget", &self.RenderTarget).finish()
20916 }
20917}
20918#[cfg(feature = "Win32_Foundation")]
20919impl ::windows_core::TypeKind for D3D12_BLEND_DESC {
20920 type TypeKind = ::windows_core::CopyType;
20921}
20922#[cfg(feature = "Win32_Foundation")]
20923impl ::core::cmp::PartialEq for D3D12_BLEND_DESC {
20924 fn eq(&self, other: &Self) -> bool {
20925 self.AlphaToCoverageEnable == other.AlphaToCoverageEnable && self.IndependentBlendEnable == other.IndependentBlendEnable && self.RenderTarget == other.RenderTarget
20926 }
20927}
20928#[cfg(feature = "Win32_Foundation")]
20929impl ::core::cmp::Eq for D3D12_BLEND_DESC {}
20930#[cfg(feature = "Win32_Foundation")]
20931impl ::core::default::Default for D3D12_BLEND_DESC {
20932 fn default() -> Self {
20933 unsafe { ::core::mem::zeroed() }
20934 }
20935}
20936#[repr(C)]
20937pub struct D3D12_BOX {
20938 pub left: u32,
20939 pub top: u32,
20940 pub front: u32,
20941 pub right: u32,
20942 pub bottom: u32,
20943 pub back: u32,
20944}
20945impl ::core::marker::Copy for D3D12_BOX {}
20946impl ::core::clone::Clone for D3D12_BOX {
20947 fn clone(&self) -> Self {
20948 *self
20949 }
20950}
20951impl ::core::fmt::Debug for D3D12_BOX {
20952 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20953 f.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(name:"back", &self.back).finish()
20954 }
20955}
20956impl ::windows_core::TypeKind for D3D12_BOX {
20957 type TypeKind = ::windows_core::CopyType;
20958}
20959impl ::core::cmp::PartialEq for D3D12_BOX {
20960 fn eq(&self, other: &Self) -> bool {
20961 self.left == other.left && self.top == other.top && self.front == other.front && self.right == other.right && self.bottom == other.bottom && self.back == other.back
20962 }
20963}
20964impl ::core::cmp::Eq for D3D12_BOX {}
20965impl ::core::default::Default for D3D12_BOX {
20966 fn default() -> Self {
20967 unsafe { ::core::mem::zeroed() }
20968 }
20969}
20970#[repr(C)]
20971pub struct D3D12_BUFFER_BARRIER {
20972 pub SyncBefore: D3D12_BARRIER_SYNC,
20973 pub SyncAfter: D3D12_BARRIER_SYNC,
20974 pub AccessBefore: D3D12_BARRIER_ACCESS,
20975 pub AccessAfter: D3D12_BARRIER_ACCESS,
20976 pub pResource: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12Resource>>,
20977 pub Offset: u64,
20978 pub Size: u64,
20979}
20980impl ::core::clone::Clone for D3D12_BUFFER_BARRIER {
20981 fn clone(&self) -> Self {
20982 unsafe { ::core::mem::transmute_copy(self) }
20983 }
20984}
20985impl ::core::fmt::Debug for D3D12_BUFFER_BARRIER {
20986 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
20987 f.debug_struct("D3D12_BUFFER_BARRIER").field("SyncBefore", &self.SyncBefore).field("SyncAfter", &self.SyncAfter).field("AccessBefore", &self.AccessBefore).field("AccessAfter", &self.AccessAfter).field("pResource", &self.pResource).field("Offset", &self.Offset).field(name:"Size", &self.Size).finish()
20988 }
20989}
20990impl ::windows_core::TypeKind for D3D12_BUFFER_BARRIER {
20991 type TypeKind = ::windows_core::CopyType;
20992}
20993impl ::core::cmp::PartialEq for D3D12_BUFFER_BARRIER {
20994 fn eq(&self, other: &Self) -> bool {
20995 self.SyncBefore == other.SyncBefore && self.SyncAfter == other.SyncAfter && self.AccessBefore == other.AccessBefore && self.AccessAfter == other.AccessAfter && self.pResource == other.pResource && self.Offset == other.Offset && self.Size == other.Size
20996 }
20997}
20998impl ::core::cmp::Eq for D3D12_BUFFER_BARRIER {}
20999impl ::core::default::Default for D3D12_BUFFER_BARRIER {
21000 fn default() -> Self {
21001 unsafe { ::core::mem::zeroed() }
21002 }
21003}
21004#[repr(C)]
21005pub struct D3D12_BUFFER_RTV {
21006 pub FirstElement: u64,
21007 pub NumElements: u32,
21008}
21009impl ::core::marker::Copy for D3D12_BUFFER_RTV {}
21010impl ::core::clone::Clone for D3D12_BUFFER_RTV {
21011 fn clone(&self) -> Self {
21012 *self
21013 }
21014}
21015impl ::core::fmt::Debug for D3D12_BUFFER_RTV {
21016 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21017 f.debug_struct("D3D12_BUFFER_RTV").field("FirstElement", &self.FirstElement).field(name:"NumElements", &self.NumElements).finish()
21018 }
21019}
21020impl ::windows_core::TypeKind for D3D12_BUFFER_RTV {
21021 type TypeKind = ::windows_core::CopyType;
21022}
21023impl ::core::cmp::PartialEq for D3D12_BUFFER_RTV {
21024 fn eq(&self, other: &Self) -> bool {
21025 self.FirstElement == other.FirstElement && self.NumElements == other.NumElements
21026 }
21027}
21028impl ::core::cmp::Eq for D3D12_BUFFER_RTV {}
21029impl ::core::default::Default for D3D12_BUFFER_RTV {
21030 fn default() -> Self {
21031 unsafe { ::core::mem::zeroed() }
21032 }
21033}
21034#[repr(C)]
21035pub struct D3D12_BUFFER_SRV {
21036 pub FirstElement: u64,
21037 pub NumElements: u32,
21038 pub StructureByteStride: u32,
21039 pub Flags: D3D12_BUFFER_SRV_FLAGS,
21040}
21041impl ::core::marker::Copy for D3D12_BUFFER_SRV {}
21042impl ::core::clone::Clone for D3D12_BUFFER_SRV {
21043 fn clone(&self) -> Self {
21044 *self
21045 }
21046}
21047impl ::core::fmt::Debug for D3D12_BUFFER_SRV {
21048 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21049 f.debug_struct("D3D12_BUFFER_SRV").field("FirstElement", &self.FirstElement).field("NumElements", &self.NumElements).field("StructureByteStride", &self.StructureByteStride).field(name:"Flags", &self.Flags).finish()
21050 }
21051}
21052impl ::windows_core::TypeKind for D3D12_BUFFER_SRV {
21053 type TypeKind = ::windows_core::CopyType;
21054}
21055impl ::core::cmp::PartialEq for D3D12_BUFFER_SRV {
21056 fn eq(&self, other: &Self) -> bool {
21057 self.FirstElement == other.FirstElement && self.NumElements == other.NumElements && self.StructureByteStride == other.StructureByteStride && self.Flags == other.Flags
21058 }
21059}
21060impl ::core::cmp::Eq for D3D12_BUFFER_SRV {}
21061impl ::core::default::Default for D3D12_BUFFER_SRV {
21062 fn default() -> Self {
21063 unsafe { ::core::mem::zeroed() }
21064 }
21065}
21066#[repr(C)]
21067pub struct D3D12_BUFFER_UAV {
21068 pub FirstElement: u64,
21069 pub NumElements: u32,
21070 pub StructureByteStride: u32,
21071 pub CounterOffsetInBytes: u64,
21072 pub Flags: D3D12_BUFFER_UAV_FLAGS,
21073}
21074impl ::core::marker::Copy for D3D12_BUFFER_UAV {}
21075impl ::core::clone::Clone for D3D12_BUFFER_UAV {
21076 fn clone(&self) -> Self {
21077 *self
21078 }
21079}
21080impl ::core::fmt::Debug for D3D12_BUFFER_UAV {
21081 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21082 f.debug_struct("D3D12_BUFFER_UAV").field("FirstElement", &self.FirstElement).field("NumElements", &self.NumElements).field("StructureByteStride", &self.StructureByteStride).field("CounterOffsetInBytes", &self.CounterOffsetInBytes).field(name:"Flags", &self.Flags).finish()
21083 }
21084}
21085impl ::windows_core::TypeKind for D3D12_BUFFER_UAV {
21086 type TypeKind = ::windows_core::CopyType;
21087}
21088impl ::core::cmp::PartialEq for D3D12_BUFFER_UAV {
21089 fn eq(&self, other: &Self) -> bool {
21090 self.FirstElement == other.FirstElement && self.NumElements == other.NumElements && self.StructureByteStride == other.StructureByteStride && self.CounterOffsetInBytes == other.CounterOffsetInBytes && self.Flags == other.Flags
21091 }
21092}
21093impl ::core::cmp::Eq for D3D12_BUFFER_UAV {}
21094impl ::core::default::Default for D3D12_BUFFER_UAV {
21095 fn default() -> Self {
21096 unsafe { ::core::mem::zeroed() }
21097 }
21098}
21099#[repr(C)]
21100#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
21101#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21102pub struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC {
21103 pub DestAccelerationStructureData: u64,
21104 pub Inputs: D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS,
21105 pub SourceAccelerationStructureData: u64,
21106 pub ScratchAccelerationStructureData: u64,
21107}
21108#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21109impl ::core::marker::Copy for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC {}
21110#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21111impl ::core::clone::Clone for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC {
21112 fn clone(&self) -> Self {
21113 *self
21114 }
21115}
21116#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21117impl ::windows_core::TypeKind for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC {
21118 type TypeKind = ::windows_core::CopyType;
21119}
21120#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21121impl ::core::default::Default for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC {
21122 fn default() -> Self {
21123 unsafe { ::core::mem::zeroed() }
21124 }
21125}
21126#[repr(C)]
21127#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
21128#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21129pub struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS {
21130 pub Type: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE,
21131 pub Flags: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS,
21132 pub NumDescs: u32,
21133 pub DescsLayout: D3D12_ELEMENTS_LAYOUT,
21134 pub Anonymous: D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0,
21135}
21136#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21137impl ::core::marker::Copy for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS {}
21138#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21139impl ::core::clone::Clone for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS {
21140 fn clone(&self) -> Self {
21141 *self
21142 }
21143}
21144#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21145impl ::windows_core::TypeKind for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS {
21146 type TypeKind = ::windows_core::CopyType;
21147}
21148#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21149impl ::core::default::Default for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS {
21150 fn default() -> Self {
21151 unsafe { ::core::mem::zeroed() }
21152 }
21153}
21154#[repr(C)]
21155#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
21156#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21157pub union D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0 {
21158 pub InstanceDescs: u64,
21159 pub pGeometryDescs: *const D3D12_RAYTRACING_GEOMETRY_DESC,
21160 pub ppGeometryDescs: *const *const D3D12_RAYTRACING_GEOMETRY_DESC,
21161}
21162#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21163impl ::core::marker::Copy for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0 {}
21164#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21165impl ::core::clone::Clone for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0 {
21166 fn clone(&self) -> Self {
21167 *self
21168 }
21169}
21170#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21171impl ::windows_core::TypeKind for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0 {
21172 type TypeKind = ::windows_core::CopyType;
21173}
21174#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21175impl ::core::default::Default for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0 {
21176 fn default() -> Self {
21177 unsafe { ::core::mem::zeroed() }
21178 }
21179}
21180#[repr(C)]
21181pub struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {
21182 pub Type: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE,
21183 pub NumDescs: u32,
21184}
21185impl ::core::marker::Copy for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {}
21186impl ::core::clone::Clone for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {
21187 fn clone(&self) -> Self {
21188 *self
21189 }
21190}
21191impl ::core::fmt::Debug for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {
21192 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21193 f.debug_struct("D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER").field("Type", &self.Type).field(name:"NumDescs", &self.NumDescs).finish()
21194 }
21195}
21196impl ::windows_core::TypeKind for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {
21197 type TypeKind = ::windows_core::CopyType;
21198}
21199impl ::core::cmp::PartialEq for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {
21200 fn eq(&self, other: &Self) -> bool {
21201 self.Type == other.Type && self.NumDescs == other.NumDescs
21202 }
21203}
21204impl ::core::cmp::Eq for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {}
21205impl ::core::default::Default for D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {
21206 fn default() -> Self {
21207 unsafe { ::core::mem::zeroed() }
21208 }
21209}
21210#[repr(C)]
21211pub struct D3D12_CACHED_PIPELINE_STATE {
21212 pub pCachedBlob: *const ::core::ffi::c_void,
21213 pub CachedBlobSizeInBytes: usize,
21214}
21215impl ::core::marker::Copy for D3D12_CACHED_PIPELINE_STATE {}
21216impl ::core::clone::Clone for D3D12_CACHED_PIPELINE_STATE {
21217 fn clone(&self) -> Self {
21218 *self
21219 }
21220}
21221impl ::core::fmt::Debug for D3D12_CACHED_PIPELINE_STATE {
21222 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21223 f.debug_struct("D3D12_CACHED_PIPELINE_STATE").field("pCachedBlob", &self.pCachedBlob).field(name:"CachedBlobSizeInBytes", &self.CachedBlobSizeInBytes).finish()
21224 }
21225}
21226impl ::windows_core::TypeKind for D3D12_CACHED_PIPELINE_STATE {
21227 type TypeKind = ::windows_core::CopyType;
21228}
21229impl ::core::cmp::PartialEq for D3D12_CACHED_PIPELINE_STATE {
21230 fn eq(&self, other: &Self) -> bool {
21231 self.pCachedBlob == other.pCachedBlob && self.CachedBlobSizeInBytes == other.CachedBlobSizeInBytes
21232 }
21233}
21234impl ::core::cmp::Eq for D3D12_CACHED_PIPELINE_STATE {}
21235impl ::core::default::Default for D3D12_CACHED_PIPELINE_STATE {
21236 fn default() -> Self {
21237 unsafe { ::core::mem::zeroed() }
21238 }
21239}
21240#[repr(C)]
21241#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
21242#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21243pub struct D3D12_CLEAR_VALUE {
21244 pub Format: super::Dxgi::Common::DXGI_FORMAT,
21245 pub Anonymous: D3D12_CLEAR_VALUE_0,
21246}
21247#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21248impl ::core::marker::Copy for D3D12_CLEAR_VALUE {}
21249#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21250impl ::core::clone::Clone for D3D12_CLEAR_VALUE {
21251 fn clone(&self) -> Self {
21252 *self
21253 }
21254}
21255#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21256impl ::windows_core::TypeKind for D3D12_CLEAR_VALUE {
21257 type TypeKind = ::windows_core::CopyType;
21258}
21259#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21260impl ::core::default::Default for D3D12_CLEAR_VALUE {
21261 fn default() -> Self {
21262 unsafe { ::core::mem::zeroed() }
21263 }
21264}
21265#[repr(C)]
21266#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
21267#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21268pub union D3D12_CLEAR_VALUE_0 {
21269 pub Color: [f32; 4],
21270 pub DepthStencil: D3D12_DEPTH_STENCIL_VALUE,
21271}
21272#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21273impl ::core::marker::Copy for D3D12_CLEAR_VALUE_0 {}
21274#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21275impl ::core::clone::Clone for D3D12_CLEAR_VALUE_0 {
21276 fn clone(&self) -> Self {
21277 *self
21278 }
21279}
21280#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21281impl ::windows_core::TypeKind for D3D12_CLEAR_VALUE_0 {
21282 type TypeKind = ::windows_core::CopyType;
21283}
21284#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21285impl ::core::default::Default for D3D12_CLEAR_VALUE_0 {
21286 fn default() -> Self {
21287 unsafe { ::core::mem::zeroed() }
21288 }
21289}
21290#[repr(C)]
21291pub struct D3D12_COMMAND_QUEUE_DESC {
21292 pub Type: D3D12_COMMAND_LIST_TYPE,
21293 pub Priority: i32,
21294 pub Flags: D3D12_COMMAND_QUEUE_FLAGS,
21295 pub NodeMask: u32,
21296}
21297impl ::core::marker::Copy for D3D12_COMMAND_QUEUE_DESC {}
21298impl ::core::clone::Clone for D3D12_COMMAND_QUEUE_DESC {
21299 fn clone(&self) -> Self {
21300 *self
21301 }
21302}
21303impl ::core::fmt::Debug for D3D12_COMMAND_QUEUE_DESC {
21304 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21305 f.debug_struct("D3D12_COMMAND_QUEUE_DESC").field("Type", &self.Type).field("Priority", &self.Priority).field("Flags", &self.Flags).field(name:"NodeMask", &self.NodeMask).finish()
21306 }
21307}
21308impl ::windows_core::TypeKind for D3D12_COMMAND_QUEUE_DESC {
21309 type TypeKind = ::windows_core::CopyType;
21310}
21311impl ::core::cmp::PartialEq for D3D12_COMMAND_QUEUE_DESC {
21312 fn eq(&self, other: &Self) -> bool {
21313 self.Type == other.Type && self.Priority == other.Priority && self.Flags == other.Flags && self.NodeMask == other.NodeMask
21314 }
21315}
21316impl ::core::cmp::Eq for D3D12_COMMAND_QUEUE_DESC {}
21317impl ::core::default::Default for D3D12_COMMAND_QUEUE_DESC {
21318 fn default() -> Self {
21319 unsafe { ::core::mem::zeroed() }
21320 }
21321}
21322#[repr(C)]
21323pub struct D3D12_COMMAND_SIGNATURE_DESC {
21324 pub ByteStride: u32,
21325 pub NumArgumentDescs: u32,
21326 pub pArgumentDescs: *const D3D12_INDIRECT_ARGUMENT_DESC,
21327 pub NodeMask: u32,
21328}
21329impl ::core::marker::Copy for D3D12_COMMAND_SIGNATURE_DESC {}
21330impl ::core::clone::Clone for D3D12_COMMAND_SIGNATURE_DESC {
21331 fn clone(&self) -> Self {
21332 *self
21333 }
21334}
21335impl ::core::fmt::Debug for D3D12_COMMAND_SIGNATURE_DESC {
21336 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21337 f.debug_struct("D3D12_COMMAND_SIGNATURE_DESC").field("ByteStride", &self.ByteStride).field("NumArgumentDescs", &self.NumArgumentDescs).field("pArgumentDescs", &self.pArgumentDescs).field(name:"NodeMask", &self.NodeMask).finish()
21338 }
21339}
21340impl ::windows_core::TypeKind for D3D12_COMMAND_SIGNATURE_DESC {
21341 type TypeKind = ::windows_core::CopyType;
21342}
21343impl ::core::cmp::PartialEq for D3D12_COMMAND_SIGNATURE_DESC {
21344 fn eq(&self, other: &Self) -> bool {
21345 self.ByteStride == other.ByteStride && self.NumArgumentDescs == other.NumArgumentDescs && self.pArgumentDescs == other.pArgumentDescs && self.NodeMask == other.NodeMask
21346 }
21347}
21348impl ::core::cmp::Eq for D3D12_COMMAND_SIGNATURE_DESC {}
21349impl ::core::default::Default for D3D12_COMMAND_SIGNATURE_DESC {
21350 fn default() -> Self {
21351 unsafe { ::core::mem::zeroed() }
21352 }
21353}
21354#[repr(C)]
21355pub struct D3D12_COMPUTE_PIPELINE_STATE_DESC {
21356 pub pRootSignature: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12RootSignature>>,
21357 pub CS: D3D12_SHADER_BYTECODE,
21358 pub NodeMask: u32,
21359 pub CachedPSO: D3D12_CACHED_PIPELINE_STATE,
21360 pub Flags: D3D12_PIPELINE_STATE_FLAGS,
21361}
21362impl ::core::clone::Clone for D3D12_COMPUTE_PIPELINE_STATE_DESC {
21363 fn clone(&self) -> Self {
21364 unsafe { ::core::mem::transmute_copy(self) }
21365 }
21366}
21367impl ::core::fmt::Debug for D3D12_COMPUTE_PIPELINE_STATE_DESC {
21368 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21369 f.debug_struct("D3D12_COMPUTE_PIPELINE_STATE_DESC").field("pRootSignature", &self.pRootSignature).field("CS", &self.CS).field("NodeMask", &self.NodeMask).field("CachedPSO", &self.CachedPSO).field(name:"Flags", &self.Flags).finish()
21370 }
21371}
21372impl ::windows_core::TypeKind for D3D12_COMPUTE_PIPELINE_STATE_DESC {
21373 type TypeKind = ::windows_core::CopyType;
21374}
21375impl ::core::cmp::PartialEq for D3D12_COMPUTE_PIPELINE_STATE_DESC {
21376 fn eq(&self, other: &Self) -> bool {
21377 self.pRootSignature == other.pRootSignature && self.CS == other.CS && self.NodeMask == other.NodeMask && self.CachedPSO == other.CachedPSO && self.Flags == other.Flags
21378 }
21379}
21380impl ::core::cmp::Eq for D3D12_COMPUTE_PIPELINE_STATE_DESC {}
21381impl ::core::default::Default for D3D12_COMPUTE_PIPELINE_STATE_DESC {
21382 fn default() -> Self {
21383 unsafe { ::core::mem::zeroed() }
21384 }
21385}
21386#[repr(C)]
21387pub struct D3D12_CONSTANT_BUFFER_VIEW_DESC {
21388 pub BufferLocation: u64,
21389 pub SizeInBytes: u32,
21390}
21391impl ::core::marker::Copy for D3D12_CONSTANT_BUFFER_VIEW_DESC {}
21392impl ::core::clone::Clone for D3D12_CONSTANT_BUFFER_VIEW_DESC {
21393 fn clone(&self) -> Self {
21394 *self
21395 }
21396}
21397impl ::core::fmt::Debug for D3D12_CONSTANT_BUFFER_VIEW_DESC {
21398 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21399 f.debug_struct("D3D12_CONSTANT_BUFFER_VIEW_DESC").field("BufferLocation", &self.BufferLocation).field(name:"SizeInBytes", &self.SizeInBytes).finish()
21400 }
21401}
21402impl ::windows_core::TypeKind for D3D12_CONSTANT_BUFFER_VIEW_DESC {
21403 type TypeKind = ::windows_core::CopyType;
21404}
21405impl ::core::cmp::PartialEq for D3D12_CONSTANT_BUFFER_VIEW_DESC {
21406 fn eq(&self, other: &Self) -> bool {
21407 self.BufferLocation == other.BufferLocation && self.SizeInBytes == other.SizeInBytes
21408 }
21409}
21410impl ::core::cmp::Eq for D3D12_CONSTANT_BUFFER_VIEW_DESC {}
21411impl ::core::default::Default for D3D12_CONSTANT_BUFFER_VIEW_DESC {
21412 fn default() -> Self {
21413 unsafe { ::core::mem::zeroed() }
21414 }
21415}
21416#[repr(C)]
21417pub struct D3D12_CPU_DESCRIPTOR_HANDLE {
21418 pub ptr: usize,
21419}
21420impl ::core::marker::Copy for D3D12_CPU_DESCRIPTOR_HANDLE {}
21421impl ::core::clone::Clone for D3D12_CPU_DESCRIPTOR_HANDLE {
21422 fn clone(&self) -> Self {
21423 *self
21424 }
21425}
21426impl ::core::fmt::Debug for D3D12_CPU_DESCRIPTOR_HANDLE {
21427 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21428 f.debug_struct("D3D12_CPU_DESCRIPTOR_HANDLE").field(name:"ptr", &self.ptr).finish()
21429 }
21430}
21431impl ::windows_core::TypeKind for D3D12_CPU_DESCRIPTOR_HANDLE {
21432 type TypeKind = ::windows_core::CopyType;
21433}
21434impl ::core::cmp::PartialEq for D3D12_CPU_DESCRIPTOR_HANDLE {
21435 fn eq(&self, other: &Self) -> bool {
21436 self.ptr == other.ptr
21437 }
21438}
21439impl ::core::cmp::Eq for D3D12_CPU_DESCRIPTOR_HANDLE {}
21440impl ::core::default::Default for D3D12_CPU_DESCRIPTOR_HANDLE {
21441 fn default() -> Self {
21442 unsafe { ::core::mem::zeroed() }
21443 }
21444}
21445#[repr(C)]
21446pub struct D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS {
21447 pub ShaderPatchMode: D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE,
21448}
21449impl ::core::marker::Copy for D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS {}
21450impl ::core::clone::Clone for D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS {
21451 fn clone(&self) -> Self {
21452 *self
21453 }
21454}
21455impl ::core::fmt::Debug for D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS {
21456 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21457 f.debug_struct("D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS").field(name:"ShaderPatchMode", &self.ShaderPatchMode).finish()
21458 }
21459}
21460impl ::windows_core::TypeKind for D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS {
21461 type TypeKind = ::windows_core::CopyType;
21462}
21463impl ::core::cmp::PartialEq for D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS {
21464 fn eq(&self, other: &Self) -> bool {
21465 self.ShaderPatchMode == other.ShaderPatchMode
21466 }
21467}
21468impl ::core::cmp::Eq for D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS {}
21469impl ::core::default::Default for D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS {
21470 fn default() -> Self {
21471 unsafe { ::core::mem::zeroed() }
21472 }
21473}
21474#[repr(C)]
21475pub struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {
21476 pub MaxMessagesPerCommandList: u32,
21477 pub DefaultShaderPatchMode: D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE,
21478 pub PipelineStateCreateFlags: D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS,
21479}
21480impl ::core::marker::Copy for D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {}
21481impl ::core::clone::Clone for D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {
21482 fn clone(&self) -> Self {
21483 *self
21484 }
21485}
21486impl ::core::fmt::Debug for D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {
21487 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21488 f.debug_struct("D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS").field("MaxMessagesPerCommandList", &self.MaxMessagesPerCommandList).field("DefaultShaderPatchMode", &self.DefaultShaderPatchMode).field(name:"PipelineStateCreateFlags", &self.PipelineStateCreateFlags).finish()
21489 }
21490}
21491impl ::windows_core::TypeKind for D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {
21492 type TypeKind = ::windows_core::CopyType;
21493}
21494impl ::core::cmp::PartialEq for D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {
21495 fn eq(&self, other: &Self) -> bool {
21496 self.MaxMessagesPerCommandList == other.MaxMessagesPerCommandList && self.DefaultShaderPatchMode == other.DefaultShaderPatchMode && self.PipelineStateCreateFlags == other.PipelineStateCreateFlags
21497 }
21498}
21499impl ::core::cmp::Eq for D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {}
21500impl ::core::default::Default for D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {
21501 fn default() -> Self {
21502 unsafe { ::core::mem::zeroed() }
21503 }
21504}
21505#[repr(C)]
21506pub struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {
21507 pub SlowdownFactor: f32,
21508}
21509impl ::core::marker::Copy for D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {}
21510impl ::core::clone::Clone for D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {
21511 fn clone(&self) -> Self {
21512 *self
21513 }
21514}
21515impl ::core::fmt::Debug for D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {
21516 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21517 f.debug_struct("D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR").field(name:"SlowdownFactor", &self.SlowdownFactor).finish()
21518 }
21519}
21520impl ::windows_core::TypeKind for D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {
21521 type TypeKind = ::windows_core::CopyType;
21522}
21523impl ::core::cmp::PartialEq for D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {
21524 fn eq(&self, other: &Self) -> bool {
21525 self.SlowdownFactor == other.SlowdownFactor
21526 }
21527}
21528impl ::core::cmp::Eq for D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {}
21529impl ::core::default::Default for D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR {
21530 fn default() -> Self {
21531 unsafe { ::core::mem::zeroed() }
21532 }
21533}
21534#[repr(C)]
21535pub struct D3D12_DEPTH_STENCILOP_DESC {
21536 pub StencilFailOp: D3D12_STENCIL_OP,
21537 pub StencilDepthFailOp: D3D12_STENCIL_OP,
21538 pub StencilPassOp: D3D12_STENCIL_OP,
21539 pub StencilFunc: D3D12_COMPARISON_FUNC,
21540}
21541impl ::core::marker::Copy for D3D12_DEPTH_STENCILOP_DESC {}
21542impl ::core::clone::Clone for D3D12_DEPTH_STENCILOP_DESC {
21543 fn clone(&self) -> Self {
21544 *self
21545 }
21546}
21547impl ::core::fmt::Debug for D3D12_DEPTH_STENCILOP_DESC {
21548 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21549 f.debug_struct("D3D12_DEPTH_STENCILOP_DESC").field("StencilFailOp", &self.StencilFailOp).field("StencilDepthFailOp", &self.StencilDepthFailOp).field("StencilPassOp", &self.StencilPassOp).field(name:"StencilFunc", &self.StencilFunc).finish()
21550 }
21551}
21552impl ::windows_core::TypeKind for D3D12_DEPTH_STENCILOP_DESC {
21553 type TypeKind = ::windows_core::CopyType;
21554}
21555impl ::core::cmp::PartialEq for D3D12_DEPTH_STENCILOP_DESC {
21556 fn eq(&self, other: &Self) -> bool {
21557 self.StencilFailOp == other.StencilFailOp && self.StencilDepthFailOp == other.StencilDepthFailOp && self.StencilPassOp == other.StencilPassOp && self.StencilFunc == other.StencilFunc
21558 }
21559}
21560impl ::core::cmp::Eq for D3D12_DEPTH_STENCILOP_DESC {}
21561impl ::core::default::Default for D3D12_DEPTH_STENCILOP_DESC {
21562 fn default() -> Self {
21563 unsafe { ::core::mem::zeroed() }
21564 }
21565}
21566#[repr(C)]
21567pub struct D3D12_DEPTH_STENCILOP_DESC1 {
21568 pub StencilFailOp: D3D12_STENCIL_OP,
21569 pub StencilDepthFailOp: D3D12_STENCIL_OP,
21570 pub StencilPassOp: D3D12_STENCIL_OP,
21571 pub StencilFunc: D3D12_COMPARISON_FUNC,
21572 pub StencilReadMask: u8,
21573 pub StencilWriteMask: u8,
21574}
21575impl ::core::marker::Copy for D3D12_DEPTH_STENCILOP_DESC1 {}
21576impl ::core::clone::Clone for D3D12_DEPTH_STENCILOP_DESC1 {
21577 fn clone(&self) -> Self {
21578 *self
21579 }
21580}
21581impl ::core::fmt::Debug for D3D12_DEPTH_STENCILOP_DESC1 {
21582 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21583 f.debug_struct("D3D12_DEPTH_STENCILOP_DESC1").field("StencilFailOp", &self.StencilFailOp).field("StencilDepthFailOp", &self.StencilDepthFailOp).field("StencilPassOp", &self.StencilPassOp).field("StencilFunc", &self.StencilFunc).field("StencilReadMask", &self.StencilReadMask).field(name:"StencilWriteMask", &self.StencilWriteMask).finish()
21584 }
21585}
21586impl ::windows_core::TypeKind for D3D12_DEPTH_STENCILOP_DESC1 {
21587 type TypeKind = ::windows_core::CopyType;
21588}
21589impl ::core::cmp::PartialEq for D3D12_DEPTH_STENCILOP_DESC1 {
21590 fn eq(&self, other: &Self) -> bool {
21591 self.StencilFailOp == other.StencilFailOp && self.StencilDepthFailOp == other.StencilDepthFailOp && self.StencilPassOp == other.StencilPassOp && self.StencilFunc == other.StencilFunc && self.StencilReadMask == other.StencilReadMask && self.StencilWriteMask == other.StencilWriteMask
21592 }
21593}
21594impl ::core::cmp::Eq for D3D12_DEPTH_STENCILOP_DESC1 {}
21595impl ::core::default::Default for D3D12_DEPTH_STENCILOP_DESC1 {
21596 fn default() -> Self {
21597 unsafe { ::core::mem::zeroed() }
21598 }
21599}
21600#[repr(C)]
21601#[doc = "Required features: `\"Win32_Foundation\"`"]
21602#[cfg(feature = "Win32_Foundation")]
21603pub struct D3D12_DEPTH_STENCIL_DESC {
21604 pub DepthEnable: super::super::Foundation::BOOL,
21605 pub DepthWriteMask: D3D12_DEPTH_WRITE_MASK,
21606 pub DepthFunc: D3D12_COMPARISON_FUNC,
21607 pub StencilEnable: super::super::Foundation::BOOL,
21608 pub StencilReadMask: u8,
21609 pub StencilWriteMask: u8,
21610 pub FrontFace: D3D12_DEPTH_STENCILOP_DESC,
21611 pub BackFace: D3D12_DEPTH_STENCILOP_DESC,
21612}
21613#[cfg(feature = "Win32_Foundation")]
21614impl ::core::marker::Copy for D3D12_DEPTH_STENCIL_DESC {}
21615#[cfg(feature = "Win32_Foundation")]
21616impl ::core::clone::Clone for D3D12_DEPTH_STENCIL_DESC {
21617 fn clone(&self) -> Self {
21618 *self
21619 }
21620}
21621#[cfg(feature = "Win32_Foundation")]
21622impl ::core::fmt::Debug for D3D12_DEPTH_STENCIL_DESC {
21623 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21624 f.debug_struct("D3D12_DEPTH_STENCIL_DESC").field("DepthEnable", &self.DepthEnable).field("DepthWriteMask", &self.DepthWriteMask).field("DepthFunc", &self.DepthFunc).field("StencilEnable", &self.StencilEnable).field("StencilReadMask", &self.StencilReadMask).field("StencilWriteMask", &self.StencilWriteMask).field("FrontFace", &self.FrontFace).field(name:"BackFace", &self.BackFace).finish()
21625 }
21626}
21627#[cfg(feature = "Win32_Foundation")]
21628impl ::windows_core::TypeKind for D3D12_DEPTH_STENCIL_DESC {
21629 type TypeKind = ::windows_core::CopyType;
21630}
21631#[cfg(feature = "Win32_Foundation")]
21632impl ::core::cmp::PartialEq for D3D12_DEPTH_STENCIL_DESC {
21633 fn eq(&self, other: &Self) -> bool {
21634 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
21635 }
21636}
21637#[cfg(feature = "Win32_Foundation")]
21638impl ::core::cmp::Eq for D3D12_DEPTH_STENCIL_DESC {}
21639#[cfg(feature = "Win32_Foundation")]
21640impl ::core::default::Default for D3D12_DEPTH_STENCIL_DESC {
21641 fn default() -> Self {
21642 unsafe { ::core::mem::zeroed() }
21643 }
21644}
21645#[repr(C)]
21646#[doc = "Required features: `\"Win32_Foundation\"`"]
21647#[cfg(feature = "Win32_Foundation")]
21648pub struct D3D12_DEPTH_STENCIL_DESC1 {
21649 pub DepthEnable: super::super::Foundation::BOOL,
21650 pub DepthWriteMask: D3D12_DEPTH_WRITE_MASK,
21651 pub DepthFunc: D3D12_COMPARISON_FUNC,
21652 pub StencilEnable: super::super::Foundation::BOOL,
21653 pub StencilReadMask: u8,
21654 pub StencilWriteMask: u8,
21655 pub FrontFace: D3D12_DEPTH_STENCILOP_DESC,
21656 pub BackFace: D3D12_DEPTH_STENCILOP_DESC,
21657 pub DepthBoundsTestEnable: super::super::Foundation::BOOL,
21658}
21659#[cfg(feature = "Win32_Foundation")]
21660impl ::core::marker::Copy for D3D12_DEPTH_STENCIL_DESC1 {}
21661#[cfg(feature = "Win32_Foundation")]
21662impl ::core::clone::Clone for D3D12_DEPTH_STENCIL_DESC1 {
21663 fn clone(&self) -> Self {
21664 *self
21665 }
21666}
21667#[cfg(feature = "Win32_Foundation")]
21668impl ::core::fmt::Debug for D3D12_DEPTH_STENCIL_DESC1 {
21669 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21670 f.debug_struct("D3D12_DEPTH_STENCIL_DESC1").field("DepthEnable", &self.DepthEnable).field("DepthWriteMask", &self.DepthWriteMask).field("DepthFunc", &self.DepthFunc).field("StencilEnable", &self.StencilEnable).field("StencilReadMask", &self.StencilReadMask).field("StencilWriteMask", &self.StencilWriteMask).field("FrontFace", &self.FrontFace).field("BackFace", &self.BackFace).field(name:"DepthBoundsTestEnable", &self.DepthBoundsTestEnable).finish()
21671 }
21672}
21673#[cfg(feature = "Win32_Foundation")]
21674impl ::windows_core::TypeKind for D3D12_DEPTH_STENCIL_DESC1 {
21675 type TypeKind = ::windows_core::CopyType;
21676}
21677#[cfg(feature = "Win32_Foundation")]
21678impl ::core::cmp::PartialEq for D3D12_DEPTH_STENCIL_DESC1 {
21679 fn eq(&self, other: &Self) -> bool {
21680 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
21681 }
21682}
21683#[cfg(feature = "Win32_Foundation")]
21684impl ::core::cmp::Eq for D3D12_DEPTH_STENCIL_DESC1 {}
21685#[cfg(feature = "Win32_Foundation")]
21686impl ::core::default::Default for D3D12_DEPTH_STENCIL_DESC1 {
21687 fn default() -> Self {
21688 unsafe { ::core::mem::zeroed() }
21689 }
21690}
21691#[repr(C)]
21692#[doc = "Required features: `\"Win32_Foundation\"`"]
21693#[cfg(feature = "Win32_Foundation")]
21694pub struct D3D12_DEPTH_STENCIL_DESC2 {
21695 pub DepthEnable: super::super::Foundation::BOOL,
21696 pub DepthWriteMask: D3D12_DEPTH_WRITE_MASK,
21697 pub DepthFunc: D3D12_COMPARISON_FUNC,
21698 pub StencilEnable: super::super::Foundation::BOOL,
21699 pub FrontFace: D3D12_DEPTH_STENCILOP_DESC1,
21700 pub BackFace: D3D12_DEPTH_STENCILOP_DESC1,
21701 pub DepthBoundsTestEnable: super::super::Foundation::BOOL,
21702}
21703#[cfg(feature = "Win32_Foundation")]
21704impl ::core::marker::Copy for D3D12_DEPTH_STENCIL_DESC2 {}
21705#[cfg(feature = "Win32_Foundation")]
21706impl ::core::clone::Clone for D3D12_DEPTH_STENCIL_DESC2 {
21707 fn clone(&self) -> Self {
21708 *self
21709 }
21710}
21711#[cfg(feature = "Win32_Foundation")]
21712impl ::core::fmt::Debug for D3D12_DEPTH_STENCIL_DESC2 {
21713 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21714 f.debug_struct("D3D12_DEPTH_STENCIL_DESC2").field("DepthEnable", &self.DepthEnable).field("DepthWriteMask", &self.DepthWriteMask).field("DepthFunc", &self.DepthFunc).field("StencilEnable", &self.StencilEnable).field("FrontFace", &self.FrontFace).field("BackFace", &self.BackFace).field(name:"DepthBoundsTestEnable", &self.DepthBoundsTestEnable).finish()
21715 }
21716}
21717#[cfg(feature = "Win32_Foundation")]
21718impl ::windows_core::TypeKind for D3D12_DEPTH_STENCIL_DESC2 {
21719 type TypeKind = ::windows_core::CopyType;
21720}
21721#[cfg(feature = "Win32_Foundation")]
21722impl ::core::cmp::PartialEq for D3D12_DEPTH_STENCIL_DESC2 {
21723 fn eq(&self, other: &Self) -> bool {
21724 self.DepthEnable == other.DepthEnable && self.DepthWriteMask == other.DepthWriteMask && self.DepthFunc == other.DepthFunc && self.StencilEnable == other.StencilEnable && self.FrontFace == other.FrontFace && self.BackFace == other.BackFace && self.DepthBoundsTestEnable == other.DepthBoundsTestEnable
21725 }
21726}
21727#[cfg(feature = "Win32_Foundation")]
21728impl ::core::cmp::Eq for D3D12_DEPTH_STENCIL_DESC2 {}
21729#[cfg(feature = "Win32_Foundation")]
21730impl ::core::default::Default for D3D12_DEPTH_STENCIL_DESC2 {
21731 fn default() -> Self {
21732 unsafe { ::core::mem::zeroed() }
21733 }
21734}
21735#[repr(C)]
21736pub struct D3D12_DEPTH_STENCIL_VALUE {
21737 pub Depth: f32,
21738 pub Stencil: u8,
21739}
21740impl ::core::marker::Copy for D3D12_DEPTH_STENCIL_VALUE {}
21741impl ::core::clone::Clone for D3D12_DEPTH_STENCIL_VALUE {
21742 fn clone(&self) -> Self {
21743 *self
21744 }
21745}
21746impl ::core::fmt::Debug for D3D12_DEPTH_STENCIL_VALUE {
21747 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21748 f.debug_struct("D3D12_DEPTH_STENCIL_VALUE").field("Depth", &self.Depth).field(name:"Stencil", &self.Stencil).finish()
21749 }
21750}
21751impl ::windows_core::TypeKind for D3D12_DEPTH_STENCIL_VALUE {
21752 type TypeKind = ::windows_core::CopyType;
21753}
21754impl ::core::cmp::PartialEq for D3D12_DEPTH_STENCIL_VALUE {
21755 fn eq(&self, other: &Self) -> bool {
21756 self.Depth == other.Depth && self.Stencil == other.Stencil
21757 }
21758}
21759impl ::core::cmp::Eq for D3D12_DEPTH_STENCIL_VALUE {}
21760impl ::core::default::Default for D3D12_DEPTH_STENCIL_VALUE {
21761 fn default() -> Self {
21762 unsafe { ::core::mem::zeroed() }
21763 }
21764}
21765#[repr(C)]
21766#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
21767#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21768pub struct D3D12_DEPTH_STENCIL_VIEW_DESC {
21769 pub Format: super::Dxgi::Common::DXGI_FORMAT,
21770 pub ViewDimension: D3D12_DSV_DIMENSION,
21771 pub Flags: D3D12_DSV_FLAGS,
21772 pub Anonymous: D3D12_DEPTH_STENCIL_VIEW_DESC_0,
21773}
21774#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21775impl ::core::marker::Copy for D3D12_DEPTH_STENCIL_VIEW_DESC {}
21776#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21777impl ::core::clone::Clone for D3D12_DEPTH_STENCIL_VIEW_DESC {
21778 fn clone(&self) -> Self {
21779 *self
21780 }
21781}
21782#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21783impl ::windows_core::TypeKind for D3D12_DEPTH_STENCIL_VIEW_DESC {
21784 type TypeKind = ::windows_core::CopyType;
21785}
21786#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21787impl ::core::default::Default for D3D12_DEPTH_STENCIL_VIEW_DESC {
21788 fn default() -> Self {
21789 unsafe { ::core::mem::zeroed() }
21790 }
21791}
21792#[repr(C)]
21793#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
21794#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21795pub union D3D12_DEPTH_STENCIL_VIEW_DESC_0 {
21796 pub Texture1D: D3D12_TEX1D_DSV,
21797 pub Texture1DArray: D3D12_TEX1D_ARRAY_DSV,
21798 pub Texture2D: D3D12_TEX2D_DSV,
21799 pub Texture2DArray: D3D12_TEX2D_ARRAY_DSV,
21800 pub Texture2DMS: D3D12_TEX2DMS_DSV,
21801 pub Texture2DMSArray: D3D12_TEX2DMS_ARRAY_DSV,
21802}
21803#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21804impl ::core::marker::Copy for D3D12_DEPTH_STENCIL_VIEW_DESC_0 {}
21805#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21806impl ::core::clone::Clone for D3D12_DEPTH_STENCIL_VIEW_DESC_0 {
21807 fn clone(&self) -> Self {
21808 *self
21809 }
21810}
21811#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21812impl ::windows_core::TypeKind for D3D12_DEPTH_STENCIL_VIEW_DESC_0 {
21813 type TypeKind = ::windows_core::CopyType;
21814}
21815#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
21816impl ::core::default::Default for D3D12_DEPTH_STENCIL_VIEW_DESC_0 {
21817 fn default() -> Self {
21818 unsafe { ::core::mem::zeroed() }
21819 }
21820}
21821#[repr(C)]
21822pub struct D3D12_DESCRIPTOR_HEAP_DESC {
21823 pub Type: D3D12_DESCRIPTOR_HEAP_TYPE,
21824 pub NumDescriptors: u32,
21825 pub Flags: D3D12_DESCRIPTOR_HEAP_FLAGS,
21826 pub NodeMask: u32,
21827}
21828impl ::core::marker::Copy for D3D12_DESCRIPTOR_HEAP_DESC {}
21829impl ::core::clone::Clone for D3D12_DESCRIPTOR_HEAP_DESC {
21830 fn clone(&self) -> Self {
21831 *self
21832 }
21833}
21834impl ::core::fmt::Debug for D3D12_DESCRIPTOR_HEAP_DESC {
21835 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21836 f.debug_struct("D3D12_DESCRIPTOR_HEAP_DESC").field("Type", &self.Type).field("NumDescriptors", &self.NumDescriptors).field("Flags", &self.Flags).field(name:"NodeMask", &self.NodeMask).finish()
21837 }
21838}
21839impl ::windows_core::TypeKind for D3D12_DESCRIPTOR_HEAP_DESC {
21840 type TypeKind = ::windows_core::CopyType;
21841}
21842impl ::core::cmp::PartialEq for D3D12_DESCRIPTOR_HEAP_DESC {
21843 fn eq(&self, other: &Self) -> bool {
21844 self.Type == other.Type && self.NumDescriptors == other.NumDescriptors && self.Flags == other.Flags && self.NodeMask == other.NodeMask
21845 }
21846}
21847impl ::core::cmp::Eq for D3D12_DESCRIPTOR_HEAP_DESC {}
21848impl ::core::default::Default for D3D12_DESCRIPTOR_HEAP_DESC {
21849 fn default() -> Self {
21850 unsafe { ::core::mem::zeroed() }
21851 }
21852}
21853#[repr(C)]
21854pub struct D3D12_DESCRIPTOR_RANGE {
21855 pub RangeType: D3D12_DESCRIPTOR_RANGE_TYPE,
21856 pub NumDescriptors: u32,
21857 pub BaseShaderRegister: u32,
21858 pub RegisterSpace: u32,
21859 pub OffsetInDescriptorsFromTableStart: u32,
21860}
21861impl ::core::marker::Copy for D3D12_DESCRIPTOR_RANGE {}
21862impl ::core::clone::Clone for D3D12_DESCRIPTOR_RANGE {
21863 fn clone(&self) -> Self {
21864 *self
21865 }
21866}
21867impl ::core::fmt::Debug for D3D12_DESCRIPTOR_RANGE {
21868 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21869 f.debug_struct("D3D12_DESCRIPTOR_RANGE").field("RangeType", &self.RangeType).field("NumDescriptors", &self.NumDescriptors).field("BaseShaderRegister", &self.BaseShaderRegister).field("RegisterSpace", &self.RegisterSpace).field(name:"OffsetInDescriptorsFromTableStart", &self.OffsetInDescriptorsFromTableStart).finish()
21870 }
21871}
21872impl ::windows_core::TypeKind for D3D12_DESCRIPTOR_RANGE {
21873 type TypeKind = ::windows_core::CopyType;
21874}
21875impl ::core::cmp::PartialEq for D3D12_DESCRIPTOR_RANGE {
21876 fn eq(&self, other: &Self) -> bool {
21877 self.RangeType == other.RangeType && self.NumDescriptors == other.NumDescriptors && self.BaseShaderRegister == other.BaseShaderRegister && self.RegisterSpace == other.RegisterSpace && self.OffsetInDescriptorsFromTableStart == other.OffsetInDescriptorsFromTableStart
21878 }
21879}
21880impl ::core::cmp::Eq for D3D12_DESCRIPTOR_RANGE {}
21881impl ::core::default::Default for D3D12_DESCRIPTOR_RANGE {
21882 fn default() -> Self {
21883 unsafe { ::core::mem::zeroed() }
21884 }
21885}
21886#[repr(C)]
21887pub struct D3D12_DESCRIPTOR_RANGE1 {
21888 pub RangeType: D3D12_DESCRIPTOR_RANGE_TYPE,
21889 pub NumDescriptors: u32,
21890 pub BaseShaderRegister: u32,
21891 pub RegisterSpace: u32,
21892 pub Flags: D3D12_DESCRIPTOR_RANGE_FLAGS,
21893 pub OffsetInDescriptorsFromTableStart: u32,
21894}
21895impl ::core::marker::Copy for D3D12_DESCRIPTOR_RANGE1 {}
21896impl ::core::clone::Clone for D3D12_DESCRIPTOR_RANGE1 {
21897 fn clone(&self) -> Self {
21898 *self
21899 }
21900}
21901impl ::core::fmt::Debug for D3D12_DESCRIPTOR_RANGE1 {
21902 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21903 f.debug_struct("D3D12_DESCRIPTOR_RANGE1").field("RangeType", &self.RangeType).field("NumDescriptors", &self.NumDescriptors).field("BaseShaderRegister", &self.BaseShaderRegister).field("RegisterSpace", &self.RegisterSpace).field("Flags", &self.Flags).field(name:"OffsetInDescriptorsFromTableStart", &self.OffsetInDescriptorsFromTableStart).finish()
21904 }
21905}
21906impl ::windows_core::TypeKind for D3D12_DESCRIPTOR_RANGE1 {
21907 type TypeKind = ::windows_core::CopyType;
21908}
21909impl ::core::cmp::PartialEq for D3D12_DESCRIPTOR_RANGE1 {
21910 fn eq(&self, other: &Self) -> bool {
21911 self.RangeType == other.RangeType && self.NumDescriptors == other.NumDescriptors && self.BaseShaderRegister == other.BaseShaderRegister && self.RegisterSpace == other.RegisterSpace && self.Flags == other.Flags && self.OffsetInDescriptorsFromTableStart == other.OffsetInDescriptorsFromTableStart
21912 }
21913}
21914impl ::core::cmp::Eq for D3D12_DESCRIPTOR_RANGE1 {}
21915impl ::core::default::Default for D3D12_DESCRIPTOR_RANGE1 {
21916 fn default() -> Self {
21917 unsafe { ::core::mem::zeroed() }
21918 }
21919}
21920#[repr(C)]
21921pub struct D3D12_DEVICE_CONFIGURATION_DESC {
21922 pub Flags: D3D12_DEVICE_FLAGS,
21923 pub GpuBasedValidationFlags: u32,
21924 pub SDKVersion: u32,
21925 pub NumEnabledExperimentalFeatures: u32,
21926}
21927impl ::core::marker::Copy for D3D12_DEVICE_CONFIGURATION_DESC {}
21928impl ::core::clone::Clone for D3D12_DEVICE_CONFIGURATION_DESC {
21929 fn clone(&self) -> Self {
21930 *self
21931 }
21932}
21933impl ::core::fmt::Debug for D3D12_DEVICE_CONFIGURATION_DESC {
21934 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21935 f.debug_struct("D3D12_DEVICE_CONFIGURATION_DESC").field("Flags", &self.Flags).field("GpuBasedValidationFlags", &self.GpuBasedValidationFlags).field("SDKVersion", &self.SDKVersion).field(name:"NumEnabledExperimentalFeatures", &self.NumEnabledExperimentalFeatures).finish()
21936 }
21937}
21938impl ::windows_core::TypeKind for D3D12_DEVICE_CONFIGURATION_DESC {
21939 type TypeKind = ::windows_core::CopyType;
21940}
21941impl ::core::cmp::PartialEq for D3D12_DEVICE_CONFIGURATION_DESC {
21942 fn eq(&self, other: &Self) -> bool {
21943 self.Flags == other.Flags && self.GpuBasedValidationFlags == other.GpuBasedValidationFlags && self.SDKVersion == other.SDKVersion && self.NumEnabledExperimentalFeatures == other.NumEnabledExperimentalFeatures
21944 }
21945}
21946impl ::core::cmp::Eq for D3D12_DEVICE_CONFIGURATION_DESC {}
21947impl ::core::default::Default for D3D12_DEVICE_CONFIGURATION_DESC {
21948 fn default() -> Self {
21949 unsafe { ::core::mem::zeroed() }
21950 }
21951}
21952#[repr(C)]
21953pub struct D3D12_DEVICE_REMOVED_EXTENDED_DATA {
21954 pub Flags: D3D12_DRED_FLAGS,
21955 pub pHeadAutoBreadcrumbNode: *mut D3D12_AUTO_BREADCRUMB_NODE,
21956}
21957impl ::core::marker::Copy for D3D12_DEVICE_REMOVED_EXTENDED_DATA {}
21958impl ::core::clone::Clone for D3D12_DEVICE_REMOVED_EXTENDED_DATA {
21959 fn clone(&self) -> Self {
21960 *self
21961 }
21962}
21963impl ::core::fmt::Debug for D3D12_DEVICE_REMOVED_EXTENDED_DATA {
21964 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21965 f.debug_struct("D3D12_DEVICE_REMOVED_EXTENDED_DATA").field("Flags", &self.Flags).field(name:"pHeadAutoBreadcrumbNode", &self.pHeadAutoBreadcrumbNode).finish()
21966 }
21967}
21968impl ::windows_core::TypeKind for D3D12_DEVICE_REMOVED_EXTENDED_DATA {
21969 type TypeKind = ::windows_core::CopyType;
21970}
21971impl ::core::cmp::PartialEq for D3D12_DEVICE_REMOVED_EXTENDED_DATA {
21972 fn eq(&self, other: &Self) -> bool {
21973 self.Flags == other.Flags && self.pHeadAutoBreadcrumbNode == other.pHeadAutoBreadcrumbNode
21974 }
21975}
21976impl ::core::cmp::Eq for D3D12_DEVICE_REMOVED_EXTENDED_DATA {}
21977impl ::core::default::Default for D3D12_DEVICE_REMOVED_EXTENDED_DATA {
21978 fn default() -> Self {
21979 unsafe { ::core::mem::zeroed() }
21980 }
21981}
21982#[repr(C)]
21983pub struct D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {
21984 pub DeviceRemovedReason: ::windows_core::HRESULT,
21985 pub AutoBreadcrumbsOutput: D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT,
21986 pub PageFaultOutput: D3D12_DRED_PAGE_FAULT_OUTPUT,
21987}
21988impl ::core::marker::Copy for D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {}
21989impl ::core::clone::Clone for D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {
21990 fn clone(&self) -> Self {
21991 *self
21992 }
21993}
21994impl ::core::fmt::Debug for D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {
21995 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
21996 f.debug_struct("D3D12_DEVICE_REMOVED_EXTENDED_DATA1").field("DeviceRemovedReason", &self.DeviceRemovedReason).field("AutoBreadcrumbsOutput", &self.AutoBreadcrumbsOutput).field(name:"PageFaultOutput", &self.PageFaultOutput).finish()
21997 }
21998}
21999impl ::windows_core::TypeKind for D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {
22000 type TypeKind = ::windows_core::CopyType;
22001}
22002impl ::core::cmp::PartialEq for D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {
22003 fn eq(&self, other: &Self) -> bool {
22004 self.DeviceRemovedReason == other.DeviceRemovedReason && self.AutoBreadcrumbsOutput == other.AutoBreadcrumbsOutput && self.PageFaultOutput == other.PageFaultOutput
22005 }
22006}
22007impl ::core::cmp::Eq for D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {}
22008impl ::core::default::Default for D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {
22009 fn default() -> Self {
22010 unsafe { ::core::mem::zeroed() }
22011 }
22012}
22013#[repr(C)]
22014pub struct D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {
22015 pub DeviceRemovedReason: ::windows_core::HRESULT,
22016 pub AutoBreadcrumbsOutput: D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1,
22017 pub PageFaultOutput: D3D12_DRED_PAGE_FAULT_OUTPUT1,
22018}
22019impl ::core::marker::Copy for D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {}
22020impl ::core::clone::Clone for D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {
22021 fn clone(&self) -> Self {
22022 *self
22023 }
22024}
22025impl ::core::fmt::Debug for D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {
22026 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22027 f.debug_struct("D3D12_DEVICE_REMOVED_EXTENDED_DATA2").field("DeviceRemovedReason", &self.DeviceRemovedReason).field("AutoBreadcrumbsOutput", &self.AutoBreadcrumbsOutput).field(name:"PageFaultOutput", &self.PageFaultOutput).finish()
22028 }
22029}
22030impl ::windows_core::TypeKind for D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {
22031 type TypeKind = ::windows_core::CopyType;
22032}
22033impl ::core::cmp::PartialEq for D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {
22034 fn eq(&self, other: &Self) -> bool {
22035 self.DeviceRemovedReason == other.DeviceRemovedReason && self.AutoBreadcrumbsOutput == other.AutoBreadcrumbsOutput && self.PageFaultOutput == other.PageFaultOutput
22036 }
22037}
22038impl ::core::cmp::Eq for D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {}
22039impl ::core::default::Default for D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {
22040 fn default() -> Self {
22041 unsafe { ::core::mem::zeroed() }
22042 }
22043}
22044#[repr(C)]
22045pub struct D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {
22046 pub DeviceRemovedReason: ::windows_core::HRESULT,
22047 pub AutoBreadcrumbsOutput: D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1,
22048 pub PageFaultOutput: D3D12_DRED_PAGE_FAULT_OUTPUT2,
22049 pub DeviceState: D3D12_DRED_DEVICE_STATE,
22050}
22051impl ::core::marker::Copy for D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {}
22052impl ::core::clone::Clone for D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {
22053 fn clone(&self) -> Self {
22054 *self
22055 }
22056}
22057impl ::core::fmt::Debug for D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {
22058 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22059 f.debug_struct("D3D12_DEVICE_REMOVED_EXTENDED_DATA3").field("DeviceRemovedReason", &self.DeviceRemovedReason).field("AutoBreadcrumbsOutput", &self.AutoBreadcrumbsOutput).field("PageFaultOutput", &self.PageFaultOutput).field(name:"DeviceState", &self.DeviceState).finish()
22060 }
22061}
22062impl ::windows_core::TypeKind for D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {
22063 type TypeKind = ::windows_core::CopyType;
22064}
22065impl ::core::cmp::PartialEq for D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {
22066 fn eq(&self, other: &Self) -> bool {
22067 self.DeviceRemovedReason == other.DeviceRemovedReason && self.AutoBreadcrumbsOutput == other.AutoBreadcrumbsOutput && self.PageFaultOutput == other.PageFaultOutput && self.DeviceState == other.DeviceState
22068 }
22069}
22070impl ::core::cmp::Eq for D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {}
22071impl ::core::default::Default for D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {
22072 fn default() -> Self {
22073 unsafe { ::core::mem::zeroed() }
22074 }
22075}
22076#[repr(C)]
22077#[doc = "Required features: `\"Win32_Foundation\"`"]
22078#[cfg(feature = "Win32_Foundation")]
22079pub struct D3D12_DISCARD_REGION {
22080 pub NumRects: u32,
22081 pub pRects: *const super::super::Foundation::RECT,
22082 pub FirstSubresource: u32,
22083 pub NumSubresources: u32,
22084}
22085#[cfg(feature = "Win32_Foundation")]
22086impl ::core::marker::Copy for D3D12_DISCARD_REGION {}
22087#[cfg(feature = "Win32_Foundation")]
22088impl ::core::clone::Clone for D3D12_DISCARD_REGION {
22089 fn clone(&self) -> Self {
22090 *self
22091 }
22092}
22093#[cfg(feature = "Win32_Foundation")]
22094impl ::core::fmt::Debug for D3D12_DISCARD_REGION {
22095 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22096 f.debug_struct("D3D12_DISCARD_REGION").field("NumRects", &self.NumRects).field("pRects", &self.pRects).field("FirstSubresource", &self.FirstSubresource).field(name:"NumSubresources", &self.NumSubresources).finish()
22097 }
22098}
22099#[cfg(feature = "Win32_Foundation")]
22100impl ::windows_core::TypeKind for D3D12_DISCARD_REGION {
22101 type TypeKind = ::windows_core::CopyType;
22102}
22103#[cfg(feature = "Win32_Foundation")]
22104impl ::core::cmp::PartialEq for D3D12_DISCARD_REGION {
22105 fn eq(&self, other: &Self) -> bool {
22106 self.NumRects == other.NumRects && self.pRects == other.pRects && self.FirstSubresource == other.FirstSubresource && self.NumSubresources == other.NumSubresources
22107 }
22108}
22109#[cfg(feature = "Win32_Foundation")]
22110impl ::core::cmp::Eq for D3D12_DISCARD_REGION {}
22111#[cfg(feature = "Win32_Foundation")]
22112impl ::core::default::Default for D3D12_DISCARD_REGION {
22113 fn default() -> Self {
22114 unsafe { ::core::mem::zeroed() }
22115 }
22116}
22117#[repr(C)]
22118pub struct D3D12_DISPATCH_ARGUMENTS {
22119 pub ThreadGroupCountX: u32,
22120 pub ThreadGroupCountY: u32,
22121 pub ThreadGroupCountZ: u32,
22122}
22123impl ::core::marker::Copy for D3D12_DISPATCH_ARGUMENTS {}
22124impl ::core::clone::Clone for D3D12_DISPATCH_ARGUMENTS {
22125 fn clone(&self) -> Self {
22126 *self
22127 }
22128}
22129impl ::core::fmt::Debug for D3D12_DISPATCH_ARGUMENTS {
22130 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22131 f.debug_struct("D3D12_DISPATCH_ARGUMENTS").field("ThreadGroupCountX", &self.ThreadGroupCountX).field("ThreadGroupCountY", &self.ThreadGroupCountY).field(name:"ThreadGroupCountZ", &self.ThreadGroupCountZ).finish()
22132 }
22133}
22134impl ::windows_core::TypeKind for D3D12_DISPATCH_ARGUMENTS {
22135 type TypeKind = ::windows_core::CopyType;
22136}
22137impl ::core::cmp::PartialEq for D3D12_DISPATCH_ARGUMENTS {
22138 fn eq(&self, other: &Self) -> bool {
22139 self.ThreadGroupCountX == other.ThreadGroupCountX && self.ThreadGroupCountY == other.ThreadGroupCountY && self.ThreadGroupCountZ == other.ThreadGroupCountZ
22140 }
22141}
22142impl ::core::cmp::Eq for D3D12_DISPATCH_ARGUMENTS {}
22143impl ::core::default::Default for D3D12_DISPATCH_ARGUMENTS {
22144 fn default() -> Self {
22145 unsafe { ::core::mem::zeroed() }
22146 }
22147}
22148#[repr(C)]
22149pub struct D3D12_DISPATCH_MESH_ARGUMENTS {
22150 pub ThreadGroupCountX: u32,
22151 pub ThreadGroupCountY: u32,
22152 pub ThreadGroupCountZ: u32,
22153}
22154impl ::core::marker::Copy for D3D12_DISPATCH_MESH_ARGUMENTS {}
22155impl ::core::clone::Clone for D3D12_DISPATCH_MESH_ARGUMENTS {
22156 fn clone(&self) -> Self {
22157 *self
22158 }
22159}
22160impl ::core::fmt::Debug for D3D12_DISPATCH_MESH_ARGUMENTS {
22161 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22162 f.debug_struct("D3D12_DISPATCH_MESH_ARGUMENTS").field("ThreadGroupCountX", &self.ThreadGroupCountX).field("ThreadGroupCountY", &self.ThreadGroupCountY).field(name:"ThreadGroupCountZ", &self.ThreadGroupCountZ).finish()
22163 }
22164}
22165impl ::windows_core::TypeKind for D3D12_DISPATCH_MESH_ARGUMENTS {
22166 type TypeKind = ::windows_core::CopyType;
22167}
22168impl ::core::cmp::PartialEq for D3D12_DISPATCH_MESH_ARGUMENTS {
22169 fn eq(&self, other: &Self) -> bool {
22170 self.ThreadGroupCountX == other.ThreadGroupCountX && self.ThreadGroupCountY == other.ThreadGroupCountY && self.ThreadGroupCountZ == other.ThreadGroupCountZ
22171 }
22172}
22173impl ::core::cmp::Eq for D3D12_DISPATCH_MESH_ARGUMENTS {}
22174impl ::core::default::Default for D3D12_DISPATCH_MESH_ARGUMENTS {
22175 fn default() -> Self {
22176 unsafe { ::core::mem::zeroed() }
22177 }
22178}
22179#[repr(C)]
22180pub struct D3D12_DISPATCH_RAYS_DESC {
22181 pub RayGenerationShaderRecord: D3D12_GPU_VIRTUAL_ADDRESS_RANGE,
22182 pub MissShaderTable: D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE,
22183 pub HitGroupTable: D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE,
22184 pub CallableShaderTable: D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE,
22185 pub Width: u32,
22186 pub Height: u32,
22187 pub Depth: u32,
22188}
22189impl ::core::marker::Copy for D3D12_DISPATCH_RAYS_DESC {}
22190impl ::core::clone::Clone for D3D12_DISPATCH_RAYS_DESC {
22191 fn clone(&self) -> Self {
22192 *self
22193 }
22194}
22195impl ::core::fmt::Debug for D3D12_DISPATCH_RAYS_DESC {
22196 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22197 f.debug_struct("D3D12_DISPATCH_RAYS_DESC").field("RayGenerationShaderRecord", &self.RayGenerationShaderRecord).field("MissShaderTable", &self.MissShaderTable).field("HitGroupTable", &self.HitGroupTable).field("CallableShaderTable", &self.CallableShaderTable).field("Width", &self.Width).field("Height", &self.Height).field(name:"Depth", &self.Depth).finish()
22198 }
22199}
22200impl ::windows_core::TypeKind for D3D12_DISPATCH_RAYS_DESC {
22201 type TypeKind = ::windows_core::CopyType;
22202}
22203impl ::core::cmp::PartialEq for D3D12_DISPATCH_RAYS_DESC {
22204 fn eq(&self, other: &Self) -> bool {
22205 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
22206 }
22207}
22208impl ::core::cmp::Eq for D3D12_DISPATCH_RAYS_DESC {}
22209impl ::core::default::Default for D3D12_DISPATCH_RAYS_DESC {
22210 fn default() -> Self {
22211 unsafe { ::core::mem::zeroed() }
22212 }
22213}
22214#[repr(C)]
22215pub struct D3D12_DRAW_ARGUMENTS {
22216 pub VertexCountPerInstance: u32,
22217 pub InstanceCount: u32,
22218 pub StartVertexLocation: u32,
22219 pub StartInstanceLocation: u32,
22220}
22221impl ::core::marker::Copy for D3D12_DRAW_ARGUMENTS {}
22222impl ::core::clone::Clone for D3D12_DRAW_ARGUMENTS {
22223 fn clone(&self) -> Self {
22224 *self
22225 }
22226}
22227impl ::core::fmt::Debug for D3D12_DRAW_ARGUMENTS {
22228 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22229 f.debug_struct("D3D12_DRAW_ARGUMENTS").field("VertexCountPerInstance", &self.VertexCountPerInstance).field("InstanceCount", &self.InstanceCount).field("StartVertexLocation", &self.StartVertexLocation).field(name:"StartInstanceLocation", &self.StartInstanceLocation).finish()
22230 }
22231}
22232impl ::windows_core::TypeKind for D3D12_DRAW_ARGUMENTS {
22233 type TypeKind = ::windows_core::CopyType;
22234}
22235impl ::core::cmp::PartialEq for D3D12_DRAW_ARGUMENTS {
22236 fn eq(&self, other: &Self) -> bool {
22237 self.VertexCountPerInstance == other.VertexCountPerInstance && self.InstanceCount == other.InstanceCount && self.StartVertexLocation == other.StartVertexLocation && self.StartInstanceLocation == other.StartInstanceLocation
22238 }
22239}
22240impl ::core::cmp::Eq for D3D12_DRAW_ARGUMENTS {}
22241impl ::core::default::Default for D3D12_DRAW_ARGUMENTS {
22242 fn default() -> Self {
22243 unsafe { ::core::mem::zeroed() }
22244 }
22245}
22246#[repr(C)]
22247pub struct D3D12_DRAW_INDEXED_ARGUMENTS {
22248 pub IndexCountPerInstance: u32,
22249 pub InstanceCount: u32,
22250 pub StartIndexLocation: u32,
22251 pub BaseVertexLocation: i32,
22252 pub StartInstanceLocation: u32,
22253}
22254impl ::core::marker::Copy for D3D12_DRAW_INDEXED_ARGUMENTS {}
22255impl ::core::clone::Clone for D3D12_DRAW_INDEXED_ARGUMENTS {
22256 fn clone(&self) -> Self {
22257 *self
22258 }
22259}
22260impl ::core::fmt::Debug for D3D12_DRAW_INDEXED_ARGUMENTS {
22261 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22262 f.debug_struct("D3D12_DRAW_INDEXED_ARGUMENTS").field("IndexCountPerInstance", &self.IndexCountPerInstance).field("InstanceCount", &self.InstanceCount).field("StartIndexLocation", &self.StartIndexLocation).field("BaseVertexLocation", &self.BaseVertexLocation).field(name:"StartInstanceLocation", &self.StartInstanceLocation).finish()
22263 }
22264}
22265impl ::windows_core::TypeKind for D3D12_DRAW_INDEXED_ARGUMENTS {
22266 type TypeKind = ::windows_core::CopyType;
22267}
22268impl ::core::cmp::PartialEq for D3D12_DRAW_INDEXED_ARGUMENTS {
22269 fn eq(&self, other: &Self) -> bool {
22270 self.IndexCountPerInstance == other.IndexCountPerInstance && self.InstanceCount == other.InstanceCount && self.StartIndexLocation == other.StartIndexLocation && self.BaseVertexLocation == other.BaseVertexLocation && self.StartInstanceLocation == other.StartInstanceLocation
22271 }
22272}
22273impl ::core::cmp::Eq for D3D12_DRAW_INDEXED_ARGUMENTS {}
22274impl ::core::default::Default for D3D12_DRAW_INDEXED_ARGUMENTS {
22275 fn default() -> Self {
22276 unsafe { ::core::mem::zeroed() }
22277 }
22278}
22279#[repr(C)]
22280pub struct D3D12_DRED_ALLOCATION_NODE {
22281 pub ObjectNameA: *const u8,
22282 pub ObjectNameW: ::windows_core::PCWSTR,
22283 pub AllocationType: D3D12_DRED_ALLOCATION_TYPE,
22284 pub pNext: *const D3D12_DRED_ALLOCATION_NODE,
22285}
22286impl ::core::marker::Copy for D3D12_DRED_ALLOCATION_NODE {}
22287impl ::core::clone::Clone for D3D12_DRED_ALLOCATION_NODE {
22288 fn clone(&self) -> Self {
22289 *self
22290 }
22291}
22292impl ::core::fmt::Debug for D3D12_DRED_ALLOCATION_NODE {
22293 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22294 f.debug_struct("D3D12_DRED_ALLOCATION_NODE").field("ObjectNameA", &self.ObjectNameA).field("ObjectNameW", &self.ObjectNameW).field("AllocationType", &self.AllocationType).field(name:"pNext", &self.pNext).finish()
22295 }
22296}
22297impl ::windows_core::TypeKind for D3D12_DRED_ALLOCATION_NODE {
22298 type TypeKind = ::windows_core::CopyType;
22299}
22300impl ::core::cmp::PartialEq for D3D12_DRED_ALLOCATION_NODE {
22301 fn eq(&self, other: &Self) -> bool {
22302 self.ObjectNameA == other.ObjectNameA && self.ObjectNameW == other.ObjectNameW && self.AllocationType == other.AllocationType && self.pNext == other.pNext
22303 }
22304}
22305impl ::core::cmp::Eq for D3D12_DRED_ALLOCATION_NODE {}
22306impl ::core::default::Default for D3D12_DRED_ALLOCATION_NODE {
22307 fn default() -> Self {
22308 unsafe { ::core::mem::zeroed() }
22309 }
22310}
22311#[repr(C)]
22312pub struct D3D12_DRED_ALLOCATION_NODE1 {
22313 pub ObjectNameA: *const u8,
22314 pub ObjectNameW: ::windows_core::PCWSTR,
22315 pub AllocationType: D3D12_DRED_ALLOCATION_TYPE,
22316 pub pNext: *const D3D12_DRED_ALLOCATION_NODE1,
22317 pub pObject: ::std::mem::ManuallyDrop<::core::option::Option<::windows_core::IUnknown>>,
22318}
22319impl ::core::clone::Clone for D3D12_DRED_ALLOCATION_NODE1 {
22320 fn clone(&self) -> Self {
22321 unsafe { ::core::mem::transmute_copy(self) }
22322 }
22323}
22324impl ::core::fmt::Debug for D3D12_DRED_ALLOCATION_NODE1 {
22325 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22326 f.debug_struct("D3D12_DRED_ALLOCATION_NODE1").field("ObjectNameA", &self.ObjectNameA).field("ObjectNameW", &self.ObjectNameW).field("AllocationType", &self.AllocationType).field("pNext", &self.pNext).field(name:"pObject", &self.pObject).finish()
22327 }
22328}
22329impl ::windows_core::TypeKind for D3D12_DRED_ALLOCATION_NODE1 {
22330 type TypeKind = ::windows_core::CopyType;
22331}
22332impl ::core::cmp::PartialEq for D3D12_DRED_ALLOCATION_NODE1 {
22333 fn eq(&self, other: &Self) -> bool {
22334 self.ObjectNameA == other.ObjectNameA && self.ObjectNameW == other.ObjectNameW && self.AllocationType == other.AllocationType && self.pNext == other.pNext && self.pObject == other.pObject
22335 }
22336}
22337impl ::core::cmp::Eq for D3D12_DRED_ALLOCATION_NODE1 {}
22338impl ::core::default::Default for D3D12_DRED_ALLOCATION_NODE1 {
22339 fn default() -> Self {
22340 unsafe { ::core::mem::zeroed() }
22341 }
22342}
22343#[repr(C)]
22344pub struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {
22345 pub pHeadAutoBreadcrumbNode: *const D3D12_AUTO_BREADCRUMB_NODE,
22346}
22347impl ::core::marker::Copy for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {}
22348impl ::core::clone::Clone for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {
22349 fn clone(&self) -> Self {
22350 *self
22351 }
22352}
22353impl ::core::fmt::Debug for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {
22354 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22355 f.debug_struct("D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT").field(name:"pHeadAutoBreadcrumbNode", &self.pHeadAutoBreadcrumbNode).finish()
22356 }
22357}
22358impl ::windows_core::TypeKind for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {
22359 type TypeKind = ::windows_core::CopyType;
22360}
22361impl ::core::cmp::PartialEq for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {
22362 fn eq(&self, other: &Self) -> bool {
22363 self.pHeadAutoBreadcrumbNode == other.pHeadAutoBreadcrumbNode
22364 }
22365}
22366impl ::core::cmp::Eq for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {}
22367impl ::core::default::Default for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {
22368 fn default() -> Self {
22369 unsafe { ::core::mem::zeroed() }
22370 }
22371}
22372#[repr(C)]
22373pub struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {
22374 pub pHeadAutoBreadcrumbNode: *const D3D12_AUTO_BREADCRUMB_NODE1,
22375}
22376impl ::core::marker::Copy for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {}
22377impl ::core::clone::Clone for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {
22378 fn clone(&self) -> Self {
22379 *self
22380 }
22381}
22382impl ::core::fmt::Debug for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {
22383 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22384 f.debug_struct("D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1").field(name:"pHeadAutoBreadcrumbNode", &self.pHeadAutoBreadcrumbNode).finish()
22385 }
22386}
22387impl ::windows_core::TypeKind for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {
22388 type TypeKind = ::windows_core::CopyType;
22389}
22390impl ::core::cmp::PartialEq for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {
22391 fn eq(&self, other: &Self) -> bool {
22392 self.pHeadAutoBreadcrumbNode == other.pHeadAutoBreadcrumbNode
22393 }
22394}
22395impl ::core::cmp::Eq for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {}
22396impl ::core::default::Default for D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {
22397 fn default() -> Self {
22398 unsafe { ::core::mem::zeroed() }
22399 }
22400}
22401#[repr(C)]
22402pub struct D3D12_DRED_BREADCRUMB_CONTEXT {
22403 pub BreadcrumbIndex: u32,
22404 pub pContextString: ::windows_core::PCWSTR,
22405}
22406impl ::core::marker::Copy for D3D12_DRED_BREADCRUMB_CONTEXT {}
22407impl ::core::clone::Clone for D3D12_DRED_BREADCRUMB_CONTEXT {
22408 fn clone(&self) -> Self {
22409 *self
22410 }
22411}
22412impl ::core::fmt::Debug for D3D12_DRED_BREADCRUMB_CONTEXT {
22413 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22414 f.debug_struct("D3D12_DRED_BREADCRUMB_CONTEXT").field("BreadcrumbIndex", &self.BreadcrumbIndex).field(name:"pContextString", &self.pContextString).finish()
22415 }
22416}
22417impl ::windows_core::TypeKind for D3D12_DRED_BREADCRUMB_CONTEXT {
22418 type TypeKind = ::windows_core::CopyType;
22419}
22420impl ::core::cmp::PartialEq for D3D12_DRED_BREADCRUMB_CONTEXT {
22421 fn eq(&self, other: &Self) -> bool {
22422 self.BreadcrumbIndex == other.BreadcrumbIndex && self.pContextString == other.pContextString
22423 }
22424}
22425impl ::core::cmp::Eq for D3D12_DRED_BREADCRUMB_CONTEXT {}
22426impl ::core::default::Default for D3D12_DRED_BREADCRUMB_CONTEXT {
22427 fn default() -> Self {
22428 unsafe { ::core::mem::zeroed() }
22429 }
22430}
22431#[repr(C)]
22432pub struct D3D12_DRED_PAGE_FAULT_OUTPUT {
22433 pub PageFaultVA: u64,
22434 pub pHeadExistingAllocationNode: *const D3D12_DRED_ALLOCATION_NODE,
22435 pub pHeadRecentFreedAllocationNode: *const D3D12_DRED_ALLOCATION_NODE,
22436}
22437impl ::core::marker::Copy for D3D12_DRED_PAGE_FAULT_OUTPUT {}
22438impl ::core::clone::Clone for D3D12_DRED_PAGE_FAULT_OUTPUT {
22439 fn clone(&self) -> Self {
22440 *self
22441 }
22442}
22443impl ::core::fmt::Debug for D3D12_DRED_PAGE_FAULT_OUTPUT {
22444 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22445 f.debug_struct("D3D12_DRED_PAGE_FAULT_OUTPUT").field("PageFaultVA", &self.PageFaultVA).field("pHeadExistingAllocationNode", &self.pHeadExistingAllocationNode).field(name:"pHeadRecentFreedAllocationNode", &self.pHeadRecentFreedAllocationNode).finish()
22446 }
22447}
22448impl ::windows_core::TypeKind for D3D12_DRED_PAGE_FAULT_OUTPUT {
22449 type TypeKind = ::windows_core::CopyType;
22450}
22451impl ::core::cmp::PartialEq for D3D12_DRED_PAGE_FAULT_OUTPUT {
22452 fn eq(&self, other: &Self) -> bool {
22453 self.PageFaultVA == other.PageFaultVA && self.pHeadExistingAllocationNode == other.pHeadExistingAllocationNode && self.pHeadRecentFreedAllocationNode == other.pHeadRecentFreedAllocationNode
22454 }
22455}
22456impl ::core::cmp::Eq for D3D12_DRED_PAGE_FAULT_OUTPUT {}
22457impl ::core::default::Default for D3D12_DRED_PAGE_FAULT_OUTPUT {
22458 fn default() -> Self {
22459 unsafe { ::core::mem::zeroed() }
22460 }
22461}
22462#[repr(C)]
22463pub struct D3D12_DRED_PAGE_FAULT_OUTPUT1 {
22464 pub PageFaultVA: u64,
22465 pub pHeadExistingAllocationNode: *const D3D12_DRED_ALLOCATION_NODE1,
22466 pub pHeadRecentFreedAllocationNode: *const D3D12_DRED_ALLOCATION_NODE1,
22467}
22468impl ::core::marker::Copy for D3D12_DRED_PAGE_FAULT_OUTPUT1 {}
22469impl ::core::clone::Clone for D3D12_DRED_PAGE_FAULT_OUTPUT1 {
22470 fn clone(&self) -> Self {
22471 *self
22472 }
22473}
22474impl ::core::fmt::Debug for D3D12_DRED_PAGE_FAULT_OUTPUT1 {
22475 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22476 f.debug_struct("D3D12_DRED_PAGE_FAULT_OUTPUT1").field("PageFaultVA", &self.PageFaultVA).field("pHeadExistingAllocationNode", &self.pHeadExistingAllocationNode).field(name:"pHeadRecentFreedAllocationNode", &self.pHeadRecentFreedAllocationNode).finish()
22477 }
22478}
22479impl ::windows_core::TypeKind for D3D12_DRED_PAGE_FAULT_OUTPUT1 {
22480 type TypeKind = ::windows_core::CopyType;
22481}
22482impl ::core::cmp::PartialEq for D3D12_DRED_PAGE_FAULT_OUTPUT1 {
22483 fn eq(&self, other: &Self) -> bool {
22484 self.PageFaultVA == other.PageFaultVA && self.pHeadExistingAllocationNode == other.pHeadExistingAllocationNode && self.pHeadRecentFreedAllocationNode == other.pHeadRecentFreedAllocationNode
22485 }
22486}
22487impl ::core::cmp::Eq for D3D12_DRED_PAGE_FAULT_OUTPUT1 {}
22488impl ::core::default::Default for D3D12_DRED_PAGE_FAULT_OUTPUT1 {
22489 fn default() -> Self {
22490 unsafe { ::core::mem::zeroed() }
22491 }
22492}
22493#[repr(C)]
22494pub struct D3D12_DRED_PAGE_FAULT_OUTPUT2 {
22495 pub PageFaultVA: u64,
22496 pub pHeadExistingAllocationNode: *const D3D12_DRED_ALLOCATION_NODE1,
22497 pub pHeadRecentFreedAllocationNode: *const D3D12_DRED_ALLOCATION_NODE1,
22498 pub PageFaultFlags: D3D12_DRED_PAGE_FAULT_FLAGS,
22499}
22500impl ::core::marker::Copy for D3D12_DRED_PAGE_FAULT_OUTPUT2 {}
22501impl ::core::clone::Clone for D3D12_DRED_PAGE_FAULT_OUTPUT2 {
22502 fn clone(&self) -> Self {
22503 *self
22504 }
22505}
22506impl ::core::fmt::Debug for D3D12_DRED_PAGE_FAULT_OUTPUT2 {
22507 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22508 f.debug_struct("D3D12_DRED_PAGE_FAULT_OUTPUT2").field("PageFaultVA", &self.PageFaultVA).field("pHeadExistingAllocationNode", &self.pHeadExistingAllocationNode).field("pHeadRecentFreedAllocationNode", &self.pHeadRecentFreedAllocationNode).field(name:"PageFaultFlags", &self.PageFaultFlags).finish()
22509 }
22510}
22511impl ::windows_core::TypeKind for D3D12_DRED_PAGE_FAULT_OUTPUT2 {
22512 type TypeKind = ::windows_core::CopyType;
22513}
22514impl ::core::cmp::PartialEq for D3D12_DRED_PAGE_FAULT_OUTPUT2 {
22515 fn eq(&self, other: &Self) -> bool {
22516 self.PageFaultVA == other.PageFaultVA && self.pHeadExistingAllocationNode == other.pHeadExistingAllocationNode && self.pHeadRecentFreedAllocationNode == other.pHeadRecentFreedAllocationNode && self.PageFaultFlags == other.PageFaultFlags
22517 }
22518}
22519impl ::core::cmp::Eq for D3D12_DRED_PAGE_FAULT_OUTPUT2 {}
22520impl ::core::default::Default for D3D12_DRED_PAGE_FAULT_OUTPUT2 {
22521 fn default() -> Self {
22522 unsafe { ::core::mem::zeroed() }
22523 }
22524}
22525#[repr(C)]
22526pub struct D3D12_DXIL_LIBRARY_DESC {
22527 pub DXILLibrary: D3D12_SHADER_BYTECODE,
22528 pub NumExports: u32,
22529 pub pExports: *mut D3D12_EXPORT_DESC,
22530}
22531impl ::core::marker::Copy for D3D12_DXIL_LIBRARY_DESC {}
22532impl ::core::clone::Clone for D3D12_DXIL_LIBRARY_DESC {
22533 fn clone(&self) -> Self {
22534 *self
22535 }
22536}
22537impl ::core::fmt::Debug for D3D12_DXIL_LIBRARY_DESC {
22538 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22539 f.debug_struct("D3D12_DXIL_LIBRARY_DESC").field("DXILLibrary", &self.DXILLibrary).field("NumExports", &self.NumExports).field(name:"pExports", &self.pExports).finish()
22540 }
22541}
22542impl ::windows_core::TypeKind for D3D12_DXIL_LIBRARY_DESC {
22543 type TypeKind = ::windows_core::CopyType;
22544}
22545impl ::core::cmp::PartialEq for D3D12_DXIL_LIBRARY_DESC {
22546 fn eq(&self, other: &Self) -> bool {
22547 self.DXILLibrary == other.DXILLibrary && self.NumExports == other.NumExports && self.pExports == other.pExports
22548 }
22549}
22550impl ::core::cmp::Eq for D3D12_DXIL_LIBRARY_DESC {}
22551impl ::core::default::Default for D3D12_DXIL_LIBRARY_DESC {
22552 fn default() -> Self {
22553 unsafe { ::core::mem::zeroed() }
22554 }
22555}
22556#[repr(C)]
22557pub struct D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
22558 pub SubobjectToAssociate: ::windows_core::PCWSTR,
22559 pub NumExports: u32,
22560 pub pExports: *const ::windows_core::PCWSTR,
22561}
22562impl ::core::marker::Copy for D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {}
22563impl ::core::clone::Clone for D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
22564 fn clone(&self) -> Self {
22565 *self
22566 }
22567}
22568impl ::core::fmt::Debug for D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
22569 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22570 f.debug_struct("D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION").field("SubobjectToAssociate", &self.SubobjectToAssociate).field("NumExports", &self.NumExports).field(name:"pExports", &self.pExports).finish()
22571 }
22572}
22573impl ::windows_core::TypeKind for D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
22574 type TypeKind = ::windows_core::CopyType;
22575}
22576impl ::core::cmp::PartialEq for D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
22577 fn eq(&self, other: &Self) -> bool {
22578 self.SubobjectToAssociate == other.SubobjectToAssociate && self.NumExports == other.NumExports && self.pExports == other.pExports
22579 }
22580}
22581impl ::core::cmp::Eq for D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {}
22582impl ::core::default::Default for D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
22583 fn default() -> Self {
22584 unsafe { ::core::mem::zeroed() }
22585 }
22586}
22587#[repr(C)]
22588pub struct D3D12_EXISTING_COLLECTION_DESC {
22589 pub pExistingCollection: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12StateObject>>,
22590 pub NumExports: u32,
22591 pub pExports: *mut D3D12_EXPORT_DESC,
22592}
22593impl ::core::clone::Clone for D3D12_EXISTING_COLLECTION_DESC {
22594 fn clone(&self) -> Self {
22595 unsafe { ::core::mem::transmute_copy(self) }
22596 }
22597}
22598impl ::core::fmt::Debug for D3D12_EXISTING_COLLECTION_DESC {
22599 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22600 f.debug_struct("D3D12_EXISTING_COLLECTION_DESC").field("pExistingCollection", &self.pExistingCollection).field("NumExports", &self.NumExports).field(name:"pExports", &self.pExports).finish()
22601 }
22602}
22603impl ::windows_core::TypeKind for D3D12_EXISTING_COLLECTION_DESC {
22604 type TypeKind = ::windows_core::CopyType;
22605}
22606impl ::core::cmp::PartialEq for D3D12_EXISTING_COLLECTION_DESC {
22607 fn eq(&self, other: &Self) -> bool {
22608 self.pExistingCollection == other.pExistingCollection && self.NumExports == other.NumExports && self.pExports == other.pExports
22609 }
22610}
22611impl ::core::cmp::Eq for D3D12_EXISTING_COLLECTION_DESC {}
22612impl ::core::default::Default for D3D12_EXISTING_COLLECTION_DESC {
22613 fn default() -> Self {
22614 unsafe { ::core::mem::zeroed() }
22615 }
22616}
22617#[repr(C)]
22618pub struct D3D12_EXPORT_DESC {
22619 pub Name: ::windows_core::PCWSTR,
22620 pub ExportToRename: ::windows_core::PCWSTR,
22621 pub Flags: D3D12_EXPORT_FLAGS,
22622}
22623impl ::core::marker::Copy for D3D12_EXPORT_DESC {}
22624impl ::core::clone::Clone for D3D12_EXPORT_DESC {
22625 fn clone(&self) -> Self {
22626 *self
22627 }
22628}
22629impl ::core::fmt::Debug for D3D12_EXPORT_DESC {
22630 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22631 f.debug_struct("D3D12_EXPORT_DESC").field("Name", &self.Name).field("ExportToRename", &self.ExportToRename).field(name:"Flags", &self.Flags).finish()
22632 }
22633}
22634impl ::windows_core::TypeKind for D3D12_EXPORT_DESC {
22635 type TypeKind = ::windows_core::CopyType;
22636}
22637impl ::core::cmp::PartialEq for D3D12_EXPORT_DESC {
22638 fn eq(&self, other: &Self) -> bool {
22639 self.Name == other.Name && self.ExportToRename == other.ExportToRename && self.Flags == other.Flags
22640 }
22641}
22642impl ::core::cmp::Eq for D3D12_EXPORT_DESC {}
22643impl ::core::default::Default for D3D12_EXPORT_DESC {
22644 fn default() -> Self {
22645 unsafe { ::core::mem::zeroed() }
22646 }
22647}
22648#[repr(C)]
22649#[doc = "Required features: `\"Win32_Foundation\"`"]
22650#[cfg(feature = "Win32_Foundation")]
22651pub struct D3D12_FEATURE_DATA_ARCHITECTURE {
22652 pub NodeIndex: u32,
22653 pub TileBasedRenderer: super::super::Foundation::BOOL,
22654 pub UMA: super::super::Foundation::BOOL,
22655 pub CacheCoherentUMA: super::super::Foundation::BOOL,
22656}
22657#[cfg(feature = "Win32_Foundation")]
22658impl ::core::marker::Copy for D3D12_FEATURE_DATA_ARCHITECTURE {}
22659#[cfg(feature = "Win32_Foundation")]
22660impl ::core::clone::Clone for D3D12_FEATURE_DATA_ARCHITECTURE {
22661 fn clone(&self) -> Self {
22662 *self
22663 }
22664}
22665#[cfg(feature = "Win32_Foundation")]
22666impl ::core::fmt::Debug for D3D12_FEATURE_DATA_ARCHITECTURE {
22667 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22668 f.debug_struct("D3D12_FEATURE_DATA_ARCHITECTURE").field("NodeIndex", &self.NodeIndex).field("TileBasedRenderer", &self.TileBasedRenderer).field("UMA", &self.UMA).field(name:"CacheCoherentUMA", &self.CacheCoherentUMA).finish()
22669 }
22670}
22671#[cfg(feature = "Win32_Foundation")]
22672impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_ARCHITECTURE {
22673 type TypeKind = ::windows_core::CopyType;
22674}
22675#[cfg(feature = "Win32_Foundation")]
22676impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_ARCHITECTURE {
22677 fn eq(&self, other: &Self) -> bool {
22678 self.NodeIndex == other.NodeIndex && self.TileBasedRenderer == other.TileBasedRenderer && self.UMA == other.UMA && self.CacheCoherentUMA == other.CacheCoherentUMA
22679 }
22680}
22681#[cfg(feature = "Win32_Foundation")]
22682impl ::core::cmp::Eq for D3D12_FEATURE_DATA_ARCHITECTURE {}
22683#[cfg(feature = "Win32_Foundation")]
22684impl ::core::default::Default for D3D12_FEATURE_DATA_ARCHITECTURE {
22685 fn default() -> Self {
22686 unsafe { ::core::mem::zeroed() }
22687 }
22688}
22689#[repr(C)]
22690#[doc = "Required features: `\"Win32_Foundation\"`"]
22691#[cfg(feature = "Win32_Foundation")]
22692pub struct D3D12_FEATURE_DATA_ARCHITECTURE1 {
22693 pub NodeIndex: u32,
22694 pub TileBasedRenderer: super::super::Foundation::BOOL,
22695 pub UMA: super::super::Foundation::BOOL,
22696 pub CacheCoherentUMA: super::super::Foundation::BOOL,
22697 pub IsolatedMMU: super::super::Foundation::BOOL,
22698}
22699#[cfg(feature = "Win32_Foundation")]
22700impl ::core::marker::Copy for D3D12_FEATURE_DATA_ARCHITECTURE1 {}
22701#[cfg(feature = "Win32_Foundation")]
22702impl ::core::clone::Clone for D3D12_FEATURE_DATA_ARCHITECTURE1 {
22703 fn clone(&self) -> Self {
22704 *self
22705 }
22706}
22707#[cfg(feature = "Win32_Foundation")]
22708impl ::core::fmt::Debug for D3D12_FEATURE_DATA_ARCHITECTURE1 {
22709 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22710 f.debug_struct("D3D12_FEATURE_DATA_ARCHITECTURE1").field("NodeIndex", &self.NodeIndex).field("TileBasedRenderer", &self.TileBasedRenderer).field("UMA", &self.UMA).field("CacheCoherentUMA", &self.CacheCoherentUMA).field(name:"IsolatedMMU", &self.IsolatedMMU).finish()
22711 }
22712}
22713#[cfg(feature = "Win32_Foundation")]
22714impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_ARCHITECTURE1 {
22715 type TypeKind = ::windows_core::CopyType;
22716}
22717#[cfg(feature = "Win32_Foundation")]
22718impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_ARCHITECTURE1 {
22719 fn eq(&self, other: &Self) -> bool {
22720 self.NodeIndex == other.NodeIndex && self.TileBasedRenderer == other.TileBasedRenderer && self.UMA == other.UMA && self.CacheCoherentUMA == other.CacheCoherentUMA && self.IsolatedMMU == other.IsolatedMMU
22721 }
22722}
22723#[cfg(feature = "Win32_Foundation")]
22724impl ::core::cmp::Eq for D3D12_FEATURE_DATA_ARCHITECTURE1 {}
22725#[cfg(feature = "Win32_Foundation")]
22726impl ::core::default::Default for D3D12_FEATURE_DATA_ARCHITECTURE1 {
22727 fn default() -> Self {
22728 unsafe { ::core::mem::zeroed() }
22729 }
22730}
22731#[repr(C)]
22732#[doc = "Required features: `\"Win32_Foundation\"`"]
22733#[cfg(feature = "Win32_Foundation")]
22734pub struct D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {
22735 pub CommandListType: D3D12_COMMAND_LIST_TYPE,
22736 pub Priority: u32,
22737 pub PriorityForTypeIsSupported: super::super::Foundation::BOOL,
22738}
22739#[cfg(feature = "Win32_Foundation")]
22740impl ::core::marker::Copy for D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {}
22741#[cfg(feature = "Win32_Foundation")]
22742impl ::core::clone::Clone for D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {
22743 fn clone(&self) -> Self {
22744 *self
22745 }
22746}
22747#[cfg(feature = "Win32_Foundation")]
22748impl ::core::fmt::Debug for D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {
22749 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22750 f.debug_struct("D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY").field("CommandListType", &self.CommandListType).field("Priority", &self.Priority).field(name:"PriorityForTypeIsSupported", &self.PriorityForTypeIsSupported).finish()
22751 }
22752}
22753#[cfg(feature = "Win32_Foundation")]
22754impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {
22755 type TypeKind = ::windows_core::CopyType;
22756}
22757#[cfg(feature = "Win32_Foundation")]
22758impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {
22759 fn eq(&self, other: &Self) -> bool {
22760 self.CommandListType == other.CommandListType && self.Priority == other.Priority && self.PriorityForTypeIsSupported == other.PriorityForTypeIsSupported
22761 }
22762}
22763#[cfg(feature = "Win32_Foundation")]
22764impl ::core::cmp::Eq for D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {}
22765#[cfg(feature = "Win32_Foundation")]
22766impl ::core::default::Default for D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {
22767 fn default() -> Self {
22768 unsafe { ::core::mem::zeroed() }
22769 }
22770}
22771#[repr(C)]
22772#[doc = "Required features: `\"Win32_Foundation\"`"]
22773#[cfg(feature = "Win32_Foundation")]
22774pub struct D3D12_FEATURE_DATA_CROSS_NODE {
22775 pub SharingTier: D3D12_CROSS_NODE_SHARING_TIER,
22776 pub AtomicShaderInstructions: super::super::Foundation::BOOL,
22777}
22778#[cfg(feature = "Win32_Foundation")]
22779impl ::core::marker::Copy for D3D12_FEATURE_DATA_CROSS_NODE {}
22780#[cfg(feature = "Win32_Foundation")]
22781impl ::core::clone::Clone for D3D12_FEATURE_DATA_CROSS_NODE {
22782 fn clone(&self) -> Self {
22783 *self
22784 }
22785}
22786#[cfg(feature = "Win32_Foundation")]
22787impl ::core::fmt::Debug for D3D12_FEATURE_DATA_CROSS_NODE {
22788 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22789 f.debug_struct("D3D12_FEATURE_DATA_CROSS_NODE").field("SharingTier", &self.SharingTier).field(name:"AtomicShaderInstructions", &self.AtomicShaderInstructions).finish()
22790 }
22791}
22792#[cfg(feature = "Win32_Foundation")]
22793impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_CROSS_NODE {
22794 type TypeKind = ::windows_core::CopyType;
22795}
22796#[cfg(feature = "Win32_Foundation")]
22797impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_CROSS_NODE {
22798 fn eq(&self, other: &Self) -> bool {
22799 self.SharingTier == other.SharingTier && self.AtomicShaderInstructions == other.AtomicShaderInstructions
22800 }
22801}
22802#[cfg(feature = "Win32_Foundation")]
22803impl ::core::cmp::Eq for D3D12_FEATURE_DATA_CROSS_NODE {}
22804#[cfg(feature = "Win32_Foundation")]
22805impl ::core::default::Default for D3D12_FEATURE_DATA_CROSS_NODE {
22806 fn default() -> Self {
22807 unsafe { ::core::mem::zeroed() }
22808 }
22809}
22810#[repr(C)]
22811#[doc = "Required features: `\"Win32_Foundation\"`"]
22812#[cfg(feature = "Win32_Foundation")]
22813pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS {
22814 pub DoublePrecisionFloatShaderOps: super::super::Foundation::BOOL,
22815 pub OutputMergerLogicOp: super::super::Foundation::BOOL,
22816 pub MinPrecisionSupport: D3D12_SHADER_MIN_PRECISION_SUPPORT,
22817 pub TiledResourcesTier: D3D12_TILED_RESOURCES_TIER,
22818 pub ResourceBindingTier: D3D12_RESOURCE_BINDING_TIER,
22819 pub PSSpecifiedStencilRefSupported: super::super::Foundation::BOOL,
22820 pub TypedUAVLoadAdditionalFormats: super::super::Foundation::BOOL,
22821 pub ROVsSupported: super::super::Foundation::BOOL,
22822 pub ConservativeRasterizationTier: D3D12_CONSERVATIVE_RASTERIZATION_TIER,
22823 pub MaxGPUVirtualAddressBitsPerResource: u32,
22824 pub StandardSwizzle64KBSupported: super::super::Foundation::BOOL,
22825 pub CrossNodeSharingTier: D3D12_CROSS_NODE_SHARING_TIER,
22826 pub CrossAdapterRowMajorTextureSupported: super::super::Foundation::BOOL,
22827 pub VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation: super::super::Foundation::BOOL,
22828 pub ResourceHeapTier: D3D12_RESOURCE_HEAP_TIER,
22829}
22830#[cfg(feature = "Win32_Foundation")]
22831impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS {}
22832#[cfg(feature = "Win32_Foundation")]
22833impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS {
22834 fn clone(&self) -> Self {
22835 *self
22836 }
22837}
22838#[cfg(feature = "Win32_Foundation")]
22839impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS {
22840 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22841 f&mut DebugStruct<'_, '_>.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS")
22842 .field("DoublePrecisionFloatShaderOps", &self.DoublePrecisionFloatShaderOps)
22843 .field("OutputMergerLogicOp", &self.OutputMergerLogicOp)
22844 .field("MinPrecisionSupport", &self.MinPrecisionSupport)
22845 .field("TiledResourcesTier", &self.TiledResourcesTier)
22846 .field("ResourceBindingTier", &self.ResourceBindingTier)
22847 .field("PSSpecifiedStencilRefSupported", &self.PSSpecifiedStencilRefSupported)
22848 .field("TypedUAVLoadAdditionalFormats", &self.TypedUAVLoadAdditionalFormats)
22849 .field("ROVsSupported", &self.ROVsSupported)
22850 .field("ConservativeRasterizationTier", &self.ConservativeRasterizationTier)
22851 .field("MaxGPUVirtualAddressBitsPerResource", &self.MaxGPUVirtualAddressBitsPerResource)
22852 .field("StandardSwizzle64KBSupported", &self.StandardSwizzle64KBSupported)
22853 .field("CrossNodeSharingTier", &self.CrossNodeSharingTier)
22854 .field("CrossAdapterRowMajorTextureSupported", &self.CrossAdapterRowMajorTextureSupported)
22855 .field("VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation", &self.VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation)
22856 .field(name:"ResourceHeapTier", &self.ResourceHeapTier)
22857 .finish()
22858 }
22859}
22860#[cfg(feature = "Win32_Foundation")]
22861impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS {
22862 type TypeKind = ::windows_core::CopyType;
22863}
22864#[cfg(feature = "Win32_Foundation")]
22865impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS {
22866 fn eq(&self, other: &Self) -> bool {
22867 self.DoublePrecisionFloatShaderOps == other.DoublePrecisionFloatShaderOps
22868 && self.OutputMergerLogicOp == other.OutputMergerLogicOp
22869 && self.MinPrecisionSupport == other.MinPrecisionSupport
22870 && self.TiledResourcesTier == other.TiledResourcesTier
22871 && self.ResourceBindingTier == other.ResourceBindingTier
22872 && self.PSSpecifiedStencilRefSupported == other.PSSpecifiedStencilRefSupported
22873 && self.TypedUAVLoadAdditionalFormats == other.TypedUAVLoadAdditionalFormats
22874 && self.ROVsSupported == other.ROVsSupported
22875 && self.ConservativeRasterizationTier == other.ConservativeRasterizationTier
22876 && self.MaxGPUVirtualAddressBitsPerResource == other.MaxGPUVirtualAddressBitsPerResource
22877 && self.StandardSwizzle64KBSupported == other.StandardSwizzle64KBSupported
22878 && self.CrossNodeSharingTier == other.CrossNodeSharingTier
22879 && self.CrossAdapterRowMajorTextureSupported == other.CrossAdapterRowMajorTextureSupported
22880 && self.VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation == other.VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation
22881 && self.ResourceHeapTier == other.ResourceHeapTier
22882 }
22883}
22884#[cfg(feature = "Win32_Foundation")]
22885impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS {}
22886#[cfg(feature = "Win32_Foundation")]
22887impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS {
22888 fn default() -> Self {
22889 unsafe { ::core::mem::zeroed() }
22890 }
22891}
22892#[repr(C)]
22893#[doc = "Required features: `\"Win32_Foundation\"`"]
22894#[cfg(feature = "Win32_Foundation")]
22895pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS1 {
22896 pub WaveOps: super::super::Foundation::BOOL,
22897 pub WaveLaneCountMin: u32,
22898 pub WaveLaneCountMax: u32,
22899 pub TotalLaneCount: u32,
22900 pub ExpandedComputeResourceStates: super::super::Foundation::BOOL,
22901 pub Int64ShaderOps: super::super::Foundation::BOOL,
22902}
22903#[cfg(feature = "Win32_Foundation")]
22904impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS1 {}
22905#[cfg(feature = "Win32_Foundation")]
22906impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS1 {
22907 fn clone(&self) -> Self {
22908 *self
22909 }
22910}
22911#[cfg(feature = "Win32_Foundation")]
22912impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS1 {
22913 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22914 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS1").field("WaveOps", &self.WaveOps).field("WaveLaneCountMin", &self.WaveLaneCountMin).field("WaveLaneCountMax", &self.WaveLaneCountMax).field("TotalLaneCount", &self.TotalLaneCount).field("ExpandedComputeResourceStates", &self.ExpandedComputeResourceStates).field(name:"Int64ShaderOps", &self.Int64ShaderOps).finish()
22915 }
22916}
22917#[cfg(feature = "Win32_Foundation")]
22918impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS1 {
22919 type TypeKind = ::windows_core::CopyType;
22920}
22921#[cfg(feature = "Win32_Foundation")]
22922impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS1 {
22923 fn eq(&self, other: &Self) -> bool {
22924 self.WaveOps == other.WaveOps && self.WaveLaneCountMin == other.WaveLaneCountMin && self.WaveLaneCountMax == other.WaveLaneCountMax && self.TotalLaneCount == other.TotalLaneCount && self.ExpandedComputeResourceStates == other.ExpandedComputeResourceStates && self.Int64ShaderOps == other.Int64ShaderOps
22925 }
22926}
22927#[cfg(feature = "Win32_Foundation")]
22928impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS1 {}
22929#[cfg(feature = "Win32_Foundation")]
22930impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS1 {
22931 fn default() -> Self {
22932 unsafe { ::core::mem::zeroed() }
22933 }
22934}
22935#[repr(C)]
22936#[doc = "Required features: `\"Win32_Foundation\"`"]
22937#[cfg(feature = "Win32_Foundation")]
22938pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS10 {
22939 pub VariableRateShadingSumCombinerSupported: super::super::Foundation::BOOL,
22940 pub MeshShaderPerPrimitiveShadingRateSupported: super::super::Foundation::BOOL,
22941}
22942#[cfg(feature = "Win32_Foundation")]
22943impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS10 {}
22944#[cfg(feature = "Win32_Foundation")]
22945impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS10 {
22946 fn clone(&self) -> Self {
22947 *self
22948 }
22949}
22950#[cfg(feature = "Win32_Foundation")]
22951impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS10 {
22952 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22953 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS10").field("VariableRateShadingSumCombinerSupported", &self.VariableRateShadingSumCombinerSupported).field(name:"MeshShaderPerPrimitiveShadingRateSupported", &self.MeshShaderPerPrimitiveShadingRateSupported).finish()
22954 }
22955}
22956#[cfg(feature = "Win32_Foundation")]
22957impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS10 {
22958 type TypeKind = ::windows_core::CopyType;
22959}
22960#[cfg(feature = "Win32_Foundation")]
22961impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS10 {
22962 fn eq(&self, other: &Self) -> bool {
22963 self.VariableRateShadingSumCombinerSupported == other.VariableRateShadingSumCombinerSupported && self.MeshShaderPerPrimitiveShadingRateSupported == other.MeshShaderPerPrimitiveShadingRateSupported
22964 }
22965}
22966#[cfg(feature = "Win32_Foundation")]
22967impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS10 {}
22968#[cfg(feature = "Win32_Foundation")]
22969impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS10 {
22970 fn default() -> Self {
22971 unsafe { ::core::mem::zeroed() }
22972 }
22973}
22974#[repr(C)]
22975#[doc = "Required features: `\"Win32_Foundation\"`"]
22976#[cfg(feature = "Win32_Foundation")]
22977pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS11 {
22978 pub AtomicInt64OnDescriptorHeapResourceSupported: super::super::Foundation::BOOL,
22979}
22980#[cfg(feature = "Win32_Foundation")]
22981impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS11 {}
22982#[cfg(feature = "Win32_Foundation")]
22983impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS11 {
22984 fn clone(&self) -> Self {
22985 *self
22986 }
22987}
22988#[cfg(feature = "Win32_Foundation")]
22989impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS11 {
22990 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
22991 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS11").field(name:"AtomicInt64OnDescriptorHeapResourceSupported", &self.AtomicInt64OnDescriptorHeapResourceSupported).finish()
22992 }
22993}
22994#[cfg(feature = "Win32_Foundation")]
22995impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS11 {
22996 type TypeKind = ::windows_core::CopyType;
22997}
22998#[cfg(feature = "Win32_Foundation")]
22999impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS11 {
23000 fn eq(&self, other: &Self) -> bool {
23001 self.AtomicInt64OnDescriptorHeapResourceSupported == other.AtomicInt64OnDescriptorHeapResourceSupported
23002 }
23003}
23004#[cfg(feature = "Win32_Foundation")]
23005impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS11 {}
23006#[cfg(feature = "Win32_Foundation")]
23007impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS11 {
23008 fn default() -> Self {
23009 unsafe { ::core::mem::zeroed() }
23010 }
23011}
23012#[repr(C)]
23013#[doc = "Required features: `\"Win32_Foundation\"`"]
23014#[cfg(feature = "Win32_Foundation")]
23015pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS12 {
23016 pub MSPrimitivesPipelineStatisticIncludesCulledPrimitives: D3D12_TRI_STATE,
23017 pub EnhancedBarriersSupported: super::super::Foundation::BOOL,
23018 pub RelaxedFormatCastingSupported: super::super::Foundation::BOOL,
23019}
23020#[cfg(feature = "Win32_Foundation")]
23021impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS12 {}
23022#[cfg(feature = "Win32_Foundation")]
23023impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS12 {
23024 fn clone(&self) -> Self {
23025 *self
23026 }
23027}
23028#[cfg(feature = "Win32_Foundation")]
23029impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS12 {
23030 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23031 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS12").field("MSPrimitivesPipelineStatisticIncludesCulledPrimitives", &self.MSPrimitivesPipelineStatisticIncludesCulledPrimitives).field("EnhancedBarriersSupported", &self.EnhancedBarriersSupported).field(name:"RelaxedFormatCastingSupported", &self.RelaxedFormatCastingSupported).finish()
23032 }
23033}
23034#[cfg(feature = "Win32_Foundation")]
23035impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS12 {
23036 type TypeKind = ::windows_core::CopyType;
23037}
23038#[cfg(feature = "Win32_Foundation")]
23039impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS12 {
23040 fn eq(&self, other: &Self) -> bool {
23041 self.MSPrimitivesPipelineStatisticIncludesCulledPrimitives == other.MSPrimitivesPipelineStatisticIncludesCulledPrimitives && self.EnhancedBarriersSupported == other.EnhancedBarriersSupported && self.RelaxedFormatCastingSupported == other.RelaxedFormatCastingSupported
23042 }
23043}
23044#[cfg(feature = "Win32_Foundation")]
23045impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS12 {}
23046#[cfg(feature = "Win32_Foundation")]
23047impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS12 {
23048 fn default() -> Self {
23049 unsafe { ::core::mem::zeroed() }
23050 }
23051}
23052#[repr(C)]
23053#[doc = "Required features: `\"Win32_Foundation\"`"]
23054#[cfg(feature = "Win32_Foundation")]
23055pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS13 {
23056 pub UnrestrictedBufferTextureCopyPitchSupported: super::super::Foundation::BOOL,
23057 pub UnrestrictedVertexElementAlignmentSupported: super::super::Foundation::BOOL,
23058 pub InvertedViewportHeightFlipsYSupported: super::super::Foundation::BOOL,
23059 pub InvertedViewportDepthFlipsZSupported: super::super::Foundation::BOOL,
23060 pub TextureCopyBetweenDimensionsSupported: super::super::Foundation::BOOL,
23061 pub AlphaBlendFactorSupported: super::super::Foundation::BOOL,
23062}
23063#[cfg(feature = "Win32_Foundation")]
23064impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS13 {}
23065#[cfg(feature = "Win32_Foundation")]
23066impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS13 {
23067 fn clone(&self) -> Self {
23068 *self
23069 }
23070}
23071#[cfg(feature = "Win32_Foundation")]
23072impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS13 {
23073 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23074 f&mut DebugStruct<'_, '_>.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS13")
23075 .field("UnrestrictedBufferTextureCopyPitchSupported", &self.UnrestrictedBufferTextureCopyPitchSupported)
23076 .field("UnrestrictedVertexElementAlignmentSupported", &self.UnrestrictedVertexElementAlignmentSupported)
23077 .field("InvertedViewportHeightFlipsYSupported", &self.InvertedViewportHeightFlipsYSupported)
23078 .field("InvertedViewportDepthFlipsZSupported", &self.InvertedViewportDepthFlipsZSupported)
23079 .field("TextureCopyBetweenDimensionsSupported", &self.TextureCopyBetweenDimensionsSupported)
23080 .field(name:"AlphaBlendFactorSupported", &self.AlphaBlendFactorSupported)
23081 .finish()
23082 }
23083}
23084#[cfg(feature = "Win32_Foundation")]
23085impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS13 {
23086 type TypeKind = ::windows_core::CopyType;
23087}
23088#[cfg(feature = "Win32_Foundation")]
23089impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS13 {
23090 fn eq(&self, other: &Self) -> bool {
23091 self.UnrestrictedBufferTextureCopyPitchSupported == other.UnrestrictedBufferTextureCopyPitchSupported && self.UnrestrictedVertexElementAlignmentSupported == other.UnrestrictedVertexElementAlignmentSupported && self.InvertedViewportHeightFlipsYSupported == other.InvertedViewportHeightFlipsYSupported && self.InvertedViewportDepthFlipsZSupported == other.InvertedViewportDepthFlipsZSupported && self.TextureCopyBetweenDimensionsSupported == other.TextureCopyBetweenDimensionsSupported && self.AlphaBlendFactorSupported == other.AlphaBlendFactorSupported
23092 }
23093}
23094#[cfg(feature = "Win32_Foundation")]
23095impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS13 {}
23096#[cfg(feature = "Win32_Foundation")]
23097impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS13 {
23098 fn default() -> Self {
23099 unsafe { ::core::mem::zeroed() }
23100 }
23101}
23102#[repr(C)]
23103#[doc = "Required features: `\"Win32_Foundation\"`"]
23104#[cfg(feature = "Win32_Foundation")]
23105pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS14 {
23106 pub AdvancedTextureOpsSupported: super::super::Foundation::BOOL,
23107 pub WriteableMSAATexturesSupported: super::super::Foundation::BOOL,
23108 pub IndependentFrontAndBackStencilRefMaskSupported: super::super::Foundation::BOOL,
23109}
23110#[cfg(feature = "Win32_Foundation")]
23111impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS14 {}
23112#[cfg(feature = "Win32_Foundation")]
23113impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS14 {
23114 fn clone(&self) -> Self {
23115 *self
23116 }
23117}
23118#[cfg(feature = "Win32_Foundation")]
23119impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS14 {
23120 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23121 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS14").field("AdvancedTextureOpsSupported", &self.AdvancedTextureOpsSupported).field("WriteableMSAATexturesSupported", &self.WriteableMSAATexturesSupported).field(name:"IndependentFrontAndBackStencilRefMaskSupported", &self.IndependentFrontAndBackStencilRefMaskSupported).finish()
23122 }
23123}
23124#[cfg(feature = "Win32_Foundation")]
23125impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS14 {
23126 type TypeKind = ::windows_core::CopyType;
23127}
23128#[cfg(feature = "Win32_Foundation")]
23129impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS14 {
23130 fn eq(&self, other: &Self) -> bool {
23131 self.AdvancedTextureOpsSupported == other.AdvancedTextureOpsSupported && self.WriteableMSAATexturesSupported == other.WriteableMSAATexturesSupported && self.IndependentFrontAndBackStencilRefMaskSupported == other.IndependentFrontAndBackStencilRefMaskSupported
23132 }
23133}
23134#[cfg(feature = "Win32_Foundation")]
23135impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS14 {}
23136#[cfg(feature = "Win32_Foundation")]
23137impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS14 {
23138 fn default() -> Self {
23139 unsafe { ::core::mem::zeroed() }
23140 }
23141}
23142#[repr(C)]
23143#[doc = "Required features: `\"Win32_Foundation\"`"]
23144#[cfg(feature = "Win32_Foundation")]
23145pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS15 {
23146 pub TriangleFanSupported: super::super::Foundation::BOOL,
23147 pub DynamicIndexBufferStripCutSupported: super::super::Foundation::BOOL,
23148}
23149#[cfg(feature = "Win32_Foundation")]
23150impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS15 {}
23151#[cfg(feature = "Win32_Foundation")]
23152impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS15 {
23153 fn clone(&self) -> Self {
23154 *self
23155 }
23156}
23157#[cfg(feature = "Win32_Foundation")]
23158impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS15 {
23159 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23160 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS15").field("TriangleFanSupported", &self.TriangleFanSupported).field(name:"DynamicIndexBufferStripCutSupported", &self.DynamicIndexBufferStripCutSupported).finish()
23161 }
23162}
23163#[cfg(feature = "Win32_Foundation")]
23164impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS15 {
23165 type TypeKind = ::windows_core::CopyType;
23166}
23167#[cfg(feature = "Win32_Foundation")]
23168impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS15 {
23169 fn eq(&self, other: &Self) -> bool {
23170 self.TriangleFanSupported == other.TriangleFanSupported && self.DynamicIndexBufferStripCutSupported == other.DynamicIndexBufferStripCutSupported
23171 }
23172}
23173#[cfg(feature = "Win32_Foundation")]
23174impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS15 {}
23175#[cfg(feature = "Win32_Foundation")]
23176impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS15 {
23177 fn default() -> Self {
23178 unsafe { ::core::mem::zeroed() }
23179 }
23180}
23181#[repr(C)]
23182#[doc = "Required features: `\"Win32_Foundation\"`"]
23183#[cfg(feature = "Win32_Foundation")]
23184pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS16 {
23185 pub DynamicDepthBiasSupported: super::super::Foundation::BOOL,
23186 pub GPUUploadHeapSupported: super::super::Foundation::BOOL,
23187}
23188#[cfg(feature = "Win32_Foundation")]
23189impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS16 {}
23190#[cfg(feature = "Win32_Foundation")]
23191impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS16 {
23192 fn clone(&self) -> Self {
23193 *self
23194 }
23195}
23196#[cfg(feature = "Win32_Foundation")]
23197impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS16 {
23198 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23199 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS16").field("DynamicDepthBiasSupported", &self.DynamicDepthBiasSupported).field(name:"GPUUploadHeapSupported", &self.GPUUploadHeapSupported).finish()
23200 }
23201}
23202#[cfg(feature = "Win32_Foundation")]
23203impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS16 {
23204 type TypeKind = ::windows_core::CopyType;
23205}
23206#[cfg(feature = "Win32_Foundation")]
23207impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS16 {
23208 fn eq(&self, other: &Self) -> bool {
23209 self.DynamicDepthBiasSupported == other.DynamicDepthBiasSupported && self.GPUUploadHeapSupported == other.GPUUploadHeapSupported
23210 }
23211}
23212#[cfg(feature = "Win32_Foundation")]
23213impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS16 {}
23214#[cfg(feature = "Win32_Foundation")]
23215impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS16 {
23216 fn default() -> Self {
23217 unsafe { ::core::mem::zeroed() }
23218 }
23219}
23220#[repr(C)]
23221#[doc = "Required features: `\"Win32_Foundation\"`"]
23222#[cfg(feature = "Win32_Foundation")]
23223pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS17 {
23224 pub NonNormalizedCoordinateSamplersSupported: super::super::Foundation::BOOL,
23225 pub ManualWriteTrackingResourceSupported: super::super::Foundation::BOOL,
23226}
23227#[cfg(feature = "Win32_Foundation")]
23228impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS17 {}
23229#[cfg(feature = "Win32_Foundation")]
23230impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS17 {
23231 fn clone(&self) -> Self {
23232 *self
23233 }
23234}
23235#[cfg(feature = "Win32_Foundation")]
23236impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS17 {
23237 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23238 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS17").field("NonNormalizedCoordinateSamplersSupported", &self.NonNormalizedCoordinateSamplersSupported).field(name:"ManualWriteTrackingResourceSupported", &self.ManualWriteTrackingResourceSupported).finish()
23239 }
23240}
23241#[cfg(feature = "Win32_Foundation")]
23242impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS17 {
23243 type TypeKind = ::windows_core::CopyType;
23244}
23245#[cfg(feature = "Win32_Foundation")]
23246impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS17 {
23247 fn eq(&self, other: &Self) -> bool {
23248 self.NonNormalizedCoordinateSamplersSupported == other.NonNormalizedCoordinateSamplersSupported && self.ManualWriteTrackingResourceSupported == other.ManualWriteTrackingResourceSupported
23249 }
23250}
23251#[cfg(feature = "Win32_Foundation")]
23252impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS17 {}
23253#[cfg(feature = "Win32_Foundation")]
23254impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS17 {
23255 fn default() -> Self {
23256 unsafe { ::core::mem::zeroed() }
23257 }
23258}
23259#[repr(C)]
23260#[doc = "Required features: `\"Win32_Foundation\"`"]
23261#[cfg(feature = "Win32_Foundation")]
23262pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS18 {
23263 pub RenderPassesValid: super::super::Foundation::BOOL,
23264}
23265#[cfg(feature = "Win32_Foundation")]
23266impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS18 {}
23267#[cfg(feature = "Win32_Foundation")]
23268impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS18 {
23269 fn clone(&self) -> Self {
23270 *self
23271 }
23272}
23273#[cfg(feature = "Win32_Foundation")]
23274impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS18 {
23275 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23276 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS18").field(name:"RenderPassesValid", &self.RenderPassesValid).finish()
23277 }
23278}
23279#[cfg(feature = "Win32_Foundation")]
23280impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS18 {
23281 type TypeKind = ::windows_core::CopyType;
23282}
23283#[cfg(feature = "Win32_Foundation")]
23284impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS18 {
23285 fn eq(&self, other: &Self) -> bool {
23286 self.RenderPassesValid == other.RenderPassesValid
23287 }
23288}
23289#[cfg(feature = "Win32_Foundation")]
23290impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS18 {}
23291#[cfg(feature = "Win32_Foundation")]
23292impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS18 {
23293 fn default() -> Self {
23294 unsafe { ::core::mem::zeroed() }
23295 }
23296}
23297#[repr(C)]
23298#[doc = "Required features: `\"Win32_Foundation\"`"]
23299#[cfg(feature = "Win32_Foundation")]
23300pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS19 {
23301 pub MismatchingOutputDimensionsSupported: super::super::Foundation::BOOL,
23302 pub SupportedSampleCountsWithNoOutputs: u32,
23303 pub PointSamplingAddressesNeverRoundUp: super::super::Foundation::BOOL,
23304 pub RasterizerDesc2Supported: super::super::Foundation::BOOL,
23305 pub NarrowQuadrilateralLinesSupported: super::super::Foundation::BOOL,
23306 pub AnisoFilterWithPointMipSupported: super::super::Foundation::BOOL,
23307 pub MaxSamplerDescriptorHeapSize: u32,
23308 pub MaxSamplerDescriptorHeapSizeWithStaticSamplers: u32,
23309 pub MaxViewDescriptorHeapSize: u32,
23310 pub ComputeOnlyCustomHeapSupported: super::super::Foundation::BOOL,
23311}
23312#[cfg(feature = "Win32_Foundation")]
23313impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS19 {}
23314#[cfg(feature = "Win32_Foundation")]
23315impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS19 {
23316 fn clone(&self) -> Self {
23317 *self
23318 }
23319}
23320#[cfg(feature = "Win32_Foundation")]
23321impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS19 {
23322 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23323 f&mut DebugStruct<'_, '_>.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS19")
23324 .field("MismatchingOutputDimensionsSupported", &self.MismatchingOutputDimensionsSupported)
23325 .field("SupportedSampleCountsWithNoOutputs", &self.SupportedSampleCountsWithNoOutputs)
23326 .field("PointSamplingAddressesNeverRoundUp", &self.PointSamplingAddressesNeverRoundUp)
23327 .field("RasterizerDesc2Supported", &self.RasterizerDesc2Supported)
23328 .field("NarrowQuadrilateralLinesSupported", &self.NarrowQuadrilateralLinesSupported)
23329 .field("AnisoFilterWithPointMipSupported", &self.AnisoFilterWithPointMipSupported)
23330 .field("MaxSamplerDescriptorHeapSize", &self.MaxSamplerDescriptorHeapSize)
23331 .field("MaxSamplerDescriptorHeapSizeWithStaticSamplers", &self.MaxSamplerDescriptorHeapSizeWithStaticSamplers)
23332 .field("MaxViewDescriptorHeapSize", &self.MaxViewDescriptorHeapSize)
23333 .field(name:"ComputeOnlyCustomHeapSupported", &self.ComputeOnlyCustomHeapSupported)
23334 .finish()
23335 }
23336}
23337#[cfg(feature = "Win32_Foundation")]
23338impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS19 {
23339 type TypeKind = ::windows_core::CopyType;
23340}
23341#[cfg(feature = "Win32_Foundation")]
23342impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS19 {
23343 fn eq(&self, other: &Self) -> bool {
23344 self.MismatchingOutputDimensionsSupported == other.MismatchingOutputDimensionsSupported
23345 && self.SupportedSampleCountsWithNoOutputs == other.SupportedSampleCountsWithNoOutputs
23346 && self.PointSamplingAddressesNeverRoundUp == other.PointSamplingAddressesNeverRoundUp
23347 && self.RasterizerDesc2Supported == other.RasterizerDesc2Supported
23348 && self.NarrowQuadrilateralLinesSupported == other.NarrowQuadrilateralLinesSupported
23349 && self.AnisoFilterWithPointMipSupported == other.AnisoFilterWithPointMipSupported
23350 && self.MaxSamplerDescriptorHeapSize == other.MaxSamplerDescriptorHeapSize
23351 && self.MaxSamplerDescriptorHeapSizeWithStaticSamplers == other.MaxSamplerDescriptorHeapSizeWithStaticSamplers
23352 && self.MaxViewDescriptorHeapSize == other.MaxViewDescriptorHeapSize
23353 && self.ComputeOnlyCustomHeapSupported == other.ComputeOnlyCustomHeapSupported
23354 }
23355}
23356#[cfg(feature = "Win32_Foundation")]
23357impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS19 {}
23358#[cfg(feature = "Win32_Foundation")]
23359impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS19 {
23360 fn default() -> Self {
23361 unsafe { ::core::mem::zeroed() }
23362 }
23363}
23364#[repr(C)]
23365#[doc = "Required features: `\"Win32_Foundation\"`"]
23366#[cfg(feature = "Win32_Foundation")]
23367pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS2 {
23368 pub DepthBoundsTestSupported: super::super::Foundation::BOOL,
23369 pub ProgrammableSamplePositionsTier: D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER,
23370}
23371#[cfg(feature = "Win32_Foundation")]
23372impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS2 {}
23373#[cfg(feature = "Win32_Foundation")]
23374impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS2 {
23375 fn clone(&self) -> Self {
23376 *self
23377 }
23378}
23379#[cfg(feature = "Win32_Foundation")]
23380impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS2 {
23381 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23382 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS2").field("DepthBoundsTestSupported", &self.DepthBoundsTestSupported).field(name:"ProgrammableSamplePositionsTier", &self.ProgrammableSamplePositionsTier).finish()
23383 }
23384}
23385#[cfg(feature = "Win32_Foundation")]
23386impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS2 {
23387 type TypeKind = ::windows_core::CopyType;
23388}
23389#[cfg(feature = "Win32_Foundation")]
23390impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS2 {
23391 fn eq(&self, other: &Self) -> bool {
23392 self.DepthBoundsTestSupported == other.DepthBoundsTestSupported && self.ProgrammableSamplePositionsTier == other.ProgrammableSamplePositionsTier
23393 }
23394}
23395#[cfg(feature = "Win32_Foundation")]
23396impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS2 {}
23397#[cfg(feature = "Win32_Foundation")]
23398impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS2 {
23399 fn default() -> Self {
23400 unsafe { ::core::mem::zeroed() }
23401 }
23402}
23403#[repr(C)]
23404#[doc = "Required features: `\"Win32_Foundation\"`"]
23405#[cfg(feature = "Win32_Foundation")]
23406pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS3 {
23407 pub CopyQueueTimestampQueriesSupported: super::super::Foundation::BOOL,
23408 pub CastingFullyTypedFormatSupported: super::super::Foundation::BOOL,
23409 pub WriteBufferImmediateSupportFlags: D3D12_COMMAND_LIST_SUPPORT_FLAGS,
23410 pub ViewInstancingTier: D3D12_VIEW_INSTANCING_TIER,
23411 pub BarycentricsSupported: super::super::Foundation::BOOL,
23412}
23413#[cfg(feature = "Win32_Foundation")]
23414impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS3 {}
23415#[cfg(feature = "Win32_Foundation")]
23416impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS3 {
23417 fn clone(&self) -> Self {
23418 *self
23419 }
23420}
23421#[cfg(feature = "Win32_Foundation")]
23422impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS3 {
23423 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23424 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS3").field("CopyQueueTimestampQueriesSupported", &self.CopyQueueTimestampQueriesSupported).field("CastingFullyTypedFormatSupported", &self.CastingFullyTypedFormatSupported).field("WriteBufferImmediateSupportFlags", &self.WriteBufferImmediateSupportFlags).field("ViewInstancingTier", &self.ViewInstancingTier).field(name:"BarycentricsSupported", &self.BarycentricsSupported).finish()
23425 }
23426}
23427#[cfg(feature = "Win32_Foundation")]
23428impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS3 {
23429 type TypeKind = ::windows_core::CopyType;
23430}
23431#[cfg(feature = "Win32_Foundation")]
23432impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS3 {
23433 fn eq(&self, other: &Self) -> bool {
23434 self.CopyQueueTimestampQueriesSupported == other.CopyQueueTimestampQueriesSupported && self.CastingFullyTypedFormatSupported == other.CastingFullyTypedFormatSupported && self.WriteBufferImmediateSupportFlags == other.WriteBufferImmediateSupportFlags && self.ViewInstancingTier == other.ViewInstancingTier && self.BarycentricsSupported == other.BarycentricsSupported
23435 }
23436}
23437#[cfg(feature = "Win32_Foundation")]
23438impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS3 {}
23439#[cfg(feature = "Win32_Foundation")]
23440impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS3 {
23441 fn default() -> Self {
23442 unsafe { ::core::mem::zeroed() }
23443 }
23444}
23445#[repr(C)]
23446#[doc = "Required features: `\"Win32_Foundation\"`"]
23447#[cfg(feature = "Win32_Foundation")]
23448pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS4 {
23449 pub MSAA64KBAlignedTextureSupported: super::super::Foundation::BOOL,
23450 pub SharedResourceCompatibilityTier: D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER,
23451 pub Native16BitShaderOpsSupported: super::super::Foundation::BOOL,
23452}
23453#[cfg(feature = "Win32_Foundation")]
23454impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS4 {}
23455#[cfg(feature = "Win32_Foundation")]
23456impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS4 {
23457 fn clone(&self) -> Self {
23458 *self
23459 }
23460}
23461#[cfg(feature = "Win32_Foundation")]
23462impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS4 {
23463 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23464 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS4").field("MSAA64KBAlignedTextureSupported", &self.MSAA64KBAlignedTextureSupported).field("SharedResourceCompatibilityTier", &self.SharedResourceCompatibilityTier).field(name:"Native16BitShaderOpsSupported", &self.Native16BitShaderOpsSupported).finish()
23465 }
23466}
23467#[cfg(feature = "Win32_Foundation")]
23468impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS4 {
23469 type TypeKind = ::windows_core::CopyType;
23470}
23471#[cfg(feature = "Win32_Foundation")]
23472impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS4 {
23473 fn eq(&self, other: &Self) -> bool {
23474 self.MSAA64KBAlignedTextureSupported == other.MSAA64KBAlignedTextureSupported && self.SharedResourceCompatibilityTier == other.SharedResourceCompatibilityTier && self.Native16BitShaderOpsSupported == other.Native16BitShaderOpsSupported
23475 }
23476}
23477#[cfg(feature = "Win32_Foundation")]
23478impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS4 {}
23479#[cfg(feature = "Win32_Foundation")]
23480impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS4 {
23481 fn default() -> Self {
23482 unsafe { ::core::mem::zeroed() }
23483 }
23484}
23485#[repr(C)]
23486#[doc = "Required features: `\"Win32_Foundation\"`"]
23487#[cfg(feature = "Win32_Foundation")]
23488pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS5 {
23489 pub SRVOnlyTiledResourceTier3: super::super::Foundation::BOOL,
23490 pub RenderPassesTier: D3D12_RENDER_PASS_TIER,
23491 pub RaytracingTier: D3D12_RAYTRACING_TIER,
23492}
23493#[cfg(feature = "Win32_Foundation")]
23494impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS5 {}
23495#[cfg(feature = "Win32_Foundation")]
23496impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS5 {
23497 fn clone(&self) -> Self {
23498 *self
23499 }
23500}
23501#[cfg(feature = "Win32_Foundation")]
23502impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS5 {
23503 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23504 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS5").field("SRVOnlyTiledResourceTier3", &self.SRVOnlyTiledResourceTier3).field("RenderPassesTier", &self.RenderPassesTier).field(name:"RaytracingTier", &self.RaytracingTier).finish()
23505 }
23506}
23507#[cfg(feature = "Win32_Foundation")]
23508impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS5 {
23509 type TypeKind = ::windows_core::CopyType;
23510}
23511#[cfg(feature = "Win32_Foundation")]
23512impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS5 {
23513 fn eq(&self, other: &Self) -> bool {
23514 self.SRVOnlyTiledResourceTier3 == other.SRVOnlyTiledResourceTier3 && self.RenderPassesTier == other.RenderPassesTier && self.RaytracingTier == other.RaytracingTier
23515 }
23516}
23517#[cfg(feature = "Win32_Foundation")]
23518impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS5 {}
23519#[cfg(feature = "Win32_Foundation")]
23520impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS5 {
23521 fn default() -> Self {
23522 unsafe { ::core::mem::zeroed() }
23523 }
23524}
23525#[repr(C)]
23526#[doc = "Required features: `\"Win32_Foundation\"`"]
23527#[cfg(feature = "Win32_Foundation")]
23528pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS6 {
23529 pub AdditionalShadingRatesSupported: super::super::Foundation::BOOL,
23530 pub PerPrimitiveShadingRateSupportedWithViewportIndexing: super::super::Foundation::BOOL,
23531 pub VariableShadingRateTier: D3D12_VARIABLE_SHADING_RATE_TIER,
23532 pub ShadingRateImageTileSize: u32,
23533 pub BackgroundProcessingSupported: super::super::Foundation::BOOL,
23534}
23535#[cfg(feature = "Win32_Foundation")]
23536impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS6 {}
23537#[cfg(feature = "Win32_Foundation")]
23538impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS6 {
23539 fn clone(&self) -> Self {
23540 *self
23541 }
23542}
23543#[cfg(feature = "Win32_Foundation")]
23544impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS6 {
23545 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23546 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS6").field("AdditionalShadingRatesSupported", &self.AdditionalShadingRatesSupported).field("PerPrimitiveShadingRateSupportedWithViewportIndexing", &self.PerPrimitiveShadingRateSupportedWithViewportIndexing).field("VariableShadingRateTier", &self.VariableShadingRateTier).field("ShadingRateImageTileSize", &self.ShadingRateImageTileSize).field(name:"BackgroundProcessingSupported", &self.BackgroundProcessingSupported).finish()
23547 }
23548}
23549#[cfg(feature = "Win32_Foundation")]
23550impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS6 {
23551 type TypeKind = ::windows_core::CopyType;
23552}
23553#[cfg(feature = "Win32_Foundation")]
23554impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS6 {
23555 fn eq(&self, other: &Self) -> bool {
23556 self.AdditionalShadingRatesSupported == other.AdditionalShadingRatesSupported && self.PerPrimitiveShadingRateSupportedWithViewportIndexing == other.PerPrimitiveShadingRateSupportedWithViewportIndexing && self.VariableShadingRateTier == other.VariableShadingRateTier && self.ShadingRateImageTileSize == other.ShadingRateImageTileSize && self.BackgroundProcessingSupported == other.BackgroundProcessingSupported
23557 }
23558}
23559#[cfg(feature = "Win32_Foundation")]
23560impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS6 {}
23561#[cfg(feature = "Win32_Foundation")]
23562impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS6 {
23563 fn default() -> Self {
23564 unsafe { ::core::mem::zeroed() }
23565 }
23566}
23567#[repr(C)]
23568pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS7 {
23569 pub MeshShaderTier: D3D12_MESH_SHADER_TIER,
23570 pub SamplerFeedbackTier: D3D12_SAMPLER_FEEDBACK_TIER,
23571}
23572impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS7 {}
23573impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS7 {
23574 fn clone(&self) -> Self {
23575 *self
23576 }
23577}
23578impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS7 {
23579 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23580 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS7").field("MeshShaderTier", &self.MeshShaderTier).field(name:"SamplerFeedbackTier", &self.SamplerFeedbackTier).finish()
23581 }
23582}
23583impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS7 {
23584 type TypeKind = ::windows_core::CopyType;
23585}
23586impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS7 {
23587 fn eq(&self, other: &Self) -> bool {
23588 self.MeshShaderTier == other.MeshShaderTier && self.SamplerFeedbackTier == other.SamplerFeedbackTier
23589 }
23590}
23591impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS7 {}
23592impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS7 {
23593 fn default() -> Self {
23594 unsafe { ::core::mem::zeroed() }
23595 }
23596}
23597#[repr(C)]
23598#[doc = "Required features: `\"Win32_Foundation\"`"]
23599#[cfg(feature = "Win32_Foundation")]
23600pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS8 {
23601 pub UnalignedBlockTexturesSupported: super::super::Foundation::BOOL,
23602}
23603#[cfg(feature = "Win32_Foundation")]
23604impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS8 {}
23605#[cfg(feature = "Win32_Foundation")]
23606impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS8 {
23607 fn clone(&self) -> Self {
23608 *self
23609 }
23610}
23611#[cfg(feature = "Win32_Foundation")]
23612impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS8 {
23613 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23614 f.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS8").field(name:"UnalignedBlockTexturesSupported", &self.UnalignedBlockTexturesSupported).finish()
23615 }
23616}
23617#[cfg(feature = "Win32_Foundation")]
23618impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS8 {
23619 type TypeKind = ::windows_core::CopyType;
23620}
23621#[cfg(feature = "Win32_Foundation")]
23622impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS8 {
23623 fn eq(&self, other: &Self) -> bool {
23624 self.UnalignedBlockTexturesSupported == other.UnalignedBlockTexturesSupported
23625 }
23626}
23627#[cfg(feature = "Win32_Foundation")]
23628impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS8 {}
23629#[cfg(feature = "Win32_Foundation")]
23630impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS8 {
23631 fn default() -> Self {
23632 unsafe { ::core::mem::zeroed() }
23633 }
23634}
23635#[repr(C)]
23636#[doc = "Required features: `\"Win32_Foundation\"`"]
23637#[cfg(feature = "Win32_Foundation")]
23638pub struct D3D12_FEATURE_DATA_D3D12_OPTIONS9 {
23639 pub MeshShaderPipelineStatsSupported: super::super::Foundation::BOOL,
23640 pub MeshShaderSupportsFullRangeRenderTargetArrayIndex: super::super::Foundation::BOOL,
23641 pub AtomicInt64OnTypedResourceSupported: super::super::Foundation::BOOL,
23642 pub AtomicInt64OnGroupSharedSupported: super::super::Foundation::BOOL,
23643 pub DerivativesInMeshAndAmplificationShadersSupported: super::super::Foundation::BOOL,
23644 pub WaveMMATier: D3D12_WAVE_MMA_TIER,
23645}
23646#[cfg(feature = "Win32_Foundation")]
23647impl ::core::marker::Copy for D3D12_FEATURE_DATA_D3D12_OPTIONS9 {}
23648#[cfg(feature = "Win32_Foundation")]
23649impl ::core::clone::Clone for D3D12_FEATURE_DATA_D3D12_OPTIONS9 {
23650 fn clone(&self) -> Self {
23651 *self
23652 }
23653}
23654#[cfg(feature = "Win32_Foundation")]
23655impl ::core::fmt::Debug for D3D12_FEATURE_DATA_D3D12_OPTIONS9 {
23656 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23657 f&mut DebugStruct<'_, '_>.debug_struct("D3D12_FEATURE_DATA_D3D12_OPTIONS9")
23658 .field("MeshShaderPipelineStatsSupported", &self.MeshShaderPipelineStatsSupported)
23659 .field("MeshShaderSupportsFullRangeRenderTargetArrayIndex", &self.MeshShaderSupportsFullRangeRenderTargetArrayIndex)
23660 .field("AtomicInt64OnTypedResourceSupported", &self.AtomicInt64OnTypedResourceSupported)
23661 .field("AtomicInt64OnGroupSharedSupported", &self.AtomicInt64OnGroupSharedSupported)
23662 .field("DerivativesInMeshAndAmplificationShadersSupported", &self.DerivativesInMeshAndAmplificationShadersSupported)
23663 .field(name:"WaveMMATier", &self.WaveMMATier)
23664 .finish()
23665 }
23666}
23667#[cfg(feature = "Win32_Foundation")]
23668impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_D3D12_OPTIONS9 {
23669 type TypeKind = ::windows_core::CopyType;
23670}
23671#[cfg(feature = "Win32_Foundation")]
23672impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_D3D12_OPTIONS9 {
23673 fn eq(&self, other: &Self) -> bool {
23674 self.MeshShaderPipelineStatsSupported == other.MeshShaderPipelineStatsSupported && self.MeshShaderSupportsFullRangeRenderTargetArrayIndex == other.MeshShaderSupportsFullRangeRenderTargetArrayIndex && self.AtomicInt64OnTypedResourceSupported == other.AtomicInt64OnTypedResourceSupported && self.AtomicInt64OnGroupSharedSupported == other.AtomicInt64OnGroupSharedSupported && self.DerivativesInMeshAndAmplificationShadersSupported == other.DerivativesInMeshAndAmplificationShadersSupported && self.WaveMMATier == other.WaveMMATier
23675 }
23676}
23677#[cfg(feature = "Win32_Foundation")]
23678impl ::core::cmp::Eq for D3D12_FEATURE_DATA_D3D12_OPTIONS9 {}
23679#[cfg(feature = "Win32_Foundation")]
23680impl ::core::default::Default for D3D12_FEATURE_DATA_D3D12_OPTIONS9 {
23681 fn default() -> Self {
23682 unsafe { ::core::mem::zeroed() }
23683 }
23684}
23685#[repr(C)]
23686#[doc = "Required features: `\"Win32_Foundation\"`"]
23687#[cfg(feature = "Win32_Foundation")]
23688pub struct D3D12_FEATURE_DATA_DISPLAYABLE {
23689 pub DisplayableTexture: super::super::Foundation::BOOL,
23690 pub SharedResourceCompatibilityTier: D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER,
23691}
23692#[cfg(feature = "Win32_Foundation")]
23693impl ::core::marker::Copy for D3D12_FEATURE_DATA_DISPLAYABLE {}
23694#[cfg(feature = "Win32_Foundation")]
23695impl ::core::clone::Clone for D3D12_FEATURE_DATA_DISPLAYABLE {
23696 fn clone(&self) -> Self {
23697 *self
23698 }
23699}
23700#[cfg(feature = "Win32_Foundation")]
23701impl ::core::fmt::Debug for D3D12_FEATURE_DATA_DISPLAYABLE {
23702 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23703 f.debug_struct("D3D12_FEATURE_DATA_DISPLAYABLE").field("DisplayableTexture", &self.DisplayableTexture).field(name:"SharedResourceCompatibilityTier", &self.SharedResourceCompatibilityTier).finish()
23704 }
23705}
23706#[cfg(feature = "Win32_Foundation")]
23707impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_DISPLAYABLE {
23708 type TypeKind = ::windows_core::CopyType;
23709}
23710#[cfg(feature = "Win32_Foundation")]
23711impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_DISPLAYABLE {
23712 fn eq(&self, other: &Self) -> bool {
23713 self.DisplayableTexture == other.DisplayableTexture && self.SharedResourceCompatibilityTier == other.SharedResourceCompatibilityTier
23714 }
23715}
23716#[cfg(feature = "Win32_Foundation")]
23717impl ::core::cmp::Eq for D3D12_FEATURE_DATA_DISPLAYABLE {}
23718#[cfg(feature = "Win32_Foundation")]
23719impl ::core::default::Default for D3D12_FEATURE_DATA_DISPLAYABLE {
23720 fn default() -> Self {
23721 unsafe { ::core::mem::zeroed() }
23722 }
23723}
23724#[repr(C)]
23725#[doc = "Required features: `\"Win32_Foundation\"`"]
23726#[cfg(feature = "Win32_Foundation")]
23727pub struct D3D12_FEATURE_DATA_EXISTING_HEAPS {
23728 pub Supported: super::super::Foundation::BOOL,
23729}
23730#[cfg(feature = "Win32_Foundation")]
23731impl ::core::marker::Copy for D3D12_FEATURE_DATA_EXISTING_HEAPS {}
23732#[cfg(feature = "Win32_Foundation")]
23733impl ::core::clone::Clone for D3D12_FEATURE_DATA_EXISTING_HEAPS {
23734 fn clone(&self) -> Self {
23735 *self
23736 }
23737}
23738#[cfg(feature = "Win32_Foundation")]
23739impl ::core::fmt::Debug for D3D12_FEATURE_DATA_EXISTING_HEAPS {
23740 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23741 f.debug_struct("D3D12_FEATURE_DATA_EXISTING_HEAPS").field(name:"Supported", &self.Supported).finish()
23742 }
23743}
23744#[cfg(feature = "Win32_Foundation")]
23745impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_EXISTING_HEAPS {
23746 type TypeKind = ::windows_core::CopyType;
23747}
23748#[cfg(feature = "Win32_Foundation")]
23749impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_EXISTING_HEAPS {
23750 fn eq(&self, other: &Self) -> bool {
23751 self.Supported == other.Supported
23752 }
23753}
23754#[cfg(feature = "Win32_Foundation")]
23755impl ::core::cmp::Eq for D3D12_FEATURE_DATA_EXISTING_HEAPS {}
23756#[cfg(feature = "Win32_Foundation")]
23757impl ::core::default::Default for D3D12_FEATURE_DATA_EXISTING_HEAPS {
23758 fn default() -> Self {
23759 unsafe { ::core::mem::zeroed() }
23760 }
23761}
23762#[repr(C)]
23763#[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
23764#[cfg(feature = "Win32_Graphics_Direct3D")]
23765pub struct D3D12_FEATURE_DATA_FEATURE_LEVELS {
23766 pub NumFeatureLevels: u32,
23767 pub pFeatureLevelsRequested: *const super::Direct3D::D3D_FEATURE_LEVEL,
23768 pub MaxSupportedFeatureLevel: super::Direct3D::D3D_FEATURE_LEVEL,
23769}
23770#[cfg(feature = "Win32_Graphics_Direct3D")]
23771impl ::core::marker::Copy for D3D12_FEATURE_DATA_FEATURE_LEVELS {}
23772#[cfg(feature = "Win32_Graphics_Direct3D")]
23773impl ::core::clone::Clone for D3D12_FEATURE_DATA_FEATURE_LEVELS {
23774 fn clone(&self) -> Self {
23775 *self
23776 }
23777}
23778#[cfg(feature = "Win32_Graphics_Direct3D")]
23779impl ::core::fmt::Debug for D3D12_FEATURE_DATA_FEATURE_LEVELS {
23780 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23781 f.debug_struct("D3D12_FEATURE_DATA_FEATURE_LEVELS").field("NumFeatureLevels", &self.NumFeatureLevels).field("pFeatureLevelsRequested", &self.pFeatureLevelsRequested).field(name:"MaxSupportedFeatureLevel", &self.MaxSupportedFeatureLevel).finish()
23782 }
23783}
23784#[cfg(feature = "Win32_Graphics_Direct3D")]
23785impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_FEATURE_LEVELS {
23786 type TypeKind = ::windows_core::CopyType;
23787}
23788#[cfg(feature = "Win32_Graphics_Direct3D")]
23789impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_FEATURE_LEVELS {
23790 fn eq(&self, other: &Self) -> bool {
23791 self.NumFeatureLevels == other.NumFeatureLevels && self.pFeatureLevelsRequested == other.pFeatureLevelsRequested && self.MaxSupportedFeatureLevel == other.MaxSupportedFeatureLevel
23792 }
23793}
23794#[cfg(feature = "Win32_Graphics_Direct3D")]
23795impl ::core::cmp::Eq for D3D12_FEATURE_DATA_FEATURE_LEVELS {}
23796#[cfg(feature = "Win32_Graphics_Direct3D")]
23797impl ::core::default::Default for D3D12_FEATURE_DATA_FEATURE_LEVELS {
23798 fn default() -> Self {
23799 unsafe { ::core::mem::zeroed() }
23800 }
23801}
23802#[repr(C)]
23803#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
23804#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23805pub struct D3D12_FEATURE_DATA_FORMAT_INFO {
23806 pub Format: super::Dxgi::Common::DXGI_FORMAT,
23807 pub PlaneCount: u8,
23808}
23809#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23810impl ::core::marker::Copy for D3D12_FEATURE_DATA_FORMAT_INFO {}
23811#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23812impl ::core::clone::Clone for D3D12_FEATURE_DATA_FORMAT_INFO {
23813 fn clone(&self) -> Self {
23814 *self
23815 }
23816}
23817#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23818impl ::core::fmt::Debug for D3D12_FEATURE_DATA_FORMAT_INFO {
23819 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23820 f.debug_struct("D3D12_FEATURE_DATA_FORMAT_INFO").field("Format", &self.Format).field(name:"PlaneCount", &self.PlaneCount).finish()
23821 }
23822}
23823#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23824impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_FORMAT_INFO {
23825 type TypeKind = ::windows_core::CopyType;
23826}
23827#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23828impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_FORMAT_INFO {
23829 fn eq(&self, other: &Self) -> bool {
23830 self.Format == other.Format && self.PlaneCount == other.PlaneCount
23831 }
23832}
23833#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23834impl ::core::cmp::Eq for D3D12_FEATURE_DATA_FORMAT_INFO {}
23835#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23836impl ::core::default::Default for D3D12_FEATURE_DATA_FORMAT_INFO {
23837 fn default() -> Self {
23838 unsafe { ::core::mem::zeroed() }
23839 }
23840}
23841#[repr(C)]
23842#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
23843#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23844pub struct D3D12_FEATURE_DATA_FORMAT_SUPPORT {
23845 pub Format: super::Dxgi::Common::DXGI_FORMAT,
23846 pub Support1: D3D12_FORMAT_SUPPORT1,
23847 pub Support2: D3D12_FORMAT_SUPPORT2,
23848}
23849#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23850impl ::core::marker::Copy for D3D12_FEATURE_DATA_FORMAT_SUPPORT {}
23851#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23852impl ::core::clone::Clone for D3D12_FEATURE_DATA_FORMAT_SUPPORT {
23853 fn clone(&self) -> Self {
23854 *self
23855 }
23856}
23857#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23858impl ::core::fmt::Debug for D3D12_FEATURE_DATA_FORMAT_SUPPORT {
23859 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23860 f.debug_struct("D3D12_FEATURE_DATA_FORMAT_SUPPORT").field("Format", &self.Format).field("Support1", &self.Support1).field(name:"Support2", &self.Support2).finish()
23861 }
23862}
23863#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23864impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_FORMAT_SUPPORT {
23865 type TypeKind = ::windows_core::CopyType;
23866}
23867#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23868impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_FORMAT_SUPPORT {
23869 fn eq(&self, other: &Self) -> bool {
23870 self.Format == other.Format && self.Support1 == other.Support1 && self.Support2 == other.Support2
23871 }
23872}
23873#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23874impl ::core::cmp::Eq for D3D12_FEATURE_DATA_FORMAT_SUPPORT {}
23875#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23876impl ::core::default::Default for D3D12_FEATURE_DATA_FORMAT_SUPPORT {
23877 fn default() -> Self {
23878 unsafe { ::core::mem::zeroed() }
23879 }
23880}
23881#[repr(C)]
23882pub struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
23883 pub MaxGPUVirtualAddressBitsPerResource: u32,
23884 pub MaxGPUVirtualAddressBitsPerProcess: u32,
23885}
23886impl ::core::marker::Copy for D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {}
23887impl ::core::clone::Clone for D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
23888 fn clone(&self) -> Self {
23889 *self
23890 }
23891}
23892impl ::core::fmt::Debug for D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
23893 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23894 f.debug_struct("D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT").field("MaxGPUVirtualAddressBitsPerResource", &self.MaxGPUVirtualAddressBitsPerResource).field(name:"MaxGPUVirtualAddressBitsPerProcess", &self.MaxGPUVirtualAddressBitsPerProcess).finish()
23895 }
23896}
23897impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
23898 type TypeKind = ::windows_core::CopyType;
23899}
23900impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
23901 fn eq(&self, other: &Self) -> bool {
23902 self.MaxGPUVirtualAddressBitsPerResource == other.MaxGPUVirtualAddressBitsPerResource && self.MaxGPUVirtualAddressBitsPerProcess == other.MaxGPUVirtualAddressBitsPerProcess
23903 }
23904}
23905impl ::core::cmp::Eq for D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {}
23906impl ::core::default::Default for D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
23907 fn default() -> Self {
23908 unsafe { ::core::mem::zeroed() }
23909 }
23910}
23911#[repr(C)]
23912#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
23913#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23914pub struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {
23915 pub Format: super::Dxgi::Common::DXGI_FORMAT,
23916 pub SampleCount: u32,
23917 pub Flags: D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS,
23918 pub NumQualityLevels: u32,
23919}
23920#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23921impl ::core::marker::Copy for D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {}
23922#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23923impl ::core::clone::Clone for D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {
23924 fn clone(&self) -> Self {
23925 *self
23926 }
23927}
23928#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23929impl ::core::fmt::Debug for D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {
23930 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23931 f.debug_struct("D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS").field("Format", &self.Format).field("SampleCount", &self.SampleCount).field("Flags", &self.Flags).field(name:"NumQualityLevels", &self.NumQualityLevels).finish()
23932 }
23933}
23934#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23935impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {
23936 type TypeKind = ::windows_core::CopyType;
23937}
23938#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23939impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {
23940 fn eq(&self, other: &Self) -> bool {
23941 self.Format == other.Format && self.SampleCount == other.SampleCount && self.Flags == other.Flags && self.NumQualityLevels == other.NumQualityLevels
23942 }
23943}
23944#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23945impl ::core::cmp::Eq for D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {}
23946#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
23947impl ::core::default::Default for D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {
23948 fn default() -> Self {
23949 unsafe { ::core::mem::zeroed() }
23950 }
23951}
23952#[repr(C)]
23953pub struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {
23954 pub NodeIndex: u32,
23955 pub Support: D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS,
23956}
23957impl ::core::marker::Copy for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {}
23958impl ::core::clone::Clone for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {
23959 fn clone(&self) -> Self {
23960 *self
23961 }
23962}
23963impl ::core::fmt::Debug for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {
23964 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23965 f.debug_struct("D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT").field("NodeIndex", &self.NodeIndex).field(name:"Support", &self.Support).finish()
23966 }
23967}
23968impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {
23969 type TypeKind = ::windows_core::CopyType;
23970}
23971impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {
23972 fn eq(&self, other: &Self) -> bool {
23973 self.NodeIndex == other.NodeIndex && self.Support == other.Support
23974 }
23975}
23976impl ::core::cmp::Eq for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {}
23977impl ::core::default::Default for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {
23978 fn default() -> Self {
23979 unsafe { ::core::mem::zeroed() }
23980 }
23981}
23982#[repr(C)]
23983pub struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {
23984 pub NodeIndex: u32,
23985 pub Count: u32,
23986 pub pTypes: *mut ::windows_core::GUID,
23987}
23988impl ::core::marker::Copy for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {}
23989impl ::core::clone::Clone for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {
23990 fn clone(&self) -> Self {
23991 *self
23992 }
23993}
23994impl ::core::fmt::Debug for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {
23995 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
23996 f.debug_struct("D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES").field("NodeIndex", &self.NodeIndex).field("Count", &self.Count).field(name:"pTypes", &self.pTypes).finish()
23997 }
23998}
23999impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {
24000 type TypeKind = ::windows_core::CopyType;
24001}
24002impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {
24003 fn eq(&self, other: &Self) -> bool {
24004 self.NodeIndex == other.NodeIndex && self.Count == other.Count && self.pTypes == other.pTypes
24005 }
24006}
24007impl ::core::cmp::Eq for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {}
24008impl ::core::default::Default for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {
24009 fn default() -> Self {
24010 unsafe { ::core::mem::zeroed() }
24011 }
24012}
24013#[repr(C)]
24014pub struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {
24015 pub NodeIndex: u32,
24016 pub Count: u32,
24017}
24018impl ::core::marker::Copy for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {}
24019impl ::core::clone::Clone for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {
24020 fn clone(&self) -> Self {
24021 *self
24022 }
24023}
24024impl ::core::fmt::Debug for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {
24025 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24026 f.debug_struct("D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT").field("NodeIndex", &self.NodeIndex).field(name:"Count", &self.Count).finish()
24027 }
24028}
24029impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {
24030 type TypeKind = ::windows_core::CopyType;
24031}
24032impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {
24033 fn eq(&self, other: &Self) -> bool {
24034 self.NodeIndex == other.NodeIndex && self.Count == other.Count
24035 }
24036}
24037impl ::core::cmp::Eq for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {}
24038impl ::core::default::Default for D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {
24039 fn default() -> Self {
24040 unsafe { ::core::mem::zeroed() }
24041 }
24042}
24043#[repr(C)]
24044pub struct D3D12_FEATURE_DATA_QUERY_META_COMMAND {
24045 pub CommandId: ::windows_core::GUID,
24046 pub NodeMask: u32,
24047 pub pQueryInputData: *const ::core::ffi::c_void,
24048 pub QueryInputDataSizeInBytes: usize,
24049 pub pQueryOutputData: *mut ::core::ffi::c_void,
24050 pub QueryOutputDataSizeInBytes: usize,
24051}
24052impl ::core::marker::Copy for D3D12_FEATURE_DATA_QUERY_META_COMMAND {}
24053impl ::core::clone::Clone for D3D12_FEATURE_DATA_QUERY_META_COMMAND {
24054 fn clone(&self) -> Self {
24055 *self
24056 }
24057}
24058impl ::core::fmt::Debug for D3D12_FEATURE_DATA_QUERY_META_COMMAND {
24059 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24060 f.debug_struct("D3D12_FEATURE_DATA_QUERY_META_COMMAND").field("CommandId", &self.CommandId).field("NodeMask", &self.NodeMask).field("pQueryInputData", &self.pQueryInputData).field("QueryInputDataSizeInBytes", &self.QueryInputDataSizeInBytes).field("pQueryOutputData", &self.pQueryOutputData).field(name:"QueryOutputDataSizeInBytes", &self.QueryOutputDataSizeInBytes).finish()
24061 }
24062}
24063impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_QUERY_META_COMMAND {
24064 type TypeKind = ::windows_core::CopyType;
24065}
24066impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_QUERY_META_COMMAND {
24067 fn eq(&self, other: &Self) -> bool {
24068 self.CommandId == other.CommandId && self.NodeMask == other.NodeMask && self.pQueryInputData == other.pQueryInputData && self.QueryInputDataSizeInBytes == other.QueryInputDataSizeInBytes && self.pQueryOutputData == other.pQueryOutputData && self.QueryOutputDataSizeInBytes == other.QueryOutputDataSizeInBytes
24069 }
24070}
24071impl ::core::cmp::Eq for D3D12_FEATURE_DATA_QUERY_META_COMMAND {}
24072impl ::core::default::Default for D3D12_FEATURE_DATA_QUERY_META_COMMAND {
24073 fn default() -> Self {
24074 unsafe { ::core::mem::zeroed() }
24075 }
24076}
24077#[repr(C)]
24078pub struct D3D12_FEATURE_DATA_ROOT_SIGNATURE {
24079 pub HighestVersion: D3D_ROOT_SIGNATURE_VERSION,
24080}
24081impl ::core::marker::Copy for D3D12_FEATURE_DATA_ROOT_SIGNATURE {}
24082impl ::core::clone::Clone for D3D12_FEATURE_DATA_ROOT_SIGNATURE {
24083 fn clone(&self) -> Self {
24084 *self
24085 }
24086}
24087impl ::core::fmt::Debug for D3D12_FEATURE_DATA_ROOT_SIGNATURE {
24088 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24089 f.debug_struct("D3D12_FEATURE_DATA_ROOT_SIGNATURE").field(name:"HighestVersion", &self.HighestVersion).finish()
24090 }
24091}
24092impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_ROOT_SIGNATURE {
24093 type TypeKind = ::windows_core::CopyType;
24094}
24095impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_ROOT_SIGNATURE {
24096 fn eq(&self, other: &Self) -> bool {
24097 self.HighestVersion == other.HighestVersion
24098 }
24099}
24100impl ::core::cmp::Eq for D3D12_FEATURE_DATA_ROOT_SIGNATURE {}
24101impl ::core::default::Default for D3D12_FEATURE_DATA_ROOT_SIGNATURE {
24102 fn default() -> Self {
24103 unsafe { ::core::mem::zeroed() }
24104 }
24105}
24106#[repr(C)]
24107pub struct D3D12_FEATURE_DATA_SERIALIZATION {
24108 pub NodeIndex: u32,
24109 pub HeapSerializationTier: D3D12_HEAP_SERIALIZATION_TIER,
24110}
24111impl ::core::marker::Copy for D3D12_FEATURE_DATA_SERIALIZATION {}
24112impl ::core::clone::Clone for D3D12_FEATURE_DATA_SERIALIZATION {
24113 fn clone(&self) -> Self {
24114 *self
24115 }
24116}
24117impl ::core::fmt::Debug for D3D12_FEATURE_DATA_SERIALIZATION {
24118 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24119 f.debug_struct("D3D12_FEATURE_DATA_SERIALIZATION").field("NodeIndex", &self.NodeIndex).field(name:"HeapSerializationTier", &self.HeapSerializationTier).finish()
24120 }
24121}
24122impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_SERIALIZATION {
24123 type TypeKind = ::windows_core::CopyType;
24124}
24125impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_SERIALIZATION {
24126 fn eq(&self, other: &Self) -> bool {
24127 self.NodeIndex == other.NodeIndex && self.HeapSerializationTier == other.HeapSerializationTier
24128 }
24129}
24130impl ::core::cmp::Eq for D3D12_FEATURE_DATA_SERIALIZATION {}
24131impl ::core::default::Default for D3D12_FEATURE_DATA_SERIALIZATION {
24132 fn default() -> Self {
24133 unsafe { ::core::mem::zeroed() }
24134 }
24135}
24136#[repr(C)]
24137pub struct D3D12_FEATURE_DATA_SHADER_CACHE {
24138 pub SupportFlags: D3D12_SHADER_CACHE_SUPPORT_FLAGS,
24139}
24140impl ::core::marker::Copy for D3D12_FEATURE_DATA_SHADER_CACHE {}
24141impl ::core::clone::Clone for D3D12_FEATURE_DATA_SHADER_CACHE {
24142 fn clone(&self) -> Self {
24143 *self
24144 }
24145}
24146impl ::core::fmt::Debug for D3D12_FEATURE_DATA_SHADER_CACHE {
24147 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24148 f.debug_struct("D3D12_FEATURE_DATA_SHADER_CACHE").field(name:"SupportFlags", &self.SupportFlags).finish()
24149 }
24150}
24151impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_SHADER_CACHE {
24152 type TypeKind = ::windows_core::CopyType;
24153}
24154impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_SHADER_CACHE {
24155 fn eq(&self, other: &Self) -> bool {
24156 self.SupportFlags == other.SupportFlags
24157 }
24158}
24159impl ::core::cmp::Eq for D3D12_FEATURE_DATA_SHADER_CACHE {}
24160impl ::core::default::Default for D3D12_FEATURE_DATA_SHADER_CACHE {
24161 fn default() -> Self {
24162 unsafe { ::core::mem::zeroed() }
24163 }
24164}
24165#[repr(C)]
24166pub struct D3D12_FEATURE_DATA_SHADER_MODEL {
24167 pub HighestShaderModel: D3D_SHADER_MODEL,
24168}
24169impl ::core::marker::Copy for D3D12_FEATURE_DATA_SHADER_MODEL {}
24170impl ::core::clone::Clone for D3D12_FEATURE_DATA_SHADER_MODEL {
24171 fn clone(&self) -> Self {
24172 *self
24173 }
24174}
24175impl ::core::fmt::Debug for D3D12_FEATURE_DATA_SHADER_MODEL {
24176 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24177 f.debug_struct("D3D12_FEATURE_DATA_SHADER_MODEL").field(name:"HighestShaderModel", &self.HighestShaderModel).finish()
24178 }
24179}
24180impl ::windows_core::TypeKind for D3D12_FEATURE_DATA_SHADER_MODEL {
24181 type TypeKind = ::windows_core::CopyType;
24182}
24183impl ::core::cmp::PartialEq for D3D12_FEATURE_DATA_SHADER_MODEL {
24184 fn eq(&self, other: &Self) -> bool {
24185 self.HighestShaderModel == other.HighestShaderModel
24186 }
24187}
24188impl ::core::cmp::Eq for D3D12_FEATURE_DATA_SHADER_MODEL {}
24189impl ::core::default::Default for D3D12_FEATURE_DATA_SHADER_MODEL {
24190 fn default() -> Self {
24191 unsafe { ::core::mem::zeroed() }
24192 }
24193}
24194#[repr(C)]
24195#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Direct3D\"`"]
24196#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
24197pub struct D3D12_FUNCTION_DESC {
24198 pub Version: u32,
24199 pub Creator: ::windows_core::PCSTR,
24200 pub Flags: u32,
24201 pub ConstantBuffers: u32,
24202 pub BoundResources: u32,
24203 pub InstructionCount: u32,
24204 pub TempRegisterCount: u32,
24205 pub TempArrayCount: u32,
24206 pub DefCount: u32,
24207 pub DclCount: u32,
24208 pub TextureNormalInstructions: u32,
24209 pub TextureLoadInstructions: u32,
24210 pub TextureCompInstructions: u32,
24211 pub TextureBiasInstructions: u32,
24212 pub TextureGradientInstructions: u32,
24213 pub FloatInstructionCount: u32,
24214 pub IntInstructionCount: u32,
24215 pub UintInstructionCount: u32,
24216 pub StaticFlowControlCount: u32,
24217 pub DynamicFlowControlCount: u32,
24218 pub MacroInstructionCount: u32,
24219 pub ArrayInstructionCount: u32,
24220 pub MovInstructionCount: u32,
24221 pub MovcInstructionCount: u32,
24222 pub ConversionInstructionCount: u32,
24223 pub BitwiseInstructionCount: u32,
24224 pub MinFeatureLevel: super::Direct3D::D3D_FEATURE_LEVEL,
24225 pub RequiredFeatureFlags: u64,
24226 pub Name: ::windows_core::PCSTR,
24227 pub FunctionParameterCount: i32,
24228 pub HasReturn: super::super::Foundation::BOOL,
24229 pub Has10Level9VertexShader: super::super::Foundation::BOOL,
24230 pub Has10Level9PixelShader: super::super::Foundation::BOOL,
24231}
24232#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
24233impl ::core::marker::Copy for D3D12_FUNCTION_DESC {}
24234#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
24235impl ::core::clone::Clone for D3D12_FUNCTION_DESC {
24236 fn clone(&self) -> Self {
24237 *self
24238 }
24239}
24240#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
24241impl ::core::fmt::Debug for D3D12_FUNCTION_DESC {
24242 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24243 f.debug_struct("D3D12_FUNCTION_DESC")
24244 .field("Version", &self.Version)
24245 .field("Creator", &self.Creator)
24246 .field("Flags", &self.Flags)
24247 .field("ConstantBuffers", &self.ConstantBuffers)
24248 .field("BoundResources", &self.BoundResources)
24249 .field("InstructionCount", &self.InstructionCount)
24250 .field("TempRegisterCount", &self.TempRegisterCount)
24251 .field("TempArrayCount", &self.TempArrayCount)
24252 .field("DefCount", &self.DefCount)
24253 .field("DclCount", &self.DclCount)
24254 .field("TextureNormalInstructions", &self.TextureNormalInstructions)
24255 .field("TextureLoadInstructions", &self.TextureLoadInstructions)
24256 .field("TextureCompInstructions", &self.TextureCompInstructions)
24257 .field("TextureBiasInstructions", &self.TextureBiasInstructions)
24258 .field("TextureGradientInstructions", &self.TextureGradientInstructions)
24259 .field("FloatInstructionCount", &self.FloatInstructionCount)
24260 .field("IntInstructionCount", &self.IntInstructionCount)
24261 .field("UintInstructionCount", &self.UintInstructionCount)
24262 .field("StaticFlowControlCount", &self.StaticFlowControlCount)
24263 .field("DynamicFlowControlCount", &self.DynamicFlowControlCount)
24264 .field("MacroInstructionCount", &self.MacroInstructionCount)
24265 .field("ArrayInstructionCount", &self.ArrayInstructionCount)
24266 .field("MovInstructionCount", &self.MovInstructionCount)
24267 .field("MovcInstructionCount", &self.MovcInstructionCount)
24268 .field("ConversionInstructionCount", &self.ConversionInstructionCount)
24269 .field("BitwiseInstructionCount", &self.BitwiseInstructionCount)
24270 .field("MinFeatureLevel", &self.MinFeatureLevel)
24271 .field("RequiredFeatureFlags", &self.RequiredFeatureFlags)
24272 .field("Name", &self.Name)
24273 .field("FunctionParameterCount", &self.FunctionParameterCount)
24274 .field("HasReturn", &self.HasReturn)
24275 .field("Has10Level9VertexShader", &self.Has10Level9VertexShader)
24276 .field("Has10Level9PixelShader", &self.Has10Level9PixelShader)
24277 .finish()
24278 }
24279}
24280#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
24281impl ::windows_core::TypeKind for D3D12_FUNCTION_DESC {
24282 type TypeKind = ::windows_core::CopyType;
24283}
24284#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
24285impl ::core::cmp::PartialEq for D3D12_FUNCTION_DESC {
24286 fn eq(&self, other: &Self) -> bool {
24287 self.Version == other.Version
24288 && self.Creator == other.Creator
24289 && self.Flags == other.Flags
24290 && self.ConstantBuffers == other.ConstantBuffers
24291 && self.BoundResources == other.BoundResources
24292 && self.InstructionCount == other.InstructionCount
24293 && self.TempRegisterCount == other.TempRegisterCount
24294 && self.TempArrayCount == other.TempArrayCount
24295 && self.DefCount == other.DefCount
24296 && self.DclCount == other.DclCount
24297 && self.TextureNormalInstructions == other.TextureNormalInstructions
24298 && self.TextureLoadInstructions == other.TextureLoadInstructions
24299 && self.TextureCompInstructions == other.TextureCompInstructions
24300 && self.TextureBiasInstructions == other.TextureBiasInstructions
24301 && self.TextureGradientInstructions == other.TextureGradientInstructions
24302 && self.FloatInstructionCount == other.FloatInstructionCount
24303 && self.IntInstructionCount == other.IntInstructionCount
24304 && self.UintInstructionCount == other.UintInstructionCount
24305 && self.StaticFlowControlCount == other.StaticFlowControlCount
24306 && self.DynamicFlowControlCount == other.DynamicFlowControlCount
24307 && self.MacroInstructionCount == other.MacroInstructionCount
24308 && self.ArrayInstructionCount == other.ArrayInstructionCount
24309 && self.MovInstructionCount == other.MovInstructionCount
24310 && self.MovcInstructionCount == other.MovcInstructionCount
24311 && self.ConversionInstructionCount == other.ConversionInstructionCount
24312 && self.BitwiseInstructionCount == other.BitwiseInstructionCount
24313 && self.MinFeatureLevel == other.MinFeatureLevel
24314 && self.RequiredFeatureFlags == other.RequiredFeatureFlags
24315 && self.Name == other.Name
24316 && self.FunctionParameterCount == other.FunctionParameterCount
24317 && self.HasReturn == other.HasReturn
24318 && self.Has10Level9VertexShader == other.Has10Level9VertexShader
24319 && self.Has10Level9PixelShader == other.Has10Level9PixelShader
24320 }
24321}
24322#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
24323impl ::core::cmp::Eq for D3D12_FUNCTION_DESC {}
24324#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Direct3D"))]
24325impl ::core::default::Default for D3D12_FUNCTION_DESC {
24326 fn default() -> Self {
24327 unsafe { ::core::mem::zeroed() }
24328 }
24329}
24330#[repr(C)]
24331pub struct D3D12_GLOBAL_BARRIER {
24332 pub SyncBefore: D3D12_BARRIER_SYNC,
24333 pub SyncAfter: D3D12_BARRIER_SYNC,
24334 pub AccessBefore: D3D12_BARRIER_ACCESS,
24335 pub AccessAfter: D3D12_BARRIER_ACCESS,
24336}
24337impl ::core::marker::Copy for D3D12_GLOBAL_BARRIER {}
24338impl ::core::clone::Clone for D3D12_GLOBAL_BARRIER {
24339 fn clone(&self) -> Self {
24340 *self
24341 }
24342}
24343impl ::core::fmt::Debug for D3D12_GLOBAL_BARRIER {
24344 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24345 f.debug_struct("D3D12_GLOBAL_BARRIER").field("SyncBefore", &self.SyncBefore).field("SyncAfter", &self.SyncAfter).field("AccessBefore", &self.AccessBefore).field(name:"AccessAfter", &self.AccessAfter).finish()
24346 }
24347}
24348impl ::windows_core::TypeKind for D3D12_GLOBAL_BARRIER {
24349 type TypeKind = ::windows_core::CopyType;
24350}
24351impl ::core::cmp::PartialEq for D3D12_GLOBAL_BARRIER {
24352 fn eq(&self, other: &Self) -> bool {
24353 self.SyncBefore == other.SyncBefore && self.SyncAfter == other.SyncAfter && self.AccessBefore == other.AccessBefore && self.AccessAfter == other.AccessAfter
24354 }
24355}
24356impl ::core::cmp::Eq for D3D12_GLOBAL_BARRIER {}
24357impl ::core::default::Default for D3D12_GLOBAL_BARRIER {
24358 fn default() -> Self {
24359 unsafe { ::core::mem::zeroed() }
24360 }
24361}
24362#[repr(C)]
24363pub struct D3D12_GLOBAL_ROOT_SIGNATURE {
24364 pub pGlobalRootSignature: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12RootSignature>>,
24365}
24366impl ::core::clone::Clone for D3D12_GLOBAL_ROOT_SIGNATURE {
24367 fn clone(&self) -> Self {
24368 unsafe { ::core::mem::transmute_copy(self) }
24369 }
24370}
24371impl ::core::fmt::Debug for D3D12_GLOBAL_ROOT_SIGNATURE {
24372 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24373 f.debug_struct("D3D12_GLOBAL_ROOT_SIGNATURE").field(name:"pGlobalRootSignature", &self.pGlobalRootSignature).finish()
24374 }
24375}
24376impl ::windows_core::TypeKind for D3D12_GLOBAL_ROOT_SIGNATURE {
24377 type TypeKind = ::windows_core::CopyType;
24378}
24379impl ::core::cmp::PartialEq for D3D12_GLOBAL_ROOT_SIGNATURE {
24380 fn eq(&self, other: &Self) -> bool {
24381 self.pGlobalRootSignature == other.pGlobalRootSignature
24382 }
24383}
24384impl ::core::cmp::Eq for D3D12_GLOBAL_ROOT_SIGNATURE {}
24385impl ::core::default::Default for D3D12_GLOBAL_ROOT_SIGNATURE {
24386 fn default() -> Self {
24387 unsafe { ::core::mem::zeroed() }
24388 }
24389}
24390#[repr(C)]
24391pub struct D3D12_GPU_DESCRIPTOR_HANDLE {
24392 pub ptr: u64,
24393}
24394impl ::core::marker::Copy for D3D12_GPU_DESCRIPTOR_HANDLE {}
24395impl ::core::clone::Clone for D3D12_GPU_DESCRIPTOR_HANDLE {
24396 fn clone(&self) -> Self {
24397 *self
24398 }
24399}
24400impl ::core::fmt::Debug for D3D12_GPU_DESCRIPTOR_HANDLE {
24401 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24402 f.debug_struct("D3D12_GPU_DESCRIPTOR_HANDLE").field(name:"ptr", &self.ptr).finish()
24403 }
24404}
24405impl ::windows_core::TypeKind for D3D12_GPU_DESCRIPTOR_HANDLE {
24406 type TypeKind = ::windows_core::CopyType;
24407}
24408impl ::core::cmp::PartialEq for D3D12_GPU_DESCRIPTOR_HANDLE {
24409 fn eq(&self, other: &Self) -> bool {
24410 self.ptr == other.ptr
24411 }
24412}
24413impl ::core::cmp::Eq for D3D12_GPU_DESCRIPTOR_HANDLE {}
24414impl ::core::default::Default for D3D12_GPU_DESCRIPTOR_HANDLE {
24415 fn default() -> Self {
24416 unsafe { ::core::mem::zeroed() }
24417 }
24418}
24419#[repr(C)]
24420pub struct D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {
24421 pub StartAddress: u64,
24422 pub StrideInBytes: u64,
24423}
24424impl ::core::marker::Copy for D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {}
24425impl ::core::clone::Clone for D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {
24426 fn clone(&self) -> Self {
24427 *self
24428 }
24429}
24430impl ::core::fmt::Debug for D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {
24431 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24432 f.debug_struct("D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE").field("StartAddress", &self.StartAddress).field(name:"StrideInBytes", &self.StrideInBytes).finish()
24433 }
24434}
24435impl ::windows_core::TypeKind for D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {
24436 type TypeKind = ::windows_core::CopyType;
24437}
24438impl ::core::cmp::PartialEq for D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {
24439 fn eq(&self, other: &Self) -> bool {
24440 self.StartAddress == other.StartAddress && self.StrideInBytes == other.StrideInBytes
24441 }
24442}
24443impl ::core::cmp::Eq for D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {}
24444impl ::core::default::Default for D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {
24445 fn default() -> Self {
24446 unsafe { ::core::mem::zeroed() }
24447 }
24448}
24449#[repr(C)]
24450pub struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE {
24451 pub StartAddress: u64,
24452 pub SizeInBytes: u64,
24453}
24454impl ::core::marker::Copy for D3D12_GPU_VIRTUAL_ADDRESS_RANGE {}
24455impl ::core::clone::Clone for D3D12_GPU_VIRTUAL_ADDRESS_RANGE {
24456 fn clone(&self) -> Self {
24457 *self
24458 }
24459}
24460impl ::core::fmt::Debug for D3D12_GPU_VIRTUAL_ADDRESS_RANGE {
24461 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24462 f.debug_struct("D3D12_GPU_VIRTUAL_ADDRESS_RANGE").field("StartAddress", &self.StartAddress).field(name:"SizeInBytes", &self.SizeInBytes).finish()
24463 }
24464}
24465impl ::windows_core::TypeKind for D3D12_GPU_VIRTUAL_ADDRESS_RANGE {
24466 type TypeKind = ::windows_core::CopyType;
24467}
24468impl ::core::cmp::PartialEq for D3D12_GPU_VIRTUAL_ADDRESS_RANGE {
24469 fn eq(&self, other: &Self) -> bool {
24470 self.StartAddress == other.StartAddress && self.SizeInBytes == other.SizeInBytes
24471 }
24472}
24473impl ::core::cmp::Eq for D3D12_GPU_VIRTUAL_ADDRESS_RANGE {}
24474impl ::core::default::Default for D3D12_GPU_VIRTUAL_ADDRESS_RANGE {
24475 fn default() -> Self {
24476 unsafe { ::core::mem::zeroed() }
24477 }
24478}
24479#[repr(C)]
24480pub struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {
24481 pub StartAddress: u64,
24482 pub SizeInBytes: u64,
24483 pub StrideInBytes: u64,
24484}
24485impl ::core::marker::Copy for D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {}
24486impl ::core::clone::Clone for D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {
24487 fn clone(&self) -> Self {
24488 *self
24489 }
24490}
24491impl ::core::fmt::Debug for D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {
24492 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24493 f.debug_struct("D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE").field("StartAddress", &self.StartAddress).field("SizeInBytes", &self.SizeInBytes).field(name:"StrideInBytes", &self.StrideInBytes).finish()
24494 }
24495}
24496impl ::windows_core::TypeKind for D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {
24497 type TypeKind = ::windows_core::CopyType;
24498}
24499impl ::core::cmp::PartialEq for D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {
24500 fn eq(&self, other: &Self) -> bool {
24501 self.StartAddress == other.StartAddress && self.SizeInBytes == other.SizeInBytes && self.StrideInBytes == other.StrideInBytes
24502 }
24503}
24504impl ::core::cmp::Eq for D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {}
24505impl ::core::default::Default for D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {
24506 fn default() -> Self {
24507 unsafe { ::core::mem::zeroed() }
24508 }
24509}
24510#[repr(C)]
24511#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
24512#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
24513pub struct D3D12_GRAPHICS_PIPELINE_STATE_DESC {
24514 pub pRootSignature: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12RootSignature>>,
24515 pub VS: D3D12_SHADER_BYTECODE,
24516 pub PS: D3D12_SHADER_BYTECODE,
24517 pub DS: D3D12_SHADER_BYTECODE,
24518 pub HS: D3D12_SHADER_BYTECODE,
24519 pub GS: D3D12_SHADER_BYTECODE,
24520 pub StreamOutput: D3D12_STREAM_OUTPUT_DESC,
24521 pub BlendState: D3D12_BLEND_DESC,
24522 pub SampleMask: u32,
24523 pub RasterizerState: D3D12_RASTERIZER_DESC,
24524 pub DepthStencilState: D3D12_DEPTH_STENCIL_DESC,
24525 pub InputLayout: D3D12_INPUT_LAYOUT_DESC,
24526 pub IBStripCutValue: D3D12_INDEX_BUFFER_STRIP_CUT_VALUE,
24527 pub PrimitiveTopologyType: D3D12_PRIMITIVE_TOPOLOGY_TYPE,
24528 pub NumRenderTargets: u32,
24529 pub RTVFormats: [super::Dxgi::Common::DXGI_FORMAT; 8],
24530 pub DSVFormat: super::Dxgi::Common::DXGI_FORMAT,
24531 pub SampleDesc: super::Dxgi::Common::DXGI_SAMPLE_DESC,
24532 pub NodeMask: u32,
24533 pub CachedPSO: D3D12_CACHED_PIPELINE_STATE,
24534 pub Flags: D3D12_PIPELINE_STATE_FLAGS,
24535}
24536#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
24537impl ::core::clone::Clone for D3D12_GRAPHICS_PIPELINE_STATE_DESC {
24538 fn clone(&self) -> Self {
24539 unsafe { ::core::mem::transmute_copy(self) }
24540 }
24541}
24542#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
24543impl ::core::fmt::Debug for D3D12_GRAPHICS_PIPELINE_STATE_DESC {
24544 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24545 f.debug_struct("D3D12_GRAPHICS_PIPELINE_STATE_DESC")
24546 .field("pRootSignature", &self.pRootSignature)
24547 .field("VS", &self.VS)
24548 .field("PS", &self.PS)
24549 .field("DS", &self.DS)
24550 .field("HS", &self.HS)
24551 .field("GS", &self.GS)
24552 .field("StreamOutput", &self.StreamOutput)
24553 .field("BlendState", &self.BlendState)
24554 .field("SampleMask", &self.SampleMask)
24555 .field("RasterizerState", &self.RasterizerState)
24556 .field("DepthStencilState", &self.DepthStencilState)
24557 .field("InputLayout", &self.InputLayout)
24558 .field("IBStripCutValue", &self.IBStripCutValue)
24559 .field("PrimitiveTopologyType", &self.PrimitiveTopologyType)
24560 .field("NumRenderTargets", &self.NumRenderTargets)
24561 .field("RTVFormats", &self.RTVFormats)
24562 .field("DSVFormat", &self.DSVFormat)
24563 .field("SampleDesc", &self.SampleDesc)
24564 .field("NodeMask", &self.NodeMask)
24565 .field("CachedPSO", &self.CachedPSO)
24566 .field("Flags", &self.Flags)
24567 .finish()
24568 }
24569}
24570#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
24571impl ::windows_core::TypeKind for D3D12_GRAPHICS_PIPELINE_STATE_DESC {
24572 type TypeKind = ::windows_core::CopyType;
24573}
24574#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
24575impl ::core::cmp::PartialEq for D3D12_GRAPHICS_PIPELINE_STATE_DESC {
24576 fn eq(&self, other: &Self) -> bool {
24577 self.pRootSignature == other.pRootSignature
24578 && self.VS == other.VS
24579 && self.PS == other.PS
24580 && self.DS == other.DS
24581 && self.HS == other.HS
24582 && self.GS == other.GS
24583 && self.StreamOutput == other.StreamOutput
24584 && self.BlendState == other.BlendState
24585 && self.SampleMask == other.SampleMask
24586 && self.RasterizerState == other.RasterizerState
24587 && self.DepthStencilState == other.DepthStencilState
24588 && self.InputLayout == other.InputLayout
24589 && self.IBStripCutValue == other.IBStripCutValue
24590 && self.PrimitiveTopologyType == other.PrimitiveTopologyType
24591 && self.NumRenderTargets == other.NumRenderTargets
24592 && self.RTVFormats == other.RTVFormats
24593 && self.DSVFormat == other.DSVFormat
24594 && self.SampleDesc == other.SampleDesc
24595 && self.NodeMask == other.NodeMask
24596 && self.CachedPSO == other.CachedPSO
24597 && self.Flags == other.Flags
24598 }
24599}
24600#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
24601impl ::core::cmp::Eq for D3D12_GRAPHICS_PIPELINE_STATE_DESC {}
24602#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
24603impl ::core::default::Default for D3D12_GRAPHICS_PIPELINE_STATE_DESC {
24604 fn default() -> Self {
24605 unsafe { ::core::mem::zeroed() }
24606 }
24607}
24608#[repr(C)]
24609pub struct D3D12_HEAP_DESC {
24610 pub SizeInBytes: u64,
24611 pub Properties: D3D12_HEAP_PROPERTIES,
24612 pub Alignment: u64,
24613 pub Flags: D3D12_HEAP_FLAGS,
24614}
24615impl ::core::marker::Copy for D3D12_HEAP_DESC {}
24616impl ::core::clone::Clone for D3D12_HEAP_DESC {
24617 fn clone(&self) -> Self {
24618 *self
24619 }
24620}
24621impl ::core::fmt::Debug for D3D12_HEAP_DESC {
24622 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24623 f.debug_struct("D3D12_HEAP_DESC").field("SizeInBytes", &self.SizeInBytes).field("Properties", &self.Properties).field("Alignment", &self.Alignment).field(name:"Flags", &self.Flags).finish()
24624 }
24625}
24626impl ::windows_core::TypeKind for D3D12_HEAP_DESC {
24627 type TypeKind = ::windows_core::CopyType;
24628}
24629impl ::core::cmp::PartialEq for D3D12_HEAP_DESC {
24630 fn eq(&self, other: &Self) -> bool {
24631 self.SizeInBytes == other.SizeInBytes && self.Properties == other.Properties && self.Alignment == other.Alignment && self.Flags == other.Flags
24632 }
24633}
24634impl ::core::cmp::Eq for D3D12_HEAP_DESC {}
24635impl ::core::default::Default for D3D12_HEAP_DESC {
24636 fn default() -> Self {
24637 unsafe { ::core::mem::zeroed() }
24638 }
24639}
24640#[repr(C)]
24641pub struct D3D12_HEAP_PROPERTIES {
24642 pub Type: D3D12_HEAP_TYPE,
24643 pub CPUPageProperty: D3D12_CPU_PAGE_PROPERTY,
24644 pub MemoryPoolPreference: D3D12_MEMORY_POOL,
24645 pub CreationNodeMask: u32,
24646 pub VisibleNodeMask: u32,
24647}
24648impl ::core::marker::Copy for D3D12_HEAP_PROPERTIES {}
24649impl ::core::clone::Clone for D3D12_HEAP_PROPERTIES {
24650 fn clone(&self) -> Self {
24651 *self
24652 }
24653}
24654impl ::core::fmt::Debug for D3D12_HEAP_PROPERTIES {
24655 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24656 f.debug_struct("D3D12_HEAP_PROPERTIES").field("Type", &self.Type).field("CPUPageProperty", &self.CPUPageProperty).field("MemoryPoolPreference", &self.MemoryPoolPreference).field("CreationNodeMask", &self.CreationNodeMask).field(name:"VisibleNodeMask", &self.VisibleNodeMask).finish()
24657 }
24658}
24659impl ::windows_core::TypeKind for D3D12_HEAP_PROPERTIES {
24660 type TypeKind = ::windows_core::CopyType;
24661}
24662impl ::core::cmp::PartialEq for D3D12_HEAP_PROPERTIES {
24663 fn eq(&self, other: &Self) -> bool {
24664 self.Type == other.Type && self.CPUPageProperty == other.CPUPageProperty && self.MemoryPoolPreference == other.MemoryPoolPreference && self.CreationNodeMask == other.CreationNodeMask && self.VisibleNodeMask == other.VisibleNodeMask
24665 }
24666}
24667impl ::core::cmp::Eq for D3D12_HEAP_PROPERTIES {}
24668impl ::core::default::Default for D3D12_HEAP_PROPERTIES {
24669 fn default() -> Self {
24670 unsafe { ::core::mem::zeroed() }
24671 }
24672}
24673#[repr(C)]
24674pub struct D3D12_HIT_GROUP_DESC {
24675 pub HitGroupExport: ::windows_core::PCWSTR,
24676 pub Type: D3D12_HIT_GROUP_TYPE,
24677 pub AnyHitShaderImport: ::windows_core::PCWSTR,
24678 pub ClosestHitShaderImport: ::windows_core::PCWSTR,
24679 pub IntersectionShaderImport: ::windows_core::PCWSTR,
24680}
24681impl ::core::marker::Copy for D3D12_HIT_GROUP_DESC {}
24682impl ::core::clone::Clone for D3D12_HIT_GROUP_DESC {
24683 fn clone(&self) -> Self {
24684 *self
24685 }
24686}
24687impl ::core::fmt::Debug for D3D12_HIT_GROUP_DESC {
24688 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24689 f.debug_struct("D3D12_HIT_GROUP_DESC").field("HitGroupExport", &self.HitGroupExport).field("Type", &self.Type).field("AnyHitShaderImport", &self.AnyHitShaderImport).field("ClosestHitShaderImport", &self.ClosestHitShaderImport).field(name:"IntersectionShaderImport", &self.IntersectionShaderImport).finish()
24690 }
24691}
24692impl ::windows_core::TypeKind for D3D12_HIT_GROUP_DESC {
24693 type TypeKind = ::windows_core::CopyType;
24694}
24695impl ::core::cmp::PartialEq for D3D12_HIT_GROUP_DESC {
24696 fn eq(&self, other: &Self) -> bool {
24697 self.HitGroupExport == other.HitGroupExport && self.Type == other.Type && self.AnyHitShaderImport == other.AnyHitShaderImport && self.ClosestHitShaderImport == other.ClosestHitShaderImport && self.IntersectionShaderImport == other.IntersectionShaderImport
24698 }
24699}
24700impl ::core::cmp::Eq for D3D12_HIT_GROUP_DESC {}
24701impl ::core::default::Default for D3D12_HIT_GROUP_DESC {
24702 fn default() -> Self {
24703 unsafe { ::core::mem::zeroed() }
24704 }
24705}
24706#[repr(C)]
24707#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
24708#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24709pub struct D3D12_INDEX_BUFFER_VIEW {
24710 pub BufferLocation: u64,
24711 pub SizeInBytes: u32,
24712 pub Format: super::Dxgi::Common::DXGI_FORMAT,
24713}
24714#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24715impl ::core::marker::Copy for D3D12_INDEX_BUFFER_VIEW {}
24716#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24717impl ::core::clone::Clone for D3D12_INDEX_BUFFER_VIEW {
24718 fn clone(&self) -> Self {
24719 *self
24720 }
24721}
24722#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24723impl ::core::fmt::Debug for D3D12_INDEX_BUFFER_VIEW {
24724 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24725 f.debug_struct("D3D12_INDEX_BUFFER_VIEW").field("BufferLocation", &self.BufferLocation).field("SizeInBytes", &self.SizeInBytes).field(name:"Format", &self.Format).finish()
24726 }
24727}
24728#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24729impl ::windows_core::TypeKind for D3D12_INDEX_BUFFER_VIEW {
24730 type TypeKind = ::windows_core::CopyType;
24731}
24732#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24733impl ::core::cmp::PartialEq for D3D12_INDEX_BUFFER_VIEW {
24734 fn eq(&self, other: &Self) -> bool {
24735 self.BufferLocation == other.BufferLocation && self.SizeInBytes == other.SizeInBytes && self.Format == other.Format
24736 }
24737}
24738#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24739impl ::core::cmp::Eq for D3D12_INDEX_BUFFER_VIEW {}
24740#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
24741impl ::core::default::Default for D3D12_INDEX_BUFFER_VIEW {
24742 fn default() -> Self {
24743 unsafe { ::core::mem::zeroed() }
24744 }
24745}
24746#[repr(C)]
24747pub struct D3D12_INDIRECT_ARGUMENT_DESC {
24748 pub Type: D3D12_INDIRECT_ARGUMENT_TYPE,
24749 pub Anonymous: D3D12_INDIRECT_ARGUMENT_DESC_0,
24750}
24751impl ::core::marker::Copy for D3D12_INDIRECT_ARGUMENT_DESC {}
24752impl ::core::clone::Clone for D3D12_INDIRECT_ARGUMENT_DESC {
24753 fn clone(&self) -> Self {
24754 *self
24755 }
24756}
24757impl ::windows_core::TypeKind for D3D12_INDIRECT_ARGUMENT_DESC {
24758 type TypeKind = ::windows_core::CopyType;
24759}
24760impl ::core::default::Default for D3D12_INDIRECT_ARGUMENT_DESC {
24761 fn default() -> Self {
24762 unsafe { ::core::mem::zeroed() }
24763 }
24764}
24765#[repr(C)]
24766pub union D3D12_INDIRECT_ARGUMENT_DESC_0 {
24767 pub VertexBuffer: D3D12_INDIRECT_ARGUMENT_DESC_0_4,
24768 pub Constant: D3D12_INDIRECT_ARGUMENT_DESC_0_1,
24769 pub ConstantBufferView: D3D12_INDIRECT_ARGUMENT_DESC_0_0,
24770 pub ShaderResourceView: D3D12_INDIRECT_ARGUMENT_DESC_0_2,
24771 pub UnorderedAccessView: D3D12_INDIRECT_ARGUMENT_DESC_0_3,
24772}
24773impl ::core::marker::Copy for D3D12_INDIRECT_ARGUMENT_DESC_0 {}
24774impl ::core::clone::Clone for D3D12_INDIRECT_ARGUMENT_DESC_0 {
24775 fn clone(&self) -> Self {
24776 *self
24777 }
24778}
24779impl ::windows_core::TypeKind for D3D12_INDIRECT_ARGUMENT_DESC_0 {
24780 type TypeKind = ::windows_core::CopyType;
24781}
24782impl ::core::default::Default for D3D12_INDIRECT_ARGUMENT_DESC_0 {
24783 fn default() -> Self {
24784 unsafe { ::core::mem::zeroed() }
24785 }
24786}
24787#[repr(C)]
24788pub struct D3D12_INDIRECT_ARGUMENT_DESC_0_0 {
24789 pub RootParameterIndex: u32,
24790}
24791impl ::core::marker::Copy for D3D12_INDIRECT_ARGUMENT_DESC_0_0 {}
24792impl ::core::clone::Clone for D3D12_INDIRECT_ARGUMENT_DESC_0_0 {
24793 fn clone(&self) -> Self {
24794 *self
24795 }
24796}
24797impl ::core::fmt::Debug for D3D12_INDIRECT_ARGUMENT_DESC_0_0 {
24798 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24799 f.debug_struct("D3D12_INDIRECT_ARGUMENT_DESC_0_0").field(name:"RootParameterIndex", &self.RootParameterIndex).finish()
24800 }
24801}
24802impl ::windows_core::TypeKind for D3D12_INDIRECT_ARGUMENT_DESC_0_0 {
24803 type TypeKind = ::windows_core::CopyType;
24804}
24805impl ::core::cmp::PartialEq for D3D12_INDIRECT_ARGUMENT_DESC_0_0 {
24806 fn eq(&self, other: &Self) -> bool {
24807 self.RootParameterIndex == other.RootParameterIndex
24808 }
24809}
24810impl ::core::cmp::Eq for D3D12_INDIRECT_ARGUMENT_DESC_0_0 {}
24811impl ::core::default::Default for D3D12_INDIRECT_ARGUMENT_DESC_0_0 {
24812 fn default() -> Self {
24813 unsafe { ::core::mem::zeroed() }
24814 }
24815}
24816#[repr(C)]
24817pub struct D3D12_INDIRECT_ARGUMENT_DESC_0_1 {
24818 pub RootParameterIndex: u32,
24819 pub DestOffsetIn32BitValues: u32,
24820 pub Num32BitValuesToSet: u32,
24821}
24822impl ::core::marker::Copy for D3D12_INDIRECT_ARGUMENT_DESC_0_1 {}
24823impl ::core::clone::Clone for D3D12_INDIRECT_ARGUMENT_DESC_0_1 {
24824 fn clone(&self) -> Self {
24825 *self
24826 }
24827}
24828impl ::core::fmt::Debug for D3D12_INDIRECT_ARGUMENT_DESC_0_1 {
24829 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24830 f.debug_struct("D3D12_INDIRECT_ARGUMENT_DESC_0_1").field("RootParameterIndex", &self.RootParameterIndex).field("DestOffsetIn32BitValues", &self.DestOffsetIn32BitValues).field(name:"Num32BitValuesToSet", &self.Num32BitValuesToSet).finish()
24831 }
24832}
24833impl ::windows_core::TypeKind for D3D12_INDIRECT_ARGUMENT_DESC_0_1 {
24834 type TypeKind = ::windows_core::CopyType;
24835}
24836impl ::core::cmp::PartialEq for D3D12_INDIRECT_ARGUMENT_DESC_0_1 {
24837 fn eq(&self, other: &Self) -> bool {
24838 self.RootParameterIndex == other.RootParameterIndex && self.DestOffsetIn32BitValues == other.DestOffsetIn32BitValues && self.Num32BitValuesToSet == other.Num32BitValuesToSet
24839 }
24840}
24841impl ::core::cmp::Eq for D3D12_INDIRECT_ARGUMENT_DESC_0_1 {}
24842impl ::core::default::Default for D3D12_INDIRECT_ARGUMENT_DESC_0_1 {
24843 fn default() -> Self {
24844 unsafe { ::core::mem::zeroed() }
24845 }
24846}
24847#[repr(C)]
24848pub struct D3D12_INDIRECT_ARGUMENT_DESC_0_2 {
24849 pub RootParameterIndex: u32,
24850}
24851impl ::core::marker::Copy for D3D12_INDIRECT_ARGUMENT_DESC_0_2 {}
24852impl ::core::clone::Clone for D3D12_INDIRECT_ARGUMENT_DESC_0_2 {
24853 fn clone(&self) -> Self {
24854 *self
24855 }
24856}
24857impl ::core::fmt::Debug for D3D12_INDIRECT_ARGUMENT_DESC_0_2 {
24858 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24859 f.debug_struct("D3D12_INDIRECT_ARGUMENT_DESC_0_2").field(name:"RootParameterIndex", &self.RootParameterIndex).finish()
24860 }
24861}
24862impl ::windows_core::TypeKind for D3D12_INDIRECT_ARGUMENT_DESC_0_2 {
24863 type TypeKind = ::windows_core::CopyType;
24864}
24865impl ::core::cmp::PartialEq for D3D12_INDIRECT_ARGUMENT_DESC_0_2 {
24866 fn eq(&self, other: &Self) -> bool {
24867 self.RootParameterIndex == other.RootParameterIndex
24868 }
24869}
24870impl ::core::cmp::Eq for D3D12_INDIRECT_ARGUMENT_DESC_0_2 {}
24871impl ::core::default::Default for D3D12_INDIRECT_ARGUMENT_DESC_0_2 {
24872 fn default() -> Self {
24873 unsafe { ::core::mem::zeroed() }
24874 }
24875}
24876#[repr(C)]
24877pub struct D3D12_INDIRECT_ARGUMENT_DESC_0_3 {
24878 pub RootParameterIndex: u32,
24879}
24880impl ::core::marker::Copy for D3D12_INDIRECT_ARGUMENT_DESC_0_3 {}
24881impl ::core::clone::Clone for D3D12_INDIRECT_ARGUMENT_DESC_0_3 {
24882 fn clone(&self) -> Self {
24883 *self
24884 }
24885}
24886impl ::core::fmt::Debug for D3D12_INDIRECT_ARGUMENT_DESC_0_3 {
24887 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24888 f.debug_struct("D3D12_INDIRECT_ARGUMENT_DESC_0_3").field(name:"RootParameterIndex", &self.RootParameterIndex).finish()
24889 }
24890}
24891impl ::windows_core::TypeKind for D3D12_INDIRECT_ARGUMENT_DESC_0_3 {
24892 type TypeKind = ::windows_core::CopyType;
24893}
24894impl ::core::cmp::PartialEq for D3D12_INDIRECT_ARGUMENT_DESC_0_3 {
24895 fn eq(&self, other: &Self) -> bool {
24896 self.RootParameterIndex == other.RootParameterIndex
24897 }
24898}
24899impl ::core::cmp::Eq for D3D12_INDIRECT_ARGUMENT_DESC_0_3 {}
24900impl ::core::default::Default for D3D12_INDIRECT_ARGUMENT_DESC_0_3 {
24901 fn default() -> Self {
24902 unsafe { ::core::mem::zeroed() }
24903 }
24904}
24905#[repr(C)]
24906pub struct D3D12_INDIRECT_ARGUMENT_DESC_0_4 {
24907 pub Slot: u32,
24908}
24909impl ::core::marker::Copy for D3D12_INDIRECT_ARGUMENT_DESC_0_4 {}
24910impl ::core::clone::Clone for D3D12_INDIRECT_ARGUMENT_DESC_0_4 {
24911 fn clone(&self) -> Self {
24912 *self
24913 }
24914}
24915impl ::core::fmt::Debug for D3D12_INDIRECT_ARGUMENT_DESC_0_4 {
24916 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24917 f.debug_struct("D3D12_INDIRECT_ARGUMENT_DESC_0_4").field(name:"Slot", &self.Slot).finish()
24918 }
24919}
24920impl ::windows_core::TypeKind for D3D12_INDIRECT_ARGUMENT_DESC_0_4 {
24921 type TypeKind = ::windows_core::CopyType;
24922}
24923impl ::core::cmp::PartialEq for D3D12_INDIRECT_ARGUMENT_DESC_0_4 {
24924 fn eq(&self, other: &Self) -> bool {
24925 self.Slot == other.Slot
24926 }
24927}
24928impl ::core::cmp::Eq for D3D12_INDIRECT_ARGUMENT_DESC_0_4 {}
24929impl ::core::default::Default for D3D12_INDIRECT_ARGUMENT_DESC_0_4 {
24930 fn default() -> Self {
24931 unsafe { ::core::mem::zeroed() }
24932 }
24933}
24934#[repr(C)]
24935pub struct D3D12_INFO_QUEUE_FILTER {
24936 pub AllowList: D3D12_INFO_QUEUE_FILTER_DESC,
24937 pub DenyList: D3D12_INFO_QUEUE_FILTER_DESC,
24938}
24939impl ::core::marker::Copy for D3D12_INFO_QUEUE_FILTER {}
24940impl ::core::clone::Clone for D3D12_INFO_QUEUE_FILTER {
24941 fn clone(&self) -> Self {
24942 *self
24943 }
24944}
24945impl ::core::fmt::Debug for D3D12_INFO_QUEUE_FILTER {
24946 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24947 f.debug_struct("D3D12_INFO_QUEUE_FILTER").field("AllowList", &self.AllowList).field(name:"DenyList", &self.DenyList).finish()
24948 }
24949}
24950impl ::windows_core::TypeKind for D3D12_INFO_QUEUE_FILTER {
24951 type TypeKind = ::windows_core::CopyType;
24952}
24953impl ::core::cmp::PartialEq for D3D12_INFO_QUEUE_FILTER {
24954 fn eq(&self, other: &Self) -> bool {
24955 self.AllowList == other.AllowList && self.DenyList == other.DenyList
24956 }
24957}
24958impl ::core::cmp::Eq for D3D12_INFO_QUEUE_FILTER {}
24959impl ::core::default::Default for D3D12_INFO_QUEUE_FILTER {
24960 fn default() -> Self {
24961 unsafe { ::core::mem::zeroed() }
24962 }
24963}
24964#[repr(C)]
24965pub struct D3D12_INFO_QUEUE_FILTER_DESC {
24966 pub NumCategories: u32,
24967 pub pCategoryList: *mut D3D12_MESSAGE_CATEGORY,
24968 pub NumSeverities: u32,
24969 pub pSeverityList: *mut D3D12_MESSAGE_SEVERITY,
24970 pub NumIDs: u32,
24971 pub pIDList: *mut D3D12_MESSAGE_ID,
24972}
24973impl ::core::marker::Copy for D3D12_INFO_QUEUE_FILTER_DESC {}
24974impl ::core::clone::Clone for D3D12_INFO_QUEUE_FILTER_DESC {
24975 fn clone(&self) -> Self {
24976 *self
24977 }
24978}
24979impl ::core::fmt::Debug for D3D12_INFO_QUEUE_FILTER_DESC {
24980 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
24981 f.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(name:"pIDList", &self.pIDList).finish()
24982 }
24983}
24984impl ::windows_core::TypeKind for D3D12_INFO_QUEUE_FILTER_DESC {
24985 type TypeKind = ::windows_core::CopyType;
24986}
24987impl ::core::cmp::PartialEq for D3D12_INFO_QUEUE_FILTER_DESC {
24988 fn eq(&self, other: &Self) -> bool {
24989 self.NumCategories == other.NumCategories && self.pCategoryList == other.pCategoryList && self.NumSeverities == other.NumSeverities && self.pSeverityList == other.pSeverityList && self.NumIDs == other.NumIDs && self.pIDList == other.pIDList
24990 }
24991}
24992impl ::core::cmp::Eq for D3D12_INFO_QUEUE_FILTER_DESC {}
24993impl ::core::default::Default for D3D12_INFO_QUEUE_FILTER_DESC {
24994 fn default() -> Self {
24995 unsafe { ::core::mem::zeroed() }
24996 }
24997}
24998#[repr(C)]
24999#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
25000#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25001pub struct D3D12_INPUT_ELEMENT_DESC {
25002 pub SemanticName: ::windows_core::PCSTR,
25003 pub SemanticIndex: u32,
25004 pub Format: super::Dxgi::Common::DXGI_FORMAT,
25005 pub InputSlot: u32,
25006 pub AlignedByteOffset: u32,
25007 pub InputSlotClass: D3D12_INPUT_CLASSIFICATION,
25008 pub InstanceDataStepRate: u32,
25009}
25010#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25011impl ::core::marker::Copy for D3D12_INPUT_ELEMENT_DESC {}
25012#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25013impl ::core::clone::Clone for D3D12_INPUT_ELEMENT_DESC {
25014 fn clone(&self) -> Self {
25015 *self
25016 }
25017}
25018#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25019impl ::core::fmt::Debug for D3D12_INPUT_ELEMENT_DESC {
25020 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25021 f.debug_struct("D3D12_INPUT_ELEMENT_DESC").field("SemanticName", &self.SemanticName).field("SemanticIndex", &self.SemanticIndex).field("Format", &self.Format).field("InputSlot", &self.InputSlot).field("AlignedByteOffset", &self.AlignedByteOffset).field("InputSlotClass", &self.InputSlotClass).field(name:"InstanceDataStepRate", &self.InstanceDataStepRate).finish()
25022 }
25023}
25024#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25025impl ::windows_core::TypeKind for D3D12_INPUT_ELEMENT_DESC {
25026 type TypeKind = ::windows_core::CopyType;
25027}
25028#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25029impl ::core::cmp::PartialEq for D3D12_INPUT_ELEMENT_DESC {
25030 fn eq(&self, other: &Self) -> bool {
25031 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
25032 }
25033}
25034#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25035impl ::core::cmp::Eq for D3D12_INPUT_ELEMENT_DESC {}
25036#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25037impl ::core::default::Default for D3D12_INPUT_ELEMENT_DESC {
25038 fn default() -> Self {
25039 unsafe { ::core::mem::zeroed() }
25040 }
25041}
25042#[repr(C)]
25043#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
25044#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25045pub struct D3D12_INPUT_LAYOUT_DESC {
25046 pub pInputElementDescs: *const D3D12_INPUT_ELEMENT_DESC,
25047 pub NumElements: u32,
25048}
25049#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25050impl ::core::marker::Copy for D3D12_INPUT_LAYOUT_DESC {}
25051#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25052impl ::core::clone::Clone for D3D12_INPUT_LAYOUT_DESC {
25053 fn clone(&self) -> Self {
25054 *self
25055 }
25056}
25057#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25058impl ::core::fmt::Debug for D3D12_INPUT_LAYOUT_DESC {
25059 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25060 f.debug_struct("D3D12_INPUT_LAYOUT_DESC").field("pInputElementDescs", &self.pInputElementDescs).field(name:"NumElements", &self.NumElements).finish()
25061 }
25062}
25063#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25064impl ::windows_core::TypeKind for D3D12_INPUT_LAYOUT_DESC {
25065 type TypeKind = ::windows_core::CopyType;
25066}
25067#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25068impl ::core::cmp::PartialEq for D3D12_INPUT_LAYOUT_DESC {
25069 fn eq(&self, other: &Self) -> bool {
25070 self.pInputElementDescs == other.pInputElementDescs && self.NumElements == other.NumElements
25071 }
25072}
25073#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25074impl ::core::cmp::Eq for D3D12_INPUT_LAYOUT_DESC {}
25075#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25076impl ::core::default::Default for D3D12_INPUT_LAYOUT_DESC {
25077 fn default() -> Self {
25078 unsafe { ::core::mem::zeroed() }
25079 }
25080}
25081#[repr(C)]
25082pub struct D3D12_LIBRARY_DESC {
25083 pub Creator: ::windows_core::PCSTR,
25084 pub Flags: u32,
25085 pub FunctionCount: u32,
25086}
25087impl ::core::marker::Copy for D3D12_LIBRARY_DESC {}
25088impl ::core::clone::Clone for D3D12_LIBRARY_DESC {
25089 fn clone(&self) -> Self {
25090 *self
25091 }
25092}
25093impl ::core::fmt::Debug for D3D12_LIBRARY_DESC {
25094 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25095 f.debug_struct("D3D12_LIBRARY_DESC").field("Creator", &self.Creator).field("Flags", &self.Flags).field(name:"FunctionCount", &self.FunctionCount).finish()
25096 }
25097}
25098impl ::windows_core::TypeKind for D3D12_LIBRARY_DESC {
25099 type TypeKind = ::windows_core::CopyType;
25100}
25101impl ::core::cmp::PartialEq for D3D12_LIBRARY_DESC {
25102 fn eq(&self, other: &Self) -> bool {
25103 self.Creator == other.Creator && self.Flags == other.Flags && self.FunctionCount == other.FunctionCount
25104 }
25105}
25106impl ::core::cmp::Eq for D3D12_LIBRARY_DESC {}
25107impl ::core::default::Default for D3D12_LIBRARY_DESC {
25108 fn default() -> Self {
25109 unsafe { ::core::mem::zeroed() }
25110 }
25111}
25112#[repr(C)]
25113pub struct D3D12_LOCAL_ROOT_SIGNATURE {
25114 pub pLocalRootSignature: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12RootSignature>>,
25115}
25116impl ::core::clone::Clone for D3D12_LOCAL_ROOT_SIGNATURE {
25117 fn clone(&self) -> Self {
25118 unsafe { ::core::mem::transmute_copy(self) }
25119 }
25120}
25121impl ::core::fmt::Debug for D3D12_LOCAL_ROOT_SIGNATURE {
25122 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25123 f.debug_struct("D3D12_LOCAL_ROOT_SIGNATURE").field(name:"pLocalRootSignature", &self.pLocalRootSignature).finish()
25124 }
25125}
25126impl ::windows_core::TypeKind for D3D12_LOCAL_ROOT_SIGNATURE {
25127 type TypeKind = ::windows_core::CopyType;
25128}
25129impl ::core::cmp::PartialEq for D3D12_LOCAL_ROOT_SIGNATURE {
25130 fn eq(&self, other: &Self) -> bool {
25131 self.pLocalRootSignature == other.pLocalRootSignature
25132 }
25133}
25134impl ::core::cmp::Eq for D3D12_LOCAL_ROOT_SIGNATURE {}
25135impl ::core::default::Default for D3D12_LOCAL_ROOT_SIGNATURE {
25136 fn default() -> Self {
25137 unsafe { ::core::mem::zeroed() }
25138 }
25139}
25140#[repr(C)]
25141pub struct D3D12_MEMCPY_DEST {
25142 pub pData: *mut ::core::ffi::c_void,
25143 pub RowPitch: usize,
25144 pub SlicePitch: usize,
25145}
25146impl ::core::marker::Copy for D3D12_MEMCPY_DEST {}
25147impl ::core::clone::Clone for D3D12_MEMCPY_DEST {
25148 fn clone(&self) -> Self {
25149 *self
25150 }
25151}
25152impl ::core::fmt::Debug for D3D12_MEMCPY_DEST {
25153 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25154 f.debug_struct("D3D12_MEMCPY_DEST").field("pData", &self.pData).field("RowPitch", &self.RowPitch).field(name:"SlicePitch", &self.SlicePitch).finish()
25155 }
25156}
25157impl ::windows_core::TypeKind for D3D12_MEMCPY_DEST {
25158 type TypeKind = ::windows_core::CopyType;
25159}
25160impl ::core::cmp::PartialEq for D3D12_MEMCPY_DEST {
25161 fn eq(&self, other: &Self) -> bool {
25162 self.pData == other.pData && self.RowPitch == other.RowPitch && self.SlicePitch == other.SlicePitch
25163 }
25164}
25165impl ::core::cmp::Eq for D3D12_MEMCPY_DEST {}
25166impl ::core::default::Default for D3D12_MEMCPY_DEST {
25167 fn default() -> Self {
25168 unsafe { ::core::mem::zeroed() }
25169 }
25170}
25171#[repr(C)]
25172pub struct D3D12_MESSAGE {
25173 pub Category: D3D12_MESSAGE_CATEGORY,
25174 pub Severity: D3D12_MESSAGE_SEVERITY,
25175 pub ID: D3D12_MESSAGE_ID,
25176 pub pDescription: *const u8,
25177 pub DescriptionByteLength: usize,
25178}
25179impl ::core::marker::Copy for D3D12_MESSAGE {}
25180impl ::core::clone::Clone for D3D12_MESSAGE {
25181 fn clone(&self) -> Self {
25182 *self
25183 }
25184}
25185impl ::core::fmt::Debug for D3D12_MESSAGE {
25186 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25187 f.debug_struct("D3D12_MESSAGE").field("Category", &self.Category).field("Severity", &self.Severity).field("ID", &self.ID).field("pDescription", &self.pDescription).field(name:"DescriptionByteLength", &self.DescriptionByteLength).finish()
25188 }
25189}
25190impl ::windows_core::TypeKind for D3D12_MESSAGE {
25191 type TypeKind = ::windows_core::CopyType;
25192}
25193impl ::core::cmp::PartialEq for D3D12_MESSAGE {
25194 fn eq(&self, other: &Self) -> bool {
25195 self.Category == other.Category && self.Severity == other.Severity && self.ID == other.ID && self.pDescription == other.pDescription && self.DescriptionByteLength == other.DescriptionByteLength
25196 }
25197}
25198impl ::core::cmp::Eq for D3D12_MESSAGE {}
25199impl ::core::default::Default for D3D12_MESSAGE {
25200 fn default() -> Self {
25201 unsafe { ::core::mem::zeroed() }
25202 }
25203}
25204#[repr(C)]
25205pub struct D3D12_META_COMMAND_DESC {
25206 pub Id: ::windows_core::GUID,
25207 pub Name: ::windows_core::PCWSTR,
25208 pub InitializationDirtyState: D3D12_GRAPHICS_STATES,
25209 pub ExecutionDirtyState: D3D12_GRAPHICS_STATES,
25210}
25211impl ::core::marker::Copy for D3D12_META_COMMAND_DESC {}
25212impl ::core::clone::Clone for D3D12_META_COMMAND_DESC {
25213 fn clone(&self) -> Self {
25214 *self
25215 }
25216}
25217impl ::core::fmt::Debug for D3D12_META_COMMAND_DESC {
25218 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25219 f.debug_struct("D3D12_META_COMMAND_DESC").field("Id", &self.Id).field("Name", &self.Name).field("InitializationDirtyState", &self.InitializationDirtyState).field(name:"ExecutionDirtyState", &self.ExecutionDirtyState).finish()
25220 }
25221}
25222impl ::windows_core::TypeKind for D3D12_META_COMMAND_DESC {
25223 type TypeKind = ::windows_core::CopyType;
25224}
25225impl ::core::cmp::PartialEq for D3D12_META_COMMAND_DESC {
25226 fn eq(&self, other: &Self) -> bool {
25227 self.Id == other.Id && self.Name == other.Name && self.InitializationDirtyState == other.InitializationDirtyState && self.ExecutionDirtyState == other.ExecutionDirtyState
25228 }
25229}
25230impl ::core::cmp::Eq for D3D12_META_COMMAND_DESC {}
25231impl ::core::default::Default for D3D12_META_COMMAND_DESC {
25232 fn default() -> Self {
25233 unsafe { ::core::mem::zeroed() }
25234 }
25235}
25236#[repr(C)]
25237pub struct D3D12_META_COMMAND_PARAMETER_DESC {
25238 pub Name: ::windows_core::PCWSTR,
25239 pub Type: D3D12_META_COMMAND_PARAMETER_TYPE,
25240 pub Flags: D3D12_META_COMMAND_PARAMETER_FLAGS,
25241 pub RequiredResourceState: D3D12_RESOURCE_STATES,
25242 pub StructureOffset: u32,
25243}
25244impl ::core::marker::Copy for D3D12_META_COMMAND_PARAMETER_DESC {}
25245impl ::core::clone::Clone for D3D12_META_COMMAND_PARAMETER_DESC {
25246 fn clone(&self) -> Self {
25247 *self
25248 }
25249}
25250impl ::core::fmt::Debug for D3D12_META_COMMAND_PARAMETER_DESC {
25251 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25252 f.debug_struct("D3D12_META_COMMAND_PARAMETER_DESC").field("Name", &self.Name).field("Type", &self.Type).field("Flags", &self.Flags).field("RequiredResourceState", &self.RequiredResourceState).field(name:"StructureOffset", &self.StructureOffset).finish()
25253 }
25254}
25255impl ::windows_core::TypeKind for D3D12_META_COMMAND_PARAMETER_DESC {
25256 type TypeKind = ::windows_core::CopyType;
25257}
25258impl ::core::cmp::PartialEq for D3D12_META_COMMAND_PARAMETER_DESC {
25259 fn eq(&self, other: &Self) -> bool {
25260 self.Name == other.Name && self.Type == other.Type && self.Flags == other.Flags && self.RequiredResourceState == other.RequiredResourceState && self.StructureOffset == other.StructureOffset
25261 }
25262}
25263impl ::core::cmp::Eq for D3D12_META_COMMAND_PARAMETER_DESC {}
25264impl ::core::default::Default for D3D12_META_COMMAND_PARAMETER_DESC {
25265 fn default() -> Self {
25266 unsafe { ::core::mem::zeroed() }
25267 }
25268}
25269#[repr(C)]
25270pub struct D3D12_MIP_REGION {
25271 pub Width: u32,
25272 pub Height: u32,
25273 pub Depth: u32,
25274}
25275impl ::core::marker::Copy for D3D12_MIP_REGION {}
25276impl ::core::clone::Clone for D3D12_MIP_REGION {
25277 fn clone(&self) -> Self {
25278 *self
25279 }
25280}
25281impl ::core::fmt::Debug for D3D12_MIP_REGION {
25282 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25283 f.debug_struct("D3D12_MIP_REGION").field("Width", &self.Width).field("Height", &self.Height).field(name:"Depth", &self.Depth).finish()
25284 }
25285}
25286impl ::windows_core::TypeKind for D3D12_MIP_REGION {
25287 type TypeKind = ::windows_core::CopyType;
25288}
25289impl ::core::cmp::PartialEq for D3D12_MIP_REGION {
25290 fn eq(&self, other: &Self) -> bool {
25291 self.Width == other.Width && self.Height == other.Height && self.Depth == other.Depth
25292 }
25293}
25294impl ::core::cmp::Eq for D3D12_MIP_REGION {}
25295impl ::core::default::Default for D3D12_MIP_REGION {
25296 fn default() -> Self {
25297 unsafe { ::core::mem::zeroed() }
25298 }
25299}
25300#[repr(C)]
25301pub struct D3D12_NODE_MASK {
25302 pub NodeMask: u32,
25303}
25304impl ::core::marker::Copy for D3D12_NODE_MASK {}
25305impl ::core::clone::Clone for D3D12_NODE_MASK {
25306 fn clone(&self) -> Self {
25307 *self
25308 }
25309}
25310impl ::core::fmt::Debug for D3D12_NODE_MASK {
25311 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25312 f.debug_struct("D3D12_NODE_MASK").field(name:"NodeMask", &self.NodeMask).finish()
25313 }
25314}
25315impl ::windows_core::TypeKind for D3D12_NODE_MASK {
25316 type TypeKind = ::windows_core::CopyType;
25317}
25318impl ::core::cmp::PartialEq for D3D12_NODE_MASK {
25319 fn eq(&self, other: &Self) -> bool {
25320 self.NodeMask == other.NodeMask
25321 }
25322}
25323impl ::core::cmp::Eq for D3D12_NODE_MASK {}
25324impl ::core::default::Default for D3D12_NODE_MASK {
25325 fn default() -> Self {
25326 unsafe { ::core::mem::zeroed() }
25327 }
25328}
25329#[repr(C)]
25330pub struct D3D12_PACKED_MIP_INFO {
25331 pub NumStandardMips: u8,
25332 pub NumPackedMips: u8,
25333 pub NumTilesForPackedMips: u32,
25334 pub StartTileIndexInOverallResource: u32,
25335}
25336impl ::core::marker::Copy for D3D12_PACKED_MIP_INFO {}
25337impl ::core::clone::Clone for D3D12_PACKED_MIP_INFO {
25338 fn clone(&self) -> Self {
25339 *self
25340 }
25341}
25342impl ::core::fmt::Debug for D3D12_PACKED_MIP_INFO {
25343 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25344 f.debug_struct("D3D12_PACKED_MIP_INFO").field("NumStandardMips", &self.NumStandardMips).field("NumPackedMips", &self.NumPackedMips).field("NumTilesForPackedMips", &self.NumTilesForPackedMips).field(name:"StartTileIndexInOverallResource", &self.StartTileIndexInOverallResource).finish()
25345 }
25346}
25347impl ::windows_core::TypeKind for D3D12_PACKED_MIP_INFO {
25348 type TypeKind = ::windows_core::CopyType;
25349}
25350impl ::core::cmp::PartialEq for D3D12_PACKED_MIP_INFO {
25351 fn eq(&self, other: &Self) -> bool {
25352 self.NumStandardMips == other.NumStandardMips && self.NumPackedMips == other.NumPackedMips && self.NumTilesForPackedMips == other.NumTilesForPackedMips && self.StartTileIndexInOverallResource == other.StartTileIndexInOverallResource
25353 }
25354}
25355impl ::core::cmp::Eq for D3D12_PACKED_MIP_INFO {}
25356impl ::core::default::Default for D3D12_PACKED_MIP_INFO {
25357 fn default() -> Self {
25358 unsafe { ::core::mem::zeroed() }
25359 }
25360}
25361#[repr(C)]
25362#[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
25363#[cfg(feature = "Win32_Graphics_Direct3D")]
25364pub struct D3D12_PARAMETER_DESC {
25365 pub Name: ::windows_core::PCSTR,
25366 pub SemanticName: ::windows_core::PCSTR,
25367 pub Type: super::Direct3D::D3D_SHADER_VARIABLE_TYPE,
25368 pub Class: super::Direct3D::D3D_SHADER_VARIABLE_CLASS,
25369 pub Rows: u32,
25370 pub Columns: u32,
25371 pub InterpolationMode: super::Direct3D::D3D_INTERPOLATION_MODE,
25372 pub Flags: super::Direct3D::D3D_PARAMETER_FLAGS,
25373 pub FirstInRegister: u32,
25374 pub FirstInComponent: u32,
25375 pub FirstOutRegister: u32,
25376 pub FirstOutComponent: u32,
25377}
25378#[cfg(feature = "Win32_Graphics_Direct3D")]
25379impl ::core::marker::Copy for D3D12_PARAMETER_DESC {}
25380#[cfg(feature = "Win32_Graphics_Direct3D")]
25381impl ::core::clone::Clone for D3D12_PARAMETER_DESC {
25382 fn clone(&self) -> Self {
25383 *self
25384 }
25385}
25386#[cfg(feature = "Win32_Graphics_Direct3D")]
25387impl ::core::fmt::Debug for D3D12_PARAMETER_DESC {
25388 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25389 f&mut DebugStruct<'_, '_>.debug_struct("D3D12_PARAMETER_DESC")
25390 .field("Name", &self.Name)
25391 .field("SemanticName", &self.SemanticName)
25392 .field("Type", &self.Type)
25393 .field("Class", &self.Class)
25394 .field("Rows", &self.Rows)
25395 .field("Columns", &self.Columns)
25396 .field("InterpolationMode", &self.InterpolationMode)
25397 .field("Flags", &self.Flags)
25398 .field("FirstInRegister", &self.FirstInRegister)
25399 .field("FirstInComponent", &self.FirstInComponent)
25400 .field("FirstOutRegister", &self.FirstOutRegister)
25401 .field(name:"FirstOutComponent", &self.FirstOutComponent)
25402 .finish()
25403 }
25404}
25405#[cfg(feature = "Win32_Graphics_Direct3D")]
25406impl ::windows_core::TypeKind for D3D12_PARAMETER_DESC {
25407 type TypeKind = ::windows_core::CopyType;
25408}
25409#[cfg(feature = "Win32_Graphics_Direct3D")]
25410impl ::core::cmp::PartialEq for D3D12_PARAMETER_DESC {
25411 fn eq(&self, other: &Self) -> bool {
25412 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
25413 }
25414}
25415#[cfg(feature = "Win32_Graphics_Direct3D")]
25416impl ::core::cmp::Eq for D3D12_PARAMETER_DESC {}
25417#[cfg(feature = "Win32_Graphics_Direct3D")]
25418impl ::core::default::Default for D3D12_PARAMETER_DESC {
25419 fn default() -> Self {
25420 unsafe { ::core::mem::zeroed() }
25421 }
25422}
25423#[repr(C)]
25424pub struct D3D12_PIPELINE_STATE_STREAM_DESC {
25425 pub SizeInBytes: usize,
25426 pub pPipelineStateSubobjectStream: *mut ::core::ffi::c_void,
25427}
25428impl ::core::marker::Copy for D3D12_PIPELINE_STATE_STREAM_DESC {}
25429impl ::core::clone::Clone for D3D12_PIPELINE_STATE_STREAM_DESC {
25430 fn clone(&self) -> Self {
25431 *self
25432 }
25433}
25434impl ::core::fmt::Debug for D3D12_PIPELINE_STATE_STREAM_DESC {
25435 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25436 f.debug_struct("D3D12_PIPELINE_STATE_STREAM_DESC").field("SizeInBytes", &self.SizeInBytes).field(name:"pPipelineStateSubobjectStream", &self.pPipelineStateSubobjectStream).finish()
25437 }
25438}
25439impl ::windows_core::TypeKind for D3D12_PIPELINE_STATE_STREAM_DESC {
25440 type TypeKind = ::windows_core::CopyType;
25441}
25442impl ::core::cmp::PartialEq for D3D12_PIPELINE_STATE_STREAM_DESC {
25443 fn eq(&self, other: &Self) -> bool {
25444 self.SizeInBytes == other.SizeInBytes && self.pPipelineStateSubobjectStream == other.pPipelineStateSubobjectStream
25445 }
25446}
25447impl ::core::cmp::Eq for D3D12_PIPELINE_STATE_STREAM_DESC {}
25448impl ::core::default::Default for D3D12_PIPELINE_STATE_STREAM_DESC {
25449 fn default() -> Self {
25450 unsafe { ::core::mem::zeroed() }
25451 }
25452}
25453#[repr(C)]
25454#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
25455#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25456pub struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT {
25457 pub Offset: u64,
25458 pub Footprint: D3D12_SUBRESOURCE_FOOTPRINT,
25459}
25460#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25461impl ::core::marker::Copy for D3D12_PLACED_SUBRESOURCE_FOOTPRINT {}
25462#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25463impl ::core::clone::Clone for D3D12_PLACED_SUBRESOURCE_FOOTPRINT {
25464 fn clone(&self) -> Self {
25465 *self
25466 }
25467}
25468#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25469impl ::core::fmt::Debug for D3D12_PLACED_SUBRESOURCE_FOOTPRINT {
25470 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25471 f.debug_struct("D3D12_PLACED_SUBRESOURCE_FOOTPRINT").field("Offset", &self.Offset).field(name:"Footprint", &self.Footprint).finish()
25472 }
25473}
25474#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25475impl ::windows_core::TypeKind for D3D12_PLACED_SUBRESOURCE_FOOTPRINT {
25476 type TypeKind = ::windows_core::CopyType;
25477}
25478#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25479impl ::core::cmp::PartialEq for D3D12_PLACED_SUBRESOURCE_FOOTPRINT {
25480 fn eq(&self, other: &Self) -> bool {
25481 self.Offset == other.Offset && self.Footprint == other.Footprint
25482 }
25483}
25484#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25485impl ::core::cmp::Eq for D3D12_PLACED_SUBRESOURCE_FOOTPRINT {}
25486#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
25487impl ::core::default::Default for D3D12_PLACED_SUBRESOURCE_FOOTPRINT {
25488 fn default() -> Self {
25489 unsafe { ::core::mem::zeroed() }
25490 }
25491}
25492#[repr(C)]
25493pub struct D3D12_PROTECTED_RESOURCE_SESSION_DESC {
25494 pub NodeMask: u32,
25495 pub Flags: D3D12_PROTECTED_RESOURCE_SESSION_FLAGS,
25496}
25497impl ::core::marker::Copy for D3D12_PROTECTED_RESOURCE_SESSION_DESC {}
25498impl ::core::clone::Clone for D3D12_PROTECTED_RESOURCE_SESSION_DESC {
25499 fn clone(&self) -> Self {
25500 *self
25501 }
25502}
25503impl ::core::fmt::Debug for D3D12_PROTECTED_RESOURCE_SESSION_DESC {
25504 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25505 f.debug_struct("D3D12_PROTECTED_RESOURCE_SESSION_DESC").field("NodeMask", &self.NodeMask).field(name:"Flags", &self.Flags).finish()
25506 }
25507}
25508impl ::windows_core::TypeKind for D3D12_PROTECTED_RESOURCE_SESSION_DESC {
25509 type TypeKind = ::windows_core::CopyType;
25510}
25511impl ::core::cmp::PartialEq for D3D12_PROTECTED_RESOURCE_SESSION_DESC {
25512 fn eq(&self, other: &Self) -> bool {
25513 self.NodeMask == other.NodeMask && self.Flags == other.Flags
25514 }
25515}
25516impl ::core::cmp::Eq for D3D12_PROTECTED_RESOURCE_SESSION_DESC {}
25517impl ::core::default::Default for D3D12_PROTECTED_RESOURCE_SESSION_DESC {
25518 fn default() -> Self {
25519 unsafe { ::core::mem::zeroed() }
25520 }
25521}
25522#[repr(C)]
25523pub struct D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {
25524 pub NodeMask: u32,
25525 pub Flags: D3D12_PROTECTED_RESOURCE_SESSION_FLAGS,
25526 pub ProtectionType: ::windows_core::GUID,
25527}
25528impl ::core::marker::Copy for D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {}
25529impl ::core::clone::Clone for D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {
25530 fn clone(&self) -> Self {
25531 *self
25532 }
25533}
25534impl ::core::fmt::Debug for D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {
25535 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25536 f.debug_struct("D3D12_PROTECTED_RESOURCE_SESSION_DESC1").field("NodeMask", &self.NodeMask).field("Flags", &self.Flags).field(name:"ProtectionType", &self.ProtectionType).finish()
25537 }
25538}
25539impl ::windows_core::TypeKind for D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {
25540 type TypeKind = ::windows_core::CopyType;
25541}
25542impl ::core::cmp::PartialEq for D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {
25543 fn eq(&self, other: &Self) -> bool {
25544 self.NodeMask == other.NodeMask && self.Flags == other.Flags && self.ProtectionType == other.ProtectionType
25545 }
25546}
25547impl ::core::cmp::Eq for D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {}
25548impl ::core::default::Default for D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {
25549 fn default() -> Self {
25550 unsafe { ::core::mem::zeroed() }
25551 }
25552}
25553#[repr(C)]
25554pub struct D3D12_QUERY_DATA_PIPELINE_STATISTICS {
25555 pub IAVertices: u64,
25556 pub IAPrimitives: u64,
25557 pub VSInvocations: u64,
25558 pub GSInvocations: u64,
25559 pub GSPrimitives: u64,
25560 pub CInvocations: u64,
25561 pub CPrimitives: u64,
25562 pub PSInvocations: u64,
25563 pub HSInvocations: u64,
25564 pub DSInvocations: u64,
25565 pub CSInvocations: u64,
25566}
25567impl ::core::marker::Copy for D3D12_QUERY_DATA_PIPELINE_STATISTICS {}
25568impl ::core::clone::Clone for D3D12_QUERY_DATA_PIPELINE_STATISTICS {
25569 fn clone(&self) -> Self {
25570 *self
25571 }
25572}
25573impl ::core::fmt::Debug for D3D12_QUERY_DATA_PIPELINE_STATISTICS {
25574 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25575 f&mut DebugStruct<'_, '_>.debug_struct("D3D12_QUERY_DATA_PIPELINE_STATISTICS")
25576 .field("IAVertices", &self.IAVertices)
25577 .field("IAPrimitives", &self.IAPrimitives)
25578 .field("VSInvocations", &self.VSInvocations)
25579 .field("GSInvocations", &self.GSInvocations)
25580 .field("GSPrimitives", &self.GSPrimitives)
25581 .field("CInvocations", &self.CInvocations)
25582 .field("CPrimitives", &self.CPrimitives)
25583 .field("PSInvocations", &self.PSInvocations)
25584 .field("HSInvocations", &self.HSInvocations)
25585 .field("DSInvocations", &self.DSInvocations)
25586 .field(name:"CSInvocations", &self.CSInvocations)
25587 .finish()
25588 }
25589}
25590impl ::windows_core::TypeKind for D3D12_QUERY_DATA_PIPELINE_STATISTICS {
25591 type TypeKind = ::windows_core::CopyType;
25592}
25593impl ::core::cmp::PartialEq for D3D12_QUERY_DATA_PIPELINE_STATISTICS {
25594 fn eq(&self, other: &Self) -> bool {
25595 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
25596 }
25597}
25598impl ::core::cmp::Eq for D3D12_QUERY_DATA_PIPELINE_STATISTICS {}
25599impl ::core::default::Default for D3D12_QUERY_DATA_PIPELINE_STATISTICS {
25600 fn default() -> Self {
25601 unsafe { ::core::mem::zeroed() }
25602 }
25603}
25604#[repr(C)]
25605pub struct D3D12_QUERY_DATA_PIPELINE_STATISTICS1 {
25606 pub IAVertices: u64,
25607 pub IAPrimitives: u64,
25608 pub VSInvocations: u64,
25609 pub GSInvocations: u64,
25610 pub GSPrimitives: u64,
25611 pub CInvocations: u64,
25612 pub CPrimitives: u64,
25613 pub PSInvocations: u64,
25614 pub HSInvocations: u64,
25615 pub DSInvocations: u64,
25616 pub CSInvocations: u64,
25617 pub ASInvocations: u64,
25618 pub MSInvocations: u64,
25619 pub MSPrimitives: u64,
25620}
25621impl ::core::marker::Copy for D3D12_QUERY_DATA_PIPELINE_STATISTICS1 {}
25622impl ::core::clone::Clone for D3D12_QUERY_DATA_PIPELINE_STATISTICS1 {
25623 fn clone(&self) -> Self {
25624 *self
25625 }
25626}
25627impl ::core::fmt::Debug for D3D12_QUERY_DATA_PIPELINE_STATISTICS1 {
25628 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25629 f&mut DebugStruct<'_, '_>.debug_struct("D3D12_QUERY_DATA_PIPELINE_STATISTICS1")
25630 .field("IAVertices", &self.IAVertices)
25631 .field("IAPrimitives", &self.IAPrimitives)
25632 .field("VSInvocations", &self.VSInvocations)
25633 .field("GSInvocations", &self.GSInvocations)
25634 .field("GSPrimitives", &self.GSPrimitives)
25635 .field("CInvocations", &self.CInvocations)
25636 .field("CPrimitives", &self.CPrimitives)
25637 .field("PSInvocations", &self.PSInvocations)
25638 .field("HSInvocations", &self.HSInvocations)
25639 .field("DSInvocations", &self.DSInvocations)
25640 .field("CSInvocations", &self.CSInvocations)
25641 .field("ASInvocations", &self.ASInvocations)
25642 .field("MSInvocations", &self.MSInvocations)
25643 .field(name:"MSPrimitives", &self.MSPrimitives)
25644 .finish()
25645 }
25646}
25647impl ::windows_core::TypeKind for D3D12_QUERY_DATA_PIPELINE_STATISTICS1 {
25648 type TypeKind = ::windows_core::CopyType;
25649}
25650impl ::core::cmp::PartialEq for D3D12_QUERY_DATA_PIPELINE_STATISTICS1 {
25651 fn eq(&self, other: &Self) -> bool {
25652 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 && self.ASInvocations == other.ASInvocations && self.MSInvocations == other.MSInvocations && self.MSPrimitives == other.MSPrimitives
25653 }
25654}
25655impl ::core::cmp::Eq for D3D12_QUERY_DATA_PIPELINE_STATISTICS1 {}
25656impl ::core::default::Default for D3D12_QUERY_DATA_PIPELINE_STATISTICS1 {
25657 fn default() -> Self {
25658 unsafe { ::core::mem::zeroed() }
25659 }
25660}
25661#[repr(C)]
25662pub struct D3D12_QUERY_DATA_SO_STATISTICS {
25663 pub NumPrimitivesWritten: u64,
25664 pub PrimitivesStorageNeeded: u64,
25665}
25666impl ::core::marker::Copy for D3D12_QUERY_DATA_SO_STATISTICS {}
25667impl ::core::clone::Clone for D3D12_QUERY_DATA_SO_STATISTICS {
25668 fn clone(&self) -> Self {
25669 *self
25670 }
25671}
25672impl ::core::fmt::Debug for D3D12_QUERY_DATA_SO_STATISTICS {
25673 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25674 f.debug_struct("D3D12_QUERY_DATA_SO_STATISTICS").field("NumPrimitivesWritten", &self.NumPrimitivesWritten).field(name:"PrimitivesStorageNeeded", &self.PrimitivesStorageNeeded).finish()
25675 }
25676}
25677impl ::windows_core::TypeKind for D3D12_QUERY_DATA_SO_STATISTICS {
25678 type TypeKind = ::windows_core::CopyType;
25679}
25680impl ::core::cmp::PartialEq for D3D12_QUERY_DATA_SO_STATISTICS {
25681 fn eq(&self, other: &Self) -> bool {
25682 self.NumPrimitivesWritten == other.NumPrimitivesWritten && self.PrimitivesStorageNeeded == other.PrimitivesStorageNeeded
25683 }
25684}
25685impl ::core::cmp::Eq for D3D12_QUERY_DATA_SO_STATISTICS {}
25686impl ::core::default::Default for D3D12_QUERY_DATA_SO_STATISTICS {
25687 fn default() -> Self {
25688 unsafe { ::core::mem::zeroed() }
25689 }
25690}
25691#[repr(C)]
25692pub struct D3D12_QUERY_HEAP_DESC {
25693 pub Type: D3D12_QUERY_HEAP_TYPE,
25694 pub Count: u32,
25695 pub NodeMask: u32,
25696}
25697impl ::core::marker::Copy for D3D12_QUERY_HEAP_DESC {}
25698impl ::core::clone::Clone for D3D12_QUERY_HEAP_DESC {
25699 fn clone(&self) -> Self {
25700 *self
25701 }
25702}
25703impl ::core::fmt::Debug for D3D12_QUERY_HEAP_DESC {
25704 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25705 f.debug_struct("D3D12_QUERY_HEAP_DESC").field("Type", &self.Type).field("Count", &self.Count).field(name:"NodeMask", &self.NodeMask).finish()
25706 }
25707}
25708impl ::windows_core::TypeKind for D3D12_QUERY_HEAP_DESC {
25709 type TypeKind = ::windows_core::CopyType;
25710}
25711impl ::core::cmp::PartialEq for D3D12_QUERY_HEAP_DESC {
25712 fn eq(&self, other: &Self) -> bool {
25713 self.Type == other.Type && self.Count == other.Count && self.NodeMask == other.NodeMask
25714 }
25715}
25716impl ::core::cmp::Eq for D3D12_QUERY_HEAP_DESC {}
25717impl ::core::default::Default for D3D12_QUERY_HEAP_DESC {
25718 fn default() -> Self {
25719 unsafe { ::core::mem::zeroed() }
25720 }
25721}
25722#[repr(C)]
25723pub struct D3D12_RANGE {
25724 pub Begin: usize,
25725 pub End: usize,
25726}
25727impl ::core::marker::Copy for D3D12_RANGE {}
25728impl ::core::clone::Clone for D3D12_RANGE {
25729 fn clone(&self) -> Self {
25730 *self
25731 }
25732}
25733impl ::core::fmt::Debug for D3D12_RANGE {
25734 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25735 f.debug_struct("D3D12_RANGE").field("Begin", &self.Begin).field(name:"End", &self.End).finish()
25736 }
25737}
25738impl ::windows_core::TypeKind for D3D12_RANGE {
25739 type TypeKind = ::windows_core::CopyType;
25740}
25741impl ::core::cmp::PartialEq for D3D12_RANGE {
25742 fn eq(&self, other: &Self) -> bool {
25743 self.Begin == other.Begin && self.End == other.End
25744 }
25745}
25746impl ::core::cmp::Eq for D3D12_RANGE {}
25747impl ::core::default::Default for D3D12_RANGE {
25748 fn default() -> Self {
25749 unsafe { ::core::mem::zeroed() }
25750 }
25751}
25752#[repr(C)]
25753pub struct D3D12_RANGE_UINT64 {
25754 pub Begin: u64,
25755 pub End: u64,
25756}
25757impl ::core::marker::Copy for D3D12_RANGE_UINT64 {}
25758impl ::core::clone::Clone for D3D12_RANGE_UINT64 {
25759 fn clone(&self) -> Self {
25760 *self
25761 }
25762}
25763impl ::core::fmt::Debug for D3D12_RANGE_UINT64 {
25764 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25765 f.debug_struct("D3D12_RANGE_UINT64").field("Begin", &self.Begin).field(name:"End", &self.End).finish()
25766 }
25767}
25768impl ::windows_core::TypeKind for D3D12_RANGE_UINT64 {
25769 type TypeKind = ::windows_core::CopyType;
25770}
25771impl ::core::cmp::PartialEq for D3D12_RANGE_UINT64 {
25772 fn eq(&self, other: &Self) -> bool {
25773 self.Begin == other.Begin && self.End == other.End
25774 }
25775}
25776impl ::core::cmp::Eq for D3D12_RANGE_UINT64 {}
25777impl ::core::default::Default for D3D12_RANGE_UINT64 {
25778 fn default() -> Self {
25779 unsafe { ::core::mem::zeroed() }
25780 }
25781}
25782#[repr(C)]
25783#[doc = "Required features: `\"Win32_Foundation\"`"]
25784#[cfg(feature = "Win32_Foundation")]
25785pub struct D3D12_RASTERIZER_DESC {
25786 pub FillMode: D3D12_FILL_MODE,
25787 pub CullMode: D3D12_CULL_MODE,
25788 pub FrontCounterClockwise: super::super::Foundation::BOOL,
25789 pub DepthBias: i32,
25790 pub DepthBiasClamp: f32,
25791 pub SlopeScaledDepthBias: f32,
25792 pub DepthClipEnable: super::super::Foundation::BOOL,
25793 pub MultisampleEnable: super::super::Foundation::BOOL,
25794 pub AntialiasedLineEnable: super::super::Foundation::BOOL,
25795 pub ForcedSampleCount: u32,
25796 pub ConservativeRaster: D3D12_CONSERVATIVE_RASTERIZATION_MODE,
25797}
25798#[cfg(feature = "Win32_Foundation")]
25799impl ::core::marker::Copy for D3D12_RASTERIZER_DESC {}
25800#[cfg(feature = "Win32_Foundation")]
25801impl ::core::clone::Clone for D3D12_RASTERIZER_DESC {
25802 fn clone(&self) -> Self {
25803 *self
25804 }
25805}
25806#[cfg(feature = "Win32_Foundation")]
25807impl ::core::fmt::Debug for D3D12_RASTERIZER_DESC {
25808 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25809 f&mut DebugStruct<'_, '_>.debug_struct("D3D12_RASTERIZER_DESC")
25810 .field("FillMode", &self.FillMode)
25811 .field("CullMode", &self.CullMode)
25812 .field("FrontCounterClockwise", &self.FrontCounterClockwise)
25813 .field("DepthBias", &self.DepthBias)
25814 .field("DepthBiasClamp", &self.DepthBiasClamp)
25815 .field("SlopeScaledDepthBias", &self.SlopeScaledDepthBias)
25816 .field("DepthClipEnable", &self.DepthClipEnable)
25817 .field("MultisampleEnable", &self.MultisampleEnable)
25818 .field("AntialiasedLineEnable", &self.AntialiasedLineEnable)
25819 .field("ForcedSampleCount", &self.ForcedSampleCount)
25820 .field(name:"ConservativeRaster", &self.ConservativeRaster)
25821 .finish()
25822 }
25823}
25824#[cfg(feature = "Win32_Foundation")]
25825impl ::windows_core::TypeKind for D3D12_RASTERIZER_DESC {
25826 type TypeKind = ::windows_core::CopyType;
25827}
25828#[cfg(feature = "Win32_Foundation")]
25829impl ::core::cmp::PartialEq for D3D12_RASTERIZER_DESC {
25830 fn eq(&self, other: &Self) -> bool {
25831 self.FillMode == other.FillMode && self.CullMode == other.CullMode && self.FrontCounterClockwise == other.FrontCounterClockwise && self.DepthBias == other.DepthBias && self.DepthBiasClamp == other.DepthBiasClamp && self.SlopeScaledDepthBias == other.SlopeScaledDepthBias && self.DepthClipEnable == other.DepthClipEnable && self.MultisampleEnable == other.MultisampleEnable && self.AntialiasedLineEnable == other.AntialiasedLineEnable && self.ForcedSampleCount == other.ForcedSampleCount && self.ConservativeRaster == other.ConservativeRaster
25832 }
25833}
25834#[cfg(feature = "Win32_Foundation")]
25835impl ::core::cmp::Eq for D3D12_RASTERIZER_DESC {}
25836#[cfg(feature = "Win32_Foundation")]
25837impl ::core::default::Default for D3D12_RASTERIZER_DESC {
25838 fn default() -> Self {
25839 unsafe { ::core::mem::zeroed() }
25840 }
25841}
25842#[repr(C)]
25843#[doc = "Required features: `\"Win32_Foundation\"`"]
25844#[cfg(feature = "Win32_Foundation")]
25845pub struct D3D12_RASTERIZER_DESC1 {
25846 pub FillMode: D3D12_FILL_MODE,
25847 pub CullMode: D3D12_CULL_MODE,
25848 pub FrontCounterClockwise: super::super::Foundation::BOOL,
25849 pub DepthBias: f32,
25850 pub DepthBiasClamp: f32,
25851 pub SlopeScaledDepthBias: f32,
25852 pub DepthClipEnable: super::super::Foundation::BOOL,
25853 pub MultisampleEnable: super::super::Foundation::BOOL,
25854 pub AntialiasedLineEnable: super::super::Foundation::BOOL,
25855 pub ForcedSampleCount: u32,
25856 pub ConservativeRaster: D3D12_CONSERVATIVE_RASTERIZATION_MODE,
25857}
25858#[cfg(feature = "Win32_Foundation")]
25859impl ::core::marker::Copy for D3D12_RASTERIZER_DESC1 {}
25860#[cfg(feature = "Win32_Foundation")]
25861impl ::core::clone::Clone for D3D12_RASTERIZER_DESC1 {
25862 fn clone(&self) -> Self {
25863 *self
25864 }
25865}
25866#[cfg(feature = "Win32_Foundation")]
25867impl ::core::fmt::Debug for D3D12_RASTERIZER_DESC1 {
25868 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25869 f&mut DebugStruct<'_, '_>.debug_struct("D3D12_RASTERIZER_DESC1")
25870 .field("FillMode", &self.FillMode)
25871 .field("CullMode", &self.CullMode)
25872 .field("FrontCounterClockwise", &self.FrontCounterClockwise)
25873 .field("DepthBias", &self.DepthBias)
25874 .field("DepthBiasClamp", &self.DepthBiasClamp)
25875 .field("SlopeScaledDepthBias", &self.SlopeScaledDepthBias)
25876 .field("DepthClipEnable", &self.DepthClipEnable)
25877 .field("MultisampleEnable", &self.MultisampleEnable)
25878 .field("AntialiasedLineEnable", &self.AntialiasedLineEnable)
25879 .field("ForcedSampleCount", &self.ForcedSampleCount)
25880 .field(name:"ConservativeRaster", &self.ConservativeRaster)
25881 .finish()
25882 }
25883}
25884#[cfg(feature = "Win32_Foundation")]
25885impl ::windows_core::TypeKind for D3D12_RASTERIZER_DESC1 {
25886 type TypeKind = ::windows_core::CopyType;
25887}
25888#[cfg(feature = "Win32_Foundation")]
25889impl ::core::cmp::PartialEq for D3D12_RASTERIZER_DESC1 {
25890 fn eq(&self, other: &Self) -> bool {
25891 self.FillMode == other.FillMode && self.CullMode == other.CullMode && self.FrontCounterClockwise == other.FrontCounterClockwise && self.DepthBias == other.DepthBias && self.DepthBiasClamp == other.DepthBiasClamp && self.SlopeScaledDepthBias == other.SlopeScaledDepthBias && self.DepthClipEnable == other.DepthClipEnable && self.MultisampleEnable == other.MultisampleEnable && self.AntialiasedLineEnable == other.AntialiasedLineEnable && self.ForcedSampleCount == other.ForcedSampleCount && self.ConservativeRaster == other.ConservativeRaster
25892 }
25893}
25894#[cfg(feature = "Win32_Foundation")]
25895impl ::core::cmp::Eq for D3D12_RASTERIZER_DESC1 {}
25896#[cfg(feature = "Win32_Foundation")]
25897impl ::core::default::Default for D3D12_RASTERIZER_DESC1 {
25898 fn default() -> Self {
25899 unsafe { ::core::mem::zeroed() }
25900 }
25901}
25902#[repr(C)]
25903#[doc = "Required features: `\"Win32_Foundation\"`"]
25904#[cfg(feature = "Win32_Foundation")]
25905pub struct D3D12_RASTERIZER_DESC2 {
25906 pub FillMode: D3D12_FILL_MODE,
25907 pub CullMode: D3D12_CULL_MODE,
25908 pub FrontCounterClockwise: super::super::Foundation::BOOL,
25909 pub DepthBias: f32,
25910 pub DepthBiasClamp: f32,
25911 pub SlopeScaledDepthBias: f32,
25912 pub DepthClipEnable: super::super::Foundation::BOOL,
25913 pub LineRasterizationMode: D3D12_LINE_RASTERIZATION_MODE,
25914 pub ForcedSampleCount: u32,
25915 pub ConservativeRaster: D3D12_CONSERVATIVE_RASTERIZATION_MODE,
25916}
25917#[cfg(feature = "Win32_Foundation")]
25918impl ::core::marker::Copy for D3D12_RASTERIZER_DESC2 {}
25919#[cfg(feature = "Win32_Foundation")]
25920impl ::core::clone::Clone for D3D12_RASTERIZER_DESC2 {
25921 fn clone(&self) -> Self {
25922 *self
25923 }
25924}
25925#[cfg(feature = "Win32_Foundation")]
25926impl ::core::fmt::Debug for D3D12_RASTERIZER_DESC2 {
25927 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25928 f&mut DebugStruct<'_, '_>.debug_struct("D3D12_RASTERIZER_DESC2")
25929 .field("FillMode", &self.FillMode)
25930 .field("CullMode", &self.CullMode)
25931 .field("FrontCounterClockwise", &self.FrontCounterClockwise)
25932 .field("DepthBias", &self.DepthBias)
25933 .field("DepthBiasClamp", &self.DepthBiasClamp)
25934 .field("SlopeScaledDepthBias", &self.SlopeScaledDepthBias)
25935 .field("DepthClipEnable", &self.DepthClipEnable)
25936 .field("LineRasterizationMode", &self.LineRasterizationMode)
25937 .field("ForcedSampleCount", &self.ForcedSampleCount)
25938 .field(name:"ConservativeRaster", &self.ConservativeRaster)
25939 .finish()
25940 }
25941}
25942#[cfg(feature = "Win32_Foundation")]
25943impl ::windows_core::TypeKind for D3D12_RASTERIZER_DESC2 {
25944 type TypeKind = ::windows_core::CopyType;
25945}
25946#[cfg(feature = "Win32_Foundation")]
25947impl ::core::cmp::PartialEq for D3D12_RASTERIZER_DESC2 {
25948 fn eq(&self, other: &Self) -> bool {
25949 self.FillMode == other.FillMode && self.CullMode == other.CullMode && self.FrontCounterClockwise == other.FrontCounterClockwise && self.DepthBias == other.DepthBias && self.DepthBiasClamp == other.DepthBiasClamp && self.SlopeScaledDepthBias == other.SlopeScaledDepthBias && self.DepthClipEnable == other.DepthClipEnable && self.LineRasterizationMode == other.LineRasterizationMode && self.ForcedSampleCount == other.ForcedSampleCount && self.ConservativeRaster == other.ConservativeRaster
25950 }
25951}
25952#[cfg(feature = "Win32_Foundation")]
25953impl ::core::cmp::Eq for D3D12_RASTERIZER_DESC2 {}
25954#[cfg(feature = "Win32_Foundation")]
25955impl ::core::default::Default for D3D12_RASTERIZER_DESC2 {
25956 fn default() -> Self {
25957 unsafe { ::core::mem::zeroed() }
25958 }
25959}
25960#[repr(C)]
25961pub struct D3D12_RAYTRACING_AABB {
25962 pub MinX: f32,
25963 pub MinY: f32,
25964 pub MinZ: f32,
25965 pub MaxX: f32,
25966 pub MaxY: f32,
25967 pub MaxZ: f32,
25968}
25969impl ::core::marker::Copy for D3D12_RAYTRACING_AABB {}
25970impl ::core::clone::Clone for D3D12_RAYTRACING_AABB {
25971 fn clone(&self) -> Self {
25972 *self
25973 }
25974}
25975impl ::core::fmt::Debug for D3D12_RAYTRACING_AABB {
25976 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
25977 f.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(name:"MaxZ", &self.MaxZ).finish()
25978 }
25979}
25980impl ::windows_core::TypeKind for D3D12_RAYTRACING_AABB {
25981 type TypeKind = ::windows_core::CopyType;
25982}
25983impl ::core::cmp::PartialEq for D3D12_RAYTRACING_AABB {
25984 fn eq(&self, other: &Self) -> bool {
25985 self.MinX == other.MinX && self.MinY == other.MinY && self.MinZ == other.MinZ && self.MaxX == other.MaxX && self.MaxY == other.MaxY && self.MaxZ == other.MaxZ
25986 }
25987}
25988impl ::core::cmp::Eq for D3D12_RAYTRACING_AABB {}
25989impl ::core::default::Default for D3D12_RAYTRACING_AABB {
25990 fn default() -> Self {
25991 unsafe { ::core::mem::zeroed() }
25992 }
25993}
25994#[repr(C)]
25995pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {
25996 pub CompactedSizeInBytes: u64,
25997}
25998impl ::core::marker::Copy for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {}
25999impl ::core::clone::Clone for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {
26000 fn clone(&self) -> Self {
26001 *self
26002 }
26003}
26004impl ::core::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {
26005 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26006 f.debug_struct("D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC").field(name:"CompactedSizeInBytes", &self.CompactedSizeInBytes).finish()
26007 }
26008}
26009impl ::windows_core::TypeKind for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {
26010 type TypeKind = ::windows_core::CopyType;
26011}
26012impl ::core::cmp::PartialEq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {
26013 fn eq(&self, other: &Self) -> bool {
26014 self.CompactedSizeInBytes == other.CompactedSizeInBytes
26015 }
26016}
26017impl ::core::cmp::Eq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {}
26018impl ::core::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {
26019 fn default() -> Self {
26020 unsafe { ::core::mem::zeroed() }
26021 }
26022}
26023#[repr(C)]
26024pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {
26025 pub CurrentSizeInBytes: u64,
26026}
26027impl ::core::marker::Copy for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {}
26028impl ::core::clone::Clone for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {
26029 fn clone(&self) -> Self {
26030 *self
26031 }
26032}
26033impl ::core::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {
26034 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26035 f.debug_struct("D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC").field(name:"CurrentSizeInBytes", &self.CurrentSizeInBytes).finish()
26036 }
26037}
26038impl ::windows_core::TypeKind for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {
26039 type TypeKind = ::windows_core::CopyType;
26040}
26041impl ::core::cmp::PartialEq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {
26042 fn eq(&self, other: &Self) -> bool {
26043 self.CurrentSizeInBytes == other.CurrentSizeInBytes
26044 }
26045}
26046impl ::core::cmp::Eq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {}
26047impl ::core::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {
26048 fn default() -> Self {
26049 unsafe { ::core::mem::zeroed() }
26050 }
26051}
26052#[repr(C)]
26053pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {
26054 pub DestBuffer: u64,
26055 pub InfoType: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE,
26056}
26057impl ::core::marker::Copy for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {}
26058impl ::core::clone::Clone for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {
26059 fn clone(&self) -> Self {
26060 *self
26061 }
26062}
26063impl ::core::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {
26064 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26065 f.debug_struct("D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC").field("DestBuffer", &self.DestBuffer).field(name:"InfoType", &self.InfoType).finish()
26066 }
26067}
26068impl ::windows_core::TypeKind for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {
26069 type TypeKind = ::windows_core::CopyType;
26070}
26071impl ::core::cmp::PartialEq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {
26072 fn eq(&self, other: &Self) -> bool {
26073 self.DestBuffer == other.DestBuffer && self.InfoType == other.InfoType
26074 }
26075}
26076impl ::core::cmp::Eq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {}
26077impl ::core::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {
26078 fn default() -> Self {
26079 unsafe { ::core::mem::zeroed() }
26080 }
26081}
26082#[repr(C)]
26083pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {
26084 pub SerializedSizeInBytes: u64,
26085 pub NumBottomLevelAccelerationStructurePointers: u64,
26086}
26087impl ::core::marker::Copy for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {}
26088impl ::core::clone::Clone for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {
26089 fn clone(&self) -> Self {
26090 *self
26091 }
26092}
26093impl ::core::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {
26094 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26095 f.debug_struct("D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC").field("SerializedSizeInBytes", &self.SerializedSizeInBytes).field(name:"NumBottomLevelAccelerationStructurePointers", &self.NumBottomLevelAccelerationStructurePointers).finish()
26096 }
26097}
26098impl ::windows_core::TypeKind for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {
26099 type TypeKind = ::windows_core::CopyType;
26100}
26101impl ::core::cmp::PartialEq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {
26102 fn eq(&self, other: &Self) -> bool {
26103 self.SerializedSizeInBytes == other.SerializedSizeInBytes && self.NumBottomLevelAccelerationStructurePointers == other.NumBottomLevelAccelerationStructurePointers
26104 }
26105}
26106impl ::core::cmp::Eq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {}
26107impl ::core::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {
26108 fn default() -> Self {
26109 unsafe { ::core::mem::zeroed() }
26110 }
26111}
26112#[repr(C)]
26113pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {
26114 pub DecodedSizeInBytes: u64,
26115}
26116impl ::core::marker::Copy for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {}
26117impl ::core::clone::Clone for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {
26118 fn clone(&self) -> Self {
26119 *self
26120 }
26121}
26122impl ::core::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {
26123 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26124 f.debug_struct("D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC").field(name:"DecodedSizeInBytes", &self.DecodedSizeInBytes).finish()
26125 }
26126}
26127impl ::windows_core::TypeKind for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {
26128 type TypeKind = ::windows_core::CopyType;
26129}
26130impl ::core::cmp::PartialEq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {
26131 fn eq(&self, other: &Self) -> bool {
26132 self.DecodedSizeInBytes == other.DecodedSizeInBytes
26133 }
26134}
26135impl ::core::cmp::Eq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {}
26136impl ::core::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {
26137 fn default() -> Self {
26138 unsafe { ::core::mem::zeroed() }
26139 }
26140}
26141#[repr(C)]
26142pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {
26143 pub ResultDataMaxSizeInBytes: u64,
26144 pub ScratchDataSizeInBytes: u64,
26145 pub UpdateScratchDataSizeInBytes: u64,
26146}
26147impl ::core::marker::Copy for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {}
26148impl ::core::clone::Clone for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {
26149 fn clone(&self) -> Self {
26150 *self
26151 }
26152}
26153impl ::core::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {
26154 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26155 f.debug_struct("D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO").field("ResultDataMaxSizeInBytes", &self.ResultDataMaxSizeInBytes).field("ScratchDataSizeInBytes", &self.ScratchDataSizeInBytes).field(name:"UpdateScratchDataSizeInBytes", &self.UpdateScratchDataSizeInBytes).finish()
26156 }
26157}
26158impl ::windows_core::TypeKind for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {
26159 type TypeKind = ::windows_core::CopyType;
26160}
26161impl ::core::cmp::PartialEq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {
26162 fn eq(&self, other: &Self) -> bool {
26163 self.ResultDataMaxSizeInBytes == other.ResultDataMaxSizeInBytes && self.ScratchDataSizeInBytes == other.ScratchDataSizeInBytes && self.UpdateScratchDataSizeInBytes == other.UpdateScratchDataSizeInBytes
26164 }
26165}
26166impl ::core::cmp::Eq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {}
26167impl ::core::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {
26168 fn default() -> Self {
26169 unsafe { ::core::mem::zeroed() }
26170 }
26171}
26172#[repr(C)]
26173pub struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV {
26174 pub Location: u64,
26175}
26176impl ::core::marker::Copy for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV {}
26177impl ::core::clone::Clone for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV {
26178 fn clone(&self) -> Self {
26179 *self
26180 }
26181}
26182impl ::core::fmt::Debug for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV {
26183 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26184 f.debug_struct("D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV").field(name:"Location", &self.Location).finish()
26185 }
26186}
26187impl ::windows_core::TypeKind for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV {
26188 type TypeKind = ::windows_core::CopyType;
26189}
26190impl ::core::cmp::PartialEq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV {
26191 fn eq(&self, other: &Self) -> bool {
26192 self.Location == other.Location
26193 }
26194}
26195impl ::core::cmp::Eq for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV {}
26196impl ::core::default::Default for D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV {
26197 fn default() -> Self {
26198 unsafe { ::core::mem::zeroed() }
26199 }
26200}
26201#[repr(C)]
26202pub struct D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {
26203 pub AABBCount: u64,
26204 pub AABBs: D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE,
26205}
26206impl ::core::marker::Copy for D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {}
26207impl ::core::clone::Clone for D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {
26208 fn clone(&self) -> Self {
26209 *self
26210 }
26211}
26212impl ::core::fmt::Debug for D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {
26213 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26214 f.debug_struct("D3D12_RAYTRACING_GEOMETRY_AABBS_DESC").field("AABBCount", &self.AABBCount).field(name:"AABBs", &self.AABBs).finish()
26215 }
26216}
26217impl ::windows_core::TypeKind for D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {
26218 type TypeKind = ::windows_core::CopyType;
26219}
26220impl ::core::cmp::PartialEq for D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {
26221 fn eq(&self, other: &Self) -> bool {
26222 self.AABBCount == other.AABBCount && self.AABBs == other.AABBs
26223 }
26224}
26225impl ::core::cmp::Eq for D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {}
26226impl ::core::default::Default for D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {
26227 fn default() -> Self {
26228 unsafe { ::core::mem::zeroed() }
26229 }
26230}
26231#[repr(C)]
26232#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
26233#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26234pub struct D3D12_RAYTRACING_GEOMETRY_DESC {
26235 pub Type: D3D12_RAYTRACING_GEOMETRY_TYPE,
26236 pub Flags: D3D12_RAYTRACING_GEOMETRY_FLAGS,
26237 pub Anonymous: D3D12_RAYTRACING_GEOMETRY_DESC_0,
26238}
26239#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26240impl ::core::marker::Copy for D3D12_RAYTRACING_GEOMETRY_DESC {}
26241#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26242impl ::core::clone::Clone for D3D12_RAYTRACING_GEOMETRY_DESC {
26243 fn clone(&self) -> Self {
26244 *self
26245 }
26246}
26247#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26248impl ::windows_core::TypeKind for D3D12_RAYTRACING_GEOMETRY_DESC {
26249 type TypeKind = ::windows_core::CopyType;
26250}
26251#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26252impl ::core::default::Default for D3D12_RAYTRACING_GEOMETRY_DESC {
26253 fn default() -> Self {
26254 unsafe { ::core::mem::zeroed() }
26255 }
26256}
26257#[repr(C)]
26258#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
26259#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26260pub union D3D12_RAYTRACING_GEOMETRY_DESC_0 {
26261 pub Triangles: D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC,
26262 pub AABBs: D3D12_RAYTRACING_GEOMETRY_AABBS_DESC,
26263}
26264#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26265impl ::core::marker::Copy for D3D12_RAYTRACING_GEOMETRY_DESC_0 {}
26266#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26267impl ::core::clone::Clone for D3D12_RAYTRACING_GEOMETRY_DESC_0 {
26268 fn clone(&self) -> Self {
26269 *self
26270 }
26271}
26272#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26273impl ::windows_core::TypeKind for D3D12_RAYTRACING_GEOMETRY_DESC_0 {
26274 type TypeKind = ::windows_core::CopyType;
26275}
26276#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26277impl ::core::default::Default for D3D12_RAYTRACING_GEOMETRY_DESC_0 {
26278 fn default() -> Self {
26279 unsafe { ::core::mem::zeroed() }
26280 }
26281}
26282#[repr(C)]
26283#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
26284#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26285pub struct D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {
26286 pub Transform3x4: u64,
26287 pub IndexFormat: super::Dxgi::Common::DXGI_FORMAT,
26288 pub VertexFormat: super::Dxgi::Common::DXGI_FORMAT,
26289 pub IndexCount: u32,
26290 pub VertexCount: u32,
26291 pub IndexBuffer: u64,
26292 pub VertexBuffer: D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE,
26293}
26294#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26295impl ::core::marker::Copy for D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {}
26296#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26297impl ::core::clone::Clone for D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {
26298 fn clone(&self) -> Self {
26299 *self
26300 }
26301}
26302#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26303impl ::core::fmt::Debug for D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {
26304 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26305 f.debug_struct("D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC").field("Transform3x4", &self.Transform3x4).field("IndexFormat", &self.IndexFormat).field("VertexFormat", &self.VertexFormat).field("IndexCount", &self.IndexCount).field("VertexCount", &self.VertexCount).field("IndexBuffer", &self.IndexBuffer).field(name:"VertexBuffer", &self.VertexBuffer).finish()
26306 }
26307}
26308#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26309impl ::windows_core::TypeKind for D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {
26310 type TypeKind = ::windows_core::CopyType;
26311}
26312#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26313impl ::core::cmp::PartialEq for D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {
26314 fn eq(&self, other: &Self) -> bool {
26315 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
26316 }
26317}
26318#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26319impl ::core::cmp::Eq for D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {}
26320#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26321impl ::core::default::Default for D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {
26322 fn default() -> Self {
26323 unsafe { ::core::mem::zeroed() }
26324 }
26325}
26326#[repr(C)]
26327pub struct D3D12_RAYTRACING_INSTANCE_DESC {
26328 pub Transform: [f32; 12],
26329 pub _bitfield1: u32,
26330 pub _bitfield2: u32,
26331 pub AccelerationStructure: u64,
26332}
26333impl ::core::marker::Copy for D3D12_RAYTRACING_INSTANCE_DESC {}
26334impl ::core::clone::Clone for D3D12_RAYTRACING_INSTANCE_DESC {
26335 fn clone(&self) -> Self {
26336 *self
26337 }
26338}
26339impl ::core::fmt::Debug for D3D12_RAYTRACING_INSTANCE_DESC {
26340 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26341 f.debug_struct("D3D12_RAYTRACING_INSTANCE_DESC").field("Transform", &self.Transform).field("_bitfield1", &self._bitfield1).field("_bitfield2", &self._bitfield2).field(name:"AccelerationStructure", &self.AccelerationStructure).finish()
26342 }
26343}
26344impl ::windows_core::TypeKind for D3D12_RAYTRACING_INSTANCE_DESC {
26345 type TypeKind = ::windows_core::CopyType;
26346}
26347impl ::core::cmp::PartialEq for D3D12_RAYTRACING_INSTANCE_DESC {
26348 fn eq(&self, other: &Self) -> bool {
26349 self.Transform == other.Transform && self._bitfield1 == other._bitfield1 && self._bitfield2 == other._bitfield2 && self.AccelerationStructure == other.AccelerationStructure
26350 }
26351}
26352impl ::core::cmp::Eq for D3D12_RAYTRACING_INSTANCE_DESC {}
26353impl ::core::default::Default for D3D12_RAYTRACING_INSTANCE_DESC {
26354 fn default() -> Self {
26355 unsafe { ::core::mem::zeroed() }
26356 }
26357}
26358#[repr(C)]
26359pub struct D3D12_RAYTRACING_PIPELINE_CONFIG {
26360 pub MaxTraceRecursionDepth: u32,
26361}
26362impl ::core::marker::Copy for D3D12_RAYTRACING_PIPELINE_CONFIG {}
26363impl ::core::clone::Clone for D3D12_RAYTRACING_PIPELINE_CONFIG {
26364 fn clone(&self) -> Self {
26365 *self
26366 }
26367}
26368impl ::core::fmt::Debug for D3D12_RAYTRACING_PIPELINE_CONFIG {
26369 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26370 f.debug_struct("D3D12_RAYTRACING_PIPELINE_CONFIG").field(name:"MaxTraceRecursionDepth", &self.MaxTraceRecursionDepth).finish()
26371 }
26372}
26373impl ::windows_core::TypeKind for D3D12_RAYTRACING_PIPELINE_CONFIG {
26374 type TypeKind = ::windows_core::CopyType;
26375}
26376impl ::core::cmp::PartialEq for D3D12_RAYTRACING_PIPELINE_CONFIG {
26377 fn eq(&self, other: &Self) -> bool {
26378 self.MaxTraceRecursionDepth == other.MaxTraceRecursionDepth
26379 }
26380}
26381impl ::core::cmp::Eq for D3D12_RAYTRACING_PIPELINE_CONFIG {}
26382impl ::core::default::Default for D3D12_RAYTRACING_PIPELINE_CONFIG {
26383 fn default() -> Self {
26384 unsafe { ::core::mem::zeroed() }
26385 }
26386}
26387#[repr(C)]
26388pub struct D3D12_RAYTRACING_PIPELINE_CONFIG1 {
26389 pub MaxTraceRecursionDepth: u32,
26390 pub Flags: D3D12_RAYTRACING_PIPELINE_FLAGS,
26391}
26392impl ::core::marker::Copy for D3D12_RAYTRACING_PIPELINE_CONFIG1 {}
26393impl ::core::clone::Clone for D3D12_RAYTRACING_PIPELINE_CONFIG1 {
26394 fn clone(&self) -> Self {
26395 *self
26396 }
26397}
26398impl ::core::fmt::Debug for D3D12_RAYTRACING_PIPELINE_CONFIG1 {
26399 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26400 f.debug_struct("D3D12_RAYTRACING_PIPELINE_CONFIG1").field("MaxTraceRecursionDepth", &self.MaxTraceRecursionDepth).field(name:"Flags", &self.Flags).finish()
26401 }
26402}
26403impl ::windows_core::TypeKind for D3D12_RAYTRACING_PIPELINE_CONFIG1 {
26404 type TypeKind = ::windows_core::CopyType;
26405}
26406impl ::core::cmp::PartialEq for D3D12_RAYTRACING_PIPELINE_CONFIG1 {
26407 fn eq(&self, other: &Self) -> bool {
26408 self.MaxTraceRecursionDepth == other.MaxTraceRecursionDepth && self.Flags == other.Flags
26409 }
26410}
26411impl ::core::cmp::Eq for D3D12_RAYTRACING_PIPELINE_CONFIG1 {}
26412impl ::core::default::Default for D3D12_RAYTRACING_PIPELINE_CONFIG1 {
26413 fn default() -> Self {
26414 unsafe { ::core::mem::zeroed() }
26415 }
26416}
26417#[repr(C)]
26418pub struct D3D12_RAYTRACING_SHADER_CONFIG {
26419 pub MaxPayloadSizeInBytes: u32,
26420 pub MaxAttributeSizeInBytes: u32,
26421}
26422impl ::core::marker::Copy for D3D12_RAYTRACING_SHADER_CONFIG {}
26423impl ::core::clone::Clone for D3D12_RAYTRACING_SHADER_CONFIG {
26424 fn clone(&self) -> Self {
26425 *self
26426 }
26427}
26428impl ::core::fmt::Debug for D3D12_RAYTRACING_SHADER_CONFIG {
26429 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26430 f.debug_struct("D3D12_RAYTRACING_SHADER_CONFIG").field("MaxPayloadSizeInBytes", &self.MaxPayloadSizeInBytes).field(name:"MaxAttributeSizeInBytes", &self.MaxAttributeSizeInBytes).finish()
26431 }
26432}
26433impl ::windows_core::TypeKind for D3D12_RAYTRACING_SHADER_CONFIG {
26434 type TypeKind = ::windows_core::CopyType;
26435}
26436impl ::core::cmp::PartialEq for D3D12_RAYTRACING_SHADER_CONFIG {
26437 fn eq(&self, other: &Self) -> bool {
26438 self.MaxPayloadSizeInBytes == other.MaxPayloadSizeInBytes && self.MaxAttributeSizeInBytes == other.MaxAttributeSizeInBytes
26439 }
26440}
26441impl ::core::cmp::Eq for D3D12_RAYTRACING_SHADER_CONFIG {}
26442impl ::core::default::Default for D3D12_RAYTRACING_SHADER_CONFIG {
26443 fn default() -> Self {
26444 unsafe { ::core::mem::zeroed() }
26445 }
26446}
26447#[repr(C)]
26448#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
26449#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26450pub struct D3D12_RENDER_PASS_BEGINNING_ACCESS {
26451 pub Type: D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE,
26452 pub Anonymous: D3D12_RENDER_PASS_BEGINNING_ACCESS_0,
26453}
26454#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26455impl ::core::marker::Copy for D3D12_RENDER_PASS_BEGINNING_ACCESS {}
26456#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26457impl ::core::clone::Clone for D3D12_RENDER_PASS_BEGINNING_ACCESS {
26458 fn clone(&self) -> Self {
26459 *self
26460 }
26461}
26462#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26463impl ::windows_core::TypeKind for D3D12_RENDER_PASS_BEGINNING_ACCESS {
26464 type TypeKind = ::windows_core::CopyType;
26465}
26466#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26467impl ::core::default::Default for D3D12_RENDER_PASS_BEGINNING_ACCESS {
26468 fn default() -> Self {
26469 unsafe { ::core::mem::zeroed() }
26470 }
26471}
26472#[repr(C)]
26473#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
26474#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26475pub union D3D12_RENDER_PASS_BEGINNING_ACCESS_0 {
26476 pub Clear: D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS,
26477 pub PreserveLocal: D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS,
26478}
26479#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26480impl ::core::marker::Copy for D3D12_RENDER_PASS_BEGINNING_ACCESS_0 {}
26481#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26482impl ::core::clone::Clone for D3D12_RENDER_PASS_BEGINNING_ACCESS_0 {
26483 fn clone(&self) -> Self {
26484 *self
26485 }
26486}
26487#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26488impl ::windows_core::TypeKind for D3D12_RENDER_PASS_BEGINNING_ACCESS_0 {
26489 type TypeKind = ::windows_core::CopyType;
26490}
26491#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26492impl ::core::default::Default for D3D12_RENDER_PASS_BEGINNING_ACCESS_0 {
26493 fn default() -> Self {
26494 unsafe { ::core::mem::zeroed() }
26495 }
26496}
26497#[repr(C)]
26498#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
26499#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26500pub struct D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS {
26501 pub ClearValue: D3D12_CLEAR_VALUE,
26502}
26503#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26504impl ::core::marker::Copy for D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS {}
26505#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26506impl ::core::clone::Clone for D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS {
26507 fn clone(&self) -> Self {
26508 *self
26509 }
26510}
26511#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26512impl ::windows_core::TypeKind for D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS {
26513 type TypeKind = ::windows_core::CopyType;
26514}
26515#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26516impl ::core::default::Default for D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS {
26517 fn default() -> Self {
26518 unsafe { ::core::mem::zeroed() }
26519 }
26520}
26521#[repr(C)]
26522pub struct D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS {
26523 pub AdditionalWidth: u32,
26524 pub AdditionalHeight: u32,
26525}
26526impl ::core::marker::Copy for D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS {}
26527impl ::core::clone::Clone for D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS {
26528 fn clone(&self) -> Self {
26529 *self
26530 }
26531}
26532impl ::core::fmt::Debug for D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS {
26533 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26534 f.debug_struct("D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS").field("AdditionalWidth", &self.AdditionalWidth).field(name:"AdditionalHeight", &self.AdditionalHeight).finish()
26535 }
26536}
26537impl ::windows_core::TypeKind for D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS {
26538 type TypeKind = ::windows_core::CopyType;
26539}
26540impl ::core::cmp::PartialEq for D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS {
26541 fn eq(&self, other: &Self) -> bool {
26542 self.AdditionalWidth == other.AdditionalWidth && self.AdditionalHeight == other.AdditionalHeight
26543 }
26544}
26545impl ::core::cmp::Eq for D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS {}
26546impl ::core::default::Default for D3D12_RENDER_PASS_BEGINNING_ACCESS_PRESERVE_LOCAL_PARAMETERS {
26547 fn default() -> Self {
26548 unsafe { ::core::mem::zeroed() }
26549 }
26550}
26551#[repr(C)]
26552#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
26553#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26554pub struct D3D12_RENDER_PASS_DEPTH_STENCIL_DESC {
26555 pub cpuDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
26556 pub DepthBeginningAccess: D3D12_RENDER_PASS_BEGINNING_ACCESS,
26557 pub StencilBeginningAccess: D3D12_RENDER_PASS_BEGINNING_ACCESS,
26558 pub DepthEndingAccess: D3D12_RENDER_PASS_ENDING_ACCESS,
26559 pub StencilEndingAccess: D3D12_RENDER_PASS_ENDING_ACCESS,
26560}
26561#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26562impl ::core::clone::Clone for D3D12_RENDER_PASS_DEPTH_STENCIL_DESC {
26563 fn clone(&self) -> Self {
26564 unsafe { ::core::mem::transmute_copy(self) }
26565 }
26566}
26567#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26568impl ::windows_core::TypeKind for D3D12_RENDER_PASS_DEPTH_STENCIL_DESC {
26569 type TypeKind = ::windows_core::CopyType;
26570}
26571#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26572impl ::core::default::Default for D3D12_RENDER_PASS_DEPTH_STENCIL_DESC {
26573 fn default() -> Self {
26574 unsafe { ::core::mem::zeroed() }
26575 }
26576}
26577#[repr(C)]
26578#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
26579#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26580pub struct D3D12_RENDER_PASS_ENDING_ACCESS {
26581 pub Type: D3D12_RENDER_PASS_ENDING_ACCESS_TYPE,
26582 pub Anonymous: D3D12_RENDER_PASS_ENDING_ACCESS_0,
26583}
26584#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26585impl ::core::clone::Clone for D3D12_RENDER_PASS_ENDING_ACCESS {
26586 fn clone(&self) -> Self {
26587 unsafe { ::core::mem::transmute_copy(self) }
26588 }
26589}
26590#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26591impl ::windows_core::TypeKind for D3D12_RENDER_PASS_ENDING_ACCESS {
26592 type TypeKind = ::windows_core::CopyType;
26593}
26594#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26595impl ::core::default::Default for D3D12_RENDER_PASS_ENDING_ACCESS {
26596 fn default() -> Self {
26597 unsafe { ::core::mem::zeroed() }
26598 }
26599}
26600#[repr(C)]
26601#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
26602#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26603pub union D3D12_RENDER_PASS_ENDING_ACCESS_0 {
26604 pub Resolve: ::std::mem::ManuallyDrop<D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS>,
26605 pub PreserveLocal: D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS,
26606}
26607#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26608impl ::core::clone::Clone for D3D12_RENDER_PASS_ENDING_ACCESS_0 {
26609 fn clone(&self) -> Self {
26610 unsafe { ::core::mem::transmute_copy(self) }
26611 }
26612}
26613#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26614impl ::windows_core::TypeKind for D3D12_RENDER_PASS_ENDING_ACCESS_0 {
26615 type TypeKind = ::windows_core::CopyType;
26616}
26617#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26618impl ::core::default::Default for D3D12_RENDER_PASS_ENDING_ACCESS_0 {
26619 fn default() -> Self {
26620 unsafe { ::core::mem::zeroed() }
26621 }
26622}
26623#[repr(C)]
26624pub struct D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS {
26625 pub AdditionalWidth: u32,
26626 pub AdditionalHeight: u32,
26627}
26628impl ::core::marker::Copy for D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS {}
26629impl ::core::clone::Clone for D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS {
26630 fn clone(&self) -> Self {
26631 *self
26632 }
26633}
26634impl ::core::fmt::Debug for D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS {
26635 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26636 f.debug_struct("D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS").field("AdditionalWidth", &self.AdditionalWidth).field(name:"AdditionalHeight", &self.AdditionalHeight).finish()
26637 }
26638}
26639impl ::windows_core::TypeKind for D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS {
26640 type TypeKind = ::windows_core::CopyType;
26641}
26642impl ::core::cmp::PartialEq for D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS {
26643 fn eq(&self, other: &Self) -> bool {
26644 self.AdditionalWidth == other.AdditionalWidth && self.AdditionalHeight == other.AdditionalHeight
26645 }
26646}
26647impl ::core::cmp::Eq for D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS {}
26648impl ::core::default::Default for D3D12_RENDER_PASS_ENDING_ACCESS_PRESERVE_LOCAL_PARAMETERS {
26649 fn default() -> Self {
26650 unsafe { ::core::mem::zeroed() }
26651 }
26652}
26653#[repr(C)]
26654#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
26655#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26656pub struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS {
26657 pub pSrcResource: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12Resource>>,
26658 pub pDstResource: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12Resource>>,
26659 pub SubresourceCount: u32,
26660 pub pSubresourceParameters: *const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS,
26661 pub Format: super::Dxgi::Common::DXGI_FORMAT,
26662 pub ResolveMode: D3D12_RESOLVE_MODE,
26663 pub PreserveResolveSource: super::super::Foundation::BOOL,
26664}
26665#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26666impl ::core::clone::Clone for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS {
26667 fn clone(&self) -> Self {
26668 unsafe { ::core::mem::transmute_copy(self) }
26669 }
26670}
26671#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26672impl ::core::fmt::Debug for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS {
26673 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26674 f.debug_struct("D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS").field("pSrcResource", &self.pSrcResource).field("pDstResource", &self.pDstResource).field("SubresourceCount", &self.SubresourceCount).field("pSubresourceParameters", &self.pSubresourceParameters).field("Format", &self.Format).field("ResolveMode", &self.ResolveMode).field(name:"PreserveResolveSource", &self.PreserveResolveSource).finish()
26675 }
26676}
26677#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26678impl ::windows_core::TypeKind for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS {
26679 type TypeKind = ::windows_core::CopyType;
26680}
26681#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26682impl ::core::cmp::PartialEq for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS {
26683 fn eq(&self, other: &Self) -> bool {
26684 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
26685 }
26686}
26687#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26688impl ::core::cmp::Eq for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS {}
26689#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26690impl ::core::default::Default for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS {
26691 fn default() -> Self {
26692 unsafe { ::core::mem::zeroed() }
26693 }
26694}
26695#[repr(C)]
26696#[doc = "Required features: `\"Win32_Foundation\"`"]
26697#[cfg(feature = "Win32_Foundation")]
26698pub struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {
26699 pub SrcSubresource: u32,
26700 pub DstSubresource: u32,
26701 pub DstX: u32,
26702 pub DstY: u32,
26703 pub SrcRect: super::super::Foundation::RECT,
26704}
26705#[cfg(feature = "Win32_Foundation")]
26706impl ::core::marker::Copy for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {}
26707#[cfg(feature = "Win32_Foundation")]
26708impl ::core::clone::Clone for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {
26709 fn clone(&self) -> Self {
26710 *self
26711 }
26712}
26713#[cfg(feature = "Win32_Foundation")]
26714impl ::core::fmt::Debug for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {
26715 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26716 f.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(name:"SrcRect", &self.SrcRect).finish()
26717 }
26718}
26719#[cfg(feature = "Win32_Foundation")]
26720impl ::windows_core::TypeKind for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {
26721 type TypeKind = ::windows_core::CopyType;
26722}
26723#[cfg(feature = "Win32_Foundation")]
26724impl ::core::cmp::PartialEq for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {
26725 fn eq(&self, other: &Self) -> bool {
26726 self.SrcSubresource == other.SrcSubresource && self.DstSubresource == other.DstSubresource && self.DstX == other.DstX && self.DstY == other.DstY && self.SrcRect == other.SrcRect
26727 }
26728}
26729#[cfg(feature = "Win32_Foundation")]
26730impl ::core::cmp::Eq for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {}
26731#[cfg(feature = "Win32_Foundation")]
26732impl ::core::default::Default for D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {
26733 fn default() -> Self {
26734 unsafe { ::core::mem::zeroed() }
26735 }
26736}
26737#[repr(C)]
26738#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Dxgi_Common\"`"]
26739#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26740pub struct D3D12_RENDER_PASS_RENDER_TARGET_DESC {
26741 pub cpuDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
26742 pub BeginningAccess: D3D12_RENDER_PASS_BEGINNING_ACCESS,
26743 pub EndingAccess: D3D12_RENDER_PASS_ENDING_ACCESS,
26744}
26745#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26746impl ::core::clone::Clone for D3D12_RENDER_PASS_RENDER_TARGET_DESC {
26747 fn clone(&self) -> Self {
26748 unsafe { ::core::mem::transmute_copy(self) }
26749 }
26750}
26751#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26752impl ::windows_core::TypeKind for D3D12_RENDER_PASS_RENDER_TARGET_DESC {
26753 type TypeKind = ::windows_core::CopyType;
26754}
26755#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dxgi_Common"))]
26756impl ::core::default::Default for D3D12_RENDER_PASS_RENDER_TARGET_DESC {
26757 fn default() -> Self {
26758 unsafe { ::core::mem::zeroed() }
26759 }
26760}
26761#[repr(C)]
26762#[doc = "Required features: `\"Win32_Foundation\"`"]
26763#[cfg(feature = "Win32_Foundation")]
26764pub struct D3D12_RENDER_TARGET_BLEND_DESC {
26765 pub BlendEnable: super::super::Foundation::BOOL,
26766 pub LogicOpEnable: super::super::Foundation::BOOL,
26767 pub SrcBlend: D3D12_BLEND,
26768 pub DestBlend: D3D12_BLEND,
26769 pub BlendOp: D3D12_BLEND_OP,
26770 pub SrcBlendAlpha: D3D12_BLEND,
26771 pub DestBlendAlpha: D3D12_BLEND,
26772 pub BlendOpAlpha: D3D12_BLEND_OP,
26773 pub LogicOp: D3D12_LOGIC_OP,
26774 pub RenderTargetWriteMask: u8,
26775}
26776#[cfg(feature = "Win32_Foundation")]
26777impl ::core::marker::Copy for D3D12_RENDER_TARGET_BLEND_DESC {}
26778#[cfg(feature = "Win32_Foundation")]
26779impl ::core::clone::Clone for D3D12_RENDER_TARGET_BLEND_DESC {
26780 fn clone(&self) -> Self {
26781 *self
26782 }
26783}
26784#[cfg(feature = "Win32_Foundation")]
26785impl ::core::fmt::Debug for D3D12_RENDER_TARGET_BLEND_DESC {
26786 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26787 f.debug_struct("D3D12_RENDER_TARGET_BLEND_DESC").field("BlendEnable", &self.BlendEnable).field("LogicOpEnable", &self.LogicOpEnable).field("SrcBlend", &self.SrcBlend).field("DestBlend", &self.DestBlend).field("BlendOp", &self.BlendOp).field("SrcBlendAlpha", &self.SrcBlendAlpha).field("DestBlendAlpha", &self.DestBlendAlpha).field("BlendOpAlpha", &self.BlendOpAlpha).field("LogicOp", &self.LogicOp).field(name:"RenderTargetWriteMask", &self.RenderTargetWriteMask).finish()
26788 }
26789}
26790#[cfg(feature = "Win32_Foundation")]
26791impl ::windows_core::TypeKind for D3D12_RENDER_TARGET_BLEND_DESC {
26792 type TypeKind = ::windows_core::CopyType;
26793}
26794#[cfg(feature = "Win32_Foundation")]
26795impl ::core::cmp::PartialEq for D3D12_RENDER_TARGET_BLEND_DESC {
26796 fn eq(&self, other: &Self) -> bool {
26797 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
26798 }
26799}
26800#[cfg(feature = "Win32_Foundation")]
26801impl ::core::cmp::Eq for D3D12_RENDER_TARGET_BLEND_DESC {}
26802#[cfg(feature = "Win32_Foundation")]
26803impl ::core::default::Default for D3D12_RENDER_TARGET_BLEND_DESC {
26804 fn default() -> Self {
26805 unsafe { ::core::mem::zeroed() }
26806 }
26807}
26808#[repr(C)]
26809#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
26810#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26811pub struct D3D12_RENDER_TARGET_VIEW_DESC {
26812 pub Format: super::Dxgi::Common::DXGI_FORMAT,
26813 pub ViewDimension: D3D12_RTV_DIMENSION,
26814 pub Anonymous: D3D12_RENDER_TARGET_VIEW_DESC_0,
26815}
26816#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26817impl ::core::marker::Copy for D3D12_RENDER_TARGET_VIEW_DESC {}
26818#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26819impl ::core::clone::Clone for D3D12_RENDER_TARGET_VIEW_DESC {
26820 fn clone(&self) -> Self {
26821 *self
26822 }
26823}
26824#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26825impl ::windows_core::TypeKind for D3D12_RENDER_TARGET_VIEW_DESC {
26826 type TypeKind = ::windows_core::CopyType;
26827}
26828#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26829impl ::core::default::Default for D3D12_RENDER_TARGET_VIEW_DESC {
26830 fn default() -> Self {
26831 unsafe { ::core::mem::zeroed() }
26832 }
26833}
26834#[repr(C)]
26835#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
26836#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26837pub union D3D12_RENDER_TARGET_VIEW_DESC_0 {
26838 pub Buffer: D3D12_BUFFER_RTV,
26839 pub Texture1D: D3D12_TEX1D_RTV,
26840 pub Texture1DArray: D3D12_TEX1D_ARRAY_RTV,
26841 pub Texture2D: D3D12_TEX2D_RTV,
26842 pub Texture2DArray: D3D12_TEX2D_ARRAY_RTV,
26843 pub Texture2DMS: D3D12_TEX2DMS_RTV,
26844 pub Texture2DMSArray: D3D12_TEX2DMS_ARRAY_RTV,
26845 pub Texture3D: D3D12_TEX3D_RTV,
26846}
26847#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26848impl ::core::marker::Copy for D3D12_RENDER_TARGET_VIEW_DESC_0 {}
26849#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26850impl ::core::clone::Clone for D3D12_RENDER_TARGET_VIEW_DESC_0 {
26851 fn clone(&self) -> Self {
26852 *self
26853 }
26854}
26855#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26856impl ::windows_core::TypeKind for D3D12_RENDER_TARGET_VIEW_DESC_0 {
26857 type TypeKind = ::windows_core::CopyType;
26858}
26859#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26860impl ::core::default::Default for D3D12_RENDER_TARGET_VIEW_DESC_0 {
26861 fn default() -> Self {
26862 unsafe { ::core::mem::zeroed() }
26863 }
26864}
26865#[repr(C)]
26866pub struct D3D12_RESOURCE_ALIASING_BARRIER {
26867 pub pResourceBefore: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12Resource>>,
26868 pub pResourceAfter: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12Resource>>,
26869}
26870impl ::core::clone::Clone for D3D12_RESOURCE_ALIASING_BARRIER {
26871 fn clone(&self) -> Self {
26872 unsafe { ::core::mem::transmute_copy(self) }
26873 }
26874}
26875impl ::core::fmt::Debug for D3D12_RESOURCE_ALIASING_BARRIER {
26876 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26877 f.debug_struct("D3D12_RESOURCE_ALIASING_BARRIER").field("pResourceBefore", &self.pResourceBefore).field(name:"pResourceAfter", &self.pResourceAfter).finish()
26878 }
26879}
26880impl ::windows_core::TypeKind for D3D12_RESOURCE_ALIASING_BARRIER {
26881 type TypeKind = ::windows_core::CopyType;
26882}
26883impl ::core::cmp::PartialEq for D3D12_RESOURCE_ALIASING_BARRIER {
26884 fn eq(&self, other: &Self) -> bool {
26885 self.pResourceBefore == other.pResourceBefore && self.pResourceAfter == other.pResourceAfter
26886 }
26887}
26888impl ::core::cmp::Eq for D3D12_RESOURCE_ALIASING_BARRIER {}
26889impl ::core::default::Default for D3D12_RESOURCE_ALIASING_BARRIER {
26890 fn default() -> Self {
26891 unsafe { ::core::mem::zeroed() }
26892 }
26893}
26894#[repr(C)]
26895pub struct D3D12_RESOURCE_ALLOCATION_INFO {
26896 pub SizeInBytes: u64,
26897 pub Alignment: u64,
26898}
26899impl ::core::marker::Copy for D3D12_RESOURCE_ALLOCATION_INFO {}
26900impl ::core::clone::Clone for D3D12_RESOURCE_ALLOCATION_INFO {
26901 fn clone(&self) -> Self {
26902 *self
26903 }
26904}
26905impl ::core::fmt::Debug for D3D12_RESOURCE_ALLOCATION_INFO {
26906 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26907 f.debug_struct("D3D12_RESOURCE_ALLOCATION_INFO").field("SizeInBytes", &self.SizeInBytes).field(name:"Alignment", &self.Alignment).finish()
26908 }
26909}
26910impl ::windows_core::TypeKind for D3D12_RESOURCE_ALLOCATION_INFO {
26911 type TypeKind = ::windows_core::CopyType;
26912}
26913impl ::core::cmp::PartialEq for D3D12_RESOURCE_ALLOCATION_INFO {
26914 fn eq(&self, other: &Self) -> bool {
26915 self.SizeInBytes == other.SizeInBytes && self.Alignment == other.Alignment
26916 }
26917}
26918impl ::core::cmp::Eq for D3D12_RESOURCE_ALLOCATION_INFO {}
26919impl ::core::default::Default for D3D12_RESOURCE_ALLOCATION_INFO {
26920 fn default() -> Self {
26921 unsafe { ::core::mem::zeroed() }
26922 }
26923}
26924#[repr(C)]
26925pub struct D3D12_RESOURCE_ALLOCATION_INFO1 {
26926 pub Offset: u64,
26927 pub Alignment: u64,
26928 pub SizeInBytes: u64,
26929}
26930impl ::core::marker::Copy for D3D12_RESOURCE_ALLOCATION_INFO1 {}
26931impl ::core::clone::Clone for D3D12_RESOURCE_ALLOCATION_INFO1 {
26932 fn clone(&self) -> Self {
26933 *self
26934 }
26935}
26936impl ::core::fmt::Debug for D3D12_RESOURCE_ALLOCATION_INFO1 {
26937 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
26938 f.debug_struct("D3D12_RESOURCE_ALLOCATION_INFO1").field("Offset", &self.Offset).field("Alignment", &self.Alignment).field(name:"SizeInBytes", &self.SizeInBytes).finish()
26939 }
26940}
26941impl ::windows_core::TypeKind for D3D12_RESOURCE_ALLOCATION_INFO1 {
26942 type TypeKind = ::windows_core::CopyType;
26943}
26944impl ::core::cmp::PartialEq for D3D12_RESOURCE_ALLOCATION_INFO1 {
26945 fn eq(&self, other: &Self) -> bool {
26946 self.Offset == other.Offset && self.Alignment == other.Alignment && self.SizeInBytes == other.SizeInBytes
26947 }
26948}
26949impl ::core::cmp::Eq for D3D12_RESOURCE_ALLOCATION_INFO1 {}
26950impl ::core::default::Default for D3D12_RESOURCE_ALLOCATION_INFO1 {
26951 fn default() -> Self {
26952 unsafe { ::core::mem::zeroed() }
26953 }
26954}
26955#[repr(C)]
26956pub struct D3D12_RESOURCE_BARRIER {
26957 pub Type: D3D12_RESOURCE_BARRIER_TYPE,
26958 pub Flags: D3D12_RESOURCE_BARRIER_FLAGS,
26959 pub Anonymous: D3D12_RESOURCE_BARRIER_0,
26960}
26961impl ::core::clone::Clone for D3D12_RESOURCE_BARRIER {
26962 fn clone(&self) -> Self {
26963 unsafe { ::core::mem::transmute_copy(self) }
26964 }
26965}
26966impl ::windows_core::TypeKind for D3D12_RESOURCE_BARRIER {
26967 type TypeKind = ::windows_core::CopyType;
26968}
26969impl ::core::default::Default for D3D12_RESOURCE_BARRIER {
26970 fn default() -> Self {
26971 unsafe { ::core::mem::zeroed() }
26972 }
26973}
26974#[repr(C)]
26975pub union D3D12_RESOURCE_BARRIER_0 {
26976 pub Transition: ::std::mem::ManuallyDrop<D3D12_RESOURCE_TRANSITION_BARRIER>,
26977 pub Aliasing: ::std::mem::ManuallyDrop<D3D12_RESOURCE_ALIASING_BARRIER>,
26978 pub UAV: ::std::mem::ManuallyDrop<D3D12_RESOURCE_UAV_BARRIER>,
26979}
26980impl ::core::clone::Clone for D3D12_RESOURCE_BARRIER_0 {
26981 fn clone(&self) -> Self {
26982 unsafe { ::core::mem::transmute_copy(self) }
26983 }
26984}
26985impl ::windows_core::TypeKind for D3D12_RESOURCE_BARRIER_0 {
26986 type TypeKind = ::windows_core::CopyType;
26987}
26988impl ::core::default::Default for D3D12_RESOURCE_BARRIER_0 {
26989 fn default() -> Self {
26990 unsafe { ::core::mem::zeroed() }
26991 }
26992}
26993#[repr(C)]
26994#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
26995#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
26996pub struct D3D12_RESOURCE_DESC {
26997 pub Dimension: D3D12_RESOURCE_DIMENSION,
26998 pub Alignment: u64,
26999 pub Width: u64,
27000 pub Height: u32,
27001 pub DepthOrArraySize: u16,
27002 pub MipLevels: u16,
27003 pub Format: super::Dxgi::Common::DXGI_FORMAT,
27004 pub SampleDesc: super::Dxgi::Common::DXGI_SAMPLE_DESC,
27005 pub Layout: D3D12_TEXTURE_LAYOUT,
27006 pub Flags: D3D12_RESOURCE_FLAGS,
27007}
27008#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27009impl ::core::marker::Copy for D3D12_RESOURCE_DESC {}
27010#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27011impl ::core::clone::Clone for D3D12_RESOURCE_DESC {
27012 fn clone(&self) -> Self {
27013 *self
27014 }
27015}
27016#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27017impl ::core::fmt::Debug for D3D12_RESOURCE_DESC {
27018 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27019 f.debug_struct("D3D12_RESOURCE_DESC").field("Dimension", &self.Dimension).field("Alignment", &self.Alignment).field("Width", &self.Width).field("Height", &self.Height).field("DepthOrArraySize", &self.DepthOrArraySize).field("MipLevels", &self.MipLevels).field("Format", &self.Format).field("SampleDesc", &self.SampleDesc).field("Layout", &self.Layout).field(name:"Flags", &self.Flags).finish()
27020 }
27021}
27022#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27023impl ::windows_core::TypeKind for D3D12_RESOURCE_DESC {
27024 type TypeKind = ::windows_core::CopyType;
27025}
27026#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27027impl ::core::cmp::PartialEq for D3D12_RESOURCE_DESC {
27028 fn eq(&self, other: &Self) -> bool {
27029 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
27030 }
27031}
27032#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27033impl ::core::cmp::Eq for D3D12_RESOURCE_DESC {}
27034#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27035impl ::core::default::Default for D3D12_RESOURCE_DESC {
27036 fn default() -> Self {
27037 unsafe { ::core::mem::zeroed() }
27038 }
27039}
27040#[repr(C)]
27041#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
27042#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27043pub struct D3D12_RESOURCE_DESC1 {
27044 pub Dimension: D3D12_RESOURCE_DIMENSION,
27045 pub Alignment: u64,
27046 pub Width: u64,
27047 pub Height: u32,
27048 pub DepthOrArraySize: u16,
27049 pub MipLevels: u16,
27050 pub Format: super::Dxgi::Common::DXGI_FORMAT,
27051 pub SampleDesc: super::Dxgi::Common::DXGI_SAMPLE_DESC,
27052 pub Layout: D3D12_TEXTURE_LAYOUT,
27053 pub Flags: D3D12_RESOURCE_FLAGS,
27054 pub SamplerFeedbackMipRegion: D3D12_MIP_REGION,
27055}
27056#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27057impl ::core::marker::Copy for D3D12_RESOURCE_DESC1 {}
27058#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27059impl ::core::clone::Clone for D3D12_RESOURCE_DESC1 {
27060 fn clone(&self) -> Self {
27061 *self
27062 }
27063}
27064#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27065impl ::core::fmt::Debug for D3D12_RESOURCE_DESC1 {
27066 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27067 f.debug_struct("D3D12_RESOURCE_DESC1").field("Dimension", &self.Dimension).field("Alignment", &self.Alignment).field("Width", &self.Width).field("Height", &self.Height).field("DepthOrArraySize", &self.DepthOrArraySize).field("MipLevels", &self.MipLevels).field("Format", &self.Format).field("SampleDesc", &self.SampleDesc).field("Layout", &self.Layout).field("Flags", &self.Flags).field(name:"SamplerFeedbackMipRegion", &self.SamplerFeedbackMipRegion).finish()
27068 }
27069}
27070#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27071impl ::windows_core::TypeKind for D3D12_RESOURCE_DESC1 {
27072 type TypeKind = ::windows_core::CopyType;
27073}
27074#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27075impl ::core::cmp::PartialEq for D3D12_RESOURCE_DESC1 {
27076 fn eq(&self, other: &Self) -> bool {
27077 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
27078 }
27079}
27080#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27081impl ::core::cmp::Eq for D3D12_RESOURCE_DESC1 {}
27082#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27083impl ::core::default::Default for D3D12_RESOURCE_DESC1 {
27084 fn default() -> Self {
27085 unsafe { ::core::mem::zeroed() }
27086 }
27087}
27088#[repr(C)]
27089pub struct D3D12_RESOURCE_TRANSITION_BARRIER {
27090 pub pResource: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12Resource>>,
27091 pub Subresource: u32,
27092 pub StateBefore: D3D12_RESOURCE_STATES,
27093 pub StateAfter: D3D12_RESOURCE_STATES,
27094}
27095impl ::core::clone::Clone for D3D12_RESOURCE_TRANSITION_BARRIER {
27096 fn clone(&self) -> Self {
27097 unsafe { ::core::mem::transmute_copy(self) }
27098 }
27099}
27100impl ::core::fmt::Debug for D3D12_RESOURCE_TRANSITION_BARRIER {
27101 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27102 f.debug_struct("D3D12_RESOURCE_TRANSITION_BARRIER").field("pResource", &self.pResource).field("Subresource", &self.Subresource).field("StateBefore", &self.StateBefore).field(name:"StateAfter", &self.StateAfter).finish()
27103 }
27104}
27105impl ::windows_core::TypeKind for D3D12_RESOURCE_TRANSITION_BARRIER {
27106 type TypeKind = ::windows_core::CopyType;
27107}
27108impl ::core::cmp::PartialEq for D3D12_RESOURCE_TRANSITION_BARRIER {
27109 fn eq(&self, other: &Self) -> bool {
27110 self.pResource == other.pResource && self.Subresource == other.Subresource && self.StateBefore == other.StateBefore && self.StateAfter == other.StateAfter
27111 }
27112}
27113impl ::core::cmp::Eq for D3D12_RESOURCE_TRANSITION_BARRIER {}
27114impl ::core::default::Default for D3D12_RESOURCE_TRANSITION_BARRIER {
27115 fn default() -> Self {
27116 unsafe { ::core::mem::zeroed() }
27117 }
27118}
27119#[repr(C)]
27120pub struct D3D12_RESOURCE_UAV_BARRIER {
27121 pub pResource: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12Resource>>,
27122}
27123impl ::core::clone::Clone for D3D12_RESOURCE_UAV_BARRIER {
27124 fn clone(&self) -> Self {
27125 unsafe { ::core::mem::transmute_copy(self) }
27126 }
27127}
27128impl ::core::fmt::Debug for D3D12_RESOURCE_UAV_BARRIER {
27129 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27130 f.debug_struct("D3D12_RESOURCE_UAV_BARRIER").field(name:"pResource", &self.pResource).finish()
27131 }
27132}
27133impl ::windows_core::TypeKind for D3D12_RESOURCE_UAV_BARRIER {
27134 type TypeKind = ::windows_core::CopyType;
27135}
27136impl ::core::cmp::PartialEq for D3D12_RESOURCE_UAV_BARRIER {
27137 fn eq(&self, other: &Self) -> bool {
27138 self.pResource == other.pResource
27139 }
27140}
27141impl ::core::cmp::Eq for D3D12_RESOURCE_UAV_BARRIER {}
27142impl ::core::default::Default for D3D12_RESOURCE_UAV_BARRIER {
27143 fn default() -> Self {
27144 unsafe { ::core::mem::zeroed() }
27145 }
27146}
27147#[repr(C)]
27148pub struct D3D12_ROOT_CONSTANTS {
27149 pub ShaderRegister: u32,
27150 pub RegisterSpace: u32,
27151 pub Num32BitValues: u32,
27152}
27153impl ::core::marker::Copy for D3D12_ROOT_CONSTANTS {}
27154impl ::core::clone::Clone for D3D12_ROOT_CONSTANTS {
27155 fn clone(&self) -> Self {
27156 *self
27157 }
27158}
27159impl ::core::fmt::Debug for D3D12_ROOT_CONSTANTS {
27160 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27161 f.debug_struct("D3D12_ROOT_CONSTANTS").field("ShaderRegister", &self.ShaderRegister).field("RegisterSpace", &self.RegisterSpace).field(name:"Num32BitValues", &self.Num32BitValues).finish()
27162 }
27163}
27164impl ::windows_core::TypeKind for D3D12_ROOT_CONSTANTS {
27165 type TypeKind = ::windows_core::CopyType;
27166}
27167impl ::core::cmp::PartialEq for D3D12_ROOT_CONSTANTS {
27168 fn eq(&self, other: &Self) -> bool {
27169 self.ShaderRegister == other.ShaderRegister && self.RegisterSpace == other.RegisterSpace && self.Num32BitValues == other.Num32BitValues
27170 }
27171}
27172impl ::core::cmp::Eq for D3D12_ROOT_CONSTANTS {}
27173impl ::core::default::Default for D3D12_ROOT_CONSTANTS {
27174 fn default() -> Self {
27175 unsafe { ::core::mem::zeroed() }
27176 }
27177}
27178#[repr(C)]
27179pub struct D3D12_ROOT_DESCRIPTOR {
27180 pub ShaderRegister: u32,
27181 pub RegisterSpace: u32,
27182}
27183impl ::core::marker::Copy for D3D12_ROOT_DESCRIPTOR {}
27184impl ::core::clone::Clone for D3D12_ROOT_DESCRIPTOR {
27185 fn clone(&self) -> Self {
27186 *self
27187 }
27188}
27189impl ::core::fmt::Debug for D3D12_ROOT_DESCRIPTOR {
27190 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27191 f.debug_struct("D3D12_ROOT_DESCRIPTOR").field("ShaderRegister", &self.ShaderRegister).field(name:"RegisterSpace", &self.RegisterSpace).finish()
27192 }
27193}
27194impl ::windows_core::TypeKind for D3D12_ROOT_DESCRIPTOR {
27195 type TypeKind = ::windows_core::CopyType;
27196}
27197impl ::core::cmp::PartialEq for D3D12_ROOT_DESCRIPTOR {
27198 fn eq(&self, other: &Self) -> bool {
27199 self.ShaderRegister == other.ShaderRegister && self.RegisterSpace == other.RegisterSpace
27200 }
27201}
27202impl ::core::cmp::Eq for D3D12_ROOT_DESCRIPTOR {}
27203impl ::core::default::Default for D3D12_ROOT_DESCRIPTOR {
27204 fn default() -> Self {
27205 unsafe { ::core::mem::zeroed() }
27206 }
27207}
27208#[repr(C)]
27209pub struct D3D12_ROOT_DESCRIPTOR1 {
27210 pub ShaderRegister: u32,
27211 pub RegisterSpace: u32,
27212 pub Flags: D3D12_ROOT_DESCRIPTOR_FLAGS,
27213}
27214impl ::core::marker::Copy for D3D12_ROOT_DESCRIPTOR1 {}
27215impl ::core::clone::Clone for D3D12_ROOT_DESCRIPTOR1 {
27216 fn clone(&self) -> Self {
27217 *self
27218 }
27219}
27220impl ::core::fmt::Debug for D3D12_ROOT_DESCRIPTOR1 {
27221 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27222 f.debug_struct("D3D12_ROOT_DESCRIPTOR1").field("ShaderRegister", &self.ShaderRegister).field("RegisterSpace", &self.RegisterSpace).field(name:"Flags", &self.Flags).finish()
27223 }
27224}
27225impl ::windows_core::TypeKind for D3D12_ROOT_DESCRIPTOR1 {
27226 type TypeKind = ::windows_core::CopyType;
27227}
27228impl ::core::cmp::PartialEq for D3D12_ROOT_DESCRIPTOR1 {
27229 fn eq(&self, other: &Self) -> bool {
27230 self.ShaderRegister == other.ShaderRegister && self.RegisterSpace == other.RegisterSpace && self.Flags == other.Flags
27231 }
27232}
27233impl ::core::cmp::Eq for D3D12_ROOT_DESCRIPTOR1 {}
27234impl ::core::default::Default for D3D12_ROOT_DESCRIPTOR1 {
27235 fn default() -> Self {
27236 unsafe { ::core::mem::zeroed() }
27237 }
27238}
27239#[repr(C)]
27240pub struct D3D12_ROOT_DESCRIPTOR_TABLE {
27241 pub NumDescriptorRanges: u32,
27242 pub pDescriptorRanges: *const D3D12_DESCRIPTOR_RANGE,
27243}
27244impl ::core::marker::Copy for D3D12_ROOT_DESCRIPTOR_TABLE {}
27245impl ::core::clone::Clone for D3D12_ROOT_DESCRIPTOR_TABLE {
27246 fn clone(&self) -> Self {
27247 *self
27248 }
27249}
27250impl ::core::fmt::Debug for D3D12_ROOT_DESCRIPTOR_TABLE {
27251 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27252 f.debug_struct("D3D12_ROOT_DESCRIPTOR_TABLE").field("NumDescriptorRanges", &self.NumDescriptorRanges).field(name:"pDescriptorRanges", &self.pDescriptorRanges).finish()
27253 }
27254}
27255impl ::windows_core::TypeKind for D3D12_ROOT_DESCRIPTOR_TABLE {
27256 type TypeKind = ::windows_core::CopyType;
27257}
27258impl ::core::cmp::PartialEq for D3D12_ROOT_DESCRIPTOR_TABLE {
27259 fn eq(&self, other: &Self) -> bool {
27260 self.NumDescriptorRanges == other.NumDescriptorRanges && self.pDescriptorRanges == other.pDescriptorRanges
27261 }
27262}
27263impl ::core::cmp::Eq for D3D12_ROOT_DESCRIPTOR_TABLE {}
27264impl ::core::default::Default for D3D12_ROOT_DESCRIPTOR_TABLE {
27265 fn default() -> Self {
27266 unsafe { ::core::mem::zeroed() }
27267 }
27268}
27269#[repr(C)]
27270pub struct D3D12_ROOT_DESCRIPTOR_TABLE1 {
27271 pub NumDescriptorRanges: u32,
27272 pub pDescriptorRanges: *const D3D12_DESCRIPTOR_RANGE1,
27273}
27274impl ::core::marker::Copy for D3D12_ROOT_DESCRIPTOR_TABLE1 {}
27275impl ::core::clone::Clone for D3D12_ROOT_DESCRIPTOR_TABLE1 {
27276 fn clone(&self) -> Self {
27277 *self
27278 }
27279}
27280impl ::core::fmt::Debug for D3D12_ROOT_DESCRIPTOR_TABLE1 {
27281 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27282 f.debug_struct("D3D12_ROOT_DESCRIPTOR_TABLE1").field("NumDescriptorRanges", &self.NumDescriptorRanges).field(name:"pDescriptorRanges", &self.pDescriptorRanges).finish()
27283 }
27284}
27285impl ::windows_core::TypeKind for D3D12_ROOT_DESCRIPTOR_TABLE1 {
27286 type TypeKind = ::windows_core::CopyType;
27287}
27288impl ::core::cmp::PartialEq for D3D12_ROOT_DESCRIPTOR_TABLE1 {
27289 fn eq(&self, other: &Self) -> bool {
27290 self.NumDescriptorRanges == other.NumDescriptorRanges && self.pDescriptorRanges == other.pDescriptorRanges
27291 }
27292}
27293impl ::core::cmp::Eq for D3D12_ROOT_DESCRIPTOR_TABLE1 {}
27294impl ::core::default::Default for D3D12_ROOT_DESCRIPTOR_TABLE1 {
27295 fn default() -> Self {
27296 unsafe { ::core::mem::zeroed() }
27297 }
27298}
27299#[repr(C)]
27300pub struct D3D12_ROOT_PARAMETER {
27301 pub ParameterType: D3D12_ROOT_PARAMETER_TYPE,
27302 pub Anonymous: D3D12_ROOT_PARAMETER_0,
27303 pub ShaderVisibility: D3D12_SHADER_VISIBILITY,
27304}
27305impl ::core::marker::Copy for D3D12_ROOT_PARAMETER {}
27306impl ::core::clone::Clone for D3D12_ROOT_PARAMETER {
27307 fn clone(&self) -> Self {
27308 *self
27309 }
27310}
27311impl ::windows_core::TypeKind for D3D12_ROOT_PARAMETER {
27312 type TypeKind = ::windows_core::CopyType;
27313}
27314impl ::core::default::Default for D3D12_ROOT_PARAMETER {
27315 fn default() -> Self {
27316 unsafe { ::core::mem::zeroed() }
27317 }
27318}
27319#[repr(C)]
27320pub union D3D12_ROOT_PARAMETER_0 {
27321 pub DescriptorTable: D3D12_ROOT_DESCRIPTOR_TABLE,
27322 pub Constants: D3D12_ROOT_CONSTANTS,
27323 pub Descriptor: D3D12_ROOT_DESCRIPTOR,
27324}
27325impl ::core::marker::Copy for D3D12_ROOT_PARAMETER_0 {}
27326impl ::core::clone::Clone for D3D12_ROOT_PARAMETER_0 {
27327 fn clone(&self) -> Self {
27328 *self
27329 }
27330}
27331impl ::windows_core::TypeKind for D3D12_ROOT_PARAMETER_0 {
27332 type TypeKind = ::windows_core::CopyType;
27333}
27334impl ::core::default::Default for D3D12_ROOT_PARAMETER_0 {
27335 fn default() -> Self {
27336 unsafe { ::core::mem::zeroed() }
27337 }
27338}
27339#[repr(C)]
27340pub struct D3D12_ROOT_PARAMETER1 {
27341 pub ParameterType: D3D12_ROOT_PARAMETER_TYPE,
27342 pub Anonymous: D3D12_ROOT_PARAMETER1_0,
27343 pub ShaderVisibility: D3D12_SHADER_VISIBILITY,
27344}
27345impl ::core::marker::Copy for D3D12_ROOT_PARAMETER1 {}
27346impl ::core::clone::Clone for D3D12_ROOT_PARAMETER1 {
27347 fn clone(&self) -> Self {
27348 *self
27349 }
27350}
27351impl ::windows_core::TypeKind for D3D12_ROOT_PARAMETER1 {
27352 type TypeKind = ::windows_core::CopyType;
27353}
27354impl ::core::default::Default for D3D12_ROOT_PARAMETER1 {
27355 fn default() -> Self {
27356 unsafe { ::core::mem::zeroed() }
27357 }
27358}
27359#[repr(C)]
27360pub union D3D12_ROOT_PARAMETER1_0 {
27361 pub DescriptorTable: D3D12_ROOT_DESCRIPTOR_TABLE1,
27362 pub Constants: D3D12_ROOT_CONSTANTS,
27363 pub Descriptor: D3D12_ROOT_DESCRIPTOR1,
27364}
27365impl ::core::marker::Copy for D3D12_ROOT_PARAMETER1_0 {}
27366impl ::core::clone::Clone for D3D12_ROOT_PARAMETER1_0 {
27367 fn clone(&self) -> Self {
27368 *self
27369 }
27370}
27371impl ::windows_core::TypeKind for D3D12_ROOT_PARAMETER1_0 {
27372 type TypeKind = ::windows_core::CopyType;
27373}
27374impl ::core::default::Default for D3D12_ROOT_PARAMETER1_0 {
27375 fn default() -> Self {
27376 unsafe { ::core::mem::zeroed() }
27377 }
27378}
27379#[repr(C)]
27380pub struct D3D12_ROOT_SIGNATURE_DESC {
27381 pub NumParameters: u32,
27382 pub pParameters: *const D3D12_ROOT_PARAMETER,
27383 pub NumStaticSamplers: u32,
27384 pub pStaticSamplers: *const D3D12_STATIC_SAMPLER_DESC,
27385 pub Flags: D3D12_ROOT_SIGNATURE_FLAGS,
27386}
27387impl ::core::marker::Copy for D3D12_ROOT_SIGNATURE_DESC {}
27388impl ::core::clone::Clone for D3D12_ROOT_SIGNATURE_DESC {
27389 fn clone(&self) -> Self {
27390 *self
27391 }
27392}
27393impl ::core::fmt::Debug for D3D12_ROOT_SIGNATURE_DESC {
27394 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27395 f.debug_struct("D3D12_ROOT_SIGNATURE_DESC").field("NumParameters", &self.NumParameters).field("pParameters", &self.pParameters).field("NumStaticSamplers", &self.NumStaticSamplers).field("pStaticSamplers", &self.pStaticSamplers).field(name:"Flags", &self.Flags).finish()
27396 }
27397}
27398impl ::windows_core::TypeKind for D3D12_ROOT_SIGNATURE_DESC {
27399 type TypeKind = ::windows_core::CopyType;
27400}
27401impl ::core::cmp::PartialEq for D3D12_ROOT_SIGNATURE_DESC {
27402 fn eq(&self, other: &Self) -> bool {
27403 self.NumParameters == other.NumParameters && self.pParameters == other.pParameters && self.NumStaticSamplers == other.NumStaticSamplers && self.pStaticSamplers == other.pStaticSamplers && self.Flags == other.Flags
27404 }
27405}
27406impl ::core::cmp::Eq for D3D12_ROOT_SIGNATURE_DESC {}
27407impl ::core::default::Default for D3D12_ROOT_SIGNATURE_DESC {
27408 fn default() -> Self {
27409 unsafe { ::core::mem::zeroed() }
27410 }
27411}
27412#[repr(C)]
27413pub struct D3D12_ROOT_SIGNATURE_DESC1 {
27414 pub NumParameters: u32,
27415 pub pParameters: *const D3D12_ROOT_PARAMETER1,
27416 pub NumStaticSamplers: u32,
27417 pub pStaticSamplers: *const D3D12_STATIC_SAMPLER_DESC,
27418 pub Flags: D3D12_ROOT_SIGNATURE_FLAGS,
27419}
27420impl ::core::marker::Copy for D3D12_ROOT_SIGNATURE_DESC1 {}
27421impl ::core::clone::Clone for D3D12_ROOT_SIGNATURE_DESC1 {
27422 fn clone(&self) -> Self {
27423 *self
27424 }
27425}
27426impl ::core::fmt::Debug for D3D12_ROOT_SIGNATURE_DESC1 {
27427 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27428 f.debug_struct("D3D12_ROOT_SIGNATURE_DESC1").field("NumParameters", &self.NumParameters).field("pParameters", &self.pParameters).field("NumStaticSamplers", &self.NumStaticSamplers).field("pStaticSamplers", &self.pStaticSamplers).field(name:"Flags", &self.Flags).finish()
27429 }
27430}
27431impl ::windows_core::TypeKind for D3D12_ROOT_SIGNATURE_DESC1 {
27432 type TypeKind = ::windows_core::CopyType;
27433}
27434impl ::core::cmp::PartialEq for D3D12_ROOT_SIGNATURE_DESC1 {
27435 fn eq(&self, other: &Self) -> bool {
27436 self.NumParameters == other.NumParameters && self.pParameters == other.pParameters && self.NumStaticSamplers == other.NumStaticSamplers && self.pStaticSamplers == other.pStaticSamplers && self.Flags == other.Flags
27437 }
27438}
27439impl ::core::cmp::Eq for D3D12_ROOT_SIGNATURE_DESC1 {}
27440impl ::core::default::Default for D3D12_ROOT_SIGNATURE_DESC1 {
27441 fn default() -> Self {
27442 unsafe { ::core::mem::zeroed() }
27443 }
27444}
27445#[repr(C)]
27446pub struct D3D12_ROOT_SIGNATURE_DESC2 {
27447 pub NumParameters: u32,
27448 pub pParameters: *const D3D12_ROOT_PARAMETER1,
27449 pub NumStaticSamplers: u32,
27450 pub pStaticSamplers: *const D3D12_STATIC_SAMPLER_DESC1,
27451 pub Flags: D3D12_ROOT_SIGNATURE_FLAGS,
27452}
27453impl ::core::marker::Copy for D3D12_ROOT_SIGNATURE_DESC2 {}
27454impl ::core::clone::Clone for D3D12_ROOT_SIGNATURE_DESC2 {
27455 fn clone(&self) -> Self {
27456 *self
27457 }
27458}
27459impl ::core::fmt::Debug for D3D12_ROOT_SIGNATURE_DESC2 {
27460 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27461 f.debug_struct("D3D12_ROOT_SIGNATURE_DESC2").field("NumParameters", &self.NumParameters).field("pParameters", &self.pParameters).field("NumStaticSamplers", &self.NumStaticSamplers).field("pStaticSamplers", &self.pStaticSamplers).field(name:"Flags", &self.Flags).finish()
27462 }
27463}
27464impl ::windows_core::TypeKind for D3D12_ROOT_SIGNATURE_DESC2 {
27465 type TypeKind = ::windows_core::CopyType;
27466}
27467impl ::core::cmp::PartialEq for D3D12_ROOT_SIGNATURE_DESC2 {
27468 fn eq(&self, other: &Self) -> bool {
27469 self.NumParameters == other.NumParameters && self.pParameters == other.pParameters && self.NumStaticSamplers == other.NumStaticSamplers && self.pStaticSamplers == other.pStaticSamplers && self.Flags == other.Flags
27470 }
27471}
27472impl ::core::cmp::Eq for D3D12_ROOT_SIGNATURE_DESC2 {}
27473impl ::core::default::Default for D3D12_ROOT_SIGNATURE_DESC2 {
27474 fn default() -> Self {
27475 unsafe { ::core::mem::zeroed() }
27476 }
27477}
27478#[repr(C)]
27479#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
27480#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27481pub struct D3D12_RT_FORMAT_ARRAY {
27482 pub RTFormats: [super::Dxgi::Common::DXGI_FORMAT; 8],
27483 pub NumRenderTargets: u32,
27484}
27485#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27486impl ::core::marker::Copy for D3D12_RT_FORMAT_ARRAY {}
27487#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27488impl ::core::clone::Clone for D3D12_RT_FORMAT_ARRAY {
27489 fn clone(&self) -> Self {
27490 *self
27491 }
27492}
27493#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27494impl ::core::fmt::Debug for D3D12_RT_FORMAT_ARRAY {
27495 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27496 f.debug_struct("D3D12_RT_FORMAT_ARRAY").field("RTFormats", &self.RTFormats).field(name:"NumRenderTargets", &self.NumRenderTargets).finish()
27497 }
27498}
27499#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27500impl ::windows_core::TypeKind for D3D12_RT_FORMAT_ARRAY {
27501 type TypeKind = ::windows_core::CopyType;
27502}
27503#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27504impl ::core::cmp::PartialEq for D3D12_RT_FORMAT_ARRAY {
27505 fn eq(&self, other: &Self) -> bool {
27506 self.RTFormats == other.RTFormats && self.NumRenderTargets == other.NumRenderTargets
27507 }
27508}
27509#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27510impl ::core::cmp::Eq for D3D12_RT_FORMAT_ARRAY {}
27511#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
27512impl ::core::default::Default for D3D12_RT_FORMAT_ARRAY {
27513 fn default() -> Self {
27514 unsafe { ::core::mem::zeroed() }
27515 }
27516}
27517#[repr(C)]
27518pub struct D3D12_SAMPLER_DESC {
27519 pub Filter: D3D12_FILTER,
27520 pub AddressU: D3D12_TEXTURE_ADDRESS_MODE,
27521 pub AddressV: D3D12_TEXTURE_ADDRESS_MODE,
27522 pub AddressW: D3D12_TEXTURE_ADDRESS_MODE,
27523 pub MipLODBias: f32,
27524 pub MaxAnisotropy: u32,
27525 pub ComparisonFunc: D3D12_COMPARISON_FUNC,
27526 pub BorderColor: [f32; 4],
27527 pub MinLOD: f32,
27528 pub MaxLOD: f32,
27529}
27530impl ::core::marker::Copy for D3D12_SAMPLER_DESC {}
27531impl ::core::clone::Clone for D3D12_SAMPLER_DESC {
27532 fn clone(&self) -> Self {
27533 *self
27534 }
27535}
27536impl ::core::fmt::Debug for D3D12_SAMPLER_DESC {
27537 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27538 f.debug_struct("D3D12_SAMPLER_DESC").field("Filter", &self.Filter).field("AddressU", &self.AddressU).field("AddressV", &self.AddressV).field("AddressW", &self.AddressW).field("MipLODBias", &self.MipLODBias).field("MaxAnisotropy", &self.MaxAnisotropy).field("ComparisonFunc", &self.ComparisonFunc).field("BorderColor", &self.BorderColor).field("MinLOD", &self.MinLOD).field(name:"MaxLOD", &self.MaxLOD).finish()
27539 }
27540}
27541impl ::windows_core::TypeKind for D3D12_SAMPLER_DESC {
27542 type TypeKind = ::windows_core::CopyType;
27543}
27544impl ::core::cmp::PartialEq for D3D12_SAMPLER_DESC {
27545 fn eq(&self, other: &Self) -> bool {
27546 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
27547 }
27548}
27549impl ::core::cmp::Eq for D3D12_SAMPLER_DESC {}
27550impl ::core::default::Default for D3D12_SAMPLER_DESC {
27551 fn default() -> Self {
27552 unsafe { ::core::mem::zeroed() }
27553 }
27554}
27555#[repr(C)]
27556pub struct D3D12_SAMPLER_DESC2 {
27557 pub Filter: D3D12_FILTER,
27558 pub AddressU: D3D12_TEXTURE_ADDRESS_MODE,
27559 pub AddressV: D3D12_TEXTURE_ADDRESS_MODE,
27560 pub AddressW: D3D12_TEXTURE_ADDRESS_MODE,
27561 pub MipLODBias: f32,
27562 pub MaxAnisotropy: u32,
27563 pub ComparisonFunc: D3D12_COMPARISON_FUNC,
27564 pub Anonymous: D3D12_SAMPLER_DESC2_0,
27565 pub MinLOD: f32,
27566 pub MaxLOD: f32,
27567 pub Flags: D3D12_SAMPLER_FLAGS,
27568}
27569impl ::core::marker::Copy for D3D12_SAMPLER_DESC2 {}
27570impl ::core::clone::Clone for D3D12_SAMPLER_DESC2 {
27571 fn clone(&self) -> Self {
27572 *self
27573 }
27574}
27575impl ::windows_core::TypeKind for D3D12_SAMPLER_DESC2 {
27576 type TypeKind = ::windows_core::CopyType;
27577}
27578impl ::core::default::Default for D3D12_SAMPLER_DESC2 {
27579 fn default() -> Self {
27580 unsafe { ::core::mem::zeroed() }
27581 }
27582}
27583#[repr(C)]
27584pub union D3D12_SAMPLER_DESC2_0 {
27585 pub FloatBorderColor: [f32; 4],
27586 pub UintBorderColor: [u32; 4],
27587}
27588impl ::core::marker::Copy for D3D12_SAMPLER_DESC2_0 {}
27589impl ::core::clone::Clone for D3D12_SAMPLER_DESC2_0 {
27590 fn clone(&self) -> Self {
27591 *self
27592 }
27593}
27594impl ::windows_core::TypeKind for D3D12_SAMPLER_DESC2_0 {
27595 type TypeKind = ::windows_core::CopyType;
27596}
27597impl ::core::default::Default for D3D12_SAMPLER_DESC2_0 {
27598 fn default() -> Self {
27599 unsafe { ::core::mem::zeroed() }
27600 }
27601}
27602#[repr(C)]
27603pub struct D3D12_SAMPLE_POSITION {
27604 pub X: i8,
27605 pub Y: i8,
27606}
27607impl ::core::marker::Copy for D3D12_SAMPLE_POSITION {}
27608impl ::core::clone::Clone for D3D12_SAMPLE_POSITION {
27609 fn clone(&self) -> Self {
27610 *self
27611 }
27612}
27613impl ::core::fmt::Debug for D3D12_SAMPLE_POSITION {
27614 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27615 f.debug_struct("D3D12_SAMPLE_POSITION").field("X", &self.X).field(name:"Y", &self.Y).finish()
27616 }
27617}
27618impl ::windows_core::TypeKind for D3D12_SAMPLE_POSITION {
27619 type TypeKind = ::windows_core::CopyType;
27620}
27621impl ::core::cmp::PartialEq for D3D12_SAMPLE_POSITION {
27622 fn eq(&self, other: &Self) -> bool {
27623 self.X == other.X && self.Y == other.Y
27624 }
27625}
27626impl ::core::cmp::Eq for D3D12_SAMPLE_POSITION {}
27627impl ::core::default::Default for D3D12_SAMPLE_POSITION {
27628 fn default() -> Self {
27629 unsafe { ::core::mem::zeroed() }
27630 }
27631}
27632#[repr(C)]
27633pub struct D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {
27634 pub DriverOpaqueGUID: ::windows_core::GUID,
27635 pub DriverOpaqueVersioningData: [u8; 16],
27636}
27637impl ::core::marker::Copy for D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {}
27638impl ::core::clone::Clone for D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {
27639 fn clone(&self) -> Self {
27640 *self
27641 }
27642}
27643impl ::core::fmt::Debug for D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {
27644 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27645 f.debug_struct("D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER").field("DriverOpaqueGUID", &self.DriverOpaqueGUID).field(name:"DriverOpaqueVersioningData", &self.DriverOpaqueVersioningData).finish()
27646 }
27647}
27648impl ::windows_core::TypeKind for D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {
27649 type TypeKind = ::windows_core::CopyType;
27650}
27651impl ::core::cmp::PartialEq for D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {
27652 fn eq(&self, other: &Self) -> bool {
27653 self.DriverOpaqueGUID == other.DriverOpaqueGUID && self.DriverOpaqueVersioningData == other.DriverOpaqueVersioningData
27654 }
27655}
27656impl ::core::cmp::Eq for D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {}
27657impl ::core::default::Default for D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {
27658 fn default() -> Self {
27659 unsafe { ::core::mem::zeroed() }
27660 }
27661}
27662#[repr(C)]
27663pub struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {
27664 pub DriverMatchingIdentifier: D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER,
27665 pub SerializedSizeInBytesIncludingHeader: u64,
27666 pub DeserializedSizeInBytes: u64,
27667 pub NumBottomLevelAccelerationStructurePointersAfterHeader: u64,
27668}
27669impl ::core::marker::Copy for D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {}
27670impl ::core::clone::Clone for D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {
27671 fn clone(&self) -> Self {
27672 *self
27673 }
27674}
27675impl ::core::fmt::Debug for D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {
27676 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27677 f.debug_struct("D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER").field("DriverMatchingIdentifier", &self.DriverMatchingIdentifier).field("SerializedSizeInBytesIncludingHeader", &self.SerializedSizeInBytesIncludingHeader).field("DeserializedSizeInBytes", &self.DeserializedSizeInBytes).field(name:"NumBottomLevelAccelerationStructurePointersAfterHeader", &self.NumBottomLevelAccelerationStructurePointersAfterHeader).finish()
27678 }
27679}
27680impl ::windows_core::TypeKind for D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {
27681 type TypeKind = ::windows_core::CopyType;
27682}
27683impl ::core::cmp::PartialEq for D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {
27684 fn eq(&self, other: &Self) -> bool {
27685 self.DriverMatchingIdentifier == other.DriverMatchingIdentifier && self.SerializedSizeInBytesIncludingHeader == other.SerializedSizeInBytesIncludingHeader && self.DeserializedSizeInBytes == other.DeserializedSizeInBytes && self.NumBottomLevelAccelerationStructurePointersAfterHeader == other.NumBottomLevelAccelerationStructurePointersAfterHeader
27686 }
27687}
27688impl ::core::cmp::Eq for D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {}
27689impl ::core::default::Default for D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {
27690 fn default() -> Self {
27691 unsafe { ::core::mem::zeroed() }
27692 }
27693}
27694#[repr(C)]
27695#[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
27696#[cfg(feature = "Win32_Graphics_Direct3D")]
27697pub struct D3D12_SHADER_BUFFER_DESC {
27698 pub Name: ::windows_core::PCSTR,
27699 pub Type: super::Direct3D::D3D_CBUFFER_TYPE,
27700 pub Variables: u32,
27701 pub Size: u32,
27702 pub uFlags: u32,
27703}
27704#[cfg(feature = "Win32_Graphics_Direct3D")]
27705impl ::core::marker::Copy for D3D12_SHADER_BUFFER_DESC {}
27706#[cfg(feature = "Win32_Graphics_Direct3D")]
27707impl ::core::clone::Clone for D3D12_SHADER_BUFFER_DESC {
27708 fn clone(&self) -> Self {
27709 *self
27710 }
27711}
27712#[cfg(feature = "Win32_Graphics_Direct3D")]
27713impl ::core::fmt::Debug for D3D12_SHADER_BUFFER_DESC {
27714 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27715 f.debug_struct("D3D12_SHADER_BUFFER_DESC").field("Name", &self.Name).field("Type", &self.Type).field("Variables", &self.Variables).field("Size", &self.Size).field(name:"uFlags", &self.uFlags).finish()
27716 }
27717}
27718#[cfg(feature = "Win32_Graphics_Direct3D")]
27719impl ::windows_core::TypeKind for D3D12_SHADER_BUFFER_DESC {
27720 type TypeKind = ::windows_core::CopyType;
27721}
27722#[cfg(feature = "Win32_Graphics_Direct3D")]
27723impl ::core::cmp::PartialEq for D3D12_SHADER_BUFFER_DESC {
27724 fn eq(&self, other: &Self) -> bool {
27725 self.Name == other.Name && self.Type == other.Type && self.Variables == other.Variables && self.Size == other.Size && self.uFlags == other.uFlags
27726 }
27727}
27728#[cfg(feature = "Win32_Graphics_Direct3D")]
27729impl ::core::cmp::Eq for D3D12_SHADER_BUFFER_DESC {}
27730#[cfg(feature = "Win32_Graphics_Direct3D")]
27731impl ::core::default::Default for D3D12_SHADER_BUFFER_DESC {
27732 fn default() -> Self {
27733 unsafe { ::core::mem::zeroed() }
27734 }
27735}
27736#[repr(C)]
27737pub struct D3D12_SHADER_BYTECODE {
27738 pub pShaderBytecode: *const ::core::ffi::c_void,
27739 pub BytecodeLength: usize,
27740}
27741impl ::core::marker::Copy for D3D12_SHADER_BYTECODE {}
27742impl ::core::clone::Clone for D3D12_SHADER_BYTECODE {
27743 fn clone(&self) -> Self {
27744 *self
27745 }
27746}
27747impl ::core::fmt::Debug for D3D12_SHADER_BYTECODE {
27748 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27749 f.debug_struct("D3D12_SHADER_BYTECODE").field("pShaderBytecode", &self.pShaderBytecode).field(name:"BytecodeLength", &self.BytecodeLength).finish()
27750 }
27751}
27752impl ::windows_core::TypeKind for D3D12_SHADER_BYTECODE {
27753 type TypeKind = ::windows_core::CopyType;
27754}
27755impl ::core::cmp::PartialEq for D3D12_SHADER_BYTECODE {
27756 fn eq(&self, other: &Self) -> bool {
27757 self.pShaderBytecode == other.pShaderBytecode && self.BytecodeLength == other.BytecodeLength
27758 }
27759}
27760impl ::core::cmp::Eq for D3D12_SHADER_BYTECODE {}
27761impl ::core::default::Default for D3D12_SHADER_BYTECODE {
27762 fn default() -> Self {
27763 unsafe { ::core::mem::zeroed() }
27764 }
27765}
27766#[repr(C)]
27767pub struct D3D12_SHADER_CACHE_SESSION_DESC {
27768 pub Identifier: ::windows_core::GUID,
27769 pub Mode: D3D12_SHADER_CACHE_MODE,
27770 pub Flags: D3D12_SHADER_CACHE_FLAGS,
27771 pub MaximumInMemoryCacheSizeBytes: u32,
27772 pub MaximumInMemoryCacheEntries: u32,
27773 pub MaximumValueFileSizeBytes: u32,
27774 pub Version: u64,
27775}
27776impl ::core::marker::Copy for D3D12_SHADER_CACHE_SESSION_DESC {}
27777impl ::core::clone::Clone for D3D12_SHADER_CACHE_SESSION_DESC {
27778 fn clone(&self) -> Self {
27779 *self
27780 }
27781}
27782impl ::core::fmt::Debug for D3D12_SHADER_CACHE_SESSION_DESC {
27783 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27784 f.debug_struct("D3D12_SHADER_CACHE_SESSION_DESC").field("Identifier", &self.Identifier).field("Mode", &self.Mode).field("Flags", &self.Flags).field("MaximumInMemoryCacheSizeBytes", &self.MaximumInMemoryCacheSizeBytes).field("MaximumInMemoryCacheEntries", &self.MaximumInMemoryCacheEntries).field("MaximumValueFileSizeBytes", &self.MaximumValueFileSizeBytes).field(name:"Version", &self.Version).finish()
27785 }
27786}
27787impl ::windows_core::TypeKind for D3D12_SHADER_CACHE_SESSION_DESC {
27788 type TypeKind = ::windows_core::CopyType;
27789}
27790impl ::core::cmp::PartialEq for D3D12_SHADER_CACHE_SESSION_DESC {
27791 fn eq(&self, other: &Self) -> bool {
27792 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
27793 }
27794}
27795impl ::core::cmp::Eq for D3D12_SHADER_CACHE_SESSION_DESC {}
27796impl ::core::default::Default for D3D12_SHADER_CACHE_SESSION_DESC {
27797 fn default() -> Self {
27798 unsafe { ::core::mem::zeroed() }
27799 }
27800}
27801#[repr(C)]
27802#[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
27803#[cfg(feature = "Win32_Graphics_Direct3D")]
27804pub struct D3D12_SHADER_DESC {
27805 pub Version: u32,
27806 pub Creator: ::windows_core::PCSTR,
27807 pub Flags: u32,
27808 pub ConstantBuffers: u32,
27809 pub BoundResources: u32,
27810 pub InputParameters: u32,
27811 pub OutputParameters: u32,
27812 pub InstructionCount: u32,
27813 pub TempRegisterCount: u32,
27814 pub TempArrayCount: u32,
27815 pub DefCount: u32,
27816 pub DclCount: u32,
27817 pub TextureNormalInstructions: u32,
27818 pub TextureLoadInstructions: u32,
27819 pub TextureCompInstructions: u32,
27820 pub TextureBiasInstructions: u32,
27821 pub TextureGradientInstructions: u32,
27822 pub FloatInstructionCount: u32,
27823 pub IntInstructionCount: u32,
27824 pub UintInstructionCount: u32,
27825 pub StaticFlowControlCount: u32,
27826 pub DynamicFlowControlCount: u32,
27827 pub MacroInstructionCount: u32,
27828 pub ArrayInstructionCount: u32,
27829 pub CutInstructionCount: u32,
27830 pub EmitInstructionCount: u32,
27831 pub GSOutputTopology: super::Direct3D::D3D_PRIMITIVE_TOPOLOGY,
27832 pub GSMaxOutputVertexCount: u32,
27833 pub InputPrimitive: super::Direct3D::D3D_PRIMITIVE,
27834 pub PatchConstantParameters: u32,
27835 pub cGSInstanceCount: u32,
27836 pub cControlPoints: u32,
27837 pub HSOutputPrimitive: super::Direct3D::D3D_TESSELLATOR_OUTPUT_PRIMITIVE,
27838 pub HSPartitioning: super::Direct3D::D3D_TESSELLATOR_PARTITIONING,
27839 pub TessellatorDomain: super::Direct3D::D3D_TESSELLATOR_DOMAIN,
27840 pub cBarrierInstructions: u32,
27841 pub cInterlockedInstructions: u32,
27842 pub cTextureStoreInstructions: u32,
27843}
27844#[cfg(feature = "Win32_Graphics_Direct3D")]
27845impl ::core::marker::Copy for D3D12_SHADER_DESC {}
27846#[cfg(feature = "Win32_Graphics_Direct3D")]
27847impl ::core::clone::Clone for D3D12_SHADER_DESC {
27848 fn clone(&self) -> Self {
27849 *self
27850 }
27851}
27852#[cfg(feature = "Win32_Graphics_Direct3D")]
27853impl ::core::fmt::Debug for D3D12_SHADER_DESC {
27854 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27855 f.debug_struct("D3D12_SHADER_DESC")
27856 .field("Version", &self.Version)
27857 .field("Creator", &self.Creator)
27858 .field("Flags", &self.Flags)
27859 .field("ConstantBuffers", &self.ConstantBuffers)
27860 .field("BoundResources", &self.BoundResources)
27861 .field("InputParameters", &self.InputParameters)
27862 .field("OutputParameters", &self.OutputParameters)
27863 .field("InstructionCount", &self.InstructionCount)
27864 .field("TempRegisterCount", &self.TempRegisterCount)
27865 .field("TempArrayCount", &self.TempArrayCount)
27866 .field("DefCount", &self.DefCount)
27867 .field("DclCount", &self.DclCount)
27868 .field("TextureNormalInstructions", &self.TextureNormalInstructions)
27869 .field("TextureLoadInstructions", &self.TextureLoadInstructions)
27870 .field("TextureCompInstructions", &self.TextureCompInstructions)
27871 .field("TextureBiasInstructions", &self.TextureBiasInstructions)
27872 .field("TextureGradientInstructions", &self.TextureGradientInstructions)
27873 .field("FloatInstructionCount", &self.FloatInstructionCount)
27874 .field("IntInstructionCount", &self.IntInstructionCount)
27875 .field("UintInstructionCount", &self.UintInstructionCount)
27876 .field("StaticFlowControlCount", &self.StaticFlowControlCount)
27877 .field("DynamicFlowControlCount", &self.DynamicFlowControlCount)
27878 .field("MacroInstructionCount", &self.MacroInstructionCount)
27879 .field("ArrayInstructionCount", &self.ArrayInstructionCount)
27880 .field("CutInstructionCount", &self.CutInstructionCount)
27881 .field("EmitInstructionCount", &self.EmitInstructionCount)
27882 .field("GSOutputTopology", &self.GSOutputTopology)
27883 .field("GSMaxOutputVertexCount", &self.GSMaxOutputVertexCount)
27884 .field("InputPrimitive", &self.InputPrimitive)
27885 .field("PatchConstantParameters", &self.PatchConstantParameters)
27886 .field("cGSInstanceCount", &self.cGSInstanceCount)
27887 .field("cControlPoints", &self.cControlPoints)
27888 .field("HSOutputPrimitive", &self.HSOutputPrimitive)
27889 .field("HSPartitioning", &self.HSPartitioning)
27890 .field("TessellatorDomain", &self.TessellatorDomain)
27891 .field("cBarrierInstructions", &self.cBarrierInstructions)
27892 .field("cInterlockedInstructions", &self.cInterlockedInstructions)
27893 .field("cTextureStoreInstructions", &self.cTextureStoreInstructions)
27894 .finish()
27895 }
27896}
27897#[cfg(feature = "Win32_Graphics_Direct3D")]
27898impl ::windows_core::TypeKind for D3D12_SHADER_DESC {
27899 type TypeKind = ::windows_core::CopyType;
27900}
27901#[cfg(feature = "Win32_Graphics_Direct3D")]
27902impl ::core::cmp::PartialEq for D3D12_SHADER_DESC {
27903 fn eq(&self, other: &Self) -> bool {
27904 self.Version == other.Version
27905 && self.Creator == other.Creator
27906 && self.Flags == other.Flags
27907 && self.ConstantBuffers == other.ConstantBuffers
27908 && self.BoundResources == other.BoundResources
27909 && self.InputParameters == other.InputParameters
27910 && self.OutputParameters == other.OutputParameters
27911 && self.InstructionCount == other.InstructionCount
27912 && self.TempRegisterCount == other.TempRegisterCount
27913 && self.TempArrayCount == other.TempArrayCount
27914 && self.DefCount == other.DefCount
27915 && self.DclCount == other.DclCount
27916 && self.TextureNormalInstructions == other.TextureNormalInstructions
27917 && self.TextureLoadInstructions == other.TextureLoadInstructions
27918 && self.TextureCompInstructions == other.TextureCompInstructions
27919 && self.TextureBiasInstructions == other.TextureBiasInstructions
27920 && self.TextureGradientInstructions == other.TextureGradientInstructions
27921 && self.FloatInstructionCount == other.FloatInstructionCount
27922 && self.IntInstructionCount == other.IntInstructionCount
27923 && self.UintInstructionCount == other.UintInstructionCount
27924 && self.StaticFlowControlCount == other.StaticFlowControlCount
27925 && self.DynamicFlowControlCount == other.DynamicFlowControlCount
27926 && self.MacroInstructionCount == other.MacroInstructionCount
27927 && self.ArrayInstructionCount == other.ArrayInstructionCount
27928 && self.CutInstructionCount == other.CutInstructionCount
27929 && self.EmitInstructionCount == other.EmitInstructionCount
27930 && self.GSOutputTopology == other.GSOutputTopology
27931 && self.GSMaxOutputVertexCount == other.GSMaxOutputVertexCount
27932 && self.InputPrimitive == other.InputPrimitive
27933 && self.PatchConstantParameters == other.PatchConstantParameters
27934 && self.cGSInstanceCount == other.cGSInstanceCount
27935 && self.cControlPoints == other.cControlPoints
27936 && self.HSOutputPrimitive == other.HSOutputPrimitive
27937 && self.HSPartitioning == other.HSPartitioning
27938 && self.TessellatorDomain == other.TessellatorDomain
27939 && self.cBarrierInstructions == other.cBarrierInstructions
27940 && self.cInterlockedInstructions == other.cInterlockedInstructions
27941 && self.cTextureStoreInstructions == other.cTextureStoreInstructions
27942 }
27943}
27944#[cfg(feature = "Win32_Graphics_Direct3D")]
27945impl ::core::cmp::Eq for D3D12_SHADER_DESC {}
27946#[cfg(feature = "Win32_Graphics_Direct3D")]
27947impl ::core::default::Default for D3D12_SHADER_DESC {
27948 fn default() -> Self {
27949 unsafe { ::core::mem::zeroed() }
27950 }
27951}
27952#[repr(C)]
27953#[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
27954#[cfg(feature = "Win32_Graphics_Direct3D")]
27955pub struct D3D12_SHADER_INPUT_BIND_DESC {
27956 pub Name: ::windows_core::PCSTR,
27957 pub Type: super::Direct3D::D3D_SHADER_INPUT_TYPE,
27958 pub BindPoint: u32,
27959 pub BindCount: u32,
27960 pub uFlags: u32,
27961 pub ReturnType: super::Direct3D::D3D_RESOURCE_RETURN_TYPE,
27962 pub Dimension: super::Direct3D::D3D_SRV_DIMENSION,
27963 pub NumSamples: u32,
27964 pub Space: u32,
27965 pub uID: u32,
27966}
27967#[cfg(feature = "Win32_Graphics_Direct3D")]
27968impl ::core::marker::Copy for D3D12_SHADER_INPUT_BIND_DESC {}
27969#[cfg(feature = "Win32_Graphics_Direct3D")]
27970impl ::core::clone::Clone for D3D12_SHADER_INPUT_BIND_DESC {
27971 fn clone(&self) -> Self {
27972 *self
27973 }
27974}
27975#[cfg(feature = "Win32_Graphics_Direct3D")]
27976impl ::core::fmt::Debug for D3D12_SHADER_INPUT_BIND_DESC {
27977 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
27978 f.debug_struct("D3D12_SHADER_INPUT_BIND_DESC").field("Name", &self.Name).field("Type", &self.Type).field("BindPoint", &self.BindPoint).field("BindCount", &self.BindCount).field("uFlags", &self.uFlags).field("ReturnType", &self.ReturnType).field("Dimension", &self.Dimension).field("NumSamples", &self.NumSamples).field("Space", &self.Space).field(name:"uID", &self.uID).finish()
27979 }
27980}
27981#[cfg(feature = "Win32_Graphics_Direct3D")]
27982impl ::windows_core::TypeKind for D3D12_SHADER_INPUT_BIND_DESC {
27983 type TypeKind = ::windows_core::CopyType;
27984}
27985#[cfg(feature = "Win32_Graphics_Direct3D")]
27986impl ::core::cmp::PartialEq for D3D12_SHADER_INPUT_BIND_DESC {
27987 fn eq(&self, other: &Self) -> bool {
27988 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
27989 }
27990}
27991#[cfg(feature = "Win32_Graphics_Direct3D")]
27992impl ::core::cmp::Eq for D3D12_SHADER_INPUT_BIND_DESC {}
27993#[cfg(feature = "Win32_Graphics_Direct3D")]
27994impl ::core::default::Default for D3D12_SHADER_INPUT_BIND_DESC {
27995 fn default() -> Self {
27996 unsafe { ::core::mem::zeroed() }
27997 }
27998}
27999#[repr(C)]
28000#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
28001#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28002pub struct D3D12_SHADER_RESOURCE_VIEW_DESC {
28003 pub Format: super::Dxgi::Common::DXGI_FORMAT,
28004 pub ViewDimension: D3D12_SRV_DIMENSION,
28005 pub Shader4ComponentMapping: u32,
28006 pub Anonymous: D3D12_SHADER_RESOURCE_VIEW_DESC_0,
28007}
28008#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28009impl ::core::marker::Copy for D3D12_SHADER_RESOURCE_VIEW_DESC {}
28010#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28011impl ::core::clone::Clone for D3D12_SHADER_RESOURCE_VIEW_DESC {
28012 fn clone(&self) -> Self {
28013 *self
28014 }
28015}
28016#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28017impl ::windows_core::TypeKind for D3D12_SHADER_RESOURCE_VIEW_DESC {
28018 type TypeKind = ::windows_core::CopyType;
28019}
28020#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28021impl ::core::default::Default for D3D12_SHADER_RESOURCE_VIEW_DESC {
28022 fn default() -> Self {
28023 unsafe { ::core::mem::zeroed() }
28024 }
28025}
28026#[repr(C)]
28027#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
28028#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28029pub union D3D12_SHADER_RESOURCE_VIEW_DESC_0 {
28030 pub Buffer: D3D12_BUFFER_SRV,
28031 pub Texture1D: D3D12_TEX1D_SRV,
28032 pub Texture1DArray: D3D12_TEX1D_ARRAY_SRV,
28033 pub Texture2D: D3D12_TEX2D_SRV,
28034 pub Texture2DArray: D3D12_TEX2D_ARRAY_SRV,
28035 pub Texture2DMS: D3D12_TEX2DMS_SRV,
28036 pub Texture2DMSArray: D3D12_TEX2DMS_ARRAY_SRV,
28037 pub Texture3D: D3D12_TEX3D_SRV,
28038 pub TextureCube: D3D12_TEXCUBE_SRV,
28039 pub TextureCubeArray: D3D12_TEXCUBE_ARRAY_SRV,
28040 pub RaytracingAccelerationStructure: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV,
28041}
28042#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28043impl ::core::marker::Copy for D3D12_SHADER_RESOURCE_VIEW_DESC_0 {}
28044#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28045impl ::core::clone::Clone for D3D12_SHADER_RESOURCE_VIEW_DESC_0 {
28046 fn clone(&self) -> Self {
28047 *self
28048 }
28049}
28050#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28051impl ::windows_core::TypeKind for D3D12_SHADER_RESOURCE_VIEW_DESC_0 {
28052 type TypeKind = ::windows_core::CopyType;
28053}
28054#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28055impl ::core::default::Default for D3D12_SHADER_RESOURCE_VIEW_DESC_0 {
28056 fn default() -> Self {
28057 unsafe { ::core::mem::zeroed() }
28058 }
28059}
28060#[repr(C)]
28061#[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
28062#[cfg(feature = "Win32_Graphics_Direct3D")]
28063pub struct D3D12_SHADER_TYPE_DESC {
28064 pub Class: super::Direct3D::D3D_SHADER_VARIABLE_CLASS,
28065 pub Type: super::Direct3D::D3D_SHADER_VARIABLE_TYPE,
28066 pub Rows: u32,
28067 pub Columns: u32,
28068 pub Elements: u32,
28069 pub Members: u32,
28070 pub Offset: u32,
28071 pub Name: ::windows_core::PCSTR,
28072}
28073#[cfg(feature = "Win32_Graphics_Direct3D")]
28074impl ::core::marker::Copy for D3D12_SHADER_TYPE_DESC {}
28075#[cfg(feature = "Win32_Graphics_Direct3D")]
28076impl ::core::clone::Clone for D3D12_SHADER_TYPE_DESC {
28077 fn clone(&self) -> Self {
28078 *self
28079 }
28080}
28081#[cfg(feature = "Win32_Graphics_Direct3D")]
28082impl ::core::fmt::Debug for D3D12_SHADER_TYPE_DESC {
28083 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28084 f.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:"Name", &self.Name).finish()
28085 }
28086}
28087#[cfg(feature = "Win32_Graphics_Direct3D")]
28088impl ::windows_core::TypeKind for D3D12_SHADER_TYPE_DESC {
28089 type TypeKind = ::windows_core::CopyType;
28090}
28091#[cfg(feature = "Win32_Graphics_Direct3D")]
28092impl ::core::cmp::PartialEq for D3D12_SHADER_TYPE_DESC {
28093 fn eq(&self, other: &Self) -> bool {
28094 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
28095 }
28096}
28097#[cfg(feature = "Win32_Graphics_Direct3D")]
28098impl ::core::cmp::Eq for D3D12_SHADER_TYPE_DESC {}
28099#[cfg(feature = "Win32_Graphics_Direct3D")]
28100impl ::core::default::Default for D3D12_SHADER_TYPE_DESC {
28101 fn default() -> Self {
28102 unsafe { ::core::mem::zeroed() }
28103 }
28104}
28105#[repr(C)]
28106pub struct D3D12_SHADER_VARIABLE_DESC {
28107 pub Name: ::windows_core::PCSTR,
28108 pub StartOffset: u32,
28109 pub Size: u32,
28110 pub uFlags: u32,
28111 pub DefaultValue: *mut ::core::ffi::c_void,
28112 pub StartTexture: u32,
28113 pub TextureSize: u32,
28114 pub StartSampler: u32,
28115 pub SamplerSize: u32,
28116}
28117impl ::core::marker::Copy for D3D12_SHADER_VARIABLE_DESC {}
28118impl ::core::clone::Clone for D3D12_SHADER_VARIABLE_DESC {
28119 fn clone(&self) -> Self {
28120 *self
28121 }
28122}
28123impl ::core::fmt::Debug for D3D12_SHADER_VARIABLE_DESC {
28124 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28125 f.debug_struct("D3D12_SHADER_VARIABLE_DESC").field("Name", &self.Name).field("StartOffset", &self.StartOffset).field("Size", &self.Size).field("uFlags", &self.uFlags).field("DefaultValue", &self.DefaultValue).field("StartTexture", &self.StartTexture).field("TextureSize", &self.TextureSize).field("StartSampler", &self.StartSampler).field(name:"SamplerSize", &self.SamplerSize).finish()
28126 }
28127}
28128impl ::windows_core::TypeKind for D3D12_SHADER_VARIABLE_DESC {
28129 type TypeKind = ::windows_core::CopyType;
28130}
28131impl ::core::cmp::PartialEq for D3D12_SHADER_VARIABLE_DESC {
28132 fn eq(&self, other: &Self) -> bool {
28133 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
28134 }
28135}
28136impl ::core::cmp::Eq for D3D12_SHADER_VARIABLE_DESC {}
28137impl ::core::default::Default for D3D12_SHADER_VARIABLE_DESC {
28138 fn default() -> Self {
28139 unsafe { ::core::mem::zeroed() }
28140 }
28141}
28142#[repr(C)]
28143#[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
28144#[cfg(feature = "Win32_Graphics_Direct3D")]
28145pub struct D3D12_SIGNATURE_PARAMETER_DESC {
28146 pub SemanticName: ::windows_core::PCSTR,
28147 pub SemanticIndex: u32,
28148 pub Register: u32,
28149 pub SystemValueType: super::Direct3D::D3D_NAME,
28150 pub ComponentType: super::Direct3D::D3D_REGISTER_COMPONENT_TYPE,
28151 pub Mask: u8,
28152 pub ReadWriteMask: u8,
28153 pub Stream: u32,
28154 pub MinPrecision: super::Direct3D::D3D_MIN_PRECISION,
28155}
28156#[cfg(feature = "Win32_Graphics_Direct3D")]
28157impl ::core::marker::Copy for D3D12_SIGNATURE_PARAMETER_DESC {}
28158#[cfg(feature = "Win32_Graphics_Direct3D")]
28159impl ::core::clone::Clone for D3D12_SIGNATURE_PARAMETER_DESC {
28160 fn clone(&self) -> Self {
28161 *self
28162 }
28163}
28164#[cfg(feature = "Win32_Graphics_Direct3D")]
28165impl ::core::fmt::Debug for D3D12_SIGNATURE_PARAMETER_DESC {
28166 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28167 f.debug_struct("D3D12_SIGNATURE_PARAMETER_DESC").field("SemanticName", &self.SemanticName).field("SemanticIndex", &self.SemanticIndex).field("Register", &self.Register).field("SystemValueType", &self.SystemValueType).field("ComponentType", &self.ComponentType).field("Mask", &self.Mask).field("ReadWriteMask", &self.ReadWriteMask).field("Stream", &self.Stream).field(name:"MinPrecision", &self.MinPrecision).finish()
28168 }
28169}
28170#[cfg(feature = "Win32_Graphics_Direct3D")]
28171impl ::windows_core::TypeKind for D3D12_SIGNATURE_PARAMETER_DESC {
28172 type TypeKind = ::windows_core::CopyType;
28173}
28174#[cfg(feature = "Win32_Graphics_Direct3D")]
28175impl ::core::cmp::PartialEq for D3D12_SIGNATURE_PARAMETER_DESC {
28176 fn eq(&self, other: &Self) -> bool {
28177 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
28178 }
28179}
28180#[cfg(feature = "Win32_Graphics_Direct3D")]
28181impl ::core::cmp::Eq for D3D12_SIGNATURE_PARAMETER_DESC {}
28182#[cfg(feature = "Win32_Graphics_Direct3D")]
28183impl ::core::default::Default for D3D12_SIGNATURE_PARAMETER_DESC {
28184 fn default() -> Self {
28185 unsafe { ::core::mem::zeroed() }
28186 }
28187}
28188#[repr(C)]
28189pub struct D3D12_SO_DECLARATION_ENTRY {
28190 pub Stream: u32,
28191 pub SemanticName: ::windows_core::PCSTR,
28192 pub SemanticIndex: u32,
28193 pub StartComponent: u8,
28194 pub ComponentCount: u8,
28195 pub OutputSlot: u8,
28196}
28197impl ::core::marker::Copy for D3D12_SO_DECLARATION_ENTRY {}
28198impl ::core::clone::Clone for D3D12_SO_DECLARATION_ENTRY {
28199 fn clone(&self) -> Self {
28200 *self
28201 }
28202}
28203impl ::core::fmt::Debug for D3D12_SO_DECLARATION_ENTRY {
28204 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28205 f.debug_struct("D3D12_SO_DECLARATION_ENTRY").field("Stream", &self.Stream).field("SemanticName", &self.SemanticName).field("SemanticIndex", &self.SemanticIndex).field("StartComponent", &self.StartComponent).field("ComponentCount", &self.ComponentCount).field(name:"OutputSlot", &self.OutputSlot).finish()
28206 }
28207}
28208impl ::windows_core::TypeKind for D3D12_SO_DECLARATION_ENTRY {
28209 type TypeKind = ::windows_core::CopyType;
28210}
28211impl ::core::cmp::PartialEq for D3D12_SO_DECLARATION_ENTRY {
28212 fn eq(&self, other: &Self) -> bool {
28213 self.Stream == other.Stream && self.SemanticName == other.SemanticName && self.SemanticIndex == other.SemanticIndex && self.StartComponent == other.StartComponent && self.ComponentCount == other.ComponentCount && self.OutputSlot == other.OutputSlot
28214 }
28215}
28216impl ::core::cmp::Eq for D3D12_SO_DECLARATION_ENTRY {}
28217impl ::core::default::Default for D3D12_SO_DECLARATION_ENTRY {
28218 fn default() -> Self {
28219 unsafe { ::core::mem::zeroed() }
28220 }
28221}
28222#[repr(C)]
28223pub struct D3D12_STATE_OBJECT_CONFIG {
28224 pub Flags: D3D12_STATE_OBJECT_FLAGS,
28225}
28226impl ::core::marker::Copy for D3D12_STATE_OBJECT_CONFIG {}
28227impl ::core::clone::Clone for D3D12_STATE_OBJECT_CONFIG {
28228 fn clone(&self) -> Self {
28229 *self
28230 }
28231}
28232impl ::core::fmt::Debug for D3D12_STATE_OBJECT_CONFIG {
28233 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28234 f.debug_struct("D3D12_STATE_OBJECT_CONFIG").field(name:"Flags", &self.Flags).finish()
28235 }
28236}
28237impl ::windows_core::TypeKind for D3D12_STATE_OBJECT_CONFIG {
28238 type TypeKind = ::windows_core::CopyType;
28239}
28240impl ::core::cmp::PartialEq for D3D12_STATE_OBJECT_CONFIG {
28241 fn eq(&self, other: &Self) -> bool {
28242 self.Flags == other.Flags
28243 }
28244}
28245impl ::core::cmp::Eq for D3D12_STATE_OBJECT_CONFIG {}
28246impl ::core::default::Default for D3D12_STATE_OBJECT_CONFIG {
28247 fn default() -> Self {
28248 unsafe { ::core::mem::zeroed() }
28249 }
28250}
28251#[repr(C)]
28252pub struct D3D12_STATE_OBJECT_DESC {
28253 pub Type: D3D12_STATE_OBJECT_TYPE,
28254 pub NumSubobjects: u32,
28255 pub pSubobjects: *const D3D12_STATE_SUBOBJECT,
28256}
28257impl ::core::marker::Copy for D3D12_STATE_OBJECT_DESC {}
28258impl ::core::clone::Clone for D3D12_STATE_OBJECT_DESC {
28259 fn clone(&self) -> Self {
28260 *self
28261 }
28262}
28263impl ::core::fmt::Debug for D3D12_STATE_OBJECT_DESC {
28264 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28265 f.debug_struct("D3D12_STATE_OBJECT_DESC").field("Type", &self.Type).field("NumSubobjects", &self.NumSubobjects).field(name:"pSubobjects", &self.pSubobjects).finish()
28266 }
28267}
28268impl ::windows_core::TypeKind for D3D12_STATE_OBJECT_DESC {
28269 type TypeKind = ::windows_core::CopyType;
28270}
28271impl ::core::cmp::PartialEq for D3D12_STATE_OBJECT_DESC {
28272 fn eq(&self, other: &Self) -> bool {
28273 self.Type == other.Type && self.NumSubobjects == other.NumSubobjects && self.pSubobjects == other.pSubobjects
28274 }
28275}
28276impl ::core::cmp::Eq for D3D12_STATE_OBJECT_DESC {}
28277impl ::core::default::Default for D3D12_STATE_OBJECT_DESC {
28278 fn default() -> Self {
28279 unsafe { ::core::mem::zeroed() }
28280 }
28281}
28282#[repr(C)]
28283pub struct D3D12_STATE_SUBOBJECT {
28284 pub Type: D3D12_STATE_SUBOBJECT_TYPE,
28285 pub pDesc: *const ::core::ffi::c_void,
28286}
28287impl ::core::marker::Copy for D3D12_STATE_SUBOBJECT {}
28288impl ::core::clone::Clone for D3D12_STATE_SUBOBJECT {
28289 fn clone(&self) -> Self {
28290 *self
28291 }
28292}
28293impl ::core::fmt::Debug for D3D12_STATE_SUBOBJECT {
28294 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28295 f.debug_struct("D3D12_STATE_SUBOBJECT").field("Type", &self.Type).field(name:"pDesc", &self.pDesc).finish()
28296 }
28297}
28298impl ::windows_core::TypeKind for D3D12_STATE_SUBOBJECT {
28299 type TypeKind = ::windows_core::CopyType;
28300}
28301impl ::core::cmp::PartialEq for D3D12_STATE_SUBOBJECT {
28302 fn eq(&self, other: &Self) -> bool {
28303 self.Type == other.Type && self.pDesc == other.pDesc
28304 }
28305}
28306impl ::core::cmp::Eq for D3D12_STATE_SUBOBJECT {}
28307impl ::core::default::Default for D3D12_STATE_SUBOBJECT {
28308 fn default() -> Self {
28309 unsafe { ::core::mem::zeroed() }
28310 }
28311}
28312#[repr(C)]
28313pub struct D3D12_STATIC_SAMPLER_DESC {
28314 pub Filter: D3D12_FILTER,
28315 pub AddressU: D3D12_TEXTURE_ADDRESS_MODE,
28316 pub AddressV: D3D12_TEXTURE_ADDRESS_MODE,
28317 pub AddressW: D3D12_TEXTURE_ADDRESS_MODE,
28318 pub MipLODBias: f32,
28319 pub MaxAnisotropy: u32,
28320 pub ComparisonFunc: D3D12_COMPARISON_FUNC,
28321 pub BorderColor: D3D12_STATIC_BORDER_COLOR,
28322 pub MinLOD: f32,
28323 pub MaxLOD: f32,
28324 pub ShaderRegister: u32,
28325 pub RegisterSpace: u32,
28326 pub ShaderVisibility: D3D12_SHADER_VISIBILITY,
28327}
28328impl ::core::marker::Copy for D3D12_STATIC_SAMPLER_DESC {}
28329impl ::core::clone::Clone for D3D12_STATIC_SAMPLER_DESC {
28330 fn clone(&self) -> Self {
28331 *self
28332 }
28333}
28334impl ::core::fmt::Debug for D3D12_STATIC_SAMPLER_DESC {
28335 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28336 f&mut DebugStruct<'_, '_>.debug_struct("D3D12_STATIC_SAMPLER_DESC")
28337 .field("Filter", &self.Filter)
28338 .field("AddressU", &self.AddressU)
28339 .field("AddressV", &self.AddressV)
28340 .field("AddressW", &self.AddressW)
28341 .field("MipLODBias", &self.MipLODBias)
28342 .field("MaxAnisotropy", &self.MaxAnisotropy)
28343 .field("ComparisonFunc", &self.ComparisonFunc)
28344 .field("BorderColor", &self.BorderColor)
28345 .field("MinLOD", &self.MinLOD)
28346 .field("MaxLOD", &self.MaxLOD)
28347 .field("ShaderRegister", &self.ShaderRegister)
28348 .field("RegisterSpace", &self.RegisterSpace)
28349 .field(name:"ShaderVisibility", &self.ShaderVisibility)
28350 .finish()
28351 }
28352}
28353impl ::windows_core::TypeKind for D3D12_STATIC_SAMPLER_DESC {
28354 type TypeKind = ::windows_core::CopyType;
28355}
28356impl ::core::cmp::PartialEq for D3D12_STATIC_SAMPLER_DESC {
28357 fn eq(&self, other: &Self) -> bool {
28358 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 && self.ShaderRegister == other.ShaderRegister && self.RegisterSpace == other.RegisterSpace && self.ShaderVisibility == other.ShaderVisibility
28359 }
28360}
28361impl ::core::cmp::Eq for D3D12_STATIC_SAMPLER_DESC {}
28362impl ::core::default::Default for D3D12_STATIC_SAMPLER_DESC {
28363 fn default() -> Self {
28364 unsafe { ::core::mem::zeroed() }
28365 }
28366}
28367#[repr(C)]
28368pub struct D3D12_STATIC_SAMPLER_DESC1 {
28369 pub Filter: D3D12_FILTER,
28370 pub AddressU: D3D12_TEXTURE_ADDRESS_MODE,
28371 pub AddressV: D3D12_TEXTURE_ADDRESS_MODE,
28372 pub AddressW: D3D12_TEXTURE_ADDRESS_MODE,
28373 pub MipLODBias: f32,
28374 pub MaxAnisotropy: u32,
28375 pub ComparisonFunc: D3D12_COMPARISON_FUNC,
28376 pub BorderColor: D3D12_STATIC_BORDER_COLOR,
28377 pub MinLOD: f32,
28378 pub MaxLOD: f32,
28379 pub ShaderRegister: u32,
28380 pub RegisterSpace: u32,
28381 pub ShaderVisibility: D3D12_SHADER_VISIBILITY,
28382 pub Flags: D3D12_SAMPLER_FLAGS,
28383}
28384impl ::core::marker::Copy for D3D12_STATIC_SAMPLER_DESC1 {}
28385impl ::core::clone::Clone for D3D12_STATIC_SAMPLER_DESC1 {
28386 fn clone(&self) -> Self {
28387 *self
28388 }
28389}
28390impl ::core::fmt::Debug for D3D12_STATIC_SAMPLER_DESC1 {
28391 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28392 f&mut DebugStruct<'_, '_>.debug_struct("D3D12_STATIC_SAMPLER_DESC1")
28393 .field("Filter", &self.Filter)
28394 .field("AddressU", &self.AddressU)
28395 .field("AddressV", &self.AddressV)
28396 .field("AddressW", &self.AddressW)
28397 .field("MipLODBias", &self.MipLODBias)
28398 .field("MaxAnisotropy", &self.MaxAnisotropy)
28399 .field("ComparisonFunc", &self.ComparisonFunc)
28400 .field("BorderColor", &self.BorderColor)
28401 .field("MinLOD", &self.MinLOD)
28402 .field("MaxLOD", &self.MaxLOD)
28403 .field("ShaderRegister", &self.ShaderRegister)
28404 .field("RegisterSpace", &self.RegisterSpace)
28405 .field("ShaderVisibility", &self.ShaderVisibility)
28406 .field(name:"Flags", &self.Flags)
28407 .finish()
28408 }
28409}
28410impl ::windows_core::TypeKind for D3D12_STATIC_SAMPLER_DESC1 {
28411 type TypeKind = ::windows_core::CopyType;
28412}
28413impl ::core::cmp::PartialEq for D3D12_STATIC_SAMPLER_DESC1 {
28414 fn eq(&self, other: &Self) -> bool {
28415 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 && self.ShaderRegister == other.ShaderRegister && self.RegisterSpace == other.RegisterSpace && self.ShaderVisibility == other.ShaderVisibility && self.Flags == other.Flags
28416 }
28417}
28418impl ::core::cmp::Eq for D3D12_STATIC_SAMPLER_DESC1 {}
28419impl ::core::default::Default for D3D12_STATIC_SAMPLER_DESC1 {
28420 fn default() -> Self {
28421 unsafe { ::core::mem::zeroed() }
28422 }
28423}
28424#[repr(C)]
28425pub struct D3D12_STREAM_OUTPUT_BUFFER_VIEW {
28426 pub BufferLocation: u64,
28427 pub SizeInBytes: u64,
28428 pub BufferFilledSizeLocation: u64,
28429}
28430impl ::core::marker::Copy for D3D12_STREAM_OUTPUT_BUFFER_VIEW {}
28431impl ::core::clone::Clone for D3D12_STREAM_OUTPUT_BUFFER_VIEW {
28432 fn clone(&self) -> Self {
28433 *self
28434 }
28435}
28436impl ::core::fmt::Debug for D3D12_STREAM_OUTPUT_BUFFER_VIEW {
28437 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28438 f.debug_struct("D3D12_STREAM_OUTPUT_BUFFER_VIEW").field("BufferLocation", &self.BufferLocation).field("SizeInBytes", &self.SizeInBytes).field(name:"BufferFilledSizeLocation", &self.BufferFilledSizeLocation).finish()
28439 }
28440}
28441impl ::windows_core::TypeKind for D3D12_STREAM_OUTPUT_BUFFER_VIEW {
28442 type TypeKind = ::windows_core::CopyType;
28443}
28444impl ::core::cmp::PartialEq for D3D12_STREAM_OUTPUT_BUFFER_VIEW {
28445 fn eq(&self, other: &Self) -> bool {
28446 self.BufferLocation == other.BufferLocation && self.SizeInBytes == other.SizeInBytes && self.BufferFilledSizeLocation == other.BufferFilledSizeLocation
28447 }
28448}
28449impl ::core::cmp::Eq for D3D12_STREAM_OUTPUT_BUFFER_VIEW {}
28450impl ::core::default::Default for D3D12_STREAM_OUTPUT_BUFFER_VIEW {
28451 fn default() -> Self {
28452 unsafe { ::core::mem::zeroed() }
28453 }
28454}
28455#[repr(C)]
28456pub struct D3D12_STREAM_OUTPUT_DESC {
28457 pub pSODeclaration: *const D3D12_SO_DECLARATION_ENTRY,
28458 pub NumEntries: u32,
28459 pub pBufferStrides: *const u32,
28460 pub NumStrides: u32,
28461 pub RasterizedStream: u32,
28462}
28463impl ::core::marker::Copy for D3D12_STREAM_OUTPUT_DESC {}
28464impl ::core::clone::Clone for D3D12_STREAM_OUTPUT_DESC {
28465 fn clone(&self) -> Self {
28466 *self
28467 }
28468}
28469impl ::core::fmt::Debug for D3D12_STREAM_OUTPUT_DESC {
28470 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28471 f.debug_struct("D3D12_STREAM_OUTPUT_DESC").field("pSODeclaration", &self.pSODeclaration).field("NumEntries", &self.NumEntries).field("pBufferStrides", &self.pBufferStrides).field("NumStrides", &self.NumStrides).field(name:"RasterizedStream", &self.RasterizedStream).finish()
28472 }
28473}
28474impl ::windows_core::TypeKind for D3D12_STREAM_OUTPUT_DESC {
28475 type TypeKind = ::windows_core::CopyType;
28476}
28477impl ::core::cmp::PartialEq for D3D12_STREAM_OUTPUT_DESC {
28478 fn eq(&self, other: &Self) -> bool {
28479 self.pSODeclaration == other.pSODeclaration && self.NumEntries == other.NumEntries && self.pBufferStrides == other.pBufferStrides && self.NumStrides == other.NumStrides && self.RasterizedStream == other.RasterizedStream
28480 }
28481}
28482impl ::core::cmp::Eq for D3D12_STREAM_OUTPUT_DESC {}
28483impl ::core::default::Default for D3D12_STREAM_OUTPUT_DESC {
28484 fn default() -> Self {
28485 unsafe { ::core::mem::zeroed() }
28486 }
28487}
28488#[repr(C)]
28489pub struct D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
28490 pub pSubobjectToAssociate: *const D3D12_STATE_SUBOBJECT,
28491 pub NumExports: u32,
28492 pub pExports: *const ::windows_core::PCWSTR,
28493}
28494impl ::core::marker::Copy for D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {}
28495impl ::core::clone::Clone for D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
28496 fn clone(&self) -> Self {
28497 *self
28498 }
28499}
28500impl ::core::fmt::Debug for D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
28501 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28502 f.debug_struct("D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION").field("pSubobjectToAssociate", &self.pSubobjectToAssociate).field("NumExports", &self.NumExports).field(name:"pExports", &self.pExports).finish()
28503 }
28504}
28505impl ::windows_core::TypeKind for D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
28506 type TypeKind = ::windows_core::CopyType;
28507}
28508impl ::core::cmp::PartialEq for D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
28509 fn eq(&self, other: &Self) -> bool {
28510 self.pSubobjectToAssociate == other.pSubobjectToAssociate && self.NumExports == other.NumExports && self.pExports == other.pExports
28511 }
28512}
28513impl ::core::cmp::Eq for D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {}
28514impl ::core::default::Default for D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
28515 fn default() -> Self {
28516 unsafe { ::core::mem::zeroed() }
28517 }
28518}
28519#[repr(C)]
28520pub struct D3D12_SUBRESOURCE_DATA {
28521 pub pData: *const ::core::ffi::c_void,
28522 pub RowPitch: isize,
28523 pub SlicePitch: isize,
28524}
28525impl ::core::marker::Copy for D3D12_SUBRESOURCE_DATA {}
28526impl ::core::clone::Clone for D3D12_SUBRESOURCE_DATA {
28527 fn clone(&self) -> Self {
28528 *self
28529 }
28530}
28531impl ::core::fmt::Debug for D3D12_SUBRESOURCE_DATA {
28532 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28533 f.debug_struct("D3D12_SUBRESOURCE_DATA").field("pData", &self.pData).field("RowPitch", &self.RowPitch).field(name:"SlicePitch", &self.SlicePitch).finish()
28534 }
28535}
28536impl ::windows_core::TypeKind for D3D12_SUBRESOURCE_DATA {
28537 type TypeKind = ::windows_core::CopyType;
28538}
28539impl ::core::cmp::PartialEq for D3D12_SUBRESOURCE_DATA {
28540 fn eq(&self, other: &Self) -> bool {
28541 self.pData == other.pData && self.RowPitch == other.RowPitch && self.SlicePitch == other.SlicePitch
28542 }
28543}
28544impl ::core::cmp::Eq for D3D12_SUBRESOURCE_DATA {}
28545impl ::core::default::Default for D3D12_SUBRESOURCE_DATA {
28546 fn default() -> Self {
28547 unsafe { ::core::mem::zeroed() }
28548 }
28549}
28550#[repr(C)]
28551#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
28552#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28553pub struct D3D12_SUBRESOURCE_FOOTPRINT {
28554 pub Format: super::Dxgi::Common::DXGI_FORMAT,
28555 pub Width: u32,
28556 pub Height: u32,
28557 pub Depth: u32,
28558 pub RowPitch: u32,
28559}
28560#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28561impl ::core::marker::Copy for D3D12_SUBRESOURCE_FOOTPRINT {}
28562#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28563impl ::core::clone::Clone for D3D12_SUBRESOURCE_FOOTPRINT {
28564 fn clone(&self) -> Self {
28565 *self
28566 }
28567}
28568#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28569impl ::core::fmt::Debug for D3D12_SUBRESOURCE_FOOTPRINT {
28570 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28571 f.debug_struct("D3D12_SUBRESOURCE_FOOTPRINT").field("Format", &self.Format).field("Width", &self.Width).field("Height", &self.Height).field("Depth", &self.Depth).field(name:"RowPitch", &self.RowPitch).finish()
28572 }
28573}
28574#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28575impl ::windows_core::TypeKind for D3D12_SUBRESOURCE_FOOTPRINT {
28576 type TypeKind = ::windows_core::CopyType;
28577}
28578#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28579impl ::core::cmp::PartialEq for D3D12_SUBRESOURCE_FOOTPRINT {
28580 fn eq(&self, other: &Self) -> bool {
28581 self.Format == other.Format && self.Width == other.Width && self.Height == other.Height && self.Depth == other.Depth && self.RowPitch == other.RowPitch
28582 }
28583}
28584#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28585impl ::core::cmp::Eq for D3D12_SUBRESOURCE_FOOTPRINT {}
28586#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
28587impl ::core::default::Default for D3D12_SUBRESOURCE_FOOTPRINT {
28588 fn default() -> Self {
28589 unsafe { ::core::mem::zeroed() }
28590 }
28591}
28592#[repr(C)]
28593pub struct D3D12_SUBRESOURCE_INFO {
28594 pub Offset: u64,
28595 pub RowPitch: u32,
28596 pub DepthPitch: u32,
28597}
28598impl ::core::marker::Copy for D3D12_SUBRESOURCE_INFO {}
28599impl ::core::clone::Clone for D3D12_SUBRESOURCE_INFO {
28600 fn clone(&self) -> Self {
28601 *self
28602 }
28603}
28604impl ::core::fmt::Debug for D3D12_SUBRESOURCE_INFO {
28605 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28606 f.debug_struct("D3D12_SUBRESOURCE_INFO").field("Offset", &self.Offset).field("RowPitch", &self.RowPitch).field(name:"DepthPitch", &self.DepthPitch).finish()
28607 }
28608}
28609impl ::windows_core::TypeKind for D3D12_SUBRESOURCE_INFO {
28610 type TypeKind = ::windows_core::CopyType;
28611}
28612impl ::core::cmp::PartialEq for D3D12_SUBRESOURCE_INFO {
28613 fn eq(&self, other: &Self) -> bool {
28614 self.Offset == other.Offset && self.RowPitch == other.RowPitch && self.DepthPitch == other.DepthPitch
28615 }
28616}
28617impl ::core::cmp::Eq for D3D12_SUBRESOURCE_INFO {}
28618impl ::core::default::Default for D3D12_SUBRESOURCE_INFO {
28619 fn default() -> Self {
28620 unsafe { ::core::mem::zeroed() }
28621 }
28622}
28623#[repr(C)]
28624pub struct D3D12_SUBRESOURCE_RANGE_UINT64 {
28625 pub Subresource: u32,
28626 pub Range: D3D12_RANGE_UINT64,
28627}
28628impl ::core::marker::Copy for D3D12_SUBRESOURCE_RANGE_UINT64 {}
28629impl ::core::clone::Clone for D3D12_SUBRESOURCE_RANGE_UINT64 {
28630 fn clone(&self) -> Self {
28631 *self
28632 }
28633}
28634impl ::core::fmt::Debug for D3D12_SUBRESOURCE_RANGE_UINT64 {
28635 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28636 f.debug_struct("D3D12_SUBRESOURCE_RANGE_UINT64").field("Subresource", &self.Subresource).field(name:"Range", &self.Range).finish()
28637 }
28638}
28639impl ::windows_core::TypeKind for D3D12_SUBRESOURCE_RANGE_UINT64 {
28640 type TypeKind = ::windows_core::CopyType;
28641}
28642impl ::core::cmp::PartialEq for D3D12_SUBRESOURCE_RANGE_UINT64 {
28643 fn eq(&self, other: &Self) -> bool {
28644 self.Subresource == other.Subresource && self.Range == other.Range
28645 }
28646}
28647impl ::core::cmp::Eq for D3D12_SUBRESOURCE_RANGE_UINT64 {}
28648impl ::core::default::Default for D3D12_SUBRESOURCE_RANGE_UINT64 {
28649 fn default() -> Self {
28650 unsafe { ::core::mem::zeroed() }
28651 }
28652}
28653#[repr(C)]
28654pub struct D3D12_SUBRESOURCE_TILING {
28655 pub WidthInTiles: u32,
28656 pub HeightInTiles: u16,
28657 pub DepthInTiles: u16,
28658 pub StartTileIndexInOverallResource: u32,
28659}
28660impl ::core::marker::Copy for D3D12_SUBRESOURCE_TILING {}
28661impl ::core::clone::Clone for D3D12_SUBRESOURCE_TILING {
28662 fn clone(&self) -> Self {
28663 *self
28664 }
28665}
28666impl ::core::fmt::Debug for D3D12_SUBRESOURCE_TILING {
28667 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28668 f.debug_struct("D3D12_SUBRESOURCE_TILING").field("WidthInTiles", &self.WidthInTiles).field("HeightInTiles", &self.HeightInTiles).field("DepthInTiles", &self.DepthInTiles).field(name:"StartTileIndexInOverallResource", &self.StartTileIndexInOverallResource).finish()
28669 }
28670}
28671impl ::windows_core::TypeKind for D3D12_SUBRESOURCE_TILING {
28672 type TypeKind = ::windows_core::CopyType;
28673}
28674impl ::core::cmp::PartialEq for D3D12_SUBRESOURCE_TILING {
28675 fn eq(&self, other: &Self) -> bool {
28676 self.WidthInTiles == other.WidthInTiles && self.HeightInTiles == other.HeightInTiles && self.DepthInTiles == other.DepthInTiles && self.StartTileIndexInOverallResource == other.StartTileIndexInOverallResource
28677 }
28678}
28679impl ::core::cmp::Eq for D3D12_SUBRESOURCE_TILING {}
28680impl ::core::default::Default for D3D12_SUBRESOURCE_TILING {
28681 fn default() -> Self {
28682 unsafe { ::core::mem::zeroed() }
28683 }
28684}
28685#[repr(C)]
28686pub struct D3D12_TEX1D_ARRAY_DSV {
28687 pub MipSlice: u32,
28688 pub FirstArraySlice: u32,
28689 pub ArraySize: u32,
28690}
28691impl ::core::marker::Copy for D3D12_TEX1D_ARRAY_DSV {}
28692impl ::core::clone::Clone for D3D12_TEX1D_ARRAY_DSV {
28693 fn clone(&self) -> Self {
28694 *self
28695 }
28696}
28697impl ::core::fmt::Debug for D3D12_TEX1D_ARRAY_DSV {
28698 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28699 f.debug_struct("D3D12_TEX1D_ARRAY_DSV").field("MipSlice", &self.MipSlice).field("FirstArraySlice", &self.FirstArraySlice).field(name:"ArraySize", &self.ArraySize).finish()
28700 }
28701}
28702impl ::windows_core::TypeKind for D3D12_TEX1D_ARRAY_DSV {
28703 type TypeKind = ::windows_core::CopyType;
28704}
28705impl ::core::cmp::PartialEq for D3D12_TEX1D_ARRAY_DSV {
28706 fn eq(&self, other: &Self) -> bool {
28707 self.MipSlice == other.MipSlice && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize
28708 }
28709}
28710impl ::core::cmp::Eq for D3D12_TEX1D_ARRAY_DSV {}
28711impl ::core::default::Default for D3D12_TEX1D_ARRAY_DSV {
28712 fn default() -> Self {
28713 unsafe { ::core::mem::zeroed() }
28714 }
28715}
28716#[repr(C)]
28717pub struct D3D12_TEX1D_ARRAY_RTV {
28718 pub MipSlice: u32,
28719 pub FirstArraySlice: u32,
28720 pub ArraySize: u32,
28721}
28722impl ::core::marker::Copy for D3D12_TEX1D_ARRAY_RTV {}
28723impl ::core::clone::Clone for D3D12_TEX1D_ARRAY_RTV {
28724 fn clone(&self) -> Self {
28725 *self
28726 }
28727}
28728impl ::core::fmt::Debug for D3D12_TEX1D_ARRAY_RTV {
28729 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28730 f.debug_struct("D3D12_TEX1D_ARRAY_RTV").field("MipSlice", &self.MipSlice).field("FirstArraySlice", &self.FirstArraySlice).field(name:"ArraySize", &self.ArraySize).finish()
28731 }
28732}
28733impl ::windows_core::TypeKind for D3D12_TEX1D_ARRAY_RTV {
28734 type TypeKind = ::windows_core::CopyType;
28735}
28736impl ::core::cmp::PartialEq for D3D12_TEX1D_ARRAY_RTV {
28737 fn eq(&self, other: &Self) -> bool {
28738 self.MipSlice == other.MipSlice && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize
28739 }
28740}
28741impl ::core::cmp::Eq for D3D12_TEX1D_ARRAY_RTV {}
28742impl ::core::default::Default for D3D12_TEX1D_ARRAY_RTV {
28743 fn default() -> Self {
28744 unsafe { ::core::mem::zeroed() }
28745 }
28746}
28747#[repr(C)]
28748pub struct D3D12_TEX1D_ARRAY_SRV {
28749 pub MostDetailedMip: u32,
28750 pub MipLevels: u32,
28751 pub FirstArraySlice: u32,
28752 pub ArraySize: u32,
28753 pub ResourceMinLODClamp: f32,
28754}
28755impl ::core::marker::Copy for D3D12_TEX1D_ARRAY_SRV {}
28756impl ::core::clone::Clone for D3D12_TEX1D_ARRAY_SRV {
28757 fn clone(&self) -> Self {
28758 *self
28759 }
28760}
28761impl ::core::fmt::Debug for D3D12_TEX1D_ARRAY_SRV {
28762 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28763 f.debug_struct("D3D12_TEX1D_ARRAY_SRV").field("MostDetailedMip", &self.MostDetailedMip).field("MipLevels", &self.MipLevels).field("FirstArraySlice", &self.FirstArraySlice).field("ArraySize", &self.ArraySize).field(name:"ResourceMinLODClamp", &self.ResourceMinLODClamp).finish()
28764 }
28765}
28766impl ::windows_core::TypeKind for D3D12_TEX1D_ARRAY_SRV {
28767 type TypeKind = ::windows_core::CopyType;
28768}
28769impl ::core::cmp::PartialEq for D3D12_TEX1D_ARRAY_SRV {
28770 fn eq(&self, other: &Self) -> bool {
28771 self.MostDetailedMip == other.MostDetailedMip && self.MipLevels == other.MipLevels && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize && self.ResourceMinLODClamp == other.ResourceMinLODClamp
28772 }
28773}
28774impl ::core::cmp::Eq for D3D12_TEX1D_ARRAY_SRV {}
28775impl ::core::default::Default for D3D12_TEX1D_ARRAY_SRV {
28776 fn default() -> Self {
28777 unsafe { ::core::mem::zeroed() }
28778 }
28779}
28780#[repr(C)]
28781pub struct D3D12_TEX1D_ARRAY_UAV {
28782 pub MipSlice: u32,
28783 pub FirstArraySlice: u32,
28784 pub ArraySize: u32,
28785}
28786impl ::core::marker::Copy for D3D12_TEX1D_ARRAY_UAV {}
28787impl ::core::clone::Clone for D3D12_TEX1D_ARRAY_UAV {
28788 fn clone(&self) -> Self {
28789 *self
28790 }
28791}
28792impl ::core::fmt::Debug for D3D12_TEX1D_ARRAY_UAV {
28793 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28794 f.debug_struct("D3D12_TEX1D_ARRAY_UAV").field("MipSlice", &self.MipSlice).field("FirstArraySlice", &self.FirstArraySlice).field(name:"ArraySize", &self.ArraySize).finish()
28795 }
28796}
28797impl ::windows_core::TypeKind for D3D12_TEX1D_ARRAY_UAV {
28798 type TypeKind = ::windows_core::CopyType;
28799}
28800impl ::core::cmp::PartialEq for D3D12_TEX1D_ARRAY_UAV {
28801 fn eq(&self, other: &Self) -> bool {
28802 self.MipSlice == other.MipSlice && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize
28803 }
28804}
28805impl ::core::cmp::Eq for D3D12_TEX1D_ARRAY_UAV {}
28806impl ::core::default::Default for D3D12_TEX1D_ARRAY_UAV {
28807 fn default() -> Self {
28808 unsafe { ::core::mem::zeroed() }
28809 }
28810}
28811#[repr(C)]
28812pub struct D3D12_TEX1D_DSV {
28813 pub MipSlice: u32,
28814}
28815impl ::core::marker::Copy for D3D12_TEX1D_DSV {}
28816impl ::core::clone::Clone for D3D12_TEX1D_DSV {
28817 fn clone(&self) -> Self {
28818 *self
28819 }
28820}
28821impl ::core::fmt::Debug for D3D12_TEX1D_DSV {
28822 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28823 f.debug_struct("D3D12_TEX1D_DSV").field(name:"MipSlice", &self.MipSlice).finish()
28824 }
28825}
28826impl ::windows_core::TypeKind for D3D12_TEX1D_DSV {
28827 type TypeKind = ::windows_core::CopyType;
28828}
28829impl ::core::cmp::PartialEq for D3D12_TEX1D_DSV {
28830 fn eq(&self, other: &Self) -> bool {
28831 self.MipSlice == other.MipSlice
28832 }
28833}
28834impl ::core::cmp::Eq for D3D12_TEX1D_DSV {}
28835impl ::core::default::Default for D3D12_TEX1D_DSV {
28836 fn default() -> Self {
28837 unsafe { ::core::mem::zeroed() }
28838 }
28839}
28840#[repr(C)]
28841pub struct D3D12_TEX1D_RTV {
28842 pub MipSlice: u32,
28843}
28844impl ::core::marker::Copy for D3D12_TEX1D_RTV {}
28845impl ::core::clone::Clone for D3D12_TEX1D_RTV {
28846 fn clone(&self) -> Self {
28847 *self
28848 }
28849}
28850impl ::core::fmt::Debug for D3D12_TEX1D_RTV {
28851 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28852 f.debug_struct("D3D12_TEX1D_RTV").field(name:"MipSlice", &self.MipSlice).finish()
28853 }
28854}
28855impl ::windows_core::TypeKind for D3D12_TEX1D_RTV {
28856 type TypeKind = ::windows_core::CopyType;
28857}
28858impl ::core::cmp::PartialEq for D3D12_TEX1D_RTV {
28859 fn eq(&self, other: &Self) -> bool {
28860 self.MipSlice == other.MipSlice
28861 }
28862}
28863impl ::core::cmp::Eq for D3D12_TEX1D_RTV {}
28864impl ::core::default::Default for D3D12_TEX1D_RTV {
28865 fn default() -> Self {
28866 unsafe { ::core::mem::zeroed() }
28867 }
28868}
28869#[repr(C)]
28870pub struct D3D12_TEX1D_SRV {
28871 pub MostDetailedMip: u32,
28872 pub MipLevels: u32,
28873 pub ResourceMinLODClamp: f32,
28874}
28875impl ::core::marker::Copy for D3D12_TEX1D_SRV {}
28876impl ::core::clone::Clone for D3D12_TEX1D_SRV {
28877 fn clone(&self) -> Self {
28878 *self
28879 }
28880}
28881impl ::core::fmt::Debug for D3D12_TEX1D_SRV {
28882 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28883 f.debug_struct("D3D12_TEX1D_SRV").field("MostDetailedMip", &self.MostDetailedMip).field("MipLevels", &self.MipLevels).field(name:"ResourceMinLODClamp", &self.ResourceMinLODClamp).finish()
28884 }
28885}
28886impl ::windows_core::TypeKind for D3D12_TEX1D_SRV {
28887 type TypeKind = ::windows_core::CopyType;
28888}
28889impl ::core::cmp::PartialEq for D3D12_TEX1D_SRV {
28890 fn eq(&self, other: &Self) -> bool {
28891 self.MostDetailedMip == other.MostDetailedMip && self.MipLevels == other.MipLevels && self.ResourceMinLODClamp == other.ResourceMinLODClamp
28892 }
28893}
28894impl ::core::cmp::Eq for D3D12_TEX1D_SRV {}
28895impl ::core::default::Default for D3D12_TEX1D_SRV {
28896 fn default() -> Self {
28897 unsafe { ::core::mem::zeroed() }
28898 }
28899}
28900#[repr(C)]
28901pub struct D3D12_TEX1D_UAV {
28902 pub MipSlice: u32,
28903}
28904impl ::core::marker::Copy for D3D12_TEX1D_UAV {}
28905impl ::core::clone::Clone for D3D12_TEX1D_UAV {
28906 fn clone(&self) -> Self {
28907 *self
28908 }
28909}
28910impl ::core::fmt::Debug for D3D12_TEX1D_UAV {
28911 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28912 f.debug_struct("D3D12_TEX1D_UAV").field(name:"MipSlice", &self.MipSlice).finish()
28913 }
28914}
28915impl ::windows_core::TypeKind for D3D12_TEX1D_UAV {
28916 type TypeKind = ::windows_core::CopyType;
28917}
28918impl ::core::cmp::PartialEq for D3D12_TEX1D_UAV {
28919 fn eq(&self, other: &Self) -> bool {
28920 self.MipSlice == other.MipSlice
28921 }
28922}
28923impl ::core::cmp::Eq for D3D12_TEX1D_UAV {}
28924impl ::core::default::Default for D3D12_TEX1D_UAV {
28925 fn default() -> Self {
28926 unsafe { ::core::mem::zeroed() }
28927 }
28928}
28929#[repr(C)]
28930pub struct D3D12_TEX2DMS_ARRAY_DSV {
28931 pub FirstArraySlice: u32,
28932 pub ArraySize: u32,
28933}
28934impl ::core::marker::Copy for D3D12_TEX2DMS_ARRAY_DSV {}
28935impl ::core::clone::Clone for D3D12_TEX2DMS_ARRAY_DSV {
28936 fn clone(&self) -> Self {
28937 *self
28938 }
28939}
28940impl ::core::fmt::Debug for D3D12_TEX2DMS_ARRAY_DSV {
28941 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28942 f.debug_struct("D3D12_TEX2DMS_ARRAY_DSV").field("FirstArraySlice", &self.FirstArraySlice).field(name:"ArraySize", &self.ArraySize).finish()
28943 }
28944}
28945impl ::windows_core::TypeKind for D3D12_TEX2DMS_ARRAY_DSV {
28946 type TypeKind = ::windows_core::CopyType;
28947}
28948impl ::core::cmp::PartialEq for D3D12_TEX2DMS_ARRAY_DSV {
28949 fn eq(&self, other: &Self) -> bool {
28950 self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize
28951 }
28952}
28953impl ::core::cmp::Eq for D3D12_TEX2DMS_ARRAY_DSV {}
28954impl ::core::default::Default for D3D12_TEX2DMS_ARRAY_DSV {
28955 fn default() -> Self {
28956 unsafe { ::core::mem::zeroed() }
28957 }
28958}
28959#[repr(C)]
28960pub struct D3D12_TEX2DMS_ARRAY_RTV {
28961 pub FirstArraySlice: u32,
28962 pub ArraySize: u32,
28963}
28964impl ::core::marker::Copy for D3D12_TEX2DMS_ARRAY_RTV {}
28965impl ::core::clone::Clone for D3D12_TEX2DMS_ARRAY_RTV {
28966 fn clone(&self) -> Self {
28967 *self
28968 }
28969}
28970impl ::core::fmt::Debug for D3D12_TEX2DMS_ARRAY_RTV {
28971 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28972 f.debug_struct("D3D12_TEX2DMS_ARRAY_RTV").field("FirstArraySlice", &self.FirstArraySlice).field(name:"ArraySize", &self.ArraySize).finish()
28973 }
28974}
28975impl ::windows_core::TypeKind for D3D12_TEX2DMS_ARRAY_RTV {
28976 type TypeKind = ::windows_core::CopyType;
28977}
28978impl ::core::cmp::PartialEq for D3D12_TEX2DMS_ARRAY_RTV {
28979 fn eq(&self, other: &Self) -> bool {
28980 self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize
28981 }
28982}
28983impl ::core::cmp::Eq for D3D12_TEX2DMS_ARRAY_RTV {}
28984impl ::core::default::Default for D3D12_TEX2DMS_ARRAY_RTV {
28985 fn default() -> Self {
28986 unsafe { ::core::mem::zeroed() }
28987 }
28988}
28989#[repr(C)]
28990pub struct D3D12_TEX2DMS_ARRAY_SRV {
28991 pub FirstArraySlice: u32,
28992 pub ArraySize: u32,
28993}
28994impl ::core::marker::Copy for D3D12_TEX2DMS_ARRAY_SRV {}
28995impl ::core::clone::Clone for D3D12_TEX2DMS_ARRAY_SRV {
28996 fn clone(&self) -> Self {
28997 *self
28998 }
28999}
29000impl ::core::fmt::Debug for D3D12_TEX2DMS_ARRAY_SRV {
29001 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29002 f.debug_struct("D3D12_TEX2DMS_ARRAY_SRV").field("FirstArraySlice", &self.FirstArraySlice).field(name:"ArraySize", &self.ArraySize).finish()
29003 }
29004}
29005impl ::windows_core::TypeKind for D3D12_TEX2DMS_ARRAY_SRV {
29006 type TypeKind = ::windows_core::CopyType;
29007}
29008impl ::core::cmp::PartialEq for D3D12_TEX2DMS_ARRAY_SRV {
29009 fn eq(&self, other: &Self) -> bool {
29010 self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize
29011 }
29012}
29013impl ::core::cmp::Eq for D3D12_TEX2DMS_ARRAY_SRV {}
29014impl ::core::default::Default for D3D12_TEX2DMS_ARRAY_SRV {
29015 fn default() -> Self {
29016 unsafe { ::core::mem::zeroed() }
29017 }
29018}
29019#[repr(C)]
29020pub struct D3D12_TEX2DMS_ARRAY_UAV {
29021 pub FirstArraySlice: u32,
29022 pub ArraySize: u32,
29023}
29024impl ::core::marker::Copy for D3D12_TEX2DMS_ARRAY_UAV {}
29025impl ::core::clone::Clone for D3D12_TEX2DMS_ARRAY_UAV {
29026 fn clone(&self) -> Self {
29027 *self
29028 }
29029}
29030impl ::core::fmt::Debug for D3D12_TEX2DMS_ARRAY_UAV {
29031 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29032 f.debug_struct("D3D12_TEX2DMS_ARRAY_UAV").field("FirstArraySlice", &self.FirstArraySlice).field(name:"ArraySize", &self.ArraySize).finish()
29033 }
29034}
29035impl ::windows_core::TypeKind for D3D12_TEX2DMS_ARRAY_UAV {
29036 type TypeKind = ::windows_core::CopyType;
29037}
29038impl ::core::cmp::PartialEq for D3D12_TEX2DMS_ARRAY_UAV {
29039 fn eq(&self, other: &Self) -> bool {
29040 self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize
29041 }
29042}
29043impl ::core::cmp::Eq for D3D12_TEX2DMS_ARRAY_UAV {}
29044impl ::core::default::Default for D3D12_TEX2DMS_ARRAY_UAV {
29045 fn default() -> Self {
29046 unsafe { ::core::mem::zeroed() }
29047 }
29048}
29049#[repr(C)]
29050pub struct D3D12_TEX2DMS_DSV {
29051 pub UnusedField_NothingToDefine: u32,
29052}
29053impl ::core::marker::Copy for D3D12_TEX2DMS_DSV {}
29054impl ::core::clone::Clone for D3D12_TEX2DMS_DSV {
29055 fn clone(&self) -> Self {
29056 *self
29057 }
29058}
29059impl ::core::fmt::Debug for D3D12_TEX2DMS_DSV {
29060 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29061 f.debug_struct("D3D12_TEX2DMS_DSV").field(name:"UnusedField_NothingToDefine", &self.UnusedField_NothingToDefine).finish()
29062 }
29063}
29064impl ::windows_core::TypeKind for D3D12_TEX2DMS_DSV {
29065 type TypeKind = ::windows_core::CopyType;
29066}
29067impl ::core::cmp::PartialEq for D3D12_TEX2DMS_DSV {
29068 fn eq(&self, other: &Self) -> bool {
29069 self.UnusedField_NothingToDefine == other.UnusedField_NothingToDefine
29070 }
29071}
29072impl ::core::cmp::Eq for D3D12_TEX2DMS_DSV {}
29073impl ::core::default::Default for D3D12_TEX2DMS_DSV {
29074 fn default() -> Self {
29075 unsafe { ::core::mem::zeroed() }
29076 }
29077}
29078#[repr(C)]
29079pub struct D3D12_TEX2DMS_RTV {
29080 pub UnusedField_NothingToDefine: u32,
29081}
29082impl ::core::marker::Copy for D3D12_TEX2DMS_RTV {}
29083impl ::core::clone::Clone for D3D12_TEX2DMS_RTV {
29084 fn clone(&self) -> Self {
29085 *self
29086 }
29087}
29088impl ::core::fmt::Debug for D3D12_TEX2DMS_RTV {
29089 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29090 f.debug_struct("D3D12_TEX2DMS_RTV").field(name:"UnusedField_NothingToDefine", &self.UnusedField_NothingToDefine).finish()
29091 }
29092}
29093impl ::windows_core::TypeKind for D3D12_TEX2DMS_RTV {
29094 type TypeKind = ::windows_core::CopyType;
29095}
29096impl ::core::cmp::PartialEq for D3D12_TEX2DMS_RTV {
29097 fn eq(&self, other: &Self) -> bool {
29098 self.UnusedField_NothingToDefine == other.UnusedField_NothingToDefine
29099 }
29100}
29101impl ::core::cmp::Eq for D3D12_TEX2DMS_RTV {}
29102impl ::core::default::Default for D3D12_TEX2DMS_RTV {
29103 fn default() -> Self {
29104 unsafe { ::core::mem::zeroed() }
29105 }
29106}
29107#[repr(C)]
29108pub struct D3D12_TEX2DMS_SRV {
29109 pub UnusedField_NothingToDefine: u32,
29110}
29111impl ::core::marker::Copy for D3D12_TEX2DMS_SRV {}
29112impl ::core::clone::Clone for D3D12_TEX2DMS_SRV {
29113 fn clone(&self) -> Self {
29114 *self
29115 }
29116}
29117impl ::core::fmt::Debug for D3D12_TEX2DMS_SRV {
29118 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29119 f.debug_struct("D3D12_TEX2DMS_SRV").field(name:"UnusedField_NothingToDefine", &self.UnusedField_NothingToDefine).finish()
29120 }
29121}
29122impl ::windows_core::TypeKind for D3D12_TEX2DMS_SRV {
29123 type TypeKind = ::windows_core::CopyType;
29124}
29125impl ::core::cmp::PartialEq for D3D12_TEX2DMS_SRV {
29126 fn eq(&self, other: &Self) -> bool {
29127 self.UnusedField_NothingToDefine == other.UnusedField_NothingToDefine
29128 }
29129}
29130impl ::core::cmp::Eq for D3D12_TEX2DMS_SRV {}
29131impl ::core::default::Default for D3D12_TEX2DMS_SRV {
29132 fn default() -> Self {
29133 unsafe { ::core::mem::zeroed() }
29134 }
29135}
29136#[repr(C)]
29137pub struct D3D12_TEX2DMS_UAV {
29138 pub UnusedField_NothingToDefine: u32,
29139}
29140impl ::core::marker::Copy for D3D12_TEX2DMS_UAV {}
29141impl ::core::clone::Clone for D3D12_TEX2DMS_UAV {
29142 fn clone(&self) -> Self {
29143 *self
29144 }
29145}
29146impl ::core::fmt::Debug for D3D12_TEX2DMS_UAV {
29147 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29148 f.debug_struct("D3D12_TEX2DMS_UAV").field(name:"UnusedField_NothingToDefine", &self.UnusedField_NothingToDefine).finish()
29149 }
29150}
29151impl ::windows_core::TypeKind for D3D12_TEX2DMS_UAV {
29152 type TypeKind = ::windows_core::CopyType;
29153}
29154impl ::core::cmp::PartialEq for D3D12_TEX2DMS_UAV {
29155 fn eq(&self, other: &Self) -> bool {
29156 self.UnusedField_NothingToDefine == other.UnusedField_NothingToDefine
29157 }
29158}
29159impl ::core::cmp::Eq for D3D12_TEX2DMS_UAV {}
29160impl ::core::default::Default for D3D12_TEX2DMS_UAV {
29161 fn default() -> Self {
29162 unsafe { ::core::mem::zeroed() }
29163 }
29164}
29165#[repr(C)]
29166pub struct D3D12_TEX2D_ARRAY_DSV {
29167 pub MipSlice: u32,
29168 pub FirstArraySlice: u32,
29169 pub ArraySize: u32,
29170}
29171impl ::core::marker::Copy for D3D12_TEX2D_ARRAY_DSV {}
29172impl ::core::clone::Clone for D3D12_TEX2D_ARRAY_DSV {
29173 fn clone(&self) -> Self {
29174 *self
29175 }
29176}
29177impl ::core::fmt::Debug for D3D12_TEX2D_ARRAY_DSV {
29178 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29179 f.debug_struct("D3D12_TEX2D_ARRAY_DSV").field("MipSlice", &self.MipSlice).field("FirstArraySlice", &self.FirstArraySlice).field(name:"ArraySize", &self.ArraySize).finish()
29180 }
29181}
29182impl ::windows_core::TypeKind for D3D12_TEX2D_ARRAY_DSV {
29183 type TypeKind = ::windows_core::CopyType;
29184}
29185impl ::core::cmp::PartialEq for D3D12_TEX2D_ARRAY_DSV {
29186 fn eq(&self, other: &Self) -> bool {
29187 self.MipSlice == other.MipSlice && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize
29188 }
29189}
29190impl ::core::cmp::Eq for D3D12_TEX2D_ARRAY_DSV {}
29191impl ::core::default::Default for D3D12_TEX2D_ARRAY_DSV {
29192 fn default() -> Self {
29193 unsafe { ::core::mem::zeroed() }
29194 }
29195}
29196#[repr(C)]
29197pub struct D3D12_TEX2D_ARRAY_RTV {
29198 pub MipSlice: u32,
29199 pub FirstArraySlice: u32,
29200 pub ArraySize: u32,
29201 pub PlaneSlice: u32,
29202}
29203impl ::core::marker::Copy for D3D12_TEX2D_ARRAY_RTV {}
29204impl ::core::clone::Clone for D3D12_TEX2D_ARRAY_RTV {
29205 fn clone(&self) -> Self {
29206 *self
29207 }
29208}
29209impl ::core::fmt::Debug for D3D12_TEX2D_ARRAY_RTV {
29210 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29211 f.debug_struct("D3D12_TEX2D_ARRAY_RTV").field("MipSlice", &self.MipSlice).field("FirstArraySlice", &self.FirstArraySlice).field("ArraySize", &self.ArraySize).field(name:"PlaneSlice", &self.PlaneSlice).finish()
29212 }
29213}
29214impl ::windows_core::TypeKind for D3D12_TEX2D_ARRAY_RTV {
29215 type TypeKind = ::windows_core::CopyType;
29216}
29217impl ::core::cmp::PartialEq for D3D12_TEX2D_ARRAY_RTV {
29218 fn eq(&self, other: &Self) -> bool {
29219 self.MipSlice == other.MipSlice && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize && self.PlaneSlice == other.PlaneSlice
29220 }
29221}
29222impl ::core::cmp::Eq for D3D12_TEX2D_ARRAY_RTV {}
29223impl ::core::default::Default for D3D12_TEX2D_ARRAY_RTV {
29224 fn default() -> Self {
29225 unsafe { ::core::mem::zeroed() }
29226 }
29227}
29228#[repr(C)]
29229pub struct D3D12_TEX2D_ARRAY_SRV {
29230 pub MostDetailedMip: u32,
29231 pub MipLevels: u32,
29232 pub FirstArraySlice: u32,
29233 pub ArraySize: u32,
29234 pub PlaneSlice: u32,
29235 pub ResourceMinLODClamp: f32,
29236}
29237impl ::core::marker::Copy for D3D12_TEX2D_ARRAY_SRV {}
29238impl ::core::clone::Clone for D3D12_TEX2D_ARRAY_SRV {
29239 fn clone(&self) -> Self {
29240 *self
29241 }
29242}
29243impl ::core::fmt::Debug for D3D12_TEX2D_ARRAY_SRV {
29244 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29245 f.debug_struct("D3D12_TEX2D_ARRAY_SRV").field("MostDetailedMip", &self.MostDetailedMip).field("MipLevels", &self.MipLevels).field("FirstArraySlice", &self.FirstArraySlice).field("ArraySize", &self.ArraySize).field("PlaneSlice", &self.PlaneSlice).field(name:"ResourceMinLODClamp", &self.ResourceMinLODClamp).finish()
29246 }
29247}
29248impl ::windows_core::TypeKind for D3D12_TEX2D_ARRAY_SRV {
29249 type TypeKind = ::windows_core::CopyType;
29250}
29251impl ::core::cmp::PartialEq for D3D12_TEX2D_ARRAY_SRV {
29252 fn eq(&self, other: &Self) -> bool {
29253 self.MostDetailedMip == other.MostDetailedMip && self.MipLevels == other.MipLevels && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize && self.PlaneSlice == other.PlaneSlice && self.ResourceMinLODClamp == other.ResourceMinLODClamp
29254 }
29255}
29256impl ::core::cmp::Eq for D3D12_TEX2D_ARRAY_SRV {}
29257impl ::core::default::Default for D3D12_TEX2D_ARRAY_SRV {
29258 fn default() -> Self {
29259 unsafe { ::core::mem::zeroed() }
29260 }
29261}
29262#[repr(C)]
29263pub struct D3D12_TEX2D_ARRAY_UAV {
29264 pub MipSlice: u32,
29265 pub FirstArraySlice: u32,
29266 pub ArraySize: u32,
29267 pub PlaneSlice: u32,
29268}
29269impl ::core::marker::Copy for D3D12_TEX2D_ARRAY_UAV {}
29270impl ::core::clone::Clone for D3D12_TEX2D_ARRAY_UAV {
29271 fn clone(&self) -> Self {
29272 *self
29273 }
29274}
29275impl ::core::fmt::Debug for D3D12_TEX2D_ARRAY_UAV {
29276 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29277 f.debug_struct("D3D12_TEX2D_ARRAY_UAV").field("MipSlice", &self.MipSlice).field("FirstArraySlice", &self.FirstArraySlice).field("ArraySize", &self.ArraySize).field(name:"PlaneSlice", &self.PlaneSlice).finish()
29278 }
29279}
29280impl ::windows_core::TypeKind for D3D12_TEX2D_ARRAY_UAV {
29281 type TypeKind = ::windows_core::CopyType;
29282}
29283impl ::core::cmp::PartialEq for D3D12_TEX2D_ARRAY_UAV {
29284 fn eq(&self, other: &Self) -> bool {
29285 self.MipSlice == other.MipSlice && self.FirstArraySlice == other.FirstArraySlice && self.ArraySize == other.ArraySize && self.PlaneSlice == other.PlaneSlice
29286 }
29287}
29288impl ::core::cmp::Eq for D3D12_TEX2D_ARRAY_UAV {}
29289impl ::core::default::Default for D3D12_TEX2D_ARRAY_UAV {
29290 fn default() -> Self {
29291 unsafe { ::core::mem::zeroed() }
29292 }
29293}
29294#[repr(C)]
29295pub struct D3D12_TEX2D_DSV {
29296 pub MipSlice: u32,
29297}
29298impl ::core::marker::Copy for D3D12_TEX2D_DSV {}
29299impl ::core::clone::Clone for D3D12_TEX2D_DSV {
29300 fn clone(&self) -> Self {
29301 *self
29302 }
29303}
29304impl ::core::fmt::Debug for D3D12_TEX2D_DSV {
29305 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29306 f.debug_struct("D3D12_TEX2D_DSV").field(name:"MipSlice", &self.MipSlice).finish()
29307 }
29308}
29309impl ::windows_core::TypeKind for D3D12_TEX2D_DSV {
29310 type TypeKind = ::windows_core::CopyType;
29311}
29312impl ::core::cmp::PartialEq for D3D12_TEX2D_DSV {
29313 fn eq(&self, other: &Self) -> bool {
29314 self.MipSlice == other.MipSlice
29315 }
29316}
29317impl ::core::cmp::Eq for D3D12_TEX2D_DSV {}
29318impl ::core::default::Default for D3D12_TEX2D_DSV {
29319 fn default() -> Self {
29320 unsafe { ::core::mem::zeroed() }
29321 }
29322}
29323#[repr(C)]
29324pub struct D3D12_TEX2D_RTV {
29325 pub MipSlice: u32,
29326 pub PlaneSlice: u32,
29327}
29328impl ::core::marker::Copy for D3D12_TEX2D_RTV {}
29329impl ::core::clone::Clone for D3D12_TEX2D_RTV {
29330 fn clone(&self) -> Self {
29331 *self
29332 }
29333}
29334impl ::core::fmt::Debug for D3D12_TEX2D_RTV {
29335 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29336 f.debug_struct("D3D12_TEX2D_RTV").field("MipSlice", &self.MipSlice).field(name:"PlaneSlice", &self.PlaneSlice).finish()
29337 }
29338}
29339impl ::windows_core::TypeKind for D3D12_TEX2D_RTV {
29340 type TypeKind = ::windows_core::CopyType;
29341}
29342impl ::core::cmp::PartialEq for D3D12_TEX2D_RTV {
29343 fn eq(&self, other: &Self) -> bool {
29344 self.MipSlice == other.MipSlice && self.PlaneSlice == other.PlaneSlice
29345 }
29346}
29347impl ::core::cmp::Eq for D3D12_TEX2D_RTV {}
29348impl ::core::default::Default for D3D12_TEX2D_RTV {
29349 fn default() -> Self {
29350 unsafe { ::core::mem::zeroed() }
29351 }
29352}
29353#[repr(C)]
29354pub struct D3D12_TEX2D_SRV {
29355 pub MostDetailedMip: u32,
29356 pub MipLevels: u32,
29357 pub PlaneSlice: u32,
29358 pub ResourceMinLODClamp: f32,
29359}
29360impl ::core::marker::Copy for D3D12_TEX2D_SRV {}
29361impl ::core::clone::Clone for D3D12_TEX2D_SRV {
29362 fn clone(&self) -> Self {
29363 *self
29364 }
29365}
29366impl ::core::fmt::Debug for D3D12_TEX2D_SRV {
29367 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29368 f.debug_struct("D3D12_TEX2D_SRV").field("MostDetailedMip", &self.MostDetailedMip).field("MipLevels", &self.MipLevels).field("PlaneSlice", &self.PlaneSlice).field(name:"ResourceMinLODClamp", &self.ResourceMinLODClamp).finish()
29369 }
29370}
29371impl ::windows_core::TypeKind for D3D12_TEX2D_SRV {
29372 type TypeKind = ::windows_core::CopyType;
29373}
29374impl ::core::cmp::PartialEq for D3D12_TEX2D_SRV {
29375 fn eq(&self, other: &Self) -> bool {
29376 self.MostDetailedMip == other.MostDetailedMip && self.MipLevels == other.MipLevels && self.PlaneSlice == other.PlaneSlice && self.ResourceMinLODClamp == other.ResourceMinLODClamp
29377 }
29378}
29379impl ::core::cmp::Eq for D3D12_TEX2D_SRV {}
29380impl ::core::default::Default for D3D12_TEX2D_SRV {
29381 fn default() -> Self {
29382 unsafe { ::core::mem::zeroed() }
29383 }
29384}
29385#[repr(C)]
29386pub struct D3D12_TEX2D_UAV {
29387 pub MipSlice: u32,
29388 pub PlaneSlice: u32,
29389}
29390impl ::core::marker::Copy for D3D12_TEX2D_UAV {}
29391impl ::core::clone::Clone for D3D12_TEX2D_UAV {
29392 fn clone(&self) -> Self {
29393 *self
29394 }
29395}
29396impl ::core::fmt::Debug for D3D12_TEX2D_UAV {
29397 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29398 f.debug_struct("D3D12_TEX2D_UAV").field("MipSlice", &self.MipSlice).field(name:"PlaneSlice", &self.PlaneSlice).finish()
29399 }
29400}
29401impl ::windows_core::TypeKind for D3D12_TEX2D_UAV {
29402 type TypeKind = ::windows_core::CopyType;
29403}
29404impl ::core::cmp::PartialEq for D3D12_TEX2D_UAV {
29405 fn eq(&self, other: &Self) -> bool {
29406 self.MipSlice == other.MipSlice && self.PlaneSlice == other.PlaneSlice
29407 }
29408}
29409impl ::core::cmp::Eq for D3D12_TEX2D_UAV {}
29410impl ::core::default::Default for D3D12_TEX2D_UAV {
29411 fn default() -> Self {
29412 unsafe { ::core::mem::zeroed() }
29413 }
29414}
29415#[repr(C)]
29416pub struct D3D12_TEX3D_RTV {
29417 pub MipSlice: u32,
29418 pub FirstWSlice: u32,
29419 pub WSize: u32,
29420}
29421impl ::core::marker::Copy for D3D12_TEX3D_RTV {}
29422impl ::core::clone::Clone for D3D12_TEX3D_RTV {
29423 fn clone(&self) -> Self {
29424 *self
29425 }
29426}
29427impl ::core::fmt::Debug for D3D12_TEX3D_RTV {
29428 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29429 f.debug_struct("D3D12_TEX3D_RTV").field("MipSlice", &self.MipSlice).field("FirstWSlice", &self.FirstWSlice).field(name:"WSize", &self.WSize).finish()
29430 }
29431}
29432impl ::windows_core::TypeKind for D3D12_TEX3D_RTV {
29433 type TypeKind = ::windows_core::CopyType;
29434}
29435impl ::core::cmp::PartialEq for D3D12_TEX3D_RTV {
29436 fn eq(&self, other: &Self) -> bool {
29437 self.MipSlice == other.MipSlice && self.FirstWSlice == other.FirstWSlice && self.WSize == other.WSize
29438 }
29439}
29440impl ::core::cmp::Eq for D3D12_TEX3D_RTV {}
29441impl ::core::default::Default for D3D12_TEX3D_RTV {
29442 fn default() -> Self {
29443 unsafe { ::core::mem::zeroed() }
29444 }
29445}
29446#[repr(C)]
29447pub struct D3D12_TEX3D_SRV {
29448 pub MostDetailedMip: u32,
29449 pub MipLevels: u32,
29450 pub ResourceMinLODClamp: f32,
29451}
29452impl ::core::marker::Copy for D3D12_TEX3D_SRV {}
29453impl ::core::clone::Clone for D3D12_TEX3D_SRV {
29454 fn clone(&self) -> Self {
29455 *self
29456 }
29457}
29458impl ::core::fmt::Debug for D3D12_TEX3D_SRV {
29459 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29460 f.debug_struct("D3D12_TEX3D_SRV").field("MostDetailedMip", &self.MostDetailedMip).field("MipLevels", &self.MipLevels).field(name:"ResourceMinLODClamp", &self.ResourceMinLODClamp).finish()
29461 }
29462}
29463impl ::windows_core::TypeKind for D3D12_TEX3D_SRV {
29464 type TypeKind = ::windows_core::CopyType;
29465}
29466impl ::core::cmp::PartialEq for D3D12_TEX3D_SRV {
29467 fn eq(&self, other: &Self) -> bool {
29468 self.MostDetailedMip == other.MostDetailedMip && self.MipLevels == other.MipLevels && self.ResourceMinLODClamp == other.ResourceMinLODClamp
29469 }
29470}
29471impl ::core::cmp::Eq for D3D12_TEX3D_SRV {}
29472impl ::core::default::Default for D3D12_TEX3D_SRV {
29473 fn default() -> Self {
29474 unsafe { ::core::mem::zeroed() }
29475 }
29476}
29477#[repr(C)]
29478pub struct D3D12_TEX3D_UAV {
29479 pub MipSlice: u32,
29480 pub FirstWSlice: u32,
29481 pub WSize: u32,
29482}
29483impl ::core::marker::Copy for D3D12_TEX3D_UAV {}
29484impl ::core::clone::Clone for D3D12_TEX3D_UAV {
29485 fn clone(&self) -> Self {
29486 *self
29487 }
29488}
29489impl ::core::fmt::Debug for D3D12_TEX3D_UAV {
29490 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29491 f.debug_struct("D3D12_TEX3D_UAV").field("MipSlice", &self.MipSlice).field("FirstWSlice", &self.FirstWSlice).field(name:"WSize", &self.WSize).finish()
29492 }
29493}
29494impl ::windows_core::TypeKind for D3D12_TEX3D_UAV {
29495 type TypeKind = ::windows_core::CopyType;
29496}
29497impl ::core::cmp::PartialEq for D3D12_TEX3D_UAV {
29498 fn eq(&self, other: &Self) -> bool {
29499 self.MipSlice == other.MipSlice && self.FirstWSlice == other.FirstWSlice && self.WSize == other.WSize
29500 }
29501}
29502impl ::core::cmp::Eq for D3D12_TEX3D_UAV {}
29503impl ::core::default::Default for D3D12_TEX3D_UAV {
29504 fn default() -> Self {
29505 unsafe { ::core::mem::zeroed() }
29506 }
29507}
29508#[repr(C)]
29509pub struct D3D12_TEXCUBE_ARRAY_SRV {
29510 pub MostDetailedMip: u32,
29511 pub MipLevels: u32,
29512 pub First2DArrayFace: u32,
29513 pub NumCubes: u32,
29514 pub ResourceMinLODClamp: f32,
29515}
29516impl ::core::marker::Copy for D3D12_TEXCUBE_ARRAY_SRV {}
29517impl ::core::clone::Clone for D3D12_TEXCUBE_ARRAY_SRV {
29518 fn clone(&self) -> Self {
29519 *self
29520 }
29521}
29522impl ::core::fmt::Debug for D3D12_TEXCUBE_ARRAY_SRV {
29523 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29524 f.debug_struct("D3D12_TEXCUBE_ARRAY_SRV").field("MostDetailedMip", &self.MostDetailedMip).field("MipLevels", &self.MipLevels).field("First2DArrayFace", &self.First2DArrayFace).field("NumCubes", &self.NumCubes).field(name:"ResourceMinLODClamp", &self.ResourceMinLODClamp).finish()
29525 }
29526}
29527impl ::windows_core::TypeKind for D3D12_TEXCUBE_ARRAY_SRV {
29528 type TypeKind = ::windows_core::CopyType;
29529}
29530impl ::core::cmp::PartialEq for D3D12_TEXCUBE_ARRAY_SRV {
29531 fn eq(&self, other: &Self) -> bool {
29532 self.MostDetailedMip == other.MostDetailedMip && self.MipLevels == other.MipLevels && self.First2DArrayFace == other.First2DArrayFace && self.NumCubes == other.NumCubes && self.ResourceMinLODClamp == other.ResourceMinLODClamp
29533 }
29534}
29535impl ::core::cmp::Eq for D3D12_TEXCUBE_ARRAY_SRV {}
29536impl ::core::default::Default for D3D12_TEXCUBE_ARRAY_SRV {
29537 fn default() -> Self {
29538 unsafe { ::core::mem::zeroed() }
29539 }
29540}
29541#[repr(C)]
29542pub struct D3D12_TEXCUBE_SRV {
29543 pub MostDetailedMip: u32,
29544 pub MipLevels: u32,
29545 pub ResourceMinLODClamp: f32,
29546}
29547impl ::core::marker::Copy for D3D12_TEXCUBE_SRV {}
29548impl ::core::clone::Clone for D3D12_TEXCUBE_SRV {
29549 fn clone(&self) -> Self {
29550 *self
29551 }
29552}
29553impl ::core::fmt::Debug for D3D12_TEXCUBE_SRV {
29554 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29555 f.debug_struct("D3D12_TEXCUBE_SRV").field("MostDetailedMip", &self.MostDetailedMip).field("MipLevels", &self.MipLevels).field(name:"ResourceMinLODClamp", &self.ResourceMinLODClamp).finish()
29556 }
29557}
29558impl ::windows_core::TypeKind for D3D12_TEXCUBE_SRV {
29559 type TypeKind = ::windows_core::CopyType;
29560}
29561impl ::core::cmp::PartialEq for D3D12_TEXCUBE_SRV {
29562 fn eq(&self, other: &Self) -> bool {
29563 self.MostDetailedMip == other.MostDetailedMip && self.MipLevels == other.MipLevels && self.ResourceMinLODClamp == other.ResourceMinLODClamp
29564 }
29565}
29566impl ::core::cmp::Eq for D3D12_TEXCUBE_SRV {}
29567impl ::core::default::Default for D3D12_TEXCUBE_SRV {
29568 fn default() -> Self {
29569 unsafe { ::core::mem::zeroed() }
29570 }
29571}
29572#[repr(C)]
29573pub struct D3D12_TEXTURE_BARRIER {
29574 pub SyncBefore: D3D12_BARRIER_SYNC,
29575 pub SyncAfter: D3D12_BARRIER_SYNC,
29576 pub AccessBefore: D3D12_BARRIER_ACCESS,
29577 pub AccessAfter: D3D12_BARRIER_ACCESS,
29578 pub LayoutBefore: D3D12_BARRIER_LAYOUT,
29579 pub LayoutAfter: D3D12_BARRIER_LAYOUT,
29580 pub pResource: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12Resource>>,
29581 pub Subresources: D3D12_BARRIER_SUBRESOURCE_RANGE,
29582 pub Flags: D3D12_TEXTURE_BARRIER_FLAGS,
29583}
29584impl ::core::clone::Clone for D3D12_TEXTURE_BARRIER {
29585 fn clone(&self) -> Self {
29586 unsafe { ::core::mem::transmute_copy(self) }
29587 }
29588}
29589impl ::core::fmt::Debug for D3D12_TEXTURE_BARRIER {
29590 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29591 f.debug_struct("D3D12_TEXTURE_BARRIER").field("SyncBefore", &self.SyncBefore).field("SyncAfter", &self.SyncAfter).field("AccessBefore", &self.AccessBefore).field("AccessAfter", &self.AccessAfter).field("LayoutBefore", &self.LayoutBefore).field("LayoutAfter", &self.LayoutAfter).field("pResource", &self.pResource).field("Subresources", &self.Subresources).field(name:"Flags", &self.Flags).finish()
29592 }
29593}
29594impl ::windows_core::TypeKind for D3D12_TEXTURE_BARRIER {
29595 type TypeKind = ::windows_core::CopyType;
29596}
29597impl ::core::cmp::PartialEq for D3D12_TEXTURE_BARRIER {
29598 fn eq(&self, other: &Self) -> bool {
29599 self.SyncBefore == other.SyncBefore && self.SyncAfter == other.SyncAfter && self.AccessBefore == other.AccessBefore && self.AccessAfter == other.AccessAfter && self.LayoutBefore == other.LayoutBefore && self.LayoutAfter == other.LayoutAfter && self.pResource == other.pResource && self.Subresources == other.Subresources && self.Flags == other.Flags
29600 }
29601}
29602impl ::core::cmp::Eq for D3D12_TEXTURE_BARRIER {}
29603impl ::core::default::Default for D3D12_TEXTURE_BARRIER {
29604 fn default() -> Self {
29605 unsafe { ::core::mem::zeroed() }
29606 }
29607}
29608#[repr(C)]
29609#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
29610#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29611pub struct D3D12_TEXTURE_COPY_LOCATION {
29612 pub pResource: ::std::mem::ManuallyDrop<::core::option::Option<ID3D12Resource>>,
29613 pub Type: D3D12_TEXTURE_COPY_TYPE,
29614 pub Anonymous: D3D12_TEXTURE_COPY_LOCATION_0,
29615}
29616#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29617impl ::core::clone::Clone for D3D12_TEXTURE_COPY_LOCATION {
29618 fn clone(&self) -> Self {
29619 unsafe { ::core::mem::transmute_copy(self) }
29620 }
29621}
29622#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29623impl ::windows_core::TypeKind for D3D12_TEXTURE_COPY_LOCATION {
29624 type TypeKind = ::windows_core::CopyType;
29625}
29626#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29627impl ::core::default::Default for D3D12_TEXTURE_COPY_LOCATION {
29628 fn default() -> Self {
29629 unsafe { ::core::mem::zeroed() }
29630 }
29631}
29632#[repr(C)]
29633#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
29634#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29635pub union D3D12_TEXTURE_COPY_LOCATION_0 {
29636 pub PlacedFootprint: D3D12_PLACED_SUBRESOURCE_FOOTPRINT,
29637 pub SubresourceIndex: u32,
29638}
29639#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29640impl ::core::marker::Copy for D3D12_TEXTURE_COPY_LOCATION_0 {}
29641#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29642impl ::core::clone::Clone for D3D12_TEXTURE_COPY_LOCATION_0 {
29643 fn clone(&self) -> Self {
29644 *self
29645 }
29646}
29647#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29648impl ::windows_core::TypeKind for D3D12_TEXTURE_COPY_LOCATION_0 {
29649 type TypeKind = ::windows_core::CopyType;
29650}
29651#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29652impl ::core::default::Default for D3D12_TEXTURE_COPY_LOCATION_0 {
29653 fn default() -> Self {
29654 unsafe { ::core::mem::zeroed() }
29655 }
29656}
29657#[repr(C)]
29658pub struct D3D12_TILED_RESOURCE_COORDINATE {
29659 pub X: u32,
29660 pub Y: u32,
29661 pub Z: u32,
29662 pub Subresource: u32,
29663}
29664impl ::core::marker::Copy for D3D12_TILED_RESOURCE_COORDINATE {}
29665impl ::core::clone::Clone for D3D12_TILED_RESOURCE_COORDINATE {
29666 fn clone(&self) -> Self {
29667 *self
29668 }
29669}
29670impl ::core::fmt::Debug for D3D12_TILED_RESOURCE_COORDINATE {
29671 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29672 f.debug_struct("D3D12_TILED_RESOURCE_COORDINATE").field("X", &self.X).field("Y", &self.Y).field("Z", &self.Z).field(name:"Subresource", &self.Subresource).finish()
29673 }
29674}
29675impl ::windows_core::TypeKind for D3D12_TILED_RESOURCE_COORDINATE {
29676 type TypeKind = ::windows_core::CopyType;
29677}
29678impl ::core::cmp::PartialEq for D3D12_TILED_RESOURCE_COORDINATE {
29679 fn eq(&self, other: &Self) -> bool {
29680 self.X == other.X && self.Y == other.Y && self.Z == other.Z && self.Subresource == other.Subresource
29681 }
29682}
29683impl ::core::cmp::Eq for D3D12_TILED_RESOURCE_COORDINATE {}
29684impl ::core::default::Default for D3D12_TILED_RESOURCE_COORDINATE {
29685 fn default() -> Self {
29686 unsafe { ::core::mem::zeroed() }
29687 }
29688}
29689#[repr(C)]
29690#[doc = "Required features: `\"Win32_Foundation\"`"]
29691#[cfg(feature = "Win32_Foundation")]
29692pub struct D3D12_TILE_REGION_SIZE {
29693 pub NumTiles: u32,
29694 pub UseBox: super::super::Foundation::BOOL,
29695 pub Width: u32,
29696 pub Height: u16,
29697 pub Depth: u16,
29698}
29699#[cfg(feature = "Win32_Foundation")]
29700impl ::core::marker::Copy for D3D12_TILE_REGION_SIZE {}
29701#[cfg(feature = "Win32_Foundation")]
29702impl ::core::clone::Clone for D3D12_TILE_REGION_SIZE {
29703 fn clone(&self) -> Self {
29704 *self
29705 }
29706}
29707#[cfg(feature = "Win32_Foundation")]
29708impl ::core::fmt::Debug for D3D12_TILE_REGION_SIZE {
29709 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29710 f.debug_struct("D3D12_TILE_REGION_SIZE").field("NumTiles", &self.NumTiles).field("UseBox", &self.UseBox).field("Width", &self.Width).field("Height", &self.Height).field(name:"Depth", &self.Depth).finish()
29711 }
29712}
29713#[cfg(feature = "Win32_Foundation")]
29714impl ::windows_core::TypeKind for D3D12_TILE_REGION_SIZE {
29715 type TypeKind = ::windows_core::CopyType;
29716}
29717#[cfg(feature = "Win32_Foundation")]
29718impl ::core::cmp::PartialEq for D3D12_TILE_REGION_SIZE {
29719 fn eq(&self, other: &Self) -> bool {
29720 self.NumTiles == other.NumTiles && self.UseBox == other.UseBox && self.Width == other.Width && self.Height == other.Height && self.Depth == other.Depth
29721 }
29722}
29723#[cfg(feature = "Win32_Foundation")]
29724impl ::core::cmp::Eq for D3D12_TILE_REGION_SIZE {}
29725#[cfg(feature = "Win32_Foundation")]
29726impl ::core::default::Default for D3D12_TILE_REGION_SIZE {
29727 fn default() -> Self {
29728 unsafe { ::core::mem::zeroed() }
29729 }
29730}
29731#[repr(C)]
29732pub struct D3D12_TILE_SHAPE {
29733 pub WidthInTexels: u32,
29734 pub HeightInTexels: u32,
29735 pub DepthInTexels: u32,
29736}
29737impl ::core::marker::Copy for D3D12_TILE_SHAPE {}
29738impl ::core::clone::Clone for D3D12_TILE_SHAPE {
29739 fn clone(&self) -> Self {
29740 *self
29741 }
29742}
29743impl ::core::fmt::Debug for D3D12_TILE_SHAPE {
29744 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29745 f.debug_struct("D3D12_TILE_SHAPE").field("WidthInTexels", &self.WidthInTexels).field("HeightInTexels", &self.HeightInTexels).field(name:"DepthInTexels", &self.DepthInTexels).finish()
29746 }
29747}
29748impl ::windows_core::TypeKind for D3D12_TILE_SHAPE {
29749 type TypeKind = ::windows_core::CopyType;
29750}
29751impl ::core::cmp::PartialEq for D3D12_TILE_SHAPE {
29752 fn eq(&self, other: &Self) -> bool {
29753 self.WidthInTexels == other.WidthInTexels && self.HeightInTexels == other.HeightInTexels && self.DepthInTexels == other.DepthInTexels
29754 }
29755}
29756impl ::core::cmp::Eq for D3D12_TILE_SHAPE {}
29757impl ::core::default::Default for D3D12_TILE_SHAPE {
29758 fn default() -> Self {
29759 unsafe { ::core::mem::zeroed() }
29760 }
29761}
29762#[repr(C)]
29763#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
29764#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29765pub struct D3D12_UNORDERED_ACCESS_VIEW_DESC {
29766 pub Format: super::Dxgi::Common::DXGI_FORMAT,
29767 pub ViewDimension: D3D12_UAV_DIMENSION,
29768 pub Anonymous: D3D12_UNORDERED_ACCESS_VIEW_DESC_0,
29769}
29770#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29771impl ::core::marker::Copy for D3D12_UNORDERED_ACCESS_VIEW_DESC {}
29772#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29773impl ::core::clone::Clone for D3D12_UNORDERED_ACCESS_VIEW_DESC {
29774 fn clone(&self) -> Self {
29775 *self
29776 }
29777}
29778#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29779impl ::windows_core::TypeKind for D3D12_UNORDERED_ACCESS_VIEW_DESC {
29780 type TypeKind = ::windows_core::CopyType;
29781}
29782#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29783impl ::core::default::Default for D3D12_UNORDERED_ACCESS_VIEW_DESC {
29784 fn default() -> Self {
29785 unsafe { ::core::mem::zeroed() }
29786 }
29787}
29788#[repr(C)]
29789#[doc = "Required features: `\"Win32_Graphics_Dxgi_Common\"`"]
29790#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29791pub union D3D12_UNORDERED_ACCESS_VIEW_DESC_0 {
29792 pub Buffer: D3D12_BUFFER_UAV,
29793 pub Texture1D: D3D12_TEX1D_UAV,
29794 pub Texture1DArray: D3D12_TEX1D_ARRAY_UAV,
29795 pub Texture2D: D3D12_TEX2D_UAV,
29796 pub Texture2DArray: D3D12_TEX2D_ARRAY_UAV,
29797 pub Texture2DMS: D3D12_TEX2DMS_UAV,
29798 pub Texture2DMSArray: D3D12_TEX2DMS_ARRAY_UAV,
29799 pub Texture3D: D3D12_TEX3D_UAV,
29800}
29801#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29802impl ::core::marker::Copy for D3D12_UNORDERED_ACCESS_VIEW_DESC_0 {}
29803#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29804impl ::core::clone::Clone for D3D12_UNORDERED_ACCESS_VIEW_DESC_0 {
29805 fn clone(&self) -> Self {
29806 *self
29807 }
29808}
29809#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29810impl ::windows_core::TypeKind for D3D12_UNORDERED_ACCESS_VIEW_DESC_0 {
29811 type TypeKind = ::windows_core::CopyType;
29812}
29813#[cfg(feature = "Win32_Graphics_Dxgi_Common")]
29814impl ::core::default::Default for D3D12_UNORDERED_ACCESS_VIEW_DESC_0 {
29815 fn default() -> Self {
29816 unsafe { ::core::mem::zeroed() }
29817 }
29818}
29819#[repr(C)]
29820pub struct D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA {
29821 pub Version: D3D12_DRED_VERSION,
29822 pub Anonymous: D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA_0,
29823}
29824impl ::core::marker::Copy for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA {}
29825impl ::core::clone::Clone for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA {
29826 fn clone(&self) -> Self {
29827 *self
29828 }
29829}
29830impl ::windows_core::TypeKind for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA {
29831 type TypeKind = ::windows_core::CopyType;
29832}
29833impl ::core::default::Default for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA {
29834 fn default() -> Self {
29835 unsafe { ::core::mem::zeroed() }
29836 }
29837}
29838#[repr(C)]
29839pub union D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA_0 {
29840 pub Dred_1_0: D3D12_DEVICE_REMOVED_EXTENDED_DATA,
29841 pub Dred_1_1: D3D12_DEVICE_REMOVED_EXTENDED_DATA1,
29842 pub Dred_1_2: D3D12_DEVICE_REMOVED_EXTENDED_DATA2,
29843 pub Dred_1_3: D3D12_DEVICE_REMOVED_EXTENDED_DATA3,
29844}
29845impl ::core::marker::Copy for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA_0 {}
29846impl ::core::clone::Clone for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA_0 {
29847 fn clone(&self) -> Self {
29848 *self
29849 }
29850}
29851impl ::windows_core::TypeKind for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA_0 {
29852 type TypeKind = ::windows_core::CopyType;
29853}
29854impl ::core::default::Default for D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA_0 {
29855 fn default() -> Self {
29856 unsafe { ::core::mem::zeroed() }
29857 }
29858}
29859#[repr(C)]
29860pub struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC {
29861 pub Version: D3D_ROOT_SIGNATURE_VERSION,
29862 pub Anonymous: D3D12_VERSIONED_ROOT_SIGNATURE_DESC_0,
29863}
29864impl ::core::marker::Copy for D3D12_VERSIONED_ROOT_SIGNATURE_DESC {}
29865impl ::core::clone::Clone for D3D12_VERSIONED_ROOT_SIGNATURE_DESC {
29866 fn clone(&self) -> Self {
29867 *self
29868 }
29869}
29870impl ::windows_core::TypeKind for D3D12_VERSIONED_ROOT_SIGNATURE_DESC {
29871 type TypeKind = ::windows_core::CopyType;
29872}
29873impl ::core::default::Default for D3D12_VERSIONED_ROOT_SIGNATURE_DESC {
29874 fn default() -> Self {
29875 unsafe { ::core::mem::zeroed() }
29876 }
29877}
29878#[repr(C)]
29879pub union D3D12_VERSIONED_ROOT_SIGNATURE_DESC_0 {
29880 pub Desc_1_0: D3D12_ROOT_SIGNATURE_DESC,
29881 pub Desc_1_1: D3D12_ROOT_SIGNATURE_DESC1,
29882 pub Desc_1_2: D3D12_ROOT_SIGNATURE_DESC2,
29883}
29884impl ::core::marker::Copy for D3D12_VERSIONED_ROOT_SIGNATURE_DESC_0 {}
29885impl ::core::clone::Clone for D3D12_VERSIONED_ROOT_SIGNATURE_DESC_0 {
29886 fn clone(&self) -> Self {
29887 *self
29888 }
29889}
29890impl ::windows_core::TypeKind for D3D12_VERSIONED_ROOT_SIGNATURE_DESC_0 {
29891 type TypeKind = ::windows_core::CopyType;
29892}
29893impl ::core::default::Default for D3D12_VERSIONED_ROOT_SIGNATURE_DESC_0 {
29894 fn default() -> Self {
29895 unsafe { ::core::mem::zeroed() }
29896 }
29897}
29898#[repr(C)]
29899pub struct D3D12_VERTEX_BUFFER_VIEW {
29900 pub BufferLocation: u64,
29901 pub SizeInBytes: u32,
29902 pub StrideInBytes: u32,
29903}
29904impl ::core::marker::Copy for D3D12_VERTEX_BUFFER_VIEW {}
29905impl ::core::clone::Clone for D3D12_VERTEX_BUFFER_VIEW {
29906 fn clone(&self) -> Self {
29907 *self
29908 }
29909}
29910impl ::core::fmt::Debug for D3D12_VERTEX_BUFFER_VIEW {
29911 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29912 f.debug_struct("D3D12_VERTEX_BUFFER_VIEW").field("BufferLocation", &self.BufferLocation).field("SizeInBytes", &self.SizeInBytes).field(name:"StrideInBytes", &self.StrideInBytes).finish()
29913 }
29914}
29915impl ::windows_core::TypeKind for D3D12_VERTEX_BUFFER_VIEW {
29916 type TypeKind = ::windows_core::CopyType;
29917}
29918impl ::core::cmp::PartialEq for D3D12_VERTEX_BUFFER_VIEW {
29919 fn eq(&self, other: &Self) -> bool {
29920 self.BufferLocation == other.BufferLocation && self.SizeInBytes == other.SizeInBytes && self.StrideInBytes == other.StrideInBytes
29921 }
29922}
29923impl ::core::cmp::Eq for D3D12_VERTEX_BUFFER_VIEW {}
29924impl ::core::default::Default for D3D12_VERTEX_BUFFER_VIEW {
29925 fn default() -> Self {
29926 unsafe { ::core::mem::zeroed() }
29927 }
29928}
29929#[repr(C)]
29930pub struct D3D12_VIEWPORT {
29931 pub TopLeftX: f32,
29932 pub TopLeftY: f32,
29933 pub Width: f32,
29934 pub Height: f32,
29935 pub MinDepth: f32,
29936 pub MaxDepth: f32,
29937}
29938impl ::core::marker::Copy for D3D12_VIEWPORT {}
29939impl ::core::clone::Clone for D3D12_VIEWPORT {
29940 fn clone(&self) -> Self {
29941 *self
29942 }
29943}
29944impl ::core::fmt::Debug for D3D12_VIEWPORT {
29945 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29946 f.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(name:"MaxDepth", &self.MaxDepth).finish()
29947 }
29948}
29949impl ::windows_core::TypeKind for D3D12_VIEWPORT {
29950 type TypeKind = ::windows_core::CopyType;
29951}
29952impl ::core::cmp::PartialEq for D3D12_VIEWPORT {
29953 fn eq(&self, other: &Self) -> bool {
29954 self.TopLeftX == other.TopLeftX && self.TopLeftY == other.TopLeftY && self.Width == other.Width && self.Height == other.Height && self.MinDepth == other.MinDepth && self.MaxDepth == other.MaxDepth
29955 }
29956}
29957impl ::core::cmp::Eq for D3D12_VIEWPORT {}
29958impl ::core::default::Default for D3D12_VIEWPORT {
29959 fn default() -> Self {
29960 unsafe { ::core::mem::zeroed() }
29961 }
29962}
29963#[repr(C)]
29964pub struct D3D12_VIEW_INSTANCE_LOCATION {
29965 pub ViewportArrayIndex: u32,
29966 pub RenderTargetArrayIndex: u32,
29967}
29968impl ::core::marker::Copy for D3D12_VIEW_INSTANCE_LOCATION {}
29969impl ::core::clone::Clone for D3D12_VIEW_INSTANCE_LOCATION {
29970 fn clone(&self) -> Self {
29971 *self
29972 }
29973}
29974impl ::core::fmt::Debug for D3D12_VIEW_INSTANCE_LOCATION {
29975 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
29976 f.debug_struct("D3D12_VIEW_INSTANCE_LOCATION").field("ViewportArrayIndex", &self.ViewportArrayIndex).field(name:"RenderTargetArrayIndex", &self.RenderTargetArrayIndex).finish()
29977 }
29978}
29979impl ::windows_core::TypeKind for D3D12_VIEW_INSTANCE_LOCATION {
29980 type TypeKind = ::windows_core::CopyType;
29981}
29982impl ::core::cmp::PartialEq for D3D12_VIEW_INSTANCE_LOCATION {
29983 fn eq(&self, other: &Self) -> bool {
29984 self.ViewportArrayIndex == other.ViewportArrayIndex && self.RenderTargetArrayIndex == other.RenderTargetArrayIndex
29985 }
29986}
29987impl ::core::cmp::Eq for D3D12_VIEW_INSTANCE_LOCATION {}
29988impl ::core::default::Default for D3D12_VIEW_INSTANCE_LOCATION {
29989 fn default() -> Self {
29990 unsafe { ::core::mem::zeroed() }
29991 }
29992}
29993#[repr(C)]
29994pub struct D3D12_VIEW_INSTANCING_DESC {
29995 pub ViewInstanceCount: u32,
29996 pub pViewInstanceLocations: *const D3D12_VIEW_INSTANCE_LOCATION,
29997 pub Flags: D3D12_VIEW_INSTANCING_FLAGS,
29998}
29999impl ::core::marker::Copy for D3D12_VIEW_INSTANCING_DESC {}
30000impl ::core::clone::Clone for D3D12_VIEW_INSTANCING_DESC {
30001 fn clone(&self) -> Self {
30002 *self
30003 }
30004}
30005impl ::core::fmt::Debug for D3D12_VIEW_INSTANCING_DESC {
30006 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
30007 f.debug_struct("D3D12_VIEW_INSTANCING_DESC").field("ViewInstanceCount", &self.ViewInstanceCount).field("pViewInstanceLocations", &self.pViewInstanceLocations).field(name:"Flags", &self.Flags).finish()
30008 }
30009}
30010impl ::windows_core::TypeKind for D3D12_VIEW_INSTANCING_DESC {
30011 type TypeKind = ::windows_core::CopyType;
30012}
30013impl ::core::cmp::PartialEq for D3D12_VIEW_INSTANCING_DESC {
30014 fn eq(&self, other: &Self) -> bool {
30015 self.ViewInstanceCount == other.ViewInstanceCount && self.pViewInstanceLocations == other.pViewInstanceLocations && self.Flags == other.Flags
30016 }
30017}
30018impl ::core::cmp::Eq for D3D12_VIEW_INSTANCING_DESC {}
30019impl ::core::default::Default for D3D12_VIEW_INSTANCING_DESC {
30020 fn default() -> Self {
30021 unsafe { ::core::mem::zeroed() }
30022 }
30023}
30024#[repr(C)]
30025pub struct D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {
30026 pub Dest: u64,
30027 pub Value: u32,
30028}
30029impl ::core::marker::Copy for D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {}
30030impl ::core::clone::Clone for D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {
30031 fn clone(&self) -> Self {
30032 *self
30033 }
30034}
30035impl ::core::fmt::Debug for D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {
30036 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
30037 f.debug_struct("D3D12_WRITEBUFFERIMMEDIATE_PARAMETER").field("Dest", &self.Dest).field(name:"Value", &self.Value).finish()
30038 }
30039}
30040impl ::windows_core::TypeKind for D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {
30041 type TypeKind = ::windows_core::CopyType;
30042}
30043impl ::core::cmp::PartialEq for D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {
30044 fn eq(&self, other: &Self) -> bool {
30045 self.Dest == other.Dest && self.Value == other.Value
30046 }
30047}
30048impl ::core::cmp::Eq for D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {}
30049impl ::core::default::Default for D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {
30050 fn default() -> Self {
30051 unsafe { ::core::mem::zeroed() }
30052 }
30053}
30054pub type D3D12MessageFunc = ::core::option::Option<unsafe extern "system" fn(category: D3D12_MESSAGE_CATEGORY, severity: D3D12_MESSAGE_SEVERITY, id: D3D12_MESSAGE_ID, pdescription: ::windows_core::PCSTR, pcontext: *mut ::core::ffi::c_void) -> ()>;
30055#[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
30056#[cfg(feature = "Win32_Graphics_Direct3D")]
30057pub type PFN_D3D12_CREATE_DEVICE = ::core::option::Option<unsafe extern "system" fn(param0: ::core::option::Option<::windows_core::IUnknown>, param1: super::Direct3D::D3D_FEATURE_LEVEL, param2: *const ::windows_core::GUID, param3: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT>;
30058pub type PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER = ::core::option::Option<unsafe extern "system" fn(psrcdata: *const ::core::ffi::c_void, srcdatasizeinbytes: usize, prootsignaturedeserializerinterface: *const ::windows_core::GUID, pprootsignaturedeserializer: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT>;
30059pub type PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER = ::core::option::Option<unsafe extern "system" fn(psrcdata: *const ::core::ffi::c_void, srcdatasizeinbytes: usize, prootsignaturedeserializerinterface: *const ::windows_core::GUID, pprootsignaturedeserializer: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT>;
30060pub type PFN_D3D12_GET_DEBUG_INTERFACE = ::core::option::Option<unsafe extern "system" fn(param0: *const ::windows_core::GUID, param1: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT>;
30061pub type PFN_D3D12_GET_INTERFACE = ::core::option::Option<unsafe extern "system" fn(param0: *const ::windows_core::GUID, param1: *const ::windows_core::GUID, param2: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT>;
30062#[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
30063#[cfg(feature = "Win32_Graphics_Direct3D")]
30064pub type PFN_D3D12_SERIALIZE_ROOT_SIGNATURE = ::core::option::Option<unsafe extern "system" fn(prootsignature: *const D3D12_ROOT_SIGNATURE_DESC, version: D3D_ROOT_SIGNATURE_VERSION, ppblob: *mut ::core::option::Option<super::Direct3D::ID3DBlob>, pperrorblob: *mut ::core::option::Option<super::Direct3D::ID3DBlob>) -> ::windows_core::HRESULT>;
30065#[doc = "Required features: `\"Win32_Graphics_Direct3D\"`"]
30066#[cfg(feature = "Win32_Graphics_Direct3D")]
30067pub type PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE = ::core::option::Option<unsafe extern "system" fn(prootsignature: *const D3D12_VERSIONED_ROOT_SIGNATURE_DESC, ppblob: *mut ::core::option::Option<super::Direct3D::ID3DBlob>, pperrorblob: *mut ::core::option::Option<super::Direct3D::ID3DBlob>) -> ::windows_core::HRESULT>;
30068#[cfg(feature = "implement")]
30069::core::include!("impl.rs");
30070