summaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/d3d11_1.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/d3d11_1.rs')
-rw-r--r--vendor/winapi/src/um/d3d11_1.rs484
1 files changed, 484 insertions, 0 deletions
diff --git a/vendor/winapi/src/um/d3d11_1.rs b/vendor/winapi/src/um/d3d11_1.rs
new file mode 100644
index 0000000..7b0b46e
--- /dev/null
+++ b/vendor/winapi/src/um/d3d11_1.rs
@@ -0,0 +1,484 @@
+// 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.
+use ctypes::c_void;
+use shared::basetsd::{UINT64, UINT8};
+use shared::dxgiformat::DXGI_FORMAT;
+use shared::dxgitype::{DXGI_COLOR_SPACE_TYPE, DXGI_RATIONAL};
+use shared::guiddef::{GUID, REFIID};
+use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT, INT, UINT};
+use um::d3d11::{
+ D3D11_BLEND, D3D11_BLEND_OP, D3D11_BOX, D3D11_CULL_MODE, D3D11_FILL_MODE, D3D11_RECT,
+ D3D11_VIDEO_DECODER_BUFFER_TYPE, D3D11_VIDEO_DECODER_CONFIG, D3D11_VIDEO_DECODER_DESC,
+ ID3D11BlendState, ID3D11BlendStateVtbl, ID3D11Buffer, ID3D11CryptoSession, ID3D11Device,
+ ID3D11DeviceChild, ID3D11DeviceChildVtbl, ID3D11DeviceContext, ID3D11DeviceContextVtbl,
+ ID3D11DeviceVtbl, ID3D11RasterizerState, ID3D11RasterizerStateVtbl, ID3D11Resource,
+ ID3D11VideoContext, ID3D11VideoContextVtbl, ID3D11VideoDecoder, ID3D11VideoDevice,
+ ID3D11VideoDeviceVtbl, ID3D11VideoProcessor, ID3D11VideoProcessorEnumerator,
+ ID3D11VideoProcessorEnumeratorVtbl, ID3D11View
+};
+use um::d3dcommon::D3D_FEATURE_LEVEL;
+use um::unknwnbase::{IUnknown, IUnknownVtbl};
+use um::winnt::{HANDLE, HRESULT, LPCWSTR};
+DEFINE_GUID!{IID_ID3D11BlendState1,
+ 0xcc86fabe, 0xda55, 0x401d, 0x85, 0xe7, 0xe3, 0xc9, 0xde, 0x28, 0x77, 0xe9}
+DEFINE_GUID!{IID_ID3D11RasterizerState1,
+ 0x1217d7a6, 0x5039, 0x418c, 0xb0, 0x42, 0x9c, 0xbe, 0x25, 0x6a, 0xfd, 0x6e}
+DEFINE_GUID!{IID_ID3DDeviceContextState,
+ 0x5c1e0d8a, 0x7c23, 0x48f9, 0x8c, 0x59, 0xa9, 0x29, 0x58, 0xce, 0xff, 0x11}
+DEFINE_GUID!{IID_ID3D11DeviceContext1,
+ 0xbb2c6faa, 0xb5fb, 0x4082, 0x8e, 0x6b, 0x38, 0x8b, 0x8c, 0xfa, 0x90, 0xe1}
+DEFINE_GUID!{IID_ID3D11VideoContext1,
+ 0xa7f026da, 0xa5f8, 0x4487, 0xa5, 0x64, 0x15, 0xe3, 0x43, 0x57, 0x65, 0x1e}
+DEFINE_GUID!{IID_ID3D11VideoDevice1,
+ 0x29da1d51, 0x1321, 0x4454, 0x80, 0x4b, 0xf5, 0xfc, 0x9f, 0x86, 0x1f, 0x0f}
+DEFINE_GUID!{IID_ID3D11VideoProcessorEnumerator1,
+ 0x465217f2, 0x5568, 0x43cf, 0xb5, 0xb9, 0xf6, 0x1d, 0x54, 0x53, 0x1c, 0xa1}
+DEFINE_GUID!{IID_ID3D11Device1,
+ 0xa04bfb29, 0x08ef, 0x43d6, 0xa4, 0x9c, 0xa9, 0xbd, 0xbd, 0xcb, 0xe6, 0x86}
+DEFINE_GUID!{IID_ID3DUserDefinedAnnotation,
+ 0xb2daad8b, 0x03d4, 0x4dbf, 0x95, 0xeb, 0x32, 0xab, 0x4b, 0x63, 0xd0, 0xab}
+ENUM!{enum D3D11_COPY_FLAGS {
+ D3D11_COPY_NO_OVERWRITE = 0x00000001,
+ D3D11_COPY_DISCARD = 0x00000002,
+}}
+ENUM!{enum D3D11_LOGIC_OP {
+ D3D11_LOGIC_OP_CLEAR = 0,
+ D3D11_LOGIC_OP_SET = 1,
+ D3D11_LOGIC_OP_COPY = 2,
+ D3D11_LOGIC_OP_COPY_INVERTED = 3,
+ D3D11_LOGIC_OP_NOOP = 4,
+ D3D11_LOGIC_OP_INVERT = 5,
+ D3D11_LOGIC_OP_AND = 6,
+ D3D11_LOGIC_OP_NAND = 7,
+ D3D11_LOGIC_OP_OR = 8,
+ D3D11_LOGIC_OP_NOR = 9,
+ D3D11_LOGIC_OP_XOR = 10,
+ D3D11_LOGIC_OP_EQUIV = 11,
+ D3D11_LOGIC_OP_AND_REVERSE = 12,
+ D3D11_LOGIC_OP_AND_INVERTED = 13,
+ D3D11_LOGIC_OP_OR_REVERSE = 14,
+ D3D11_LOGIC_OP_OR_INVERTED = 15,
+}}
+STRUCT!{struct D3D11_RENDER_TARGET_BLEND_DESC1 {
+ BlendEnable: BOOL,
+ LogicOpEnable: BOOL,
+ SrcBlend: D3D11_BLEND,
+ DestBlend: D3D11_BLEND,
+ BlendOp: D3D11_BLEND_OP,
+ SrcBlendAlpha: D3D11_BLEND,
+ DestBlendAlpha: D3D11_BLEND,
+ BlendOpAlpha: D3D11_BLEND_OP,
+ LogicOp: D3D11_LOGIC_OP,
+ RenderTargetWriteMask: UINT8,
+}}
+STRUCT!{struct D3D11_BLEND_DESC1 {
+ AlphaToCoverageEnable: BOOL,
+ IndependentBlendEnable: BOOL,
+ RenderTarget: [D3D11_RENDER_TARGET_BLEND_DESC1; 8],
+}}
+RIDL!{#[uuid(0xcc86fabe, 0xda55, 0x401d, 0x85, 0xe7, 0xe3, 0xc9, 0xde, 0x28, 0x77, 0xe9)]
+interface ID3D11BlendState1(ID3D11BlendState1Vtbl): ID3D11BlendState(ID3D11BlendStateVtbl) {
+ fn GetDesc1(
+ pDesc: *mut D3D11_BLEND_DESC1,
+ ) -> (),
+}}
+STRUCT!{struct D3D11_RASTERIZER_DESC1 {
+ FillMode: D3D11_FILL_MODE,
+ CullMode: D3D11_CULL_MODE,
+ FrontCounterClockwise: BOOL,
+ DepthBias: INT,
+ DepthBiasClamp: FLOAT,
+ SlopeScaledDepthBias: FLOAT,
+ DepthClipEnable: BOOL,
+ ScissorEnable: BOOL,
+ MultisampleEnable: BOOL,
+ AntialiasedLineEnable: BOOL,
+ ForcedSampleCount: UINT,
+}}
+RIDL!{#[uuid(0x1217d7a6, 0x5039, 0x418c, 0xb0, 0x42, 0x9c, 0xbe, 0x25, 0x6a, 0xfd, 0x6e)]
+interface ID3D11RasterizerState1(ID3D11RasterizerState1Vtbl):
+ ID3D11RasterizerState(ID3D11RasterizerStateVtbl) {
+ fn GetDesc1(
+ pDesc: *mut D3D11_RASTERIZER_DESC1,
+ ) -> (),
+}}
+ENUM!{enum D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG {
+ D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADED = 0x1,
+}}
+RIDL!{#[uuid(0x5c1e0d8a, 0x7c23, 0x48f9, 0x8c, 0x59, 0xa9, 0x29, 0x58, 0xce, 0xff, 0x11)]
+interface ID3DDeviceContextState(ID3DDeviceContextStateVtbl):
+ ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}}
+RIDL!{#[uuid(0xbb2c6faa, 0xb5fb, 0x4082, 0x8e, 0x6b, 0x38, 0x8b, 0x8c, 0xfa, 0x90, 0xe1)]
+interface ID3D11DeviceContext1(ID3D11DeviceContext1Vtbl):
+ ID3D11DeviceContext(ID3D11DeviceContextVtbl) {
+ fn CopySubresourceRegion1(
+ pDstResource: *mut ID3D11Resource,
+ DstSubresource: UINT,
+ DstX: UINT,
+ DstY: UINT,
+ DstZ: UINT,
+ pSrcResource: *mut ID3D11Resource,
+ SrcSubresource: UINT,
+ pSrcBox: *const D3D11_BOX,
+ CopyFlags: UINT,
+ ) -> (),
+ fn UpdateSubresource1(
+ pDstResource: *mut ID3D11Resource,
+ DstSubresource: UINT,
+ pDstBox: *const D3D11_BOX,
+ pSrcData: *mut c_void,
+ SrcRowPitch: UINT,
+ SrcDepthPitch: UINT,
+ CopyFlags: UINT,
+ ) -> (),
+ fn DiscardResource(
+ pResource: *mut ID3D11Resource,
+ ) -> (),
+ fn DiscardView(
+ pResource: *mut ID3D11Resource,
+ ) -> (),
+ fn VSSetConstantBuffers1(
+ StartSlot: UINT,
+ NumBuffers: UINT,
+ ppConstantBuffers: *const *mut ID3D11Buffer,
+ pFirstConstant: *const UINT,
+ pNumConstants: *const UINT,
+ ) -> (),
+ fn HSSetConstantBuffers1(
+ StartSlot: UINT,
+ NumBuffers: UINT,
+ ppConstantBuffers: *const *mut ID3D11Buffer,
+ pFirstConstant: *const UINT,
+ pNumConstants: *const UINT,
+ ) -> (),
+ fn DSSetConstantBuffers1(
+ StartSlot: UINT,
+ NumBuffers: UINT,
+ ppConstantBuffers: *const *mut ID3D11Buffer,
+ pFirstConstant: *const UINT,
+ pNumConstants: *const UINT,
+ ) -> (),
+ fn GSSetConstantBuffers1(
+ StartSlot: UINT,
+ NumBuffers: UINT,
+ ppConstantBuffers: *const *mut ID3D11Buffer,
+ pFirstConstant: *const UINT,
+ pNumConstants: *const UINT,
+ ) -> (),
+ fn PSSetConstantBuffers1(
+ StartSlot: UINT,
+ NumBuffers: UINT,
+ ppConstantBuffers: *const *mut ID3D11Buffer,
+ pFirstConstant: *const UINT,
+ pNumConstants: *const UINT,
+ ) -> (),
+ fn CSSetConstantBuffers1(
+ StartSlot: UINT,
+ NumBuffers: UINT,
+ ppConstantBuffers: *const *mut ID3D11Buffer,
+ pFirstConstant: *const UINT,
+ pNumConstants: *const UINT,
+ ) -> (),
+ fn VSGetConstantBuffers1(
+ StartSlot: UINT,
+ NumBuffers: UINT,
+ ppConstantBuffers: *mut *mut ID3D11Buffer,
+ pFirstConstant: *mut UINT,
+ pNumConstants: *mut UINT,
+ ) -> (),
+ fn HSGetConstantBuffers1(
+ StartSlot: UINT,
+ NumBuffers: UINT,
+ ppConstantBuffers: *mut *mut ID3D11Buffer,
+ pFirstConstant: *mut UINT,
+ pNumConstants: *mut UINT,
+ ) -> (),
+ fn DSGetConstantBuffers1(
+ StartSlot: UINT,
+ NumBuffers: UINT,
+ ppConstantBuffers: *mut *mut ID3D11Buffer,
+ pFirstConstant: *mut UINT,
+ pNumConstants: *mut UINT,
+ ) -> (),
+ fn GSGetConstantBuffers1(
+ StartSlot: UINT,
+ NumBuffers: UINT,
+ ppConstantBuffers: *mut *mut ID3D11Buffer,
+ pFirstConstant: *mut UINT,
+ pNumConstants: *mut UINT,
+ ) -> (),
+ fn PSGetConstantBuffers1(
+ StartSlot: UINT,
+ NumBuffers: UINT,
+ ppConstantBuffers: *mut *mut ID3D11Buffer,
+ pFirstConstant: *mut UINT,
+ pNumConstants: *mut UINT,
+ ) -> (),
+ fn CSGetConstantBuffers1(
+ StartSlot: UINT,
+ NumBuffers: UINT,
+ ppConstantBuffers: *mut *mut ID3D11Buffer,
+ pFirstConstant: *mut UINT,
+ pNumConstants: *mut UINT,
+ ) -> (),
+ fn SwapDeviceContextState(
+ pState: *mut ID3DDeviceContextState,
+ ppPreviousState: *mut *mut ID3DDeviceContextState,
+ ) -> (),
+ fn ClearView(
+ pView: *mut ID3D11View,
+ Color: [FLOAT; 4],
+ pRect: *const D3D11_RECT,
+ NumRects: UINT,
+ ) -> (),
+ fn DiscardView1(
+ pResourceView: *mut ID3D11View,
+ pRects: *const D3D11_RECT,
+ NumRects: UINT,
+ ) -> (),
+}}
+STRUCT!{struct D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK {
+ ClearSize: UINT,
+ EncryptedSize: UINT,
+}}
+STRUCT!{struct D3D11_VIDEO_DECODER_BUFFER_DESC1 {
+ BufferType: D3D11_VIDEO_DECODER_BUFFER_TYPE,
+ DataOffset: UINT,
+ DataSize: UINT,
+ pIV: *mut c_void,
+ IVSize: UINT,
+ pSubSampleMappingBlock: *mut D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK,
+ SubSampleMappingCount: UINT,
+}}
+STRUCT!{struct D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION {
+ pCryptoSession: *mut ID3D11CryptoSession,
+ BlobSize: UINT,
+ pBlob: *mut c_void,
+ pKeyInfoId: *mut GUID,
+ PrivateDataSize: UINT,
+ pPrivateData: *mut c_void,
+}}
+ENUM!{enum D3D11_VIDEO_DECODER_CAPS {
+ D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE = 0x1,
+ D3D11_VIDEO_DECODER_CAPS_NON_REAL_TIME = 0x02,
+ D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_DYNAMIC = 0x04,
+ D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_REQUIRED = 0x08,
+ D3D11_VIDEO_DECODER_CAPS_UNSUPPORTED = 0x10,
+}}
+ENUM!{enum D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS {
+ D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_ROTATION = 0x01,
+ D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_RESIZE = 0x02,
+ D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_COLOR_SPACE_CONVERSION = 0x04,
+ D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_TRIPLE_BUFFER_OUTPUT = 0x08,
+}}
+STRUCT!{struct D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT {
+ Enable: BOOL,
+ Width: UINT,
+ Height: UINT,
+ Format: DXGI_FORMAT,
+}}
+ENUM!{enum D3D11_CRYPTO_SESSION_STATUS {
+ D3D11_CRYPTO_SESSION_STATUS_OK = 0,
+ D3D11_CRYPTO_SESSION_STATUS_KEY_LOST = 1,
+ D3D11_CRYPTO_SESSION_STATUS_KEY_AND_CONTENT_LOST = 2,
+}}
+STRUCT!{struct D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA {
+ PrivateDataSize: UINT,
+ HWProtectionDataSize: UINT,
+ pbInput: [BYTE; 4],
+}}
+STRUCT!{struct D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA {
+ PrivateDataSize: UINT,
+ MaxHWProtectionDataSize: UINT,
+ HWProtectionDataSize: UINT,
+ TransportTime: UINT64,
+ ExecutionTime: UINT64,
+ pbOutput: [BYTE; 4],
+}}
+STRUCT!{struct D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA {
+ HWProtectionFunctionID: UINT,
+ pInputData: *mut D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA,
+ pOutputData: *mut D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA,
+ Status: HRESULT,
+}}
+STRUCT!{struct D3D11_VIDEO_SAMPLE_DESC {
+ Width: UINT,
+ Height: UINT,
+ Format: DXGI_FORMAT,
+ ColorSpace: DXGI_COLOR_SPACE_TYPE,
+}}
+RIDL!{#[uuid(0xa7f026da, 0xa5f8, 0x4487, 0xa5, 0x64, 0x15, 0xe3, 0x43, 0x57, 0x65, 0x1e)]
+interface ID3D11VideoContext1(ID3D11VideoContext1Vtbl):
+ ID3D11VideoContext(ID3D11VideoContextVtbl) {
+ fn SubmitDecoderBuffers1(
+ pDecoder: *mut ID3D11VideoDecoder,
+ NumBuffers: UINT,
+ pBufferDesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC1,
+ ) -> HRESULT,
+ fn GetDataForNewHardwareKey(
+ pCryptoSession: *mut ID3D11CryptoSession,
+ PrivateInputSize: UINT,
+ pPrivateInputData: *const c_void,
+ pPrivateOutputData: *mut UINT64,
+ ) -> HRESULT,
+ fn CheckCryptoSessionStatus(
+ pCryptoSession: *mut ID3D11CryptoSession,
+ pStatus: *mut D3D11_CRYPTO_SESSION_STATUS,
+ ) -> HRESULT,
+ fn DecoderEnableDownsampling(
+ pDecoder: *mut ID3D11VideoDecoder,
+ InputColorSpace: DXGI_COLOR_SPACE_TYPE,
+ pOutputDesc: *const D3D11_VIDEO_SAMPLE_DESC,
+ ReferenceFrameCount: UINT,
+ ) -> HRESULT,
+ fn DecoderUpdateDownsampling(
+ pDecoder: *mut ID3D11VideoDecoder,
+ pOutputDesc: *const D3D11_VIDEO_SAMPLE_DESC,
+ ) -> HRESULT,
+ fn VideoProcessorSetOutputColorSpace1(
+ pVideoProcessor: *mut ID3D11VideoProcessor,
+ ColorSpace: DXGI_COLOR_SPACE_TYPE,
+ ) -> (),
+ fn VideoProcessorSetOutputShaderUsage(
+ pVideoProcessor: *mut ID3D11VideoProcessor,
+ ShaderUsage: BOOL,
+ ) -> (),
+ fn VideoProcessorGetOutputColorSpace1(
+ pVideoProcessor: *mut ID3D11VideoProcessor,
+ pColorSpace: *mut DXGI_COLOR_SPACE_TYPE,
+ ) -> (),
+ fn VideoProcessorGetOutputShaderUsage(
+ pVideoProcessor: *mut ID3D11VideoProcessor,
+ pShaderUsage: *mut BOOL,
+ ) -> (),
+ fn VideoProcessorSetStreamColorSpace1(
+ pVideoProcessor: *mut ID3D11VideoProcessor,
+ StreamIndex: UINT,
+ ColorSpace: DXGI_COLOR_SPACE_TYPE,
+ ) -> (),
+ fn VideoProcessorSetStreamMirror(
+ pVideoProcessor: *mut ID3D11VideoProcessor,
+ StreamIndex: UINT,
+ Enable: BOOL,
+ FlipHorizontal: BOOL,
+ FlipVertical: BOOL,
+ ) -> (),
+ fn VideoProcessorGetStreamColorSpace1(
+ pVideoProcessor: *mut ID3D11VideoProcessor,
+ StreamIndex: UINT,
+ pColorSpace: *mut DXGI_COLOR_SPACE_TYPE,
+ ) -> (),
+ fn VideoProcessorGetStreamMirror(
+ pVideoProcessor: *mut ID3D11VideoProcessor,
+ StreamIndex: UINT,
+ pEnable: *mut BOOL,
+ pFlipHorizontal: *mut BOOL,
+ pFlipVertical: *mut BOOL,
+ ) -> (),
+ fn VideoProcessorGetBehaviorHints(
+ pVideoProcessor: *mut ID3D11VideoProcessor,
+ OutputWidth: UINT,
+ OutputHeight: UINT,
+ OutputFormat: DXGI_FORMAT,
+ StreamCount: UINT,
+ pStreams: *const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT,
+ pBehaviorHints: *mut UINT,
+ ) -> (),
+}}
+RIDL!{#[uuid(0x29da1d51, 0x1321, 0x4454, 0x80, 0x4b, 0xf5, 0xfc, 0x9f, 0x86, 0x1f, 0x0f)]
+interface ID3D11VideoDevice1(ID3D11VideoDevice1Vtbl): ID3D11VideoDevice(ID3D11VideoDeviceVtbl) {
+ fn GetCryptoSessionPrivateDataSize(
+ pCryptoType: *const GUID,
+ pDecoderProfile: *const GUID,
+ pKeyExchangeType: *const GUID,
+ pPrivateInputSize: *mut UINT,
+ pPrivateOutputSize: *mut UINT,
+ ) -> HRESULT,
+ fn GetVideoDecoderCaps(
+ pDecoderProfile: *const GUID,
+ SampleWidth: UINT,
+ SampleHeight: UINT,
+ pFrameRate: *const DXGI_RATIONAL,
+ BitRate: UINT,
+ pCryptoType: *const GUID,
+ pDecoderCaps: *mut UINT,
+ ) -> HRESULT,
+ fn CheckVideoDecoderDownsampling(
+ pInputDesc: *const D3D11_VIDEO_DECODER_DESC,
+ InputColorSpace: DXGI_COLOR_SPACE_TYPE,
+ pInputConfig: *const D3D11_VIDEO_DECODER_CONFIG,
+ pFrameRate: *const DXGI_RATIONAL,
+ pOutputDesc: *const D3D11_VIDEO_SAMPLE_DESC,
+ pSupported: *mut BOOL,
+ pRealTimeHint: *mut BOOL,
+ ) -> HRESULT,
+ fn RecommendVideoDecoderDownsampleParameters(
+ pInputDesc: *const D3D11_VIDEO_DECODER_DESC,
+ InputColorSpace: DXGI_COLOR_SPACE_TYPE,
+ pInputConfig: *const D3D11_VIDEO_DECODER_CONFIG,
+ pRecommendedOutputDesc: *mut D3D11_VIDEO_SAMPLE_DESC,
+ ) -> HRESULT,
+}}
+RIDL!{#[uuid(0x465217f2, 0x5568, 0x43cf, 0xb5, 0xb9, 0xf6, 0x1d, 0x54, 0x53, 0x1c, 0xa1)]
+interface ID3D11VideoProcessorEnumerator1(ID3D11VideoProcessorEnumerator1Vtbl):
+ ID3D11VideoProcessorEnumerator(ID3D11VideoProcessorEnumeratorVtbl) {
+ fn CheckVideoProcessorFormatConversion(
+ InputFormat: DXGI_FORMAT,
+ InputCOlorSpace: DXGI_COLOR_SPACE_TYPE,
+ OutputFormat: DXGI_FORMAT,
+ OutputColorSpace: DXGI_COLOR_SPACE_TYPE,
+ pSupported: *mut BOOL,
+ ) -> HRESULT,
+}}
+RIDL!{#[uuid(0xa04bfb29, 0x08ef, 0x43d6, 0xa4, 0x9c, 0xa9, 0xbd, 0xbd, 0xcb, 0xe6, 0x86)]
+interface ID3D11Device1(ID3D11Device1Vtbl): ID3D11Device(ID3D11DeviceVtbl) {
+ fn GetImmediateContext1(
+ ppImmediateContext: *mut *mut ID3D11DeviceContext1,
+ ) -> (),
+ fn CreateDeferredContext1(
+ ContextFlags: UINT,
+ ppDeferredContext: *mut *mut ID3D11DeviceContext1,
+ ) -> HRESULT,
+ fn CreateBlendState(
+ pBlendStateDesc: *const D3D11_BLEND_DESC1,
+ ppBlendState: *mut *mut ID3D11BlendState1,
+ ) -> HRESULT,
+ fn CreateRasterizerState(
+ pRasterizerDesc: *const D3D11_RASTERIZER_DESC1,
+ ppRasterizerState: *mut *mut ID3D11RasterizerState1,
+ ) -> HRESULT,
+ fn CreateDeviceContextState(
+ Flags: UINT,
+ pFeatureLevels: *const D3D_FEATURE_LEVEL,
+ FeatureLevels: UINT,
+ SDKVersion: UINT,
+ EmulatedInterface: REFIID,
+ pChosenFeatureLevel: *mut D3D_FEATURE_LEVEL,
+ ppContextState: *mut *mut ID3DDeviceContextState,
+ ) -> HRESULT,
+ fn OpenSharedResource1(
+ hResource: HANDLE,
+ returnedInterface: REFIID,
+ ppResource: *mut *mut c_void,
+ ) -> HRESULT,
+ fn OpenSharedResourceByName(
+ Name: LPCWSTR,
+ dwDesiredAccess: DWORD,
+ returnedInterface: REFIID,
+ ppResource: *mut *mut c_void,
+ ) -> HRESULT,
+}}
+RIDL!{#[uuid(0xb2daad8b, 0x03d4, 0x4dbf, 0x95, 0xeb, 0x32, 0xab, 0x4b, 0x63, 0xd0, 0xab)]
+interface ID3DUserDefinedAnnotation(ID3DUserDefinedAnnotationVtbl): IUnknown(IUnknownVtbl) {
+ fn BeginEvent(
+ Name: LPCWSTR,
+ ) -> INT,
+ fn EndEvent() -> INT,
+ fn SetMarker(
+ Name: LPCWSTR,
+ ) -> (),
+ fn GetStatus() -> BOOL,
+}}