]> git.proxmox.com Git - rustc.git/blame - vendor/windows/src/Windows/Win32/Graphics/Direct3D11on12/impl.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Win32 / Graphics / Direct3D11on12 / impl.rs
CommitLineData
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"))]
3pub 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"))]
9impl ::windows::core::RuntimeName for ID3D11On12Device {}
10#[cfg(all(feature = "Win32_Graphics_Direct3D11", feature = "Win32_Graphics_Direct3D12"))]
11impl 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"))]
41pub 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"))]
45impl ::windows::core::RuntimeName for ID3D11On12Device1 {}
46#[cfg(all(feature = "Win32_Graphics_Direct3D11", feature = "Win32_Graphics_Direct3D12"))]
47impl 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"))]
62pub 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"))]
67impl ::windows::core::RuntimeName for ID3D11On12Device2 {}
68#[cfg(all(feature = "Win32_Graphics_Direct3D11", feature = "Win32_Graphics_Direct3D12"))]
69impl 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}