aboutsummaryrefslogtreecommitdiff
path: root/x86_64-w64-mingw32/include/d3d11.idl
diff options
context:
space:
mode:
Diffstat (limited to 'x86_64-w64-mingw32/include/d3d11.idl')
-rw-r--r--x86_64-w64-mingw32/include/d3d11.idl1098
1 files changed, 1094 insertions, 4 deletions
diff --git a/x86_64-w64-mingw32/include/d3d11.idl b/x86_64-w64-mingw32/include/d3d11.idl
index d5732c94..57d2ceba 100644
--- a/x86_64-w64-mingw32/include/d3d11.idl
+++ b/x86_64-w64-mingw32/include/d3d11.idl
@@ -27,6 +27,11 @@ typedef D3D_PRIMITIVE_TOPOLOGY D3D11_PRIMITIVE_TOPOLOGY;
typedef D3D_SRV_DIMENSION D3D11_SRV_DIMENSION;
typedef RECT D3D11_RECT;
+interface ID3D11Device;
+interface ID3D11ClassLinkage;
+interface ID3D11Resource;
+interface ID3D11VideoProcessorInputView;
+
const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14;
const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4;
const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32;
@@ -87,12 +92,17 @@ const UINT D3D11_DEFAULT_VIEWPORT_WIDTH = 0;
cpp_quote("#define D3D11_FLOAT32_MAX (3.402823466e+38f)")
+const UINT D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 32;
+
const unsigned int D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT = 8;
const UINT D3D11_MAX_MAXANISOTROPY = 16;
const UINT D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT = 32;
const UINT D3D11_VIEWPORT_BOUNDS_MAX = 32767;
const INT D3D11_VIEWPORT_BOUNDS_MIN = -32768;
+const UINT D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15;
+const UINT D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16;
+
const UINT D3D11_SHADER_MAJOR_VERSION = 5;
const UINT D3D11_SHADER_MAX_INSTANCES = 65535;
const UINT D3D11_SHADER_MAX_INTERFACES = 253;
@@ -101,6 +111,8 @@ const UINT D3D11_SHADER_MAX_TYPES = 65535;
const UINT D3D11_SHADER_MINOR_VERSION = 0;
const UINT D3D11_VS_OUTPUT_REGISTER_COUNT = 32;
+const UINT D3D11_OMAC_SIZE = 16;
+
const UINT D3D11_PS_CS_UAV_REGISTER_COMPONENTS = 1;
const UINT D3D11_PS_CS_UAV_REGISTER_COUNT = 8;
const UINT D3D11_PS_CS_UAV_REGISTER_READS_PER_INST = 1;
@@ -223,6 +235,61 @@ typedef enum D3D11_BLEND_OP
D3D11_BLEND_OP_MAX
} D3D11_BLEND_OP;
+typedef enum D3D11_VIDEO_DECODER_BUFFER_TYPE
+{
+ D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS = 0,
+ D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL = 1,
+ D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE = 2,
+ D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL = 3,
+ D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX = 4,
+ D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL = 5,
+ D3D11_VIDEO_DECODER_BUFFER_BITSTREAM = 6,
+ D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR = 7,
+ D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN = 8,
+} D3D11_VIDEO_DECODER_BUFFER_TYPE;
+
+typedef enum D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE
+{
+ D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE = 0,
+ D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND = 1,
+ D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION = 2,
+ D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM = 3,
+} D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE;
+
+typedef enum D3D11_VIDEO_PROCESSOR_OUTPUT_RATE
+{
+ D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL = 0,
+ D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF = 1,
+ D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM = 2,
+} D3D11_VIDEO_PROCESSOR_OUTPUT_RATE;
+
+typedef enum D3D11_VIDEO_PROCESSOR_STEREO_FORMAT
+{
+ D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO = 0,
+ D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL = 1,
+ D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL = 2,
+ D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE = 3,
+ D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET = 4,
+ D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED = 5,
+ D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED = 6,
+ D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD = 7,
+} D3D11_VIDEO_PROCESSOR_STEREO_FORMAT;
+
+typedef enum D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE
+{
+ D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE = 0,
+ D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0 = 1,
+ D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1 = 2,
+} D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE;
+
+typedef enum D3D11_VIDEO_PROCESSOR_ROTATION
+{
+ D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY = 0,
+ D3D11_VIDEO_PROCESSOR_ROTATION_90 = 1,
+ D3D11_VIDEO_PROCESSOR_ROTATION_180 = 2,
+ D3D11_VIDEO_PROCESSOR_ROTATION_270 = 3,
+} D3D11_VIDEO_PROCESSOR_ROTATION;
+
typedef struct D3D11_BOX
{
UINT left;
@@ -362,8 +429,31 @@ typedef enum D3D11_FEATURE
D3D11_FEATURE_FORMAT_SUPPORT,
D3D11_FEATURE_FORMAT_SUPPORT2,
D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS,
+ D3D11_FEATURE_D3D11_OPTIONS,
+ D3D11_FEATURE_ARCHITECTURE_INFO,
+ D3D11_FEATURE_D3D9_OPTIONS,
+ D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT,
+ D3D11_FEATURE_D3D9_SHADOW_SUPPORT
} D3D11_FEATURE;
+typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS
+{
+ BOOL OutputMergerLogicOp;
+ BOOL UAVOnlyRenderingForcedSampleCount;
+ BOOL DiscardAPIsSeenByDriver;
+ BOOL FlagsForUpdateAndCopySeenByDriver;
+ BOOL ClearView;
+ BOOL CopyWithOverlap;
+ BOOL ConstantBufferPartialUpdate;
+ BOOL ConstantBufferOffsetting;
+ BOOL MapNoOverwriteOnDynamicConstantBuffer;
+ BOOL MapNoOverwriteOnDynamicBufferSRV;
+ BOOL MultisampleRTVWithForcedSampleCountOne;
+ BOOL SAD4ShaderInstructions;
+ BOOL ExtendedDoublesShaderInstructions;
+ BOOL ExtendedResourceSharing;
+} D3D11_FEATURE_DATA_D3D11_OPTIONS;
+
typedef enum D3D11_FILL_MODE
{
D3D11_FILL_WIREFRAME = 2,
@@ -505,6 +595,11 @@ typedef enum D3D11_QUERY
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3,
} D3D11_QUERY;
+typedef enum D3D11_QUERY_MISC_FLAG
+{
+ D3D11_QUERY_MISC_PREDICATEHINT = 0x1,
+} D3D11_QUERY_MISC_FLAG;
+
typedef enum D3D11_ASYNC_GETDATA_FLAG
{
D3D11_ASYNC_GETDATA_DONOTFLUSH = 0x0001,
@@ -921,7 +1016,11 @@ typedef enum D3D11_FORMAT_SUPPORT
D3D11_FORMAT_SUPPORT_SHADER_GATHER = 0x00800000,
D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x01000000,
D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW = 0x02000000,
- D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON = 0x04000000
+ D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON = 0x04000000,
+ D3D11_FORMAT_SUPPORT_DECODER_OUTPUT = 0x08000000,
+ D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT = 0x10000000,
+ D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT = 0x20000000,
+ D3D11_FORMAT_SUPPORT_VIDEO_ENCODER = 0x40000000,
} D3D11_FORMAT_SUPPORT;
typedef enum D3D11_CLEAR_FLAG
@@ -1053,6 +1152,72 @@ typedef struct D3D11_RENDER_TARGET_VIEW_DESC
};
} D3D11_RENDER_TARGET_VIEW_DESC;
+cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)")
+cpp_quote("struct CD3D11_RENDER_TARGET_VIEW_DESC : public D3D11_RENDER_TARGET_VIEW_DESC {")
+cpp_quote(" CD3D11_RENDER_TARGET_VIEW_DESC() {}")
+cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(D3D11_RTV_DIMENSION dim, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,")
+cpp_quote(" UINT mip_slice = 0, UINT first_slice = 0, UINT array_size = -1) {")
+cpp_quote(" Format = format;")
+cpp_quote(" ViewDimension = dim;")
+cpp_quote(" switch(dim) {")
+cpp_quote(" case D3D11_RTV_DIMENSION_BUFFER:")
+cpp_quote(" Buffer.FirstElement = mip_slice;")
+cpp_quote(" Buffer.NumElements = first_slice;")
+cpp_quote(" break;")
+cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE1D:")
+cpp_quote(" Texture1D.MipSlice = mip_slice;")
+cpp_quote(" break;")
+cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:")
+cpp_quote(" Texture1DArray.MipSlice = mip_slice;")
+cpp_quote(" Texture1DArray.FirstArraySlice = first_slice;")
+cpp_quote(" Texture1DArray.ArraySize = array_size;")
+cpp_quote(" break;")
+cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE2D:")
+cpp_quote(" Texture2D.MipSlice = mip_slice;")
+cpp_quote(" break;")
+cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:")
+cpp_quote(" Texture2DArray.MipSlice = mip_slice;")
+cpp_quote(" Texture2DArray.FirstArraySlice = first_slice;")
+cpp_quote(" Texture2DArray.ArraySize = array_size;")
+cpp_quote(" break;")
+cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:")
+cpp_quote(" Texture2DMSArray.FirstArraySlice = first_slice;")
+cpp_quote(" Texture2DMSArray.ArraySize = array_size;")
+cpp_quote(" break;")
+cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE3D:")
+cpp_quote(" Texture3D.MipSlice = mip_slice;")
+cpp_quote(" Texture3D.FirstWSlice = first_slice;")
+cpp_quote(" Texture3D.WSize = array_size;")
+cpp_quote(" break;")
+cpp_quote(" default:")
+cpp_quote(" break;")
+cpp_quote(" }")
+cpp_quote(" }")
+cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Buffer*, DXGI_FORMAT format, UINT first_elem,")
+cpp_quote(" UINT elem_cnt) {")
+cpp_quote(" Format = format;")
+cpp_quote(" ViewDimension = D3D11_RTV_DIMENSION_BUFFER;")
+cpp_quote(" Buffer.FirstElement = first_elem;")
+cpp_quote(" Buffer.NumElements = elem_cnt;")
+cpp_quote(" }")
+cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture1D *texture, D3D11_RTV_DIMENSION dim,")
+cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT mip_slice = 0, UINT first_slice = 0,")
+cpp_quote(" UINT array_size = -1);") /* FIXME: implement */
+cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture2D *texture, D3D11_RTV_DIMENSION dim,")
+cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT mip_slice = 0, UINT first_slice = 0,")
+cpp_quote(" UINT array_size = -1);") /* FIXME: implement */
+cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture3D *texture, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,")
+cpp_quote(" UINT mip_slice = 0, UINT first_w_slice = 0, UINT w_slice = -1 );") /* FIXME: implement */
+cpp_quote(" ~CD3D11_RENDER_TARGET_VIEW_DESC() {}")
+cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(const D3D11_RENDER_TARGET_VIEW_DESC &other)")
+cpp_quote(" : D3D11_RENDER_TARGET_VIEW_DESC(other) {}")
+cpp_quote(" operator const D3D11_RENDER_TARGET_VIEW_DESC&() const {")
+cpp_quote(" return *this;")
+cpp_quote(" }")
+cpp_quote("};")
+cpp_quote("#endif")
+
+
typedef struct D3D11_SAMPLER_DESC
{
D3D11_FILTER Filter;
@@ -1131,6 +1296,85 @@ typedef struct D3D11_SHADER_RESOURCE_VIEW_DESC
};
} D3D11_SHADER_RESOURCE_VIEW_DESC;
+cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined( __cplusplus )")
+cpp_quote("struct CD3D11_SHADER_RESOURCE_VIEW_DESC : public D3D11_SHADER_RESOURCE_VIEW_DESC {")
+cpp_quote(" CD3D11_SHADER_RESOURCE_VIEW_DESC() {}")
+cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(D3D11_SRV_DIMENSION dim,")
+cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0,")
+cpp_quote(" UINT mip_levels = -1, UINT first_slice = 0, UINT array_size = -1, UINT flags = 0) {")
+cpp_quote(" Format = format;")
+cpp_quote(" ViewDimension = dim;")
+cpp_quote(" switch(ViewDimension) {")
+cpp_quote(" case D3D11_SRV_DIMENSION_BUFFER:")
+cpp_quote(" Buffer.FirstElement = most_detailed_mip;")
+cpp_quote(" Buffer.NumElements = mip_levels;")
+cpp_quote(" break;")
+cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE1D:")
+cpp_quote(" Texture1D.MostDetailedMip = most_detailed_mip;")
+cpp_quote(" Texture1D.MipLevels = mip_levels;")
+cpp_quote(" break;")
+cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE1DARRAY:")
+cpp_quote(" Texture1DArray.MostDetailedMip = most_detailed_mip;")
+cpp_quote(" Texture1DArray.MipLevels = mip_levels;")
+cpp_quote(" Texture1DArray.FirstArraySlice = first_slice;")
+cpp_quote(" Texture1DArray.ArraySize = array_size;")
+cpp_quote(" break;")
+cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE2D:")
+cpp_quote(" Texture2D.MostDetailedMip = most_detailed_mip;")
+cpp_quote(" Texture2D.MipLevels = mip_levels;")
+cpp_quote(" break;")
+cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE2DARRAY:")
+cpp_quote(" Texture2DArray.MostDetailedMip = most_detailed_mip;")
+cpp_quote(" Texture2DArray.MipLevels = mip_levels;")
+cpp_quote(" Texture2DArray.FirstArraySlice = first_slice;")
+cpp_quote(" Texture2DArray.ArraySize = array_size;")
+cpp_quote(" break;")
+cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY:")
+cpp_quote(" Texture2DMSArray.FirstArraySlice = first_slice;")
+cpp_quote(" Texture2DMSArray.ArraySize = array_size;")
+cpp_quote(" break;")
+cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE3D:")
+cpp_quote(" Texture3D.MostDetailedMip = most_detailed_mip;")
+cpp_quote(" Texture3D.MipLevels = mip_levels;")
+cpp_quote(" break;")
+cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURECUBE:")
+cpp_quote(" TextureCube.MostDetailedMip = most_detailed_mip;")
+cpp_quote(" TextureCube.MipLevels = mip_levels;")
+cpp_quote(" break;")
+cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURECUBEARRAY:")
+cpp_quote(" TextureCubeArray.MostDetailedMip = most_detailed_mip;")
+cpp_quote(" TextureCubeArray.MipLevels = mip_levels;")
+cpp_quote(" TextureCubeArray.First2DArrayFace = first_slice;")
+cpp_quote(" TextureCubeArray.NumCubes = array_size;")
+cpp_quote(" break;")
+cpp_quote(" case D3D11_SRV_DIMENSION_BUFFEREX:")
+cpp_quote(" BufferEx.FirstElement = most_detailed_mip;")
+cpp_quote(" BufferEx.NumElements = mip_levels;")
+cpp_quote(" BufferEx.Flags = flags;")
+cpp_quote(" break;")
+cpp_quote(" default:")
+cpp_quote(" break;")
+cpp_quote(" }")
+cpp_quote(" }")
+cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Buffer*, DXGI_FORMAT format, UINT first_elem,")
+cpp_quote(" UINT elem_cnt, UINT flags = 0);") /* FIXME: implement */
+cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture1D *texture, D3D11_SRV_DIMENSION dim,")
+cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0, UINT mip_levels = -1,")
+cpp_quote(" UINT first_slice = 0, UINT array_size = -1 );") /* FIXME: implement */
+cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture2D *texture, D3D11_SRV_DIMENSION dim,")
+cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0, UINT mip_levels = -1,")
+cpp_quote(" UINT first_slice = 0, UINT array_size = -1 );") /* FIXME: implement */
+cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture3D *texture, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,")
+cpp_quote(" UINT most_detailed_mip = 0, UINT mip_levels = -1 );")
+cpp_quote(" ~CD3D11_SHADER_RESOURCE_VIEW_DESC() {}")
+cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(const D3D11_SHADER_RESOURCE_VIEW_DESC &other)")
+cpp_quote(" : D3D11_SHADER_RESOURCE_VIEW_DESC(other) {}")
+cpp_quote(" operator const D3D11_SHADER_RESOURCE_VIEW_DESC&() const {")
+cpp_quote(" return *this;")
+cpp_quote(" }")
+cpp_quote("};")
+cpp_quote("#endif")
+
typedef struct D3D11_TEXTURE1D_DESC
{
UINT Width;
@@ -1195,9 +1439,300 @@ typedef struct D3D11_TEXTURE3D_DESC
UINT MiscFlags;
} D3D11_TEXTURE3D_DESC;
-/* A couple forward declarations are needed */
-interface ID3D11Device;
-interface ID3D11ClassLinkage;
+typedef struct D3D11_VIDEO_DECODER_DESC
+{
+ GUID Guid;
+ UINT SampleWidth;
+ UINT SampleHeight;
+ DXGI_FORMAT OutputFormat;
+} D3D11_VIDEO_DECODER_DESC;
+
+typedef struct D3D11_VIDEO_DECODER_CONFIG
+{
+ GUID guidConfigBitstreamEncryption;
+ GUID guidConfigMBcontrolEncryption;
+ GUID guidConfigResidDiffEncryption;
+ UINT ConfigBitstreamRaw;
+ UINT ConfigMBcontrolRasterOrder;
+ UINT ConfigResidDiffHost;
+ UINT ConfigSpatialResid8;
+ UINT ConfigResid8Subtraction;
+ UINT ConfigSpatialHost8or9Clipping;
+ UINT ConfigSpatialResidInterleaved;
+ UINT ConfigIntraResidUnsigned;
+ UINT ConfigResidDiffAccelerator;
+ UINT ConfigHostInverseScan;
+ UINT ConfigSpecificIDCT;
+ UINT Config4GroupedCoefs;
+ USHORT ConfigMinRenderTargetBuffCount;
+ USHORT ConfigDecoderSpecific;
+} D3D11_VIDEO_DECODER_CONFIG;
+
+typedef enum D3D11_VIDEO_FRAME_FORMAT
+{
+ D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE = 0,
+ D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST = 1,
+ D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST = 2
+} D3D11_VIDEO_FRAME_FORMAT;
+
+typedef enum D3D11_VIDEO_USAGE
+{
+ D3D11_VIDEO_USAGE_PLAYBACK_NORMAL = 0,
+ D3D11_VIDEO_USAGE_OPTIMAL_SPEED = 1,
+ D3D11_VIDEO_USAGE_OPTIMAL_QUALITY = 2
+} D3D11_VIDEO_USAGE;
+
+typedef struct D3D11_VIDEO_PROCESSOR_CONTENT_DESC
+{
+ D3D11_VIDEO_FRAME_FORMAT InputFrameFormat;
+ DXGI_RATIONAL InputFrameRate;
+ UINT InputWidth;
+ UINT InputHeight;
+ DXGI_RATIONAL OutputFrameRate;
+ UINT OutputWidth;
+ UINT OutputHeight;
+ D3D11_VIDEO_USAGE Usage;
+} D3D11_VIDEO_PROCESSOR_CONTENT_DESC;
+
+typedef struct D3D11_VIDEO_PROCESSOR_CAPS
+{
+ UINT DeviceCaps;
+ UINT FeatureCaps;
+ UINT FilterCaps;
+ UINT InputFormatCaps;
+ UINT AutoStreamCaps;
+ UINT StereoCaps;
+ UINT RateConversionCapsCount;
+ UINT MaxInputStreams;
+ UINT MaxStreamStates;
+} D3D11_VIDEO_PROCESSOR_CAPS;
+
+typedef struct D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS
+{
+ UINT PastFrames;
+ UINT FutureFrames;
+ UINT ProcessorCaps;
+ UINT ITelecineCaps;
+ UINT CustomRateCount;
+} D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS;
+
+typedef struct D3D11_VIDEO_PROCESSOR_CUSTOM_RATE
+{
+ DXGI_RATIONAL CustomRate;
+ UINT OutputFrames;
+ BOOL InputInterlaced;
+ UINT InputFramesOrFields;
+} D3D11_VIDEO_PROCESSOR_CUSTOM_RATE;
+
+typedef enum D3D11_VIDEO_PROCESSOR_FILTER
+{
+ D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS = 0,
+ D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST = 1,
+ D3D11_VIDEO_PROCESSOR_FILTER_HUE = 2,
+ D3D11_VIDEO_PROCESSOR_FILTER_SATURATION = 3,
+ D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION = 4,
+ D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT = 5,
+ D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING = 6,
+ D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT = 7
+} D3D11_VIDEO_PROCESSOR_FILTER;
+
+typedef struct D3D11_VIDEO_PROCESSOR_FILTER_RANGE
+{
+ int Minimum;
+ int Maximum;
+ int Default;
+ float Multiplier;
+} D3D11_VIDEO_PROCESSOR_FILTER_RANGE;
+
+typedef enum D3D11_AUTHENTICATED_CHANNEL_TYPE
+{
+ D3D11_AUTHENTICATED_CHANNEL_D3D11 = 1,
+ D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE = 2,
+ D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE = 3
+} D3D11_AUTHENTICATED_CHANNEL_TYPE;
+
+typedef enum D3D11_VDOV_DIMENSION
+{
+ D3D11_VDOV_DIMENSION_UNKNOWN = 0,
+ D3D11_VDOV_DIMENSION_TEXTURE2D = 1
+} D3D11_VDOV_DIMENSION;
+
+typedef struct D3D11_TEX2D_VDOV
+{
+ UINT ArraySlice;
+} D3D11_TEX2D_VDOV;
+
+typedef struct D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC
+{
+ GUID DecodeProfile;
+ D3D11_VDOV_DIMENSION ViewDimension;
+ union {
+ D3D11_TEX2D_VDOV Texture2D;
+ };
+} D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC;
+
+typedef enum D3D11_VPIV_DIMENSION
+{
+ D3D11_VPIV_DIMENSION_UNKNOWN = 0,
+ D3D11_VPIV_DIMENSION_TEXTURE2D = 1
+} D3D11_VPIV_DIMENSION;
+
+typedef struct D3D11_TEX2D_VPIV
+{
+ UINT MipSlice;
+ UINT ArraySlice;
+} D3D11_TEX2D_VPIV;
+
+typedef struct D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC
+{
+ UINT FourCC;
+ D3D11_VPIV_DIMENSION ViewDimension;
+ union {
+ D3D11_TEX2D_VPIV Texture2D;
+ };
+} D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC;
+
+typedef enum D3D11_VPOV_DIMENSION
+{
+ D3D11_VPOV_DIMENSION_UNKNOWN = 0,
+ D3D11_VPOV_DIMENSION_TEXTURE2D = 1,
+ D3D11_VPOV_DIMENSION_TEXTURE2DARRAY = 2
+} D3D11_VPOV_DIMENSION;
+
+typedef struct D3D11_TEX2D_VPOV
+{
+ UINT MipSlice;
+} D3D11_TEX2D_VPOV;
+
+typedef struct D3D11_TEX2D_ARRAY_VPOV
+{
+ UINT MipSlice;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D11_TEX2D_ARRAY_VPOV;
+
+typedef struct D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC
+{
+ D3D11_VPOV_DIMENSION ViewDimension;
+ union {
+ D3D11_TEX2D_VPOV Texture2D;
+ D3D11_TEX2D_ARRAY_VPOV Texture2DArray;
+ };
+} D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC;
+
+typedef struct D3D11_VIDEO_CONTENT_PROTECTION_CAPS
+{
+ UINT Caps;
+ UINT KeyExchangeTypeCount;
+ UINT BlockAlignmentSize;
+ ULONGLONG ProtectedMemorySize;
+} D3D11_VIDEO_CONTENT_PROTECTION_CAPS;
+
+typedef struct D3D11_ENCRYPTED_BLOCK_INFO
+{
+ UINT NumEncryptedBytesAtBeginning;
+ UINT NumBytesInSkipPattern;
+ UINT NumBytesInEncryptPattern;
+} D3D11_ENCRYPTED_BLOCK_INFO;
+
+typedef struct D3D11_VIDEO_DECODER_BUFFER_DESC
+{
+ D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType;
+ UINT BufferIndex;
+ UINT DataOffset;
+ UINT DataSize;
+ UINT FirstMBaddress;
+ UINT NumMBsInBuffer;
+ UINT Width;
+ UINT Height;
+ UINT Stride;
+ UINT ReservedBits;
+ void *pIV;
+ UINT IVSize;
+ BOOL PartialEncryption;
+ D3D11_ENCRYPTED_BLOCK_INFO EncryptedBlockInfo;
+} D3D11_VIDEO_DECODER_BUFFER_DESC;
+
+typedef struct D3D11_VIDEO_DECODER_EXTENSION
+{
+ UINT Function;
+ void *pPrivateInputData;
+ UINT PrivateInputDataSize;
+ void *pPrivateOutputData;
+ UINT PrivateOutputDataSize;
+ UINT ResourceCount;
+ ID3D11Resource **ppResourceList;
+} D3D11_VIDEO_DECODER_EXTENSION;
+
+typedef struct D3D11_VIDEO_COLOR_YCbCrA
+{
+ float Y;
+ float Cb;
+ float Cr;
+ float A;
+} D3D11_VIDEO_COLOR_YCbCrA;
+
+typedef struct D3D11_VIDEO_COLOR_RGBA
+{
+ float R;
+ float G;
+ float B;
+ float A;
+} D3D11_VIDEO_COLOR_RGBA;
+
+typedef struct D3D11_VIDEO_COLOR
+{
+ union
+ {
+ D3D11_VIDEO_COLOR_YCbCrA YCbCr;
+ D3D11_VIDEO_COLOR_RGBA RGBA;
+ };
+} D3D11_VIDEO_COLOR;
+
+typedef struct D3D11_VIDEO_PROCESSOR_COLOR_SPACE
+{
+ UINT Usage : 1;
+ UINT RGB_Range : 1;
+ UINT YCbCr_Matrix : 1;
+ UINT YCbCr_xvYCC : 1;
+ UINT Nominal_Range : 2;
+ UINT Reserved : 26;
+} D3D11_VIDEO_PROCESSOR_COLOR_SPACE;
+
+typedef struct D3D11_VIDEO_PROCESSOR_STREAM
+{
+ BOOL Enable;
+ UINT OutputIndex;
+ UINT InputFrameOrField;
+ UINT PastFrames;
+ UINT FutureFrames;
+ ID3D11VideoProcessorInputView **ppPastSurfaces;
+ ID3D11VideoProcessorInputView *pInputSurface;
+ ID3D11VideoProcessorInputView **ppFutureSurfaces;
+ ID3D11VideoProcessorInputView **ppPastSurfacesRight;
+ ID3D11VideoProcessorInputView *pInputSurfaceRight;
+ ID3D11VideoProcessorInputView **ppFutureSurfacesRight;
+} D3D11_VIDEO_PROCESSOR_STREAM;
+
+typedef struct D3D11_OMAC
+{
+ BYTE Omac[D3D11_OMAC_SIZE];
+} D3D11_OMAC;
+
+typedef struct D3D11_AUTHENTICATED_CONFIGURE_OUTPUT
+{
+ D3D11_OMAC omac;
+ GUID ConfigureType;
+ HANDLE hChannel;
+ UINT SequenceNumber;
+ HRESULT ReturnCode;
+} D3D11_AUTHENTICATED_CONFIGURE_OUTPUT;
+
+typedef struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT
+{
+ UINT64 Frequency;
+ BOOL Disjoint;
+} D3D11_QUERY_DATA_TIMESTAMP_DISJOINT;
[
object,
@@ -1946,6 +2481,556 @@ interface ID3D11DeviceContext : ID3D11DeviceChild
[
object,
+ uuid(3015a308-dcbd-47aa-a747-192486d14d4a),
+ local,
+ pointer_default(unique)
+]
+interface ID3D11AuthenticatedChannel : ID3D11DeviceChild
+{
+ HRESULT GetCertificateSize(
+ UINT *pCertificateSize);
+ HRESULT GetCertificate(
+ UINT CertificateSize,
+ BYTE *pCertificate);
+ void GetChannelHandle(
+ HANDLE *pChannelHandle);
+}
+
+[
+ object,
+ uuid(9b32f9ad-bdcc-40a6-a39d-d5c865845720),
+ local,
+ pointer_default(unique)
+]
+interface ID3D11CryptoSession : ID3D11DeviceChild
+{
+ void GetCryptoType(
+ GUID *pCryptoType);
+ void GetDecoderProfile(
+ GUID *pDecoderProfile);
+ HRESULT GetCertificateSize(
+ UINT *pCertificateSize);
+ HRESULT GetCertificate(
+ UINT CertificateSize,
+ BYTE *pCertificate);
+ void GetCryptoSessionHandle(
+ HANDLE *pCryptoSessionHandle);
+}
+
+[
+ object,
+ uuid(3c9c5b51-995d-48d1-9b8d-fa5caeded65c),
+ local,
+ pointer_default(unique)
+]
+interface ID3D11VideoDecoder : ID3D11DeviceChild
+{
+ HRESULT GetCreationParameters(
+ D3D11_VIDEO_DECODER_DESC *pVideoDesc,
+ D3D11_VIDEO_DECODER_CONFIG *pConfig);
+ HRESULT GetDriverHandle(
+ HANDLE *pDriverHandle);
+}
+
+[
+ object,
+ uuid(31627037-53ab-4200-9061-05faa9ab45f9),
+ local,
+ pointer_default(unique)
+]
+interface ID3D11VideoProcessorEnumerator : ID3D11DeviceChild
+{
+ HRESULT GetVideoProcessorContentDesc(
+ D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pContentDesc);
+ HRESULT CheckVideoProcessorFormat(
+ DXGI_FORMAT Format,
+ UINT *pFlags);
+ HRESULT GetVideoProcessorCaps(
+ D3D11_VIDEO_PROCESSOR_CAPS *pCaps);
+ HRESULT GetVideoProcessorRateConversionCaps(
+ UINT TypeIndex,
+ D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps);
+ HRESULT GetVideoProcessorCustomRate(
+ UINT TypeIndex,
+ UINT CustomRateIndex,
+ D3D11_VIDEO_PROCESSOR_CUSTOM_RATE *pRate);
+ HRESULT GetVideoProcessorFilterRange(
+ D3D11_VIDEO_PROCESSOR_FILTER Filter,
+ D3D11_VIDEO_PROCESSOR_FILTER_RANGE *pRange);
+}
+
+[
+ object,
+ uuid(1d7b0652-185f-41c6-85ce-0c5be3d4ae6c),
+ local,
+ pointer_default(unique)
+]
+interface ID3D11VideoProcessor : ID3D11DeviceChild
+{
+ void GetContentDesc(
+ D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc);
+ void GetRateConversionCaps(
+ D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps);
+}
+
+[
+ object,
+ uuid(c2931aea-2a85-4f20-860f-fba1fd256e18),
+ local,
+ pointer_default(unique)
+]
+interface ID3D11VideoDecoderOutputView : ID3D11View
+{
+ void GetDesc(
+ D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc);
+}
+
+[
+ object,
+ uuid(11ec5a5f-51dc-4945-ab34-6e8c21300ea5),
+ local,
+ pointer_default(unique)
+]
+interface ID3D11VideoProcessorInputView : ID3D11View
+{
+ void GetDesc(
+ D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc);
+}
+
+[
+ object,
+ uuid(a048285e-25a9-4527-bd93-d68b68c44254),
+ local,
+ pointer_default(unique)
+]
+interface ID3D11VideoProcessorOutputView : ID3D11View
+{
+ void GetDesc(
+ D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc);
+}
+
+[
+ object,
+ uuid(10ec4d5b-975a-4689-b9e4-d0aac30fe333),
+ local,
+ pointer_default(unique)
+]
+interface ID3D11VideoDevice : IUnknown
+{
+ HRESULT CreateVideoDecoder(
+ const D3D11_VIDEO_DECODER_DESC *pVideoDesc,
+ const D3D11_VIDEO_DECODER_CONFIG *pConfig,
+ ID3D11VideoDecoder **ppDecoder);
+ HRESULT CreateVideoProcessor(
+ ID3D11VideoProcessorEnumerator *pEnum,
+ UINT RateConversionIndex,
+ ID3D11VideoProcessor **ppVideoProcessor);
+ HRESULT CreateAuthenticatedChannel(
+ D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,
+ ID3D11AuthenticatedChannel **ppAuthenticatedChannel);
+ HRESULT CreateCryptoSession(
+ const GUID *pCryptoType,
+ const GUID *pDecoderProfile,
+ const GUID *pKeyExchangeType,
+ ID3D11CryptoSession **ppCryptoSession);
+ HRESULT CreateVideoDecoderOutputView(
+ ID3D11Resource *pResource,
+ const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,
+ ID3D11VideoDecoderOutputView **ppVDOVView);
+ HRESULT CreateVideoProcessorInputView(
+ ID3D11Resource *pResource,
+ ID3D11VideoProcessorEnumerator *pEnum,
+ const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc,
+ ID3D11VideoProcessorInputView **ppVPIView);
+ HRESULT CreateVideoProcessorOutputView(
+ ID3D11Resource *pResource,
+ ID3D11VideoProcessorEnumerator *pEnum,
+ const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc,
+ ID3D11VideoProcessorOutputView **ppVPOView);
+ HRESULT CreateVideoProcessorEnumerator(
+ const D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc,
+ ID3D11VideoProcessorEnumerator **ppEnum);
+ UINT GetVideoDecoderProfileCount();
+ HRESULT GetVideoDecoderProfile(
+ UINT Index,
+ GUID *pDecoderProfile);
+ HRESULT CheckVideoDecoderFormat(
+ const GUID *pDecoderProfile,
+ DXGI_FORMAT Format,
+ BOOL *pSupported);
+ HRESULT GetVideoDecoderConfigCount(
+ const D3D11_VIDEO_DECODER_DESC *pDesc,
+ UINT *pCount);
+ HRESULT GetVideoDecoderConfig(
+ const D3D11_VIDEO_DECODER_DESC *pDesc,
+ UINT Index,
+ D3D11_VIDEO_DECODER_CONFIG *pConfig);
+ HRESULT GetContentProtectionCaps(
+ const GUID *pCryptoType,
+ const GUID *pDecoderProfile,
+ D3D11_VIDEO_CONTENT_PROTECTION_CAPS *pCaps);
+ HRESULT CheckCryptoKeyExchange(
+ const GUID *pCryptoType,
+ const GUID *pDecoderProfile,
+ UINT Index,
+ GUID *pKeyExchangeType);
+ HRESULT SetPrivateData(
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+ HRESULT SetPrivateDataInterface(
+ REFGUID guid,
+ const IUnknown *pData);
+}
+
+[
+ object,
+ uuid(61f21c45-3c0e-4a74-9cea-67100d9ad5e4),
+ local,
+ pointer_default(unique)
+]
+interface ID3D11VideoContext : ID3D11DeviceChild
+{
+ HRESULT GetDecoderBuffer(
+ [in] ID3D11VideoDecoder *decoder,
+ [in] D3D11_VIDEO_DECODER_BUFFER_TYPE type,
+ [out] UINT *buffer_size,
+ [out] void **buffer
+ );
+ HRESULT ReleaseDecoderBuffer(
+ [in] ID3D11VideoDecoder *decoder,
+ [in] D3D11_VIDEO_DECODER_BUFFER_TYPE type
+ );
+ HRESULT DecoderBeginFrame(
+ [in] ID3D11VideoDecoder *decoder,
+ [in] ID3D11VideoDecoderOutputView *view,
+ [in] UINT key_size,
+ [in] const void *key
+ );
+ HRESULT DecoderEndFrame(
+ [in] ID3D11VideoDecoder *decoder
+ );
+ HRESULT SubmitDecoderBuffers(
+ [in] ID3D11VideoDecoder *decoder,
+ [in] UINT buffers_count,
+ [in] const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc
+ );
+ HRESULT DecoderExtension(
+ [in] ID3D11VideoDecoder *decoder,
+ [in] const D3D11_VIDEO_DECODER_EXTENSION *extension
+ );
+ void VideoProcessorSetOutputTargetRect(
+ [in] ID3D11VideoProcessor *processor,
+ [in] BOOL enable,
+ [in] const RECT *rect
+ );
+ void VideoProcessorSetOutputBackgroundColor(
+ [in] ID3D11VideoProcessor *processor,
+ [in] BOOL y_cb_cr,
+ [in] const D3D11_VIDEO_COLOR *color
+ );
+ void VideoProcessorSetOutputColorSpace(
+ [in] ID3D11VideoProcessor *processor,
+ [in] const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space
+ );
+ void VideoProcessorSetOutputAlphaFillMode(
+ [in] ID3D11VideoProcessor *processor,
+ [in] D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode,
+ [in] UINT stream_idx
+ );
+ void VideoProcessorSetOutputConstriction(
+ [in] ID3D11VideoProcessor *processor,
+ [in] BOOL enable,
+ [in] SIZE size
+ );
+ void VideoProcessorSetOutputStereoMode(
+ [in] ID3D11VideoProcessor *processor,
+ [in] BOOL enable
+ );
+ HRESULT VideoProcessorSetOutputExtension(
+ [in] ID3D11VideoProcessor *processor,
+ [in] const GUID *guid,
+ [in] UINT data_size,
+ [in] void *data
+ );
+ void VideoProcessorGetOutputTargetRect(
+ [in] ID3D11VideoProcessor *processor,
+ [out] BOOL *enabled,
+ [out] RECT *rect
+ );
+ void VideoProcessorGetOutputBackgroundColor(
+ [in] ID3D11VideoProcessor *processor,
+ [out] BOOL *y_cb_cr,
+ [out] D3D11_VIDEO_COLOR *color
+ );
+ void VideoProcessorGetOutputColorSpace(
+ [in] ID3D11VideoProcessor *processor,
+ [out] D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space
+ );
+ void VideoProcessorGetOutputAlphaFillMode(
+ [in] ID3D11VideoProcessor *processor,
+ [out] D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode,
+ [out] UINT *stream_idx
+ );
+ void VideoProcessorGetOutputConstriction(
+ [in] ID3D11VideoProcessor *processor,
+ [out] BOOL *enabled,
+ [out] SIZE *size
+ );
+ void VideoProcessorGetOutputStereoMode(
+ [in] ID3D11VideoProcessor *processor,
+ [out] BOOL *enabled
+ );
+ HRESULT VideoProcessorGetOutputExtension(
+ [in] ID3D11VideoProcessor *processor,
+ [in] const GUID *guid,
+ [in] UINT data_size,
+ [out] void *data
+ );
+ void VideoProcessorSetStreamFrameFormat(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] D3D11_VIDEO_FRAME_FORMAT format
+ );
+ void VideoProcessorSetStreamColorSpace(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space
+ );
+ void VideoProcessorSetStreamOutputRate(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate,
+ [in] BOOL repeat,
+ [in] const DXGI_RATIONAL *custom_rate
+ );
+ void VideoProcessorSetStreamSourceRect(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable,
+ [in] const RECT *rect
+ );
+ void VideoProcessorSetStreamDestRect(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable,
+ [in] const RECT *rect
+ );
+ void VideoProcessorSetStreamAlpha(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable,
+ [in] float alpha
+ );
+ void VideoProcessorSetStreamPalette(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] UINT entry_count,
+ [in] const UINT *entries
+ );
+ void VideoProcessorSetStreamPixelAspectRatio(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable,
+ [in] const DXGI_RATIONAL *src_aspect_ratio,
+ [in] const DXGI_RATIONAL *dst_aspect_ratio
+ );
+ void VideoProcessorSetStreamLumaKey(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable,
+ [in] float lower,
+ [in] float upper
+ );
+ void VideoProcessorSetStreamStereoFormat(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable,
+ [in] D3D11_VIDEO_PROCESSOR_STEREO_FORMAT format,
+ [in] BOOL left_view_frame0,
+ [in] BOOL base_view_frame0,
+ [in] D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE flip_mode,
+ [in] int mono_offset
+ );
+ void VideoProcessorSetStreamAutoProcessingMode(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable
+ );
+ void VideoProcessorSetStreamFilter(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] D3D11_VIDEO_PROCESSOR_FILTER filter,
+ [in] BOOL enable,
+ [in] int level
+ );
+ HRESULT VideoProcessorSetStreamExtension(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] const GUID *guid,
+ [in] UINT data_size,
+ [in] void *data
+ );
+ void VideoProcessorGetStreamFrameFormat(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] D3D11_VIDEO_FRAME_FORMAT *format
+ );
+ void VideoProcessorGetStreamColorSpace(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space
+ );
+ void VideoProcessorGetStreamOutputRate(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate,
+ [out] BOOL *repeat,
+ [out] DXGI_RATIONAL *custom_rate
+ );
+ void VideoProcessorGetStreamSourceRect(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enabled,
+ [out] RECT *rect
+ );
+ void VideoProcessorGetStreamDestRect(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enabled,
+ [out] RECT *rect
+ );
+ void VideoProcessorGetStreamAlpha(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enabled,
+ [out] float *alpha
+ );
+ void VideoProcessorGetStreamPalette(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] UINT entry_count,
+ [out] UINT *entries
+ );
+ void VideoProcessorGetStreamPixelAspectRatio(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enabled,
+ [out] DXGI_RATIONAL *src_aspect_ratio,
+ [out] DXGI_RATIONAL *dst_aspect_ratio
+ );
+ void VideoProcessorGetStreamLumaKey(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enabled,
+ [out] float *lower,
+ [out] float *upper
+ );
+ void VideoProcessorGetStreamStereoFormat(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enabled,
+ [out] D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *format,
+ [out] BOOL *left_view_frame0,
+ [out] BOOL *base_view_frame0,
+ [out] D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *flip_mode,
+ [out] int *mono_offset
+ );
+ void VideoProcessorGetStreamAutoProcessingMode(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enabled
+ );
+ void VideoProcessorGetStreamFilter(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] D3D11_VIDEO_PROCESSOR_FILTER filter,
+ [out] BOOL *enabled,
+ [out] int *level
+ );
+ HRESULT VideoProcessorGetStreamExtension(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] const GUID *guid,
+ [in] UINT data_size,
+ [out] void *data
+ );
+ HRESULT VideoProcessorBlt(
+ [in] ID3D11VideoProcessor *processor,
+ [in] ID3D11VideoProcessorOutputView *view,
+ [in] UINT frame_idx,
+ [in] UINT stream_count,
+ [in] const D3D11_VIDEO_PROCESSOR_STREAM *streams
+ );
+ HRESULT NegotiateCryptoSessionKeyExchange(
+ [in] ID3D11CryptoSession *session,
+ [in] UINT data_size,
+ [in, out] void *data
+ );
+ void EncryptionBlt(
+ [in] ID3D11CryptoSession *session,
+ [in] ID3D11Texture2D *src_surface,
+ [in] ID3D11Texture2D *dst_surface,
+ [in] UINT iv_size,
+ [in, out] void *iv
+ );
+ void DecryptionBlt(
+ [in] ID3D11CryptoSession *session,
+ [in] ID3D11Texture2D *src_surface,
+ [in] ID3D11Texture2D *dst_surface,
+ [in] D3D11_ENCRYPTED_BLOCK_INFO *block_info,
+ [in] UINT key_size,
+ [in] const void *key,
+ [in] UINT iv_size,
+ [in, out] void *iv
+ );
+ void StartSessionKeyRefresh(
+ [in] ID3D11CryptoSession *session,
+ [in] UINT random_number_size,
+ [out] void *random_number
+ );
+ void FinishSessionKeyRefresh(
+ [in] ID3D11CryptoSession *session
+ );
+ HRESULT GetEncryptionBltKey(
+ [in] ID3D11CryptoSession *session,
+ [in] UINT key_size,
+ [out] void *key
+ );
+ HRESULT NegotiateAuthenticatedChannelKeyExchange(
+ [in] ID3D11AuthenticatedChannel *channel,
+ [in] UINT data_size,
+ [in, out] void *data
+ );
+ HRESULT QueryAuthenticatedChannel(
+ [in] ID3D11AuthenticatedChannel *channel,
+ [in] UINT input_size,
+ [in] const void *input,
+ [in] UINT output_size,
+ [out] void *output
+ );
+ HRESULT ConfigureAuthenticatedChannel(
+ [in] ID3D11AuthenticatedChannel *channel,
+ [in] UINT input_size,
+ [in] const void *input,
+ [out] D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output
+ );
+ void VideoProcessorSetStreamRotation(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [in] BOOL enable,
+ [in] D3D11_VIDEO_PROCESSOR_ROTATION rotation
+ );
+ void VideoProcessorGetStreamRotation(
+ [in] ID3D11VideoProcessor *processor,
+ [in] UINT stream_idx,
+ [out] BOOL *enable,
+ [out] D3D11_VIDEO_PROCESSOR_ROTATION *rotation
+ );
+}
+
+[
+ object,
local,
uuid(db6f6ddb-ac77-4e88-8253-819df9bbf140)
]
@@ -2134,3 +3219,8 @@ cpp_quote(" UINT,UINT,ID3D11Device**,D3D_FEATURE_LEVEL*,ID3D11DeviceContext**
cpp_quote("typedef HRESULT (WINAPI *PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN)(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,")
cpp_quote(" const D3D_FEATURE_LEVEL*,UINT,UINT,const DXGI_SWAP_CHAIN_DESC*,IDXGISwapChain**,ID3D11Device**,")
cpp_quote(" D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);")
+
+[local] HRESULT __stdcall D3D11CreateDeviceAndSwapChain(IDXGIAdapter *adapter, D3D_DRIVER_TYPE driver_type,
+ HMODULE swrast, UINT flags, const D3D_FEATURE_LEVEL *feature_levels, UINT levels, UINT sdk_version,
+ const DXGI_SWAP_CHAIN_DESC *swapchain_desc, IDXGISwapChain **swapchain, ID3D11Device **device,
+ D3D_FEATURE_LEVEL *obtained_feature_level, ID3D11DeviceContext **immediate_context);