[PATCH 5/6] include: Add missing d3d11_1.idl enums and interfaces.

Henri Verbeet hverbeet at codeweavers.com
Tue Sep 26 10:21:24 CDT 2017


From: Ihsan Akmal <ihsanapps at gmail.com>

Signed-off-by: Ihsan Akmal <ihsanapps at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
 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,
-- 
2.1.4




More information about the wine-patches mailing list