[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