summaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/d3d11on12.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/d3d11on12.rs')
-rw-r--r--vendor/winapi/src/um/d3d11on12.rs67
1 files changed, 67 insertions, 0 deletions
diff --git a/vendor/winapi/src/um/d3d11on12.rs b/vendor/winapi/src/um/d3d11on12.rs
new file mode 100644
index 0000000..bf106a3
--- /dev/null
+++ b/vendor/winapi/src/um/d3d11on12.rs
@@ -0,0 +1,67 @@
+// Licensed under the Apache License, Version 2.0
+// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// All files in the project carrying such notice may not be copied, modified, or distributed
+// except according to those terms.
+//! Mappings for the content of d3d11on12.h
+use ctypes::c_void;
+use shared::guiddef::IID;
+use shared::minwindef::UINT;
+use um::d3d11::{ID3D11Device, ID3D11DeviceContext, ID3D11Resource};
+use um::d3d12::D3D12_RESOURCE_STATES;
+use um::d3dcommon::D3D_FEATURE_LEVEL;
+use um::unknwnbase::{IUnknown, IUnknownVtbl};
+use um::winnt::HRESULT;
+FN!{stdcall PFN_D3D11ON12_CREATE_DEVICE(
+ *mut IUnknown,
+ UINT,
+ *const D3D_FEATURE_LEVEL,
+ UINT,
+ *mut *mut IUnknown,
+ UINT,
+ UINT,
+ *mut *mut ID3D11Device,
+ *mut *mut ID3D11DeviceContext,
+ *mut D3D_FEATURE_LEVEL,
+) -> HRESULT}
+extern "system" {
+ pub fn D3D11On12CreateDevice(
+ pDevice: *mut IUnknown,
+ Flags: UINT,
+ pFeatureLevels: *const D3D_FEATURE_LEVEL,
+ FeatureLevels: UINT,
+ ppCommandQueues: *mut *mut IUnknown,
+ NumQueues: UINT,
+ NodeMask: UINT,
+ ppDevice: *mut *mut ID3D11Device,
+ ppImmediateContext: *mut *mut ID3D11DeviceContext,
+ pChosenFeatureLevel: *mut D3D_FEATURE_LEVEL,
+ ) -> HRESULT;
+}
+STRUCT!{struct D3D11_RESOURCE_FLAGS {
+ BindFlags: UINT,
+ MiscFlags: UINT,
+ CPUAccessFlags: UINT,
+ StructureByteStride: UINT,
+}}
+RIDL!{#[uuid(0x85611e73, 0x70a9, 0x490e, 0x96, 0x14, 0xa9, 0xe3, 0x02, 0x77, 0x79, 0x04)]
+interface ID3D11On12Device(ID3D11On12DeviceVtbl): IUnknown(IUnknownVtbl) {
+ fn CreateWrappedResource(
+ pResource12: *mut IUnknown,
+ pFlags11: *const D3D11_RESOURCE_FLAGS,
+ InState: D3D12_RESOURCE_STATES,
+ OutState: D3D12_RESOURCE_STATES,
+ riid: *const IID,
+ ppResource11: *mut *mut c_void,
+ ) -> HRESULT,
+ fn ReleaseWrappedResources(
+ ppResources: *mut *mut ID3D11Resource,
+ NumResources: UINT,
+ ) -> (),
+ fn AcquireWrappedResources(
+ ppResources: *mut *mut ID3D11Resource,
+ NumResources: UINT,
+ ) -> (),
+}}
+DEFINE_GUID!{IID_ID3D11On12Device,
+ 0x85611e73, 0x70a9, 0x490e, 0x96, 0x14, 0xa9, 0xe3, 0x02, 0x77, 0x79, 0x04}