Module: wine Branch: master Commit: 0db640eb8fc3a299fb4dd067ddddd71d670a3fdd URL: http://source.winehq.org/git/wine.git/?a=commit;h=0db640eb8fc3a299fb4dd067dd...
Author: Ihsan Akmal ihsanapps@gmail.com Date: Tue Sep 26 17:21:24 2017 +0200
include: Add missing d3d11_1.idl enums and interfaces.
Signed-off-by: Ihsan Akmal ihsanapps@gmail.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
include/d3d11_1.idl | 258 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 254 insertions(+), 4 deletions(-)
diff --git a/include/d3d11_1.idl b/include/d3d11_1.idl index 1a46abf..4fd82f0 100644 --- a/include/d3d11_1.idl +++ b/include/d3d11_1.idl @@ -22,7 +22,8 @@ import "dxgi1_2.idl"; import "d3dcommon.idl"; import "d3d11.idl";
-typedef enum D3D11_LOGIC_OP { +typedef enum D3D11_LOGIC_OP +{ D3D11_LOGIC_OP_CLEAR = 0, D3D11_LOGIC_OP_SET, D3D11_LOGIC_OP_COPY, @@ -41,7 +42,43 @@ typedef enum D3D11_LOGIC_OP { D3D11_LOGIC_OP_OR_INVERTED } D3D11_LOGIC_OP;
-typedef struct _D3D11_RENDER_TARGET_BLEND_DESC1 { +typedef enum D3D11_COPY_FLAGS +{ + D3D11_COPY_NO_OVERWRITE = 0x00000001, + D3D11_COPY_DISCARD = 0x00000002, +} D3D11_COPY_FLAGS; + +typedef enum D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG +{ + D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADED = 0x1, +} D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG; + +typedef enum D3D11_VIDEO_DECODER_CAPS +{ + D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE = 0x01, + 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, +} D3D11_VIDEO_DECODER_CAPS; + +typedef 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, +} D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS; + +typedef enum D3D11_CRYPTO_SESSION_STATUS +{ + D3D11_CRYPTO_SESSION_STATUS_OK = 0x0, + D3D11_CRYPTO_SESSION_STATUS_KEY_LOST = 0x1, + D3D11_CRYPTO_SESSION_STATUS_KEY_AND_CONTENT_LOST = 0x2, +} D3D11_CRYPTO_SESSION_STATUS; + +typedef struct D3D11_RENDER_TARGET_BLEND_DESC1 +{ BOOL BlendEnable; BOOL LogicOpEnable; D3D11_BLEND SrcBlend; @@ -54,13 +91,15 @@ typedef struct _D3D11_RENDER_TARGET_BLEND_DESC1 { UINT8 RenderTargetWriteMask; } D3D11_RENDER_TARGET_BLEND_DESC1;
-typedef struct _D3D11_BLEND_DESC1 { +typedef struct D3D11_BLEND_DESC1 +{ BOOL AlphaToCoverageEnable; BOOL IndependentBlendEnable; D3D11_RENDER_TARGET_BLEND_DESC1 RenderTarget[D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT]; } D3D11_BLEND_DESC1;
-typedef struct _D3D11_RASTERIZER_DESC1 { +typedef struct D3D11_RASTERIZER_DESC1 +{ D3D11_FILL_MODE FillMode; D3D11_CULL_MODE CullMode; BOOL FrontCounterClockwise; @@ -74,6 +113,74 @@ typedef struct _D3D11_RASTERIZER_DESC1 { UINT ForcedSampleCount; } D3D11_RASTERIZER_DESC1;
+typedef struct D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK +{ + UINT ClearSize; + UINT EncryptedSize; +} D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK; + +typedef struct D3D11_VIDEO_DECODER_BUFFER_DESC1 +{ + D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType; + UINT DataOffset; + UINT DataSize; + void *pIV; + UINT IVSize; + D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK *pSubSampleMappingBlock; + UINT SubSampleMappingCount; +} D3D11_VIDEO_DECODER_BUFFER_DESC1; + +typedef struct D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION +{ + ID3D11CryptoSession *pCryptoSession; + UINT BlobSize; + void *pBlob; + GUID *pKeyInfoId; + UINT PrivateDataSize; + void *pPrivateData; +} D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION; + +typedef struct D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT +{ + BOOL Enable; + UINT Width; + UINT Height; + DXGI_FORMAT Format; +} D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT; + +typedef struct D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA +{ + UINT PrivateDataSize; + UINT HWProtectionDataSize; + BYTE pbInput[4]; +} D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA; + +typedef struct D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA +{ + UINT PrivateDataSize; + UINT MaxHWProtectionDataSize; + UINT HWProtectionDataSize; + UINT64 TransportTime; + UINT64 ExecutionTime; + BYTE pbOutput[4]; +} D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA; + +typedef struct D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA +{ + UINT HWProtectionFunctionID; + D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA *pInputData; + D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA *pOutputData; + HRESULT Status; +} D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA; + +typedef struct D3D11_VIDEO_SAMPLE_DESC +{ + UINT Width; + UINT Height; + DXGI_FORMAT Format; + DXGI_COLOR_SPACE_TYPE ColorSpace; +} D3D11_VIDEO_SAMPLE_DESC; + [ uuid(cc86fabe-da55-401d-85e7-e3c9de2877e9), object, @@ -228,6 +335,149 @@ interface ID3D11DeviceContext1 : ID3D11DeviceContext }
[ + uuid(a7f026da-a5f8-4487-a564-15e34357651e), + object, + local, + pointer_default(unique) +] +interface ID3D11VideoContext1 : ID3D11VideoContext +{ + HRESULT SubmitDecoderBuffers1( + ID3D11VideoDecoder *decoder, + UINT buffer_count, + const D3D11_VIDEO_DECODER_BUFFER_DESC1 *buffer_desc + ); + HRESULT GetDataForNewHardwareKey( + ID3D11CryptoSession *session, + UINT input_size, + const void *input_data, + UINT64 *output_data + ); + HRESULT CheckCryptoSessionStatus( + ID3D11CryptoSession *session, + D3D11_CRYPTO_SESSION_STATUS *status + ); + HRESULT DecoderEnableDownsampling( + ID3D11VideoDecoder *decoder, + DXGI_COLOR_SPACE_TYPE colour_space, + const D3D11_VIDEO_SAMPLE_DESC *output_desc, + UINT reference_frame_count + ); + HRESULT DecoderUpdateDownsampling( + ID3D11VideoDecoder *decoder, + const D3D11_VIDEO_SAMPLE_DESC *output_desc + ); + void VideoProcessorSetOutputColorSpace1( + ID3D11VideoProcessor *processor, + DXGI_COLOR_SPACE_TYPE colour_space + ); + void VideoProcessorSetOutputShaderUsage( + ID3D11VideoProcessor *processor, + BOOL shader_usage + ); + void VideoProcessorGetOutputColorSpace1( + ID3D11VideoProcessor *processor, + DXGI_COLOR_SPACE_TYPE *colour_space + ); + void VideoProcessorGetOutputShaderUsage( + ID3D11VideoProcessor *processor, + BOOL *shader_usage + ); + void VideoProcessorSetStreamColorSpace1( + ID3D11VideoProcessor *processor, + UINT stream_index, + DXGI_COLOR_SPACE_TYPE colour_space + ); + void VideoProcessorSetStreamMirror( + ID3D11VideoProcessor *processor, + UINT stream_index, + BOOL enable, + BOOL flip_horizontal, + BOOL flip_vertical + ); + void VideoProcessorGetStreamColorSpace1( + ID3D11VideoProcessor *processor, + UINT stream_index, + DXGI_COLOR_SPACE_TYPE *colour_space + ); + void VideoProcessorGetStreamMirror( + ID3D11VideoProcessor *processor, + UINT stream_index, + BOOL *enable, + BOOL *flip_horizontal, + BOOL *flip_vertical + ); + HRESULT VideoProcessorGetBehaviorHints( + ID3D11VideoProcessor *processor, + UINT output_width, + UINT output_height, + DXGI_FORMAT output_format, + UINT stream_count, + const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT *streams, + UINT *behaviour_hints + ); +} + +[ + uuid(29da1d51-1321-4454-804b-f5fc9f861f0f), + object, + local, + pointer_default(unique) +] +interface ID3D11VideoDevice1 : ID3D11VideoDevice +{ + HRESULT GetCryptoSessionPrivateDataSize( + const GUID *crypto_type, + const GUID *decoder_profile, + const GUID *key_exchange_type, + UINT *input_size, + UINT *output_size + ); + HRESULT GetVideoDecoderCaps( + const GUID *decoder_profile, + UINT sample_width, + UINT sample_height, + const DXGI_RATIONAL *framerate, + UINT bitrate, + const GUID *crypto_type, + UINT *decoder_caps + ); + HRESULT CheckVideoDecoderDownsampling( + const D3D11_VIDEO_DECODER_DESC *input_desc, + DXGI_COLOR_SPACE_TYPE input_colour_space, + const D3D11_VIDEO_DECODER_CONFIG *input_config, + const DXGI_RATIONAL *framerate, + const D3D11_VIDEO_SAMPLE_DESC *output_desc, + BOOL *supported, + BOOL *real_time_hint + ); + HRESULT RecommendVideoDecoderDownsampleParameters( + const D3D11_VIDEO_DECODER_DESC *input_desc, + DXGI_COLOR_SPACE_TYPE input_colour_space, + const D3D11_VIDEO_DECODER_CONFIG *input_config, + const DXGI_RATIONAL *framerate, + D3D11_VIDEO_SAMPLE_DESC *recommended_output_desc + ); +} + +[ + uuid(465217f2-5568-43cf-b5b9-f61d54531ca1), + object, + local, + pointer_default(unique) +] +interface ID3D11VideoProcessorEnumerator1 : ID3D11VideoProcessorEnumerator +{ + HRESULT CheckVideoProcessorFormatConversion( + DXGI_FORMAT input_format, + DXGI_COLOR_SPACE_TYPE input_colour_space, + DXGI_FORMAT output_format, + DXGI_COLOR_SPACE_TYPE output_colour_space, + BOOL *supported + ); +} + +[ uuid(b2daad8b-03d4-4dbf-95eb-32ab4b63d0ab), object, local,