]> git.proxmox.com Git - rustc.git/blob - vendor/winapi/src/um/d3d11on12.rs
New upstream version 1.41.1+dfsg1
[rustc.git] / vendor / winapi / src / um / d3d11on12.rs
1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 //! Mappings for the content of d3d11on12.h
7 use ctypes::c_void;
8 use shared::guiddef::IID;
9 use shared::minwindef::UINT;
10 use um::d3d11::{ID3D11Device, ID3D11DeviceContext, ID3D11Resource};
11 use um::d3d12::D3D12_RESOURCE_STATES;
12 use um::d3dcommon::D3D_FEATURE_LEVEL;
13 use um::unknwnbase::{IUnknown, IUnknownVtbl};
14 use um::winnt::HRESULT;
15 FN!{stdcall PFN_D3D11ON12_CREATE_DEVICE(
16 *mut IUnknown,
17 UINT,
18 *const D3D_FEATURE_LEVEL,
19 UINT,
20 *mut *mut IUnknown,
21 UINT,
22 UINT,
23 *mut *mut ID3D11Device,
24 *mut *mut ID3D11DeviceContext,
25 *mut D3D_FEATURE_LEVEL,
26 ) -> HRESULT}
27 extern "system" {
28 pub fn D3D11On12CreateDevice(
29 pDevice: *mut IUnknown,
30 Flags: UINT,
31 pFeatureLevels: *const D3D_FEATURE_LEVEL,
32 FeatureLevels: UINT,
33 ppCommandQueues: *mut *mut IUnknown,
34 NumQueues: UINT,
35 NodeMask: UINT,
36 ppDevice: *mut *mut ID3D11Device,
37 ppImmediateContext: *mut *mut ID3D11DeviceContext,
38 pChosenFeatureLevel: *mut D3D_FEATURE_LEVEL,
39 ) -> HRESULT;
40 }
41 STRUCT!{struct D3D11_RESOURCE_FLAGS {
42 BindFlags: UINT,
43 MiscFlags: UINT,
44 CPUAccessFlags: UINT,
45 StructureByteStride: UINT,
46 }}
47 RIDL!{#[uuid(0x85611e73, 0x70a9, 0x490e, 0x96, 0x14, 0xa9, 0xe3, 0x02, 0x77, 0x79, 0x04)]
48 interface ID3D11On12Device(ID3D11On12DeviceVtbl): IUnknown(IUnknownVtbl) {
49 fn CreateWrappedResource(
50 pResource12: *mut IUnknown,
51 pFlags11: *const D3D11_RESOURCE_FLAGS,
52 InState: D3D12_RESOURCE_STATES,
53 OutState: D3D12_RESOURCE_STATES,
54 riid: *const IID,
55 ppResource11: *mut *mut c_void,
56 ) -> HRESULT,
57 fn ReleaseWrappedResources(
58 ppResources: *mut *mut ID3D11Resource,
59 NumResources: UINT,
60 ) -> (),
61 fn AcquireWrappedResources(
62 ppResources: *mut *mut ID3D11Resource,
63 NumResources: UINT,
64 ) -> (),
65 }}
66 DEFINE_GUID!{IID_ID3D11On12Device,
67 0x85611e73, 0x70a9, 0x490e, 0x96, 0x14, 0xa9, 0xe3, 0x02, 0x77, 0x79, 0x04}