]>
Commit | Line | Data |
---|---|---|
353b0b11 FG |
1 | #[doc = "*Required features: `\"Win32_Graphics_Direct3D11on12\"`, `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Direct3D12\"`, `\"implement\"`*"] |
2 | #[cfg(all(feature = "Win32_Graphics_Direct3D11", feature = "Win32_Graphics_Direct3D12"))] | |
3 | pub trait ID3D11On12Device_Impl: Sized { | |
4 | fn CreateWrappedResource(&self, presource12: ::core::option::Option<&::windows::core::IUnknown>, pflags11: *const D3D11_RESOURCE_FLAGS, instate: super::Direct3D12::D3D12_RESOURCE_STATES, outstate: super::Direct3D12::D3D12_RESOURCE_STATES, riid: *const ::windows::core::GUID, ppresource11: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>; | |
5 | fn ReleaseWrappedResources(&self, ppresources: *const ::core::option::Option<super::Direct3D11::ID3D11Resource>, numresources: u32); | |
6 | fn AcquireWrappedResources(&self, ppresources: *const ::core::option::Option<super::Direct3D11::ID3D11Resource>, numresources: u32); | |
7 | } | |
8 | #[cfg(all(feature = "Win32_Graphics_Direct3D11", feature = "Win32_Graphics_Direct3D12"))] | |
9 | impl ::windows::core::RuntimeName for ID3D11On12Device {} | |
10 | #[cfg(all(feature = "Win32_Graphics_Direct3D11", feature = "Win32_Graphics_Direct3D12"))] | |
11 | impl ID3D11On12Device_Vtbl { | |
12 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11On12Device_Impl, const OFFSET: isize>() -> ID3D11On12Device_Vtbl { | |
13 | unsafe extern "system" fn CreateWrappedResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11On12Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource12: *mut ::core::ffi::c_void, pflags11: *const D3D11_RESOURCE_FLAGS, instate: super::Direct3D12::D3D12_RESOURCE_STATES, outstate: super::Direct3D12::D3D12_RESOURCE_STATES, riid: *const ::windows::core::GUID, ppresource11: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { | |
14 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
15 | let this = (*this).get_impl(); | |
16 | this.CreateWrappedResource(::windows::core::from_raw_borrowed(&presource12), ::core::mem::transmute_copy(&pflags11), ::core::mem::transmute_copy(&instate), ::core::mem::transmute_copy(&outstate), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppresource11)).into() | |
17 | } | |
18 | unsafe extern "system" fn ReleaseWrappedResources<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11On12Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppresources: *const *mut ::core::ffi::c_void, numresources: u32) { | |
19 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
20 | let this = (*this).get_impl(); | |
21 | this.ReleaseWrappedResources(::core::mem::transmute_copy(&ppresources), ::core::mem::transmute_copy(&numresources)) | |
22 | } | |
23 | unsafe extern "system" fn AcquireWrappedResources<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11On12Device_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppresources: *const *mut ::core::ffi::c_void, numresources: u32) { | |
24 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
25 | let this = (*this).get_impl(); | |
26 | this.AcquireWrappedResources(::core::mem::transmute_copy(&ppresources), ::core::mem::transmute_copy(&numresources)) | |
27 | } | |
28 | Self { | |
29 | base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), | |
30 | CreateWrappedResource: CreateWrappedResource::<Identity, Impl, OFFSET>, | |
31 | ReleaseWrappedResources: ReleaseWrappedResources::<Identity, Impl, OFFSET>, | |
32 | AcquireWrappedResources: AcquireWrappedResources::<Identity, Impl, OFFSET>, | |
33 | } | |
34 | } | |
35 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
36 | iid == &<ID3D11On12Device as ::windows::core::ComInterface>::IID | |
37 | } | |
38 | } | |
39 | #[doc = "*Required features: `\"Win32_Graphics_Direct3D11on12\"`, `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Direct3D12\"`, `\"implement\"`*"] | |
40 | #[cfg(all(feature = "Win32_Graphics_Direct3D11", feature = "Win32_Graphics_Direct3D12"))] | |
41 | pub trait ID3D11On12Device1_Impl: Sized + ID3D11On12Device_Impl { | |
42 | fn GetD3D12Device(&self, riid: *const ::windows::core::GUID, ppvdevice: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>; | |
43 | } | |
44 | #[cfg(all(feature = "Win32_Graphics_Direct3D11", feature = "Win32_Graphics_Direct3D12"))] | |
45 | impl ::windows::core::RuntimeName for ID3D11On12Device1 {} | |
46 | #[cfg(all(feature = "Win32_Graphics_Direct3D11", feature = "Win32_Graphics_Direct3D12"))] | |
47 | impl ID3D11On12Device1_Vtbl { | |
48 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11On12Device1_Impl, const OFFSET: isize>() -> ID3D11On12Device1_Vtbl { | |
49 | unsafe extern "system" fn GetD3D12Device<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11On12Device1_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, ppvdevice: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { | |
50 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
51 | let this = (*this).get_impl(); | |
52 | this.GetD3D12Device(::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppvdevice)).into() | |
53 | } | |
54 | Self { base__: ID3D11On12Device_Vtbl::new::<Identity, Impl, OFFSET>(), GetD3D12Device: GetD3D12Device::<Identity, Impl, OFFSET> } | |
55 | } | |
56 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
57 | iid == &<ID3D11On12Device1 as ::windows::core::ComInterface>::IID || iid == &<ID3D11On12Device as ::windows::core::ComInterface>::IID | |
58 | } | |
59 | } | |
60 | #[doc = "*Required features: `\"Win32_Graphics_Direct3D11on12\"`, `\"Win32_Graphics_Direct3D11\"`, `\"Win32_Graphics_Direct3D12\"`, `\"implement\"`*"] | |
61 | #[cfg(all(feature = "Win32_Graphics_Direct3D11", feature = "Win32_Graphics_Direct3D12"))] | |
62 | pub trait ID3D11On12Device2_Impl: Sized + ID3D11On12Device1_Impl { | |
63 | fn UnwrapUnderlyingResource(&self, presource11: ::core::option::Option<&super::Direct3D11::ID3D11Resource>, pcommandqueue: ::core::option::Option<&super::Direct3D12::ID3D12CommandQueue>, riid: *const ::windows::core::GUID, ppvresource12: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>; | |
64 | fn ReturnUnderlyingResource(&self, presource11: ::core::option::Option<&super::Direct3D11::ID3D11Resource>, numsync: u32, psignalvalues: *const u64, ppfences: *const ::core::option::Option<super::Direct3D12::ID3D12Fence>) -> ::windows::core::Result<()>; | |
65 | } | |
66 | #[cfg(all(feature = "Win32_Graphics_Direct3D11", feature = "Win32_Graphics_Direct3D12"))] | |
67 | impl ::windows::core::RuntimeName for ID3D11On12Device2 {} | |
68 | #[cfg(all(feature = "Win32_Graphics_Direct3D11", feature = "Win32_Graphics_Direct3D12"))] | |
69 | impl ID3D11On12Device2_Vtbl { | |
70 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11On12Device2_Impl, const OFFSET: isize>() -> ID3D11On12Device2_Vtbl { | |
71 | unsafe extern "system" fn UnwrapUnderlyingResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11On12Device2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource11: *mut ::core::ffi::c_void, pcommandqueue: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, ppvresource12: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { | |
72 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
73 | let this = (*this).get_impl(); | |
74 | this.UnwrapUnderlyingResource(::windows::core::from_raw_borrowed(&presource11), ::windows::core::from_raw_borrowed(&pcommandqueue), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppvresource12)).into() | |
75 | } | |
76 | unsafe extern "system" fn ReturnUnderlyingResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ID3D11On12Device2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presource11: *mut ::core::ffi::c_void, numsync: u32, psignalvalues: *const u64, ppfences: *const *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { | |
77 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
78 | let this = (*this).get_impl(); | |
79 | this.ReturnUnderlyingResource(::windows::core::from_raw_borrowed(&presource11), ::core::mem::transmute_copy(&numsync), ::core::mem::transmute_copy(&psignalvalues), ::core::mem::transmute_copy(&ppfences)).into() | |
80 | } | |
81 | Self { | |
82 | base__: ID3D11On12Device1_Vtbl::new::<Identity, Impl, OFFSET>(), | |
83 | UnwrapUnderlyingResource: UnwrapUnderlyingResource::<Identity, Impl, OFFSET>, | |
84 | ReturnUnderlyingResource: ReturnUnderlyingResource::<Identity, Impl, OFFSET>, | |
85 | } | |
86 | } | |
87 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
88 | iid == &<ID3D11On12Device2 as ::windows::core::ComInterface>::IID || iid == &<ID3D11On12Device as ::windows::core::ComInterface>::IID || iid == &<ID3D11On12Device1 as ::windows::core::ComInterface>::IID | |
89 | } | |
90 | } |