[vlc-devel] [PATCH] d3d11va: add a Direct3D11 decoder using avcodec
Steve Lhomme
robUx4 at videolabs.io
Tue May 12 13:16:56 CEST 2015
---
the necessary patch to libav is pending
the patch to d3d11.h in mingw-w64 is also pending for approval so a copy is provided in contribs
currently outputs NV12 planes, it could output D3D11 surfaces later
---
NEWS | 1 +
configure.ac | 36 +
contrib/src/d3d11/d3d11.h | 9859 +++++++++++++++++++++++++++++++++++++++
contrib/src/d3d11/rules.mak | 9 +
contrib/src/ffmpeg/rules.mak | 2 +-
modules/codec/Makefile.am | 8 +
modules/codec/avcodec/d3d11va.c | 1389 ++++++
modules/codec/avcodec/va.c | 2 +
8 files changed, 11305 insertions(+), 1 deletion(-)
create mode 100644 contrib/src/d3d11/d3d11.h
create mode 100644 contrib/src/d3d11/rules.mak
create mode 100644 modules/codec/avcodec/d3d11va.c
diff --git a/NEWS b/NEWS
index 8451001..0569c89 100644
--- a/NEWS
+++ b/NEWS
@@ -36,6 +36,7 @@ Decoder:
* Support TDSC, Canopus HQX
* Support HEVC hardware decoding on Windows, using DxVA2
* Basic TTML subtitles support
+ * Support hardware decoding using Direct3D11
Demuxers:
* Support HD-DVD .evo (H.264, VC-1, MPEG-2, PCM, AC-3, E-AC3, MLP, DTS)
diff --git a/configure.ac b/configure.ac
index 6d5d0e2..05c0dfd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2390,6 +2390,42 @@ AS_IF([test "${enable_dxva2}" != "no"], [
AM_CONDITIONAL([HAVE_AVCODEC_DXVA2], [test "${have_avcodec_dxva2}" = "yes"])
dnl
+dnl d3d11va needs avcodec
+dnl
+AC_ARG_ENABLE(d3d11va,
+ [ --enable-d3d11va D3D11 GPU decoding support (default auto)])
+
+have_avcodec_d3d11va="no"
+AS_IF([test "${enable_d3d11va}" != "no"], [
+ if test "${SYS}" = "mingw32"; then
+ AS_IF([test "x${have_avcodec}" = "xyes"], [
+ AC_CHECK_TYPES([ID3D11VideoDecoder],
+ [
+ AC_CHECK_HEADERS(libavcodec/d3d11va.h, [
+ AC_MSG_NOTICE([D3D11 acceleration activated])
+ have_avcodec_d3d11va="yes"
+ ],[
+ AS_IF([test "${enable_d3d11va}" = "yes"],
+ [AC_MSG_ERROR([d3d11va is present but libavcodec/d3d11va.h is missing])],
+ [AC_MSG_WARN([d3d11va is present but libavcodec/d3d11va.h is missing ])])
+ ], [#undef _WIN32_WINNT
+ /* D3D11 is only available in Vista and above */
+ #define _WIN32_WINNT 0x600])
+ ],[
+ AS_IF([test "${enable_d3d11va}" = "yes"],
+ [AC_MSG_ERROR([Could not find required ID3D11VideoDecoder in d3d11.h])],
+ [AC_MSG_WARN([ID3D11VideoDecoder not found])])
+ ], [#include <d3d11.h>])
+ ],[
+ AS_IF([test "x${enable_d3d11va}" != "x"], [
+ AC_MSG_ERROR([--enable-d3d11va and --disable-avcodec options are mutually exclusive.])
+ ])
+ ])
+ fi
+])
+AM_CONDITIONAL([HAVE_AVCODEC_D3D11VA], [test "${have_avcodec_d3d11va}" = "yes"])
+
+dnl
dnl vda needs avcodec
dnl
AC_ARG_ENABLE(vda,
diff --git a/contrib/src/d3d11/d3d11.h b/contrib/src/d3d11/d3d11.h
new file mode 100644
index 0000000..5ca13e4
--- /dev/null
+++ b/contrib/src/d3d11/d3d11.h
@@ -0,0 +1,9859 @@
+/*** Autogenerated by WIDL 1.6 from direct-x/include/d3d11.idl - Do not edit ***/
+
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+
+#include <rpc.h>
+#include <rpcndr.h>
+
+#ifndef COM_NO_WINDOWS_H
+#include <windows.h>
+#include <ole2.h>
+#endif
+
+#ifndef __d3d11_h__
+#define __d3d11_h__
+
+/* Forward declarations */
+
+#ifndef __ID3D11DeviceChild_FWD_DEFINED__
+#define __ID3D11DeviceChild_FWD_DEFINED__
+typedef interface ID3D11DeviceChild ID3D11DeviceChild;
+#endif
+
+#ifndef __ID3D11Asynchronous_FWD_DEFINED__
+#define __ID3D11Asynchronous_FWD_DEFINED__
+typedef interface ID3D11Asynchronous ID3D11Asynchronous;
+#endif
+
+#ifndef __ID3D11Query_FWD_DEFINED__
+#define __ID3D11Query_FWD_DEFINED__
+typedef interface ID3D11Query ID3D11Query;
+#endif
+
+#ifndef __ID3D11Resource_FWD_DEFINED__
+#define __ID3D11Resource_FWD_DEFINED__
+typedef interface ID3D11Resource ID3D11Resource;
+#endif
+
+#ifndef __ID3D11View_FWD_DEFINED__
+#define __ID3D11View_FWD_DEFINED__
+typedef interface ID3D11View ID3D11View;
+#endif
+
+#ifndef __ID3D11BlendState_FWD_DEFINED__
+#define __ID3D11BlendState_FWD_DEFINED__
+typedef interface ID3D11BlendState ID3D11BlendState;
+#endif
+
+#ifndef __ID3D11Buffer_FWD_DEFINED__
+#define __ID3D11Buffer_FWD_DEFINED__
+typedef interface ID3D11Buffer ID3D11Buffer;
+#endif
+
+#ifndef __ID3D11ClassInstance_FWD_DEFINED__
+#define __ID3D11ClassInstance_FWD_DEFINED__
+typedef interface ID3D11ClassInstance ID3D11ClassInstance;
+#endif
+
+#ifndef __ID3D11ClassLinkage_FWD_DEFINED__
+#define __ID3D11ClassLinkage_FWD_DEFINED__
+typedef interface ID3D11ClassLinkage ID3D11ClassLinkage;
+#endif
+
+#ifndef __ID3D11CommandList_FWD_DEFINED__
+#define __ID3D11CommandList_FWD_DEFINED__
+typedef interface ID3D11CommandList ID3D11CommandList;
+#endif
+
+#ifndef __ID3D11ComputeShader_FWD_DEFINED__
+#define __ID3D11ComputeShader_FWD_DEFINED__
+typedef interface ID3D11ComputeShader ID3D11ComputeShader;
+#endif
+
+#ifndef __ID3D11Counter_FWD_DEFINED__
+#define __ID3D11Counter_FWD_DEFINED__
+typedef interface ID3D11Counter ID3D11Counter;
+#endif
+
+#ifndef __ID3D11DepthStencilState_FWD_DEFINED__
+#define __ID3D11DepthStencilState_FWD_DEFINED__
+typedef interface ID3D11DepthStencilState ID3D11DepthStencilState;
+#endif
+
+#ifndef __ID3D11DepthStencilView_FWD_DEFINED__
+#define __ID3D11DepthStencilView_FWD_DEFINED__
+typedef interface ID3D11DepthStencilView ID3D11DepthStencilView;
+#endif
+
+#ifndef __ID3D11DomainShader_FWD_DEFINED__
+#define __ID3D11DomainShader_FWD_DEFINED__
+typedef interface ID3D11DomainShader ID3D11DomainShader;
+#endif
+
+#ifndef __ID3D11GeometryShader_FWD_DEFINED__
+#define __ID3D11GeometryShader_FWD_DEFINED__
+typedef interface ID3D11GeometryShader ID3D11GeometryShader;
+#endif
+
+#ifndef __ID3D11HullShader_FWD_DEFINED__
+#define __ID3D11HullShader_FWD_DEFINED__
+typedef interface ID3D11HullShader ID3D11HullShader;
+#endif
+
+#ifndef __ID3D11InputLayout_FWD_DEFINED__
+#define __ID3D11InputLayout_FWD_DEFINED__
+typedef interface ID3D11InputLayout ID3D11InputLayout;
+#endif
+
+#ifndef __ID3D11PixelShader_FWD_DEFINED__
+#define __ID3D11PixelShader_FWD_DEFINED__
+typedef interface ID3D11PixelShader ID3D11PixelShader;
+#endif
+
+#ifndef __ID3D11Predicate_FWD_DEFINED__
+#define __ID3D11Predicate_FWD_DEFINED__
+typedef interface ID3D11Predicate ID3D11Predicate;
+#endif
+
+#ifndef __ID3D11RasterizerState_FWD_DEFINED__
+#define __ID3D11RasterizerState_FWD_DEFINED__
+typedef interface ID3D11RasterizerState ID3D11RasterizerState;
+#endif
+
+#ifndef __ID3D11RenderTargetView_FWD_DEFINED__
+#define __ID3D11RenderTargetView_FWD_DEFINED__
+typedef interface ID3D11RenderTargetView ID3D11RenderTargetView;
+#endif
+
+#ifndef __ID3D11SamplerState_FWD_DEFINED__
+#define __ID3D11SamplerState_FWD_DEFINED__
+typedef interface ID3D11SamplerState ID3D11SamplerState;
+#endif
+
+#ifndef __ID3D11ShaderResourceView_FWD_DEFINED__
+#define __ID3D11ShaderResourceView_FWD_DEFINED__
+typedef interface ID3D11ShaderResourceView ID3D11ShaderResourceView;
+#endif
+
+#ifndef __ID3D11Texture1D_FWD_DEFINED__
+#define __ID3D11Texture1D_FWD_DEFINED__
+typedef interface ID3D11Texture1D ID3D11Texture1D;
+#endif
+
+#ifndef __ID3D11Texture2D_FWD_DEFINED__
+#define __ID3D11Texture2D_FWD_DEFINED__
+typedef interface ID3D11Texture2D ID3D11Texture2D;
+#endif
+
+#ifndef __ID3D11Texture3D_FWD_DEFINED__
+#define __ID3D11Texture3D_FWD_DEFINED__
+typedef interface ID3D11Texture3D ID3D11Texture3D;
+#endif
+
+#ifndef __ID3D11UnorderedAccessView_FWD_DEFINED__
+#define __ID3D11UnorderedAccessView_FWD_DEFINED__
+typedef interface ID3D11UnorderedAccessView ID3D11UnorderedAccessView;
+#endif
+
+#ifndef __ID3D11VertexShader_FWD_DEFINED__
+#define __ID3D11VertexShader_FWD_DEFINED__
+typedef interface ID3D11VertexShader ID3D11VertexShader;
+#endif
+
+#ifndef __ID3D11DeviceContext_FWD_DEFINED__
+#define __ID3D11DeviceContext_FWD_DEFINED__
+typedef interface ID3D11DeviceContext ID3D11DeviceContext;
+#endif
+
+#ifndef __ID3D11Device_FWD_DEFINED__
+#define __ID3D11Device_FWD_DEFINED__
+typedef interface ID3D11Device ID3D11Device;
+#endif
+
+#ifndef __ID3D11VideoDecoderOutputView_FWD_DEFINED__
+#define __ID3D11VideoDecoderOutputView_FWD_DEFINED__
+typedef interface ID3D11VideoDecoderOutputView ID3D11VideoDecoderOutputView;
+#endif
+
+#ifndef __ID3D11VideoDecoder_FWD_DEFINED__
+#define __ID3D11VideoDecoder_FWD_DEFINED__
+typedef interface ID3D11VideoDecoder ID3D11VideoDecoder;
+#endif
+
+#ifndef __ID3D11VideoContext_FWD_DEFINED__
+#define __ID3D11VideoContext_FWD_DEFINED__
+typedef interface ID3D11VideoContext ID3D11VideoContext;
+#endif
+
+#ifndef __ID3D11VideoDevice_FWD_DEFINED__
+#define __ID3D11VideoDevice_FWD_DEFINED__
+typedef interface ID3D11VideoDevice ID3D11VideoDevice;
+#endif
+
+/* Headers for imported files */
+
+#include <oaidl.h>
+#include <ocidl.h>
+#include <dxgi.h>
+#include <d3dcommon.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef D3D_PRIMITIVE D3D11_PRIMITIVE;
+typedef D3D_PRIMITIVE_TOPOLOGY D3D11_PRIMITIVE_TOPOLOGY;
+typedef D3D_SRV_DIMENSION D3D11_SRV_DIMENSION;
+typedef RECT D3D11_RECT;
+#define D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT (14)
+
+#define D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS (4)
+
+#define D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT (32)
+
+#define D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15)
+
+#define D3D11_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT (16)
+
+#define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS (4)
+
+#define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT (15)
+
+#define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST (1)
+
+#define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS (1)
+
+#define D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64)
+
+#define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS (4)
+
+#define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT (1)
+
+#define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST (1)
+
+#define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS (1)
+
+#define D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT (32)
+
+#define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS (1)
+
+#define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128)
+
+#define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST (1)
+
+#define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS (1)
+
+#define D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT (128)
+
+#define D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS (1)
+
+#define D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT (16)
+
+#define D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST (1)
+
+#define D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS (1)
+
+#define D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT (16)
+
+#define D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32)
+
+#define D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS (4)
+
+#define D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT (32)
+
+#define D3D11_COMMONSHADER_TEMP_REGISTER_COUNT (4096)
+
+#define D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST (3)
+
+#define D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS (3)
+
+#define D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX (10)
+
+#define D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN (-10)
+
+#define D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE (-8)
+
+#define D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE (7)
+
+#define D3D11_DEFAULT_DEPTH_BIAS (0)
+
+#define D3D11_DEFAULT_DEPTH_BIAS_CLAMP 0.0f
+#define D3D11_DEFAULT_MAX_ANISOTROPY (16)
+
+#define D3D11_DEFAULT_MIP_LOD_BIAS 0.0f
+#define D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX (0)
+
+#define D3D11_DEFAULT_SAMPLE_MASK (0xffffffff)
+
+#define D3D11_DEFAULT_SCISSOR_ENDX (0)
+
+#define D3D11_DEFAULT_SCISSOR_ENDY (0)
+
+#define D3D11_DEFAULT_SCISSOR_STARTX (0)
+
+#define D3D11_DEFAULT_SCISSOR_STARTY (0)
+
+#define D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS 0.0f
+#define D3D11_DEFAULT_STENCIL_READ_MASK (0xff)
+
+#define D3D11_DEFAULT_STENCIL_REFERENCE (0)
+
+#define D3D11_DEFAULT_STENCIL_WRITE_MASK (0xff)
+
+#define D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX (0)
+
+#define D3D11_DEFAULT_VIEWPORT_HEIGHT (0)
+
+#define D3D11_DEFAULT_VIEWPORT_MAX_DEPTH 0.0f
+#define D3D11_DEFAULT_VIEWPORT_MIN_DEPTH 0.0f
+#define D3D11_DEFAULT_VIEWPORT_TOPLEFTX (0)
+
+#define D3D11_DEFAULT_VIEWPORT_TOPLEFTY (0)
+
+#define D3D11_DEFAULT_VIEWPORT_WIDTH (0)
+
+#define D3D11_FLOAT32_MAX (3.402823466e+38f)
+#define D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT (8)
+
+#define D3D11_MAX_MAXANISOTROPY (16)
+
+#define D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT (32)
+
+#define D3D11_VIEWPORT_BOUNDS_MAX (32767)
+
+#define D3D11_VIEWPORT_BOUNDS_MIN (-32768)
+
+#define D3D11_SHADER_MAJOR_VERSION (5)
+
+#define D3D11_SHADER_MAX_INSTANCES (65535)
+
+#define D3D11_SHADER_MAX_INTERFACES (253)
+
+#define D3D11_SHADER_MAX_INTERFACE_CALL_SITES (4096)
+
+#define D3D11_SHADER_MAX_TYPES (65535)
+
+#define D3D11_SHADER_MINOR_VERSION (0)
+
+#define D3D11_VS_OUTPUT_REGISTER_COUNT (32)
+
+#define D3D11_PS_CS_UAV_REGISTER_COMPONENTS (1)
+
+#define D3D11_PS_CS_UAV_REGISTER_COUNT (8)
+
+#define D3D11_PS_CS_UAV_REGISTER_READS_PER_INST (1)
+
+#define D3D11_PS_CS_UAV_REGISTER_READ_PORTS (1)
+
+#define D3D11_PS_FRONTFACING_DEFAULT_VALUE (0xffffffff)
+
+#define D3D11_PS_FRONTFACING_FALSE_VALUE (0)
+
+#define D3D11_PS_FRONTFACING_TRUE_VALUE (0xffffffff)
+
+#define D3D11_PS_INPUT_REGISTER_COMPONENTS (4)
+
+#define D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT (32)
+
+#define D3D11_PS_INPUT_REGISTER_COUNT (32)
+
+#define D3D11_PS_INPUT_REGISTER_READS_PER_INST (2)
+
+#define D3D11_PS_INPUT_REGISTER_READ_PORTS (1)
+
+#define D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.0f)
+#define D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS (1)
+
+#define D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT (32)
+
+#define D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT (1)
+
+#define D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS (1)
+
+#define D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT (32)
+
+#define D3D11_PS_OUTPUT_MASK_REGISTER_COUNT (1)
+
+#define D3D11_PS_OUTPUT_REGISTER_COMPONENTS (4)
+
+#define D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT (32)
+
+#define D3D11_PS_OUTPUT_REGISTER_COUNT (8)
+
+#define D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.5f)
+#define D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT (16)
+
+#define D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE (4096)
+
+#define D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (27)
+
+#define D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
+
+#define D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE (4096)
+
+#define D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (32)
+
+#define D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (32)
+
+#define D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (16384)
+
+#define D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT (1024)
+
+#define D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
+
+#define D3D11_REQ_MAXANISOTROPY (16)
+
+#define D3D11_REQ_MIP_LEVELS (15)
+
+#define D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES (2048)
+
+#define D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE (4096)
+
+#define D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH (16384)
+
+#define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128)
+
+#define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0.25f)
+#define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM (2048)
+
+#define D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP (20)
+
+#define D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE (4096)
+
+#define D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (2048)
+
+#define D3D11_REQ_TEXTURE1D_U_DIMENSION (16384)
+
+#define D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (2048)
+
+#define D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384)
+
+#define D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048)
+
+#define D3D11_REQ_TEXTURECUBE_DIMENSION (16384)
+
+#define D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL (0)
+
+#define D3D11_SHIFT_INSTRUCTION_PAD_VALUE (0)
+
+#define D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT (5)
+
+#define D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES (2048)
+
+#define D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES (512)
+
+#define D3D11_SO_BUFFER_SLOT_COUNT (4)
+
+#define D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP (0xffffffff)
+
+#define D3D11_SO_NO_RASTERIZED_STREAM (0xffffffff)
+
+#define D3D11_SO_OUTPUT_COMPONENT_COUNT (128)
+
+#define D3D11_SO_STREAM_COUNT (4)
+
+#define D3D11_SPEC_DATE_DAY (16)
+
+#define D3D11_SPEC_DATE_MONTH (5)
+
+#define D3D11_SPEC_DATE_YEAR (2011)
+
+#define D3D11_SPEC_VERSION (1.07)
+#define D3D11_SRGB_GAMMA (2.2f)
+#define D3D11_SRGB_TO_FLOAT_DENOMINATOR_1 (12.92f)
+#define D3D11_SRGB_TO_FLOAT_DENOMINATOR_2 (1.055f)
+#define D3D11_SRGB_TO_FLOAT_EXPONENT (2.4f)
+#define D3D11_SRGB_TO_FLOAT_OFFSET (0.055f)
+#define D3D11_SRGB_TO_FLOAT_THRESHOLD (0.04045f)
+#define D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP (0.5f)
+#define D3D11_STANDARD_COMPONENT_BIT_COUNT (32)
+
+#define D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED (64)
+
+#define D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE (4)
+
+#define D3D11_STANDARD_PIXEL_COMPONENT_COUNT (128)
+
+#define D3D11_STANDARD_PIXEL_ELEMENT_COUNT (32)
+
+#define D3D11_STANDARD_VECTOR_SIZE (4)
+
+#define D3D11_STANDARD_VERTEX_ELEMENT_COUNT (32)
+
+#define D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT (64)
+
+#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
+struct CD3D11_DEFAULT {};
+extern const DECLSPEC_SELECTANY CD3D11_DEFAULT D3D11_DEFAULT;
+#endif
+typedef enum D3D11_BLEND {
+ D3D11_BLEND_ZERO = 1,
+ D3D11_BLEND_ONE = 2,
+ D3D11_BLEND_SRC_COLOR = 3,
+ D3D11_BLEND_INV_SRC_COLOR = 4,
+ D3D11_BLEND_SRC_ALPHA = 5,
+ D3D11_BLEND_INV_SRC_ALPHA = 6,
+ D3D11_BLEND_DEST_ALPHA = 7,
+ D3D11_BLEND_INV_DEST_ALPHA = 8,
+ D3D11_BLEND_DEST_COLOR = 9,
+ D3D11_BLEND_INV_DEST_COLOR = 10,
+ D3D11_BLEND_SRC_ALPHA_SAT = 11,
+ D3D11_BLEND_BLEND_FACTOR = 14,
+ D3D11_BLEND_INV_BLEND_FACTOR = 15,
+ D3D11_BLEND_SRC1_COLOR = 16,
+ D3D11_BLEND_INV_SRC1_COLOR = 17,
+ D3D11_BLEND_SRC1_ALPHA = 18,
+ D3D11_BLEND_INV_SRC1_ALPHA = 19
+} D3D11_BLEND;
+typedef enum D3D11_BLEND_OP {
+ D3D11_BLEND_OP_ADD = 1,
+ D3D11_BLEND_OP_SUBTRACT = 2,
+ D3D11_BLEND_OP_REV_SUBTRACT = 3,
+ D3D11_BLEND_OP_MIN = 4,
+ D3D11_BLEND_OP_MAX = 5
+} D3D11_BLEND_OP;
+typedef struct D3D11_BOX {
+ UINT left;
+ UINT top;
+ UINT front;
+ UINT right;
+ UINT bottom;
+ UINT back;
+} D3D11_BOX;
+typedef struct D3D11_BUFFER_RTV {
+ __C89_NAMELESS union {
+ UINT FirstElement;
+ UINT ElementOffset;
+ } __C89_NAMELESSUNIONNAME1;
+ __C89_NAMELESS union {
+ UINT NumElements;
+ UINT ElementWidth;
+ } __C89_NAMELESSUNIONNAME2;
+} D3D11_BUFFER_RTV;
+typedef struct D3D11_BUFFER_SRV {
+ __C89_NAMELESS union {
+ UINT FirstElement;
+ UINT ElementOffset;
+ } __C89_NAMELESSUNIONNAME1;
+ __C89_NAMELESS union {
+ UINT NumElements;
+ UINT ElementWidth;
+ } __C89_NAMELESSUNIONNAME2;
+} D3D11_BUFFER_SRV;
+typedef struct D3D11_BUFFER_UAV {
+ UINT FirstElement;
+ UINT NumElements;
+ UINT Flags;
+} D3D11_BUFFER_UAV;
+typedef struct D3D11_BUFFEREX_SRV {
+ UINT FirstElement;
+ UINT NumElements;
+ UINT Flags;
+} D3D11_BUFFEREX_SRV;
+typedef struct D3D11_CLASS_INSTANCE_DESC {
+ UINT InstanceId;
+ UINT InstanceIndex;
+ UINT TypeId;
+ UINT ConstantBuffer;
+ UINT BaseConstantBufferOffset;
+ UINT BaseTexture;
+ UINT BaseSampler;
+ WINBOOL Created;
+} D3D11_CLASS_INSTANCE_DESC;
+typedef enum D3D11_COMPARISON_FUNC {
+ D3D11_COMPARISON_NEVER = 1,
+ D3D11_COMPARISON_LESS = 2,
+ D3D11_COMPARISON_EQUAL = 3,
+ D3D11_COMPARISON_LESS_EQUAL = 4,
+ D3D11_COMPARISON_GREATER = 5,
+ D3D11_COMPARISON_NOT_EQUAL = 6,
+ D3D11_COMPARISON_GREATER_EQUAL = 7,
+ D3D11_COMPARISON_ALWAYS = 8
+} D3D11_COMPARISON_FUNC;
+typedef enum D3D11_COUNTER {
+ D3D11_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
+} D3D11_COUNTER;
+typedef struct D3D11_COUNTER_DESC {
+ D3D11_COUNTER Counter;
+ UINT MiscFlags;
+} D3D11_COUNTER_DESC;
+typedef struct D3D11_COUNTER_INFO {
+ D3D11_COUNTER LastDeviceDependentCounter;
+ UINT NumSimultaneousCounters;
+ UINT8 NumDetectableParallelUnits;
+} D3D11_COUNTER_INFO;
+typedef enum D3D11_COUNTER_TYPE {
+ D3D11_COUNTER_TYPE_FLOAT32 = 0,
+ D3D11_COUNTER_TYPE_UINT16 = 1,
+ D3D11_COUNTER_TYPE_UINT32 = 2,
+ D3D11_COUNTER_TYPE_UINT64 = 3
+} D3D11_COUNTER_TYPE;
+typedef enum D3D11_CULL_MODE {
+ D3D11_CULL_NONE = 1,
+ D3D11_CULL_FRONT = 2,
+ D3D11_CULL_BACK = 3
+} D3D11_CULL_MODE;
+typedef enum D3D11_DEPTH_WRITE_MASK {
+ D3D11_DEPTH_WRITE_MASK_ZERO = 0,
+ D3D11_DEPTH_WRITE_MASK_ALL = 1
+} D3D11_DEPTH_WRITE_MASK;
+typedef enum D3D11_DEVICE_CONTEXT_TYPE {
+ D3D11_DEVICE_CONTEXT_IMMEDIATE = 0,
+ D3D11_DEVICE_CONTEXT_DEFERRED = 1
+} D3D11_DEVICE_CONTEXT_TYPE;
+typedef enum D3D11_DSV_DIMENSION {
+ D3D11_DSV_DIMENSION_UNKNOWN = 0,
+ D3D11_DSV_DIMENSION_TEXTURE1D = 1,
+ D3D11_DSV_DIMENSION_TEXTURE1DARRAY = 2,
+ D3D11_DSV_DIMENSION_TEXTURE2D = 3,
+ D3D11_DSV_DIMENSION_TEXTURE2DARRAY = 4,
+ D3D11_DSV_DIMENSION_TEXTURE2DMS = 5,
+ D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
+} D3D11_DSV_DIMENSION;
+typedef enum D3D11_FEATURE {
+ D3D11_FEATURE_THREADING = 0,
+ D3D11_FEATURE_DOUBLES = 1,
+ D3D11_FEATURE_FORMAT_SUPPORT = 2,
+ D3D11_FEATURE_FORMAT_SUPPORT2 = 3,
+ D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS = 4,
+ D3D11_FEATURE_D3D11_OPTIONS = 5,
+ D3D11_FEATURE_ARCHITECTURE_INFO = 6,
+ D3D11_FEATURE_D3D9_OPTIONS = 7,
+ D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT = 8,
+ D3D11_FEATURE_D3D9_SHADOW_SUPPORT = 9
+} D3D11_FEATURE;
+typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS {
+ WINBOOL OutputMergerLogicOp;
+ WINBOOL UAVOnlyRenderingForcedSampleCount;
+ WINBOOL DiscardAPIsSeenByDriver;
+ WINBOOL FlagsForUpdateAndCopySeenByDriver;
+ WINBOOL ClearView;
+ WINBOOL CopyWithOverlap;
+ WINBOOL ConstantBufferPartialUpdate;
+ WINBOOL ConstantBufferOffsetting;
+ WINBOOL MapNoOverwriteOnDynamicConstantBuffer;
+ WINBOOL MapNoOverwriteOnDynamicBufferSRV;
+ WINBOOL MultisampleRTVWithForcedSampleCountOne;
+ WINBOOL SAD4ShaderInstructions;
+ WINBOOL ExtendedDoublesShaderInstructions;
+ WINBOOL ExtendedResourceSharing;
+} D3D11_FEATURE_DATA_D3D11_OPTIONS;
+typedef enum D3D11_FILL_MODE {
+ D3D11_FILL_WIREFRAME = 2,
+ D3D11_FILL_SOLID = 3
+} D3D11_FILL_MODE;
+typedef enum D3D11_FILTER_TYPE {
+ D3D11_FILTER_TYPE_POINT = 0,
+ D3D11_FILTER_TYPE_LINEAR = 1
+} D3D11_FILTER_TYPE;
+#define D3D11_MIN_FILTER_SHIFT (4)
+
+#define D3D11_MAG_FILTER_SHIFT (2)
+
+#define D3D11_MIP_FILTER_SHIFT (0)
+
+#define D3D11_FILTER_TYPE_MASK (0x3)
+
+#define D3D11_COMPARISON_FILTERING_BIT (0x80)
+
+#define D3D11_ANISOTROPIC_FILTERING_BIT (0x40)
+
+#define D3D11_ENCODE_BASIC_FILTER(min, mag, mip, bComparison) \
+ ((D3D11_FILTER)(((bComparison) ? D3D11_COMPARISON_FILTERING_BIT : 0 ) | \
+ (((min)&D3D11_FILTER_TYPE_MASK) << D3D11_MIN_FILTER_SHIFT) | \
+ (((mag)&D3D11_FILTER_TYPE_MASK) << D3D11_MAG_FILTER_SHIFT) | \
+ (((mip)&D3D11_FILTER_TYPE_MASK) << D3D11_MIP_FILTER_SHIFT)))
+#define D3D11_ENCODE_ANISOTROPIC_FILTER(bComparison) \
+ ((D3D11_FILTER)(D3D11_ANISOTROPIC_FILTERING_BIT | \
+ D3D11_ENCODE_BASIC_FILTER(D3D11_FILTER_TYPE_LINEAR,D3D11_FILTER_TYPE_LINEAR, \
+ D3D11_FILTER_TYPE_LINEAR,bComparison)))
+#define D3D11_DECODE_MIN_FILTER(d3d11Filter) \
+ ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIN_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))
+#define D3D11_DECODE_MAG_FILTER(d3d11Filter) \
+ ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MAG_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))
+#define D3D11_DECODE_MIP_FILTER(d3d11Filter) \
+ ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIP_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))
+#define D3D11_DECODE_IS_COMPARISON_FILTER(d3d11Filter) ((d3d11Filter) & D3D11_COMPARISON_FILTERING_BIT)
+#define D3D11_DECODE_IS_ANISOTROPIC_FILTER(d3d11Filter) \
+ (((d3d11Filter) & D3D11_ANISOTROPIC_FILTERING_BIT ) \
+ && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIN_FILTER(d3d11Filter)) \
+ && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MAG_FILTER(d3d11Filter)) \
+ && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIP_FILTER(d3d11Filter)))
+typedef enum D3D11_FILTER {
+ D3D11_FILTER_MIN_MAG_MIP_POINT = 0x0,
+ D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
+ D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
+ D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
+ D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
+ D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
+ D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
+ D3D11_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
+ D3D11_FILTER_ANISOTROPIC = 0x55,
+ D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
+ D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
+ D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
+ D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
+ D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
+ D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
+ D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
+ D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
+ D3D11_FILTER_COMPARISON_ANISOTROPIC = 0xd5
+} D3D11_FILTER;
+typedef enum D3D11_DSV_FLAG {
+ D3D11_DSV_READ_ONLY_DEPTH = 0x1,
+ D3D11_DSV_READ_ONLY_STENCIL = 0x2
+} D3D11_DSV_FLAG;
+typedef enum D3D11_INPUT_CLASSIFICATION {
+ D3D11_INPUT_PER_VERTEX_DATA = 0,
+ D3D11_INPUT_PER_INSTANCE_DATA = 1
+} D3D11_INPUT_CLASSIFICATION;
+#define D3D11_APPEND_ALIGNED_ELEMENT (0xffffffff)
+
+typedef struct D3D11_INPUT_ELEMENT_DESC {
+ LPCSTR SemanticName;
+ UINT SemanticIndex;
+ DXGI_FORMAT Format;
+ UINT InputSlot;
+ UINT AlignedByteOffset;
+ D3D11_INPUT_CLASSIFICATION InputSlotClass;
+ UINT InstanceDataStepRate;
+} D3D11_INPUT_ELEMENT_DESC;
+typedef enum D3D11_MAP {
+ D3D11_MAP_READ = 1,
+ D3D11_MAP_WRITE = 2,
+ D3D11_MAP_READ_WRITE = 3,
+ D3D11_MAP_WRITE_DISCARD = 4,
+ D3D11_MAP_WRITE_NO_OVERWRITE = 5
+} D3D11_MAP;
+typedef enum D3D11_MAP_FLAG {
+ D3D11_MAP_FLAG_DO_NOT_WAIT = 0x100000
+} D3D11_MAP_FLAG;
+typedef struct D3D11_QUERY_DATA_SO_STATISTICS {
+ UINT64 NumPrimitivesWritten;
+ UINT64 PrimitivesStorageNeeded;
+} D3D11_QUERY_DATA_SO_STATISTICS;
+typedef struct D3D11_MAPPED_SUBRESOURCE {
+ void *pData;
+ UINT RowPitch;
+ UINT DepthPitch;
+} D3D11_MAPPED_SUBRESOURCE;
+typedef enum D3D11_QUERY {
+ D3D11_QUERY_EVENT = 0,
+ D3D11_QUERY_OCCLUSION = 1,
+ D3D11_QUERY_TIMESTAMP = 2,
+ D3D11_QUERY_TIMESTAMP_DISJOINT = 3,
+ D3D11_QUERY_PIPELINE_STATISTICS = 4,
+ D3D11_QUERY_OCCLUSION_PREDICATE = 5,
+ D3D11_QUERY_SO_STATISTICS = 6,
+ D3D11_QUERY_SO_OVERFLOW_PREDICATE = 7,
+ D3D11_QUERY_SO_STATISTICS_STREAM0 = 8,
+ D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 = 9,
+ D3D11_QUERY_SO_STATISTICS_STREAM1 = 10,
+ D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 = 11,
+ D3D11_QUERY_SO_STATISTICS_STREAM2 = 12,
+ D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 = 13,
+ D3D11_QUERY_SO_STATISTICS_STREAM3 = 14,
+ D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3 = 15
+} D3D11_QUERY;
+typedef enum D3D11_ASYNC_GETDATA_FLAG {
+ D3D11_ASYNC_GETDATA_DONOTFLUSH = 0x1
+} D3D11_ASYNC_GETDATA_FLAG;
+typedef enum D3D11_RESOURCE_MISC_FLAG {
+ D3D11_RESOURCE_MISC_GENERATE_MIPS = 0x1,
+ D3D11_RESOURCE_MISC_SHARED = 0x2,
+ D3D11_RESOURCE_MISC_TEXTURECUBE = 0x4,
+ D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x10,
+ D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x20,
+ D3D11_RESOURCE_MISC_BUFFER_STRUCTURED = 0x40,
+ D3D11_RESOURCE_MISC_RESOURCE_CLAMP = 0x80,
+ D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x100,
+ D3D11_RESOURCE_MISC_GDI_COMPATIBLE = 0x200,
+ D3D11_RESOURCE_MISC_SHARED_NTHANDLE = 0x800,
+ D3D11_RESOURCE_MISC_RESTRICTED_CONTENT = 0x1000,
+ D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE = 0x2000,
+ D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER = 0x4000,
+ D3D11_RESOURCE_MISC_GUARDED = 0x8000
+} D3D11_RESOURCE_MISC_FLAG;
+typedef struct D3D11_QUERY_DESC {
+ D3D11_QUERY Query;
+ UINT MiscFlags;
+} D3D11_QUERY_DESC;
+typedef struct D3D11_RASTERIZER_DESC {
+ D3D11_FILL_MODE FillMode;
+ D3D11_CULL_MODE CullMode;
+ WINBOOL FrontCounterClockwise;
+ INT DepthBias;
+ FLOAT DepthBiasClamp;
+ FLOAT SlopeScaledDepthBias;
+ WINBOOL DepthClipEnable;
+ WINBOOL ScissorEnable;
+ WINBOOL MultisampleEnable;
+ WINBOOL AntialiasedLineEnable;
+} D3D11_RASTERIZER_DESC;
+#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
+struct CD3D11_RASTERIZER_DESC : public D3D11_RASTERIZER_DESC {
+ CD3D11_RASTERIZER_DESC() {}
+ explicit CD3D11_RASTERIZER_DESC(const D3D11_RASTERIZER_DESC &o) : D3D11_RASTERIZER_DESC(o) {}
+ explicit CD3D11_RASTERIZER_DESC(CD3D11_DEFAULT) {
+ FillMode = D3D11_FILL_SOLID;
+ CullMode = D3D11_CULL_BACK;
+ FrontCounterClockwise = FALSE;
+ DepthBias = D3D11_DEFAULT_DEPTH_BIAS;
+ DepthBiasClamp = D3D11_DEFAULT_DEPTH_BIAS_CLAMP;
+ SlopeScaledDepthBias = D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;
+ DepthClipEnable = TRUE;
+ ScissorEnable = FALSE;
+ MultisampleEnable = FALSE;
+ AntialiasedLineEnable = FALSE;
+ }
+ explicit CD3D11_RASTERIZER_DESC(D3D11_FILL_MODE fillMode, D3D11_CULL_MODE cullMode,
+ WINBOOL frontCounterClockwise, INT depthBias, FLOAT depthBiasClamp, FLOAT slopeScaledDepthBias,
+ BOOL depthClipEnable, WINBOOL scissorEnable, WINBOOL multisampleEnable, WINBOOL antialiasedLineEnable) {
+ FillMode = fillMode;
+ CullMode = cullMode;
+ FrontCounterClockwise = frontCounterClockwise;
+ DepthBias = depthBias;
+ DepthBiasClamp = depthBiasClamp;
+ SlopeScaledDepthBias = slopeScaledDepthBias;
+ DepthClipEnable = depthClipEnable;
+ ScissorEnable = scissorEnable;
+ MultisampleEnable = multisampleEnable;
+ AntialiasedLineEnable = antialiasedLineEnable;
+ }
+ ~CD3D11_RASTERIZER_DESC() {}
+ operator const D3D11_RASTERIZER_DESC&() const { return *this; }
+};
+#endif
+typedef enum D3D11_RESOURCE_DIMENSION {
+ D3D11_RESOURCE_DIMENSION_UNKNOWN = 0,
+ D3D11_RESOURCE_DIMENSION_BUFFER = 1,
+ D3D11_RESOURCE_DIMENSION_TEXTURE1D = 2,
+ D3D11_RESOURCE_DIMENSION_TEXTURE2D = 3,
+ D3D11_RESOURCE_DIMENSION_TEXTURE3D = 4
+} D3D11_RESOURCE_DIMENSION;
+typedef enum D3D11_RTV_DIMENSION {
+ D3D11_RTV_DIMENSION_UNKNOWN = 0,
+ D3D11_RTV_DIMENSION_BUFFER = 1,
+ D3D11_RTV_DIMENSION_TEXTURE1D = 2,
+ D3D11_RTV_DIMENSION_TEXTURE1DARRAY = 3,
+ D3D11_RTV_DIMENSION_TEXTURE2D = 4,
+ D3D11_RTV_DIMENSION_TEXTURE2DARRAY = 5,
+ D3D11_RTV_DIMENSION_TEXTURE2DMS = 6,
+ D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
+ D3D11_RTV_DIMENSION_TEXTURE3D = 8
+} D3D11_RTV_DIMENSION;
+typedef struct D3D11_SO_DECLARATION_ENTRY {
+ UINT Stream;
+ LPCSTR SemanticName;
+ UINT SemanticIndex;
+ BYTE StartComponent;
+ BYTE ComponentCount;
+ BYTE OutputSlot;
+} D3D11_SO_DECLARATION_ENTRY;
+typedef enum D3D11_STENCIL_OP {
+ D3D11_STENCIL_OP_KEEP = 1,
+ D3D11_STENCIL_OP_ZERO = 2,
+ D3D11_STENCIL_OP_REPLACE = 3,
+ D3D11_STENCIL_OP_INCR_SAT = 4,
+ D3D11_STENCIL_OP_DECR_SAT = 5,
+ D3D11_STENCIL_OP_INVERT = 6,
+ D3D11_STENCIL_OP_INCR = 7,
+ D3D11_STENCIL_OP_DECR = 8
+} D3D11_STENCIL_OP;
+#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
+}
+inline UINT D3D11CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT MipLevels) {
+ return MipSlice + ArraySlice * MipLevels;
+}
+extern "C"{
+#endif
+typedef struct D3D11_SUBRESOURCE_DATA {
+ const void *pSysMem;
+ UINT SysMemPitch;
+ UINT SysMemSlicePitch;
+} D3D11_SUBRESOURCE_DATA;
+typedef struct D3D11_TEX1D_ARRAY_DSV {
+ UINT MipSlice;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D11_TEX1D_ARRAY_DSV;
+typedef struct D3D11_TEX1D_ARRAY_RTV {
+ UINT MipSlice;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D11_TEX1D_ARRAY_RTV;
+typedef struct D3D11_TEX1D_ARRAY_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D11_TEX1D_ARRAY_SRV;
+typedef struct D3D11_TEX1D_ARRAY_UAV {
+ UINT MipSlice;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D11_TEX1D_ARRAY_UAV;
+typedef struct D3D11_TEX1D_DSV {
+ UINT MipSlice;
+} D3D11_TEX1D_DSV;
+typedef struct D3D11_TEX1D_RTV {
+ UINT MipSlice;
+} D3D11_TEX1D_RTV;
+typedef struct D3D11_TEX1D_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+} D3D11_TEX1D_SRV;
+typedef struct D3D11_TEX1D_UAV {
+ UINT MipSlice;
+} D3D11_TEX1D_UAV;
+typedef struct D3D11_TEX2D_ARRAY_DSV {
+ UINT MipSlice;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D11_TEX2D_ARRAY_DSV;
+typedef struct D3D11_TEX2D_ARRAY_RTV {
+ UINT MipSlice;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D11_TEX2D_ARRAY_RTV;
+typedef struct D3D11_TEX2D_ARRAY_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D11_TEX2D_ARRAY_SRV;
+typedef struct D3D11_TEX2D_ARRAY_UAV {
+ UINT MipSlice;
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D11_TEX2D_ARRAY_UAV;
+typedef struct D3D11_TEX2D_DSV {
+ UINT MipSlice;
+} D3D11_TEX2D_DSV;
+typedef struct D3D11_TEX2D_RTV {
+ UINT MipSlice;
+} D3D11_TEX2D_RTV;
+typedef struct D3D11_TEX2D_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+} D3D11_TEX2D_SRV;
+typedef struct D3D11_TEX2D_UAV {
+ UINT MipSlice;
+} D3D11_TEX2D_UAV;
+typedef struct D3D11_TEX2DMS_ARRAY_DSV {
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D11_TEX2DMS_ARRAY_DSV;
+typedef struct D3D11_TEX2DMS_ARRAY_RTV {
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D11_TEX2DMS_ARRAY_RTV;
+typedef struct D3D11_TEX2DMS_ARRAY_SRV {
+ UINT FirstArraySlice;
+ UINT ArraySize;
+} D3D11_TEX2DMS_ARRAY_SRV;
+typedef struct D3D11_TEX2DMS_DSV {
+ UINT UnusedField_NothingToDefine;
+} D3D11_TEX2DMS_DSV;
+typedef struct D3D11_TEX2DMS_RTV {
+ UINT UnusedField_NothingToDefine;
+} D3D11_TEX2DMS_RTV;
+typedef struct D3D11_TEX2DMS_SRV {
+ UINT UnusedField_NothingToDefine;
+} D3D11_TEX2DMS_SRV;
+typedef struct D3D11_TEX3D_RTV {
+ UINT MipSlice;
+ UINT FirstWSlice;
+ UINT WSize;
+} D3D11_TEX3D_RTV;
+typedef struct D3D11_TEX3D_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+} D3D11_TEX3D_SRV;
+typedef struct D3D11_TEX3D_UAV {
+ UINT MipSlice;
+ UINT FirstWSlice;
+ UINT WSize;
+} D3D11_TEX3D_UAV;
+typedef struct D3D11_TEXCUBE_ARRAY_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+ UINT First2DArrayFace;
+ UINT NumCubes;
+} D3D11_TEXCUBE_ARRAY_SRV;
+typedef struct D3D11_TEXCUBE_SRV {
+ UINT MostDetailedMip;
+ UINT MipLevels;
+} D3D11_TEXCUBE_SRV;
+typedef enum D3D11_TEXTURE_ADDRESS_MODE {
+ D3D11_TEXTURE_ADDRESS_WRAP = 1,
+ D3D11_TEXTURE_ADDRESS_MIRROR = 2,
+ D3D11_TEXTURE_ADDRESS_CLAMP = 3,
+ D3D11_TEXTURE_ADDRESS_BORDER = 4,
+ D3D11_TEXTURE_ADDRESS_MIRROR_ONCE = 5
+} D3D11_TEXTURE_ADDRESS_MODE;
+typedef enum D3D11_UAV_DIMENSION {
+ D3D11_UAV_DIMENSION_UNKNOWN = 0,
+ D3D11_UAV_DIMENSION_BUFFER = 1,
+ D3D11_UAV_DIMENSION_TEXTURE1D = 2,
+ D3D11_UAV_DIMENSION_TEXTURE1DARRAY = 3,
+ D3D11_UAV_DIMENSION_TEXTURE2D = 4,
+ D3D11_UAV_DIMENSION_TEXTURE2DARRAY = 5,
+ D3D11_UAV_DIMENSION_TEXTURE3D = 8
+} D3D11_UAV_DIMENSION;
+typedef struct D3D11_UNORDERED_ACCESS_VIEW_DESC {
+ DXGI_FORMAT Format;
+ D3D11_UAV_DIMENSION ViewDimension;
+ __C89_NAMELESS union {
+ D3D11_BUFFER_UAV Buffer;
+ D3D11_TEX1D_UAV Texture1D;
+ D3D11_TEX1D_ARRAY_UAV Texture1DArray;
+ D3D11_TEX2D_UAV Texture2D;
+ D3D11_TEX2D_ARRAY_UAV Texture2DArray;
+ D3D11_TEX3D_UAV Texture3D;
+ } __C89_NAMELESSUNIONNAME;
+} D3D11_UNORDERED_ACCESS_VIEW_DESC;
+typedef enum D3D11_USAGE {
+ D3D11_USAGE_DEFAULT = 0,
+ D3D11_USAGE_IMMUTABLE = 1,
+ D3D11_USAGE_DYNAMIC = 2,
+ D3D11_USAGE_STAGING = 3
+} D3D11_USAGE;
+typedef enum D3D11_BIND_FLAG {
+ D3D11_BIND_VERTEX_BUFFER = 0x1,
+ D3D11_BIND_INDEX_BUFFER = 0x2,
+ D3D11_BIND_CONSTANT_BUFFER = 0x4,
+ D3D11_BIND_SHADER_RESOURCE = 0x8,
+ D3D11_BIND_STREAM_OUTPUT = 0x10,
+ D3D11_BIND_RENDER_TARGET = 0x20,
+ D3D11_BIND_DEPTH_STENCIL = 0x40,
+ D3D11_BIND_UNORDERED_ACCESS = 0x80,
+ D3D11_BIND_DECODER = 0x200,
+ D3D11_BIND_VIDEO_ENCODER = 0x400
+} D3D11_BIND_FLAG;
+typedef enum D3D11_CPU_ACCESS_FLAG {
+ D3D11_CPU_ACCESS_WRITE = 0x10000,
+ D3D11_CPU_ACCESS_READ = 0x20000
+} D3D11_CPU_ACCESS_FLAG;
+typedef struct D3D11_VIEWPORT {
+ FLOAT TopLeftX;
+ FLOAT TopLeftY;
+ FLOAT Width;
+ FLOAT Height;
+ FLOAT MinDepth;
+ FLOAT MaxDepth;
+} D3D11_VIEWPORT;
+typedef enum D3D11_COLOR_WRITE_ENABLE {
+ D3D11_COLOR_WRITE_ENABLE_RED = 1,
+ D3D11_COLOR_WRITE_ENABLE_GREEN = 2,
+ D3D11_COLOR_WRITE_ENABLE_BLUE = 4,
+ D3D11_COLOR_WRITE_ENABLE_ALPHA = 8,
+ D3D11_COLOR_WRITE_ENABLE_ALL = ((D3D11_COLOR_WRITE_ENABLE_RED | D3D11_COLOR_WRITE_ENABLE_GREEN) | D3D11_COLOR_WRITE_ENABLE_BLUE) | D3D11_COLOR_WRITE_ENABLE_ALPHA
+} D3D11_COLOR_WRITE_ENABLE;
+typedef enum D3D11_FORMAT_SUPPORT {
+ D3D11_FORMAT_SUPPORT_BUFFER = 0x1,
+ D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x2,
+ D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x4,
+ D3D11_FORMAT_SUPPORT_SO_BUFFER = 0x8,
+ D3D11_FORMAT_SUPPORT_TEXTURE1D = 0x10,
+ D3D11_FORMAT_SUPPORT_TEXTURE2D = 0x20,
+ D3D11_FORMAT_SUPPORT_TEXTURE3D = 0x40,
+ D3D11_FORMAT_SUPPORT_TEXTURECUBE = 0x80,
+ D3D11_FORMAT_SUPPORT_SHADER_LOAD = 0x100,
+ D3D11_FORMAT_SUPPORT_SHADER_SAMPLE = 0x200,
+ D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x400,
+ D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x800,
+ D3D11_FORMAT_SUPPORT_MIP = 0x1000,
+ D3D11_FORMAT_SUPPORT_MIP_AUTOGEN = 0x2000,
+ D3D11_FORMAT_SUPPORT_RENDER_TARGET = 0x4000,
+ D3D11_FORMAT_SUPPORT_BLENDABLE = 0x8000,
+ D3D11_FORMAT_SUPPORT_DEPTH_STENCIL = 0x10000,
+ D3D11_FORMAT_SUPPORT_CPU_LOCKABLE = 0x20000,
+ D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x40000,
+ D3D11_FORMAT_SUPPORT_DISPLAY = 0x80000,
+ D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x100000,
+ D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x200000,
+ D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x400000,
+ D3D11_FORMAT_SUPPORT_SHADER_GATHER = 0x800000,
+ D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x1000000,
+ D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000,
+ D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON = 0x4000000
+} D3D11_FORMAT_SUPPORT;
+typedef enum D3D11_CLEAR_FLAG {
+ D3D11_CLEAR_DEPTH = 0x1,
+ D3D11_CLEAR_STENCIL = 0x2
+} D3D11_CLEAR_FLAG;
+typedef struct D3D11_RENDER_TARGET_BLEND_DESC {
+ WINBOOL BlendEnable;
+ D3D11_BLEND SrcBlend;
+ D3D11_BLEND DestBlend;
+ D3D11_BLEND_OP BlendOp;
+ D3D11_BLEND SrcBlendAlpha;
+ D3D11_BLEND DestBlendAlpha;
+ D3D11_BLEND_OP BlendOpAlpha;
+ UINT8 RenderTargetWriteMask;
+} D3D11_RENDER_TARGET_BLEND_DESC;
+typedef struct D3D11_BLEND_DESC {
+ WINBOOL AlphaToCoverageEnable;
+ WINBOOL IndependentBlendEnable;
+ D3D11_RENDER_TARGET_BLEND_DESC RenderTarget[8];
+} D3D11_BLEND_DESC;
+#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
+struct CD3D11_BLEND_DESC : public D3D11_BLEND_DESC {
+ CD3D11_BLEND_DESC() {}
+ explicit CD3D11_BLEND_DESC(const D3D11_BLEND_DESC &o) : D3D11_BLEND_DESC(o) {}
+ explicit CD3D11_BLEND_DESC(CD3D11_DEFAULT) {
+ AlphaToCoverageEnable = FALSE;
+ IndependentBlendEnable = FALSE;
+ for(D3D11_RENDER_TARGET_BLEND_DESC *target; target < RenderTarget+D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT; target++) {
+ target->BlendEnable = FALSE;
+ target->SrcBlend = target->SrcBlendAlpha = D3D11_BLEND_ONE;
+ target->DestBlend = target->DestBlendAlpha = D3D11_BLEND_ZERO;
+ target->BlendOp = target->BlendOpAlpha = D3D11_BLEND_OP_ADD;
+ target->RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;
+ }
+ }
+ ~CD3D11_BLEND_DESC() {}
+ operator const D3D11_BLEND_DESC&() const { return *this; }
+};
+#endif
+typedef struct D3D11_BUFFER_DESC {
+ UINT ByteWidth;
+ D3D11_USAGE Usage;
+ UINT BindFlags;
+ UINT CPUAccessFlags;
+ UINT MiscFlags;
+ UINT StructureByteStride;
+} D3D11_BUFFER_DESC;
+#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
+struct CD3D11_BUFFER_DESC : public D3D11_BUFFER_DESC {
+ CD3D11_BUFFER_DESC() {}
+ explicit CD3D11_BUFFER_DESC(const D3D11_BUFFER_DESC &o) : D3D11_BUFFER_DESC(o) {}
+ explicit CD3D11_BUFFER_DESC(UINT byteWidth,UINT bindFlags,
+ D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuaccessFlags = 0,
+ UINT miscFlags = 0, UINT structureByteStride = 0 ) {
+ ByteWidth = byteWidth;
+ Usage = usage;
+ BindFlags = bindFlags;
+ CPUAccessFlags = cpuaccessFlags;
+ MiscFlags = miscFlags;
+ StructureByteStride = structureByteStride;
+ }
+ ~CD3D11_BUFFER_DESC() {}
+ operator const D3D11_BUFFER_DESC&() const { return *this; }
+};
+#endif
+typedef struct D3D11_DEPTH_STENCIL_VIEW_DESC {
+ DXGI_FORMAT Format;
+ D3D11_DSV_DIMENSION ViewDimension;
+ UINT Flags;
+ __C89_NAMELESS union {
+ D3D11_TEX1D_DSV Texture1D;
+ D3D11_TEX1D_ARRAY_DSV Texture1DArray;
+ D3D11_TEX2D_DSV Texture2D;
+ D3D11_TEX2D_ARRAY_DSV Texture2DArray;
+ D3D11_TEX2DMS_DSV Texture2DMS;
+ D3D11_TEX2DMS_ARRAY_DSV Texture2DMSArray;
+ } __C89_NAMELESSUNIONNAME;
+} D3D11_DEPTH_STENCIL_VIEW_DESC;
+typedef struct D3D11_DEPTH_STENCILOP_DESC {
+ D3D11_STENCIL_OP StencilFailOp;
+ D3D11_STENCIL_OP StencilDepthFailOp;
+ D3D11_STENCIL_OP StencilPassOp;
+ D3D11_COMPARISON_FUNC StencilFunc;
+} D3D11_DEPTH_STENCILOP_DESC;
+typedef struct D3D11_DEPTH_STENCIL_DESC {
+ WINBOOL DepthEnable;
+ D3D11_DEPTH_WRITE_MASK DepthWriteMask;
+ D3D11_COMPARISON_FUNC DepthFunc;
+ WINBOOL StencilEnable;
+ UINT8 StencilReadMask;
+ UINT8 StencilWriteMask;
+ D3D11_DEPTH_STENCILOP_DESC FrontFace;
+ D3D11_DEPTH_STENCILOP_DESC BackFace;
+} D3D11_DEPTH_STENCIL_DESC;
+typedef struct D3D11_RENDER_TARGET_VIEW_DESC {
+ DXGI_FORMAT Format;
+ D3D11_RTV_DIMENSION ViewDimension;
+ __C89_NAMELESS union {
+ D3D11_BUFFER_RTV Buffer;
+ D3D11_TEX1D_RTV Texture1D;
+ D3D11_TEX1D_ARRAY_RTV Texture1DArray;
+ D3D11_TEX2D_RTV Texture2D;
+ D3D11_TEX2D_ARRAY_RTV Texture2DArray;
+ D3D11_TEX2DMS_RTV Texture2DMS;
+ D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray;
+ D3D11_TEX3D_RTV Texture3D;
+ } __C89_NAMELESSUNIONNAME;
+} D3D11_RENDER_TARGET_VIEW_DESC;
+typedef struct D3D11_SAMPLER_DESC {
+ D3D11_FILTER Filter;
+ D3D11_TEXTURE_ADDRESS_MODE AddressU;
+ D3D11_TEXTURE_ADDRESS_MODE AddressV;
+ D3D11_TEXTURE_ADDRESS_MODE AddressW;
+ FLOAT MipLODBias;
+ UINT MaxAnisotropy;
+ D3D11_COMPARISON_FUNC ComparisonFunc;
+ FLOAT BorderColor[4];
+ FLOAT MinLOD;
+ FLOAT MaxLOD;
+} D3D11_SAMPLER_DESC;
+#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
+struct CD3D11_SAMPLER_DESC : public D3D11_SAMPLER_DESC {
+ CD3D11_SAMPLER_DESC() {}
+ explicit CD3D11_SAMPLER_DESC(const D3D11_SAMPLER_DESC &o) : D3D11_SAMPLER_DESC(o) {}
+ explicit CD3D11_SAMPLER_DESC(CD3D11_DEFAULT) {
+ Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;
+ AddressU = D3D11_TEXTURE_ADDRESS_CLAMP;
+ AddressV = D3D11_TEXTURE_ADDRESS_CLAMP;
+ AddressW = D3D11_TEXTURE_ADDRESS_CLAMP;
+ MipLODBias = 0;
+ MaxAnisotropy = 1;
+ ComparisonFunc = D3D11_COMPARISON_NEVER;
+ BorderColor[0] = BorderColor[1] = BorderColor[2] = BorderColor[3] = 1.0f;
+ MinLOD = -3.402823466e+38f;
+ MaxLOD = 3.402823466e+38f;
+ }
+ explicit CD3D11_SAMPLER_DESC(D3D11_FILTER filter, D3D11_TEXTURE_ADDRESS_MODE addressU,
+ D3D11_TEXTURE_ADDRESS_MODE addressV, D3D11_TEXTURE_ADDRESS_MODE addressW,
+ FLOAT mipLODBias, UINT maxAnisotropy, D3D11_COMPARISON_FUNC comparisonFunc,
+ const FLOAT *borderColor, FLOAT minLOD, FLOAT maxLOD) {
+ Filter = filter;
+ AddressU = addressU;
+ AddressV = addressV;
+ AddressW = addressW;
+ MipLODBias = mipLODBias;
+ MaxAnisotropy = maxAnisotropy;
+ ComparisonFunc = comparisonFunc;
+ if(borderColor) {
+ BorderColor[0] = borderColor[0];
+ BorderColor[1] = borderColor[1];
+ BorderColor[2] = borderColor[2];
+ BorderColor[3] = borderColor[3];
+ }else {
+ BorderColor[0] = BorderColor[1] = BorderColor[2] = BorderColor[3] = 1.0f;
+ }
+ MinLOD = minLOD;
+ MaxLOD = maxLOD;
+ }
+ ~CD3D11_SAMPLER_DESC() {}
+ operator const D3D11_SAMPLER_DESC&() const { return *this; }
+};
+#endif
+typedef struct D3D11_SHADER_RESOURCE_VIEW_DESC {
+ DXGI_FORMAT Format;
+ D3D11_SRV_DIMENSION ViewDimension;
+ __C89_NAMELESS union {
+ D3D11_BUFFER_SRV Buffer;
+ D3D11_TEX1D_SRV Texture1D;
+ D3D11_TEX1D_ARRAY_SRV Texture1DArray;
+ D3D11_TEX2D_SRV Texture2D;
+ D3D11_TEX2D_ARRAY_SRV Texture2DArray;
+ D3D11_TEX2DMS_SRV Texture2DMS;
+ D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray;
+ D3D11_TEX3D_SRV Texture3D;
+ D3D11_TEXCUBE_SRV TextureCube;
+ D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray;
+ D3D11_BUFFEREX_SRV BufferEx;
+ } __C89_NAMELESSUNIONNAME;
+} D3D11_SHADER_RESOURCE_VIEW_DESC;
+typedef struct D3D11_TEXTURE1D_DESC {
+ UINT Width;
+ UINT MipLevels;
+ UINT ArraySize;
+ DXGI_FORMAT Format;
+ D3D11_USAGE Usage;
+ UINT BindFlags;
+ UINT CPUAccessFlags;
+ UINT MiscFlags;
+} D3D11_TEXTURE1D_DESC;
+typedef struct D3D11_TEXTURE2D_DESC {
+ UINT Width;
+ UINT Height;
+ UINT MipLevels;
+ UINT ArraySize;
+ DXGI_FORMAT Format;
+ DXGI_SAMPLE_DESC SampleDesc;
+ D3D11_USAGE Usage;
+ UINT BindFlags;
+ UINT CPUAccessFlags;
+ UINT MiscFlags;
+} D3D11_TEXTURE2D_DESC;
+#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)
+struct CD3D11_TEXTURE2D_DESC : public D3D11_TEXTURE2D_DESC {
+ CD3D11_TEXTURE2D_DESC() {}
+ explicit CD3D11_TEXTURE2D_DESC(const D3D11_TEXTURE2D_DESC &o) : D3D11_TEXTURE2D_DESC(o) {}
+ explicit CD3D11_TEXTURE2D_DESC(DXGI_FORMAT format, UINT width, UINT height, UINT arraySize = 1,
+ UINT mipLevels = 0, UINT bindFlags = D3D11_BIND_SHADER_RESOURCE,
+ D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuaccessFlags = 0, UINT sampleCount = 1,
+ UINT sampleQuality = 0, UINT miscFlags = 0) {
+ Width = width;
+ Height = height;
+ MipLevels = mipLevels;
+ ArraySize = arraySize;
+ Format = format;
+ SampleDesc.Count = sampleCount;
+ SampleDesc.Quality = sampleQuality;
+ Usage = usage;
+ BindFlags = bindFlags;
+ CPUAccessFlags = cpuaccessFlags;
+ MiscFlags = miscFlags;
+ }
+ ~CD3D11_TEXTURE2D_DESC() {}
+ operator const D3D11_TEXTURE2D_DESC&() const { return *this; }
+};
+#endif
+typedef struct D3D11_TEXTURE3D_DESC {
+ UINT Width;
+ UINT Height;
+ UINT Depth;
+ UINT MipLevels;
+ DXGI_FORMAT Format;
+ D3D11_USAGE Usage;
+ UINT BindFlags;
+ UINT CPUAccessFlags;
+ UINT MiscFlags;
+} D3D11_TEXTURE3D_DESC;
+#ifndef __ID3D11Device_FWD_DEFINED__
+#define __ID3D11Device_FWD_DEFINED__
+typedef interface ID3D11Device ID3D11Device;
+#endif
+
+#ifndef __ID3D11ClassLinkage_FWD_DEFINED__
+#define __ID3D11ClassLinkage_FWD_DEFINED__
+typedef interface ID3D11ClassLinkage ID3D11ClassLinkage;
+#endif
+
+/*****************************************************************************
+ * ID3D11DeviceChild interface
+ */
+#ifndef __ID3D11DeviceChild_INTERFACE_DEFINED__
+#define __ID3D11DeviceChild_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11DeviceChild, 0x1841e5c8, 0x16b0, 0x489b, 0xbc,0xc8, 0x44,0xcf,0xb0,0xd5,0xde,0xae);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("1841e5c8-16b0-489b-bcc8-44cfb0d5deae")
+ID3D11DeviceChild : public IUnknown
+{
+ virtual void STDMETHODCALLTYPE GetDevice(
+ ID3D11Device **ppDevice) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
+ REFGUID guid,
+ const IUnknown *pData) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11DeviceChild, 0x1841e5c8, 0x16b0, 0x489b, 0xbc,0xc8, 0x44,0xcf,0xb0,0xd5,0xde,0xae)
+#endif
+#else
+typedef struct ID3D11DeviceChildVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11DeviceChild* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11DeviceChild* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11DeviceChild* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11DeviceChild* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11DeviceChild* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11DeviceChild* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11DeviceChild* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ END_INTERFACE
+} ID3D11DeviceChildVtbl;
+interface ID3D11DeviceChild {
+ CONST_VTBL ID3D11DeviceChildVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11DeviceChild_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11DeviceChild_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11DeviceChild_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11DeviceChild_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11DeviceChild_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11DeviceChild_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11DeviceChild_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11DeviceChild_QueryInterface(ID3D11DeviceChild* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11DeviceChild_AddRef(ID3D11DeviceChild* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11DeviceChild_Release(ID3D11DeviceChild* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11DeviceChild_GetDevice(ID3D11DeviceChild* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11DeviceChild_GetPrivateData(ID3D11DeviceChild* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11DeviceChild_SetPrivateData(ID3D11DeviceChild* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11DeviceChild_SetPrivateDataInterface(ID3D11DeviceChild* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11DeviceChild_GetDevice_Proxy(
+ ID3D11DeviceChild* This,
+ ID3D11Device **ppDevice);
+void __RPC_STUB ID3D11DeviceChild_GetDevice_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11DeviceChild_GetPrivateData_Proxy(
+ ID3D11DeviceChild* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+void __RPC_STUB ID3D11DeviceChild_GetPrivateData_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11DeviceChild_SetPrivateData_Proxy(
+ ID3D11DeviceChild* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+void __RPC_STUB ID3D11DeviceChild_SetPrivateData_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11DeviceChild_SetPrivateDataInterface_Proxy(
+ ID3D11DeviceChild* This,
+ REFGUID guid,
+ const IUnknown *pData);
+void __RPC_STUB ID3D11DeviceChild_SetPrivateDataInterface_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11DeviceChild_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11Asynchronous interface
+ */
+#ifndef __ID3D11Asynchronous_INTERFACE_DEFINED__
+#define __ID3D11Asynchronous_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11Asynchronous, 0x4b35d0cd, 0x1e15, 0x4258, 0x9c,0x98, 0x1b,0x13,0x33,0xf6,0xdd,0x3b);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("4b35d0cd-1e15-4258-9c98-1b1333f6dd3b")
+ID3D11Asynchronous : public ID3D11DeviceChild
+{
+ virtual UINT STDMETHODCALLTYPE GetDataSize(
+ ) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11Asynchronous, 0x4b35d0cd, 0x1e15, 0x4258, 0x9c,0x98, 0x1b,0x13,0x33,0xf6,0xdd,0x3b)
+#endif
+#else
+typedef struct ID3D11AsynchronousVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11Asynchronous* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11Asynchronous* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11Asynchronous* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11Asynchronous* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11Asynchronous* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11Asynchronous* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11Asynchronous* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11Asynchronous methods ***/
+ UINT (STDMETHODCALLTYPE *GetDataSize)(
+ ID3D11Asynchronous* This);
+
+ END_INTERFACE
+} ID3D11AsynchronousVtbl;
+interface ID3D11Asynchronous {
+ CONST_VTBL ID3D11AsynchronousVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11Asynchronous_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11Asynchronous_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11Asynchronous_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11Asynchronous_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11Asynchronous_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11Asynchronous_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11Asynchronous_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11Asynchronous methods ***/
+#define ID3D11Asynchronous_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11Asynchronous_QueryInterface(ID3D11Asynchronous* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11Asynchronous_AddRef(ID3D11Asynchronous* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11Asynchronous_Release(ID3D11Asynchronous* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11Asynchronous_GetDevice(ID3D11Asynchronous* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11Asynchronous_GetPrivateData(ID3D11Asynchronous* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Asynchronous_SetPrivateData(ID3D11Asynchronous* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Asynchronous_SetPrivateDataInterface(ID3D11Asynchronous* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11Asynchronous methods ***/
+static FORCEINLINE UINT ID3D11Asynchronous_GetDataSize(ID3D11Asynchronous* This) {
+ return This->lpVtbl->GetDataSize(This);
+}
+#endif
+#endif
+
+#endif
+
+UINT STDMETHODCALLTYPE ID3D11Asynchronous_GetDataSize_Proxy(
+ ID3D11Asynchronous* This);
+void __RPC_STUB ID3D11Asynchronous_GetDataSize_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11Asynchronous_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11Query interface
+ */
+#ifndef __ID3D11Query_INTERFACE_DEFINED__
+#define __ID3D11Query_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11Query, 0xd6c00747, 0x87b7, 0x425e, 0xb8,0x4d, 0x44,0xd1,0x08,0x56,0x0a,0xfd);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("d6c00747-87b7-425e-b84d-44d108560afd")
+ID3D11Query : public ID3D11Asynchronous
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_QUERY_DESC *pDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11Query, 0xd6c00747, 0x87b7, 0x425e, 0xb8,0x4d, 0x44,0xd1,0x08,0x56,0x0a,0xfd)
+#endif
+#else
+typedef struct ID3D11QueryVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11Query* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11Query* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11Query* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11Query* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11Query* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11Query* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11Query* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11Asynchronous methods ***/
+ UINT (STDMETHODCALLTYPE *GetDataSize)(
+ ID3D11Query* This);
+
+ /*** ID3D11Query methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11Query* This,
+ D3D11_QUERY_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11QueryVtbl;
+interface ID3D11Query {
+ CONST_VTBL ID3D11QueryVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11Query_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11Query_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11Query_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11Query_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11Query_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11Query_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11Query_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11Asynchronous methods ***/
+#define ID3D11Query_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
+/*** ID3D11Query methods ***/
+#define ID3D11Query_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11Query_QueryInterface(ID3D11Query* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11Query_AddRef(ID3D11Query* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11Query_Release(ID3D11Query* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11Query_GetDevice(ID3D11Query* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11Query_GetPrivateData(ID3D11Query* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Query_SetPrivateData(ID3D11Query* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Query_SetPrivateDataInterface(ID3D11Query* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11Asynchronous methods ***/
+static FORCEINLINE UINT ID3D11Query_GetDataSize(ID3D11Query* This) {
+ return This->lpVtbl->GetDataSize(This);
+}
+/*** ID3D11Query methods ***/
+static FORCEINLINE void ID3D11Query_GetDesc(ID3D11Query* This,D3D11_QUERY_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11Query_GetDesc_Proxy(
+ ID3D11Query* This,
+ D3D11_QUERY_DESC *pDesc);
+void __RPC_STUB ID3D11Query_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11Query_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11Resource interface
+ */
+#ifndef __ID3D11Resource_INTERFACE_DEFINED__
+#define __ID3D11Resource_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11Resource, 0xdc8e63f3, 0xd12b, 0x4952, 0xb4,0x7b, 0x5e,0x45,0x02,0x6a,0x86,0x2d);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("dc8e63f3-d12b-4952-b47b-5e45026a862d")
+ID3D11Resource : public ID3D11DeviceChild
+{
+ virtual void STDMETHODCALLTYPE GetType(
+ D3D11_RESOURCE_DIMENSION *pResourceDimension) = 0;
+
+ virtual void STDMETHODCALLTYPE SetEvictionPriority(
+ UINT EvictionPriority) = 0;
+
+ virtual UINT STDMETHODCALLTYPE GetEvictionPriority(
+ ) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11Resource, 0xdc8e63f3, 0xd12b, 0x4952, 0xb4,0x7b, 0x5e,0x45,0x02,0x6a,0x86,0x2d)
+#endif
+#else
+typedef struct ID3D11ResourceVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11Resource* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11Resource* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11Resource* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11Resource* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11Resource* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11Resource* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11Resource* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11Resource methods ***/
+ void (STDMETHODCALLTYPE *GetType)(
+ ID3D11Resource* This,
+ D3D11_RESOURCE_DIMENSION *pResourceDimension);
+
+ void (STDMETHODCALLTYPE *SetEvictionPriority)(
+ ID3D11Resource* This,
+ UINT EvictionPriority);
+
+ UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
+ ID3D11Resource* This);
+
+ END_INTERFACE
+} ID3D11ResourceVtbl;
+interface ID3D11Resource {
+ CONST_VTBL ID3D11ResourceVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11Resource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11Resource_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11Resource_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11Resource_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11Resource_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11Resource_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11Resource_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11Resource methods ***/
+#define ID3D11Resource_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
+#define ID3D11Resource_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
+#define ID3D11Resource_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11Resource_QueryInterface(ID3D11Resource* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11Resource_AddRef(ID3D11Resource* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11Resource_Release(ID3D11Resource* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11Resource_GetDevice(ID3D11Resource* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11Resource_GetPrivateData(ID3D11Resource* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Resource_SetPrivateData(ID3D11Resource* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Resource_SetPrivateDataInterface(ID3D11Resource* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11Resource methods ***/
+static FORCEINLINE void ID3D11Resource_GetType(ID3D11Resource* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
+ This->lpVtbl->GetType(This,pResourceDimension);
+}
+static FORCEINLINE void ID3D11Resource_SetEvictionPriority(ID3D11Resource* This,UINT EvictionPriority) {
+ This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
+}
+static FORCEINLINE UINT ID3D11Resource_GetEvictionPriority(ID3D11Resource* This) {
+ return This->lpVtbl->GetEvictionPriority(This);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11Resource_GetType_Proxy(
+ ID3D11Resource* This,
+ D3D11_RESOURCE_DIMENSION *pResourceDimension);
+void __RPC_STUB ID3D11Resource_GetType_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11Resource_SetEvictionPriority_Proxy(
+ ID3D11Resource* This,
+ UINT EvictionPriority);
+void __RPC_STUB ID3D11Resource_SetEvictionPriority_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+UINT STDMETHODCALLTYPE ID3D11Resource_GetEvictionPriority_Proxy(
+ ID3D11Resource* This);
+void __RPC_STUB ID3D11Resource_GetEvictionPriority_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11Resource_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11View interface
+ */
+#ifndef __ID3D11View_INTERFACE_DEFINED__
+#define __ID3D11View_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11View, 0x839d1216, 0xbb2e, 0x412b, 0xb7,0xf4, 0xa9,0xdb,0xeb,0xe0,0x8e,0xd1);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("839d1216-bb2e-412b-b7f4-a9dbebe08ed1")
+ID3D11View : public ID3D11DeviceChild
+{
+ virtual void STDMETHODCALLTYPE GetResource(
+ ID3D11Resource **ppResource) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11View, 0x839d1216, 0xbb2e, 0x412b, 0xb7,0xf4, 0xa9,0xdb,0xeb,0xe0,0x8e,0xd1)
+#endif
+#else
+typedef struct ID3D11ViewVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11View* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11View* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11View* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11View* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11View* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11View* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11View* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11View methods ***/
+ void (STDMETHODCALLTYPE *GetResource)(
+ ID3D11View* This,
+ ID3D11Resource **ppResource);
+
+ END_INTERFACE
+} ID3D11ViewVtbl;
+interface ID3D11View {
+ CONST_VTBL ID3D11ViewVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11View_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11View_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11View_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11View_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11View_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11View_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11View_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11View methods ***/
+#define ID3D11View_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11View_QueryInterface(ID3D11View* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11View_AddRef(ID3D11View* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11View_Release(ID3D11View* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11View_GetDevice(ID3D11View* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11View_GetPrivateData(ID3D11View* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11View_SetPrivateData(ID3D11View* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11View_SetPrivateDataInterface(ID3D11View* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11View methods ***/
+static FORCEINLINE void ID3D11View_GetResource(ID3D11View* This,ID3D11Resource **ppResource) {
+ This->lpVtbl->GetResource(This,ppResource);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11View_GetResource_Proxy(
+ ID3D11View* This,
+ ID3D11Resource **ppResource);
+void __RPC_STUB ID3D11View_GetResource_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11View_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11BlendState interface
+ */
+#ifndef __ID3D11BlendState_INTERFACE_DEFINED__
+#define __ID3D11BlendState_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11BlendState, 0x75b68faa, 0x347d, 0x4159, 0x8f,0x45, 0xa0,0x64,0x0f,0x01,0xcd,0x9a);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("75b68faa-347d-4159-8f45-a0640f01cd9a")
+ID3D11BlendState : public ID3D11DeviceChild
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_BLEND_DESC *pDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11BlendState, 0x75b68faa, 0x347d, 0x4159, 0x8f,0x45, 0xa0,0x64,0x0f,0x01,0xcd,0x9a)
+#endif
+#else
+typedef struct ID3D11BlendStateVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11BlendState* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11BlendState* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11BlendState* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11BlendState* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11BlendState* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11BlendState* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11BlendState* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11BlendState methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11BlendState* This,
+ D3D11_BLEND_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11BlendStateVtbl;
+interface ID3D11BlendState {
+ CONST_VTBL ID3D11BlendStateVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11BlendState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11BlendState_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11BlendState_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11BlendState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11BlendState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11BlendState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11BlendState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11BlendState methods ***/
+#define ID3D11BlendState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11BlendState_QueryInterface(ID3D11BlendState* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11BlendState_AddRef(ID3D11BlendState* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11BlendState_Release(ID3D11BlendState* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11BlendState_GetDevice(ID3D11BlendState* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11BlendState_GetPrivateData(ID3D11BlendState* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11BlendState_SetPrivateData(ID3D11BlendState* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11BlendState_SetPrivateDataInterface(ID3D11BlendState* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11BlendState methods ***/
+static FORCEINLINE void ID3D11BlendState_GetDesc(ID3D11BlendState* This,D3D11_BLEND_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11BlendState_GetDesc_Proxy(
+ ID3D11BlendState* This,
+ D3D11_BLEND_DESC *pDesc);
+void __RPC_STUB ID3D11BlendState_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11BlendState_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11Buffer interface
+ */
+#ifndef __ID3D11Buffer_INTERFACE_DEFINED__
+#define __ID3D11Buffer_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11Buffer, 0x48570b85, 0xd1ee, 0x4fcd, 0xa2,0x50, 0xeb,0x35,0x07,0x22,0xb0,0x37);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("48570b85-d1ee-4fcd-a250-eb350722b037")
+ID3D11Buffer : public ID3D11Resource
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_BUFFER_DESC *pDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11Buffer, 0x48570b85, 0xd1ee, 0x4fcd, 0xa2,0x50, 0xeb,0x35,0x07,0x22,0xb0,0x37)
+#endif
+#else
+typedef struct ID3D11BufferVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11Buffer* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11Buffer* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11Buffer* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11Buffer* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11Buffer* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11Buffer* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11Buffer* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11Resource methods ***/
+ void (STDMETHODCALLTYPE *GetType)(
+ ID3D11Buffer* This,
+ D3D11_RESOURCE_DIMENSION *pResourceDimension);
+
+ void (STDMETHODCALLTYPE *SetEvictionPriority)(
+ ID3D11Buffer* This,
+ UINT EvictionPriority);
+
+ UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
+ ID3D11Buffer* This);
+
+ /*** ID3D11Buffer methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11Buffer* This,
+ D3D11_BUFFER_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11BufferVtbl;
+interface ID3D11Buffer {
+ CONST_VTBL ID3D11BufferVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11Buffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11Buffer_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11Buffer_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11Buffer_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11Buffer_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11Buffer_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11Buffer_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11Resource methods ***/
+#define ID3D11Buffer_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
+#define ID3D11Buffer_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
+#define ID3D11Buffer_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
+/*** ID3D11Buffer methods ***/
+#define ID3D11Buffer_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11Buffer_QueryInterface(ID3D11Buffer* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11Buffer_AddRef(ID3D11Buffer* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11Buffer_Release(ID3D11Buffer* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11Buffer_GetDevice(ID3D11Buffer* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11Buffer_GetPrivateData(ID3D11Buffer* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Buffer_SetPrivateData(ID3D11Buffer* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Buffer_SetPrivateDataInterface(ID3D11Buffer* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11Resource methods ***/
+static FORCEINLINE void ID3D11Buffer_GetType(ID3D11Buffer* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
+ This->lpVtbl->GetType(This,pResourceDimension);
+}
+static FORCEINLINE void ID3D11Buffer_SetEvictionPriority(ID3D11Buffer* This,UINT EvictionPriority) {
+ This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
+}
+static FORCEINLINE UINT ID3D11Buffer_GetEvictionPriority(ID3D11Buffer* This) {
+ return This->lpVtbl->GetEvictionPriority(This);
+}
+/*** ID3D11Buffer methods ***/
+static FORCEINLINE void ID3D11Buffer_GetDesc(ID3D11Buffer* This,D3D11_BUFFER_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11Buffer_GetDesc_Proxy(
+ ID3D11Buffer* This,
+ D3D11_BUFFER_DESC *pDesc);
+void __RPC_STUB ID3D11Buffer_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11Buffer_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11ClassInstance interface
+ */
+#ifndef __ID3D11ClassInstance_INTERFACE_DEFINED__
+#define __ID3D11ClassInstance_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11ClassInstance, 0xa6cd7faa, 0xb0b7, 0x4a2f, 0x94,0x36, 0x86,0x62,0xa6,0x57,0x97,0xcb);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("a6cd7faa-b0b7-4a2f-9436-8662a65797cb")
+ID3D11ClassInstance : public ID3D11DeviceChild
+{
+ virtual void STDMETHODCALLTYPE GetClassLinkage(
+ ID3D11ClassLinkage **ppLinkage) = 0;
+
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_CLASS_INSTANCE_DESC *pDesc) = 0;
+
+ virtual void STDMETHODCALLTYPE GetInstanceName(
+ LPSTR pInstanceName,
+ SIZE_T *pBufferLength) = 0;
+
+ virtual void STDMETHODCALLTYPE GetTypeName(
+ LPSTR pTypeName,
+ SIZE_T *pBufferLength) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11ClassInstance, 0xa6cd7faa, 0xb0b7, 0x4a2f, 0x94,0x36, 0x86,0x62,0xa6,0x57,0x97,0xcb)
+#endif
+#else
+typedef struct ID3D11ClassInstanceVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11ClassInstance* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11ClassInstance* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11ClassInstance* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11ClassInstance* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11ClassInstance* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11ClassInstance* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11ClassInstance* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11ClassInstance methods ***/
+ void (STDMETHODCALLTYPE *GetClassLinkage)(
+ ID3D11ClassInstance* This,
+ ID3D11ClassLinkage **ppLinkage);
+
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11ClassInstance* This,
+ D3D11_CLASS_INSTANCE_DESC *pDesc);
+
+ void (STDMETHODCALLTYPE *GetInstanceName)(
+ ID3D11ClassInstance* This,
+ LPSTR pInstanceName,
+ SIZE_T *pBufferLength);
+
+ void (STDMETHODCALLTYPE *GetTypeName)(
+ ID3D11ClassInstance* This,
+ LPSTR pTypeName,
+ SIZE_T *pBufferLength);
+
+ END_INTERFACE
+} ID3D11ClassInstanceVtbl;
+interface ID3D11ClassInstance {
+ CONST_VTBL ID3D11ClassInstanceVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11ClassInstance_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11ClassInstance_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11ClassInstance_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11ClassInstance_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11ClassInstance_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11ClassInstance_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11ClassInstance_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11ClassInstance methods ***/
+#define ID3D11ClassInstance_GetClassLinkage(This,ppLinkage) (This)->lpVtbl->GetClassLinkage(This,ppLinkage)
+#define ID3D11ClassInstance_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#define ID3D11ClassInstance_GetInstanceName(This,pInstanceName,pBufferLength) (This)->lpVtbl->GetInstanceName(This,pInstanceName,pBufferLength)
+#define ID3D11ClassInstance_GetTypeName(This,pTypeName,pBufferLength) (This)->lpVtbl->GetTypeName(This,pTypeName,pBufferLength)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11ClassInstance_QueryInterface(ID3D11ClassInstance* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11ClassInstance_AddRef(ID3D11ClassInstance* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11ClassInstance_Release(ID3D11ClassInstance* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11ClassInstance_GetDevice(ID3D11ClassInstance* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11ClassInstance_GetPrivateData(ID3D11ClassInstance* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11ClassInstance_SetPrivateData(ID3D11ClassInstance* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11ClassInstance_SetPrivateDataInterface(ID3D11ClassInstance* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11ClassInstance methods ***/
+static FORCEINLINE void ID3D11ClassInstance_GetClassLinkage(ID3D11ClassInstance* This,ID3D11ClassLinkage **ppLinkage) {
+ This->lpVtbl->GetClassLinkage(This,ppLinkage);
+}
+static FORCEINLINE void ID3D11ClassInstance_GetDesc(ID3D11ClassInstance* This,D3D11_CLASS_INSTANCE_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+static FORCEINLINE void ID3D11ClassInstance_GetInstanceName(ID3D11ClassInstance* This,LPSTR pInstanceName,SIZE_T *pBufferLength) {
+ This->lpVtbl->GetInstanceName(This,pInstanceName,pBufferLength);
+}
+static FORCEINLINE void ID3D11ClassInstance_GetTypeName(ID3D11ClassInstance* This,LPSTR pTypeName,SIZE_T *pBufferLength) {
+ This->lpVtbl->GetTypeName(This,pTypeName,pBufferLength);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11ClassInstance_GetClassLinkage_Proxy(
+ ID3D11ClassInstance* This,
+ ID3D11ClassLinkage **ppLinkage);
+void __RPC_STUB ID3D11ClassInstance_GetClassLinkage_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11ClassInstance_GetDesc_Proxy(
+ ID3D11ClassInstance* This,
+ D3D11_CLASS_INSTANCE_DESC *pDesc);
+void __RPC_STUB ID3D11ClassInstance_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11ClassInstance_GetInstanceName_Proxy(
+ ID3D11ClassInstance* This,
+ LPSTR pInstanceName,
+ SIZE_T *pBufferLength);
+void __RPC_STUB ID3D11ClassInstance_GetInstanceName_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11ClassInstance_GetTypeName_Proxy(
+ ID3D11ClassInstance* This,
+ LPSTR pTypeName,
+ SIZE_T *pBufferLength);
+void __RPC_STUB ID3D11ClassInstance_GetTypeName_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11ClassInstance_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11ClassLinkage interface
+ */
+#ifndef __ID3D11ClassLinkage_INTERFACE_DEFINED__
+#define __ID3D11ClassLinkage_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11ClassLinkage, 0xddf57cba, 0x9543, 0x46e4, 0xa1,0x2b, 0xf2,0x07,0xa0,0xfe,0x7f,0xed);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("ddf57cba-9543-46e4-a12b-f207a0fe7fed")
+ID3D11ClassLinkage : public ID3D11DeviceChild
+{
+ virtual HRESULT STDMETHODCALLTYPE GetClassInstance(
+ LPCSTR pClassInstanceName,
+ UINT InstanceIndex,
+ ID3D11ClassInstance **ppInstance) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateClassInstance(
+ LPCSTR pClassTypeName,
+ UINT ConstantBufferOffset,
+ UINT ConstantVectorOffset,
+ UINT TextureOffset,
+ UINT SamplerOffset,
+ ID3D11ClassInstance **ppInstance) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11ClassLinkage, 0xddf57cba, 0x9543, 0x46e4, 0xa1,0x2b, 0xf2,0x07,0xa0,0xfe,0x7f,0xed)
+#endif
+#else
+typedef struct ID3D11ClassLinkageVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11ClassLinkage* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11ClassLinkage* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11ClassLinkage* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11ClassLinkage* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11ClassLinkage* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11ClassLinkage* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11ClassLinkage* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11ClassLinkage methods ***/
+ HRESULT (STDMETHODCALLTYPE *GetClassInstance)(
+ ID3D11ClassLinkage* This,
+ LPCSTR pClassInstanceName,
+ UINT InstanceIndex,
+ ID3D11ClassInstance **ppInstance);
+
+ HRESULT (STDMETHODCALLTYPE *CreateClassInstance)(
+ ID3D11ClassLinkage* This,
+ LPCSTR pClassTypeName,
+ UINT ConstantBufferOffset,
+ UINT ConstantVectorOffset,
+ UINT TextureOffset,
+ UINT SamplerOffset,
+ ID3D11ClassInstance **ppInstance);
+
+ END_INTERFACE
+} ID3D11ClassLinkageVtbl;
+interface ID3D11ClassLinkage {
+ CONST_VTBL ID3D11ClassLinkageVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11ClassLinkage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11ClassLinkage_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11ClassLinkage_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11ClassLinkage_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11ClassLinkage_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11ClassLinkage_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11ClassLinkage_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11ClassLinkage methods ***/
+#define ID3D11ClassLinkage_GetClassInstance(This,pClassInstanceName,InstanceIndex,ppInstance) (This)->lpVtbl->GetClassInstance(This,pClassInstanceName,InstanceIndex,ppInstance)
+#define ID3D11ClassLinkage_CreateClassInstance(This,pClassTypeName,ConstantBufferOffset,ConstantVectorOffset,TextureOffset,SamplerOffset,ppInstance) (This)->lpVtbl->CreateClassInstance(This,pClassTypeName,ConstantBufferOffset,ConstantVectorOffset,TextureOffset,SamplerOffset,ppInstance)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11ClassLinkage_QueryInterface(ID3D11ClassLinkage* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11ClassLinkage_AddRef(ID3D11ClassLinkage* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11ClassLinkage_Release(ID3D11ClassLinkage* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11ClassLinkage_GetDevice(ID3D11ClassLinkage* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11ClassLinkage_GetPrivateData(ID3D11ClassLinkage* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11ClassLinkage_SetPrivateData(ID3D11ClassLinkage* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11ClassLinkage_SetPrivateDataInterface(ID3D11ClassLinkage* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11ClassLinkage methods ***/
+static FORCEINLINE HRESULT ID3D11ClassLinkage_GetClassInstance(ID3D11ClassLinkage* This,LPCSTR pClassInstanceName,UINT InstanceIndex,ID3D11ClassInstance **ppInstance) {
+ return This->lpVtbl->GetClassInstance(This,pClassInstanceName,InstanceIndex,ppInstance);
+}
+static FORCEINLINE HRESULT ID3D11ClassLinkage_CreateClassInstance(ID3D11ClassLinkage* This,LPCSTR pClassTypeName,UINT ConstantBufferOffset,UINT ConstantVectorOffset,UINT TextureOffset,UINT SamplerOffset,ID3D11ClassInstance **ppInstance) {
+ return This->lpVtbl->CreateClassInstance(This,pClassTypeName,ConstantBufferOffset,ConstantVectorOffset,TextureOffset,SamplerOffset,ppInstance);
+}
+#endif
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE ID3D11ClassLinkage_GetClassInstance_Proxy(
+ ID3D11ClassLinkage* This,
+ LPCSTR pClassInstanceName,
+ UINT InstanceIndex,
+ ID3D11ClassInstance **ppInstance);
+void __RPC_STUB ID3D11ClassLinkage_GetClassInstance_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11ClassLinkage_CreateClassInstance_Proxy(
+ ID3D11ClassLinkage* This,
+ LPCSTR pClassTypeName,
+ UINT ConstantBufferOffset,
+ UINT ConstantVectorOffset,
+ UINT TextureOffset,
+ UINT SamplerOffset,
+ ID3D11ClassInstance **ppInstance);
+void __RPC_STUB ID3D11ClassLinkage_CreateClassInstance_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11ClassLinkage_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11CommandList interface
+ */
+#ifndef __ID3D11CommandList_INTERFACE_DEFINED__
+#define __ID3D11CommandList_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11CommandList, 0xa24bc4d1, 0x769e, 0x43f7, 0x80,0x13, 0x98,0xff,0x56,0x6c,0x18,0xe2);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("a24bc4d1-769e-43f7-8013-98ff566c18e2")
+ID3D11CommandList : public ID3D11DeviceChild
+{
+ virtual UINT STDMETHODCALLTYPE GetContextFlags(
+ ) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11CommandList, 0xa24bc4d1, 0x769e, 0x43f7, 0x80,0x13, 0x98,0xff,0x56,0x6c,0x18,0xe2)
+#endif
+#else
+typedef struct ID3D11CommandListVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11CommandList* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11CommandList* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11CommandList* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11CommandList* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11CommandList* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11CommandList* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11CommandList* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11CommandList methods ***/
+ UINT (STDMETHODCALLTYPE *GetContextFlags)(
+ ID3D11CommandList* This);
+
+ END_INTERFACE
+} ID3D11CommandListVtbl;
+interface ID3D11CommandList {
+ CONST_VTBL ID3D11CommandListVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11CommandList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11CommandList_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11CommandList_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11CommandList_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11CommandList_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11CommandList_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11CommandList_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11CommandList methods ***/
+#define ID3D11CommandList_GetContextFlags(This) (This)->lpVtbl->GetContextFlags(This)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11CommandList_QueryInterface(ID3D11CommandList* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11CommandList_AddRef(ID3D11CommandList* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11CommandList_Release(ID3D11CommandList* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11CommandList_GetDevice(ID3D11CommandList* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11CommandList_GetPrivateData(ID3D11CommandList* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11CommandList_SetPrivateData(ID3D11CommandList* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11CommandList_SetPrivateDataInterface(ID3D11CommandList* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11CommandList methods ***/
+static FORCEINLINE UINT ID3D11CommandList_GetContextFlags(ID3D11CommandList* This) {
+ return This->lpVtbl->GetContextFlags(This);
+}
+#endif
+#endif
+
+#endif
+
+UINT STDMETHODCALLTYPE ID3D11CommandList_GetContextFlags_Proxy(
+ ID3D11CommandList* This);
+void __RPC_STUB ID3D11CommandList_GetContextFlags_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11CommandList_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11ComputeShader interface
+ */
+#ifndef __ID3D11ComputeShader_INTERFACE_DEFINED__
+#define __ID3D11ComputeShader_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11ComputeShader, 0x4f5b196e, 0xc2bd, 0x495e, 0xbd,0x01, 0x1f,0xde,0xd3,0x8e,0x49,0x69);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("4f5b196e-c2bd-495e-bd01-1fded38e4969")
+ID3D11ComputeShader : public ID3D11DeviceChild
+{
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11ComputeShader, 0x4f5b196e, 0xc2bd, 0x495e, 0xbd,0x01, 0x1f,0xde,0xd3,0x8e,0x49,0x69)
+#endif
+#else
+typedef struct ID3D11ComputeShaderVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11ComputeShader* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11ComputeShader* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11ComputeShader* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11ComputeShader* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11ComputeShader* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11ComputeShader* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11ComputeShader* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ END_INTERFACE
+} ID3D11ComputeShaderVtbl;
+interface ID3D11ComputeShader {
+ CONST_VTBL ID3D11ComputeShaderVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11ComputeShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11ComputeShader_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11ComputeShader_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11ComputeShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11ComputeShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11ComputeShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11ComputeShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11ComputeShader_QueryInterface(ID3D11ComputeShader* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11ComputeShader_AddRef(ID3D11ComputeShader* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11ComputeShader_Release(ID3D11ComputeShader* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11ComputeShader_GetDevice(ID3D11ComputeShader* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11ComputeShader_GetPrivateData(ID3D11ComputeShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11ComputeShader_SetPrivateData(ID3D11ComputeShader* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11ComputeShader_SetPrivateDataInterface(ID3D11ComputeShader* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif /* __ID3D11ComputeShader_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11Counter interface
+ */
+#ifndef __ID3D11Counter_INTERFACE_DEFINED__
+#define __ID3D11Counter_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11Counter, 0x6e8c49fb, 0xa371, 0x4770, 0xb4,0x40, 0x29,0x08,0x60,0x22,0xb7,0x41);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("6e8c49fb-a371-4770-b440-29086022b741")
+ID3D11Counter : public ID3D11Asynchronous
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_COUNTER_DESC *pDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11Counter, 0x6e8c49fb, 0xa371, 0x4770, 0xb4,0x40, 0x29,0x08,0x60,0x22,0xb7,0x41)
+#endif
+#else
+typedef struct ID3D11CounterVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11Counter* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11Counter* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11Counter* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11Counter* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11Counter* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11Counter* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11Counter* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11Asynchronous methods ***/
+ UINT (STDMETHODCALLTYPE *GetDataSize)(
+ ID3D11Counter* This);
+
+ /*** ID3D11Counter methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11Counter* This,
+ D3D11_COUNTER_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11CounterVtbl;
+interface ID3D11Counter {
+ CONST_VTBL ID3D11CounterVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11Counter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11Counter_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11Counter_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11Counter_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11Counter_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11Counter_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11Counter_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11Asynchronous methods ***/
+#define ID3D11Counter_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
+/*** ID3D11Counter methods ***/
+#define ID3D11Counter_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11Counter_QueryInterface(ID3D11Counter* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11Counter_AddRef(ID3D11Counter* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11Counter_Release(ID3D11Counter* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11Counter_GetDevice(ID3D11Counter* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11Counter_GetPrivateData(ID3D11Counter* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Counter_SetPrivateData(ID3D11Counter* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Counter_SetPrivateDataInterface(ID3D11Counter* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11Asynchronous methods ***/
+static FORCEINLINE UINT ID3D11Counter_GetDataSize(ID3D11Counter* This) {
+ return This->lpVtbl->GetDataSize(This);
+}
+/*** ID3D11Counter methods ***/
+static FORCEINLINE void ID3D11Counter_GetDesc(ID3D11Counter* This,D3D11_COUNTER_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11Counter_GetDesc_Proxy(
+ ID3D11Counter* This,
+ D3D11_COUNTER_DESC *pDesc);
+void __RPC_STUB ID3D11Counter_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11Counter_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11DepthStencilState interface
+ */
+#ifndef __ID3D11DepthStencilState_INTERFACE_DEFINED__
+#define __ID3D11DepthStencilState_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11DepthStencilState, 0x03823efb, 0x8d8f, 0x4e1c, 0x9a,0xa2, 0xf6,0x4b,0xb2,0xcb,0xfd,0xf1);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("03823efb-8d8f-4e1c-9aa2-f64bb2cbfdf1")
+ID3D11DepthStencilState : public ID3D11DeviceChild
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_DEPTH_STENCIL_DESC *pDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11DepthStencilState, 0x03823efb, 0x8d8f, 0x4e1c, 0x9a,0xa2, 0xf6,0x4b,0xb2,0xcb,0xfd,0xf1)
+#endif
+#else
+typedef struct ID3D11DepthStencilStateVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11DepthStencilState* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11DepthStencilState* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11DepthStencilState* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11DepthStencilState* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11DepthStencilState* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11DepthStencilState* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11DepthStencilState* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11DepthStencilState methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11DepthStencilState* This,
+ D3D11_DEPTH_STENCIL_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11DepthStencilStateVtbl;
+interface ID3D11DepthStencilState {
+ CONST_VTBL ID3D11DepthStencilStateVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11DepthStencilState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11DepthStencilState_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11DepthStencilState_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11DepthStencilState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11DepthStencilState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11DepthStencilState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11DepthStencilState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11DepthStencilState methods ***/
+#define ID3D11DepthStencilState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11DepthStencilState_QueryInterface(ID3D11DepthStencilState* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11DepthStencilState_AddRef(ID3D11DepthStencilState* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11DepthStencilState_Release(ID3D11DepthStencilState* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11DepthStencilState_GetDevice(ID3D11DepthStencilState* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11DepthStencilState_GetPrivateData(ID3D11DepthStencilState* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11DepthStencilState_SetPrivateData(ID3D11DepthStencilState* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11DepthStencilState_SetPrivateDataInterface(ID3D11DepthStencilState* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11DepthStencilState methods ***/
+static FORCEINLINE void ID3D11DepthStencilState_GetDesc(ID3D11DepthStencilState* This,D3D11_DEPTH_STENCIL_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11DepthStencilState_GetDesc_Proxy(
+ ID3D11DepthStencilState* This,
+ D3D11_DEPTH_STENCIL_DESC *pDesc);
+void __RPC_STUB ID3D11DepthStencilState_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11DepthStencilState_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11DepthStencilView interface
+ */
+#ifndef __ID3D11DepthStencilView_INTERFACE_DEFINED__
+#define __ID3D11DepthStencilView_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11DepthStencilView, 0x9fdac92a, 0x1876, 0x48c3, 0xaf,0xad, 0x25,0xb9,0x4f,0x84,0xa9,0xb6);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("9fdac92a-1876-48c3-afad-25b94f84a9b6")
+ID3D11DepthStencilView : public ID3D11View
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11DepthStencilView, 0x9fdac92a, 0x1876, 0x48c3, 0xaf,0xad, 0x25,0xb9,0x4f,0x84,0xa9,0xb6)
+#endif
+#else
+typedef struct ID3D11DepthStencilViewVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11DepthStencilView* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11DepthStencilView* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11DepthStencilView* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11DepthStencilView* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11DepthStencilView* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11DepthStencilView* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11DepthStencilView* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11View methods ***/
+ void (STDMETHODCALLTYPE *GetResource)(
+ ID3D11DepthStencilView* This,
+ ID3D11Resource **ppResource);
+
+ /*** ID3D11DepthStencilView methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11DepthStencilView* This,
+ D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11DepthStencilViewVtbl;
+interface ID3D11DepthStencilView {
+ CONST_VTBL ID3D11DepthStencilViewVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11DepthStencilView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11DepthStencilView_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11DepthStencilView_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11DepthStencilView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11DepthStencilView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11DepthStencilView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11DepthStencilView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11View methods ***/
+#define ID3D11DepthStencilView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
+/*** ID3D11DepthStencilView methods ***/
+#define ID3D11DepthStencilView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11DepthStencilView_QueryInterface(ID3D11DepthStencilView* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11DepthStencilView_AddRef(ID3D11DepthStencilView* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11DepthStencilView_Release(ID3D11DepthStencilView* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11DepthStencilView_GetDevice(ID3D11DepthStencilView* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11DepthStencilView_GetPrivateData(ID3D11DepthStencilView* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11DepthStencilView_SetPrivateData(ID3D11DepthStencilView* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11DepthStencilView_SetPrivateDataInterface(ID3D11DepthStencilView* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11View methods ***/
+static FORCEINLINE void ID3D11DepthStencilView_GetResource(ID3D11DepthStencilView* This,ID3D11Resource **ppResource) {
+ This->lpVtbl->GetResource(This,ppResource);
+}
+/*** ID3D11DepthStencilView methods ***/
+static FORCEINLINE void ID3D11DepthStencilView_GetDesc(ID3D11DepthStencilView* This,D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11DepthStencilView_GetDesc_Proxy(
+ ID3D11DepthStencilView* This,
+ D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc);
+void __RPC_STUB ID3D11DepthStencilView_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11DepthStencilView_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11DomainShader interface
+ */
+#ifndef __ID3D11DomainShader_INTERFACE_DEFINED__
+#define __ID3D11DomainShader_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11DomainShader, 0xf582c508, 0x0f36, 0x490c, 0x99,0x77, 0x31,0xee,0xce,0x26,0x8c,0xfa);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("f582c508-0f36-490c-9977-31eece268cfa")
+ID3D11DomainShader : public ID3D11DeviceChild
+{
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11DomainShader, 0xf582c508, 0x0f36, 0x490c, 0x99,0x77, 0x31,0xee,0xce,0x26,0x8c,0xfa)
+#endif
+#else
+typedef struct ID3D11DomainShaderVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11DomainShader* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11DomainShader* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11DomainShader* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11DomainShader* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11DomainShader* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11DomainShader* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11DomainShader* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ END_INTERFACE
+} ID3D11DomainShaderVtbl;
+interface ID3D11DomainShader {
+ CONST_VTBL ID3D11DomainShaderVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11DomainShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11DomainShader_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11DomainShader_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11DomainShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11DomainShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11DomainShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11DomainShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11DomainShader_QueryInterface(ID3D11DomainShader* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11DomainShader_AddRef(ID3D11DomainShader* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11DomainShader_Release(ID3D11DomainShader* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11DomainShader_GetDevice(ID3D11DomainShader* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11DomainShader_GetPrivateData(ID3D11DomainShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11DomainShader_SetPrivateData(ID3D11DomainShader* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11DomainShader_SetPrivateDataInterface(ID3D11DomainShader* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif /* __ID3D11DomainShader_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11GeometryShader interface
+ */
+#ifndef __ID3D11GeometryShader_INTERFACE_DEFINED__
+#define __ID3D11GeometryShader_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11GeometryShader, 0x38325b96, 0xeffb, 0x4022, 0xba,0x02, 0x2e,0x79,0x5b,0x70,0x27,0x5c);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("38325b96-effb-4022-ba02-2e795b70275c")
+ID3D11GeometryShader : public ID3D11DeviceChild
+{
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11GeometryShader, 0x38325b96, 0xeffb, 0x4022, 0xba,0x02, 0x2e,0x79,0x5b,0x70,0x27,0x5c)
+#endif
+#else
+typedef struct ID3D11GeometryShaderVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11GeometryShader* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11GeometryShader* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11GeometryShader* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11GeometryShader* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11GeometryShader* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11GeometryShader* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11GeometryShader* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ END_INTERFACE
+} ID3D11GeometryShaderVtbl;
+interface ID3D11GeometryShader {
+ CONST_VTBL ID3D11GeometryShaderVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11GeometryShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11GeometryShader_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11GeometryShader_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11GeometryShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11GeometryShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11GeometryShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11GeometryShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11GeometryShader_QueryInterface(ID3D11GeometryShader* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11GeometryShader_AddRef(ID3D11GeometryShader* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11GeometryShader_Release(ID3D11GeometryShader* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11GeometryShader_GetDevice(ID3D11GeometryShader* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11GeometryShader_GetPrivateData(ID3D11GeometryShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11GeometryShader_SetPrivateData(ID3D11GeometryShader* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11GeometryShader_SetPrivateDataInterface(ID3D11GeometryShader* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif /* __ID3D11GeometryShader_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11HullShader interface
+ */
+#ifndef __ID3D11HullShader_INTERFACE_DEFINED__
+#define __ID3D11HullShader_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11HullShader, 0x8e5c6061, 0x628a, 0x4c8e, 0x82,0x64, 0xbb,0xe4,0x5c,0xb3,0xd5,0xdd);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("8e5c6061-628a-4c8e-8264-bbe45cb3d5dd")
+ID3D11HullShader : public ID3D11DeviceChild
+{
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11HullShader, 0x8e5c6061, 0x628a, 0x4c8e, 0x82,0x64, 0xbb,0xe4,0x5c,0xb3,0xd5,0xdd)
+#endif
+#else
+typedef struct ID3D11HullShaderVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11HullShader* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11HullShader* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11HullShader* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11HullShader* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11HullShader* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11HullShader* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11HullShader* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ END_INTERFACE
+} ID3D11HullShaderVtbl;
+interface ID3D11HullShader {
+ CONST_VTBL ID3D11HullShaderVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11HullShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11HullShader_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11HullShader_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11HullShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11HullShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11HullShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11HullShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11HullShader_QueryInterface(ID3D11HullShader* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11HullShader_AddRef(ID3D11HullShader* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11HullShader_Release(ID3D11HullShader* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11HullShader_GetDevice(ID3D11HullShader* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11HullShader_GetPrivateData(ID3D11HullShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11HullShader_SetPrivateData(ID3D11HullShader* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11HullShader_SetPrivateDataInterface(ID3D11HullShader* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif /* __ID3D11HullShader_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11InputLayout interface
+ */
+#ifndef __ID3D11InputLayout_INTERFACE_DEFINED__
+#define __ID3D11InputLayout_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11InputLayout, 0xe4819ddc, 0x4cf0, 0x4025, 0xbd,0x26, 0x5d,0xe8,0x2a,0x3e,0x07,0xb7);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("e4819ddc-4cf0-4025-bd26-5de82a3e07b7")
+ID3D11InputLayout : public ID3D11DeviceChild
+{
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11InputLayout, 0xe4819ddc, 0x4cf0, 0x4025, 0xbd,0x26, 0x5d,0xe8,0x2a,0x3e,0x07,0xb7)
+#endif
+#else
+typedef struct ID3D11InputLayoutVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11InputLayout* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11InputLayout* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11InputLayout* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11InputLayout* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11InputLayout* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11InputLayout* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11InputLayout* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ END_INTERFACE
+} ID3D11InputLayoutVtbl;
+interface ID3D11InputLayout {
+ CONST_VTBL ID3D11InputLayoutVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11InputLayout_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11InputLayout_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11InputLayout_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11InputLayout_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11InputLayout_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11InputLayout_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11InputLayout_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11InputLayout_QueryInterface(ID3D11InputLayout* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11InputLayout_AddRef(ID3D11InputLayout* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11InputLayout_Release(ID3D11InputLayout* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11InputLayout_GetDevice(ID3D11InputLayout* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11InputLayout_GetPrivateData(ID3D11InputLayout* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11InputLayout_SetPrivateData(ID3D11InputLayout* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11InputLayout_SetPrivateDataInterface(ID3D11InputLayout* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif /* __ID3D11InputLayout_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11PixelShader interface
+ */
+#ifndef __ID3D11PixelShader_INTERFACE_DEFINED__
+#define __ID3D11PixelShader_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11PixelShader, 0xea82e40d, 0x51dc, 0x4f33, 0x93,0xd4, 0xdb,0x7c,0x91,0x25,0xae,0x8c);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("ea82e40d-51dc-4f33-93d4-db7c9125ae8c")
+ID3D11PixelShader : public ID3D11DeviceChild
+{
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11PixelShader, 0xea82e40d, 0x51dc, 0x4f33, 0x93,0xd4, 0xdb,0x7c,0x91,0x25,0xae,0x8c)
+#endif
+#else
+typedef struct ID3D11PixelShaderVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11PixelShader* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11PixelShader* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11PixelShader* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11PixelShader* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11PixelShader* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11PixelShader* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11PixelShader* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ END_INTERFACE
+} ID3D11PixelShaderVtbl;
+interface ID3D11PixelShader {
+ CONST_VTBL ID3D11PixelShaderVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11PixelShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11PixelShader_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11PixelShader_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11PixelShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11PixelShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11PixelShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11PixelShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11PixelShader_QueryInterface(ID3D11PixelShader* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11PixelShader_AddRef(ID3D11PixelShader* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11PixelShader_Release(ID3D11PixelShader* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11PixelShader_GetDevice(ID3D11PixelShader* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11PixelShader_GetPrivateData(ID3D11PixelShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11PixelShader_SetPrivateData(ID3D11PixelShader* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11PixelShader_SetPrivateDataInterface(ID3D11PixelShader* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif /* __ID3D11PixelShader_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11Predicate interface
+ */
+#ifndef __ID3D11Predicate_INTERFACE_DEFINED__
+#define __ID3D11Predicate_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11Predicate, 0x9eb576dd, 0x9f77, 0x4d86, 0x81,0xaa, 0x8b,0xab,0x5f,0xe4,0x90,0xe2);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("9eb576dd-9f77-4d86-81aa-8bab5fe490e2")
+ID3D11Predicate : public ID3D11Query
+{
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11Predicate, 0x9eb576dd, 0x9f77, 0x4d86, 0x81,0xaa, 0x8b,0xab,0x5f,0xe4,0x90,0xe2)
+#endif
+#else
+typedef struct ID3D11PredicateVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11Predicate* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11Predicate* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11Predicate* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11Predicate* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11Predicate* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11Predicate* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11Predicate* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11Asynchronous methods ***/
+ UINT (STDMETHODCALLTYPE *GetDataSize)(
+ ID3D11Predicate* This);
+
+ /*** ID3D11Query methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11Predicate* This,
+ D3D11_QUERY_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11PredicateVtbl;
+interface ID3D11Predicate {
+ CONST_VTBL ID3D11PredicateVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11Predicate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11Predicate_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11Predicate_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11Predicate_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11Predicate_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11Predicate_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11Predicate_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11Asynchronous methods ***/
+#define ID3D11Predicate_GetDataSize(This) (This)->lpVtbl->GetDataSize(This)
+/*** ID3D11Query methods ***/
+#define ID3D11Predicate_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11Predicate_QueryInterface(ID3D11Predicate* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11Predicate_AddRef(ID3D11Predicate* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11Predicate_Release(ID3D11Predicate* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11Predicate_GetDevice(ID3D11Predicate* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11Predicate_GetPrivateData(ID3D11Predicate* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Predicate_SetPrivateData(ID3D11Predicate* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Predicate_SetPrivateDataInterface(ID3D11Predicate* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11Asynchronous methods ***/
+static FORCEINLINE UINT ID3D11Predicate_GetDataSize(ID3D11Predicate* This) {
+ return This->lpVtbl->GetDataSize(This);
+}
+/*** ID3D11Query methods ***/
+static FORCEINLINE void ID3D11Predicate_GetDesc(ID3D11Predicate* This,D3D11_QUERY_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif /* __ID3D11Predicate_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11RasterizerState interface
+ */
+#ifndef __ID3D11RasterizerState_INTERFACE_DEFINED__
+#define __ID3D11RasterizerState_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11RasterizerState, 0x9bb4ab81, 0xab1a, 0x4d8f, 0xb5,0x06, 0xfc,0x04,0x20,0x0b,0x6e,0xe7);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("9bb4ab81-ab1a-4d8f-b506-fc04200b6ee7")
+ID3D11RasterizerState : public ID3D11DeviceChild
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_RASTERIZER_DESC *pDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11RasterizerState, 0x9bb4ab81, 0xab1a, 0x4d8f, 0xb5,0x06, 0xfc,0x04,0x20,0x0b,0x6e,0xe7)
+#endif
+#else
+typedef struct ID3D11RasterizerStateVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11RasterizerState* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11RasterizerState* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11RasterizerState* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11RasterizerState* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11RasterizerState* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11RasterizerState* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11RasterizerState* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11RasterizerState methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11RasterizerState* This,
+ D3D11_RASTERIZER_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11RasterizerStateVtbl;
+interface ID3D11RasterizerState {
+ CONST_VTBL ID3D11RasterizerStateVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11RasterizerState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11RasterizerState_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11RasterizerState_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11RasterizerState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11RasterizerState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11RasterizerState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11RasterizerState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11RasterizerState methods ***/
+#define ID3D11RasterizerState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11RasterizerState_QueryInterface(ID3D11RasterizerState* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11RasterizerState_AddRef(ID3D11RasterizerState* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11RasterizerState_Release(ID3D11RasterizerState* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11RasterizerState_GetDevice(ID3D11RasterizerState* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11RasterizerState_GetPrivateData(ID3D11RasterizerState* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11RasterizerState_SetPrivateData(ID3D11RasterizerState* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11RasterizerState_SetPrivateDataInterface(ID3D11RasterizerState* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11RasterizerState methods ***/
+static FORCEINLINE void ID3D11RasterizerState_GetDesc(ID3D11RasterizerState* This,D3D11_RASTERIZER_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11RasterizerState_GetDesc_Proxy(
+ ID3D11RasterizerState* This,
+ D3D11_RASTERIZER_DESC *pDesc);
+void __RPC_STUB ID3D11RasterizerState_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11RasterizerState_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11RenderTargetView interface
+ */
+#ifndef __ID3D11RenderTargetView_INTERFACE_DEFINED__
+#define __ID3D11RenderTargetView_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11RenderTargetView, 0xdfdba067, 0x0b8d, 0x4865, 0x87,0x5b, 0xd7,0xb4,0x51,0x6c,0xc1,0x64);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("dfdba067-0b8d-4865-875b-d7b4516cc164")
+ID3D11RenderTargetView : public ID3D11View
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_RENDER_TARGET_VIEW_DESC *pDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11RenderTargetView, 0xdfdba067, 0x0b8d, 0x4865, 0x87,0x5b, 0xd7,0xb4,0x51,0x6c,0xc1,0x64)
+#endif
+#else
+typedef struct ID3D11RenderTargetViewVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11RenderTargetView* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11RenderTargetView* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11RenderTargetView* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11RenderTargetView* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11RenderTargetView* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11RenderTargetView* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11RenderTargetView* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11View methods ***/
+ void (STDMETHODCALLTYPE *GetResource)(
+ ID3D11RenderTargetView* This,
+ ID3D11Resource **ppResource);
+
+ /*** ID3D11RenderTargetView methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11RenderTargetView* This,
+ D3D11_RENDER_TARGET_VIEW_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11RenderTargetViewVtbl;
+interface ID3D11RenderTargetView {
+ CONST_VTBL ID3D11RenderTargetViewVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11RenderTargetView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11RenderTargetView_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11RenderTargetView_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11RenderTargetView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11RenderTargetView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11RenderTargetView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11RenderTargetView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11View methods ***/
+#define ID3D11RenderTargetView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
+/*** ID3D11RenderTargetView methods ***/
+#define ID3D11RenderTargetView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11RenderTargetView_QueryInterface(ID3D11RenderTargetView* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11RenderTargetView_AddRef(ID3D11RenderTargetView* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11RenderTargetView_Release(ID3D11RenderTargetView* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11RenderTargetView_GetDevice(ID3D11RenderTargetView* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11RenderTargetView_GetPrivateData(ID3D11RenderTargetView* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11RenderTargetView_SetPrivateData(ID3D11RenderTargetView* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11RenderTargetView_SetPrivateDataInterface(ID3D11RenderTargetView* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11View methods ***/
+static FORCEINLINE void ID3D11RenderTargetView_GetResource(ID3D11RenderTargetView* This,ID3D11Resource **ppResource) {
+ This->lpVtbl->GetResource(This,ppResource);
+}
+/*** ID3D11RenderTargetView methods ***/
+static FORCEINLINE void ID3D11RenderTargetView_GetDesc(ID3D11RenderTargetView* This,D3D11_RENDER_TARGET_VIEW_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11RenderTargetView_GetDesc_Proxy(
+ ID3D11RenderTargetView* This,
+ D3D11_RENDER_TARGET_VIEW_DESC *pDesc);
+void __RPC_STUB ID3D11RenderTargetView_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11RenderTargetView_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11SamplerState interface
+ */
+#ifndef __ID3D11SamplerState_INTERFACE_DEFINED__
+#define __ID3D11SamplerState_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11SamplerState, 0xda6fea51, 0x564c, 0x4487, 0x98,0x10, 0xf0,0xd0,0xf9,0xb4,0xe3,0xa5);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("da6fea51-564c-4487-9810-f0d0f9b4e3a5")
+ID3D11SamplerState : public ID3D11DeviceChild
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_SAMPLER_DESC *pDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11SamplerState, 0xda6fea51, 0x564c, 0x4487, 0x98,0x10, 0xf0,0xd0,0xf9,0xb4,0xe3,0xa5)
+#endif
+#else
+typedef struct ID3D11SamplerStateVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11SamplerState* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11SamplerState* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11SamplerState* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11SamplerState* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11SamplerState* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11SamplerState* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11SamplerState* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11SamplerState methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11SamplerState* This,
+ D3D11_SAMPLER_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11SamplerStateVtbl;
+interface ID3D11SamplerState {
+ CONST_VTBL ID3D11SamplerStateVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11SamplerState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11SamplerState_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11SamplerState_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11SamplerState_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11SamplerState_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11SamplerState_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11SamplerState_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11SamplerState methods ***/
+#define ID3D11SamplerState_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11SamplerState_QueryInterface(ID3D11SamplerState* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11SamplerState_AddRef(ID3D11SamplerState* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11SamplerState_Release(ID3D11SamplerState* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11SamplerState_GetDevice(ID3D11SamplerState* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11SamplerState_GetPrivateData(ID3D11SamplerState* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11SamplerState_SetPrivateData(ID3D11SamplerState* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11SamplerState_SetPrivateDataInterface(ID3D11SamplerState* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11SamplerState methods ***/
+static FORCEINLINE void ID3D11SamplerState_GetDesc(ID3D11SamplerState* This,D3D11_SAMPLER_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11SamplerState_GetDesc_Proxy(
+ ID3D11SamplerState* This,
+ D3D11_SAMPLER_DESC *pDesc);
+void __RPC_STUB ID3D11SamplerState_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11SamplerState_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11ShaderResourceView interface
+ */
+#ifndef __ID3D11ShaderResourceView_INTERFACE_DEFINED__
+#define __ID3D11ShaderResourceView_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11ShaderResourceView, 0xb0e06fe0, 0x8192, 0x4e1a, 0xb1,0xca, 0x36,0xd7,0x41,0x47,0x10,0xb2);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("b0e06fe0-8192-4e1a-b1ca-36d7414710b2")
+ID3D11ShaderResourceView : public ID3D11View
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11ShaderResourceView, 0xb0e06fe0, 0x8192, 0x4e1a, 0xb1,0xca, 0x36,0xd7,0x41,0x47,0x10,0xb2)
+#endif
+#else
+typedef struct ID3D11ShaderResourceViewVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11ShaderResourceView* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11ShaderResourceView* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11ShaderResourceView* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11ShaderResourceView* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11ShaderResourceView* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11ShaderResourceView* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11ShaderResourceView* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11View methods ***/
+ void (STDMETHODCALLTYPE *GetResource)(
+ ID3D11ShaderResourceView* This,
+ ID3D11Resource **ppResource);
+
+ /*** ID3D11ShaderResourceView methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11ShaderResourceView* This,
+ D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11ShaderResourceViewVtbl;
+interface ID3D11ShaderResourceView {
+ CONST_VTBL ID3D11ShaderResourceViewVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11ShaderResourceView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11ShaderResourceView_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11ShaderResourceView_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11ShaderResourceView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11ShaderResourceView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11ShaderResourceView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11ShaderResourceView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11View methods ***/
+#define ID3D11ShaderResourceView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
+/*** ID3D11ShaderResourceView methods ***/
+#define ID3D11ShaderResourceView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11ShaderResourceView_QueryInterface(ID3D11ShaderResourceView* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11ShaderResourceView_AddRef(ID3D11ShaderResourceView* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11ShaderResourceView_Release(ID3D11ShaderResourceView* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11ShaderResourceView_GetDevice(ID3D11ShaderResourceView* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11ShaderResourceView_GetPrivateData(ID3D11ShaderResourceView* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11ShaderResourceView_SetPrivateData(ID3D11ShaderResourceView* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11ShaderResourceView_SetPrivateDataInterface(ID3D11ShaderResourceView* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11View methods ***/
+static FORCEINLINE void ID3D11ShaderResourceView_GetResource(ID3D11ShaderResourceView* This,ID3D11Resource **ppResource) {
+ This->lpVtbl->GetResource(This,ppResource);
+}
+/*** ID3D11ShaderResourceView methods ***/
+static FORCEINLINE void ID3D11ShaderResourceView_GetDesc(ID3D11ShaderResourceView* This,D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11ShaderResourceView_GetDesc_Proxy(
+ ID3D11ShaderResourceView* This,
+ D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc);
+void __RPC_STUB ID3D11ShaderResourceView_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11ShaderResourceView_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11Texture1D interface
+ */
+#ifndef __ID3D11Texture1D_INTERFACE_DEFINED__
+#define __ID3D11Texture1D_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11Texture1D, 0xf8fb5c27, 0xc6b3, 0x4f75, 0xa4,0xc8, 0x43,0x9a,0xf2,0xef,0x56,0x4c);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("f8fb5c27-c6b3-4f75-a4c8-439af2ef564c")
+ID3D11Texture1D : public ID3D11Resource
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_TEXTURE1D_DESC *pDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11Texture1D, 0xf8fb5c27, 0xc6b3, 0x4f75, 0xa4,0xc8, 0x43,0x9a,0xf2,0xef,0x56,0x4c)
+#endif
+#else
+typedef struct ID3D11Texture1DVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11Texture1D* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11Texture1D* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11Texture1D* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11Texture1D* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11Texture1D* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11Texture1D* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11Texture1D* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11Resource methods ***/
+ void (STDMETHODCALLTYPE *GetType)(
+ ID3D11Texture1D* This,
+ D3D11_RESOURCE_DIMENSION *pResourceDimension);
+
+ void (STDMETHODCALLTYPE *SetEvictionPriority)(
+ ID3D11Texture1D* This,
+ UINT EvictionPriority);
+
+ UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
+ ID3D11Texture1D* This);
+
+ /*** ID3D11Texture1D methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11Texture1D* This,
+ D3D11_TEXTURE1D_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11Texture1DVtbl;
+interface ID3D11Texture1D {
+ CONST_VTBL ID3D11Texture1DVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11Texture1D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11Texture1D_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11Texture1D_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11Texture1D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11Texture1D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11Texture1D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11Texture1D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11Resource methods ***/
+#define ID3D11Texture1D_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
+#define ID3D11Texture1D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
+#define ID3D11Texture1D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
+/*** ID3D11Texture1D methods ***/
+#define ID3D11Texture1D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11Texture1D_QueryInterface(ID3D11Texture1D* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11Texture1D_AddRef(ID3D11Texture1D* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11Texture1D_Release(ID3D11Texture1D* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11Texture1D_GetDevice(ID3D11Texture1D* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11Texture1D_GetPrivateData(ID3D11Texture1D* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Texture1D_SetPrivateData(ID3D11Texture1D* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Texture1D_SetPrivateDataInterface(ID3D11Texture1D* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11Resource methods ***/
+static FORCEINLINE void ID3D11Texture1D_GetType(ID3D11Texture1D* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
+ This->lpVtbl->GetType(This,pResourceDimension);
+}
+static FORCEINLINE void ID3D11Texture1D_SetEvictionPriority(ID3D11Texture1D* This,UINT EvictionPriority) {
+ This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
+}
+static FORCEINLINE UINT ID3D11Texture1D_GetEvictionPriority(ID3D11Texture1D* This) {
+ return This->lpVtbl->GetEvictionPriority(This);
+}
+/*** ID3D11Texture1D methods ***/
+static FORCEINLINE void ID3D11Texture1D_GetDesc(ID3D11Texture1D* This,D3D11_TEXTURE1D_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11Texture1D_GetDesc_Proxy(
+ ID3D11Texture1D* This,
+ D3D11_TEXTURE1D_DESC *pDesc);
+void __RPC_STUB ID3D11Texture1D_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11Texture1D_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11Texture2D interface
+ */
+#ifndef __ID3D11Texture2D_INTERFACE_DEFINED__
+#define __ID3D11Texture2D_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11Texture2D, 0x6f15aaf2, 0xd208, 0x4e89, 0x9a,0xb4, 0x48,0x95,0x35,0xd3,0x4f,0x9c);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("6f15aaf2-d208-4e89-9ab4-489535d34f9c")
+ID3D11Texture2D : public ID3D11Resource
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_TEXTURE2D_DESC *pDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11Texture2D, 0x6f15aaf2, 0xd208, 0x4e89, 0x9a,0xb4, 0x48,0x95,0x35,0xd3,0x4f,0x9c)
+#endif
+#else
+typedef struct ID3D11Texture2DVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11Texture2D* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11Texture2D* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11Texture2D* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11Texture2D* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11Texture2D* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11Texture2D* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11Texture2D* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11Resource methods ***/
+ void (STDMETHODCALLTYPE *GetType)(
+ ID3D11Texture2D* This,
+ D3D11_RESOURCE_DIMENSION *pResourceDimension);
+
+ void (STDMETHODCALLTYPE *SetEvictionPriority)(
+ ID3D11Texture2D* This,
+ UINT EvictionPriority);
+
+ UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
+ ID3D11Texture2D* This);
+
+ /*** ID3D11Texture2D methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11Texture2D* This,
+ D3D11_TEXTURE2D_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11Texture2DVtbl;
+interface ID3D11Texture2D {
+ CONST_VTBL ID3D11Texture2DVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11Texture2D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11Texture2D_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11Texture2D_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11Texture2D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11Texture2D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11Texture2D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11Texture2D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11Resource methods ***/
+#define ID3D11Texture2D_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
+#define ID3D11Texture2D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
+#define ID3D11Texture2D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
+/*** ID3D11Texture2D methods ***/
+#define ID3D11Texture2D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11Texture2D_QueryInterface(ID3D11Texture2D* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11Texture2D_AddRef(ID3D11Texture2D* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11Texture2D_Release(ID3D11Texture2D* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11Texture2D_GetDevice(ID3D11Texture2D* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11Texture2D_GetPrivateData(ID3D11Texture2D* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Texture2D_SetPrivateData(ID3D11Texture2D* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Texture2D_SetPrivateDataInterface(ID3D11Texture2D* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11Resource methods ***/
+static FORCEINLINE void ID3D11Texture2D_GetType(ID3D11Texture2D* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
+ This->lpVtbl->GetType(This,pResourceDimension);
+}
+static FORCEINLINE void ID3D11Texture2D_SetEvictionPriority(ID3D11Texture2D* This,UINT EvictionPriority) {
+ This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
+}
+static FORCEINLINE UINT ID3D11Texture2D_GetEvictionPriority(ID3D11Texture2D* This) {
+ return This->lpVtbl->GetEvictionPriority(This);
+}
+/*** ID3D11Texture2D methods ***/
+static FORCEINLINE void ID3D11Texture2D_GetDesc(ID3D11Texture2D* This,D3D11_TEXTURE2D_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11Texture2D_GetDesc_Proxy(
+ ID3D11Texture2D* This,
+ D3D11_TEXTURE2D_DESC *pDesc);
+void __RPC_STUB ID3D11Texture2D_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11Texture2D_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11Texture3D interface
+ */
+#ifndef __ID3D11Texture3D_INTERFACE_DEFINED__
+#define __ID3D11Texture3D_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11Texture3D, 0x037e866e, 0xf56d, 0x4357, 0xa8,0xaf, 0x9d,0xab,0xbe,0x6e,0x25,0x0e);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("037e866e-f56d-4357-a8af-9dabbe6e250e")
+ID3D11Texture3D : public ID3D11Resource
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_TEXTURE3D_DESC *pDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11Texture3D, 0x037e866e, 0xf56d, 0x4357, 0xa8,0xaf, 0x9d,0xab,0xbe,0x6e,0x25,0x0e)
+#endif
+#else
+typedef struct ID3D11Texture3DVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11Texture3D* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11Texture3D* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11Texture3D* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11Texture3D* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11Texture3D* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11Texture3D* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11Texture3D* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11Resource methods ***/
+ void (STDMETHODCALLTYPE *GetType)(
+ ID3D11Texture3D* This,
+ D3D11_RESOURCE_DIMENSION *pResourceDimension);
+
+ void (STDMETHODCALLTYPE *SetEvictionPriority)(
+ ID3D11Texture3D* This,
+ UINT EvictionPriority);
+
+ UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
+ ID3D11Texture3D* This);
+
+ /*** ID3D11Texture3D methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11Texture3D* This,
+ D3D11_TEXTURE3D_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11Texture3DVtbl;
+interface ID3D11Texture3D {
+ CONST_VTBL ID3D11Texture3DVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11Texture3D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11Texture3D_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11Texture3D_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11Texture3D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11Texture3D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11Texture3D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11Texture3D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11Resource methods ***/
+#define ID3D11Texture3D_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
+#define ID3D11Texture3D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
+#define ID3D11Texture3D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
+/*** ID3D11Texture3D methods ***/
+#define ID3D11Texture3D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11Texture3D_QueryInterface(ID3D11Texture3D* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11Texture3D_AddRef(ID3D11Texture3D* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11Texture3D_Release(ID3D11Texture3D* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11Texture3D_GetDevice(ID3D11Texture3D* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11Texture3D_GetPrivateData(ID3D11Texture3D* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Texture3D_SetPrivateData(ID3D11Texture3D* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Texture3D_SetPrivateDataInterface(ID3D11Texture3D* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11Resource methods ***/
+static FORCEINLINE void ID3D11Texture3D_GetType(ID3D11Texture3D* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
+ This->lpVtbl->GetType(This,pResourceDimension);
+}
+static FORCEINLINE void ID3D11Texture3D_SetEvictionPriority(ID3D11Texture3D* This,UINT EvictionPriority) {
+ This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
+}
+static FORCEINLINE UINT ID3D11Texture3D_GetEvictionPriority(ID3D11Texture3D* This) {
+ return This->lpVtbl->GetEvictionPriority(This);
+}
+/*** ID3D11Texture3D methods ***/
+static FORCEINLINE void ID3D11Texture3D_GetDesc(ID3D11Texture3D* This,D3D11_TEXTURE3D_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11Texture3D_GetDesc_Proxy(
+ ID3D11Texture3D* This,
+ D3D11_TEXTURE3D_DESC *pDesc);
+void __RPC_STUB ID3D11Texture3D_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11Texture3D_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11UnorderedAccessView interface
+ */
+#ifndef __ID3D11UnorderedAccessView_INTERFACE_DEFINED__
+#define __ID3D11UnorderedAccessView_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11UnorderedAccessView, 0x28acf509, 0x7f5c, 0x48f6, 0x86,0x11, 0xf3,0x16,0x01,0x0a,0x63,0x80);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("28acf509-7f5c-48f6-8611-f316010a6380")
+ID3D11UnorderedAccessView : public ID3D11View
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11UnorderedAccessView, 0x28acf509, 0x7f5c, 0x48f6, 0x86,0x11, 0xf3,0x16,0x01,0x0a,0x63,0x80)
+#endif
+#else
+typedef struct ID3D11UnorderedAccessViewVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11UnorderedAccessView* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11UnorderedAccessView* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11UnorderedAccessView* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11UnorderedAccessView* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11UnorderedAccessView* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11UnorderedAccessView* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11UnorderedAccessView* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11View methods ***/
+ void (STDMETHODCALLTYPE *GetResource)(
+ ID3D11UnorderedAccessView* This,
+ ID3D11Resource **ppResource);
+
+ /*** ID3D11UnorderedAccessView methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11UnorderedAccessView* This,
+ D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11UnorderedAccessViewVtbl;
+interface ID3D11UnorderedAccessView {
+ CONST_VTBL ID3D11UnorderedAccessViewVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11UnorderedAccessView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11UnorderedAccessView_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11UnorderedAccessView_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11UnorderedAccessView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11UnorderedAccessView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11UnorderedAccessView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11UnorderedAccessView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11View methods ***/
+#define ID3D11UnorderedAccessView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
+/*** ID3D11UnorderedAccessView methods ***/
+#define ID3D11UnorderedAccessView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11UnorderedAccessView_QueryInterface(ID3D11UnorderedAccessView* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11UnorderedAccessView_AddRef(ID3D11UnorderedAccessView* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11UnorderedAccessView_Release(ID3D11UnorderedAccessView* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11UnorderedAccessView_GetDevice(ID3D11UnorderedAccessView* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11UnorderedAccessView_GetPrivateData(ID3D11UnorderedAccessView* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11UnorderedAccessView_SetPrivateData(ID3D11UnorderedAccessView* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11UnorderedAccessView_SetPrivateDataInterface(ID3D11UnorderedAccessView* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11View methods ***/
+static FORCEINLINE void ID3D11UnorderedAccessView_GetResource(ID3D11UnorderedAccessView* This,ID3D11Resource **ppResource) {
+ This->lpVtbl->GetResource(This,ppResource);
+}
+/*** ID3D11UnorderedAccessView methods ***/
+static FORCEINLINE void ID3D11UnorderedAccessView_GetDesc(ID3D11UnorderedAccessView* This,D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11UnorderedAccessView_GetDesc_Proxy(
+ ID3D11UnorderedAccessView* This,
+ D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc);
+void __RPC_STUB ID3D11UnorderedAccessView_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11UnorderedAccessView_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11VertexShader interface
+ */
+#ifndef __ID3D11VertexShader_INTERFACE_DEFINED__
+#define __ID3D11VertexShader_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11VertexShader, 0x3b301d64, 0xd678, 0x4289, 0x88,0x97, 0x22,0xf8,0x92,0x8b,0x72,0xf3);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("3b301d64-d678-4289-8897-22f8928b72f3")
+ID3D11VertexShader : public ID3D11DeviceChild
+{
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11VertexShader, 0x3b301d64, 0xd678, 0x4289, 0x88,0x97, 0x22,0xf8,0x92,0x8b,0x72,0xf3)
+#endif
+#else
+typedef struct ID3D11VertexShaderVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11VertexShader* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11VertexShader* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11VertexShader* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11VertexShader* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11VertexShader* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11VertexShader* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11VertexShader* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ END_INTERFACE
+} ID3D11VertexShaderVtbl;
+interface ID3D11VertexShader {
+ CONST_VTBL ID3D11VertexShaderVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11VertexShader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11VertexShader_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11VertexShader_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11VertexShader_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11VertexShader_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11VertexShader_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11VertexShader_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11VertexShader_QueryInterface(ID3D11VertexShader* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11VertexShader_AddRef(ID3D11VertexShader* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11VertexShader_Release(ID3D11VertexShader* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11VertexShader_GetDevice(ID3D11VertexShader* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11VertexShader_GetPrivateData(ID3D11VertexShader* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11VertexShader_SetPrivateData(ID3D11VertexShader* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11VertexShader_SetPrivateDataInterface(ID3D11VertexShader* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif /* __ID3D11VertexShader_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11DeviceContext interface
+ */
+#ifndef __ID3D11DeviceContext_INTERFACE_DEFINED__
+#define __ID3D11DeviceContext_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11DeviceContext, 0xc0bfa96c, 0xe089, 0x44fb, 0x8e,0xaf, 0x26,0xf8,0x79,0x61,0x90,0xda);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("c0bfa96c-e089-44fb-8eaf-26f8796190da")
+ID3D11DeviceContext : public ID3D11DeviceChild
+{
+ virtual void STDMETHODCALLTYPE VSSetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE PSSetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE PSSetShader(
+ ID3D11PixelShader *pPixelShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances) = 0;
+
+ virtual void STDMETHODCALLTYPE PSSetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE VSSetShader(
+ ID3D11VertexShader *pVertexShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances) = 0;
+
+ virtual void STDMETHODCALLTYPE DrawIndexed(
+ UINT IndexCount,
+ UINT StartIndexLocation,
+ INT BaseVertexLocation) = 0;
+
+ virtual void STDMETHODCALLTYPE Draw(
+ UINT VertexCount,
+ UINT StartVertexLocation) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Map(
+ ID3D11Resource *pResource,
+ UINT Subresource,
+ D3D11_MAP MapType,
+ UINT MapFlags,
+ D3D11_MAPPED_SUBRESOURCE *pMappedResource) = 0;
+
+ virtual void STDMETHODCALLTYPE Unmap(
+ ID3D11Resource *pResource,
+ UINT Subresource) = 0;
+
+ virtual void STDMETHODCALLTYPE PSSetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE IASetInputLayout(
+ ID3D11InputLayout *pInputLayout) = 0;
+
+ virtual void STDMETHODCALLTYPE IASetVertexBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppVertexBuffers,
+ const UINT *pStrides,
+ const UINT *pOffsets) = 0;
+
+ virtual void STDMETHODCALLTYPE IASetIndexBuffer(
+ ID3D11Buffer *pIndexBuffer,
+ DXGI_FORMAT Format,
+ UINT Offset) = 0;
+
+ virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
+ UINT IndexCountPerInstance,
+ UINT InstanceCount,
+ UINT StartIndexLocation,
+ INT BaseVertexLocation,
+ UINT StartInstanceLocation) = 0;
+
+ virtual void STDMETHODCALLTYPE DrawInstanced(
+ UINT VertexCountPerInstance,
+ UINT InstanceCount,
+ UINT StartVertexLocation,
+ UINT StartInstanceLocation) = 0;
+
+ virtual void STDMETHODCALLTYPE GSSetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE GSSetShader(
+ ID3D11GeometryShader *pShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances) = 0;
+
+ virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
+ D3D11_PRIMITIVE_TOPOLOGY Topology) = 0;
+
+ virtual void STDMETHODCALLTYPE VSSetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE VSSetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE Begin(
+ ID3D11Asynchronous *pAsync) = 0;
+
+ virtual void STDMETHODCALLTYPE End(
+ ID3D11Asynchronous *pAsync) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetData(
+ ID3D11Asynchronous *pAsync,
+ void *pData,
+ UINT DataSize,
+ UINT GetDataFlags) = 0;
+
+ virtual void STDMETHODCALLTYPE SetPredication(
+ ID3D11Predicate *pPredicate,
+ WINBOOL PredicateValue) = 0;
+
+ virtual void STDMETHODCALLTYPE GSSetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE GSSetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE OMSetRenderTargets(
+ UINT NumViews,
+ ID3D11RenderTargetView *const *ppRenderTargetViews,
+ ID3D11DepthStencilView *pDepthStencilView) = 0;
+
+ virtual void STDMETHODCALLTYPE OMSetRenderTargetsAndUnorderedAccessViews(
+ UINT NumRTVs,
+ ID3D11RenderTargetView *const *ppRenderTargetViews,
+ ID3D11DepthStencilView *pDepthStencilView,
+ UINT UAVStartSlot,
+ UINT NumUAVs,
+ ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
+ const UINT *pUAVInitialCounts) = 0;
+
+ virtual void STDMETHODCALLTYPE OMSetBlendState(
+ ID3D11BlendState *pBlendState,
+ const FLOAT BlendFactor[4],
+ UINT SampleMask) = 0;
+
+ virtual void STDMETHODCALLTYPE OMSetDepthStencilState(
+ ID3D11DepthStencilState *pDepthStencilState,
+ UINT StencilRef) = 0;
+
+ virtual void STDMETHODCALLTYPE SOSetTargets(
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppSOTargets,
+ const UINT *pOffsets) = 0;
+
+ virtual void STDMETHODCALLTYPE DrawAuto(
+ ) = 0;
+
+ virtual void STDMETHODCALLTYPE DrawIndexedInstancedIndirect(
+ ID3D11Buffer *pBufferForArgs,
+ UINT AlignedByteOffsetForArgs) = 0;
+
+ virtual void STDMETHODCALLTYPE DrawInstancedIndirect(
+ ID3D11Buffer *pBufferForArgs,
+ UINT AlignedByteOffsetForArgs) = 0;
+
+ virtual void STDMETHODCALLTYPE Dispatch(
+ UINT ThreadGroupCountX,
+ UINT ThreadGroupCountY,
+ UINT ThreadGroupCountZ) = 0;
+
+ virtual void STDMETHODCALLTYPE DispatchIndirect(
+ ID3D11Buffer *pBufferForArgs,
+ UINT AlignedByteOffsetForArgs) = 0;
+
+ virtual void STDMETHODCALLTYPE RSSetState(
+ ID3D11RasterizerState *pRasterizerState) = 0;
+
+ virtual void STDMETHODCALLTYPE RSSetViewports(
+ UINT NumViewports,
+ const D3D11_VIEWPORT *pViewports) = 0;
+
+ virtual void STDMETHODCALLTYPE RSSetScissorRects(
+ UINT NumRects,
+ const D3D11_RECT *pRects) = 0;
+
+ virtual void STDMETHODCALLTYPE CopySubresourceRegion(
+ ID3D11Resource *pDstResource,
+ UINT DstSubresource,
+ UINT DstX,
+ UINT DstY,
+ UINT DstZ,
+ ID3D11Resource *pSrcResource,
+ UINT SrcSubresource,
+ const D3D11_BOX *pSrcBox) = 0;
+
+ virtual void STDMETHODCALLTYPE CopyResource(
+ ID3D11Resource *pDstResource,
+ ID3D11Resource *pSrcResource) = 0;
+
+ virtual void STDMETHODCALLTYPE UpdateSubresource(
+ ID3D11Resource *pDstResource,
+ UINT DstSubresource,
+ const D3D11_BOX *pDstBox,
+ const void *pSrcData,
+ UINT SrcRowPitch,
+ UINT SrcDepthPitch) = 0;
+
+ virtual void STDMETHODCALLTYPE CopyStructureCount(
+ ID3D11Buffer *pDstBuffer,
+ UINT DstAlignedByteOffset,
+ ID3D11UnorderedAccessView *pSrcView) = 0;
+
+ virtual void STDMETHODCALLTYPE ClearRenderTargetView(
+ ID3D11RenderTargetView *pRenderTargetView,
+ const FLOAT ColorRGBA[4]) = 0;
+
+ virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewUint(
+ ID3D11UnorderedAccessView *pUnorderedAccessView,
+ const UINT Values[4]) = 0;
+
+ virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewFloat(
+ ID3D11UnorderedAccessView *pUnorderedAccessView,
+ const FLOAT Values[4]) = 0;
+
+ virtual void STDMETHODCALLTYPE ClearDepthStencilView(
+ ID3D11DepthStencilView *pDepthStencilView,
+ UINT ClearFlags,
+ FLOAT Depth,
+ UINT8 Stencil) = 0;
+
+ virtual void STDMETHODCALLTYPE GenerateMips(
+ ID3D11ShaderResourceView *pShaderResourceView) = 0;
+
+ virtual void STDMETHODCALLTYPE SetResourceMinLOD(
+ ID3D11Resource *pResource,
+ FLOAT MinLOD) = 0;
+
+ virtual FLOAT STDMETHODCALLTYPE GetResourceMinLOD(
+ ID3D11Resource *pResource) = 0;
+
+ virtual void STDMETHODCALLTYPE ResolveSubresource(
+ ID3D11Resource *pDstResource,
+ UINT DstSubresource,
+ ID3D11Resource *pSrcResource,
+ UINT SrcSubresource,
+ DXGI_FORMAT Format) = 0;
+
+ virtual void STDMETHODCALLTYPE ExecuteCommandList(
+ ID3D11CommandList *pCommandList,
+ WINBOOL RestoreContextState) = 0;
+
+ virtual void STDMETHODCALLTYPE HSSetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE HSSetShader(
+ ID3D11HullShader *pHullShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances) = 0;
+
+ virtual void STDMETHODCALLTYPE HSSetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE HSSetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE DSSetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE DSSetShader(
+ ID3D11DomainShader *pDomainShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances) = 0;
+
+ virtual void STDMETHODCALLTYPE DSSetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE DSSetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE CSSetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE CSSetUnorderedAccessViews(
+ UINT StartSlot,
+ UINT NumUAVs,
+ ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
+ const UINT *pUAVInitialCounts) = 0;
+
+ virtual void STDMETHODCALLTYPE CSSetShader(
+ ID3D11ComputeShader *pComputeShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances) = 0;
+
+ virtual void STDMETHODCALLTYPE CSSetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE CSSetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE VSGetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE PSGetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE PSGetShader(
+ ID3D11PixelShader **ppPixelShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances) = 0;
+
+ virtual void STDMETHODCALLTYPE PSGetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE VSGetShader(
+ ID3D11VertexShader **ppVertexShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances) = 0;
+
+ virtual void STDMETHODCALLTYPE PSGetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE IAGetInputLayout(
+ ID3D11InputLayout **ppInputLayout) = 0;
+
+ virtual void STDMETHODCALLTYPE IAGetVertexBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppVertexBuffers,
+ UINT *pStrides,
+ UINT *pOffsets) = 0;
+
+ virtual void STDMETHODCALLTYPE IAGetIndexBuffer(
+ ID3D11Buffer **pIndexBuffer,
+ DXGI_FORMAT *Format,
+ UINT *Offset) = 0;
+
+ virtual void STDMETHODCALLTYPE GSGetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE GSGetShader(
+ ID3D11GeometryShader **ppGeometryShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances) = 0;
+
+ virtual void STDMETHODCALLTYPE IAGetPrimitiveTopology(
+ D3D11_PRIMITIVE_TOPOLOGY *pTopology) = 0;
+
+ virtual void STDMETHODCALLTYPE VSGetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE VSGetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE GetPredication(
+ ID3D11Predicate **ppPredicate,
+ WINBOOL *pPredicateValue) = 0;
+
+ virtual void STDMETHODCALLTYPE GSGetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE GSGetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE OMGetRenderTargets(
+ UINT NumViews,
+ ID3D11RenderTargetView **ppRenderTargetViews,
+ ID3D11DepthStencilView **ppDepthStencilView) = 0;
+
+ virtual void STDMETHODCALLTYPE OMGetRenderTargetsAndUnorderedAccessViews(
+ UINT NumRTVs,
+ ID3D11RenderTargetView **ppRenderTargetViews,
+ ID3D11DepthStencilView **ppDepthStencilView,
+ UINT UAVStartSlot,
+ UINT NumUAVs,
+ ID3D11UnorderedAccessView **ppUnorderedAccessViews) = 0;
+
+ virtual void STDMETHODCALLTYPE OMGetBlendState(
+ ID3D11BlendState **ppBlendState,
+ FLOAT BlendFactor[4],
+ UINT *pSampleMask) = 0;
+
+ virtual void STDMETHODCALLTYPE OMGetDepthStencilState(
+ ID3D11DepthStencilState **ppDepthStencilState,
+ UINT *pStencilRef) = 0;
+
+ virtual void STDMETHODCALLTYPE SOGetTargets(
+ UINT NumBuffers,
+ ID3D11Buffer **ppSOTargets) = 0;
+
+ virtual void STDMETHODCALLTYPE RSGetState(
+ ID3D11RasterizerState **ppRasterizerState) = 0;
+
+ virtual void STDMETHODCALLTYPE RSGetViewports(
+ UINT *pNumViewports,
+ D3D11_VIEWPORT *pViewports) = 0;
+
+ virtual void STDMETHODCALLTYPE RSGetScissorRects(
+ UINT *pNumRects,
+ D3D11_RECT *pRects) = 0;
+
+ virtual void STDMETHODCALLTYPE HSGetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE HSGetShader(
+ ID3D11HullShader **ppHullShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances) = 0;
+
+ virtual void STDMETHODCALLTYPE HSGetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE HSGetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE DSGetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE DSGetShader(
+ ID3D11DomainShader **ppDomainShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances) = 0;
+
+ virtual void STDMETHODCALLTYPE DSGetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE DSGetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE CSGetShaderResources(
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
+
+ virtual void STDMETHODCALLTYPE CSGetUnorderedAccessViews(
+ UINT StartSlot,
+ UINT NumUAVs,
+ ID3D11UnorderedAccessView **ppUnorderedAccessViews) = 0;
+
+ virtual void STDMETHODCALLTYPE CSGetShader(
+ ID3D11ComputeShader **ppComputeShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances) = 0;
+
+ virtual void STDMETHODCALLTYPE CSGetSamplers(
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers) = 0;
+
+ virtual void STDMETHODCALLTYPE CSGetConstantBuffers(
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers) = 0;
+
+ virtual void STDMETHODCALLTYPE ClearState(
+ ) = 0;
+
+ virtual void STDMETHODCALLTYPE Flush(
+ ) = 0;
+
+ virtual D3D11_DEVICE_CONTEXT_TYPE STDMETHODCALLTYPE GetType(
+ ) = 0;
+
+ virtual UINT STDMETHODCALLTYPE GetContextFlags(
+ ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE FinishCommandList(
+ WINBOOL RestoreDeferredContextState,
+ ID3D11CommandList **ppCommandList) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11DeviceContext, 0xc0bfa96c, 0xe089, 0x44fb, 0x8e,0xaf, 0x26,0xf8,0x79,0x61,0x90,0xda)
+#endif
+#else
+typedef struct ID3D11DeviceContextVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11DeviceContext* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11DeviceContext* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11DeviceContext* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11DeviceContext* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11DeviceContext* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11DeviceContext* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11DeviceContext* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11DeviceContext methods ***/
+ void (STDMETHODCALLTYPE *VSSetConstantBuffers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *PSSetShaderResources)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *PSSetShader)(
+ ID3D11DeviceContext* This,
+ ID3D11PixelShader *pPixelShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances);
+
+ void (STDMETHODCALLTYPE *PSSetSamplers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers);
+
+ void (STDMETHODCALLTYPE *VSSetShader)(
+ ID3D11DeviceContext* This,
+ ID3D11VertexShader *pVertexShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances);
+
+ void (STDMETHODCALLTYPE *DrawIndexed)(
+ ID3D11DeviceContext* This,
+ UINT IndexCount,
+ UINT StartIndexLocation,
+ INT BaseVertexLocation);
+
+ void (STDMETHODCALLTYPE *Draw)(
+ ID3D11DeviceContext* This,
+ UINT VertexCount,
+ UINT StartVertexLocation);
+
+ HRESULT (STDMETHODCALLTYPE *Map)(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pResource,
+ UINT Subresource,
+ D3D11_MAP MapType,
+ UINT MapFlags,
+ D3D11_MAPPED_SUBRESOURCE *pMappedResource);
+
+ void (STDMETHODCALLTYPE *Unmap)(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pResource,
+ UINT Subresource);
+
+ void (STDMETHODCALLTYPE *PSSetConstantBuffers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *IASetInputLayout)(
+ ID3D11DeviceContext* This,
+ ID3D11InputLayout *pInputLayout);
+
+ void (STDMETHODCALLTYPE *IASetVertexBuffers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppVertexBuffers,
+ const UINT *pStrides,
+ const UINT *pOffsets);
+
+ void (STDMETHODCALLTYPE *IASetIndexBuffer)(
+ ID3D11DeviceContext* This,
+ ID3D11Buffer *pIndexBuffer,
+ DXGI_FORMAT Format,
+ UINT Offset);
+
+ void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
+ ID3D11DeviceContext* This,
+ UINT IndexCountPerInstance,
+ UINT InstanceCount,
+ UINT StartIndexLocation,
+ INT BaseVertexLocation,
+ UINT StartInstanceLocation);
+
+ void (STDMETHODCALLTYPE *DrawInstanced)(
+ ID3D11DeviceContext* This,
+ UINT VertexCountPerInstance,
+ UINT InstanceCount,
+ UINT StartVertexLocation,
+ UINT StartInstanceLocation);
+
+ void (STDMETHODCALLTYPE *GSSetConstantBuffers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *GSSetShader)(
+ ID3D11DeviceContext* This,
+ ID3D11GeometryShader *pShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances);
+
+ void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
+ ID3D11DeviceContext* This,
+ D3D11_PRIMITIVE_TOPOLOGY Topology);
+
+ void (STDMETHODCALLTYPE *VSSetShaderResources)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *VSSetSamplers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers);
+
+ void (STDMETHODCALLTYPE *Begin)(
+ ID3D11DeviceContext* This,
+ ID3D11Asynchronous *pAsync);
+
+ void (STDMETHODCALLTYPE *End)(
+ ID3D11DeviceContext* This,
+ ID3D11Asynchronous *pAsync);
+
+ HRESULT (STDMETHODCALLTYPE *GetData)(
+ ID3D11DeviceContext* This,
+ ID3D11Asynchronous *pAsync,
+ void *pData,
+ UINT DataSize,
+ UINT GetDataFlags);
+
+ void (STDMETHODCALLTYPE *SetPredication)(
+ ID3D11DeviceContext* This,
+ ID3D11Predicate *pPredicate,
+ WINBOOL PredicateValue);
+
+ void (STDMETHODCALLTYPE *GSSetShaderResources)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *GSSetSamplers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers);
+
+ void (STDMETHODCALLTYPE *OMSetRenderTargets)(
+ ID3D11DeviceContext* This,
+ UINT NumViews,
+ ID3D11RenderTargetView *const *ppRenderTargetViews,
+ ID3D11DepthStencilView *pDepthStencilView);
+
+ void (STDMETHODCALLTYPE *OMSetRenderTargetsAndUnorderedAccessViews)(
+ ID3D11DeviceContext* This,
+ UINT NumRTVs,
+ ID3D11RenderTargetView *const *ppRenderTargetViews,
+ ID3D11DepthStencilView *pDepthStencilView,
+ UINT UAVStartSlot,
+ UINT NumUAVs,
+ ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
+ const UINT *pUAVInitialCounts);
+
+ void (STDMETHODCALLTYPE *OMSetBlendState)(
+ ID3D11DeviceContext* This,
+ ID3D11BlendState *pBlendState,
+ const FLOAT BlendFactor[4],
+ UINT SampleMask);
+
+ void (STDMETHODCALLTYPE *OMSetDepthStencilState)(
+ ID3D11DeviceContext* This,
+ ID3D11DepthStencilState *pDepthStencilState,
+ UINT StencilRef);
+
+ void (STDMETHODCALLTYPE *SOSetTargets)(
+ ID3D11DeviceContext* This,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppSOTargets,
+ const UINT *pOffsets);
+
+ void (STDMETHODCALLTYPE *DrawAuto)(
+ ID3D11DeviceContext* This);
+
+ void (STDMETHODCALLTYPE *DrawIndexedInstancedIndirect)(
+ ID3D11DeviceContext* This,
+ ID3D11Buffer *pBufferForArgs,
+ UINT AlignedByteOffsetForArgs);
+
+ void (STDMETHODCALLTYPE *DrawInstancedIndirect)(
+ ID3D11DeviceContext* This,
+ ID3D11Buffer *pBufferForArgs,
+ UINT AlignedByteOffsetForArgs);
+
+ void (STDMETHODCALLTYPE *Dispatch)(
+ ID3D11DeviceContext* This,
+ UINT ThreadGroupCountX,
+ UINT ThreadGroupCountY,
+ UINT ThreadGroupCountZ);
+
+ void (STDMETHODCALLTYPE *DispatchIndirect)(
+ ID3D11DeviceContext* This,
+ ID3D11Buffer *pBufferForArgs,
+ UINT AlignedByteOffsetForArgs);
+
+ void (STDMETHODCALLTYPE *RSSetState)(
+ ID3D11DeviceContext* This,
+ ID3D11RasterizerState *pRasterizerState);
+
+ void (STDMETHODCALLTYPE *RSSetViewports)(
+ ID3D11DeviceContext* This,
+ UINT NumViewports,
+ const D3D11_VIEWPORT *pViewports);
+
+ void (STDMETHODCALLTYPE *RSSetScissorRects)(
+ ID3D11DeviceContext* This,
+ UINT NumRects,
+ const D3D11_RECT *pRects);
+
+ void (STDMETHODCALLTYPE *CopySubresourceRegion)(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pDstResource,
+ UINT DstSubresource,
+ UINT DstX,
+ UINT DstY,
+ UINT DstZ,
+ ID3D11Resource *pSrcResource,
+ UINT SrcSubresource,
+ const D3D11_BOX *pSrcBox);
+
+ void (STDMETHODCALLTYPE *CopyResource)(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pDstResource,
+ ID3D11Resource *pSrcResource);
+
+ void (STDMETHODCALLTYPE *UpdateSubresource)(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pDstResource,
+ UINT DstSubresource,
+ const D3D11_BOX *pDstBox,
+ const void *pSrcData,
+ UINT SrcRowPitch,
+ UINT SrcDepthPitch);
+
+ void (STDMETHODCALLTYPE *CopyStructureCount)(
+ ID3D11DeviceContext* This,
+ ID3D11Buffer *pDstBuffer,
+ UINT DstAlignedByteOffset,
+ ID3D11UnorderedAccessView *pSrcView);
+
+ void (STDMETHODCALLTYPE *ClearRenderTargetView)(
+ ID3D11DeviceContext* This,
+ ID3D11RenderTargetView *pRenderTargetView,
+ const FLOAT ColorRGBA[4]);
+
+ void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
+ ID3D11DeviceContext* This,
+ ID3D11UnorderedAccessView *pUnorderedAccessView,
+ const UINT Values[4]);
+
+ void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
+ ID3D11DeviceContext* This,
+ ID3D11UnorderedAccessView *pUnorderedAccessView,
+ const FLOAT Values[4]);
+
+ void (STDMETHODCALLTYPE *ClearDepthStencilView)(
+ ID3D11DeviceContext* This,
+ ID3D11DepthStencilView *pDepthStencilView,
+ UINT ClearFlags,
+ FLOAT Depth,
+ UINT8 Stencil);
+
+ void (STDMETHODCALLTYPE *GenerateMips)(
+ ID3D11DeviceContext* This,
+ ID3D11ShaderResourceView *pShaderResourceView);
+
+ void (STDMETHODCALLTYPE *SetResourceMinLOD)(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pResource,
+ FLOAT MinLOD);
+
+ FLOAT (STDMETHODCALLTYPE *GetResourceMinLOD)(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pResource);
+
+ void (STDMETHODCALLTYPE *ResolveSubresource)(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pDstResource,
+ UINT DstSubresource,
+ ID3D11Resource *pSrcResource,
+ UINT SrcSubresource,
+ DXGI_FORMAT Format);
+
+ void (STDMETHODCALLTYPE *ExecuteCommandList)(
+ ID3D11DeviceContext* This,
+ ID3D11CommandList *pCommandList,
+ WINBOOL RestoreContextState);
+
+ void (STDMETHODCALLTYPE *HSSetShaderResources)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *HSSetShader)(
+ ID3D11DeviceContext* This,
+ ID3D11HullShader *pHullShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances);
+
+ void (STDMETHODCALLTYPE *HSSetSamplers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers);
+
+ void (STDMETHODCALLTYPE *HSSetConstantBuffers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *DSSetShaderResources)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *DSSetShader)(
+ ID3D11DeviceContext* This,
+ ID3D11DomainShader *pDomainShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances);
+
+ void (STDMETHODCALLTYPE *DSSetSamplers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers);
+
+ void (STDMETHODCALLTYPE *DSSetConstantBuffers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *CSSetShaderResources)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *CSSetUnorderedAccessViews)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumUAVs,
+ ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
+ const UINT *pUAVInitialCounts);
+
+ void (STDMETHODCALLTYPE *CSSetShader)(
+ ID3D11DeviceContext* This,
+ ID3D11ComputeShader *pComputeShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances);
+
+ void (STDMETHODCALLTYPE *CSSetSamplers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers);
+
+ void (STDMETHODCALLTYPE *CSSetConstantBuffers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *VSGetConstantBuffers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *PSGetShaderResources)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *PSGetShader)(
+ ID3D11DeviceContext* This,
+ ID3D11PixelShader **ppPixelShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances);
+
+ void (STDMETHODCALLTYPE *PSGetSamplers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers);
+
+ void (STDMETHODCALLTYPE *VSGetShader)(
+ ID3D11DeviceContext* This,
+ ID3D11VertexShader **ppVertexShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances);
+
+ void (STDMETHODCALLTYPE *PSGetConstantBuffers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *IAGetInputLayout)(
+ ID3D11DeviceContext* This,
+ ID3D11InputLayout **ppInputLayout);
+
+ void (STDMETHODCALLTYPE *IAGetVertexBuffers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppVertexBuffers,
+ UINT *pStrides,
+ UINT *pOffsets);
+
+ void (STDMETHODCALLTYPE *IAGetIndexBuffer)(
+ ID3D11DeviceContext* This,
+ ID3D11Buffer **pIndexBuffer,
+ DXGI_FORMAT *Format,
+ UINT *Offset);
+
+ void (STDMETHODCALLTYPE *GSGetConstantBuffers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *GSGetShader)(
+ ID3D11DeviceContext* This,
+ ID3D11GeometryShader **ppGeometryShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances);
+
+ void (STDMETHODCALLTYPE *IAGetPrimitiveTopology)(
+ ID3D11DeviceContext* This,
+ D3D11_PRIMITIVE_TOPOLOGY *pTopology);
+
+ void (STDMETHODCALLTYPE *VSGetShaderResources)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *VSGetSamplers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers);
+
+ void (STDMETHODCALLTYPE *GetPredication)(
+ ID3D11DeviceContext* This,
+ ID3D11Predicate **ppPredicate,
+ WINBOOL *pPredicateValue);
+
+ void (STDMETHODCALLTYPE *GSGetShaderResources)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *GSGetSamplers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers);
+
+ void (STDMETHODCALLTYPE *OMGetRenderTargets)(
+ ID3D11DeviceContext* This,
+ UINT NumViews,
+ ID3D11RenderTargetView **ppRenderTargetViews,
+ ID3D11DepthStencilView **ppDepthStencilView);
+
+ void (STDMETHODCALLTYPE *OMGetRenderTargetsAndUnorderedAccessViews)(
+ ID3D11DeviceContext* This,
+ UINT NumRTVs,
+ ID3D11RenderTargetView **ppRenderTargetViews,
+ ID3D11DepthStencilView **ppDepthStencilView,
+ UINT UAVStartSlot,
+ UINT NumUAVs,
+ ID3D11UnorderedAccessView **ppUnorderedAccessViews);
+
+ void (STDMETHODCALLTYPE *OMGetBlendState)(
+ ID3D11DeviceContext* This,
+ ID3D11BlendState **ppBlendState,
+ FLOAT BlendFactor[4],
+ UINT *pSampleMask);
+
+ void (STDMETHODCALLTYPE *OMGetDepthStencilState)(
+ ID3D11DeviceContext* This,
+ ID3D11DepthStencilState **ppDepthStencilState,
+ UINT *pStencilRef);
+
+ void (STDMETHODCALLTYPE *SOGetTargets)(
+ ID3D11DeviceContext* This,
+ UINT NumBuffers,
+ ID3D11Buffer **ppSOTargets);
+
+ void (STDMETHODCALLTYPE *RSGetState)(
+ ID3D11DeviceContext* This,
+ ID3D11RasterizerState **ppRasterizerState);
+
+ void (STDMETHODCALLTYPE *RSGetViewports)(
+ ID3D11DeviceContext* This,
+ UINT *pNumViewports,
+ D3D11_VIEWPORT *pViewports);
+
+ void (STDMETHODCALLTYPE *RSGetScissorRects)(
+ ID3D11DeviceContext* This,
+ UINT *pNumRects,
+ D3D11_RECT *pRects);
+
+ void (STDMETHODCALLTYPE *HSGetShaderResources)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *HSGetShader)(
+ ID3D11DeviceContext* This,
+ ID3D11HullShader **ppHullShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances);
+
+ void (STDMETHODCALLTYPE *HSGetSamplers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers);
+
+ void (STDMETHODCALLTYPE *HSGetConstantBuffers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *DSGetShaderResources)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *DSGetShader)(
+ ID3D11DeviceContext* This,
+ ID3D11DomainShader **ppDomainShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances);
+
+ void (STDMETHODCALLTYPE *DSGetSamplers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers);
+
+ void (STDMETHODCALLTYPE *DSGetConstantBuffers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *CSGetShaderResources)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews);
+
+ void (STDMETHODCALLTYPE *CSGetUnorderedAccessViews)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumUAVs,
+ ID3D11UnorderedAccessView **ppUnorderedAccessViews);
+
+ void (STDMETHODCALLTYPE *CSGetShader)(
+ ID3D11DeviceContext* This,
+ ID3D11ComputeShader **ppComputeShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances);
+
+ void (STDMETHODCALLTYPE *CSGetSamplers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers);
+
+ void (STDMETHODCALLTYPE *CSGetConstantBuffers)(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers);
+
+ void (STDMETHODCALLTYPE *ClearState)(
+ ID3D11DeviceContext* This);
+
+ void (STDMETHODCALLTYPE *Flush)(
+ ID3D11DeviceContext* This);
+
+ D3D11_DEVICE_CONTEXT_TYPE (STDMETHODCALLTYPE *GetType)(
+ ID3D11DeviceContext* This);
+
+ UINT (STDMETHODCALLTYPE *GetContextFlags)(
+ ID3D11DeviceContext* This);
+
+ HRESULT (STDMETHODCALLTYPE *FinishCommandList)(
+ ID3D11DeviceContext* This,
+ WINBOOL RestoreDeferredContextState,
+ ID3D11CommandList **ppCommandList);
+
+ END_INTERFACE
+} ID3D11DeviceContextVtbl;
+interface ID3D11DeviceContext {
+ CONST_VTBL ID3D11DeviceContextVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11DeviceContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11DeviceContext_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11DeviceContext_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11DeviceContext_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11DeviceContext_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11DeviceContext_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11DeviceContext_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11DeviceContext methods ***/
+#define ID3D11DeviceContext_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D11DeviceContext_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D11DeviceContext_PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances)
+#define ID3D11DeviceContext_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D11DeviceContext_VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances)
+#define ID3D11DeviceContext_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) (This)->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation)
+#define ID3D11DeviceContext_Draw(This,VertexCount,StartVertexLocation) (This)->lpVtbl->Draw(This,VertexCount,StartVertexLocation)
+#define ID3D11DeviceContext_Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource) (This)->lpVtbl->Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource)
+#define ID3D11DeviceContext_Unmap(This,pResource,Subresource) (This)->lpVtbl->Unmap(This,pResource,Subresource)
+#define ID3D11DeviceContext_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D11DeviceContext_IASetInputLayout(This,pInputLayout) (This)->lpVtbl->IASetInputLayout(This,pInputLayout)
+#define ID3D11DeviceContext_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
+#define ID3D11DeviceContext_IASetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset)
+#define ID3D11DeviceContext_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)
+#define ID3D11DeviceContext_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) (This)->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)
+#define ID3D11DeviceContext_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D11DeviceContext_GSSetShader(This,pShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->GSSetShader(This,pShader,ppClassInstances,NumClassInstances)
+#define ID3D11DeviceContext_IASetPrimitiveTopology(This,Topology) (This)->lpVtbl->IASetPrimitiveTopology(This,Topology)
+#define ID3D11DeviceContext_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D11DeviceContext_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D11DeviceContext_Begin(This,pAsync) (This)->lpVtbl->Begin(This,pAsync)
+#define ID3D11DeviceContext_End(This,pAsync) (This)->lpVtbl->End(This,pAsync)
+#define ID3D11DeviceContext_GetData(This,pAsync,pData,DataSize,GetDataFlags) (This)->lpVtbl->GetData(This,pAsync,pData,DataSize,GetDataFlags)
+#define ID3D11DeviceContext_SetPredication(This,pPredicate,PredicateValue) (This)->lpVtbl->SetPredication(This,pPredicate,PredicateValue)
+#define ID3D11DeviceContext_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D11DeviceContext_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D11DeviceContext_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) (This)->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView)
+#define ID3D11DeviceContext_OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) (This)->lpVtbl->OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts)
+#define ID3D11DeviceContext_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) (This)->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask)
+#define ID3D11DeviceContext_OMSetDepthStencilState(This,pDepthStencilState,StencilRef) (This)->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef)
+#define ID3D11DeviceContext_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) (This)->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets)
+#define ID3D11DeviceContext_DrawAuto(This) (This)->lpVtbl->DrawAuto(This)
+#define ID3D11DeviceContext_DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
+#define ID3D11DeviceContext_DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
+#define ID3D11DeviceContext_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) (This)->lpVtbl->Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)
+#define ID3D11DeviceContext_DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) (This)->lpVtbl->DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)
+#define ID3D11DeviceContext_RSSetState(This,pRasterizerState) (This)->lpVtbl->RSSetState(This,pRasterizerState)
+#define ID3D11DeviceContext_RSSetViewports(This,NumViewports,pViewports) (This)->lpVtbl->RSSetViewports(This,NumViewports,pViewports)
+#define ID3D11DeviceContext_RSSetScissorRects(This,NumRects,pRects) (This)->lpVtbl->RSSetScissorRects(This,NumRects,pRects)
+#define ID3D11DeviceContext_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) (This)->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox)
+#define ID3D11DeviceContext_CopyResource(This,pDstResource,pSrcResource) (This)->lpVtbl->CopyResource(This,pDstResource,pSrcResource)
+#define ID3D11DeviceContext_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) (This)->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)
+#define ID3D11DeviceContext_CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView) (This)->lpVtbl->CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView)
+#define ID3D11DeviceContext_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) (This)->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA)
+#define ID3D11DeviceContext_ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values)
+#define ID3D11DeviceContext_ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values)
+#define ID3D11DeviceContext_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) (This)->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil)
+#define ID3D11DeviceContext_GenerateMips(This,pShaderResourceView) (This)->lpVtbl->GenerateMips(This,pShaderResourceView)
+#define ID3D11DeviceContext_SetResourceMinLOD(This,pResource,MinLOD) (This)->lpVtbl->SetResourceMinLOD(This,pResource,MinLOD)
+#define ID3D11DeviceContext_GetResourceMinLOD(This,pResource) (This)->lpVtbl->GetResourceMinLOD(This,pResource)
+#define ID3D11DeviceContext_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) (This)->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)
+#define ID3D11DeviceContext_ExecuteCommandList(This,pCommandList,RestoreContextState) (This)->lpVtbl->ExecuteCommandList(This,pCommandList,RestoreContextState)
+#define ID3D11DeviceContext_HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D11DeviceContext_HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances)
+#define ID3D11DeviceContext_HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D11DeviceContext_HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D11DeviceContext_DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D11DeviceContext_DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances)
+#define ID3D11DeviceContext_DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D11DeviceContext_DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D11DeviceContext_CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D11DeviceContext_CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) (This)->lpVtbl->CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts)
+#define ID3D11DeviceContext_CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances) (This)->lpVtbl->CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances)
+#define ID3D11DeviceContext_CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D11DeviceContext_CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D11DeviceContext_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D11DeviceContext_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D11DeviceContext_PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances)
+#define ID3D11DeviceContext_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D11DeviceContext_VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances)
+#define ID3D11DeviceContext_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D11DeviceContext_IAGetInputLayout(This,ppInputLayout) (This)->lpVtbl->IAGetInputLayout(This,ppInputLayout)
+#define ID3D11DeviceContext_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) (This)->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)
+#define ID3D11DeviceContext_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) (This)->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset)
+#define ID3D11DeviceContext_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D11DeviceContext_GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances)
+#define ID3D11DeviceContext_IAGetPrimitiveTopology(This,pTopology) (This)->lpVtbl->IAGetPrimitiveTopology(This,pTopology)
+#define ID3D11DeviceContext_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D11DeviceContext_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D11DeviceContext_GetPredication(This,ppPredicate,pPredicateValue) (This)->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue)
+#define ID3D11DeviceContext_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D11DeviceContext_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D11DeviceContext_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) (This)->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView)
+#define ID3D11DeviceContext_OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews) (This)->lpVtbl->OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews)
+#define ID3D11DeviceContext_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) (This)->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask)
+#define ID3D11DeviceContext_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) (This)->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef)
+#define ID3D11DeviceContext_SOGetTargets(This,NumBuffers,ppSOTargets) (This)->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets)
+#define ID3D11DeviceContext_RSGetState(This,ppRasterizerState) (This)->lpVtbl->RSGetState(This,ppRasterizerState)
+#define ID3D11DeviceContext_RSGetViewports(This,pNumViewports,pViewports) (This)->lpVtbl->RSGetViewports(This,pNumViewports,pViewports)
+#define ID3D11DeviceContext_RSGetScissorRects(This,pNumRects,pRects) (This)->lpVtbl->RSGetScissorRects(This,pNumRects,pRects)
+#define ID3D11DeviceContext_HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D11DeviceContext_HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances)
+#define ID3D11DeviceContext_HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D11DeviceContext_HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D11DeviceContext_DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D11DeviceContext_DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances)
+#define ID3D11DeviceContext_DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D11DeviceContext_DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D11DeviceContext_CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) (This)->lpVtbl->CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews)
+#define ID3D11DeviceContext_CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews) (This)->lpVtbl->CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews)
+#define ID3D11DeviceContext_CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances) (This)->lpVtbl->CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances)
+#define ID3D11DeviceContext_CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) (This)->lpVtbl->CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)
+#define ID3D11DeviceContext_CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) (This)->lpVtbl->CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)
+#define ID3D11DeviceContext_ClearState(This) (This)->lpVtbl->ClearState(This)
+#define ID3D11DeviceContext_Flush(This) (This)->lpVtbl->Flush(This)
+#define ID3D11DeviceContext_GetType(This) (This)->lpVtbl->GetType(This)
+#define ID3D11DeviceContext_GetContextFlags(This) (This)->lpVtbl->GetContextFlags(This)
+#define ID3D11DeviceContext_FinishCommandList(This,RestoreDeferredContextState,ppCommandList) (This)->lpVtbl->FinishCommandList(This,RestoreDeferredContextState,ppCommandList)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11DeviceContext_QueryInterface(ID3D11DeviceContext* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11DeviceContext_AddRef(ID3D11DeviceContext* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11DeviceContext_Release(ID3D11DeviceContext* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11DeviceContext_GetDevice(ID3D11DeviceContext* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11DeviceContext_GetPrivateData(ID3D11DeviceContext* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11DeviceContext_SetPrivateData(ID3D11DeviceContext* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11DeviceContext_SetPrivateDataInterface(ID3D11DeviceContext* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11DeviceContext methods ***/
+static FORCEINLINE void ID3D11DeviceContext_VSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
+ This->lpVtbl->VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
+}
+static FORCEINLINE void ID3D11DeviceContext_PSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
+ This->lpVtbl->PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
+}
+static FORCEINLINE void ID3D11DeviceContext_PSSetShader(ID3D11DeviceContext* This,ID3D11PixelShader *pPixelShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
+ This->lpVtbl->PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances);
+}
+static FORCEINLINE void ID3D11DeviceContext_PSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
+ This->lpVtbl->PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
+}
+static FORCEINLINE void ID3D11DeviceContext_VSSetShader(ID3D11DeviceContext* This,ID3D11VertexShader *pVertexShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
+ This->lpVtbl->VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances);
+}
+static FORCEINLINE void ID3D11DeviceContext_DrawIndexed(ID3D11DeviceContext* This,UINT IndexCount,UINT StartIndexLocation,INT BaseVertexLocation) {
+ This->lpVtbl->DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation);
+}
+static FORCEINLINE void ID3D11DeviceContext_Draw(ID3D11DeviceContext* This,UINT VertexCount,UINT StartVertexLocation) {
+ This->lpVtbl->Draw(This,VertexCount,StartVertexLocation);
+}
+static FORCEINLINE HRESULT ID3D11DeviceContext_Map(ID3D11DeviceContext* This,ID3D11Resource *pResource,UINT Subresource,D3D11_MAP MapType,UINT MapFlags,D3D11_MAPPED_SUBRESOURCE *pMappedResource) {
+ return This->lpVtbl->Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource);
+}
+static FORCEINLINE void ID3D11DeviceContext_Unmap(ID3D11DeviceContext* This,ID3D11Resource *pResource,UINT Subresource) {
+ This->lpVtbl->Unmap(This,pResource,Subresource);
+}
+static FORCEINLINE void ID3D11DeviceContext_PSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
+ This->lpVtbl->PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
+}
+static FORCEINLINE void ID3D11DeviceContext_IASetInputLayout(ID3D11DeviceContext* This,ID3D11InputLayout *pInputLayout) {
+ This->lpVtbl->IASetInputLayout(This,pInputLayout);
+}
+static FORCEINLINE void ID3D11DeviceContext_IASetVertexBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppVertexBuffers,const UINT *pStrides,const UINT *pOffsets) {
+ This->lpVtbl->IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets);
+}
+static FORCEINLINE void ID3D11DeviceContext_IASetIndexBuffer(ID3D11DeviceContext* This,ID3D11Buffer *pIndexBuffer,DXGI_FORMAT Format,UINT Offset) {
+ This->lpVtbl->IASetIndexBuffer(This,pIndexBuffer,Format,Offset);
+}
+static FORCEINLINE void ID3D11DeviceContext_DrawIndexedInstanced(ID3D11DeviceContext* This,UINT IndexCountPerInstance,UINT InstanceCount,UINT StartIndexLocation,INT BaseVertexLocation,UINT StartInstanceLocation) {
+ This->lpVtbl->DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation);
+}
+static FORCEINLINE void ID3D11DeviceContext_DrawInstanced(ID3D11DeviceContext* This,UINT VertexCountPerInstance,UINT InstanceCount,UINT StartVertexLocation,UINT StartInstanceLocation) {
+ This->lpVtbl->DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation);
+}
+static FORCEINLINE void ID3D11DeviceContext_GSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
+ This->lpVtbl->GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
+}
+static FORCEINLINE void ID3D11DeviceContext_GSSetShader(ID3D11DeviceContext* This,ID3D11GeometryShader *pShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
+ This->lpVtbl->GSSetShader(This,pShader,ppClassInstances,NumClassInstances);
+}
+static FORCEINLINE void ID3D11DeviceContext_IASetPrimitiveTopology(ID3D11DeviceContext* This,D3D11_PRIMITIVE_TOPOLOGY Topology) {
+ This->lpVtbl->IASetPrimitiveTopology(This,Topology);
+}
+static FORCEINLINE void ID3D11DeviceContext_VSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
+ This->lpVtbl->VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
+}
+static FORCEINLINE void ID3D11DeviceContext_VSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
+ This->lpVtbl->VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
+}
+static FORCEINLINE void ID3D11DeviceContext_Begin(ID3D11DeviceContext* This,ID3D11Asynchronous *pAsync) {
+ This->lpVtbl->Begin(This,pAsync);
+}
+static FORCEINLINE void ID3D11DeviceContext_End(ID3D11DeviceContext* This,ID3D11Asynchronous *pAsync) {
+ This->lpVtbl->End(This,pAsync);
+}
+static FORCEINLINE HRESULT ID3D11DeviceContext_GetData(ID3D11DeviceContext* This,ID3D11Asynchronous *pAsync,void *pData,UINT DataSize,UINT GetDataFlags) {
+ return This->lpVtbl->GetData(This,pAsync,pData,DataSize,GetDataFlags);
+}
+static FORCEINLINE void ID3D11DeviceContext_SetPredication(ID3D11DeviceContext* This,ID3D11Predicate *pPredicate,WINBOOL PredicateValue) {
+ This->lpVtbl->SetPredication(This,pPredicate,PredicateValue);
+}
+static FORCEINLINE void ID3D11DeviceContext_GSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
+ This->lpVtbl->GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
+}
+static FORCEINLINE void ID3D11DeviceContext_GSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
+ This->lpVtbl->GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
+}
+static FORCEINLINE void ID3D11DeviceContext_OMSetRenderTargets(ID3D11DeviceContext* This,UINT NumViews,ID3D11RenderTargetView *const *ppRenderTargetViews,ID3D11DepthStencilView *pDepthStencilView) {
+ This->lpVtbl->OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView);
+}
+static FORCEINLINE void ID3D11DeviceContext_OMSetRenderTargetsAndUnorderedAccessViews(ID3D11DeviceContext* This,UINT NumRTVs,ID3D11RenderTargetView *const *ppRenderTargetViews,ID3D11DepthStencilView *pDepthStencilView,UINT UAVStartSlot,UINT NumUAVs,ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,const UINT *pUAVInitialCounts) {
+ This->lpVtbl->OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts);
+}
+static FORCEINLINE void ID3D11DeviceContext_OMSetBlendState(ID3D11DeviceContext* This,ID3D11BlendState *pBlendState,const FLOAT BlendFactor[4],UINT SampleMask) {
+ This->lpVtbl->OMSetBlendState(This,pBlendState,BlendFactor,SampleMask);
+}
+static FORCEINLINE void ID3D11DeviceContext_OMSetDepthStencilState(ID3D11DeviceContext* This,ID3D11DepthStencilState *pDepthStencilState,UINT StencilRef) {
+ This->lpVtbl->OMSetDepthStencilState(This,pDepthStencilState,StencilRef);
+}
+static FORCEINLINE void ID3D11DeviceContext_SOSetTargets(ID3D11DeviceContext* This,UINT NumBuffers,ID3D11Buffer *const *ppSOTargets,const UINT *pOffsets) {
+ This->lpVtbl->SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets);
+}
+static FORCEINLINE void ID3D11DeviceContext_DrawAuto(ID3D11DeviceContext* This) {
+ This->lpVtbl->DrawAuto(This);
+}
+static FORCEINLINE void ID3D11DeviceContext_DrawIndexedInstancedIndirect(ID3D11DeviceContext* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
+ This->lpVtbl->DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
+}
+static FORCEINLINE void ID3D11DeviceContext_DrawInstancedIndirect(ID3D11DeviceContext* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
+ This->lpVtbl->DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
+}
+static FORCEINLINE void ID3D11DeviceContext_Dispatch(ID3D11DeviceContext* This,UINT ThreadGroupCountX,UINT ThreadGroupCountY,UINT ThreadGroupCountZ) {
+ This->lpVtbl->Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ);
+}
+static FORCEINLINE void ID3D11DeviceContext_DispatchIndirect(ID3D11DeviceContext* This,ID3D11Buffer *pBufferForArgs,UINT AlignedByteOffsetForArgs) {
+ This->lpVtbl->DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs);
+}
+static FORCEINLINE void ID3D11DeviceContext_RSSetState(ID3D11DeviceContext* This,ID3D11RasterizerState *pRasterizerState) {
+ This->lpVtbl->RSSetState(This,pRasterizerState);
+}
+static FORCEINLINE void ID3D11DeviceContext_RSSetViewports(ID3D11DeviceContext* This,UINT NumViewports,const D3D11_VIEWPORT *pViewports) {
+ This->lpVtbl->RSSetViewports(This,NumViewports,pViewports);
+}
+static FORCEINLINE void ID3D11DeviceContext_RSSetScissorRects(ID3D11DeviceContext* This,UINT NumRects,const D3D11_RECT *pRects) {
+ This->lpVtbl->RSSetScissorRects(This,NumRects,pRects);
+}
+static FORCEINLINE void ID3D11DeviceContext_CopySubresourceRegion(ID3D11DeviceContext* This,ID3D11Resource *pDstResource,UINT DstSubresource,UINT DstX,UINT DstY,UINT DstZ,ID3D11Resource *pSrcResource,UINT SrcSubresource,const D3D11_BOX *pSrcBox) {
+ This->lpVtbl->CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox);
+}
+static FORCEINLINE void ID3D11DeviceContext_CopyResource(ID3D11DeviceContext* This,ID3D11Resource *pDstResource,ID3D11Resource *pSrcResource) {
+ This->lpVtbl->CopyResource(This,pDstResource,pSrcResource);
+}
+static FORCEINLINE void ID3D11DeviceContext_UpdateSubresource(ID3D11DeviceContext* This,ID3D11Resource *pDstResource,UINT DstSubresource,const D3D11_BOX *pDstBox,const void *pSrcData,UINT SrcRowPitch,UINT SrcDepthPitch) {
+ This->lpVtbl->UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch);
+}
+static FORCEINLINE void ID3D11DeviceContext_CopyStructureCount(ID3D11DeviceContext* This,ID3D11Buffer *pDstBuffer,UINT DstAlignedByteOffset,ID3D11UnorderedAccessView *pSrcView) {
+ This->lpVtbl->CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView);
+}
+static FORCEINLINE void ID3D11DeviceContext_ClearRenderTargetView(ID3D11DeviceContext* This,ID3D11RenderTargetView *pRenderTargetView,const FLOAT ColorRGBA[4]) {
+ This->lpVtbl->ClearRenderTargetView(This,pRenderTargetView,ColorRGBA);
+}
+static FORCEINLINE void ID3D11DeviceContext_ClearUnorderedAccessViewUint(ID3D11DeviceContext* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const UINT Values[4]) {
+ This->lpVtbl->ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values);
+}
+static FORCEINLINE void ID3D11DeviceContext_ClearUnorderedAccessViewFloat(ID3D11DeviceContext* This,ID3D11UnorderedAccessView *pUnorderedAccessView,const FLOAT Values[4]) {
+ This->lpVtbl->ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values);
+}
+static FORCEINLINE void ID3D11DeviceContext_ClearDepthStencilView(ID3D11DeviceContext* This,ID3D11DepthStencilView *pDepthStencilView,UINT ClearFlags,FLOAT Depth,UINT8 Stencil) {
+ This->lpVtbl->ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil);
+}
+static FORCEINLINE void ID3D11DeviceContext_GenerateMips(ID3D11DeviceContext* This,ID3D11ShaderResourceView *pShaderResourceView) {
+ This->lpVtbl->GenerateMips(This,pShaderResourceView);
+}
+static FORCEINLINE void ID3D11DeviceContext_SetResourceMinLOD(ID3D11DeviceContext* This,ID3D11Resource *pResource,FLOAT MinLOD) {
+ This->lpVtbl->SetResourceMinLOD(This,pResource,MinLOD);
+}
+static FORCEINLINE FLOAT ID3D11DeviceContext_GetResourceMinLOD(ID3D11DeviceContext* This,ID3D11Resource *pResource) {
+ return This->lpVtbl->GetResourceMinLOD(This,pResource);
+}
+static FORCEINLINE void ID3D11DeviceContext_ResolveSubresource(ID3D11DeviceContext* This,ID3D11Resource *pDstResource,UINT DstSubresource,ID3D11Resource *pSrcResource,UINT SrcSubresource,DXGI_FORMAT Format) {
+ This->lpVtbl->ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format);
+}
+static FORCEINLINE void ID3D11DeviceContext_ExecuteCommandList(ID3D11DeviceContext* This,ID3D11CommandList *pCommandList,WINBOOL RestoreContextState) {
+ This->lpVtbl->ExecuteCommandList(This,pCommandList,RestoreContextState);
+}
+static FORCEINLINE void ID3D11DeviceContext_HSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
+ This->lpVtbl->HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
+}
+static FORCEINLINE void ID3D11DeviceContext_HSSetShader(ID3D11DeviceContext* This,ID3D11HullShader *pHullShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
+ This->lpVtbl->HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances);
+}
+static FORCEINLINE void ID3D11DeviceContext_HSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
+ This->lpVtbl->HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
+}
+static FORCEINLINE void ID3D11DeviceContext_HSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
+ This->lpVtbl->HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
+}
+static FORCEINLINE void ID3D11DeviceContext_DSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
+ This->lpVtbl->DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
+}
+static FORCEINLINE void ID3D11DeviceContext_DSSetShader(ID3D11DeviceContext* This,ID3D11DomainShader *pDomainShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
+ This->lpVtbl->DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances);
+}
+static FORCEINLINE void ID3D11DeviceContext_DSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
+ This->lpVtbl->DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
+}
+static FORCEINLINE void ID3D11DeviceContext_DSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
+ This->lpVtbl->DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
+}
+static FORCEINLINE void ID3D11DeviceContext_CSSetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView *const *ppShaderResourceViews) {
+ This->lpVtbl->CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
+}
+static FORCEINLINE void ID3D11DeviceContext_CSSetUnorderedAccessViews(ID3D11DeviceContext* This,UINT StartSlot,UINT NumUAVs,ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,const UINT *pUAVInitialCounts) {
+ This->lpVtbl->CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts);
+}
+static FORCEINLINE void ID3D11DeviceContext_CSSetShader(ID3D11DeviceContext* This,ID3D11ComputeShader *pComputeShader,ID3D11ClassInstance *const *ppClassInstances,UINT NumClassInstances) {
+ This->lpVtbl->CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances);
+}
+static FORCEINLINE void ID3D11DeviceContext_CSSetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState *const *ppSamplers) {
+ This->lpVtbl->CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers);
+}
+static FORCEINLINE void ID3D11DeviceContext_CSSetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer *const *ppConstantBuffers) {
+ This->lpVtbl->CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
+}
+static FORCEINLINE void ID3D11DeviceContext_VSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
+ This->lpVtbl->VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
+}
+static FORCEINLINE void ID3D11DeviceContext_PSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
+ This->lpVtbl->PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
+}
+static FORCEINLINE void ID3D11DeviceContext_PSGetShader(ID3D11DeviceContext* This,ID3D11PixelShader **ppPixelShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
+ This->lpVtbl->PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances);
+}
+static FORCEINLINE void ID3D11DeviceContext_PSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
+ This->lpVtbl->PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
+}
+static FORCEINLINE void ID3D11DeviceContext_VSGetShader(ID3D11DeviceContext* This,ID3D11VertexShader **ppVertexShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
+ This->lpVtbl->VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances);
+}
+static FORCEINLINE void ID3D11DeviceContext_PSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
+ This->lpVtbl->PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
+}
+static FORCEINLINE void ID3D11DeviceContext_IAGetInputLayout(ID3D11DeviceContext* This,ID3D11InputLayout **ppInputLayout) {
+ This->lpVtbl->IAGetInputLayout(This,ppInputLayout);
+}
+static FORCEINLINE void ID3D11DeviceContext_IAGetVertexBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppVertexBuffers,UINT *pStrides,UINT *pOffsets) {
+ This->lpVtbl->IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets);
+}
+static FORCEINLINE void ID3D11DeviceContext_IAGetIndexBuffer(ID3D11DeviceContext* This,ID3D11Buffer **pIndexBuffer,DXGI_FORMAT *Format,UINT *Offset) {
+ This->lpVtbl->IAGetIndexBuffer(This,pIndexBuffer,Format,Offset);
+}
+static FORCEINLINE void ID3D11DeviceContext_GSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
+ This->lpVtbl->GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
+}
+static FORCEINLINE void ID3D11DeviceContext_GSGetShader(ID3D11DeviceContext* This,ID3D11GeometryShader **ppGeometryShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
+ This->lpVtbl->GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances);
+}
+static FORCEINLINE void ID3D11DeviceContext_IAGetPrimitiveTopology(ID3D11DeviceContext* This,D3D11_PRIMITIVE_TOPOLOGY *pTopology) {
+ This->lpVtbl->IAGetPrimitiveTopology(This,pTopology);
+}
+static FORCEINLINE void ID3D11DeviceContext_VSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
+ This->lpVtbl->VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
+}
+static FORCEINLINE void ID3D11DeviceContext_VSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
+ This->lpVtbl->VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
+}
+static FORCEINLINE void ID3D11DeviceContext_GetPredication(ID3D11DeviceContext* This,ID3D11Predicate **ppPredicate,WINBOOL *pPredicateValue) {
+ This->lpVtbl->GetPredication(This,ppPredicate,pPredicateValue);
+}
+static FORCEINLINE void ID3D11DeviceContext_GSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
+ This->lpVtbl->GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
+}
+static FORCEINLINE void ID3D11DeviceContext_GSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
+ This->lpVtbl->GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
+}
+static FORCEINLINE void ID3D11DeviceContext_OMGetRenderTargets(ID3D11DeviceContext* This,UINT NumViews,ID3D11RenderTargetView **ppRenderTargetViews,ID3D11DepthStencilView **ppDepthStencilView) {
+ This->lpVtbl->OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView);
+}
+static FORCEINLINE void ID3D11DeviceContext_OMGetRenderTargetsAndUnorderedAccessViews(ID3D11DeviceContext* This,UINT NumRTVs,ID3D11RenderTargetView **ppRenderTargetViews,ID3D11DepthStencilView **ppDepthStencilView,UINT UAVStartSlot,UINT NumUAVs,ID3D11UnorderedAccessView **ppUnorderedAccessViews) {
+ This->lpVtbl->OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews);
+}
+static FORCEINLINE void ID3D11DeviceContext_OMGetBlendState(ID3D11DeviceContext* This,ID3D11BlendState **ppBlendState,FLOAT BlendFactor[4],UINT *pSampleMask) {
+ This->lpVtbl->OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask);
+}
+static FORCEINLINE void ID3D11DeviceContext_OMGetDepthStencilState(ID3D11DeviceContext* This,ID3D11DepthStencilState **ppDepthStencilState,UINT *pStencilRef) {
+ This->lpVtbl->OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef);
+}
+static FORCEINLINE void ID3D11DeviceContext_SOGetTargets(ID3D11DeviceContext* This,UINT NumBuffers,ID3D11Buffer **ppSOTargets) {
+ This->lpVtbl->SOGetTargets(This,NumBuffers,ppSOTargets);
+}
+static FORCEINLINE void ID3D11DeviceContext_RSGetState(ID3D11DeviceContext* This,ID3D11RasterizerState **ppRasterizerState) {
+ This->lpVtbl->RSGetState(This,ppRasterizerState);
+}
+static FORCEINLINE void ID3D11DeviceContext_RSGetViewports(ID3D11DeviceContext* This,UINT *pNumViewports,D3D11_VIEWPORT *pViewports) {
+ This->lpVtbl->RSGetViewports(This,pNumViewports,pViewports);
+}
+static FORCEINLINE void ID3D11DeviceContext_RSGetScissorRects(ID3D11DeviceContext* This,UINT *pNumRects,D3D11_RECT *pRects) {
+ This->lpVtbl->RSGetScissorRects(This,pNumRects,pRects);
+}
+static FORCEINLINE void ID3D11DeviceContext_HSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
+ This->lpVtbl->HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
+}
+static FORCEINLINE void ID3D11DeviceContext_HSGetShader(ID3D11DeviceContext* This,ID3D11HullShader **ppHullShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
+ This->lpVtbl->HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances);
+}
+static FORCEINLINE void ID3D11DeviceContext_HSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
+ This->lpVtbl->HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
+}
+static FORCEINLINE void ID3D11DeviceContext_HSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
+ This->lpVtbl->HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
+}
+static FORCEINLINE void ID3D11DeviceContext_DSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
+ This->lpVtbl->DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
+}
+static FORCEINLINE void ID3D11DeviceContext_DSGetShader(ID3D11DeviceContext* This,ID3D11DomainShader **ppDomainShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
+ This->lpVtbl->DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances);
+}
+static FORCEINLINE void ID3D11DeviceContext_DSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
+ This->lpVtbl->DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
+}
+static FORCEINLINE void ID3D11DeviceContext_DSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
+ This->lpVtbl->DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
+}
+static FORCEINLINE void ID3D11DeviceContext_CSGetShaderResources(ID3D11DeviceContext* This,UINT StartSlot,UINT NumViews,ID3D11ShaderResourceView **ppShaderResourceViews) {
+ This->lpVtbl->CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews);
+}
+static FORCEINLINE void ID3D11DeviceContext_CSGetUnorderedAccessViews(ID3D11DeviceContext* This,UINT StartSlot,UINT NumUAVs,ID3D11UnorderedAccessView **ppUnorderedAccessViews) {
+ This->lpVtbl->CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews);
+}
+static FORCEINLINE void ID3D11DeviceContext_CSGetShader(ID3D11DeviceContext* This,ID3D11ComputeShader **ppComputeShader,ID3D11ClassInstance **ppClassInstances,UINT *pNumClassInstances) {
+ This->lpVtbl->CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances);
+}
+static FORCEINLINE void ID3D11DeviceContext_CSGetSamplers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumSamplers,ID3D11SamplerState **ppSamplers) {
+ This->lpVtbl->CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers);
+}
+static FORCEINLINE void ID3D11DeviceContext_CSGetConstantBuffers(ID3D11DeviceContext* This,UINT StartSlot,UINT NumBuffers,ID3D11Buffer **ppConstantBuffers) {
+ This->lpVtbl->CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers);
+}
+static FORCEINLINE void ID3D11DeviceContext_ClearState(ID3D11DeviceContext* This) {
+ This->lpVtbl->ClearState(This);
+}
+static FORCEINLINE void ID3D11DeviceContext_Flush(ID3D11DeviceContext* This) {
+ This->lpVtbl->Flush(This);
+}
+static FORCEINLINE D3D11_DEVICE_CONTEXT_TYPE ID3D11DeviceContext_GetType(ID3D11DeviceContext* This) {
+ return This->lpVtbl->GetType(This);
+}
+static FORCEINLINE UINT ID3D11DeviceContext_GetContextFlags(ID3D11DeviceContext* This) {
+ return This->lpVtbl->GetContextFlags(This);
+}
+static FORCEINLINE HRESULT ID3D11DeviceContext_FinishCommandList(ID3D11DeviceContext* This,WINBOOL RestoreDeferredContextState,ID3D11CommandList **ppCommandList) {
+ return This->lpVtbl->FinishCommandList(This,RestoreDeferredContextState,ppCommandList);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11DeviceContext_VSSetConstantBuffers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers);
+void __RPC_STUB ID3D11DeviceContext_VSSetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_PSSetShaderResources_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews);
+void __RPC_STUB ID3D11DeviceContext_PSSetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_PSSetShader_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11PixelShader *pPixelShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances);
+void __RPC_STUB ID3D11DeviceContext_PSSetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_PSSetSamplers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers);
+void __RPC_STUB ID3D11DeviceContext_PSSetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_VSSetShader_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11VertexShader *pVertexShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances);
+void __RPC_STUB ID3D11DeviceContext_VSSetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_DrawIndexed_Proxy(
+ ID3D11DeviceContext* This,
+ UINT IndexCount,
+ UINT StartIndexLocation,
+ INT BaseVertexLocation);
+void __RPC_STUB ID3D11DeviceContext_DrawIndexed_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_Draw_Proxy(
+ ID3D11DeviceContext* This,
+ UINT VertexCount,
+ UINT StartVertexLocation);
+void __RPC_STUB ID3D11DeviceContext_Draw_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11DeviceContext_Map_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pResource,
+ UINT Subresource,
+ D3D11_MAP MapType,
+ UINT MapFlags,
+ D3D11_MAPPED_SUBRESOURCE *pMappedResource);
+void __RPC_STUB ID3D11DeviceContext_Map_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_Unmap_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pResource,
+ UINT Subresource);
+void __RPC_STUB ID3D11DeviceContext_Unmap_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_PSSetConstantBuffers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers);
+void __RPC_STUB ID3D11DeviceContext_PSSetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_IASetInputLayout_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11InputLayout *pInputLayout);
+void __RPC_STUB ID3D11DeviceContext_IASetInputLayout_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_IASetVertexBuffers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppVertexBuffers,
+ const UINT *pStrides,
+ const UINT *pOffsets);
+void __RPC_STUB ID3D11DeviceContext_IASetVertexBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_IASetIndexBuffer_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Buffer *pIndexBuffer,
+ DXGI_FORMAT Format,
+ UINT Offset);
+void __RPC_STUB ID3D11DeviceContext_IASetIndexBuffer_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_DrawIndexedInstanced_Proxy(
+ ID3D11DeviceContext* This,
+ UINT IndexCountPerInstance,
+ UINT InstanceCount,
+ UINT StartIndexLocation,
+ INT BaseVertexLocation,
+ UINT StartInstanceLocation);
+void __RPC_STUB ID3D11DeviceContext_DrawIndexedInstanced_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_DrawInstanced_Proxy(
+ ID3D11DeviceContext* This,
+ UINT VertexCountPerInstance,
+ UINT InstanceCount,
+ UINT StartVertexLocation,
+ UINT StartInstanceLocation);
+void __RPC_STUB ID3D11DeviceContext_DrawInstanced_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_GSSetConstantBuffers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers);
+void __RPC_STUB ID3D11DeviceContext_GSSetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_GSSetShader_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11GeometryShader *pShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances);
+void __RPC_STUB ID3D11DeviceContext_GSSetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_IASetPrimitiveTopology_Proxy(
+ ID3D11DeviceContext* This,
+ D3D11_PRIMITIVE_TOPOLOGY Topology);
+void __RPC_STUB ID3D11DeviceContext_IASetPrimitiveTopology_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_VSSetShaderResources_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews);
+void __RPC_STUB ID3D11DeviceContext_VSSetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_VSSetSamplers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers);
+void __RPC_STUB ID3D11DeviceContext_VSSetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_Begin_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Asynchronous *pAsync);
+void __RPC_STUB ID3D11DeviceContext_Begin_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_End_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Asynchronous *pAsync);
+void __RPC_STUB ID3D11DeviceContext_End_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11DeviceContext_GetData_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Asynchronous *pAsync,
+ void *pData,
+ UINT DataSize,
+ UINT GetDataFlags);
+void __RPC_STUB ID3D11DeviceContext_GetData_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_SetPredication_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Predicate *pPredicate,
+ WINBOOL PredicateValue);
+void __RPC_STUB ID3D11DeviceContext_SetPredication_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_GSSetShaderResources_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews);
+void __RPC_STUB ID3D11DeviceContext_GSSetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_GSSetSamplers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers);
+void __RPC_STUB ID3D11DeviceContext_GSSetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_OMSetRenderTargets_Proxy(
+ ID3D11DeviceContext* This,
+ UINT NumViews,
+ ID3D11RenderTargetView *const *ppRenderTargetViews,
+ ID3D11DepthStencilView *pDepthStencilView);
+void __RPC_STUB ID3D11DeviceContext_OMSetRenderTargets_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_OMSetRenderTargetsAndUnorderedAccessViews_Proxy(
+ ID3D11DeviceContext* This,
+ UINT NumRTVs,
+ ID3D11RenderTargetView *const *ppRenderTargetViews,
+ ID3D11DepthStencilView *pDepthStencilView,
+ UINT UAVStartSlot,
+ UINT NumUAVs,
+ ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
+ const UINT *pUAVInitialCounts);
+void __RPC_STUB ID3D11DeviceContext_OMSetRenderTargetsAndUnorderedAccessViews_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_OMSetBlendState_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11BlendState *pBlendState,
+ const FLOAT BlendFactor[4],
+ UINT SampleMask);
+void __RPC_STUB ID3D11DeviceContext_OMSetBlendState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_OMSetDepthStencilState_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11DepthStencilState *pDepthStencilState,
+ UINT StencilRef);
+void __RPC_STUB ID3D11DeviceContext_OMSetDepthStencilState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_SOSetTargets_Proxy(
+ ID3D11DeviceContext* This,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppSOTargets,
+ const UINT *pOffsets);
+void __RPC_STUB ID3D11DeviceContext_SOSetTargets_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_DrawAuto_Proxy(
+ ID3D11DeviceContext* This);
+void __RPC_STUB ID3D11DeviceContext_DrawAuto_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_DrawIndexedInstancedIndirect_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Buffer *pBufferForArgs,
+ UINT AlignedByteOffsetForArgs);
+void __RPC_STUB ID3D11DeviceContext_DrawIndexedInstancedIndirect_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_DrawInstancedIndirect_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Buffer *pBufferForArgs,
+ UINT AlignedByteOffsetForArgs);
+void __RPC_STUB ID3D11DeviceContext_DrawInstancedIndirect_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_Dispatch_Proxy(
+ ID3D11DeviceContext* This,
+ UINT ThreadGroupCountX,
+ UINT ThreadGroupCountY,
+ UINT ThreadGroupCountZ);
+void __RPC_STUB ID3D11DeviceContext_Dispatch_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_DispatchIndirect_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Buffer *pBufferForArgs,
+ UINT AlignedByteOffsetForArgs);
+void __RPC_STUB ID3D11DeviceContext_DispatchIndirect_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_RSSetState_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11RasterizerState *pRasterizerState);
+void __RPC_STUB ID3D11DeviceContext_RSSetState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_RSSetViewports_Proxy(
+ ID3D11DeviceContext* This,
+ UINT NumViewports,
+ const D3D11_VIEWPORT *pViewports);
+void __RPC_STUB ID3D11DeviceContext_RSSetViewports_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_RSSetScissorRects_Proxy(
+ ID3D11DeviceContext* This,
+ UINT NumRects,
+ const D3D11_RECT *pRects);
+void __RPC_STUB ID3D11DeviceContext_RSSetScissorRects_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_CopySubresourceRegion_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pDstResource,
+ UINT DstSubresource,
+ UINT DstX,
+ UINT DstY,
+ UINT DstZ,
+ ID3D11Resource *pSrcResource,
+ UINT SrcSubresource,
+ const D3D11_BOX *pSrcBox);
+void __RPC_STUB ID3D11DeviceContext_CopySubresourceRegion_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_CopyResource_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pDstResource,
+ ID3D11Resource *pSrcResource);
+void __RPC_STUB ID3D11DeviceContext_CopyResource_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_UpdateSubresource_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pDstResource,
+ UINT DstSubresource,
+ const D3D11_BOX *pDstBox,
+ const void *pSrcData,
+ UINT SrcRowPitch,
+ UINT SrcDepthPitch);
+void __RPC_STUB ID3D11DeviceContext_UpdateSubresource_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_CopyStructureCount_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Buffer *pDstBuffer,
+ UINT DstAlignedByteOffset,
+ ID3D11UnorderedAccessView *pSrcView);
+void __RPC_STUB ID3D11DeviceContext_CopyStructureCount_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_ClearRenderTargetView_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11RenderTargetView *pRenderTargetView,
+ const FLOAT ColorRGBA[4]);
+void __RPC_STUB ID3D11DeviceContext_ClearRenderTargetView_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_ClearUnorderedAccessViewUint_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11UnorderedAccessView *pUnorderedAccessView,
+ const UINT Values[4]);
+void __RPC_STUB ID3D11DeviceContext_ClearUnorderedAccessViewUint_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_ClearUnorderedAccessViewFloat_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11UnorderedAccessView *pUnorderedAccessView,
+ const FLOAT Values[4]);
+void __RPC_STUB ID3D11DeviceContext_ClearUnorderedAccessViewFloat_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_ClearDepthStencilView_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11DepthStencilView *pDepthStencilView,
+ UINT ClearFlags,
+ FLOAT Depth,
+ UINT8 Stencil);
+void __RPC_STUB ID3D11DeviceContext_ClearDepthStencilView_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_GenerateMips_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11ShaderResourceView *pShaderResourceView);
+void __RPC_STUB ID3D11DeviceContext_GenerateMips_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_SetResourceMinLOD_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pResource,
+ FLOAT MinLOD);
+void __RPC_STUB ID3D11DeviceContext_SetResourceMinLOD_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+FLOAT STDMETHODCALLTYPE ID3D11DeviceContext_GetResourceMinLOD_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pResource);
+void __RPC_STUB ID3D11DeviceContext_GetResourceMinLOD_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_ResolveSubresource_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Resource *pDstResource,
+ UINT DstSubresource,
+ ID3D11Resource *pSrcResource,
+ UINT SrcSubresource,
+ DXGI_FORMAT Format);
+void __RPC_STUB ID3D11DeviceContext_ResolveSubresource_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_ExecuteCommandList_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11CommandList *pCommandList,
+ WINBOOL RestoreContextState);
+void __RPC_STUB ID3D11DeviceContext_ExecuteCommandList_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_HSSetShaderResources_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews);
+void __RPC_STUB ID3D11DeviceContext_HSSetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_HSSetShader_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11HullShader *pHullShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances);
+void __RPC_STUB ID3D11DeviceContext_HSSetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_HSSetSamplers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers);
+void __RPC_STUB ID3D11DeviceContext_HSSetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_HSSetConstantBuffers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers);
+void __RPC_STUB ID3D11DeviceContext_HSSetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_DSSetShaderResources_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews);
+void __RPC_STUB ID3D11DeviceContext_DSSetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_DSSetShader_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11DomainShader *pDomainShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances);
+void __RPC_STUB ID3D11DeviceContext_DSSetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_DSSetSamplers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers);
+void __RPC_STUB ID3D11DeviceContext_DSSetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_DSSetConstantBuffers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers);
+void __RPC_STUB ID3D11DeviceContext_DSSetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_CSSetShaderResources_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView *const *ppShaderResourceViews);
+void __RPC_STUB ID3D11DeviceContext_CSSetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_CSSetUnorderedAccessViews_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumUAVs,
+ ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
+ const UINT *pUAVInitialCounts);
+void __RPC_STUB ID3D11DeviceContext_CSSetUnorderedAccessViews_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_CSSetShader_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11ComputeShader *pComputeShader,
+ ID3D11ClassInstance *const *ppClassInstances,
+ UINT NumClassInstances);
+void __RPC_STUB ID3D11DeviceContext_CSSetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_CSSetSamplers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState *const *ppSamplers);
+void __RPC_STUB ID3D11DeviceContext_CSSetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_CSSetConstantBuffers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer *const *ppConstantBuffers);
+void __RPC_STUB ID3D11DeviceContext_CSSetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_VSGetConstantBuffers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers);
+void __RPC_STUB ID3D11DeviceContext_VSGetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_PSGetShaderResources_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews);
+void __RPC_STUB ID3D11DeviceContext_PSGetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_PSGetShader_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11PixelShader **ppPixelShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances);
+void __RPC_STUB ID3D11DeviceContext_PSGetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_PSGetSamplers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers);
+void __RPC_STUB ID3D11DeviceContext_PSGetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_VSGetShader_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11VertexShader **ppVertexShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances);
+void __RPC_STUB ID3D11DeviceContext_VSGetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_PSGetConstantBuffers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers);
+void __RPC_STUB ID3D11DeviceContext_PSGetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_IAGetInputLayout_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11InputLayout **ppInputLayout);
+void __RPC_STUB ID3D11DeviceContext_IAGetInputLayout_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_IAGetVertexBuffers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppVertexBuffers,
+ UINT *pStrides,
+ UINT *pOffsets);
+void __RPC_STUB ID3D11DeviceContext_IAGetVertexBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_IAGetIndexBuffer_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Buffer **pIndexBuffer,
+ DXGI_FORMAT *Format,
+ UINT *Offset);
+void __RPC_STUB ID3D11DeviceContext_IAGetIndexBuffer_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_GSGetConstantBuffers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers);
+void __RPC_STUB ID3D11DeviceContext_GSGetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_GSGetShader_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11GeometryShader **ppGeometryShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances);
+void __RPC_STUB ID3D11DeviceContext_GSGetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_IAGetPrimitiveTopology_Proxy(
+ ID3D11DeviceContext* This,
+ D3D11_PRIMITIVE_TOPOLOGY *pTopology);
+void __RPC_STUB ID3D11DeviceContext_IAGetPrimitiveTopology_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_VSGetShaderResources_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews);
+void __RPC_STUB ID3D11DeviceContext_VSGetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_VSGetSamplers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers);
+void __RPC_STUB ID3D11DeviceContext_VSGetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_GetPredication_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11Predicate **ppPredicate,
+ WINBOOL *pPredicateValue);
+void __RPC_STUB ID3D11DeviceContext_GetPredication_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_GSGetShaderResources_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews);
+void __RPC_STUB ID3D11DeviceContext_GSGetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_GSGetSamplers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers);
+void __RPC_STUB ID3D11DeviceContext_GSGetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_OMGetRenderTargets_Proxy(
+ ID3D11DeviceContext* This,
+ UINT NumViews,
+ ID3D11RenderTargetView **ppRenderTargetViews,
+ ID3D11DepthStencilView **ppDepthStencilView);
+void __RPC_STUB ID3D11DeviceContext_OMGetRenderTargets_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_OMGetRenderTargetsAndUnorderedAccessViews_Proxy(
+ ID3D11DeviceContext* This,
+ UINT NumRTVs,
+ ID3D11RenderTargetView **ppRenderTargetViews,
+ ID3D11DepthStencilView **ppDepthStencilView,
+ UINT UAVStartSlot,
+ UINT NumUAVs,
+ ID3D11UnorderedAccessView **ppUnorderedAccessViews);
+void __RPC_STUB ID3D11DeviceContext_OMGetRenderTargetsAndUnorderedAccessViews_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_OMGetBlendState_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11BlendState **ppBlendState,
+ FLOAT BlendFactor[4],
+ UINT *pSampleMask);
+void __RPC_STUB ID3D11DeviceContext_OMGetBlendState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_OMGetDepthStencilState_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11DepthStencilState **ppDepthStencilState,
+ UINT *pStencilRef);
+void __RPC_STUB ID3D11DeviceContext_OMGetDepthStencilState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_SOGetTargets_Proxy(
+ ID3D11DeviceContext* This,
+ UINT NumBuffers,
+ ID3D11Buffer **ppSOTargets);
+void __RPC_STUB ID3D11DeviceContext_SOGetTargets_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_RSGetState_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11RasterizerState **ppRasterizerState);
+void __RPC_STUB ID3D11DeviceContext_RSGetState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_RSGetViewports_Proxy(
+ ID3D11DeviceContext* This,
+ UINT *pNumViewports,
+ D3D11_VIEWPORT *pViewports);
+void __RPC_STUB ID3D11DeviceContext_RSGetViewports_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_RSGetScissorRects_Proxy(
+ ID3D11DeviceContext* This,
+ UINT *pNumRects,
+ D3D11_RECT *pRects);
+void __RPC_STUB ID3D11DeviceContext_RSGetScissorRects_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_HSGetShaderResources_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews);
+void __RPC_STUB ID3D11DeviceContext_HSGetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_HSGetShader_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11HullShader **ppHullShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances);
+void __RPC_STUB ID3D11DeviceContext_HSGetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_HSGetSamplers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers);
+void __RPC_STUB ID3D11DeviceContext_HSGetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_HSGetConstantBuffers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers);
+void __RPC_STUB ID3D11DeviceContext_HSGetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_DSGetShaderResources_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews);
+void __RPC_STUB ID3D11DeviceContext_DSGetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_DSGetShader_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11DomainShader **ppDomainShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances);
+void __RPC_STUB ID3D11DeviceContext_DSGetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_DSGetSamplers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers);
+void __RPC_STUB ID3D11DeviceContext_DSGetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_DSGetConstantBuffers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers);
+void __RPC_STUB ID3D11DeviceContext_DSGetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_CSGetShaderResources_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumViews,
+ ID3D11ShaderResourceView **ppShaderResourceViews);
+void __RPC_STUB ID3D11DeviceContext_CSGetShaderResources_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_CSGetUnorderedAccessViews_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumUAVs,
+ ID3D11UnorderedAccessView **ppUnorderedAccessViews);
+void __RPC_STUB ID3D11DeviceContext_CSGetUnorderedAccessViews_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_CSGetShader_Proxy(
+ ID3D11DeviceContext* This,
+ ID3D11ComputeShader **ppComputeShader,
+ ID3D11ClassInstance **ppClassInstances,
+ UINT *pNumClassInstances);
+void __RPC_STUB ID3D11DeviceContext_CSGetShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_CSGetSamplers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumSamplers,
+ ID3D11SamplerState **ppSamplers);
+void __RPC_STUB ID3D11DeviceContext_CSGetSamplers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_CSGetConstantBuffers_Proxy(
+ ID3D11DeviceContext* This,
+ UINT StartSlot,
+ UINT NumBuffers,
+ ID3D11Buffer **ppConstantBuffers);
+void __RPC_STUB ID3D11DeviceContext_CSGetConstantBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_ClearState_Proxy(
+ ID3D11DeviceContext* This);
+void __RPC_STUB ID3D11DeviceContext_ClearState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11DeviceContext_Flush_Proxy(
+ ID3D11DeviceContext* This);
+void __RPC_STUB ID3D11DeviceContext_Flush_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+D3D11_DEVICE_CONTEXT_TYPE STDMETHODCALLTYPE ID3D11DeviceContext_GetType_Proxy(
+ ID3D11DeviceContext* This);
+void __RPC_STUB ID3D11DeviceContext_GetType_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+UINT STDMETHODCALLTYPE ID3D11DeviceContext_GetContextFlags_Proxy(
+ ID3D11DeviceContext* This);
+void __RPC_STUB ID3D11DeviceContext_GetContextFlags_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11DeviceContext_FinishCommandList_Proxy(
+ ID3D11DeviceContext* This,
+ WINBOOL RestoreDeferredContextState,
+ ID3D11CommandList **ppCommandList);
+void __RPC_STUB ID3D11DeviceContext_FinishCommandList_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11DeviceContext_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11Device interface
+ */
+#ifndef __ID3D11Device_INTERFACE_DEFINED__
+#define __ID3D11Device_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11Device, 0xdb6f6ddb, 0xac77, 0x4e88, 0x82,0x53, 0x81,0x9d,0xf9,0xbb,0xf1,0x40);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("db6f6ddb-ac77-4e88-8253-819df9bbf140")
+ID3D11Device : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE CreateBuffer(
+ const D3D11_BUFFER_DESC *pDesc,
+ const D3D11_SUBRESOURCE_DATA *pInitialData,
+ ID3D11Buffer **ppBuffer) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateTexture1D(
+ const D3D11_TEXTURE1D_DESC *pDesc,
+ const D3D11_SUBRESOURCE_DATA *pInitialData,
+ ID3D11Texture1D **ppTexture1D) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateTexture2D(
+ const D3D11_TEXTURE2D_DESC *pDesc,
+ const D3D11_SUBRESOURCE_DATA *pInitialData,
+ ID3D11Texture2D **ppTexture2D) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateTexture3D(
+ const D3D11_TEXTURE3D_DESC *pDesc,
+ const D3D11_SUBRESOURCE_DATA *pInitialData,
+ ID3D11Texture3D **ppTexture3D) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateShaderResourceView(
+ ID3D11Resource *pResource,
+ const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
+ ID3D11ShaderResourceView **ppSRView) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateUnorderedAccessView(
+ ID3D11Resource *pResource,
+ const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
+ ID3D11UnorderedAccessView **ppUAView) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateRenderTargetView(
+ ID3D11Resource *pResource,
+ const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
+ ID3D11RenderTargetView **ppRTView) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilView(
+ ID3D11Resource *pResource,
+ const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
+ ID3D11DepthStencilView **ppDepthStencilView) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateInputLayout(
+ const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
+ UINT NumElements,
+ const void *pShaderBytecodeWithInputSignature,
+ SIZE_T BytecodeLength,
+ ID3D11InputLayout **ppInputLayout) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateVertexShader(
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11VertexShader **ppVertexShader) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateGeometryShader(
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11GeometryShader **ppGeometryShader) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateGeometryShaderWithStreamOutput(
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
+ UINT NumEntries,
+ const UINT *pBufferStrides,
+ UINT NumStrides,
+ UINT RasterizedStream,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11GeometryShader **ppGeometryShader) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreatePixelShader(
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11PixelShader **ppPixelShader) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateHullShader(
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11HullShader **ppHullShader) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateDomainShader(
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11DomainShader **ppDomainShader) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateComputeShader(
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11ComputeShader **ppComputeShader) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateClassLinkage(
+ ID3D11ClassLinkage **ppLinkage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateBlendState(
+ const D3D11_BLEND_DESC *pBlendStateDesc,
+ ID3D11BlendState **ppBlendState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilState(
+ const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
+ ID3D11DepthStencilState **ppDepthStencilState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateRasterizerState(
+ const D3D11_RASTERIZER_DESC *pRasterizerDesc,
+ ID3D11RasterizerState **ppRasterizerState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateSamplerState(
+ const D3D11_SAMPLER_DESC *pSamplerDesc,
+ ID3D11SamplerState **ppSamplerState) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateQuery(
+ const D3D11_QUERY_DESC *pQueryDesc,
+ ID3D11Query **ppQuery) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreatePredicate(
+ const D3D11_QUERY_DESC *pPredicateDesc,
+ ID3D11Predicate **ppPredicate) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateCounter(
+ const D3D11_COUNTER_DESC *pCounterDesc,
+ ID3D11Counter **ppCounter) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateDeferredContext(
+ UINT ContextFlags,
+ ID3D11DeviceContext **ppDeferredContext) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE OpenSharedResource(
+ HANDLE hResource,
+ REFIID ReturnedInterface,
+ void **ppResource) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CheckFormatSupport(
+ DXGI_FORMAT Format,
+ UINT *pFormatSupport) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CheckMultisampleQualityLevels(
+ DXGI_FORMAT Format,
+ UINT SampleCount,
+ UINT *pNumQualityLevels) = 0;
+
+ virtual void STDMETHODCALLTYPE CheckCounterInfo(
+ D3D11_COUNTER_INFO *pCounterInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CheckCounter(
+ const D3D11_COUNTER_DESC *pDesc,
+ D3D11_COUNTER_TYPE *pType,
+ UINT *pActiveCounters,
+ LPSTR szName,
+ UINT *pNameLength,
+ LPSTR szUnits,
+ UINT *pUnitsLength,
+ LPSTR szDescription,
+ UINT *pDescriptionLength) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
+ D3D11_FEATURE Feature,
+ void *pFeatureSupportData,
+ UINT FeatureSupportDataSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
+ REFGUID guid,
+ const IUnknown *pData) = 0;
+
+ virtual D3D_FEATURE_LEVEL STDMETHODCALLTYPE GetFeatureLevel(
+ ) = 0;
+
+ virtual UINT STDMETHODCALLTYPE GetCreationFlags(
+ ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason(
+ ) = 0;
+
+ virtual void STDMETHODCALLTYPE GetImmediateContext(
+ ID3D11DeviceContext **ppImmediateContext) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetExceptionMode(
+ UINT RaiseFlags) = 0;
+
+ virtual UINT STDMETHODCALLTYPE GetExceptionMode(
+ ) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11Device, 0xdb6f6ddb, 0xac77, 0x4e88, 0x82,0x53, 0x81,0x9d,0xf9,0xbb,0xf1,0x40)
+#endif
+#else
+typedef struct ID3D11DeviceVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11Device* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11Device* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11Device* This);
+
+ /*** ID3D11Device methods ***/
+ HRESULT (STDMETHODCALLTYPE *CreateBuffer)(
+ ID3D11Device* This,
+ const D3D11_BUFFER_DESC *pDesc,
+ const D3D11_SUBRESOURCE_DATA *pInitialData,
+ ID3D11Buffer **ppBuffer);
+
+ HRESULT (STDMETHODCALLTYPE *CreateTexture1D)(
+ ID3D11Device* This,
+ const D3D11_TEXTURE1D_DESC *pDesc,
+ const D3D11_SUBRESOURCE_DATA *pInitialData,
+ ID3D11Texture1D **ppTexture1D);
+
+ HRESULT (STDMETHODCALLTYPE *CreateTexture2D)(
+ ID3D11Device* This,
+ const D3D11_TEXTURE2D_DESC *pDesc,
+ const D3D11_SUBRESOURCE_DATA *pInitialData,
+ ID3D11Texture2D **ppTexture2D);
+
+ HRESULT (STDMETHODCALLTYPE *CreateTexture3D)(
+ ID3D11Device* This,
+ const D3D11_TEXTURE3D_DESC *pDesc,
+ const D3D11_SUBRESOURCE_DATA *pInitialData,
+ ID3D11Texture3D **ppTexture3D);
+
+ HRESULT (STDMETHODCALLTYPE *CreateShaderResourceView)(
+ ID3D11Device* This,
+ ID3D11Resource *pResource,
+ const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
+ ID3D11ShaderResourceView **ppSRView);
+
+ HRESULT (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
+ ID3D11Device* This,
+ ID3D11Resource *pResource,
+ const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
+ ID3D11UnorderedAccessView **ppUAView);
+
+ HRESULT (STDMETHODCALLTYPE *CreateRenderTargetView)(
+ ID3D11Device* This,
+ ID3D11Resource *pResource,
+ const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
+ ID3D11RenderTargetView **ppRTView);
+
+ HRESULT (STDMETHODCALLTYPE *CreateDepthStencilView)(
+ ID3D11Device* This,
+ ID3D11Resource *pResource,
+ const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
+ ID3D11DepthStencilView **ppDepthStencilView);
+
+ HRESULT (STDMETHODCALLTYPE *CreateInputLayout)(
+ ID3D11Device* This,
+ const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
+ UINT NumElements,
+ const void *pShaderBytecodeWithInputSignature,
+ SIZE_T BytecodeLength,
+ ID3D11InputLayout **ppInputLayout);
+
+ HRESULT (STDMETHODCALLTYPE *CreateVertexShader)(
+ ID3D11Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11VertexShader **ppVertexShader);
+
+ HRESULT (STDMETHODCALLTYPE *CreateGeometryShader)(
+ ID3D11Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11GeometryShader **ppGeometryShader);
+
+ HRESULT (STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput)(
+ ID3D11Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
+ UINT NumEntries,
+ const UINT *pBufferStrides,
+ UINT NumStrides,
+ UINT RasterizedStream,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11GeometryShader **ppGeometryShader);
+
+ HRESULT (STDMETHODCALLTYPE *CreatePixelShader)(
+ ID3D11Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11PixelShader **ppPixelShader);
+
+ HRESULT (STDMETHODCALLTYPE *CreateHullShader)(
+ ID3D11Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11HullShader **ppHullShader);
+
+ HRESULT (STDMETHODCALLTYPE *CreateDomainShader)(
+ ID3D11Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11DomainShader **ppDomainShader);
+
+ HRESULT (STDMETHODCALLTYPE *CreateComputeShader)(
+ ID3D11Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11ComputeShader **ppComputeShader);
+
+ HRESULT (STDMETHODCALLTYPE *CreateClassLinkage)(
+ ID3D11Device* This,
+ ID3D11ClassLinkage **ppLinkage);
+
+ HRESULT (STDMETHODCALLTYPE *CreateBlendState)(
+ ID3D11Device* This,
+ const D3D11_BLEND_DESC *pBlendStateDesc,
+ ID3D11BlendState **ppBlendState);
+
+ HRESULT (STDMETHODCALLTYPE *CreateDepthStencilState)(
+ ID3D11Device* This,
+ const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
+ ID3D11DepthStencilState **ppDepthStencilState);
+
+ HRESULT (STDMETHODCALLTYPE *CreateRasterizerState)(
+ ID3D11Device* This,
+ const D3D11_RASTERIZER_DESC *pRasterizerDesc,
+ ID3D11RasterizerState **ppRasterizerState);
+
+ HRESULT (STDMETHODCALLTYPE *CreateSamplerState)(
+ ID3D11Device* This,
+ const D3D11_SAMPLER_DESC *pSamplerDesc,
+ ID3D11SamplerState **ppSamplerState);
+
+ HRESULT (STDMETHODCALLTYPE *CreateQuery)(
+ ID3D11Device* This,
+ const D3D11_QUERY_DESC *pQueryDesc,
+ ID3D11Query **ppQuery);
+
+ HRESULT (STDMETHODCALLTYPE *CreatePredicate)(
+ ID3D11Device* This,
+ const D3D11_QUERY_DESC *pPredicateDesc,
+ ID3D11Predicate **ppPredicate);
+
+ HRESULT (STDMETHODCALLTYPE *CreateCounter)(
+ ID3D11Device* This,
+ const D3D11_COUNTER_DESC *pCounterDesc,
+ ID3D11Counter **ppCounter);
+
+ HRESULT (STDMETHODCALLTYPE *CreateDeferredContext)(
+ ID3D11Device* This,
+ UINT ContextFlags,
+ ID3D11DeviceContext **ppDeferredContext);
+
+ HRESULT (STDMETHODCALLTYPE *OpenSharedResource)(
+ ID3D11Device* This,
+ HANDLE hResource,
+ REFIID ReturnedInterface,
+ void **ppResource);
+
+ HRESULT (STDMETHODCALLTYPE *CheckFormatSupport)(
+ ID3D11Device* This,
+ DXGI_FORMAT Format,
+ UINT *pFormatSupport);
+
+ HRESULT (STDMETHODCALLTYPE *CheckMultisampleQualityLevels)(
+ ID3D11Device* This,
+ DXGI_FORMAT Format,
+ UINT SampleCount,
+ UINT *pNumQualityLevels);
+
+ void (STDMETHODCALLTYPE *CheckCounterInfo)(
+ ID3D11Device* This,
+ D3D11_COUNTER_INFO *pCounterInfo);
+
+ HRESULT (STDMETHODCALLTYPE *CheckCounter)(
+ ID3D11Device* This,
+ const D3D11_COUNTER_DESC *pDesc,
+ D3D11_COUNTER_TYPE *pType,
+ UINT *pActiveCounters,
+ LPSTR szName,
+ UINT *pNameLength,
+ LPSTR szUnits,
+ UINT *pUnitsLength,
+ LPSTR szDescription,
+ UINT *pDescriptionLength);
+
+ HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
+ ID3D11Device* This,
+ D3D11_FEATURE Feature,
+ void *pFeatureSupportData,
+ UINT FeatureSupportDataSize);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11Device* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11Device* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11Device* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ D3D_FEATURE_LEVEL (STDMETHODCALLTYPE *GetFeatureLevel)(
+ ID3D11Device* This);
+
+ UINT (STDMETHODCALLTYPE *GetCreationFlags)(
+ ID3D11Device* This);
+
+ HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
+ ID3D11Device* This);
+
+ void (STDMETHODCALLTYPE *GetImmediateContext)(
+ ID3D11Device* This,
+ ID3D11DeviceContext **ppImmediateContext);
+
+ HRESULT (STDMETHODCALLTYPE *SetExceptionMode)(
+ ID3D11Device* This,
+ UINT RaiseFlags);
+
+ UINT (STDMETHODCALLTYPE *GetExceptionMode)(
+ ID3D11Device* This);
+
+ END_INTERFACE
+} ID3D11DeviceVtbl;
+interface ID3D11Device {
+ CONST_VTBL ID3D11DeviceVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11Device_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11Device_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11Device_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11Device methods ***/
+#define ID3D11Device_CreateBuffer(This,pDesc,pInitialData,ppBuffer) (This)->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer)
+#define ID3D11Device_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) (This)->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D)
+#define ID3D11Device_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) (This)->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D)
+#define ID3D11Device_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) (This)->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D)
+#define ID3D11Device_CreateShaderResourceView(This,pResource,pDesc,ppSRView) (This)->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView)
+#define ID3D11Device_CreateUnorderedAccessView(This,pResource,pDesc,ppUAView) (This)->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView)
+#define ID3D11Device_CreateRenderTargetView(This,pResource,pDesc,ppRTView) (This)->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView)
+#define ID3D11Device_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) (This)->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView)
+#define ID3D11Device_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) (This)->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout)
+#define ID3D11Device_CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader) (This)->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader)
+#define ID3D11Device_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader)
+#define ID3D11Device_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader) (This)->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader)
+#define ID3D11Device_CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) (This)->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader)
+#define ID3D11Device_CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader) (This)->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader)
+#define ID3D11Device_CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader) (This)->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader)
+#define ID3D11Device_CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader) (This)->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader)
+#define ID3D11Device_CreateClassLinkage(This,ppLinkage) (This)->lpVtbl->CreateClassLinkage(This,ppLinkage)
+#define ID3D11Device_CreateBlendState(This,pBlendStateDesc,ppBlendState) (This)->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState)
+#define ID3D11Device_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) (This)->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState)
+#define ID3D11Device_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) (This)->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState)
+#define ID3D11Device_CreateSamplerState(This,pSamplerDesc,ppSamplerState) (This)->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState)
+#define ID3D11Device_CreateQuery(This,pQueryDesc,ppQuery) (This)->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery)
+#define ID3D11Device_CreatePredicate(This,pPredicateDesc,ppPredicate) (This)->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate)
+#define ID3D11Device_CreateCounter(This,pCounterDesc,ppCounter) (This)->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter)
+#define ID3D11Device_CreateDeferredContext(This,ContextFlags,ppDeferredContext) (This)->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext)
+#define ID3D11Device_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) (This)->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource)
+#define ID3D11Device_CheckFormatSupport(This,Format,pFormatSupport) (This)->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport)
+#define ID3D11Device_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) (This)->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels)
+#define ID3D11Device_CheckCounterInfo(This,pCounterInfo) (This)->lpVtbl->CheckCounterInfo(This,pCounterInfo)
+#define ID3D11Device_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) (This)->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength)
+#define ID3D11Device_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) (This)->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)
+#define ID3D11Device_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11Device_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11Device_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#define ID3D11Device_GetFeatureLevel(This) (This)->lpVtbl->GetFeatureLevel(This)
+#define ID3D11Device_GetCreationFlags(This) (This)->lpVtbl->GetCreationFlags(This)
+#define ID3D11Device_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
+#define ID3D11Device_GetImmediateContext(This,ppImmediateContext) (This)->lpVtbl->GetImmediateContext(This,ppImmediateContext)
+#define ID3D11Device_SetExceptionMode(This,RaiseFlags) (This)->lpVtbl->SetExceptionMode(This,RaiseFlags)
+#define ID3D11Device_GetExceptionMode(This) (This)->lpVtbl->GetExceptionMode(This)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11Device_QueryInterface(ID3D11Device* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11Device_AddRef(ID3D11Device* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11Device_Release(ID3D11Device* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11Device methods ***/
+static FORCEINLINE HRESULT ID3D11Device_CreateBuffer(ID3D11Device* This,const D3D11_BUFFER_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Buffer **ppBuffer) {
+ return This->lpVtbl->CreateBuffer(This,pDesc,pInitialData,ppBuffer);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateTexture1D(ID3D11Device* This,const D3D11_TEXTURE1D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture1D **ppTexture1D) {
+ return This->lpVtbl->CreateTexture1D(This,pDesc,pInitialData,ppTexture1D);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateTexture2D(ID3D11Device* This,const D3D11_TEXTURE2D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture2D **ppTexture2D) {
+ return This->lpVtbl->CreateTexture2D(This,pDesc,pInitialData,ppTexture2D);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateTexture3D(ID3D11Device* This,const D3D11_TEXTURE3D_DESC *pDesc,const D3D11_SUBRESOURCE_DATA *pInitialData,ID3D11Texture3D **ppTexture3D) {
+ return This->lpVtbl->CreateTexture3D(This,pDesc,pInitialData,ppTexture3D);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateShaderResourceView(ID3D11Device* This,ID3D11Resource *pResource,const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,ID3D11ShaderResourceView **ppSRView) {
+ return This->lpVtbl->CreateShaderResourceView(This,pResource,pDesc,ppSRView);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateUnorderedAccessView(ID3D11Device* This,ID3D11Resource *pResource,const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,ID3D11UnorderedAccessView **ppUAView) {
+ return This->lpVtbl->CreateUnorderedAccessView(This,pResource,pDesc,ppUAView);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateRenderTargetView(ID3D11Device* This,ID3D11Resource *pResource,const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,ID3D11RenderTargetView **ppRTView) {
+ return This->lpVtbl->CreateRenderTargetView(This,pResource,pDesc,ppRTView);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateDepthStencilView(ID3D11Device* This,ID3D11Resource *pResource,const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,ID3D11DepthStencilView **ppDepthStencilView) {
+ return This->lpVtbl->CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateInputLayout(ID3D11Device* This,const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,UINT NumElements,const void *pShaderBytecodeWithInputSignature,SIZE_T BytecodeLength,ID3D11InputLayout **ppInputLayout) {
+ return This->lpVtbl->CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateVertexShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11VertexShader **ppVertexShader) {
+ return This->lpVtbl->CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateGeometryShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11GeometryShader **ppGeometryShader) {
+ return This->lpVtbl->CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateGeometryShaderWithStreamOutput(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,UINT NumEntries,const UINT *pBufferStrides,UINT NumStrides,UINT RasterizedStream,ID3D11ClassLinkage *pClassLinkage,ID3D11GeometryShader **ppGeometryShader) {
+ return This->lpVtbl->CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreatePixelShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11PixelShader **ppPixelShader) {
+ return This->lpVtbl->CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateHullShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11HullShader **ppHullShader) {
+ return This->lpVtbl->CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateDomainShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11DomainShader **ppDomainShader) {
+ return This->lpVtbl->CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateComputeShader(ID3D11Device* This,const void *pShaderBytecode,SIZE_T BytecodeLength,ID3D11ClassLinkage *pClassLinkage,ID3D11ComputeShader **ppComputeShader) {
+ return This->lpVtbl->CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateClassLinkage(ID3D11Device* This,ID3D11ClassLinkage **ppLinkage) {
+ return This->lpVtbl->CreateClassLinkage(This,ppLinkage);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateBlendState(ID3D11Device* This,const D3D11_BLEND_DESC *pBlendStateDesc,ID3D11BlendState **ppBlendState) {
+ return This->lpVtbl->CreateBlendState(This,pBlendStateDesc,ppBlendState);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateDepthStencilState(ID3D11Device* This,const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,ID3D11DepthStencilState **ppDepthStencilState) {
+ return This->lpVtbl->CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateRasterizerState(ID3D11Device* This,const D3D11_RASTERIZER_DESC *pRasterizerDesc,ID3D11RasterizerState **ppRasterizerState) {
+ return This->lpVtbl->CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateSamplerState(ID3D11Device* This,const D3D11_SAMPLER_DESC *pSamplerDesc,ID3D11SamplerState **ppSamplerState) {
+ return This->lpVtbl->CreateSamplerState(This,pSamplerDesc,ppSamplerState);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateQuery(ID3D11Device* This,const D3D11_QUERY_DESC *pQueryDesc,ID3D11Query **ppQuery) {
+ return This->lpVtbl->CreateQuery(This,pQueryDesc,ppQuery);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreatePredicate(ID3D11Device* This,const D3D11_QUERY_DESC *pPredicateDesc,ID3D11Predicate **ppPredicate) {
+ return This->lpVtbl->CreatePredicate(This,pPredicateDesc,ppPredicate);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateCounter(ID3D11Device* This,const D3D11_COUNTER_DESC *pCounterDesc,ID3D11Counter **ppCounter) {
+ return This->lpVtbl->CreateCounter(This,pCounterDesc,ppCounter);
+}
+static FORCEINLINE HRESULT ID3D11Device_CreateDeferredContext(ID3D11Device* This,UINT ContextFlags,ID3D11DeviceContext **ppDeferredContext) {
+ return This->lpVtbl->CreateDeferredContext(This,ContextFlags,ppDeferredContext);
+}
+static FORCEINLINE HRESULT ID3D11Device_OpenSharedResource(ID3D11Device* This,HANDLE hResource,REFIID ReturnedInterface,void **ppResource) {
+ return This->lpVtbl->OpenSharedResource(This,hResource,ReturnedInterface,ppResource);
+}
+static FORCEINLINE HRESULT ID3D11Device_CheckFormatSupport(ID3D11Device* This,DXGI_FORMAT Format,UINT *pFormatSupport) {
+ return This->lpVtbl->CheckFormatSupport(This,Format,pFormatSupport);
+}
+static FORCEINLINE HRESULT ID3D11Device_CheckMultisampleQualityLevels(ID3D11Device* This,DXGI_FORMAT Format,UINT SampleCount,UINT *pNumQualityLevels) {
+ return This->lpVtbl->CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels);
+}
+static FORCEINLINE void ID3D11Device_CheckCounterInfo(ID3D11Device* This,D3D11_COUNTER_INFO *pCounterInfo) {
+ This->lpVtbl->CheckCounterInfo(This,pCounterInfo);
+}
+static FORCEINLINE HRESULT ID3D11Device_CheckCounter(ID3D11Device* This,const D3D11_COUNTER_DESC *pDesc,D3D11_COUNTER_TYPE *pType,UINT *pActiveCounters,LPSTR szName,UINT *pNameLength,LPSTR szUnits,UINT *pUnitsLength,LPSTR szDescription,UINT *pDescriptionLength) {
+ return This->lpVtbl->CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength);
+}
+static FORCEINLINE HRESULT ID3D11Device_CheckFeatureSupport(ID3D11Device* This,D3D11_FEATURE Feature,void *pFeatureSupportData,UINT FeatureSupportDataSize) {
+ return This->lpVtbl->CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize);
+}
+static FORCEINLINE HRESULT ID3D11Device_GetPrivateData(ID3D11Device* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Device_SetPrivateData(ID3D11Device* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11Device_SetPrivateDataInterface(ID3D11Device* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+static FORCEINLINE D3D_FEATURE_LEVEL ID3D11Device_GetFeatureLevel(ID3D11Device* This) {
+ return This->lpVtbl->GetFeatureLevel(This);
+}
+static FORCEINLINE UINT ID3D11Device_GetCreationFlags(ID3D11Device* This) {
+ return This->lpVtbl->GetCreationFlags(This);
+}
+static FORCEINLINE HRESULT ID3D11Device_GetDeviceRemovedReason(ID3D11Device* This) {
+ return This->lpVtbl->GetDeviceRemovedReason(This);
+}
+static FORCEINLINE void ID3D11Device_GetImmediateContext(ID3D11Device* This,ID3D11DeviceContext **ppImmediateContext) {
+ This->lpVtbl->GetImmediateContext(This,ppImmediateContext);
+}
+static FORCEINLINE HRESULT ID3D11Device_SetExceptionMode(ID3D11Device* This,UINT RaiseFlags) {
+ return This->lpVtbl->SetExceptionMode(This,RaiseFlags);
+}
+static FORCEINLINE UINT ID3D11Device_GetExceptionMode(ID3D11Device* This) {
+ return This->lpVtbl->GetExceptionMode(This);
+}
+#endif
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateBuffer_Proxy(
+ ID3D11Device* This,
+ const D3D11_BUFFER_DESC *pDesc,
+ const D3D11_SUBRESOURCE_DATA *pInitialData,
+ ID3D11Buffer **ppBuffer);
+void __RPC_STUB ID3D11Device_CreateBuffer_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateTexture1D_Proxy(
+ ID3D11Device* This,
+ const D3D11_TEXTURE1D_DESC *pDesc,
+ const D3D11_SUBRESOURCE_DATA *pInitialData,
+ ID3D11Texture1D **ppTexture1D);
+void __RPC_STUB ID3D11Device_CreateTexture1D_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateTexture2D_Proxy(
+ ID3D11Device* This,
+ const D3D11_TEXTURE2D_DESC *pDesc,
+ const D3D11_SUBRESOURCE_DATA *pInitialData,
+ ID3D11Texture2D **ppTexture2D);
+void __RPC_STUB ID3D11Device_CreateTexture2D_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateTexture3D_Proxy(
+ ID3D11Device* This,
+ const D3D11_TEXTURE3D_DESC *pDesc,
+ const D3D11_SUBRESOURCE_DATA *pInitialData,
+ ID3D11Texture3D **ppTexture3D);
+void __RPC_STUB ID3D11Device_CreateTexture3D_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateShaderResourceView_Proxy(
+ ID3D11Device* This,
+ ID3D11Resource *pResource,
+ const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
+ ID3D11ShaderResourceView **ppSRView);
+void __RPC_STUB ID3D11Device_CreateShaderResourceView_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateUnorderedAccessView_Proxy(
+ ID3D11Device* This,
+ ID3D11Resource *pResource,
+ const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
+ ID3D11UnorderedAccessView **ppUAView);
+void __RPC_STUB ID3D11Device_CreateUnorderedAccessView_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateRenderTargetView_Proxy(
+ ID3D11Device* This,
+ ID3D11Resource *pResource,
+ const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
+ ID3D11RenderTargetView **ppRTView);
+void __RPC_STUB ID3D11Device_CreateRenderTargetView_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateDepthStencilView_Proxy(
+ ID3D11Device* This,
+ ID3D11Resource *pResource,
+ const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
+ ID3D11DepthStencilView **ppDepthStencilView);
+void __RPC_STUB ID3D11Device_CreateDepthStencilView_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateInputLayout_Proxy(
+ ID3D11Device* This,
+ const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
+ UINT NumElements,
+ const void *pShaderBytecodeWithInputSignature,
+ SIZE_T BytecodeLength,
+ ID3D11InputLayout **ppInputLayout);
+void __RPC_STUB ID3D11Device_CreateInputLayout_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateVertexShader_Proxy(
+ ID3D11Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11VertexShader **ppVertexShader);
+void __RPC_STUB ID3D11Device_CreateVertexShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateGeometryShader_Proxy(
+ ID3D11Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11GeometryShader **ppGeometryShader);
+void __RPC_STUB ID3D11Device_CreateGeometryShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateGeometryShaderWithStreamOutput_Proxy(
+ ID3D11Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
+ UINT NumEntries,
+ const UINT *pBufferStrides,
+ UINT NumStrides,
+ UINT RasterizedStream,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11GeometryShader **ppGeometryShader);
+void __RPC_STUB ID3D11Device_CreateGeometryShaderWithStreamOutput_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreatePixelShader_Proxy(
+ ID3D11Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11PixelShader **ppPixelShader);
+void __RPC_STUB ID3D11Device_CreatePixelShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateHullShader_Proxy(
+ ID3D11Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11HullShader **ppHullShader);
+void __RPC_STUB ID3D11Device_CreateHullShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateDomainShader_Proxy(
+ ID3D11Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11DomainShader **ppDomainShader);
+void __RPC_STUB ID3D11Device_CreateDomainShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateComputeShader_Proxy(
+ ID3D11Device* This,
+ const void *pShaderBytecode,
+ SIZE_T BytecodeLength,
+ ID3D11ClassLinkage *pClassLinkage,
+ ID3D11ComputeShader **ppComputeShader);
+void __RPC_STUB ID3D11Device_CreateComputeShader_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateClassLinkage_Proxy(
+ ID3D11Device* This,
+ ID3D11ClassLinkage **ppLinkage);
+void __RPC_STUB ID3D11Device_CreateClassLinkage_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateBlendState_Proxy(
+ ID3D11Device* This,
+ const D3D11_BLEND_DESC *pBlendStateDesc,
+ ID3D11BlendState **ppBlendState);
+void __RPC_STUB ID3D11Device_CreateBlendState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateDepthStencilState_Proxy(
+ ID3D11Device* This,
+ const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
+ ID3D11DepthStencilState **ppDepthStencilState);
+void __RPC_STUB ID3D11Device_CreateDepthStencilState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateRasterizerState_Proxy(
+ ID3D11Device* This,
+ const D3D11_RASTERIZER_DESC *pRasterizerDesc,
+ ID3D11RasterizerState **ppRasterizerState);
+void __RPC_STUB ID3D11Device_CreateRasterizerState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateSamplerState_Proxy(
+ ID3D11Device* This,
+ const D3D11_SAMPLER_DESC *pSamplerDesc,
+ ID3D11SamplerState **ppSamplerState);
+void __RPC_STUB ID3D11Device_CreateSamplerState_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateQuery_Proxy(
+ ID3D11Device* This,
+ const D3D11_QUERY_DESC *pQueryDesc,
+ ID3D11Query **ppQuery);
+void __RPC_STUB ID3D11Device_CreateQuery_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreatePredicate_Proxy(
+ ID3D11Device* This,
+ const D3D11_QUERY_DESC *pPredicateDesc,
+ ID3D11Predicate **ppPredicate);
+void __RPC_STUB ID3D11Device_CreatePredicate_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateCounter_Proxy(
+ ID3D11Device* This,
+ const D3D11_COUNTER_DESC *pCounterDesc,
+ ID3D11Counter **ppCounter);
+void __RPC_STUB ID3D11Device_CreateCounter_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CreateDeferredContext_Proxy(
+ ID3D11Device* This,
+ UINT ContextFlags,
+ ID3D11DeviceContext **ppDeferredContext);
+void __RPC_STUB ID3D11Device_CreateDeferredContext_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_OpenSharedResource_Proxy(
+ ID3D11Device* This,
+ HANDLE hResource,
+ REFIID ReturnedInterface,
+ void **ppResource);
+void __RPC_STUB ID3D11Device_OpenSharedResource_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CheckFormatSupport_Proxy(
+ ID3D11Device* This,
+ DXGI_FORMAT Format,
+ UINT *pFormatSupport);
+void __RPC_STUB ID3D11Device_CheckFormatSupport_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CheckMultisampleQualityLevels_Proxy(
+ ID3D11Device* This,
+ DXGI_FORMAT Format,
+ UINT SampleCount,
+ UINT *pNumQualityLevels);
+void __RPC_STUB ID3D11Device_CheckMultisampleQualityLevels_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11Device_CheckCounterInfo_Proxy(
+ ID3D11Device* This,
+ D3D11_COUNTER_INFO *pCounterInfo);
+void __RPC_STUB ID3D11Device_CheckCounterInfo_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CheckCounter_Proxy(
+ ID3D11Device* This,
+ const D3D11_COUNTER_DESC *pDesc,
+ D3D11_COUNTER_TYPE *pType,
+ UINT *pActiveCounters,
+ LPSTR szName,
+ UINT *pNameLength,
+ LPSTR szUnits,
+ UINT *pUnitsLength,
+ LPSTR szDescription,
+ UINT *pDescriptionLength);
+void __RPC_STUB ID3D11Device_CheckCounter_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_CheckFeatureSupport_Proxy(
+ ID3D11Device* This,
+ D3D11_FEATURE Feature,
+ void *pFeatureSupportData,
+ UINT FeatureSupportDataSize);
+void __RPC_STUB ID3D11Device_CheckFeatureSupport_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_GetPrivateData_Proxy(
+ ID3D11Device* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+void __RPC_STUB ID3D11Device_GetPrivateData_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_SetPrivateData_Proxy(
+ ID3D11Device* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+void __RPC_STUB ID3D11Device_SetPrivateData_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_SetPrivateDataInterface_Proxy(
+ ID3D11Device* This,
+ REFGUID guid,
+ const IUnknown *pData);
+void __RPC_STUB ID3D11Device_SetPrivateDataInterface_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+D3D_FEATURE_LEVEL STDMETHODCALLTYPE ID3D11Device_GetFeatureLevel_Proxy(
+ ID3D11Device* This);
+void __RPC_STUB ID3D11Device_GetFeatureLevel_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+UINT STDMETHODCALLTYPE ID3D11Device_GetCreationFlags_Proxy(
+ ID3D11Device* This);
+void __RPC_STUB ID3D11Device_GetCreationFlags_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_GetDeviceRemovedReason_Proxy(
+ ID3D11Device* This);
+void __RPC_STUB ID3D11Device_GetDeviceRemovedReason_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+void STDMETHODCALLTYPE ID3D11Device_GetImmediateContext_Proxy(
+ ID3D11Device* This,
+ ID3D11DeviceContext **ppImmediateContext);
+void __RPC_STUB ID3D11Device_GetImmediateContext_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11Device_SetExceptionMode_Proxy(
+ ID3D11Device* This,
+ UINT RaiseFlags);
+void __RPC_STUB ID3D11Device_SetExceptionMode_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+UINT STDMETHODCALLTYPE ID3D11Device_GetExceptionMode_Proxy(
+ ID3D11Device* This);
+void __RPC_STUB ID3D11Device_GetExceptionMode_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11Device_INTERFACE_DEFINED__ */
+
+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;
+ __C89_NAMELESS union {
+ D3D11_TEX2D_VDOV Texture2D;
+ } __C89_NAMELESSUNIONNAME;
+} D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC;
+/*****************************************************************************
+ * ID3D11VideoDecoderOutputView interface
+ */
+#ifndef __ID3D11VideoDecoderOutputView_INTERFACE_DEFINED__
+#define __ID3D11VideoDecoderOutputView_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11VideoDecoderOutputView, 0xc2931aea, 0x2a85, 0x4f20, 0x86,0x0f, 0xfb,0xa1,0xfd,0x25,0x6e,0x18);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("c2931aea-2a85-4f20-860f-fba1fd256e18")
+ID3D11VideoDecoderOutputView : public ID3D11View
+{
+ virtual void STDMETHODCALLTYPE GetDesc(
+ D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11VideoDecoderOutputView, 0xc2931aea, 0x2a85, 0x4f20, 0x86,0x0f, 0xfb,0xa1,0xfd,0x25,0x6e,0x18)
+#endif
+#else
+typedef struct ID3D11VideoDecoderOutputViewVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11VideoDecoderOutputView* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11VideoDecoderOutputView* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11VideoDecoderOutputView* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11VideoDecoderOutputView* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11VideoDecoderOutputView* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11VideoDecoderOutputView* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11VideoDecoderOutputView* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11View methods ***/
+ void (STDMETHODCALLTYPE *GetResource)(
+ ID3D11VideoDecoderOutputView* This,
+ ID3D11Resource **ppResource);
+
+ /*** ID3D11VideoDecoderOutputView methods ***/
+ void (STDMETHODCALLTYPE *GetDesc)(
+ ID3D11VideoDecoderOutputView* This,
+ D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc);
+
+ END_INTERFACE
+} ID3D11VideoDecoderOutputViewVtbl;
+interface ID3D11VideoDecoderOutputView {
+ CONST_VTBL ID3D11VideoDecoderOutputViewVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11VideoDecoderOutputView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11VideoDecoderOutputView_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11VideoDecoderOutputView_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11VideoDecoderOutputView_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11VideoDecoderOutputView_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11VideoDecoderOutputView_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11VideoDecoderOutputView_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11View methods ***/
+#define ID3D11VideoDecoderOutputView_GetResource(This,ppResource) (This)->lpVtbl->GetResource(This,ppResource)
+/*** ID3D11VideoDecoderOutputView methods ***/
+#define ID3D11VideoDecoderOutputView_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11VideoDecoderOutputView_QueryInterface(ID3D11VideoDecoderOutputView* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11VideoDecoderOutputView_AddRef(ID3D11VideoDecoderOutputView* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11VideoDecoderOutputView_Release(ID3D11VideoDecoderOutputView* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11VideoDecoderOutputView_GetDevice(ID3D11VideoDecoderOutputView* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11VideoDecoderOutputView_GetPrivateData(ID3D11VideoDecoderOutputView* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11VideoDecoderOutputView_SetPrivateData(ID3D11VideoDecoderOutputView* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11VideoDecoderOutputView_SetPrivateDataInterface(ID3D11VideoDecoderOutputView* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11View methods ***/
+static FORCEINLINE void ID3D11VideoDecoderOutputView_GetResource(ID3D11VideoDecoderOutputView* This,ID3D11Resource **ppResource) {
+ This->lpVtbl->GetResource(This,ppResource);
+}
+/*** ID3D11VideoDecoderOutputView methods ***/
+static FORCEINLINE void ID3D11VideoDecoderOutputView_GetDesc(ID3D11VideoDecoderOutputView* This,D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc) {
+ This->lpVtbl->GetDesc(This,pDesc);
+}
+#endif
+#endif
+
+#endif
+
+void STDMETHODCALLTYPE ID3D11VideoDecoderOutputView_GetDesc_Proxy(
+ ID3D11VideoDecoderOutputView* This,
+ D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc);
+void __RPC_STUB ID3D11VideoDecoderOutputView_GetDesc_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11VideoDecoderOutputView_INTERFACE_DEFINED__ */
+
+/*****************************************************************************
+ * ID3D11VideoDecoder interface
+ */
+#ifndef __ID3D11VideoDecoder_INTERFACE_DEFINED__
+#define __ID3D11VideoDecoder_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11VideoDecoder, 0x3c9c5b51, 0x995d, 0x48d1, 0x9b,0x8d, 0xfa,0x5c,0xae,0xde,0xd6,0x5c);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("3c9c5b51-995d-48d1-9b8d-fa5caeded65c")
+ID3D11VideoDecoder : public ID3D11DeviceChild
+{
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11VideoDecoder, 0x3c9c5b51, 0x995d, 0x48d1, 0x9b,0x8d, 0xfa,0x5c,0xae,0xde,0xd6,0x5c)
+#endif
+#else
+typedef struct ID3D11VideoDecoderVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11VideoDecoder* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11VideoDecoder* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11VideoDecoder* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11VideoDecoder* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11VideoDecoder* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11VideoDecoder* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11VideoDecoder* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ END_INTERFACE
+} ID3D11VideoDecoderVtbl;
+interface ID3D11VideoDecoder {
+ CONST_VTBL ID3D11VideoDecoderVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11VideoDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11VideoDecoder_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11VideoDecoder_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11VideoDecoder_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11VideoDecoder_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11VideoDecoder_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11VideoDecoder_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11VideoDecoder_QueryInterface(ID3D11VideoDecoder* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11VideoDecoder_AddRef(ID3D11VideoDecoder* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11VideoDecoder_Release(ID3D11VideoDecoder* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11VideoDecoder_GetDevice(ID3D11VideoDecoder* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11VideoDecoder_GetPrivateData(ID3D11VideoDecoder* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11VideoDecoder_SetPrivateData(ID3D11VideoDecoder* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11VideoDecoder_SetPrivateDataInterface(ID3D11VideoDecoder* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif /* __ID3D11VideoDecoder_INTERFACE_DEFINED__ */
+
+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 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;
+ WINBOOL PartialEncryption;
+ D3D11_ENCRYPTED_BLOCK_INFO EncryptedBlockInfo;
+} D3D11_VIDEO_DECODER_BUFFER_DESC;
+/*****************************************************************************
+ * ID3D11VideoContext interface
+ */
+#ifndef __ID3D11VideoContext_INTERFACE_DEFINED__
+#define __ID3D11VideoContext_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11VideoContext, 0x61f21c45, 0x3c0e, 0x4a74, 0x9c,0xea, 0x67,0x10,0x0d,0x9a,0xd5,0xe4);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("61f21c45-3c0e-4a74-9cea-67100d9ad5e4")
+ID3D11VideoContext : public ID3D11DeviceChild
+{
+ virtual HRESULT STDMETHODCALLTYPE GetDecoderBuffer(
+ ID3D11VideoDecoder *pDecoder,
+ D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType,
+ UINT *pBufferSize,
+ void **ppBuffer) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReleaseDecoderBuffer(
+ ID3D11VideoDecoder *pDecoder,
+ D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DecoderBeginFrame(
+ ID3D11VideoDecoder *pDecoder,
+ ID3D11VideoDecoderOutputView *pVideoDecoderOutputView,
+ UINT ContentKeySize,
+ const void *pContentKey) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DecoderEndFrame(
+ ID3D11VideoDecoder *pDecoder) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SubmitDecoderBuffers(
+ ID3D11VideoDecoder *pDecoder,
+ UINT NumBuffers,
+ const D3D11_VIDEO_DECODER_BUFFER_DESC *pBufferDesc) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11VideoContext, 0x61f21c45, 0x3c0e, 0x4a74, 0x9c,0xea, 0x67,0x10,0x0d,0x9a,0xd5,0xe4)
+#endif
+#else
+typedef struct ID3D11VideoContextVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11VideoContext* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11VideoContext* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11VideoContext* This);
+
+ /*** ID3D11DeviceChild methods ***/
+ void (STDMETHODCALLTYPE *GetDevice)(
+ ID3D11VideoContext* This,
+ ID3D11Device **ppDevice);
+
+ HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
+ ID3D11VideoContext* This,
+ REFGUID guid,
+ UINT *pDataSize,
+ void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
+ ID3D11VideoContext* This,
+ REFGUID guid,
+ UINT DataSize,
+ const void *pData);
+
+ HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
+ ID3D11VideoContext* This,
+ REFGUID guid,
+ const IUnknown *pData);
+
+ /*** ID3D11VideoContext methods ***/
+ HRESULT (STDMETHODCALLTYPE *GetDecoderBuffer)(
+ ID3D11VideoContext* This,
+ ID3D11VideoDecoder *pDecoder,
+ D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType,
+ UINT *pBufferSize,
+ void **ppBuffer);
+
+ HRESULT (STDMETHODCALLTYPE *ReleaseDecoderBuffer)(
+ ID3D11VideoContext* This,
+ ID3D11VideoDecoder *pDecoder,
+ D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType);
+
+ HRESULT (STDMETHODCALLTYPE *DecoderBeginFrame)(
+ ID3D11VideoContext* This,
+ ID3D11VideoDecoder *pDecoder,
+ ID3D11VideoDecoderOutputView *pVideoDecoderOutputView,
+ UINT ContentKeySize,
+ const void *pContentKey);
+
+ HRESULT (STDMETHODCALLTYPE *DecoderEndFrame)(
+ ID3D11VideoContext* This,
+ ID3D11VideoDecoder *pDecoder);
+
+ HRESULT (STDMETHODCALLTYPE *SubmitDecoderBuffers)(
+ ID3D11VideoContext* This,
+ ID3D11VideoDecoder *pDecoder,
+ UINT NumBuffers,
+ const D3D11_VIDEO_DECODER_BUFFER_DESC *pBufferDesc);
+
+ END_INTERFACE
+} ID3D11VideoContextVtbl;
+interface ID3D11VideoContext {
+ CONST_VTBL ID3D11VideoContextVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11VideoContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11VideoContext_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11VideoContext_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11DeviceChild methods ***/
+#define ID3D11VideoContext_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
+#define ID3D11VideoContext_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
+#define ID3D11VideoContext_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
+#define ID3D11VideoContext_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
+/*** ID3D11VideoContext methods ***/
+#define ID3D11VideoContext_GetDecoderBuffer(This,pDecoder,BufferType,pBufferSize,ppBuffer) (This)->lpVtbl->GetDecoderBuffer(This,pDecoder,BufferType,pBufferSize,ppBuffer)
+#define ID3D11VideoContext_ReleaseDecoderBuffer(This,pDecoder,BufferType) (This)->lpVtbl->ReleaseDecoderBuffer(This,pDecoder,BufferType)
+#define ID3D11VideoContext_DecoderBeginFrame(This,pDecoder,pVideoDecoderOutputView,ContentKeySize,pContentKey) (This)->lpVtbl->DecoderBeginFrame(This,pDecoder,pVideoDecoderOutputView,ContentKeySize,pContentKey)
+#define ID3D11VideoContext_DecoderEndFrame(This,pDecoder) (This)->lpVtbl->DecoderEndFrame(This,pDecoder)
+#define ID3D11VideoContext_SubmitDecoderBuffers(This,pDecoder,NumBuffers,pBufferDesc) (This)->lpVtbl->SubmitDecoderBuffers(This,pDecoder,NumBuffers,pBufferDesc)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11VideoContext_QueryInterface(ID3D11VideoContext* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11VideoContext_AddRef(ID3D11VideoContext* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11VideoContext_Release(ID3D11VideoContext* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11DeviceChild methods ***/
+static FORCEINLINE void ID3D11VideoContext_GetDevice(ID3D11VideoContext* This,ID3D11Device **ppDevice) {
+ This->lpVtbl->GetDevice(This,ppDevice);
+}
+static FORCEINLINE HRESULT ID3D11VideoContext_GetPrivateData(ID3D11VideoContext* This,REFGUID guid,UINT *pDataSize,void *pData) {
+ return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11VideoContext_SetPrivateData(ID3D11VideoContext* This,REFGUID guid,UINT DataSize,const void *pData) {
+ return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
+}
+static FORCEINLINE HRESULT ID3D11VideoContext_SetPrivateDataInterface(ID3D11VideoContext* This,REFGUID guid,const IUnknown *pData) {
+ return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
+}
+/*** ID3D11VideoContext methods ***/
+static FORCEINLINE HRESULT ID3D11VideoContext_GetDecoderBuffer(ID3D11VideoContext* This,ID3D11VideoDecoder *pDecoder,D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType,UINT *pBufferSize,void **ppBuffer) {
+ return This->lpVtbl->GetDecoderBuffer(This,pDecoder,BufferType,pBufferSize,ppBuffer);
+}
+static FORCEINLINE HRESULT ID3D11VideoContext_ReleaseDecoderBuffer(ID3D11VideoContext* This,ID3D11VideoDecoder *pDecoder,D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType) {
+ return This->lpVtbl->ReleaseDecoderBuffer(This,pDecoder,BufferType);
+}
+static FORCEINLINE HRESULT ID3D11VideoContext_DecoderBeginFrame(ID3D11VideoContext* This,ID3D11VideoDecoder *pDecoder,ID3D11VideoDecoderOutputView *pVideoDecoderOutputView,UINT ContentKeySize,const void *pContentKey) {
+ return This->lpVtbl->DecoderBeginFrame(This,pDecoder,pVideoDecoderOutputView,ContentKeySize,pContentKey);
+}
+static FORCEINLINE HRESULT ID3D11VideoContext_DecoderEndFrame(ID3D11VideoContext* This,ID3D11VideoDecoder *pDecoder) {
+ return This->lpVtbl->DecoderEndFrame(This,pDecoder);
+}
+static FORCEINLINE HRESULT ID3D11VideoContext_SubmitDecoderBuffers(ID3D11VideoContext* This,ID3D11VideoDecoder *pDecoder,UINT NumBuffers,const D3D11_VIDEO_DECODER_BUFFER_DESC *pBufferDesc) {
+ return This->lpVtbl->SubmitDecoderBuffers(This,pDecoder,NumBuffers,pBufferDesc);
+}
+#endif
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE ID3D11VideoContext_GetDecoderBuffer_Proxy(
+ ID3D11VideoContext* This,
+ ID3D11VideoDecoder *pDecoder,
+ D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType,
+ UINT *pBufferSize,
+ void **ppBuffer);
+void __RPC_STUB ID3D11VideoContext_GetDecoderBuffer_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11VideoContext_ReleaseDecoderBuffer_Proxy(
+ ID3D11VideoContext* This,
+ ID3D11VideoDecoder *pDecoder,
+ D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType);
+void __RPC_STUB ID3D11VideoContext_ReleaseDecoderBuffer_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11VideoContext_DecoderBeginFrame_Proxy(
+ ID3D11VideoContext* This,
+ ID3D11VideoDecoder *pDecoder,
+ ID3D11VideoDecoderOutputView *pVideoDecoderOutputView,
+ UINT ContentKeySize,
+ const void *pContentKey);
+void __RPC_STUB ID3D11VideoContext_DecoderBeginFrame_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11VideoContext_DecoderEndFrame_Proxy(
+ ID3D11VideoContext* This,
+ ID3D11VideoDecoder *pDecoder);
+void __RPC_STUB ID3D11VideoContext_DecoderEndFrame_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11VideoContext_SubmitDecoderBuffers_Proxy(
+ ID3D11VideoContext* This,
+ ID3D11VideoDecoder *pDecoder,
+ UINT NumBuffers,
+ const D3D11_VIDEO_DECODER_BUFFER_DESC *pBufferDesc);
+void __RPC_STUB ID3D11VideoContext_SubmitDecoderBuffers_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11VideoContext_INTERFACE_DEFINED__ */
+
+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_AUTHENTICATED_CHANNEL_TYPE {
+ D3D11_AUTHENTICATED_CHANNEL_D3D11 = 1,
+ D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE = 2,
+ D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE = 3
+} D3D11_AUTHENTICATED_CHANNEL_TYPE;
+#ifndef __ID3D11VideoProcessorEnumerator_FWD_DEFINED__
+#define __ID3D11VideoProcessorEnumerator_FWD_DEFINED__
+typedef interface ID3D11VideoProcessorEnumerator ID3D11VideoProcessorEnumerator;
+#endif
+
+#ifndef __ID3D11VideoProcessor_FWD_DEFINED__
+#define __ID3D11VideoProcessor_FWD_DEFINED__
+typedef interface ID3D11VideoProcessor ID3D11VideoProcessor;
+#endif
+
+#ifndef __ID3D11VideoProcessorInputView_FWD_DEFINED__
+#define __ID3D11VideoProcessorInputView_FWD_DEFINED__
+typedef interface ID3D11VideoProcessorInputView ID3D11VideoProcessorInputView;
+#endif
+
+#ifndef __ID3D11VideoProcessorOutputView_FWD_DEFINED__
+#define __ID3D11VideoProcessorOutputView_FWD_DEFINED__
+typedef interface ID3D11VideoProcessorOutputView ID3D11VideoProcessorOutputView;
+#endif
+
+#ifndef __ID3D11AuthenticatedChannel_FWD_DEFINED__
+#define __ID3D11AuthenticatedChannel_FWD_DEFINED__
+typedef interface ID3D11AuthenticatedChannel ID3D11AuthenticatedChannel;
+#endif
+
+#ifndef __ID3D11CryptoSession_FWD_DEFINED__
+#define __ID3D11CryptoSession_FWD_DEFINED__
+typedef interface ID3D11CryptoSession ID3D11CryptoSession;
+#endif
+
+/*****************************************************************************
+ * ID3D11VideoDevice interface
+ */
+#ifndef __ID3D11VideoDevice_INTERFACE_DEFINED__
+#define __ID3D11VideoDevice_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_ID3D11VideoDevice, 0x10ec4d5b, 0x975a, 0x4689, 0xb9,0xe4, 0xd0,0xaa,0xc3,0x0f,0xe3,0x33);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("10ec4d5b-975a-4689-b9e4-d0aac30fe333")
+ID3D11VideoDevice : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoder(
+ const D3D11_VIDEO_DECODER_DESC *pVideoDesc,
+ const D3D11_VIDEO_DECODER_CONFIG *pConfig,
+ ID3D11VideoDecoder **ppVideoDecoder) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessor(
+ ID3D11VideoProcessorEnumerator *ppProcEnumerator,
+ UINT RateConversionIndex,
+ ID3D11VideoProcessor **ppVideoProcessor) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateAuthenticatedChannel(
+ D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,
+ ID3D11AuthenticatedChannel **ppAuthenticatedChannel) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateCryptoSession(
+ const GUID *pCryptoType,
+ const GUID *pDecoderProfile,
+ const GUID *pKeyExchangeType,
+ ID3D11CryptoSession **ppCryptoSession) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoderOutputView(
+ ID3D11Resource *pResource,
+ const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,
+ ID3D11VideoDecoderOutputView **ppVideoDecoderOutputView) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessorInputView(
+ ID3D11Resource *pResource,
+ ID3D11VideoProcessorEnumerator *ppProcEnumerator,
+ const void *pInputDesc,
+ ID3D11VideoProcessorInputView **ppVideoProcInputView) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessorOutputView(
+ ID3D11Resource *pResource,
+ ID3D11VideoProcessorEnumerator *pEnumerator,
+ const void *pOutputDesc,
+ ID3D11VideoProcessorOutputView **ppVideoProcOutputView) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessorEnumerator(
+ const void *pContentDesc,
+ ID3D11VideoProcessorEnumerator **ppProcEnumerator) = 0;
+
+ virtual UINT STDMETHODCALLTYPE GetVideoDecoderProfileCount(
+ ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetVideoDecoderProfile(
+ UINT Index,
+ GUID *pDecoderProfile) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CheckVideoDecoderFormat(
+ const GUID *pDecoderProfile,
+ DXGI_FORMAT Format,
+ WINBOOL *pSupported) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetVideoDecoderConfigCount(
+ const D3D11_VIDEO_DECODER_DESC *pDesc,
+ UINT *pCount) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetVideoDecoderConfig(
+ const D3D11_VIDEO_DECODER_DESC *pDesc,
+ UINT DecoderIndex,
+ D3D11_VIDEO_DECODER_CONFIG *pConfig) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(ID3D11VideoDevice, 0x10ec4d5b, 0x975a, 0x4689, 0xb9,0xe4, 0xd0,0xaa,0xc3,0x0f,0xe3,0x33)
+#endif
+#else
+typedef struct ID3D11VideoDeviceVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ ID3D11VideoDevice* This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ ID3D11VideoDevice* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ ID3D11VideoDevice* This);
+
+ /*** ID3D11VideoDevice methods ***/
+ HRESULT (STDMETHODCALLTYPE *CreateVideoDecoder)(
+ ID3D11VideoDevice* This,
+ const D3D11_VIDEO_DECODER_DESC *pVideoDesc,
+ const D3D11_VIDEO_DECODER_CONFIG *pConfig,
+ ID3D11VideoDecoder **ppVideoDecoder);
+
+ HRESULT (STDMETHODCALLTYPE *CreateVideoProcessor)(
+ ID3D11VideoDevice* This,
+ ID3D11VideoProcessorEnumerator *ppProcEnumerator,
+ UINT RateConversionIndex,
+ ID3D11VideoProcessor **ppVideoProcessor);
+
+ HRESULT (STDMETHODCALLTYPE *CreateAuthenticatedChannel)(
+ ID3D11VideoDevice* This,
+ D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,
+ ID3D11AuthenticatedChannel **ppAuthenticatedChannel);
+
+ HRESULT (STDMETHODCALLTYPE *CreateCryptoSession)(
+ ID3D11VideoDevice* This,
+ const GUID *pCryptoType,
+ const GUID *pDecoderProfile,
+ const GUID *pKeyExchangeType,
+ ID3D11CryptoSession **ppCryptoSession);
+
+ HRESULT (STDMETHODCALLTYPE *CreateVideoDecoderOutputView)(
+ ID3D11VideoDevice* This,
+ ID3D11Resource *pResource,
+ const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,
+ ID3D11VideoDecoderOutputView **ppVideoDecoderOutputView);
+
+ HRESULT (STDMETHODCALLTYPE *CreateVideoProcessorInputView)(
+ ID3D11VideoDevice* This,
+ ID3D11Resource *pResource,
+ ID3D11VideoProcessorEnumerator *ppProcEnumerator,
+ const void *pInputDesc,
+ ID3D11VideoProcessorInputView **ppVideoProcInputView);
+
+ HRESULT (STDMETHODCALLTYPE *CreateVideoProcessorOutputView)(
+ ID3D11VideoDevice* This,
+ ID3D11Resource *pResource,
+ ID3D11VideoProcessorEnumerator *pEnumerator,
+ const void *pOutputDesc,
+ ID3D11VideoProcessorOutputView **ppVideoProcOutputView);
+
+ HRESULT (STDMETHODCALLTYPE *CreateVideoProcessorEnumerator)(
+ ID3D11VideoDevice* This,
+ const void *pContentDesc,
+ ID3D11VideoProcessorEnumerator **ppProcEnumerator);
+
+ UINT (STDMETHODCALLTYPE *GetVideoDecoderProfileCount)(
+ ID3D11VideoDevice* This);
+
+ HRESULT (STDMETHODCALLTYPE *GetVideoDecoderProfile)(
+ ID3D11VideoDevice* This,
+ UINT Index,
+ GUID *pDecoderProfile);
+
+ HRESULT (STDMETHODCALLTYPE *CheckVideoDecoderFormat)(
+ ID3D11VideoDevice* This,
+ const GUID *pDecoderProfile,
+ DXGI_FORMAT Format,
+ WINBOOL *pSupported);
+
+ HRESULT (STDMETHODCALLTYPE *GetVideoDecoderConfigCount)(
+ ID3D11VideoDevice* This,
+ const D3D11_VIDEO_DECODER_DESC *pDesc,
+ UINT *pCount);
+
+ HRESULT (STDMETHODCALLTYPE *GetVideoDecoderConfig)(
+ ID3D11VideoDevice* This,
+ const D3D11_VIDEO_DECODER_DESC *pDesc,
+ UINT DecoderIndex,
+ D3D11_VIDEO_DECODER_CONFIG *pConfig);
+
+ END_INTERFACE
+} ID3D11VideoDeviceVtbl;
+interface ID3D11VideoDevice {
+ CONST_VTBL ID3D11VideoDeviceVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define ID3D11VideoDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define ID3D11VideoDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define ID3D11VideoDevice_Release(This) (This)->lpVtbl->Release(This)
+/*** ID3D11VideoDevice methods ***/
+#define ID3D11VideoDevice_CreateVideoDecoder(This,pVideoDesc,pConfig,ppVideoDecoder) (This)->lpVtbl->CreateVideoDecoder(This,pVideoDesc,pConfig,ppVideoDecoder)
+#define ID3D11VideoDevice_CreateVideoProcessor(This,ppProcEnumerator,RateConversionIndex,ppVideoProcessor) (This)->lpVtbl->CreateVideoProcessor(This,ppProcEnumerator,RateConversionIndex,ppVideoProcessor)
+#define ID3D11VideoDevice_CreateAuthenticatedChannel(This,ChannelType,ppAuthenticatedChannel) (This)->lpVtbl->CreateAuthenticatedChannel(This,ChannelType,ppAuthenticatedChannel)
+#define ID3D11VideoDevice_CreateCryptoSession(This,pCryptoType,pDecoderProfile,pKeyExchangeType,ppCryptoSession) (This)->lpVtbl->CreateCryptoSession(This,pCryptoType,pDecoderProfile,pKeyExchangeType,ppCryptoSession)
+#define ID3D11VideoDevice_CreateVideoDecoderOutputView(This,pResource,pDesc,ppVideoDecoderOutputView) (This)->lpVtbl->CreateVideoDecoderOutputView(This,pResource,pDesc,ppVideoDecoderOutputView)
+#define ID3D11VideoDevice_CreateVideoProcessorInputView(This,pResource,ppProcEnumerator,pInputDesc,ppVideoProcInputView) (This)->lpVtbl->CreateVideoProcessorInputView(This,pResource,ppProcEnumerator,pInputDesc,ppVideoProcInputView)
+#define ID3D11VideoDevice_CreateVideoProcessorOutputView(This,pResource,pEnumerator,pOutputDesc,ppVideoProcOutputView) (This)->lpVtbl->CreateVideoProcessorOutputView(This,pResource,pEnumerator,pOutputDesc,ppVideoProcOutputView)
+#define ID3D11VideoDevice_CreateVideoProcessorEnumerator(This,pContentDesc,ppProcEnumerator) (This)->lpVtbl->CreateVideoProcessorEnumerator(This,pContentDesc,ppProcEnumerator)
+#define ID3D11VideoDevice_GetVideoDecoderProfileCount(This) (This)->lpVtbl->GetVideoDecoderProfileCount(This)
+#define ID3D11VideoDevice_GetVideoDecoderProfile(This,Index,pDecoderProfile) (This)->lpVtbl->GetVideoDecoderProfile(This,Index,pDecoderProfile)
+#define ID3D11VideoDevice_CheckVideoDecoderFormat(This,pDecoderProfile,Format,pSupported) (This)->lpVtbl->CheckVideoDecoderFormat(This,pDecoderProfile,Format,pSupported)
+#define ID3D11VideoDevice_GetVideoDecoderConfigCount(This,pDesc,pCount) (This)->lpVtbl->GetVideoDecoderConfigCount(This,pDesc,pCount)
+#define ID3D11VideoDevice_GetVideoDecoderConfig(This,pDesc,DecoderIndex,pConfig) (This)->lpVtbl->GetVideoDecoderConfig(This,pDesc,DecoderIndex,pConfig)
+#else
+/*** IUnknown methods ***/
+static FORCEINLINE HRESULT ID3D11VideoDevice_QueryInterface(ID3D11VideoDevice* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static FORCEINLINE ULONG ID3D11VideoDevice_AddRef(ID3D11VideoDevice* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static FORCEINLINE ULONG ID3D11VideoDevice_Release(ID3D11VideoDevice* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** ID3D11VideoDevice methods ***/
+static FORCEINLINE HRESULT ID3D11VideoDevice_CreateVideoDecoder(ID3D11VideoDevice* This,const D3D11_VIDEO_DECODER_DESC *pVideoDesc,const D3D11_VIDEO_DECODER_CONFIG *pConfig,ID3D11VideoDecoder **ppVideoDecoder) {
+ return This->lpVtbl->CreateVideoDecoder(This,pVideoDesc,pConfig,ppVideoDecoder);
+}
+static FORCEINLINE HRESULT ID3D11VideoDevice_CreateVideoProcessor(ID3D11VideoDevice* This,ID3D11VideoProcessorEnumerator *ppProcEnumerator,UINT RateConversionIndex,ID3D11VideoProcessor **ppVideoProcessor) {
+ return This->lpVtbl->CreateVideoProcessor(This,ppProcEnumerator,RateConversionIndex,ppVideoProcessor);
+}
+static FORCEINLINE HRESULT ID3D11VideoDevice_CreateAuthenticatedChannel(ID3D11VideoDevice* This,D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,ID3D11AuthenticatedChannel **ppAuthenticatedChannel) {
+ return This->lpVtbl->CreateAuthenticatedChannel(This,ChannelType,ppAuthenticatedChannel);
+}
+static FORCEINLINE HRESULT ID3D11VideoDevice_CreateCryptoSession(ID3D11VideoDevice* This,const GUID *pCryptoType,const GUID *pDecoderProfile,const GUID *pKeyExchangeType,ID3D11CryptoSession **ppCryptoSession) {
+ return This->lpVtbl->CreateCryptoSession(This,pCryptoType,pDecoderProfile,pKeyExchangeType,ppCryptoSession);
+}
+static FORCEINLINE HRESULT ID3D11VideoDevice_CreateVideoDecoderOutputView(ID3D11VideoDevice* This,ID3D11Resource *pResource,const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,ID3D11VideoDecoderOutputView **ppVideoDecoderOutputView) {
+ return This->lpVtbl->CreateVideoDecoderOutputView(This,pResource,pDesc,ppVideoDecoderOutputView);
+}
+static FORCEINLINE HRESULT ID3D11VideoDevice_CreateVideoProcessorInputView(ID3D11VideoDevice* This,ID3D11Resource *pResource,ID3D11VideoProcessorEnumerator *ppProcEnumerator,const void *pInputDesc,ID3D11VideoProcessorInputView **ppVideoProcInputView) {
+ return This->lpVtbl->CreateVideoProcessorInputView(This,pResource,ppProcEnumerator,pInputDesc,ppVideoProcInputView);
+}
+static FORCEINLINE HRESULT ID3D11VideoDevice_CreateVideoProcessorOutputView(ID3D11VideoDevice* This,ID3D11Resource *pResource,ID3D11VideoProcessorEnumerator *pEnumerator,const void *pOutputDesc,ID3D11VideoProcessorOutputView **ppVideoProcOutputView) {
+ return This->lpVtbl->CreateVideoProcessorOutputView(This,pResource,pEnumerator,pOutputDesc,ppVideoProcOutputView);
+}
+static FORCEINLINE HRESULT ID3D11VideoDevice_CreateVideoProcessorEnumerator(ID3D11VideoDevice* This,const void *pContentDesc,ID3D11VideoProcessorEnumerator **ppProcEnumerator) {
+ return This->lpVtbl->CreateVideoProcessorEnumerator(This,pContentDesc,ppProcEnumerator);
+}
+static FORCEINLINE UINT ID3D11VideoDevice_GetVideoDecoderProfileCount(ID3D11VideoDevice* This) {
+ return This->lpVtbl->GetVideoDecoderProfileCount(This);
+}
+static FORCEINLINE HRESULT ID3D11VideoDevice_GetVideoDecoderProfile(ID3D11VideoDevice* This,UINT Index,GUID *pDecoderProfile) {
+ return This->lpVtbl->GetVideoDecoderProfile(This,Index,pDecoderProfile);
+}
+static FORCEINLINE HRESULT ID3D11VideoDevice_CheckVideoDecoderFormat(ID3D11VideoDevice* This,const GUID *pDecoderProfile,DXGI_FORMAT Format,WINBOOL *pSupported) {
+ return This->lpVtbl->CheckVideoDecoderFormat(This,pDecoderProfile,Format,pSupported);
+}
+static FORCEINLINE HRESULT ID3D11VideoDevice_GetVideoDecoderConfigCount(ID3D11VideoDevice* This,const D3D11_VIDEO_DECODER_DESC *pDesc,UINT *pCount) {
+ return This->lpVtbl->GetVideoDecoderConfigCount(This,pDesc,pCount);
+}
+static FORCEINLINE HRESULT ID3D11VideoDevice_GetVideoDecoderConfig(ID3D11VideoDevice* This,const D3D11_VIDEO_DECODER_DESC *pDesc,UINT DecoderIndex,D3D11_VIDEO_DECODER_CONFIG *pConfig) {
+ return This->lpVtbl->GetVideoDecoderConfig(This,pDesc,DecoderIndex,pConfig);
+}
+#endif
+#endif
+
+#endif
+
+HRESULT STDMETHODCALLTYPE ID3D11VideoDevice_CreateVideoDecoder_Proxy(
+ ID3D11VideoDevice* This,
+ const D3D11_VIDEO_DECODER_DESC *pVideoDesc,
+ const D3D11_VIDEO_DECODER_CONFIG *pConfig,
+ ID3D11VideoDecoder **ppVideoDecoder);
+void __RPC_STUB ID3D11VideoDevice_CreateVideoDecoder_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11VideoDevice_CreateVideoProcessor_Proxy(
+ ID3D11VideoDevice* This,
+ ID3D11VideoProcessorEnumerator *ppProcEnumerator,
+ UINT RateConversionIndex,
+ ID3D11VideoProcessor **ppVideoProcessor);
+void __RPC_STUB ID3D11VideoDevice_CreateVideoProcessor_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11VideoDevice_CreateAuthenticatedChannel_Proxy(
+ ID3D11VideoDevice* This,
+ D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,
+ ID3D11AuthenticatedChannel **ppAuthenticatedChannel);
+void __RPC_STUB ID3D11VideoDevice_CreateAuthenticatedChannel_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11VideoDevice_CreateCryptoSession_Proxy(
+ ID3D11VideoDevice* This,
+ const GUID *pCryptoType,
+ const GUID *pDecoderProfile,
+ const GUID *pKeyExchangeType,
+ ID3D11CryptoSession **ppCryptoSession);
+void __RPC_STUB ID3D11VideoDevice_CreateCryptoSession_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11VideoDevice_CreateVideoDecoderOutputView_Proxy(
+ ID3D11VideoDevice* This,
+ ID3D11Resource *pResource,
+ const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,
+ ID3D11VideoDecoderOutputView **ppVideoDecoderOutputView);
+void __RPC_STUB ID3D11VideoDevice_CreateVideoDecoderOutputView_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11VideoDevice_CreateVideoProcessorInputView_Proxy(
+ ID3D11VideoDevice* This,
+ ID3D11Resource *pResource,
+ ID3D11VideoProcessorEnumerator *ppProcEnumerator,
+ const void *pInputDesc,
+ ID3D11VideoProcessorInputView **ppVideoProcInputView);
+void __RPC_STUB ID3D11VideoDevice_CreateVideoProcessorInputView_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11VideoDevice_CreateVideoProcessorOutputView_Proxy(
+ ID3D11VideoDevice* This,
+ ID3D11Resource *pResource,
+ ID3D11VideoProcessorEnumerator *pEnumerator,
+ const void *pOutputDesc,
+ ID3D11VideoProcessorOutputView **ppVideoProcOutputView);
+void __RPC_STUB ID3D11VideoDevice_CreateVideoProcessorOutputView_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11VideoDevice_CreateVideoProcessorEnumerator_Proxy(
+ ID3D11VideoDevice* This,
+ const void *pContentDesc,
+ ID3D11VideoProcessorEnumerator **ppProcEnumerator);
+void __RPC_STUB ID3D11VideoDevice_CreateVideoProcessorEnumerator_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+UINT STDMETHODCALLTYPE ID3D11VideoDevice_GetVideoDecoderProfileCount_Proxy(
+ ID3D11VideoDevice* This);
+void __RPC_STUB ID3D11VideoDevice_GetVideoDecoderProfileCount_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11VideoDevice_GetVideoDecoderProfile_Proxy(
+ ID3D11VideoDevice* This,
+ UINT Index,
+ GUID *pDecoderProfile);
+void __RPC_STUB ID3D11VideoDevice_GetVideoDecoderProfile_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11VideoDevice_CheckVideoDecoderFormat_Proxy(
+ ID3D11VideoDevice* This,
+ const GUID *pDecoderProfile,
+ DXGI_FORMAT Format,
+ WINBOOL *pSupported);
+void __RPC_STUB ID3D11VideoDevice_CheckVideoDecoderFormat_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11VideoDevice_GetVideoDecoderConfigCount_Proxy(
+ ID3D11VideoDevice* This,
+ const D3D11_VIDEO_DECODER_DESC *pDesc,
+ UINT *pCount);
+void __RPC_STUB ID3D11VideoDevice_GetVideoDecoderConfigCount_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT STDMETHODCALLTYPE ID3D11VideoDevice_GetVideoDecoderConfig_Proxy(
+ ID3D11VideoDevice* This,
+ const D3D11_VIDEO_DECODER_DESC *pDesc,
+ UINT DecoderIndex,
+ D3D11_VIDEO_DECODER_CONFIG *pConfig);
+void __RPC_STUB ID3D11VideoDevice_GetVideoDecoderConfig_Stub(
+ IRpcStubBuffer* This,
+ IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __ID3D11VideoDevice_INTERFACE_DEFINED__ */
+
+typedef enum D3D11_CREATE_DEVICE_FLAG {
+ D3D11_CREATE_DEVICE_SINGLETHREADED = 0x1,
+ D3D11_CREATE_DEVICE_DEBUG = 0x2,
+ D3D11_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
+ D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8,
+ D3D11_CREATE_DEVICE_BGRA_SUPPORT = 0x20,
+ D3D11_CREATE_DEVICE_DEBUGGABLE = 0x40,
+ D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x80,
+ D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT = 0x100,
+ D3D11_CREATE_DEVICE_VIDEO_SUPPORT = 0x800
+} D3D11_CREATE_DEVICE_FLAG;
+#define D3D11_SDK_VERSION (7)
+
+#include <d3d10_1.h>
+#ifndef D3D11_IGNORE_SDK_LAYERS
+//# include <d3d11sdklayers.h>
+#endif
+#include <d3d10misc.h>
+#include <d3d10shader.h>
+#include <d3d10effect.h>
+#include <d3d10_1shader.h>
+typedef HRESULT (WINAPI* PFN_D3D11_CREATE_DEVICE)(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,
+ const D3D_FEATURE_LEVEL*,UINT,UINT,ID3D11Device**,D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);
+HRESULT WINAPI D3D11CreateDevice(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,const D3D_FEATURE_LEVEL*,
+ UINT,UINT,ID3D11Device**,D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);
+typedef HRESULT (WINAPI *PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN)(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,
+ const D3D_FEATURE_LEVEL*,UINT,UINT,const DXGI_SWAP_CHAIN_DESC*,IDXGISwapChain**,ID3D11Device**,
+ D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);
+/* Begin additional prototypes for all interfaces */
+
+
+/* End additional prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __d3d11_h__ */
diff --git a/contrib/src/d3d11/rules.mak b/contrib/src/d3d11/rules.mak
new file mode 100644
index 0000000..cc9eb00
--- /dev/null
+++ b/contrib/src/d3d11/rules.mak
@@ -0,0 +1,9 @@
+# Direct3D11 temporary include
+
+DST_FILE = $(TOPDST)/$(HOST)/include/d3d11.h
+
+$(DST_FILE):
+ -cp $(SRC)/d3d11/d3d11.h $@
+
+.d3d11: $(DST_FILE)
+ -touch $@
diff --git a/contrib/src/ffmpeg/rules.mak b/contrib/src/ffmpeg/rules.mak
index 30e51d6..71033b5 100644
--- a/contrib/src/ffmpeg/rules.mak
+++ b/contrib/src/ffmpeg/rules.mak
@@ -140,7 +140,7 @@ ifndef HAVE_MINGW_W64
DEPS_ffmpeg += directx
endif
FFMPEGCONF += --target-os=mingw32 --enable-memalign-hack
-FFMPEGCONF += --enable-w32threads --enable-dxva2
+FFMPEGCONF += --enable-w32threads --enable-dxva2 --enable-d3d11va
ifdef HAVE_WIN64
FFMPEGCONF += --cpu=athlon64 --arch=x86_64
diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am
index 0105a0f..61256eb 100644
--- a/modules/codec/Makefile.am
+++ b/modules/codec/Makefile.am
@@ -351,6 +351,14 @@ if HAVE_AVCODEC_DXVA2
codec_LTLIBRARIES += libdxva2_plugin.la
endif
+libd3d11va_plugin_la_SOURCES = \
+ codec/avcodec/d3d11va.c packetizer/h264_nal.c packetizer/h264_nal.h \
+ video_chroma/copy.c video_chroma/copy.h
+libd3d11va_plugin_la_LIBADD = -lole32 -luuid
+if HAVE_AVCODEC_D3D11VA
+codec_LTLIBRARIES += libd3d11va_plugin.la
+endif
+
libvda_plugin_la_SOURCES = \
video_chroma/copy.c video_chroma/copy.h \
codec/avcodec/vda.c
diff --git a/modules/codec/avcodec/d3d11va.c b/modules/codec/avcodec/d3d11va.c
new file mode 100644
index 0000000..f7f0cf5
--- /dev/null
+++ b/modules/codec/avcodec/d3d11va.c
@@ -0,0 +1,1389 @@
+/*****************************************************************************
+ * d3d11va.c: Direct3D11 Video Acceleration helpers
+ *****************************************************************************
+ * Copyright (C) 2009 Geoffroy Couprie
+ * Copyright (C) 2009 Laurent Aimar
+ * Copyright (C) 2015 Steve Lhomme
+ * $Id$
+ *
+ * Authors: Geoffroy Couprie <geal at videolan.org>
+ * Laurent Aimar <fenrir _AT_ videolan _DOT_ org>
+ * Steve Lhomme <robux4 at gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
+/**
+ * See https://msdn.microsoft.com/en-us/library/windows/desktop/hh162912%28v=vs.85%29.aspx
+ **/
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+# if _WIN32_WINNT < 0x600
+/* d3d11 needs Vista support */
+# undef _WIN32_WINNT
+# define _WIN32_WINNT 0x600
+# endif
+
+#include <assert.h>
+
+#include <vlc_common.h>
+#include <vlc_picture.h>
+#include <vlc_fourcc.h>
+#include <vlc_plugin.h>
+#include <vlc_codecs.h>
+#include <vlc_charset.h>
+
+#include <libavcodec/avcodec.h>
+# define COBJMACROS
+# include <libavcodec/d3d11va.h>
+
+#include "avcodec.h"
+#include "va.h"
+#include "../../packetizer/h264_nal.h"
+#include "../../video_chroma/copy.h"
+
+static int Open(vlc_va_t *, AVCodecContext *, enum PixelFormat,
+ const es_format_t *, picture_sys_t *p_sys);
+static void Close(vlc_va_t *, AVCodecContext *);
+
+vlc_module_begin()
+ set_description(N_("Direct3D11 Video Acceleration"))
+ set_capability("hw decoder", 0)
+ set_category(CAT_INPUT)
+ set_subcategory(SUBCAT_INPUT_VCODEC)
+ set_callbacks(Open, Close)
+vlc_module_end()
+
+#include <windows.h>
+#include <windowsx.h>
+#include <ole2.h>
+#include <commctrl.h>
+#include <d3d11.h>
+
+#include <initguid.h> /* must be last included to not redefine existing GUIDs */
+
+/* dxva2api.h GUIDs: http://msdn.microsoft.com/en-us/library/windows/desktop/ms697067(v=vs100).aspx
+ * assume that they are declared in dxva2api.h */
+#define MS_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
+
+#ifdef __MINGW32__
+# include <_mingw.h>
+
+# if !defined(__MINGW64_VERSION_MAJOR)
+# undef MS_GUID
+# define MS_GUID DEFINE_GUID /* dxva2api.h fails to declare those, redefine as static */
+# define DXVA2_E_NEW_VIDEO_DEVICE MAKE_HRESULT(1, 4, 4097)
+# else
+# include <dxva.h>
+# endif
+#include <d3d10.h>
+
+#endif /* __MINGW32__ */
+
+MS_GUID (DXVA_NoEncrypt, 0x1b81bed0, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5);
+
+DEFINE_GUID(IID_ID3D11VideoDevice, 0x10EC4D5B, 0x975A, 0x4689, 0xB9, 0xE4, 0xD0, 0xAA, 0xC3, 0x0F, 0xE3, 0x33);
+DEFINE_GUID(IID_ID3D11VideoContext, 0x61F21C45, 0x3C0E, 0x4a74, 0x9C, 0xEA, 0x67, 0x10, 0x0D, 0x9A, 0xD5, 0xE4);
+DEFINE_GUID(IID_IDXGIDevice, 0x54ec77fa, 0x1377, 0x44e6, 0x8c, 0x32, 0x88, 0xfd, 0x5f, 0x44, 0xc8, 0x4c);
+DEFINE_GUID(IID_ID3D10Multithread, 0x9b7e4e00, 0x342c, 0x4106, 0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0);
+#ifndef NDEBUG
+#ifndef __IDXGIDebug_FWD_DEFINED__
+#define __IDXGIDebug_FWD_DEFINED__
+typedef interface IDXGIDebug IDXGIDebug;
+
+#endif /* __IDXGIDebug_FWD_DEFINED__ */
+
+DEFINE_GUID(DXGI_DEBUG_ALL, 0xe48ae283, 0xda80, 0x490b, 0x87, 0xe6, 0x43, 0xe9, 0xa9, 0xcf, 0xda, 0x8);
+DEFINE_GUID(DXGI_DEBUG_DX, 0x35cdd7fc, 0x13b2, 0x421d, 0xa5, 0xd7, 0x7e, 0x44, 0x51, 0x28, 0x7d, 0x64);
+DEFINE_GUID(DXGI_DEBUG_DXGI, 0x25cddaa4, 0xb1c6, 0x47e1, 0xac, 0x3e, 0x98, 0x87, 0x5b, 0x5a, 0x2e, 0x2a);
+DEFINE_GUID(DXGI_DEBUG_APP, 0x6cd6e01, 0x4219, 0x4ebd, 0x87, 0x9, 0x27, 0xed, 0x23, 0x36, 0xc, 0x62);
+
+typedef
+enum DXGI_DEBUG_RLO_FLAGS
+ {
+ DXGI_DEBUG_RLO_SUMMARY = 0x1,
+ DXGI_DEBUG_RLO_DETAIL = 0x2,
+ DXGI_DEBUG_RLO_ALL = 0x3
+ } DXGI_DEBUG_RLO_FLAGS;
+
+#ifndef __IDXGIDebug_INTERFACE_DEFINED__
+#define __IDXGIDebug_INTERFACE_DEFINED__
+
+/* interface IDXGIDebug */
+/* [unique][local][object][uuid] */
+
+
+EXTERN_C const IID IID_IDXGIDebug;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("119E7452-DE9E-40fe-8806-88F90C12B441")
+ IDXGIDebug : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE ReportLiveObjects(
+ GUID apiid,
+ DXGI_DEBUG_RLO_FLAGS flags) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDXGIDebugVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDXGIDebug * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDXGIDebug * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDXGIDebug * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ReportLiveObjects )(
+ IDXGIDebug * This,
+ GUID apiid,
+ DXGI_DEBUG_RLO_FLAGS flags);
+
+ END_INTERFACE
+ } IDXGIDebugVtbl;
+
+ interface IDXGIDebug
+ {
+ CONST_VTBL struct IDXGIDebugVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDXGIDebug_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDXGIDebug_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDXGIDebug_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDXGIDebug_ReportLiveObjects(This,apiid,flags) \
+ ( (This)->lpVtbl -> ReportLiveObjects(This,apiid,flags) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDXGIDebug_INTERFACE_DEFINED__ */
+
+DEFINE_GUID(IID_IDXGIDebug,0x119E7452,0xDE9E,0x40fe,0x88,0x06,0x88,0xF9,0x0C,0x12,0xB4,0x41);
+
+#ifndef __ID3D11Debug_FWD_DEFINED__
+#define __ID3D11Debug_FWD_DEFINED__
+typedef interface ID3D11Debug ID3D11Debug;
+
+#endif /* __ID3D11Debug_FWD_DEFINED__ */
+
+typedef
+enum D3D11_RLDO_FLAGS
+ {
+ D3D11_RLDO_SUMMARY = 0x1,
+ D3D11_RLDO_DETAIL = 0x2
+ } D3D11_RLDO_FLAGS;
+
+#ifndef __ID3D11Debug_INTERFACE_DEFINED__
+#define __ID3D11Debug_INTERFACE_DEFINED__
+
+/* interface ID3D11Debug */
+/* [unique][local][object][uuid] */
+
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("79cf2233-7536-4948-9d36-1e4692dc5760")
+ ID3D11Debug : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetFeatureMask(
+ UINT Mask) = 0;
+
+ virtual UINT STDMETHODCALLTYPE GetFeatureMask( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetPresentPerRenderOpDelay(
+ UINT Milliseconds) = 0;
+
+ virtual UINT STDMETHODCALLTYPE GetPresentPerRenderOpDelay( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetSwapChain(
+ /* [annotation] */
+ _In_opt_ IDXGISwapChain *pSwapChain) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetSwapChain(
+ /* [annotation] */
+ _Out_ IDXGISwapChain **ppSwapChain) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ValidateContext(
+ /* [annotation] */
+ _In_ ID3D11DeviceContext *pContext) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReportLiveDeviceObjects(
+ D3D11_RLDO_FLAGS Flags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ValidateContextForDispatch(
+ /* [annotation] */
+ _In_ ID3D11DeviceContext *pContext) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ID3D11DebugVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ID3D11Debug * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ID3D11Debug * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ID3D11Debug * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFeatureMask )(
+ ID3D11Debug * This,
+ UINT Mask);
+
+ UINT ( STDMETHODCALLTYPE *GetFeatureMask )(
+ ID3D11Debug * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetPresentPerRenderOpDelay )(
+ ID3D11Debug * This,
+ UINT Milliseconds);
+
+ UINT ( STDMETHODCALLTYPE *GetPresentPerRenderOpDelay )(
+ ID3D11Debug * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetSwapChain )(
+ ID3D11Debug * This,
+ /* [annotation] */
+ _In_opt_ IDXGISwapChain *pSwapChain);
+
+ HRESULT ( STDMETHODCALLTYPE *GetSwapChain )(
+ ID3D11Debug * This,
+ /* [annotation] */
+ _Out_ IDXGISwapChain **ppSwapChain);
+
+ HRESULT ( STDMETHODCALLTYPE *ValidateContext )(
+ ID3D11Debug * This,
+ /* [annotation] */
+ _In_ ID3D11DeviceContext *pContext);
+
+ HRESULT ( STDMETHODCALLTYPE *ReportLiveDeviceObjects )(
+ ID3D11Debug * This,
+ D3D11_RLDO_FLAGS Flags);
+
+ HRESULT ( STDMETHODCALLTYPE *ValidateContextForDispatch )(
+ ID3D11Debug * This,
+ /* [annotation] */
+ _In_ ID3D11DeviceContext *pContext);
+
+ END_INTERFACE
+ } ID3D11DebugVtbl;
+
+ interface ID3D11Debug
+ {
+ CONST_VTBL struct ID3D11DebugVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ID3D11Debug_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ID3D11Debug_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ID3D11Debug_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ID3D11Debug_SetFeatureMask(This,Mask) \
+ ( (This)->lpVtbl -> SetFeatureMask(This,Mask) )
+
+#define ID3D11Debug_GetFeatureMask(This) \
+ ( (This)->lpVtbl -> GetFeatureMask(This) )
+
+#define ID3D11Debug_SetPresentPerRenderOpDelay(This,Milliseconds) \
+ ( (This)->lpVtbl -> SetPresentPerRenderOpDelay(This,Milliseconds) )
+
+#define ID3D11Debug_GetPresentPerRenderOpDelay(This) \
+ ( (This)->lpVtbl -> GetPresentPerRenderOpDelay(This) )
+
+#define ID3D11Debug_SetSwapChain(This,pSwapChain) \
+ ( (This)->lpVtbl -> SetSwapChain(This,pSwapChain) )
+
+#define ID3D11Debug_GetSwapChain(This,ppSwapChain) \
+ ( (This)->lpVtbl -> GetSwapChain(This,ppSwapChain) )
+
+#define ID3D11Debug_ValidateContext(This,pContext) \
+ ( (This)->lpVtbl -> ValidateContext(This,pContext) )
+
+#define ID3D11Debug_ReportLiveDeviceObjects(This,Flags) \
+ ( (This)->lpVtbl -> ReportLiveDeviceObjects(This,Flags) )
+
+#define ID3D11Debug_ValidateContextForDispatch(This,pContext) \
+ ( (This)->lpVtbl -> ValidateContextForDispatch(This,pContext) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ID3D11Debug_INTERFACE_DEFINED__ */
+
+DEFINE_GUID(IID_ID3D11Debug,0x79cf2233,0x7536,0x4948,0x9d,0x36,0x1e,0x46,0x92,0xdc,0x57,0x60);
+
+#endif
+
+DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2_MOCOMP, 0xe6a9f44b, 0x61b0, 0x4563,0x9e,0xa4,0x63,0xd2,0xa3,0xc6,0xfe,0x66);
+DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2_IDCT, 0xbf22ad00, 0x03ea, 0x4690,0x80,0x77,0x47,0x33,0x46,0x20,0x9b,0x7e);
+DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2_VLD, 0xee27417f, 0x5e28, 0x4e65,0xbe,0xea,0x1d,0x26,0xb5,0x08,0xad,0xc9);
+DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG1_VLD, 0x6f3ec719, 0x3735, 0x42cc,0x80,0x63,0x65,0xcc,0x3c,0xb3,0x66,0x16);
+DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2and1_VLD, 0x86695f12, 0x340e, 0x4f04,0x9f,0xd3,0x92,0x53,0xdd,0x32,0x74,0x60);
+DEFINE_GUID(D3D11_DECODER_PROFILE_H264_MOCOMP_NOFGT, 0x1b81be64, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(D3D11_DECODER_PROFILE_H264_MOCOMP_FGT, 0x1b81be65, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(D3D11_DECODER_PROFILE_H264_IDCT_NOFGT, 0x1b81be66, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(D3D11_DECODER_PROFILE_H264_IDCT_FGT, 0x1b81be67, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_NOFGT, 0x1b81be68, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_FGT, 0x1b81be69, 0xa0c7, 0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(DXVA_Intel_H264_NoFGT_ClearVideo, 0x604F8E68, 0x4951, 0x4c54,0x88,0xFE,0xAB,0xD2,0x5C,0x15,0xB3,0xD6);
+DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_WITHFMOASO_NOFGT, 0xd5f04ff9, 0x3418,0x45d8,0x95,0x61,0x32,0xa7,0x6a,0xae,0x2d,0xdd);
+DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_STEREO_PROGRESSIVE_NOFGT, 0xd79be8da, 0x0cf1,0x4c81,0xb8,0x2a,0x69,0xa4,0xe2,0x36,0xf4,0x3d);
+DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_STEREO_NOFGT, 0xf9aaccbb, 0xc2b6,0x4cfc,0x87,0x79,0x57,0x07,0xb1,0x76,0x05,0x52);
+DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_MULTIVIEW_NOFGT, 0x705b9d82, 0x76cf,0x49d6,0xb7,0xe6,0xac,0x88,0x72,0xdb,0x01,0x3c);
+DEFINE_GUID(D3D11_DECODER_PROFILE_WMV8_POSTPROC, 0x1b81be80, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(D3D11_DECODER_PROFILE_WMV8_MOCOMP, 0x1b81be81, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(D3D11_DECODER_PROFILE_WMV9_POSTPROC, 0x1b81be90, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(D3D11_DECODER_PROFILE_WMV9_MOCOMP, 0x1b81be91, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(D3D11_DECODER_PROFILE_WMV9_IDCT, 0x1b81be94, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_POSTPROC, 0x1b81beA0, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_MOCOMP, 0x1b81beA1, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_IDCT, 0x1b81beA2, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_VLD, 0x1b81beA3, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_D2010, 0x1b81beA4, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
+DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_SIMPLE, 0xefd64d74, 0xc9e8,0x41d7,0xa5,0xe9,0xe9,0xb0,0xe3,0x9f,0xa3,0x19);
+DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_NOGMC, 0xed418a9f, 0x010d,0x4eda,0x9a,0xe3,0x9a,0x65,0x35,0x8d,0x8d,0x2e);
+DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_GMC, 0xab998b5b, 0x4258,0x44a9,0x9f,0xeb,0x94,0xe5,0x97,0xa6,0xba,0xae);
+DEFINE_GUID(D3D11_DECODER_PROFILE_HEVC_VLD_MAIN, 0x5b11d51b, 0x2f4c,0x4452,0xbc,0xc3,0x09,0xf2,0xa1,0x16,0x0c,0xc0);
+DEFINE_GUID(D3D11_DECODER_PROFILE_HEVC_VLD_MAIN10, 0x107af0e0, 0xef1a,0x4d19,0xab,0xa8,0x67,0xa1,0x63,0x07,0x3d,0x13);
+
+/* */
+typedef struct {
+ const char *name;
+ const GUID *guid;
+ int codec;
+ const int *p_profiles; // NULL or ends with 0
+} d3d11va_mode_t;
+
+static const int PROF_MPEG2_SIMPLE[] = { FF_PROFILE_MPEG2_SIMPLE, 0 };
+static const int PROF_MPEG2_MAIN[] = { FF_PROFILE_MPEG2_SIMPLE,
+ FF_PROFILE_MPEG2_MAIN, 0 };
+static const int PROF_H264_HIGH[] = { FF_PROFILE_H264_CONSTRAINED_BASELINE,
+ FF_PROFILE_H264_MAIN,
+ FF_PROFILE_H264_HIGH, 0 };
+static const int PROF_HEVC_MAIN[] = { FF_PROFILE_HEVC_MAIN, 0 };
+static const int PROF_HEVC_MAIN10[] = { FF_PROFILE_HEVC_MAIN,
+ FF_PROFILE_HEVC_MAIN_10, 0 };
+
+/* XXX Prefered modes must come first */
+static const d3d11va_mode_t d3d11va_modes[] = {
+ /* MPEG-1/2 */
+ { "MPEG-2 variable-length decoder", &D3D11_DECODER_PROFILE_MPEG2_VLD, AV_CODEC_ID_MPEG2VIDEO, PROF_MPEG2_SIMPLE },
+ { "MPEG-2 & MPEG-1 variable-length decoder", &D3D11_DECODER_PROFILE_MPEG2and1_VLD, AV_CODEC_ID_MPEG2VIDEO, PROF_MPEG2_MAIN },
+ { "MPEG-2 & MPEG-1 variable-length decoder", &D3D11_DECODER_PROFILE_MPEG2and1_VLD, AV_CODEC_ID_MPEG1VIDEO, NULL },
+ { "MPEG-2 motion compensation", &D3D11_DECODER_PROFILE_MPEG2_MOCOMP, 0, NULL },
+ { "MPEG-2 inverse discrete cosine transform", &D3D11_DECODER_PROFILE_MPEG2_IDCT, 0, NULL },
+
+ /* MPEG-1 http://download.microsoft.com/download/B/1/7/B172A3C8-56F2-4210-80F1-A97BEA9182ED/DXVA_MPEG1_VLD.pdf */
+ { "MPEG-1 variable-length decoder, no D pictures", &D3D11_DECODER_PROFILE_MPEG1_VLD, 0, NULL },
+
+ /* H.264 http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=3d1c290b-310b-4ea2-bf76-714063a6d7a6 */
+ { "H.264 variable-length decoder, film grain technology", &D3D11_DECODER_PROFILE_H264_VLD_FGT, AV_CODEC_ID_H264, PROF_H264_HIGH },
+ { "H.264 variable-length decoder, no film grain technology", &D3D11_DECODER_PROFILE_H264_VLD_NOFGT, AV_CODEC_ID_H264, PROF_H264_HIGH },
+ { "H.264 variable-length decoder, no film grain technology, FMO/ASO", &D3D11_DECODER_PROFILE_H264_VLD_WITHFMOASO_NOFGT, AV_CODEC_ID_H264, PROF_H264_HIGH },
+
+ { "H.264 inverse discrete cosine transform, film grain technology", &D3D11_DECODER_PROFILE_H264_IDCT_FGT, 0, NULL },
+ { "H.264 inverse discrete cosine transform, no film grain technology", &D3D11_DECODER_PROFILE_H264_IDCT_NOFGT, 0, NULL },
+
+ { "H.264 motion compensation, film grain technology", &D3D11_DECODER_PROFILE_H264_MOCOMP_FGT, 0, NULL },
+ { "H.264 motion compensation, no film grain technology", &D3D11_DECODER_PROFILE_H264_MOCOMP_NOFGT, 0, NULL },
+
+ /* http://download.microsoft.com/download/2/D/0/2D02E72E-7890-430F-BA91-4A363F72F8C8/DXVA_H264_MVC.pdf */
+ { "H.264 stereo high profile, mbs flag set", &D3D11_DECODER_PROFILE_H264_VLD_STEREO_PROGRESSIVE_NOFGT, 0, NULL },
+ { "H.264 stereo high profile", &D3D11_DECODER_PROFILE_H264_VLD_STEREO_NOFGT, 0, NULL },
+ { "H.264 multiview high profile", &D3D11_DECODER_PROFILE_H264_VLD_MULTIVIEW_NOFGT, 0, NULL },
+
+ /* WMV */
+ { "Windows Media Video 8 motion compensation", &D3D11_DECODER_PROFILE_WMV8_MOCOMP, 0, NULL },
+ { "Windows Media Video 8 post processing", &D3D11_DECODER_PROFILE_WMV8_POSTPROC, 0, NULL },
+
+ { "Windows Media Video 9 IDCT", &D3D11_DECODER_PROFILE_WMV9_IDCT, 0, NULL },
+ { "Windows Media Video 9 motion compensation", &D3D11_DECODER_PROFILE_WMV9_MOCOMP, 0, NULL },
+ { "Windows Media Video 9 post processing", &D3D11_DECODER_PROFILE_WMV9_POSTPROC, 0, NULL },
+
+ /* VC-1 */
+ { "VC-1 variable-length decoder", &D3D11_DECODER_PROFILE_VC1_VLD, AV_CODEC_ID_VC1, NULL },
+ { "VC-1 variable-length decoder", &D3D11_DECODER_PROFILE_VC1_VLD, AV_CODEC_ID_WMV3, NULL },
+ { "VC-1 variable-length decoder", &D3D11_DECODER_PROFILE_VC1_D2010, AV_CODEC_ID_VC1, NULL },
+ { "VC-1 variable-length decoder", &D3D11_DECODER_PROFILE_VC1_D2010, AV_CODEC_ID_WMV3, NULL },
+
+ { "VC-1 inverse discrete cosine transform", &D3D11_DECODER_PROFILE_VC1_IDCT, 0, NULL },
+ { "VC-1 motion compensation", &D3D11_DECODER_PROFILE_VC1_MOCOMP, 0, NULL },
+ { "VC-1 post processing", &D3D11_DECODER_PROFILE_VC1_POSTPROC, 0, NULL },
+
+ /* Xvid/Divx: TODO */
+ { "MPEG-4 Part 2 variable-length decoder, Simple Profile", &D3D11_DECODER_PROFILE_MPEG4PT2_VLD_SIMPLE, 0, NULL },
+ { "MPEG-4 Part 2 variable-length decoder, Simple&Advanced Profile, no GMC", &D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_NOGMC, 0, NULL },
+ { "MPEG-4 Part 2 variable-length decoder, Simple&Advanced Profile, GMC", &D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_GMC, 0, NULL },
+
+ /* HEVC */
+ { "HEVC Main profile", &D3D11_DECODER_PROFILE_HEVC_VLD_MAIN, AV_CODEC_ID_HEVC, PROF_HEVC_MAIN },
+ { "HEVC Main 10 profile", &D3D11_DECODER_PROFILE_HEVC_VLD_MAIN10, AV_CODEC_ID_HEVC, PROF_HEVC_MAIN10 },
+
+ { NULL, NULL, 0, NULL }
+};
+
+static const d3d11va_mode_t *Dxva2FindMode(const GUID *guid)
+{
+ for (unsigned i = 0; d3d11va_modes[i].name; i++) {
+ if (IsEqualGUID(d3d11va_modes[i].guid, guid))
+ return &d3d11va_modes[i];
+ }
+ return NULL;
+}
+
+/* */
+typedef struct {
+ const char *name;
+ DXGI_FORMAT format;
+ vlc_fourcc_t codec;
+} d3d_format_t;
+/* XXX Prefered format must come first */
+static const d3d_format_t d3d_formats[] = {
+ { "NV12", DXGI_FORMAT_NV12, VLC_CODEC_NV12 },
+ { "I420L", DXGI_FORMAT_P010, VLC_CODEC_I420_10L },
+ { "YUY2", DXGI_FORMAT_YUY2, VLC_CODEC_I420_10L },
+ { "B8G8R8A8", DXGI_FORMAT_B8G8R8A8_UNORM, VLC_CODEC_BGRA },
+
+ { NULL, 0, 0 }
+};
+
+/* */
+typedef struct {
+ ID3D11VideoDecoderOutputView *d3d;
+ int refcount;
+ unsigned int order;
+ vlc_mutex_t *p_lock;
+} vlc_va_surface_t;
+
+#define VA_D3D11_MAX_SURFACE_COUNT (64)
+struct vlc_va_sys_t
+{
+ int codec_id;
+ int width;
+ int height;
+
+ vlc_mutex_t surface_lock;
+
+ /* DLL */
+ HINSTANCE hd3d11_dll;
+#ifndef NDEBUG
+ HINSTANCE dxgidebug_dll;
+#endif
+
+ /* Direct3D */
+ ID3D11Device *d3ddev;
+ ID3D11DeviceContext *d3dctx;
+
+ /* Device manager */
+ UINT token;
+
+ /* Video service */
+ ID3D11VideoDevice *d3dvidev;
+ ID3D11VideoContext *d3dvidctx;
+ GUID input;
+ DXGI_FORMAT render;
+
+ /* Video decoder */
+ D3D11_VIDEO_DECODER_CONFIG cfg;
+ ID3D11VideoDecoder *decoder;
+
+ /* avcodec internals */
+ struct AVD3D11VAContext hw;
+
+ /* Extraction */
+ ID3D11Resource *staging;
+ copy_cache_t *p_copy_cache;
+
+ /* */
+ int surface_count;
+ int surface_order;
+ int surface_width;
+ int surface_height;
+ vlc_fourcc_t surface_chroma;
+
+ int thread_count;
+
+ vlc_va_surface_t surface[VA_D3D11_MAX_SURFACE_COUNT];
+ ID3D11VideoDecoderOutputView* hw_surface[VA_D3D11_MAX_SURFACE_COUNT];
+};
+
+/* */
+static int D3dCreateDevice(vlc_va_t *);
+static void D3dDestroyDevice(vlc_va_sys_t *);
+static char *DxDescribe(vlc_va_sys_t *);
+
+#if 0
+static int D3dCreateDeviceManager(vlc_va_t *);
+static void D3dDestroyDeviceManager(vlc_va_sys_t *);
+#endif
+
+static int DxCreateVideoService(vlc_va_t *);
+static void DxDestroyVideoService(vlc_va_sys_t *);
+static int DxFindVideoServiceConversion(vlc_va_t *, GUID *input, DXGI_FORMAT *output, const es_format_t *fmt);
+
+static int DxCreateVideoDecoder(vlc_va_t *,
+ int codec_id, const video_format_t *, bool);
+static void DxDestroyVideoDecoder(vlc_va_sys_t *);
+static int DxResetVideoDecoder(vlc_va_t *);
+
+static bool profile_supported(const d3d11va_mode_t *mode, const es_format_t *fmt);
+
+/* */
+static int Setup(vlc_va_t *va, AVCodecContext *avctx, vlc_fourcc_t *chroma)
+{
+ vlc_va_sys_t *sys = va->sys;
+
+ if (sys->width == avctx->coded_width && sys->height == avctx->coded_height
+ && sys->decoder != NULL)
+ goto ok;
+
+ /* */
+ DxDestroyVideoDecoder(sys);
+
+ avctx->hwaccel_context = NULL;
+ *chroma = 0;
+ if (avctx->coded_width <= 0 || avctx->coded_height <= 0)
+ return VLC_EGENERIC;
+
+ /* FIXME transmit a video_format_t by VaSetup directly */
+ video_format_t fmt;
+ memset(&fmt, 0, sizeof(fmt));
+ fmt.i_width = avctx->coded_width;
+ fmt.i_height = avctx->coded_height;
+
+ if (DxCreateVideoDecoder(va, sys->codec_id, &fmt, avctx->active_thread_type & FF_THREAD_FRAME))
+ return VLC_EGENERIC;
+ /* */
+ sys->hw.decoder = sys->decoder;
+ sys->hw.video_context = sys->d3dvidctx;
+ sys->hw.cfg = &sys->cfg;
+ sys->hw.surface_count = sys->surface_count;
+ sys->hw.surface = sys->hw_surface;
+
+ /* */
+ok:
+ avctx->hwaccel_context = &sys->hw;
+ *chroma = VLC_CODEC_NV12; /* TODO use an opaque format for direct rendering */
+
+ return VLC_SUCCESS;
+}
+
+
+static int Extract(vlc_va_t *va, picture_t *picture, uint8_t *data)
+{
+ vlc_va_sys_t *sys = va->sys;
+ ID3D11VideoDecoderOutputView *d3d = (ID3D11VideoDecoderOutputView*)(uintptr_t)data;
+ ID3D11Resource *p_texture = NULL;
+ D3D11_TEXTURE2D_DESC texDesc;
+ D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC viewDesc;
+ D3D11_MAPPED_SUBRESOURCE mappedResource;
+ HRESULT hr;
+
+ assert( picture->format.i_chroma == VLC_CODEC_NV12);
+
+ ID3D11VideoDecoderOutputView_GetDesc( d3d, &viewDesc );
+
+ ID3D11VideoDecoderOutputView_GetResource( d3d, &p_texture );
+ if (!p_texture) {
+ msg_Err(va, "Failed to get the texture of the outputview." );
+ goto error;
+ }
+
+ ID3D11Texture2D_GetDesc( (ID3D11Texture2D*) p_texture, &texDesc);
+
+ /* extract to NV12 planes */
+ ID3D11DeviceContext_CopySubresourceRegion(sys->d3dctx, sys->staging, 0, 0, 0, 0,
+ p_texture, viewDesc.Texture2D.ArraySlice, NULL);
+
+ hr = ID3D11DeviceContext_Map(sys->d3dctx, sys->staging, 0, D3D11_MAP_READ, 0, &mappedResource);
+ if (FAILED(hr)) {
+ msg_Err(va, "Failed to map the texture surface pixels (hr=0x%0lx)", hr );
+ goto error;
+ }
+
+ uint8_t *plane[2] = {
+ mappedResource.pData,
+ (uint8_t*)mappedResource.pData + mappedResource.RowPitch * texDesc.Height,
+ };
+ size_t pitch[2] = {
+ mappedResource.RowPitch,
+ mappedResource.RowPitch,
+ };
+ CopyFromNv12ToNv12(picture, plane, pitch, texDesc.Width, texDesc.Height, sys->p_copy_cache );
+
+ ID3D11DeviceContext_Unmap(sys->d3dctx, sys->staging, 0);
+
+ if (p_texture!=NULL)
+ ID3D11Resource_Release(p_texture);
+ return VLC_SUCCESS;
+
+error:
+ if (p_texture!=NULL)
+ ID3D11Resource_Release(p_texture);
+ return VLC_EGENERIC;
+}
+
+/* FIXME it is nearly common with VAAPI */
+static int Get(vlc_va_t *va, picture_t *pic, uint8_t **data)
+{
+ vlc_va_sys_t *sys = va->sys;
+
+#if TODO
+ /* Check the device */
+ /* see MFCreateDXGIDeviceManager in mfplat.dll, not avail in Win7 */
+ HRESULT hr = IDirect3DDeviceManager9_TestDevice(sys->devmng, sys->device);
+ if (hr == DXVA2_E_NEW_VIDEO_DEVICE) {
+ if (DxResetVideoDecoder(va))
+ return VLC_EGENERIC;
+ } else if (FAILED(hr)) {
+ msg_Err(va, "IDirect3DDeviceManager9_TestDevice %u", (unsigned)hr);
+ return VLC_EGENERIC;
+ }
+#endif
+
+ vlc_mutex_lock( &sys->surface_lock );
+
+ /* Grab an unused surface, in case none are, try the oldest
+ * XXX using the oldest is a workaround in case a problem happens with libavcodec */
+ int i, old;
+ for (i = 0, old = 0; i < sys->surface_count; i++) {
+ vlc_va_surface_t *surface = &sys->surface[i];
+
+ if (!surface->refcount)
+ break;
+
+ if (surface->order < sys->surface[old].order)
+ old = i;
+ }
+ if (i >= sys->surface_count)
+ i = old;
+
+ vlc_va_surface_t *surface = &sys->surface[i];
+
+ surface->refcount = 1;
+ surface->order = sys->surface_order++;
+ *data = (void *)surface->d3d;
+ pic->context = surface;
+
+ vlc_mutex_unlock( &sys->surface_lock );
+
+ return VLC_SUCCESS;
+}
+
+static void Release(void *opaque, uint8_t *data)
+{
+ picture_t *pic = opaque;
+ vlc_va_surface_t *surface = pic->context;
+ vlc_mutex_lock( surface->p_lock );
+
+ surface->refcount--;
+ pic->context = NULL;
+ picture_Release(pic);
+ (void) data;
+
+ vlc_mutex_unlock( surface->p_lock );
+}
+
+static void Close(vlc_va_t *va, AVCodecContext *ctx)
+{
+ vlc_va_sys_t *sys = va->sys;
+
+ (void) ctx;
+ DxDestroyVideoDecoder(sys);
+ DxDestroyVideoService(sys);
+#if 0
+ D3dDestroyDeviceManager(sys);
+#endif
+ D3dDestroyDevice(sys);
+
+ if (sys->p_copy_cache!=NULL) {
+ CopyCleanCache(sys->p_copy_cache);
+ free( sys->p_copy_cache );
+ }
+
+ if (sys->hd3d11_dll)
+ FreeLibrary(sys->hd3d11_dll);
+#ifndef NDEBUG
+ if (sys->dxgidebug_dll)
+ FreeLibrary(sys->dxgidebug_dll);
+#endif
+ vlc_mutex_destroy( &sys->surface_lock );
+
+ free((char *)va->description);
+ free(sys);
+}
+
+static int Open(vlc_va_t *va, AVCodecContext *ctx, enum PixelFormat pix_fmt,
+ const es_format_t *fmt, picture_sys_t *p_sys)
+{
+ int err = VLC_EGENERIC;
+
+ if (pix_fmt != AV_PIX_FMT_D3D11VA_VLD)
+ return VLC_EGENERIC;
+
+ VLC_UNUSED(p_sys);
+
+ vlc_va_sys_t *sys = calloc(1, sizeof (*sys));
+ if (unlikely(sys == NULL))
+ return VLC_ENOMEM;
+
+ sys->p_copy_cache = calloc(1, sizeof(*sys->p_copy_cache));
+ if (!sys->p_copy_cache) {
+ err = VLC_ENOMEM;
+ goto error;
+ }
+ CopyInitCache( sys->p_copy_cache, fmt->video.i_width );
+
+ va->sys = sys;
+ sys->codec_id = ctx->codec_id;
+
+ vlc_mutex_init( &sys->surface_lock );
+
+ /* Load dll*/
+ sys->hd3d11_dll = LoadLibrary(TEXT("D3D11.DLL"));
+ if (!sys->hd3d11_dll) {
+ msg_Warn(va, "cannot load d3d11.dll");
+ goto error;
+ }
+ msg_Dbg(va, "DLLs loaded");
+
+#ifndef NDEBUG
+ sys->dxgidebug_dll = LoadLibrary(TEXT("DXGIDEBUG.DLL"));
+#endif
+
+ sys->d3ddev = NULL;
+
+ if (sys->d3ddev) {
+ msg_Dbg(va, "Reusing D3D11 device");
+ } else {
+ /* */
+ if (D3dCreateDevice(va)) {
+ msg_Err(va, "Failed to create Direct3D device");
+ goto error;
+ }
+ msg_Dbg(va, "D3dCreateDevice succeed");
+ }
+
+#if 0
+ if (D3dCreateDeviceManager(va)) {
+ msg_Err(va, "D3dCreateDeviceManager failed");
+ goto error;
+ }
+#endif
+
+ if (DxCreateVideoService(va)) {
+ msg_Err(va, "DxCreateVideoService failed");
+ goto error;
+ }
+
+ /* */
+ if (DxFindVideoServiceConversion(va, &sys->input, &sys->render, fmt)) {
+ msg_Err(va, "DxFindVideoServiceConversion failed");
+ goto error;
+ }
+
+ sys->thread_count = ctx->thread_count;
+
+ /* TODO print the hardware name/vendor for debugging purposes */
+ va->description = DxDescribe(sys);
+ va->setup = Setup;
+ va->get = Get;
+ va->release = Release;
+ va->extract = Extract;
+ return VLC_SUCCESS;
+
+error:
+ Close(va, ctx);
+ return err;
+}
+/* */
+
+/**
+ * It creates a Direct3D device usable for decoding
+ */
+static int D3dCreateDevice(vlc_va_t *va)
+{
+ vlc_va_sys_t *sys = va->sys;
+ HRESULT hr;
+
+ /* */
+ PFN_D3D11_CREATE_DEVICE pf_CreateDevice;
+ pf_CreateDevice = (void *)GetProcAddress(sys->hd3d11_dll, "D3D11CreateDevice");
+ if (!pf_CreateDevice) {
+ msg_Err(va, "Cannot locate reference to D3D11CreateDevice ABI in DLL");
+ return VLC_EGENERIC;
+ }
+
+ UINT creationFlags = D3D11_CREATE_DEVICE_VIDEO_SUPPORT;
+# if !defined(NDEBUG) //&& defined(_MSC_VER)
+ creationFlags |= D3D11_CREATE_DEVICE_DEBUG;
+# endif
+
+ /* */
+ ID3D11Device *d3ddev;
+ ID3D11DeviceContext *d3dctx;
+ hr = pf_CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL,
+ creationFlags, NULL, 0,
+ D3D11_SDK_VERSION, &d3ddev, NULL, &d3dctx);
+ if (FAILED(hr)) {
+ msg_Err(va, "D3D11CreateDevice failed. (hr=0x%lX)", hr);
+ return VLC_EGENERIC;
+ }
+ sys->d3ddev = d3ddev;
+ sys->d3dctx = d3dctx;
+
+ ID3D11VideoContext *d3dvidctx = NULL;
+ hr = ID3D11DeviceContext_QueryInterface(d3dctx, &IID_ID3D11VideoContext, (void **)&d3dvidctx);
+ if (FAILED(hr)) {
+ msg_Err(va, "Could not Query ID3D11VideoDevice Interface. (hr=0x%lX)", hr);
+ return VLC_EGENERIC;
+ }
+ sys->d3dvidctx = d3dvidctx;
+
+#ifndef NDEBUG
+ HRESULT (WINAPI * pf_DXGIGetDebugInterface)(const GUID *riid, void **ppDebug);
+ if (sys->dxgidebug_dll) {
+ pf_DXGIGetDebugInterface = (void *)GetProcAddress(sys->dxgidebug_dll, "DXGIGetDebugInterface");
+ if (pf_DXGIGetDebugInterface) {
+ IDXGIDebug *pDXGIDebug = NULL;
+ hr = pf_DXGIGetDebugInterface(&IID_IDXGIDebug, (void**)&pDXGIDebug);
+ if (SUCCEEDED(hr) && pDXGIDebug) {
+ hr = IDXGIDebug_ReportLiveObjects(pDXGIDebug, DXGI_DEBUG_DX, DXGI_DEBUG_RLO_DETAIL);
+ }
+ }
+ }
+
+ ID3D11Debug *pD3D11Debug;
+ hr = ID3D11Device_QueryInterface(d3ddev, &IID_ID3D11Debug, (void **) &pD3D11Debug);
+ if (SUCCEEDED(hr)) {
+ hr = ID3D11Debug_ReportLiveDeviceObjects(pD3D11Debug, D3D11_RLDO_DETAIL);
+ ID3D11Debug_Release(pD3D11Debug);
+ }
+#endif
+
+ return VLC_SUCCESS;
+}
+
+/**
+ * It releases a Direct3D device and its resources.
+ */
+static void D3dDestroyDevice(vlc_va_sys_t *va)
+{
+ if (va->d3dvidctx)
+ ID3D11VideoContext_Release(va->d3dvidctx);
+ if (va->d3dctx)
+ ID3D11DeviceContext_Release(va->d3dctx);
+ if (va->d3ddev)
+ ID3D11Device_Release(va->d3ddev);
+}
+/**
+ * It describes our Direct3D object
+ */
+static char *DxDescribe(vlc_va_sys_t *p_sys)
+{
+ static const struct {
+ unsigned id;
+ char name[32];
+ } vendors [] = {
+ { 0x1002, "ATI" },
+ { 0x10DE, "NVIDIA" },
+ { 0x1106, "VIA" },
+ { 0x8086, "Intel" },
+ { 0x5333, "S3 Graphics" },
+ { 0, "" }
+ };
+
+ IDXGIDevice *pDXGIDevice = NULL;
+ HRESULT hr = ID3D11Device_QueryInterface(p_sys->d3ddev, &IID_IDXGIDevice, (void **)&pDXGIDevice);
+ if (FAILED(hr)) {
+ return NULL;
+ }
+
+ IDXGIAdapter *p_adapter;
+ hr = IDXGIDevice_GetAdapter(pDXGIDevice, &p_adapter);
+ if (FAILED(hr)) {
+ IDXGIDevice_Release(pDXGIDevice);
+ return NULL;
+ }
+
+ DXGI_ADAPTER_DESC adapterDesc;
+ if (SUCCEEDED(IDXGIAdapter_GetDesc(p_adapter, &adapterDesc))) {
+ const char *vendor = "Unknown";
+ for (int i = 0; vendors[i].id != 0; i++) {
+ if (vendors[i].id == adapterDesc.VendorId) {
+ vendor = vendors[i].name;
+ break;
+ }
+ }
+
+ char *description;
+ if (asprintf(&description, "D3D11VA (%s, vendor %u(%s), device %u, revision %u)",
+ FromWide(adapterDesc.Description),
+ adapterDesc.VendorId, vendor, adapterDesc.DeviceId, adapterDesc.Revision) < 0)
+ return NULL;
+ IDXGIAdapter_Release(p_adapter);
+ IDXGIDevice_Release(pDXGIDevice);
+ return description;
+ }
+
+ IDXGIAdapter_Release(p_adapter);
+ IDXGIDevice_Release(pDXGIDevice);
+ return NULL;
+}
+
+#if 0
+/**
+ * It creates a Direct3D device manager
+ */
+static int D3dCreateDeviceManager(vlc_va_t *va)
+{
+ vlc_va_sys_t *sys = va->sys;
+
+ HRESULT (WINAPI *CreateDeviceManager9)(UINT *pResetToken,
+ IDirect3DDeviceManager9 **);
+ CreateDeviceManager9 =
+ (void *)GetProcAddress(sys->hdxva2_dll,
+ "DXVA2CreateDirect3DDeviceManager9");
+
+ if (!CreateDeviceManager9) {
+ msg_Err(va, "cannot load function");
+ return VLC_EGENERIC;
+ }
+ msg_Dbg(va, "OurDirect3DCreateDeviceManager9 Success!");
+
+ UINT token;
+ IDirect3DDeviceManager9 *devmng;
+ if (FAILED(CreateDeviceManager9(&token, &devmng))) {
+ msg_Err(va, " OurDirect3DCreateDeviceManager9 failed");
+ return VLC_EGENERIC;
+ }
+ sys->token = token;
+ sys->devmng = devmng;
+ msg_Info(va, "obtained IDirect3DDeviceManager9");
+
+ HRESULT hr = IDirect3DDeviceManager9_ResetDevice(devmng, sys->d3ddev, token);
+ if (FAILED(hr)) {
+ msg_Err(va, "IDirect3DDeviceManager9_ResetDevice failed: %08x", (unsigned)hr);
+ return VLC_EGENERIC;
+ }
+ return VLC_SUCCESS;
+}
+/**
+ * It destroys a Direct3D device manager
+ */
+static void D3dDestroyDeviceManager(vlc_va_sys_t *va)
+{
+ if (va->devmng)
+ IDirect3DDeviceManager9_Release(va->devmng);
+}
+#endif
+
+/**
+ * It creates a DirectX video service
+ */
+static int DxCreateVideoService(vlc_va_t *va)
+{
+ vlc_va_sys_t *sys = va->sys;
+
+ ID3D11VideoDevice *d3dvidev = NULL;
+ HRESULT hr = ID3D11Device_QueryInterface(sys->d3ddev, &IID_ID3D11VideoDevice, (void **)&d3dvidev);
+ if (FAILED(hr)) {
+ msg_Err(va, "Could not Query ID3D11VideoDevice Interface. (hr=0x%lX)", hr);
+ return VLC_EGENERIC;
+ }
+ sys->d3dvidev = d3dvidev;
+
+ return VLC_SUCCESS;
+}
+
+/**
+ * It destroys a DirectX video service
+ */
+static void DxDestroyVideoService(vlc_va_sys_t *va)
+{
+ if (va->d3dvidev)
+ ID3D11VideoDevice_Release(va->d3dvidev);
+}
+
+static bool profile_supported(const d3d11va_mode_t *mode, const es_format_t *fmt)
+{
+ bool is_supported = mode->p_profiles == NULL || !mode->p_profiles[0];
+ if (!is_supported)
+ {
+ int profile = fmt->i_profile;
+ if (mode->codec == AV_CODEC_ID_H264)
+ {
+ size_t h264_profile;
+ if ( h264_get_profile_level(fmt, &h264_profile, NULL, NULL) )
+ profile = h264_profile;
+ }
+
+ if (profile <= 0)
+ is_supported = true;
+ else for (const int *p_profile = &mode->p_profiles[0]; *p_profile; ++p_profile)
+ {
+ if (*p_profile == profile)
+ {
+ is_supported = true;
+ break;
+ }
+ }
+ }
+ return is_supported;
+}
+
+/**
+ * Find the best suited decoder mode GUID and render format.
+ */
+static int DxFindVideoServiceConversion(vlc_va_t *va, GUID *input, DXGI_FORMAT *output, const es_format_t *fmt)
+{
+ vlc_va_sys_t *sys = va->sys;
+ HRESULT hr;
+
+ /* Retreive supported modes from the decoder service */
+ UINT input_count = ID3D11VideoDevice_GetVideoDecoderProfileCount(sys->d3dvidev);
+ GUID input_list[input_count];
+ memset(input_list, 0, sizeof(input_list));
+ for (UINT i = 0; i < input_count; i++) {
+ hr = ID3D11VideoDevice_GetVideoDecoderProfile(sys->d3dvidev, i, &input_list[i]);
+ if (FAILED(hr))
+ {
+ msg_Err(va, "GetVideoDecoderProfile %d failed. (hr=0x%lX)", i, hr);
+ continue;
+ }
+ }
+ for (unsigned i = 0; i < input_count; i++) {
+ const GUID *g = &input_list[i];
+ const d3d11va_mode_t *mode = Dxva2FindMode(g);
+ if (mode) {
+ msg_Dbg(va, "- '%s' is supported by hardware", mode->name);
+ } else {
+ msg_Warn(va, "- Unknown GUID = " GUID_FMT, GUID_PRINT( *g ) );
+ }
+ }
+
+ /* Try all supported mode by our priority */
+ for (unsigned i = 0; d3d11va_modes[i].name; i++) {
+ const d3d11va_mode_t *mode = &d3d11va_modes[i];
+ if (!mode->codec || mode->codec != sys->codec_id)
+ continue;
+
+ /* */
+ bool is_supported = false;
+ for (const GUID *g = &input_list[0]; !is_supported && g < &input_list[input_count]; g++) {
+ is_supported = IsEqualGUID(mode->guid, g);
+ }
+ if ( is_supported )
+ {
+ is_supported = profile_supported( mode, fmt );
+ if (!is_supported)
+ msg_Warn( va, "Unsupported profile for D3D11 HWAccel: %d", fmt->i_profile );
+ }
+ if (!is_supported)
+ continue;
+
+ /* */
+ msg_Dbg(va, "Trying to use '%s' as input", mode->name);
+ for (unsigned j = 0; d3d_formats[j].name; j++) {
+ const d3d_format_t *format = &d3d_formats[j];
+
+ BOOL is_supported = false;
+ hr = ID3D11VideoDevice_CheckVideoDecoderFormat(sys->d3dvidev, mode->guid, format->format, &is_supported);
+ if (FAILED(hr) || !is_supported)
+ continue;
+ msg_Dbg(va, "%s is supported for output", format->name);
+ }
+
+ /* */
+ for (unsigned j = 0; d3d_formats[j].name; j++) {
+ const d3d_format_t *format = &d3d_formats[j];
+
+ /* */
+ BOOL is_supported = false;
+ hr = ID3D11VideoDevice_CheckVideoDecoderFormat(sys->d3dvidev, mode->guid, format->format, &is_supported);
+ if (FAILED(hr) || !is_supported)
+ continue;
+
+ /* We have our solution */
+ msg_Dbg(va, "Using '%s' to decode to '%s'", mode->name, format->name);
+ *input = *mode->guid;
+ *output = format->format;
+ return VLC_SUCCESS;
+ }
+ }
+ return VLC_EGENERIC;
+}
+
+/**
+ * It creates a DXVA2 decoder using the given video format
+ */
+static int DxCreateVideoDecoder(vlc_va_t *va, int codec_id,
+ const video_format_t *fmt, bool b_threading)
+{
+ vlc_va_sys_t *sys = va->sys;
+ int surface_alignment = 16;
+ int surface_count = 4;
+ HRESULT hr;
+
+ ID3D10Multithread *pMultithread;
+ hr = ID3D11Device_QueryInterface(sys->d3ddev, &IID_ID3D10Multithread, (void **)&pMultithread);
+ if (SUCCEEDED(hr)) {
+ ID3D10Multithread_SetMultithreadProtected(pMultithread, b_threading && sys->thread_count > 1);
+ ID3D10Multithread_Release(pMultithread);
+ }
+
+ /* */
+ msg_Dbg(va, "DxCreateVideoDecoder id %d %dx%d",
+ codec_id, fmt->i_width, fmt->i_height);
+
+ sys->width = fmt->i_width;
+ sys->height = fmt->i_height;
+
+ switch ( codec_id )
+ {
+ case AV_CODEC_ID_MPEG2VIDEO:
+ /* decoding MPEG-2 requires additional alignment on some Intel GPUs,
+ but it causes issues for H.264 on certain AMD GPUs..... */
+ surface_alignment = 32;
+ surface_count += 2;
+ break;
+ case AV_CODEC_ID_HEVC:
+ /* the HEVC DXVA2 spec asks for 128 pixel aligned surfaces to ensure
+ all coding features have enough room to work with */
+ surface_alignment = 128;
+ surface_count += 16;
+ break;
+ case AV_CODEC_ID_H264:
+ surface_count += 16;
+ break;
+ default:
+ surface_count += 2;
+ }
+
+#define ALIGN(x, y) (((x) + ((y) - 1)) & ~((y) - 1))
+ sys->surface_width = ALIGN(fmt->i_width, surface_alignment);
+ sys->surface_height = ALIGN(fmt->i_height, surface_alignment);
+
+ if ( b_threading )
+ surface_count += sys->thread_count;
+
+ if (surface_count > VA_D3D11_MAX_SURFACE_COUNT)
+ return VLC_EGENERIC;
+
+ D3D11_TEXTURE2D_DESC texDesc;
+ ZeroMemory(&texDesc, sizeof(texDesc));
+ texDesc.Width = sys->surface_width;
+ texDesc.Height = sys->surface_height;
+ texDesc.MipLevels = 1;
+ texDesc.Format = sys->render;
+ texDesc.SampleDesc.Count = 1;
+ texDesc.MiscFlags = 0; // D3D11_RESOURCE_MISC_SHARED
+ texDesc.ArraySize = 1;
+ texDesc.Usage = D3D11_USAGE_STAGING;
+ texDesc.CPUAccessFlags = D3D11_CPU_ACCESS_READ;
+ texDesc.BindFlags = 0;
+
+ sys->staging = NULL;
+ hr = ID3D11Device_CreateTexture2D( sys->d3ddev, &texDesc, NULL,
+ (ID3D11Texture2D**) &sys->staging);
+ if (FAILED(hr)) {
+ msg_Err(va, "Failed to create a staging texture to extract surface pixels (hr=0x%0lx)", hr );
+ return VLC_EGENERIC;
+ }
+
+ texDesc.ArraySize = surface_count;
+ texDesc.Usage = D3D11_USAGE_DEFAULT; //D3D11_USAGE_DYNAMIC; //D3D11_USAGE_STAGING; // D3D11_USAGE_DEFAULT
+ texDesc.BindFlags = D3D11_BIND_DECODER;// | D3D11_BIND_UNORDERED_ACCESS;
+ texDesc.CPUAccessFlags = 0; //D3D11_CPU_ACCESS_READ;
+
+ ID3D11Texture2D *p_texture;
+ hr = ID3D11Device_CreateTexture2D( sys->d3ddev, &texDesc, NULL, &p_texture );
+ if (FAILED(hr)) {
+ msg_Err(va, "CreateTexture2D %d failed. (hr=0x%0lx)", sys->surface_count, hr);
+ return VLC_EGENERIC;
+ }
+
+ D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC viewDesc;
+ ZeroMemory(&viewDesc, sizeof(viewDesc));
+ viewDesc.DecodeProfile = sys->input;
+ viewDesc.ViewDimension = D3D11_VDOV_DIMENSION_TEXTURE2D;
+
+ for (sys->surface_count = 0; sys->surface_count < surface_count; sys->surface_count++) {
+ vlc_va_surface_t *surface = &sys->surface[sys->surface_count];
+
+ viewDesc.Texture2D.ArraySlice = sys->surface_count;
+
+ ID3D11Resource *p_resource = (ID3D11Resource*) p_texture;
+ hr = ID3D11VideoDevice_CreateVideoDecoderOutputView( sys->d3dvidev, p_resource,
+ &viewDesc, &surface->d3d );
+ if (FAILED(hr)) {
+ msg_Err(va, "CreateVideoDecoderOutputView %d failed. (hr=0x%0lx)", sys->surface_count, hr);
+ ID3D11Texture2D_Release(p_texture);
+ return VLC_EGENERIC;
+ }
+ surface->refcount = 0;
+ surface->order = 0;
+ surface->p_lock = &sys->surface_lock;
+ sys->hw_surface[sys->surface_count] = surface->d3d;
+ }
+ msg_Dbg(va, "ID3D11VideoDecoderOutputView succeed with %d surfaces (%dx%d)",
+ sys->surface_count, fmt->i_width, fmt->i_height);
+
+ D3D11_VIDEO_DECODER_DESC decoderDesc;
+ ZeroMemory(&decoderDesc, sizeof(decoderDesc));
+ decoderDesc.Guid = sys->input;
+ decoderDesc.SampleWidth = sys->surface_width;
+ decoderDesc.SampleHeight = sys->surface_height;
+ decoderDesc.OutputFormat = sys->render;
+
+ UINT cfg_count;
+ hr = ID3D11VideoDevice_GetVideoDecoderConfigCount( sys->d3dvidev, &decoderDesc, &cfg_count );
+ if (FAILED(hr)) {
+ msg_Err(va, "GetVideoDecoderConfigCount failed. (hr=0x%lX)", hr);
+ return VLC_EGENERIC;
+ }
+
+ /* List all configurations available for the decoder */
+ D3D11_VIDEO_DECODER_CONFIG cfg_list[cfg_count];
+ for (unsigned i = 0; i < cfg_count; i++) {
+ hr = ID3D11VideoDevice_GetVideoDecoderConfig( sys->d3dvidev, &decoderDesc, i, &cfg_list[i] );
+ if (FAILED(hr)) {
+ msg_Err(va, "GetVideoDecoderConfig failed. (hr=0x%lX)", hr);
+ return VLC_EGENERIC;
+ }
+ }
+
+ msg_Dbg(va, "we got %d decoder configurations", cfg_count);
+
+ /* Select the best decoder configuration */
+ int cfg_score = 0;
+ for (unsigned i = 0; i < cfg_count; i++) {
+ const D3D11_VIDEO_DECODER_CONFIG *cfg = &cfg_list[i];
+
+ /* */
+ msg_Dbg(va, "configuration[%d] ConfigBitstreamRaw %d",
+ i, cfg->ConfigBitstreamRaw);
+
+ /* */
+ int score;
+ if (cfg->ConfigBitstreamRaw == 1)
+ score = 1;
+ else if (codec_id == AV_CODEC_ID_H264 && cfg->ConfigBitstreamRaw == 2)
+ score = 2;
+ else
+ continue;
+ if (IsEqualGUID(&cfg->guidConfigBitstreamEncryption, &DXVA_NoEncrypt))
+ score += 16;
+
+ if (cfg_score < score) {
+ sys->cfg = *cfg;
+ cfg_score = score;
+ }
+ }
+ if (cfg_score <= 0) {
+ msg_Err(va, "Failed to find a supported decoder configuration");
+ return VLC_EGENERIC;
+ }
+ hr = ID3D11VideoDevice_CreateVideoDecoder( sys->d3dvidev, &decoderDesc, &sys->cfg, &sys->decoder );
+ if (FAILED(hr)) {
+ msg_Err(va, "ID3D11VideoDevice_CreateVideoDecoder failed. (hr=0x%lX)", hr);
+ sys->decoder = NULL;
+ return VLC_EGENERIC;
+ }
+
+ if (IsEqualGUID(&sys->input, &DXVA_Intel_H264_NoFGT_ClearVideo))
+ sys->hw.workaround |= FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO;
+
+ msg_Dbg(va, "DxCreateVideoDecoder succeed");
+ return VLC_SUCCESS;
+}
+
+static void DxDestroyVideoDecoder(vlc_va_sys_t *va)
+{
+ for (int i = 0; i < va->surface_count; i++) {
+ ID3D11Resource *p_texture;
+ ID3D11VideoDecoderOutputView_GetResource( va->surface[i].d3d, &p_texture );
+ ID3D11Resource_Release(p_texture);
+ ID3D11VideoDecoderOutputView_Release(va->surface[i].d3d);
+ }
+ va->surface_count = 0;
+
+ if (va->staging)
+ ID3D11Resource_Release(va->staging);
+ if (va->decoder)
+ ID3D11VideoDecoder_Release(va->decoder);
+ va->decoder = NULL;
+}
+
+static int DxResetVideoDecoder(vlc_va_t *va)
+{
+ msg_Err(va, "DxResetVideoDecoder unimplemented");
+ return VLC_EGENERIC;
+}
+
diff --git a/modules/codec/avcodec/va.c b/modules/codec/avcodec/va.c
index f9e94e6..69a4bd7 100644
--- a/modules/codec/avcodec/va.c
+++ b/modules/codec/avcodec/va.c
@@ -42,6 +42,8 @@ vlc_fourcc_t vlc_va_GetChroma(enum PixelFormat hwfmt, enum PixelFormat swfmt)
case AV_PIX_FMT_DXVA2_VLD:
return VLC_CODEC_D3D9_OPAQUE;
+ case AV_PIX_FMT_D3D11VA_VLD:
+ return VLC_CODEC_NV12; /* TODO OPAQUE */
#if (LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(53, 14, 0))
case AV_PIX_FMT_VDA_VLD:
return VLC_CODEC_UYVY;
--
2.4.0
More information about the vlc-devel
mailing list