[PATCH 4/4] d3d11_1.idl: Add missing enums and interfaces
Ihsan Akmal
ihsanapps at gmail.com
Sat Sep 23 00:20:17 CDT 2017
Signed-off-by: Ihsan Akmal <ihsanapps at gmail.com>
---
include/d3d11_1.idl | 268 +++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 265 insertions(+), 3 deletions(-)
diff --git a/include/d3d11_1.idl b/include/d3d11_1.idl
index 1a46abf..adc4900 100644
--- a/include/d3d11_1.idl
+++ b/include/d3d11_1.idl
@@ -22,6 +22,12 @@ import "dxgi1_2.idl";
import "d3dcommon.idl";
import "d3d11.idl";
+typedef enum D3D11_COPY_FLAGS
+{
+ D3D11_COPY_NO_OVERWRITE = 0x00000001,
+ D3D11_COPY_DISCARD = 0x00000002,
+} D3D11_COPY_FLAGS;
+
typedef enum D3D11_LOGIC_OP {
D3D11_LOGIC_OP_CLEAR = 0,
D3D11_LOGIC_OP_SET,
@@ -41,7 +47,7 @@ typedef enum D3D11_LOGIC_OP {
D3D11_LOGIC_OP_OR_INVERTED
} D3D11_LOGIC_OP;
-typedef struct _D3D11_RENDER_TARGET_BLEND_DESC1 {
+typedef struct D3D11_RENDER_TARGET_BLEND_DESC1 {
BOOL BlendEnable;
BOOL LogicOpEnable;
D3D11_BLEND SrcBlend;
@@ -54,13 +60,13 @@ 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 +80,103 @@ typedef struct _D3D11_RASTERIZER_DESC1 {
UINT ForcedSampleCount;
} D3D11_RASTERIZER_DESC1;
+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 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 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,
+} 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 struct D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT
+{
+ BOOL Enable;
+ UINT Width;
+ UINT Height;
+ DXGI_FORMAT Format;
+} D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT;
+
+typedef 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,
+} D3D11_CRYPTO_SESSION_STATUS;
+
+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,
@@ -227,6 +330,165 @@ interface ID3D11DeviceContext1 : ID3D11DeviceContext
UINT NumRects);
}
+[
+ uuid(A7F026DA-A5F8-4487-A564-15E34357651E),
+ object,
+ local,
+ pointer_default(unique)
+]
+interface ID3D11VideoContext1 : ID3D11VideoContext
+{
+ HRESULT SubmitDecoderBuffers1(
+ ID3D11VideoDecoder *decoder,
+ UINT num_buffers,
+ const D3D11_VIDEO_DECODER_BUFFER_DESC1 *buffer_desc
+ );
+
+ HRESULT GetDataForNewHardwareKey(
+ ID3D11CryptoSession *crypto_session,
+ UINT private_input_size,
+ const void *private_input_data,
+ UINT64 *private_output_data
+ );
+
+ HRESULT CheckCryptoSessionStatus(
+ ID3D11CryptoSession *crypto_session,
+ D3D11_CRYPTO_SESSION_STATUS *status
+ );
+
+ HRESULT DecoderEnableDownsampling(
+ ID3D11VideoDecoder *decoder,
+ DXGI_COLOR_SPACE_TYPE input_colorspace,
+ const D3D11_VIDEO_SAMPLE_DESC *output_desc,
+ UINT reference_framecount
+ );
+
+ HRESULT DecoderUpdateDownsampling(
+ ID3D11VideoDecoder *decoder,
+ const D3D11_VIDEO_SAMPLE_DESC *output_desc
+ );
+
+ void VideoProcessorSetOutputColorSpace1(
+ ID3D11VideoProcessor *video_processor,
+ DXGI_COLOR_SPACE_TYPE colorspace
+ );
+
+ void VideoProcessorSetOutputShaderUsage(
+ ID3D11VideoProcessor *video_processor,
+ BOOL shader_usage
+ );
+
+ void VideoProcessorGetOutputColorSpace1(
+ ID3D11VideoProcessor *video_processor,
+ DXGI_COLOR_SPACE_TYPE *colorspace
+ );
+
+ void VideoProcessorGetOutputShaderUsage(
+ ID3D11VideoProcessor *video_processor,
+ BOOL *shader_usage
+ );
+
+ void VideoProcessorSetStreamColorSpace1(
+ ID3D11VideoProcessor *video_processor,
+ UINT stream_index,
+ DXGI_COLOR_SPACE_TYPE colorspace
+ );
+
+ void VideoProcessorSetStreamMirror(
+ ID3D11VideoProcessor *video_processor,
+ UINT stream_index,
+ BOOL enable,
+ BOOL flip_horizontal,
+ BOOL flip_vertical
+ );
+
+ void VideoProcessorGetStreamColorSpace1(
+ ID3D11VideoProcessor *video_processor,
+ UINT stream_index,
+ DXGI_COLOR_SPACE_TYPE *colorspace
+ );
+
+ void VideoProcessorGetStreamMirror(
+ ID3D11VideoProcessor *video_processor,
+ UINT stream_index,
+ BOOL *enable,
+ BOOL *flip_horizontal,
+ BOOL *flip_vertical
+ );
+
+ HRESULT VideoProcessorGetBehaviorHints(
+ ID3D11VideoProcessor *video_processor,
+ UINT output_width,
+ UINT output_height,
+ DXGI_FORMAT output_format,
+ UINT stream_count,
+ const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT *streams,
+ UINT *behavior_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 *private_input_size,
+ UINT *private_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_colorspace,
+ 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_colorspace,
+ 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_colorspace,
+ DXGI_FORMAT output_format,
+ DXGI_COLOR_SPACE_TYPE output_colorspace,
+ BOOL *supported
+ );
+}
+
[
uuid(b2daad8b-03d4-4dbf-95eb-32ab4b63d0ab),
object,
--
2.14.1
More information about the wine-patches
mailing list