1/* 2 * Copyright 2010 Rico Schüller 3 * Copyright 2013 Austin English 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2.1 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 18 */ 19 20import "oaidl.idl"; 21import "ocidl.idl"; 22import "dxgi.idl"; 23import "d3dcommon.idl"; 24 25typedef D3D_PRIMITIVE D3D11_PRIMITIVE; 26typedef D3D_PRIMITIVE_TOPOLOGY D3D11_PRIMITIVE_TOPOLOGY; 27typedef D3D_SRV_DIMENSION D3D11_SRV_DIMENSION; 28typedef RECT D3D11_RECT; 29 30interface ID3D11Device; 31interface ID3D11ClassLinkage; 32interface ID3D11Resource; 33interface ID3D11VideoProcessorInputView; 34 35cpp_quote("#ifndef _D3D11_CONSTANTS") 36cpp_quote("#define _D3D11_CONSTANTS") 37 38const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14; 39const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4; 40const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32; 41const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15; 42const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT = 16; 43const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4; 44const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15; 45const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1; 46const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1; 47const UINT D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64; 48const UINT D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4; 49const UINT D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1; 50const UINT D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1; 51const UINT D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1; 52const UINT D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32; 53const UINT D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1; 54const UINT D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128; 55const UINT D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1; 56const UINT D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1; 57const UINT D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128; 58const UINT D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1; 59const UINT D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16; 60const UINT D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1; 61const UINT D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1; 62const UINT D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT = 16; 63const UINT D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32; 64const UINT D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4; 65const UINT D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32; 66const UINT D3D11_COMMONSHADER_TEMP_REGISTER_COUNT = 4096; 67const UINT D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3; 68const UINT D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3; 69const UINT D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10; 70const INT D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10; 71const INT D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8; 72const UINT D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7; 73 74const UINT D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 256; 75const UINT D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP = 64; 76const UINT D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 240; 77const UINT D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP = 68; 78const UINT D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 224; 79const UINT D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP = 72; 80const UINT D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 208; 81const UINT D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP = 76; 82const UINT D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 192; 83const UINT D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP = 84; 84const UINT D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 176; 85const UINT D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP = 92; 86const UINT D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 160; 87const UINT D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP = 100; 88const UINT D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 144; 89const UINT D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP = 112; 90const UINT D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 128; 91const UINT D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP = 128; 92const UINT D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 112; 93const UINT D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP = 144; 94const UINT D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 96; 95const UINT D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP = 168; 96const UINT D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 80; 97const UINT D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP = 204; 98const UINT D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 64; 99const UINT D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP = 256; 100const UINT D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 48; 101const UINT D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP = 340; 102const UINT D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 32; 103const UINT D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP = 512; 104const UINT D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 16; 105const UINT D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP = 768; 106const UINT D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION = 1; 107const UINT D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT = 256; 108const UINT D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP = 768; 109const UINT D3D11_CS_4_X_THREAD_GROUP_MAX_X = 768; 110const UINT D3D11_CS_4_X_THREAD_GROUP_MAX_Y = 768; 111const UINT D3D11_CS_4_X_UAV_REGISTER_COUNT = 1; 112const UINT D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION = 65535; 113const UINT D3D11_CS_TGSM_REGISTER_COUNT = 8192; 114const UINT D3D11_CS_TGSM_REGISTER_READS_PER_INST = 1; 115const UINT D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS = 1; 116const UINT D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS = 1; 117const UINT D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP = 1024; 118const UINT D3D11_CS_THREAD_GROUP_MAX_X = 1024; 119const UINT D3D11_CS_THREAD_GROUP_MAX_Y = 1024; 120const UINT D3D11_CS_THREAD_GROUP_MAX_Z = 64; 121const UINT D3D11_CS_THREAD_GROUP_MIN_X = 1; 122const UINT D3D11_CS_THREAD_GROUP_MIN_Y = 1; 123const UINT D3D11_CS_THREAD_GROUP_MIN_Z = 1; 124const UINT D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL = 16384; 125 126const UINT D3D11_DEFAULT_DEPTH_BIAS = 0; 127cpp_quote("#define D3D11_DEFAULT_DEPTH_BIAS_CLAMP 0.0f") 128const UINT D3D11_DEFAULT_MAX_ANISOTROPY = 16; 129cpp_quote("#define D3D11_DEFAULT_MIP_LOD_BIAS 0.0f") 130const UINT D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0; 131const UINT D3D11_DEFAULT_SAMPLE_MASK = 0xffffffff; 132const UINT D3D11_DEFAULT_SCISSOR_ENDX = 0; 133const UINT D3D11_DEFAULT_SCISSOR_ENDY = 0; 134const UINT D3D11_DEFAULT_SCISSOR_STARTX = 0; 135const UINT D3D11_DEFAULT_SCISSOR_STARTY = 0; 136cpp_quote("#define D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS 0.0f") 137const UINT D3D11_DEFAULT_STENCIL_READ_MASK = 0xff; 138const UINT D3D11_DEFAULT_STENCIL_REFERENCE = 0; 139const UINT D3D11_DEFAULT_STENCIL_WRITE_MASK = 0xff; 140const UINT D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0; 141const UINT D3D11_DEFAULT_VIEWPORT_HEIGHT = 0; 142cpp_quote("#define D3D11_DEFAULT_VIEWPORT_MAX_DEPTH 0.0f") 143cpp_quote("#define D3D11_DEFAULT_VIEWPORT_MIN_DEPTH 0.0f") 144const UINT D3D11_DEFAULT_VIEWPORT_TOPLEFTX = 0; 145const UINT D3D11_DEFAULT_VIEWPORT_TOPLEFTY = 0; 146const UINT D3D11_DEFAULT_VIEWPORT_WIDTH = 0; 147 148cpp_quote("#define D3D11_FLOAT32_MAX (3.402823466e+38f)") 149 150const UINT D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 32; 151 152const unsigned int D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT = 8; 153 154const UINT D3D11_MAX_MAXANISOTROPY = 16; 155const UINT D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT = 32; 156const UINT D3D11_VIEWPORT_BOUNDS_MAX = 32767; 157const INT D3D11_VIEWPORT_BOUNDS_MIN = -32768; 158const UINT D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15; 159const UINT D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16; 160 161const UINT D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL = 0xffffffff; 162const UINT D3D11_KEEP_UNORDERED_ACCESS_VIEWS = 0xffffffff; 163 164const UINT D3D11_SHADER_MAJOR_VERSION = 5; 165const UINT D3D11_SHADER_MAX_INSTANCES = 65535; 166const UINT D3D11_SHADER_MAX_INTERFACES = 253; 167const UINT D3D11_SHADER_MAX_INTERFACE_CALL_SITES = 4096; 168const UINT D3D11_SHADER_MAX_TYPES = 65535; 169const UINT D3D11_SHADER_MINOR_VERSION = 0; 170const UINT D3D11_VS_OUTPUT_REGISTER_COUNT = 32; 171 172const UINT D3D11_OMAC_SIZE = 16; 173 174const UINT D3D11_PS_CS_UAV_REGISTER_COMPONENTS = 1; 175const UINT D3D11_PS_CS_UAV_REGISTER_COUNT = 8; 176const UINT D3D11_PS_CS_UAV_REGISTER_READS_PER_INST = 1; 177const UINT D3D11_PS_CS_UAV_REGISTER_READ_PORTS = 1; 178const UINT D3D11_PS_FRONTFACING_DEFAULT_VALUE = 0xffffffff; 179const UINT D3D11_PS_FRONTFACING_FALSE_VALUE = 0; 180const UINT D3D11_PS_FRONTFACING_TRUE_VALUE = 0xffffffff; 181const UINT D3D11_PS_INPUT_REGISTER_COMPONENTS = 4; 182const UINT D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32; 183const UINT D3D11_PS_INPUT_REGISTER_COUNT = 32; 184const UINT D3D11_PS_INPUT_REGISTER_READS_PER_INST = 2; 185const UINT D3D11_PS_INPUT_REGISTER_READ_PORTS = 1; 186cpp_quote("#define D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.0f)") 187const UINT D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1; 188const UINT D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32; 189const UINT D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1; 190const UINT D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS = 1; 191const UINT D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT = 32; 192const UINT D3D11_PS_OUTPUT_MASK_REGISTER_COUNT = 1; 193const UINT D3D11_PS_OUTPUT_REGISTER_COMPONENTS = 4; 194const UINT D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32; 195const UINT D3D11_PS_OUTPUT_REGISTER_COUNT = 8; 196cpp_quote("#define D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.5f)") 197 198const UINT D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT = 16; 199 200const UINT D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE = 4096; 201const UINT D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27; 202const UINT D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096; 203const UINT D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE = 4096; 204const UINT D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32; 205const UINT D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32; 206const UINT D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 16384; 207const UINT D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024; 208const UINT D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096; 209const UINT D3D11_REQ_MAXANISOTROPY = 16; 210const UINT D3D11_REQ_MIP_LEVELS = 15; 211const UINT D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048; 212const UINT D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE = 4096; 213const UINT D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 16384; 214const UINT D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM = 128; 215cpp_quote("#define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0.25f)") 216const UINT D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM = 2048; 217const UINT D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP = 20; 218const UINT D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE = 4096; 219const UINT D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 2048; 220const UINT D3D11_REQ_TEXTURE1D_U_DIMENSION = 16384; 221const UINT D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 2048; 222const UINT D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION = 16384; 223const UINT D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048; 224const UINT D3D11_REQ_TEXTURECUBE_DIMENSION = 16384; 225 226const UINT D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0; 227 228const UINT D3D11_SHIFT_INSTRUCTION_PAD_VALUE = 0; 229const UINT D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5; 230 231const UINT D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048; 232const UINT D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 512; 233const UINT D3D11_SO_BUFFER_SLOT_COUNT = 4; 234const UINT D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP = 0xffffffff; 235const UINT D3D11_SO_NO_RASTERIZED_STREAM = 0xffffffff; 236const UINT D3D11_SO_OUTPUT_COMPONENT_COUNT = 128; 237const UINT D3D11_SO_STREAM_COUNT = 4; 238 239const UINT D3D11_SPEC_DATE_DAY = 16; 240const UINT D3D11_SPEC_DATE_MONTH = 05; 241const UINT D3D11_SPEC_DATE_YEAR = 2011; 242 243cpp_quote("#define D3D11_SPEC_VERSION (1.07)") 244cpp_quote("#define D3D11_SRGB_GAMMA (2.2f)") 245cpp_quote("#define D3D11_SRGB_TO_FLOAT_DENOMINATOR_1 (12.92f)") 246cpp_quote("#define D3D11_SRGB_TO_FLOAT_DENOMINATOR_2 (1.055f)") 247cpp_quote("#define D3D11_SRGB_TO_FLOAT_EXPONENT (2.4f)") 248cpp_quote("#define D3D11_SRGB_TO_FLOAT_OFFSET (0.055f)") 249cpp_quote("#define D3D11_SRGB_TO_FLOAT_THRESHOLD (0.04045f)") 250cpp_quote("#define D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP (0.5f)") 251 252const UINT D3D11_STANDARD_COMPONENT_BIT_COUNT = 32; 253const UINT D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64; 254const UINT D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4; 255const UINT D3D11_STANDARD_PIXEL_COMPONENT_COUNT = 128; 256const UINT D3D11_STANDARD_PIXEL_ELEMENT_COUNT = 32; 257const UINT D3D11_STANDARD_VECTOR_SIZE = 4; 258const UINT D3D11_STANDARD_VERTEX_ELEMENT_COUNT = 32; 259const UINT D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64; 260 261cpp_quote("#endif") 262 263cpp_quote("#ifndef _D3D11_1_CONSTANTS") 264cpp_quote("#define _D3D11_1_CONSTANTS") 265const UINT D3D11_1_UAV_SLOT_COUNT = 64; 266cpp_quote("#endif") 267 268cpp_quote("#ifndef _D3D11_2_CONSTANTS") 269cpp_quote("#define _D3D11_2_CONSTANTS") 270const UINT D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES = 0x10000; 271cpp_quote("#endif") 272 273cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") 274cpp_quote("struct CD3D11_DEFAULT {};") 275cpp_quote("extern const DECLSPEC_SELECTANY CD3D11_DEFAULT D3D11_DEFAULT;") 276cpp_quote("#endif") 277 278typedef enum D3D11_BLEND 279{ 280 D3D11_BLEND_ZERO = 1, 281 D3D11_BLEND_ONE = 2, 282 D3D11_BLEND_SRC_COLOR = 3, 283 D3D11_BLEND_INV_SRC_COLOR = 4, 284 D3D11_BLEND_SRC_ALPHA = 5, 285 D3D11_BLEND_INV_SRC_ALPHA = 6, 286 D3D11_BLEND_DEST_ALPHA = 7, 287 D3D11_BLEND_INV_DEST_ALPHA = 8, 288 D3D11_BLEND_DEST_COLOR = 9, 289 D3D11_BLEND_INV_DEST_COLOR = 10, 290 D3D11_BLEND_SRC_ALPHA_SAT = 11, 291 D3D11_BLEND_BLEND_FACTOR = 14, 292 D3D11_BLEND_INV_BLEND_FACTOR = 15, 293 D3D11_BLEND_SRC1_COLOR = 16, 294 D3D11_BLEND_INV_SRC1_COLOR = 17, 295 D3D11_BLEND_SRC1_ALPHA = 18, 296 D3D11_BLEND_INV_SRC1_ALPHA = 19, 297} D3D11_BLEND; 298 299typedef enum D3D11_BLEND_OP 300{ 301 D3D11_BLEND_OP_ADD = 1, 302 D3D11_BLEND_OP_SUBTRACT, 303 D3D11_BLEND_OP_REV_SUBTRACT, 304 D3D11_BLEND_OP_MIN, 305 D3D11_BLEND_OP_MAX 306} D3D11_BLEND_OP; 307 308typedef enum D3D11_VIDEO_DECODER_BUFFER_TYPE 309{ 310 D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS = 0, 311 D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL = 1, 312 D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE = 2, 313 D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL = 3, 314 D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX = 4, 315 D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL = 5, 316 D3D11_VIDEO_DECODER_BUFFER_BITSTREAM = 6, 317 D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR = 7, 318 D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN = 8, 319} D3D11_VIDEO_DECODER_BUFFER_TYPE; 320 321typedef enum D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE 322{ 323 D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE = 0, 324 D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND = 1, 325 D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION = 2, 326 D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM = 3, 327} D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE; 328 329typedef enum D3D11_VIDEO_PROCESSOR_OUTPUT_RATE 330{ 331 D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL = 0, 332 D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF = 1, 333 D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM = 2, 334} D3D11_VIDEO_PROCESSOR_OUTPUT_RATE; 335 336typedef enum D3D11_VIDEO_PROCESSOR_STEREO_FORMAT 337{ 338 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO = 0, 339 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL = 1, 340 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL = 2, 341 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE = 3, 342 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET = 4, 343 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED = 5, 344 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED = 6, 345 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD = 7, 346} D3D11_VIDEO_PROCESSOR_STEREO_FORMAT; 347 348typedef enum D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE 349{ 350 D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE = 0, 351 D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0 = 1, 352 D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1 = 2, 353} D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE; 354 355typedef enum D3D11_VIDEO_PROCESSOR_ROTATION 356{ 357 D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY = 0, 358 D3D11_VIDEO_PROCESSOR_ROTATION_90 = 1, 359 D3D11_VIDEO_PROCESSOR_ROTATION_180 = 2, 360 D3D11_VIDEO_PROCESSOR_ROTATION_270 = 3, 361} D3D11_VIDEO_PROCESSOR_ROTATION; 362 363typedef enum D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS 364{ 365 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND = 0x01, 366 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB = 0x02, 367 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE = 0x04, 368 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION = 0x08, 369 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_INVERSE_TELECINE = 0x10, 370 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_FRAME_RATE_CONVERSION = 0x20, 371} D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS; 372 373typedef enum D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS 374{ 375 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32 = 0x00000001, 376 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_22 = 0x00000002, 377 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2224 = 0x00000004, 378 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2332 = 0x00000008, 379 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32322 = 0x00000010, 380 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_55 = 0x00000020, 381 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_64 = 0x00000040, 382 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_87 = 0x00000080, 383 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_222222222223 = 0x00000100, 384 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_OTHER = 0x80000000, 385} D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS; 386 387typedef enum D3D11_CONTENT_PROTECTION_CAPS 388{ 389 D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE = 0x00000001, 390 D3D11_CONTENT_PROTECTION_CAPS_HARDWARE = 0x00000002, 391 D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON = 0x00000004, 392 D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION = 0x00000008, 393 D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY = 0x00000010, 394 D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY = 0x00000020, 395 D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK = 0x00000040, 396 D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY = 0x00000080, 397 D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV = 0x00000100, 398 D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY = 0x00000200, 399 D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT = 0x00000400, 400 D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED = 0x00000800, 401 D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE = 0x00001000, 402 D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN = 0x00002000, 403 D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION = 0x00004000, 404} D3D11_CONTENT_PROTECTION_CAPS; 405 406typedef enum D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE 407{ 408 D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED = 0x00000000, 409 D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235 = 0x00000001, 410 D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255 = 0x00000002, 411} D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE; 412 413typedef enum D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE 414{ 415 D3D11_PROCESSIDTYPE_UNKNOWN = 0x00000000, 416 D3D11_PROCESSIDTYPE_DWM = 0x00000001, 417 D3D11_PROCESSIDTYPE_HANDLE = 0x00000002, 418} D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE; 419 420typedef enum D3D11_BUS_TYPE 421{ 422 D3D11_BUS_TYPE_OTHER = 0x00000000, 423 D3D11_BUS_TYPE_PCI = 0x00000001, 424 D3D11_BUS_TYPE_PCIX = 0x00000002, 425 D3D11_BUS_TYPE_PCIEXPRESS = 0x00000003, 426 D3D11_BUS_TYPE_AGP = 0x00000004, 427 D3D11_BUS_IMPL_MODIFIER_INSIDE_OF_CHIPSET = 0x00010000, 428 D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP = 0x00020000, 429 D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET = 0x00030000, 430 D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR = 0x00040000, 431 D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE = 0x00050000, 432 D3D11_BUS_IMPL_MODIFIER_NON_STANDARD = 0x80000000, 433} D3D11_BUS_TYPE; 434 435typedef struct D3D11_BOX 436{ 437 UINT left; 438 UINT top; 439 UINT front; 440 UINT right; 441 UINT bottom; 442 UINT back; 443} D3D11_BOX; 444 445typedef struct D3D11_BUFFER_RTV 446{ 447 union 448 { 449 UINT FirstElement; 450 UINT ElementOffset; 451 }; 452 union 453 { 454 UINT NumElements; 455 UINT ElementWidth; 456 }; 457} D3D11_BUFFER_RTV; 458 459typedef struct D3D11_BUFFER_SRV 460{ 461 union 462 { 463 UINT FirstElement; 464 UINT ElementOffset; 465 }; 466 union 467 { 468 UINT NumElements; 469 UINT ElementWidth; 470 }; 471} D3D11_BUFFER_SRV; 472 473typedef struct D3D11_BUFFER_UAV 474{ 475 UINT FirstElement; 476 UINT NumElements; 477 UINT Flags; 478} D3D11_BUFFER_UAV; 479 480typedef struct D3D11_BUFFEREX_SRV 481{ 482 UINT FirstElement; 483 UINT NumElements; 484 UINT Flags; 485} D3D11_BUFFEREX_SRV; 486 487typedef struct D3D11_CLASS_INSTANCE_DESC 488{ 489 UINT InstanceId; 490 UINT InstanceIndex; 491 UINT TypeId; 492 UINT ConstantBuffer; 493 UINT BaseConstantBufferOffset; 494 UINT BaseTexture; 495 UINT BaseSampler; 496 BOOL Created; 497} D3D11_CLASS_INSTANCE_DESC; 498 499typedef enum D3D11_COMPARISON_FUNC 500{ 501 D3D11_COMPARISON_NEVER = 1, 502 D3D11_COMPARISON_LESS, 503 D3D11_COMPARISON_EQUAL, 504 D3D11_COMPARISON_LESS_EQUAL, 505 D3D11_COMPARISON_GREATER, 506 D3D11_COMPARISON_NOT_EQUAL, 507 D3D11_COMPARISON_GREATER_EQUAL, 508 D3D11_COMPARISON_ALWAYS 509} D3D11_COMPARISON_FUNC; 510 511typedef enum D3D11_COUNTER 512{ 513 D3D11_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000, 514} D3D11_COUNTER; 515 516typedef struct D3D11_COUNTER_DESC 517{ 518 D3D11_COUNTER Counter; 519 UINT MiscFlags; 520} D3D11_COUNTER_DESC; 521 522typedef struct D3D11_COUNTER_INFO 523{ 524 D3D11_COUNTER LastDeviceDependentCounter; 525 UINT NumSimultaneousCounters; 526 UINT8 NumDetectableParallelUnits; 527} D3D11_COUNTER_INFO; 528 529typedef enum D3D11_COUNTER_TYPE 530{ 531 D3D11_COUNTER_TYPE_FLOAT32, 532 D3D11_COUNTER_TYPE_UINT16, 533 D3D11_COUNTER_TYPE_UINT32, 534 D3D11_COUNTER_TYPE_UINT64, 535} D3D11_COUNTER_TYPE; 536 537typedef enum D3D11_CULL_MODE 538{ 539 D3D11_CULL_NONE = 1, 540 D3D11_CULL_FRONT, 541 D3D11_CULL_BACK 542} D3D11_CULL_MODE; 543 544typedef enum D3D11_DEPTH_WRITE_MASK 545{ 546 D3D11_DEPTH_WRITE_MASK_ZERO, 547 D3D11_DEPTH_WRITE_MASK_ALL, 548} D3D11_DEPTH_WRITE_MASK; 549 550typedef enum D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS 551{ 552 D3D11_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff, 553 D3D11_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe, 554} D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS; 555 556typedef enum D3D11_DEVICE_CONTEXT_TYPE 557{ 558 D3D11_DEVICE_CONTEXT_IMMEDIATE, 559 D3D11_DEVICE_CONTEXT_DEFERRED, 560} D3D11_DEVICE_CONTEXT_TYPE; 561 562typedef enum D3D11_DSV_DIMENSION 563{ 564 D3D11_DSV_DIMENSION_UNKNOWN, 565 D3D11_DSV_DIMENSION_TEXTURE1D, 566 D3D11_DSV_DIMENSION_TEXTURE1DARRAY, 567 D3D11_DSV_DIMENSION_TEXTURE2D, 568 D3D11_DSV_DIMENSION_TEXTURE2DARRAY, 569 D3D11_DSV_DIMENSION_TEXTURE2DMS, 570 D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY, 571} D3D11_DSV_DIMENSION; 572 573typedef enum D3D11_FEATURE 574{ 575 D3D11_FEATURE_THREADING, 576 D3D11_FEATURE_DOUBLES, 577 D3D11_FEATURE_FORMAT_SUPPORT, 578 D3D11_FEATURE_FORMAT_SUPPORT2, 579 D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS, 580 D3D11_FEATURE_D3D11_OPTIONS, 581 D3D11_FEATURE_ARCHITECTURE_INFO, 582 D3D11_FEATURE_D3D9_OPTIONS, 583 D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT, 584 D3D11_FEATURE_D3D9_SHADOW_SUPPORT, 585 D3D11_FEATURE_D3D11_OPTIONS1, 586 D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT, 587 D3D11_FEATURE_MARKER_SUPPORT, 588 D3D11_FEATURE_D3D9_OPTIONS1, 589 D3D11_FEATURE_D3D11_OPTIONS2, 590 D3D11_FEATURE_D3D11_OPTIONS3, 591 D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT, 592 D3D11_FEATURE_D3D11_OPTIONS4, 593 D3D11_FEATURE_SHADER_CACHE, 594} D3D11_FEATURE; 595 596typedef struct D3D11_FEATURE_DATA_THREADING 597{ 598 BOOL DriverConcurrentCreates; 599 BOOL DriverCommandLists; 600} D3D11_FEATURE_DATA_THREADING; 601 602typedef struct D3D11_FEATURE_DATA_DOUBLES 603{ 604 BOOL DoublePrecisionFloatShaderOps; 605} D3D11_FEATURE_DATA_DOUBLES; 606 607typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT 608{ 609 DXGI_FORMAT InFormat; 610 UINT OutFormatSupport; 611} D3D11_FEATURE_DATA_FORMAT_SUPPORT; 612 613typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT2 614{ 615 DXGI_FORMAT InFormat; 616 UINT OutFormatSupport2; 617} D3D11_FEATURE_DATA_FORMAT_SUPPORT2; 618 619typedef struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS 620{ 621 BOOL ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x; 622} D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS; 623 624typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS 625{ 626 BOOL OutputMergerLogicOp; 627 BOOL UAVOnlyRenderingForcedSampleCount; 628 BOOL DiscardAPIsSeenByDriver; 629 BOOL FlagsForUpdateAndCopySeenByDriver; 630 BOOL ClearView; 631 BOOL CopyWithOverlap; 632 BOOL ConstantBufferPartialUpdate; 633 BOOL ConstantBufferOffsetting; 634 BOOL MapNoOverwriteOnDynamicConstantBuffer; 635 BOOL MapNoOverwriteOnDynamicBufferSRV; 636 BOOL MultisampleRTVWithForcedSampleCountOne; 637 BOOL SAD4ShaderInstructions; 638 BOOL ExtendedDoublesShaderInstructions; 639 BOOL ExtendedResourceSharing; 640} D3D11_FEATURE_DATA_D3D11_OPTIONS; 641 642typedef struct D3D11_FEATURE_DATA_ARCHITECTURE_INFO 643{ 644 BOOL TileBasedDeferredRenderer; 645} D3D11_FEATURE_DATA_ARCHITECTURE_INFO; 646 647typedef struct D3D11_FEATURE_DATA_D3D9_OPTIONS 648{ 649 BOOL FullNonPow2TextureSupport; 650} D3D11_FEATURE_DATA_D3D9_OPTIONS; 651 652typedef struct D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT 653{ 654 BOOL SupportsDepthAsTextureWithLessEqualComparisonFilter; 655} D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT; 656 657typedef enum D3D11_SHADER_MIN_PRECISION_SUPPORT 658{ 659 D3D11_SHADER_MIN_PRECISION_10_BIT = 0x1, 660 D3D11_SHADER_MIN_PRECISION_16_BIT = 0x2, 661} D3D11_SHADER_MIN_PRECISION_SUPPORT; 662 663typedef struct D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT 664{ 665 UINT PixelShaderMinPrecision; 666 UINT AllOtherShaderStagesMinPrecision; 667} D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT; 668 669typedef enum D3D11_TILED_RESOURCES_TIER 670{ 671 D3D11_TILED_RESOURCES_NOT_SUPPORTED = 0x0, 672 D3D11_TILED_RESOURCES_TIER_1 = 0x1, 673 D3D11_TILED_RESOURCES_TIER_2 = 0x2, 674 D3D11_TILED_RESOURCES_TIER_3 = 0x3, 675} D3D11_TILED_RESOURCES_TIER; 676 677typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS1 678{ 679 D3D11_TILED_RESOURCES_TIER TiledResourcesTier; 680 BOOL MinMaxFiltering; 681 BOOL ClearViewAlsoSupportsDepthOnlyFormats; 682 BOOL MapOnDefaultBuffers; 683} D3D11_FEATURE_DATA_D3D11_OPTIONS1; 684 685typedef struct D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT 686{ 687 BOOL SimpleInstancingSupported; 688} D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT; 689 690typedef struct D3D11_FEATURE_DATA_MARKER_SUPPORT 691{ 692 BOOL Profile; 693} D3D11_FEATURE_DATA_MARKER_SUPPORT; 694 695typedef struct D3D11_FEATURE_DATA_D3D9_OPTIONS1 696{ 697 BOOL FullNonPow2TextureSupported; 698 BOOL DepthAsTextureWithLessEqualComparisonFilterSupported; 699 BOOL SimpleInstancingSupported; 700 BOOL TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported; 701} D3D11_FEATURE_DATA_D3D9_OPTIONS1; 702 703typedef enum D3D11_CONSERVATIVE_RASTERIZATION_TIER 704{ 705 D3D11_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED = 0x0, 706 D3D11_CONSERVATIVE_RASTERIZATION_TIER_1 = 0x1, 707 D3D11_CONSERVATIVE_RASTERIZATION_TIER_2 = 0x2, 708 D3D11_CONSERVATIVE_RASTERIZATION_TIER_3 = 0x3, 709} D3D11_CONSERVATIVE_RASTERIZATION_TIER; 710 711typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS2 712{ 713 BOOL PSSpecifiedStencilRefSupported; 714 BOOL TypedUAVLoadAdditionalFormats; 715 BOOL ROVsSupported; 716 D3D11_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier; 717 D3D11_TILED_RESOURCES_TIER TiledResourcesTier; 718 BOOL MapOnDefaultTextures; 719 BOOL StandardSwizzle; 720 BOOL UnifiedMemoryArchitecture; 721} D3D11_FEATURE_DATA_D3D11_OPTIONS2; 722 723typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS3 724{ 725 BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizer; 726} D3D11_FEATURE_DATA_D3D11_OPTIONS3; 727 728typedef struct D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT 729{ 730 UINT MaxGPUVirtualAddressBitsPerResource; 731 UINT MaxGPUVirtualAddressBitsPerProcess; 732} D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT; 733 734typedef enum D3D11_SHADER_CACHE_SUPPORT_FLAGS 735{ 736 D3D11_SHADER_CACHE_SUPPORT_NONE = 0x0, 737 D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x1, 738 D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x2, 739} D3D11_SHADER_CACHE_SUPPORT_FLAGS; 740 741typedef struct D3D11_FEATURE_DATA_SHADER_CACHE 742{ 743 UINT SupportFlags; 744} D3D11_FEATURE_DATA_SHADER_CACHE; 745 746typedef enum D3D11_FILL_MODE 747{ 748 D3D11_FILL_WIREFRAME = 2, 749 D3D11_FILL_SOLID 750} D3D11_FILL_MODE; 751 752typedef enum D3D11_FILTER_TYPE 753{ 754 D3D11_FILTER_TYPE_POINT = 0, 755 D3D11_FILTER_TYPE_LINEAR = 1 756} D3D11_FILTER_TYPE; 757 758const UINT D3D11_MIN_FILTER_SHIFT = 4; 759const UINT D3D11_MAG_FILTER_SHIFT = 2; 760const UINT D3D11_MIP_FILTER_SHIFT = 0; 761const UINT D3D11_FILTER_TYPE_MASK = 0x00000003; 762const UINT D3D11_COMPARISON_FILTERING_BIT = 0x00000080; 763const UINT D3D11_ANISOTROPIC_FILTERING_BIT = 0x00000040; 764 765cpp_quote("#define D3D11_ENCODE_BASIC_FILTER(min, mag, mip, bComparison) \\") 766cpp_quote(" ((D3D11_FILTER)(((bComparison) ? D3D11_COMPARISON_FILTERING_BIT : 0 ) | \\") 767cpp_quote(" (((min)&D3D11_FILTER_TYPE_MASK) << D3D11_MIN_FILTER_SHIFT) | \\") 768cpp_quote(" (((mag)&D3D11_FILTER_TYPE_MASK) << D3D11_MAG_FILTER_SHIFT) | \\") 769cpp_quote(" (((mip)&D3D11_FILTER_TYPE_MASK) << D3D11_MIP_FILTER_SHIFT)))") 770 771cpp_quote("#define D3D11_ENCODE_ANISOTROPIC_FILTER(bComparison) \\") 772cpp_quote(" ((D3D11_FILTER)(D3D11_ANISOTROPIC_FILTERING_BIT | \\" ) 773cpp_quote(" D3D11_ENCODE_BASIC_FILTER(D3D11_FILTER_TYPE_LINEAR,D3D11_FILTER_TYPE_LINEAR, \\" ) 774cpp_quote(" D3D11_FILTER_TYPE_LINEAR,bComparison)))" ) 775 776cpp_quote("#define D3D11_DECODE_MIN_FILTER(d3d11Filter) \\") 777cpp_quote(" ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIN_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))") 778 779cpp_quote("#define D3D11_DECODE_MAG_FILTER(d3d11Filter) \\") 780cpp_quote(" ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MAG_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))") 781 782cpp_quote("#define D3D11_DECODE_MIP_FILTER(d3d11Filter) \\") 783cpp_quote(" ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIP_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))") 784 785cpp_quote("#define D3D11_DECODE_IS_COMPARISON_FILTER(d3d11Filter) ((d3d11Filter) & D3D11_COMPARISON_FILTERING_BIT)") 786 787cpp_quote("#define D3D11_DECODE_IS_ANISOTROPIC_FILTER(d3d11Filter) \\") 788cpp_quote(" (((d3d11Filter) & D3D11_ANISOTROPIC_FILTERING_BIT ) \\" ) 789cpp_quote(" && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIN_FILTER(d3d11Filter)) \\" ) 790cpp_quote(" && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MAG_FILTER(d3d11Filter)) \\" ) 791cpp_quote(" && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIP_FILTER(d3d11Filter)))") 792 793typedef enum D3D11_FILTER 794{ 795 D3D11_FILTER_MIN_MAG_MIP_POINT = 0x00, 796 D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x01, 797 D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x04, 798 D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x05, 799 D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10, 800 D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11, 801 D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14, 802 D3D11_FILTER_MIN_MAG_MIP_LINEAR = 0x15, 803 D3D11_FILTER_ANISOTROPIC = 0x55, 804 D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80, 805 D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81, 806 D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84, 807 D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85, 808 D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90, 809 D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91, 810 D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94, 811 D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95, 812 D3D11_FILTER_COMPARISON_ANISOTROPIC = 0xd5 813} D3D11_FILTER; 814 815typedef enum D3D11_DSV_FLAG 816{ 817 D3D11_DSV_READ_ONLY_DEPTH = 0x1, 818 D3D11_DSV_READ_ONLY_STENCIL = 0x2, 819} D3D11_DSV_FLAG; 820 821typedef enum D3D11_BUFFEREX_SRV_FLAG 822{ 823 D3D11_BUFFEREX_SRV_FLAG_RAW = 0x1, 824} D3D11_BUFFEREX_SRV_FLAG; 825 826typedef enum D3D11_UAV_FLAG 827{ 828 D3D11_BUFFER_UAV_FLAG_RAW = 0x1, 829 D3D11_BUFFER_UAV_FLAG_APPEND = 0x2, 830 D3D11_BUFFER_UAV_FLAG_COUNTER = 0x4, 831} D3D11_UAV_FLAG; 832 833typedef enum D3D11_INPUT_CLASSIFICATION 834{ 835 D3D11_INPUT_PER_VERTEX_DATA, 836 D3D11_INPUT_PER_INSTANCE_DATA, 837} D3D11_INPUT_CLASSIFICATION; 838 839const UINT D3D11_APPEND_ALIGNED_ELEMENT = 0xffffffff; 840 841typedef struct D3D11_INPUT_ELEMENT_DESC 842{ 843 LPCSTR SemanticName; 844 UINT SemanticIndex; 845 DXGI_FORMAT Format; 846 UINT InputSlot; 847 UINT AlignedByteOffset; 848 D3D11_INPUT_CLASSIFICATION InputSlotClass; 849 UINT InstanceDataStepRate; 850} D3D11_INPUT_ELEMENT_DESC; 851 852typedef enum D3D11_MAP 853{ 854 D3D11_MAP_READ = 1, 855 D3D11_MAP_WRITE, 856 D3D11_MAP_READ_WRITE, 857 D3D11_MAP_WRITE_DISCARD, 858 D3D11_MAP_WRITE_NO_OVERWRITE 859} D3D11_MAP; 860 861typedef enum D3D11_MAP_FLAG 862{ 863 D3D11_MAP_FLAG_DO_NOT_WAIT = 0x00100000 864} D3D11_MAP_FLAG; 865 866typedef struct D3D11_QUERY_DATA_SO_STATISTICS 867{ 868 UINT64 NumPrimitivesWritten; 869 UINT64 PrimitivesStorageNeeded; 870} D3D11_QUERY_DATA_SO_STATISTICS; 871 872typedef struct D3D11_MAPPED_SUBRESOURCE 873{ 874 void *pData; 875 UINT RowPitch; 876 UINT DepthPitch; 877} D3D11_MAPPED_SUBRESOURCE; 878 879typedef enum D3D11_QUERY 880{ 881 D3D11_QUERY_EVENT, 882 D3D11_QUERY_OCCLUSION, 883 D3D11_QUERY_TIMESTAMP, 884 D3D11_QUERY_TIMESTAMP_DISJOINT, 885 D3D11_QUERY_PIPELINE_STATISTICS, 886 D3D11_QUERY_OCCLUSION_PREDICATE, 887 D3D11_QUERY_SO_STATISTICS, 888 D3D11_QUERY_SO_OVERFLOW_PREDICATE, 889 D3D11_QUERY_SO_STATISTICS_STREAM0, 890 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0, 891 D3D11_QUERY_SO_STATISTICS_STREAM1, 892 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1, 893 D3D11_QUERY_SO_STATISTICS_STREAM2, 894 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2, 895 D3D11_QUERY_SO_STATISTICS_STREAM3, 896 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3, 897} D3D11_QUERY; 898 899typedef enum D3D11_QUERY_MISC_FLAG 900{ 901 D3D11_QUERY_MISC_PREDICATEHINT = 0x1, 902} D3D11_QUERY_MISC_FLAG; 903 904typedef enum D3D11_ASYNC_GETDATA_FLAG 905{ 906 D3D11_ASYNC_GETDATA_DONOTFLUSH = 0x0001, 907} D3D11_ASYNC_GETDATA_FLAG; 908 909typedef enum D3D11_RESOURCE_MISC_FLAG 910{ 911 D3D11_RESOURCE_MISC_GENERATE_MIPS = 0x00000001L, 912 D3D11_RESOURCE_MISC_SHARED = 0x00000002L, 913 D3D11_RESOURCE_MISC_TEXTURECUBE = 0x00000004L, 914 D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x00000010L, 915 D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x00000020L, 916 D3D11_RESOURCE_MISC_BUFFER_STRUCTURED = 0x00000040L, 917 D3D11_RESOURCE_MISC_RESOURCE_CLAMP = 0x00000080L, 918 D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x00000100L, 919 D3D11_RESOURCE_MISC_GDI_COMPATIBLE = 0x00000200L, 920 D3D11_RESOURCE_MISC_SHARED_NTHANDLE = 0x00000800L, 921 D3D11_RESOURCE_MISC_RESTRICTED_CONTENT = 0x00001000L, 922 D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE = 0x00002000L, 923 D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER = 0x00004000L, 924 D3D11_RESOURCE_MISC_GUARDED = 0x00008000L 925} D3D11_RESOURCE_MISC_FLAG; 926 927typedef struct D3D11_QUERY_DESC 928{ 929 D3D11_QUERY Query; 930 UINT MiscFlags; 931} D3D11_QUERY_DESC; 932 933cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") 934cpp_quote("struct CD3D11_QUERY_DESC : public D3D11_QUERY_DESC {") 935cpp_quote(" CD3D11_QUERY_DESC() {}") 936cpp_quote(" ~CD3D11_QUERY_DESC() {}") 937cpp_quote(" explicit CD3D11_QUERY_DESC(const D3D11_QUERY_DESC &other) : D3D11_QUERY_DESC(other) {}") 938cpp_quote(" explicit CD3D11_QUERY_DESC(D3D11_QUERY query, UINT misc_flags = 0) {") 939cpp_quote(" Query = query;") 940cpp_quote(" MiscFlags = misc_flags;") 941cpp_quote(" }") 942cpp_quote(" operator const D3D11_QUERY_DESC&() const {") 943cpp_quote(" return *this;") 944cpp_quote(" }") 945cpp_quote("};") 946cpp_quote("#endif") 947 948typedef struct D3D11_RASTERIZER_DESC 949{ 950 D3D11_FILL_MODE FillMode; 951 D3D11_CULL_MODE CullMode; 952 BOOL FrontCounterClockwise; 953 INT DepthBias; 954 FLOAT DepthBiasClamp; 955 FLOAT SlopeScaledDepthBias; 956 BOOL DepthClipEnable; 957 BOOL ScissorEnable; 958 BOOL MultisampleEnable; 959 BOOL AntialiasedLineEnable; 960} D3D11_RASTERIZER_DESC; 961 962cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") 963cpp_quote("struct CD3D11_RASTERIZER_DESC : public D3D11_RASTERIZER_DESC {") 964cpp_quote(" CD3D11_RASTERIZER_DESC() {}") 965cpp_quote(" explicit CD3D11_RASTERIZER_DESC(const D3D11_RASTERIZER_DESC &o) : D3D11_RASTERIZER_DESC(o) {}") 966cpp_quote(" explicit CD3D11_RASTERIZER_DESC(CD3D11_DEFAULT) {") 967cpp_quote(" FillMode = D3D11_FILL_SOLID;") 968cpp_quote(" CullMode = D3D11_CULL_BACK;") 969cpp_quote(" FrontCounterClockwise = FALSE;") 970cpp_quote(" DepthBias = D3D11_DEFAULT_DEPTH_BIAS;") 971cpp_quote(" DepthBiasClamp = D3D11_DEFAULT_DEPTH_BIAS_CLAMP;") 972cpp_quote(" SlopeScaledDepthBias = D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;") 973cpp_quote(" DepthClipEnable = TRUE;") 974cpp_quote(" ScissorEnable = FALSE;") 975cpp_quote(" MultisampleEnable = FALSE;") 976cpp_quote(" AntialiasedLineEnable = FALSE;") 977cpp_quote(" }") 978cpp_quote(" explicit CD3D11_RASTERIZER_DESC(D3D11_FILL_MODE fillMode, D3D11_CULL_MODE cullMode," ) 979cpp_quote(" WINBOOL frontCounterClockwise, INT depthBias, FLOAT depthBiasClamp, FLOAT slopeScaledDepthBias,") 980cpp_quote(" BOOL depthClipEnable, WINBOOL scissorEnable, WINBOOL multisampleEnable, WINBOOL antialiasedLineEnable) {") 981cpp_quote(" FillMode = fillMode;") 982cpp_quote(" CullMode = cullMode;") 983cpp_quote(" FrontCounterClockwise = frontCounterClockwise;") 984cpp_quote(" DepthBias = depthBias;") 985cpp_quote(" DepthBiasClamp = depthBiasClamp;") 986cpp_quote(" SlopeScaledDepthBias = slopeScaledDepthBias;") 987cpp_quote(" DepthClipEnable = depthClipEnable;") 988cpp_quote(" ScissorEnable = scissorEnable;") 989cpp_quote(" MultisampleEnable = multisampleEnable;") 990cpp_quote(" AntialiasedLineEnable = antialiasedLineEnable;") 991cpp_quote(" }") 992cpp_quote(" ~CD3D11_RASTERIZER_DESC() {}") 993cpp_quote(" operator const D3D11_RASTERIZER_DESC&() const { return *this; }") 994cpp_quote("};") 995cpp_quote("#endif") 996 997typedef enum D3D11_RESOURCE_DIMENSION 998{ 999 D3D11_RESOURCE_DIMENSION_UNKNOWN, 1000 D3D11_RESOURCE_DIMENSION_BUFFER, 1001 D3D11_RESOURCE_DIMENSION_TEXTURE1D, 1002 D3D11_RESOURCE_DIMENSION_TEXTURE2D, 1003 D3D11_RESOURCE_DIMENSION_TEXTURE3D, 1004} D3D11_RESOURCE_DIMENSION; 1005 1006typedef enum D3D11_RTV_DIMENSION 1007{ 1008 D3D11_RTV_DIMENSION_UNKNOWN, 1009 D3D11_RTV_DIMENSION_BUFFER, 1010 D3D11_RTV_DIMENSION_TEXTURE1D, 1011 D3D11_RTV_DIMENSION_TEXTURE1DARRAY, 1012 D3D11_RTV_DIMENSION_TEXTURE2D, 1013 D3D11_RTV_DIMENSION_TEXTURE2DARRAY, 1014 D3D11_RTV_DIMENSION_TEXTURE2DMS, 1015 D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY, 1016 D3D11_RTV_DIMENSION_TEXTURE3D, 1017} D3D11_RTV_DIMENSION; 1018 1019typedef struct D3D11_SO_DECLARATION_ENTRY 1020{ 1021 UINT Stream; 1022 LPCSTR SemanticName; 1023 UINT SemanticIndex; 1024 BYTE StartComponent; 1025 BYTE ComponentCount; 1026 BYTE OutputSlot; 1027} D3D11_SO_DECLARATION_ENTRY; 1028 1029typedef enum D3D11_STENCIL_OP 1030{ 1031 D3D11_STENCIL_OP_KEEP = 1, 1032 D3D11_STENCIL_OP_ZERO, 1033 D3D11_STENCIL_OP_REPLACE, 1034 D3D11_STENCIL_OP_INCR_SAT, 1035 D3D11_STENCIL_OP_DECR_SAT, 1036 D3D11_STENCIL_OP_INVERT, 1037 D3D11_STENCIL_OP_INCR, 1038 D3D11_STENCIL_OP_DECR 1039} D3D11_STENCIL_OP; 1040 1041cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") 1042cpp_quote("}") 1043cpp_quote("inline UINT D3D11CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT MipLevels) {") 1044cpp_quote(" return MipSlice + ArraySlice * MipLevels;") 1045cpp_quote("}") 1046cpp_quote("extern \"C\"{") 1047cpp_quote("#endif") 1048 1049typedef struct D3D11_SUBRESOURCE_DATA 1050{ 1051 const void *pSysMem; 1052 UINT SysMemPitch; 1053 UINT SysMemSlicePitch; 1054} D3D11_SUBRESOURCE_DATA; 1055 1056typedef struct D3D11_TEX1D_ARRAY_DSV 1057{ 1058 UINT MipSlice; 1059 UINT FirstArraySlice; 1060 UINT ArraySize; 1061} D3D11_TEX1D_ARRAY_DSV; 1062 1063typedef struct D3D11_TEX1D_ARRAY_RTV 1064{ 1065 UINT MipSlice; 1066 UINT FirstArraySlice; 1067 UINT ArraySize; 1068} D3D11_TEX1D_ARRAY_RTV; 1069 1070typedef struct D3D11_TEX1D_ARRAY_SRV 1071{ 1072 UINT MostDetailedMip; 1073 UINT MipLevels; 1074 UINT FirstArraySlice; 1075 UINT ArraySize; 1076} D3D11_TEX1D_ARRAY_SRV; 1077 1078typedef struct D3D11_TEX1D_ARRAY_UAV 1079{ 1080 UINT MipSlice; 1081 UINT FirstArraySlice; 1082 UINT ArraySize; 1083} D3D11_TEX1D_ARRAY_UAV; 1084 1085typedef struct D3D11_TEX1D_DSV 1086{ 1087 UINT MipSlice; 1088} D3D11_TEX1D_DSV; 1089 1090typedef struct D3D11_TEX1D_RTV 1091{ 1092 UINT MipSlice; 1093} D3D11_TEX1D_RTV; 1094 1095typedef struct D3D11_TEX1D_SRV 1096{ 1097 UINT MostDetailedMip; 1098 UINT MipLevels; 1099 } D3D11_TEX1D_SRV; 1100 1101typedef struct D3D11_TEX1D_UAV 1102{ 1103 UINT MipSlice; 1104} D3D11_TEX1D_UAV; 1105 1106typedef struct D3D11_TEX2D_ARRAY_DSV 1107{ 1108 UINT MipSlice; 1109 UINT FirstArraySlice; 1110 UINT ArraySize; 1111} D3D11_TEX2D_ARRAY_DSV; 1112 1113typedef struct D3D11_TEX2D_ARRAY_RTV 1114{ 1115 UINT MipSlice; 1116 UINT FirstArraySlice; 1117 UINT ArraySize; 1118} D3D11_TEX2D_ARRAY_RTV; 1119 1120typedef struct D3D11_TEX2D_ARRAY_SRV 1121{ 1122 UINT MostDetailedMip; 1123 UINT MipLevels; 1124 UINT FirstArraySlice; 1125 UINT ArraySize; 1126} D3D11_TEX2D_ARRAY_SRV; 1127 1128typedef struct D3D11_TEX2D_ARRAY_UAV 1129{ 1130 UINT MipSlice; 1131 UINT FirstArraySlice; 1132 UINT ArraySize; 1133} D3D11_TEX2D_ARRAY_UAV; 1134 1135typedef struct D3D11_TEX2D_DSV 1136{ 1137 UINT MipSlice; 1138} D3D11_TEX2D_DSV; 1139 1140typedef struct D3D11_TEX2D_RTV 1141{ 1142 UINT MipSlice; 1143} D3D11_TEX2D_RTV; 1144 1145typedef struct D3D11_TEX2D_SRV 1146{ 1147 UINT MostDetailedMip; 1148 UINT MipLevels; 1149} D3D11_TEX2D_SRV; 1150 1151typedef struct D3D11_TEX2D_UAV 1152{ 1153 UINT MipSlice; 1154} D3D11_TEX2D_UAV; 1155 1156typedef struct D3D11_TEX2DMS_ARRAY_DSV 1157{ 1158 UINT FirstArraySlice; 1159 UINT ArraySize; 1160} D3D11_TEX2DMS_ARRAY_DSV; 1161 1162typedef struct D3D11_TEX2DMS_ARRAY_RTV 1163{ 1164 UINT FirstArraySlice; 1165 UINT ArraySize; 1166} D3D11_TEX2DMS_ARRAY_RTV; 1167 1168typedef struct D3D11_TEX2DMS_ARRAY_SRV 1169{ 1170 UINT FirstArraySlice; 1171 UINT ArraySize; 1172} D3D11_TEX2DMS_ARRAY_SRV; 1173 1174typedef struct D3D11_TEX2DMS_DSV 1175{ 1176 UINT UnusedField_NothingToDefine; 1177} D3D11_TEX2DMS_DSV; 1178 1179typedef struct D3D11_TEX2DMS_RTV 1180{ 1181 UINT UnusedField_NothingToDefine; 1182} D3D11_TEX2DMS_RTV; 1183 1184typedef struct D3D11_TEX2DMS_SRV 1185{ 1186 UINT UnusedField_NothingToDefine; 1187} D3D11_TEX2DMS_SRV; 1188 1189typedef struct D3D11_TEX3D_RTV 1190{ 1191 UINT MipSlice; 1192 UINT FirstWSlice; 1193 UINT WSize; 1194} D3D11_TEX3D_RTV; 1195 1196typedef struct D3D11_TEX3D_SRV 1197{ 1198 UINT MostDetailedMip; 1199 UINT MipLevels; 1200} D3D11_TEX3D_SRV; 1201 1202typedef struct D3D11_TEX3D_UAV 1203{ 1204 UINT MipSlice; 1205 UINT FirstWSlice; 1206 UINT WSize; 1207} D3D11_TEX3D_UAV; 1208 1209typedef struct D3D11_TEXCUBE_ARRAY_SRV 1210{ 1211 UINT MostDetailedMip; 1212 UINT MipLevels; 1213 UINT First2DArrayFace; 1214 UINT NumCubes; 1215} D3D11_TEXCUBE_ARRAY_SRV; 1216 1217typedef struct D3D11_TEXCUBE_SRV 1218{ 1219 UINT MostDetailedMip; 1220 UINT MipLevels; 1221} D3D11_TEXCUBE_SRV; 1222 1223typedef enum D3D11_TEXTURE_ADDRESS_MODE 1224{ 1225 D3D11_TEXTURE_ADDRESS_WRAP = 1, 1226 D3D11_TEXTURE_ADDRESS_MIRROR, 1227 D3D11_TEXTURE_ADDRESS_CLAMP, 1228 D3D11_TEXTURE_ADDRESS_BORDER, 1229 D3D11_TEXTURE_ADDRESS_MIRROR_ONCE 1230} D3D11_TEXTURE_ADDRESS_MODE; 1231 1232typedef enum D3D11_UAV_DIMENSION 1233{ 1234 D3D11_UAV_DIMENSION_UNKNOWN, 1235 D3D11_UAV_DIMENSION_BUFFER, 1236 D3D11_UAV_DIMENSION_TEXTURE1D, 1237 D3D11_UAV_DIMENSION_TEXTURE1DARRAY, 1238 D3D11_UAV_DIMENSION_TEXTURE2D, 1239 D3D11_UAV_DIMENSION_TEXTURE2DARRAY, 1240 D3D11_UAV_DIMENSION_TEXTURE3D = 8, 1241} D3D11_UAV_DIMENSION; 1242 1243typedef struct D3D11_UNORDERED_ACCESS_VIEW_DESC 1244{ 1245 DXGI_FORMAT Format; 1246 D3D11_UAV_DIMENSION ViewDimension; 1247 1248 union 1249 { 1250 D3D11_BUFFER_UAV Buffer; 1251 D3D11_TEX1D_UAV Texture1D; 1252 D3D11_TEX1D_ARRAY_UAV Texture1DArray; 1253 D3D11_TEX2D_UAV Texture2D; 1254 D3D11_TEX2D_ARRAY_UAV Texture2DArray; 1255 D3D11_TEX3D_UAV Texture3D; 1256 }; 1257} D3D11_UNORDERED_ACCESS_VIEW_DESC; 1258 1259typedef enum D3D11_USAGE 1260{ 1261 D3D11_USAGE_DEFAULT, 1262 D3D11_USAGE_IMMUTABLE, 1263 D3D11_USAGE_DYNAMIC, 1264 D3D11_USAGE_STAGING, 1265} D3D11_USAGE; 1266 1267typedef enum D3D11_BIND_FLAG 1268{ 1269 D3D11_BIND_VERTEX_BUFFER = 0x0001, 1270 D3D11_BIND_INDEX_BUFFER = 0x0002, 1271 D3D11_BIND_CONSTANT_BUFFER = 0x0004, 1272 D3D11_BIND_SHADER_RESOURCE = 0x0008, 1273 D3D11_BIND_STREAM_OUTPUT = 0x0010, 1274 D3D11_BIND_RENDER_TARGET = 0x0020, 1275 D3D11_BIND_DEPTH_STENCIL = 0x0040, 1276 D3D11_BIND_UNORDERED_ACCESS = 0x0080, 1277 D3D11_BIND_DECODER = 0x0200, 1278 D3D11_BIND_VIDEO_ENCODER = 0x0400 1279} D3D11_BIND_FLAG; 1280 1281typedef enum D3D11_CPU_ACCESS_FLAG 1282{ 1283 D3D11_CPU_ACCESS_WRITE = 0x00010000, 1284 D3D11_CPU_ACCESS_READ = 0x00020000 1285} D3D11_CPU_ACCESS_FLAG; 1286 1287typedef struct D3D11_VIEWPORT 1288{ 1289 FLOAT TopLeftX; 1290 FLOAT TopLeftY; 1291 FLOAT Width; 1292 FLOAT Height; 1293 FLOAT MinDepth; 1294 FLOAT MaxDepth; 1295} D3D11_VIEWPORT; 1296 1297typedef enum D3D11_COLOR_WRITE_ENABLE 1298{ 1299 D3D11_COLOR_WRITE_ENABLE_RED = 1, 1300 D3D11_COLOR_WRITE_ENABLE_GREEN = 2, 1301 D3D11_COLOR_WRITE_ENABLE_BLUE = 4, 1302 D3D11_COLOR_WRITE_ENABLE_ALPHA = 8, 1303 D3D11_COLOR_WRITE_ENABLE_ALL = 1304 (D3D11_COLOR_WRITE_ENABLE_RED|D3D11_COLOR_WRITE_ENABLE_GREEN|D3D11_COLOR_WRITE_ENABLE_BLUE|D3D11_COLOR_WRITE_ENABLE_ALPHA) 1305} D3D11_COLOR_WRITE_ENABLE; 1306 1307typedef enum D3D11_FORMAT_SUPPORT 1308{ 1309 D3D11_FORMAT_SUPPORT_BUFFER = 0x00000001, 1310 D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x00000002, 1311 D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x00000004, 1312 D3D11_FORMAT_SUPPORT_SO_BUFFER = 0x00000008, 1313 D3D11_FORMAT_SUPPORT_TEXTURE1D = 0x00000010, 1314 D3D11_FORMAT_SUPPORT_TEXTURE2D = 0x00000020, 1315 D3D11_FORMAT_SUPPORT_TEXTURE3D = 0x00000040, 1316 D3D11_FORMAT_SUPPORT_TEXTURECUBE = 0x00000080, 1317 D3D11_FORMAT_SUPPORT_SHADER_LOAD = 0x00000100, 1318 D3D11_FORMAT_SUPPORT_SHADER_SAMPLE = 0x00000200, 1319 D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x00000400, 1320 D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x00000800, 1321 D3D11_FORMAT_SUPPORT_MIP = 0x00001000, 1322 D3D11_FORMAT_SUPPORT_MIP_AUTOGEN = 0x00002000, 1323 D3D11_FORMAT_SUPPORT_RENDER_TARGET = 0x00004000, 1324 D3D11_FORMAT_SUPPORT_BLENDABLE = 0x00008000, 1325 D3D11_FORMAT_SUPPORT_DEPTH_STENCIL = 0x00010000, 1326 D3D11_FORMAT_SUPPORT_CPU_LOCKABLE = 0x00020000, 1327 D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x00040000, 1328 D3D11_FORMAT_SUPPORT_DISPLAY = 0x00080000, 1329 D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x00100000, 1330 D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x00200000, 1331 D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x00400000, 1332 D3D11_FORMAT_SUPPORT_SHADER_GATHER = 0x00800000, 1333 D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x01000000, 1334 D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW = 0x02000000, 1335 D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON = 0x04000000, 1336 D3D11_FORMAT_SUPPORT_DECODER_OUTPUT = 0x08000000, 1337 D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT = 0x10000000, 1338 D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT = 0x20000000, 1339 D3D11_FORMAT_SUPPORT_VIDEO_ENCODER = 0x40000000, 1340} D3D11_FORMAT_SUPPORT; 1341 1342typedef enum D3D11_CLEAR_FLAG 1343{ 1344 D3D11_CLEAR_DEPTH = 0x0001L, 1345 D3D11_CLEAR_STENCIL = 0x0002L 1346} D3D11_CLEAR_FLAG; 1347 1348typedef struct D3D11_RENDER_TARGET_BLEND_DESC 1349{ 1350 BOOL BlendEnable; 1351 D3D11_BLEND SrcBlend; 1352 D3D11_BLEND DestBlend; 1353 D3D11_BLEND_OP BlendOp; 1354 D3D11_BLEND SrcBlendAlpha; 1355 D3D11_BLEND DestBlendAlpha; 1356 D3D11_BLEND_OP BlendOpAlpha; 1357 UINT8 RenderTargetWriteMask; 1358} D3D11_RENDER_TARGET_BLEND_DESC; 1359 1360typedef struct D3D11_BLEND_DESC 1361{ 1362 BOOL AlphaToCoverageEnable; 1363 BOOL IndependentBlendEnable; 1364 D3D11_RENDER_TARGET_BLEND_DESC RenderTarget[D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT]; 1365} D3D11_BLEND_DESC; 1366 1367cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") 1368cpp_quote("struct CD3D11_BLEND_DESC : public D3D11_BLEND_DESC {") 1369cpp_quote(" CD3D11_BLEND_DESC() {}") 1370cpp_quote(" explicit CD3D11_BLEND_DESC(const D3D11_BLEND_DESC &o) : D3D11_BLEND_DESC(o) {}") 1371cpp_quote(" explicit CD3D11_BLEND_DESC(CD3D11_DEFAULT) {") 1372cpp_quote(" AlphaToCoverageEnable = FALSE;") 1373cpp_quote(" IndependentBlendEnable = FALSE;") 1374cpp_quote(" for(D3D11_RENDER_TARGET_BLEND_DESC *target = RenderTarget;") 1375cpp_quote(" target < RenderTarget + D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT;") 1376cpp_quote(" target++) {") 1377cpp_quote(" target->BlendEnable = FALSE;") 1378cpp_quote(" target->SrcBlend = target->SrcBlendAlpha = D3D11_BLEND_ONE;") 1379cpp_quote(" target->DestBlend = target->DestBlendAlpha = D3D11_BLEND_ZERO;") 1380cpp_quote(" target->BlendOp = target->BlendOpAlpha = D3D11_BLEND_OP_ADD;") 1381cpp_quote(" target->RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;") 1382cpp_quote(" }") 1383cpp_quote(" }") 1384cpp_quote(" ~CD3D11_BLEND_DESC() {}") 1385cpp_quote(" operator const D3D11_BLEND_DESC&() const { return *this; }") 1386cpp_quote("};" ) 1387cpp_quote("#endif" ) 1388 1389typedef struct D3D11_BUFFER_DESC 1390{ 1391 UINT ByteWidth; 1392 D3D11_USAGE Usage; 1393 UINT BindFlags; 1394 UINT CPUAccessFlags; 1395 UINT MiscFlags; 1396 UINT StructureByteStride; 1397} D3D11_BUFFER_DESC; 1398 1399cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") 1400cpp_quote("struct CD3D11_BUFFER_DESC : public D3D11_BUFFER_DESC {") 1401cpp_quote(" CD3D11_BUFFER_DESC() {}" ) 1402cpp_quote(" explicit CD3D11_BUFFER_DESC(const D3D11_BUFFER_DESC &o) : D3D11_BUFFER_DESC(o) {}") 1403cpp_quote(" explicit CD3D11_BUFFER_DESC(UINT byteWidth,UINT bindFlags,") 1404cpp_quote(" D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuaccessFlags = 0,") 1405cpp_quote(" UINT miscFlags = 0, UINT structureByteStride = 0 ) {") 1406cpp_quote(" ByteWidth = byteWidth;") 1407cpp_quote(" Usage = usage;") 1408cpp_quote(" BindFlags = bindFlags;") 1409cpp_quote(" CPUAccessFlags = cpuaccessFlags;") 1410cpp_quote(" MiscFlags = miscFlags;" ) 1411cpp_quote(" StructureByteStride = structureByteStride;") 1412cpp_quote(" }") 1413cpp_quote(" ~CD3D11_BUFFER_DESC() {}") 1414cpp_quote(" operator const D3D11_BUFFER_DESC&() const { return *this; }") 1415cpp_quote("};" ) 1416cpp_quote("#endif" ) 1417 1418typedef struct D3D11_DEPTH_STENCIL_VIEW_DESC 1419{ 1420 DXGI_FORMAT Format; 1421 D3D11_DSV_DIMENSION ViewDimension; 1422 UINT Flags; 1423 1424 union 1425 { 1426 D3D11_TEX1D_DSV Texture1D; 1427 D3D11_TEX1D_ARRAY_DSV Texture1DArray; 1428 D3D11_TEX2D_DSV Texture2D; 1429 D3D11_TEX2D_ARRAY_DSV Texture2DArray; 1430 D3D11_TEX2DMS_DSV Texture2DMS; 1431 D3D11_TEX2DMS_ARRAY_DSV Texture2DMSArray; 1432 }; 1433} D3D11_DEPTH_STENCIL_VIEW_DESC; 1434 1435typedef struct D3D11_DEPTH_STENCILOP_DESC 1436{ 1437 D3D11_STENCIL_OP StencilFailOp; 1438 D3D11_STENCIL_OP StencilDepthFailOp; 1439 D3D11_STENCIL_OP StencilPassOp; 1440 D3D11_COMPARISON_FUNC StencilFunc; 1441} D3D11_DEPTH_STENCILOP_DESC; 1442 1443typedef struct D3D11_DEPTH_STENCIL_DESC 1444{ 1445 BOOL DepthEnable; 1446 D3D11_DEPTH_WRITE_MASK DepthWriteMask; 1447 D3D11_COMPARISON_FUNC DepthFunc; 1448 BOOL StencilEnable; 1449 UINT8 StencilReadMask; 1450 UINT8 StencilWriteMask; 1451 D3D11_DEPTH_STENCILOP_DESC FrontFace; 1452 D3D11_DEPTH_STENCILOP_DESC BackFace; 1453} D3D11_DEPTH_STENCIL_DESC; 1454 1455cpp_quote("#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )") 1456cpp_quote("struct CD3D11_DEPTH_STENCIL_DESC : public D3D11_DEPTH_STENCIL_DESC {") 1457cpp_quote(" CD3D11_DEPTH_STENCIL_DESC() {}") 1458cpp_quote(" explicit CD3D11_DEPTH_STENCIL_DESC(const D3D11_DEPTH_STENCIL_DESC &other) : D3D11_DEPTH_STENCIL_DESC(other) {}") 1459cpp_quote(" explicit CD3D11_DEPTH_STENCIL_DESC(CD3D11_DEFAULT) {") 1460cpp_quote(" const D3D11_DEPTH_STENCILOP_DESC default_op =") 1461cpp_quote(" {D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_COMPARISON_ALWAYS};") 1462cpp_quote(" DepthEnable = TRUE;") 1463cpp_quote(" DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL;") 1464cpp_quote(" DepthFunc = D3D11_COMPARISON_LESS;") 1465cpp_quote(" StencilEnable = FALSE;") 1466cpp_quote(" StencilReadMask = D3D11_DEFAULT_STENCIL_READ_MASK;") 1467cpp_quote(" StencilWriteMask = D3D11_DEFAULT_STENCIL_WRITE_MASK;") 1468cpp_quote(" FrontFace = default_op;") 1469cpp_quote(" BackFace = default_op;") 1470cpp_quote(" }") 1471cpp_quote(" explicit CD3D11_DEPTH_STENCIL_DESC(") 1472cpp_quote(" WINBOOL depth_enable,") 1473cpp_quote(" D3D11_DEPTH_WRITE_MASK depth_write_mask,") 1474cpp_quote(" D3D11_COMPARISON_FUNC depth_func,") 1475cpp_quote(" WINBOOL stencil_enable,") 1476cpp_quote(" UINT8 stencil_read_mask,") 1477cpp_quote(" UINT8 stencil_write_mask,") 1478cpp_quote(" D3D11_STENCIL_OP front_stencil_fail_op,") 1479cpp_quote(" D3D11_STENCIL_OP front_stencil_depth_fail_op,") 1480cpp_quote(" D3D11_STENCIL_OP front_stencil_pass_op,") 1481cpp_quote(" D3D11_COMPARISON_FUNC front_stencil_func,") 1482cpp_quote(" D3D11_STENCIL_OP back_stencil_fail_op,") 1483cpp_quote(" D3D11_STENCIL_OP back_stencil_depth_fail_op,") 1484cpp_quote(" D3D11_STENCIL_OP back_stencil_pass_op,") 1485cpp_quote(" D3D11_COMPARISON_FUNC back_stencil_func) {") 1486cpp_quote(" DepthEnable = depth_enable;") 1487cpp_quote(" DepthWriteMask = depth_write_mask;") 1488cpp_quote(" DepthFunc = depth_func;") 1489cpp_quote(" StencilEnable = stencil_enable;") 1490cpp_quote(" StencilReadMask = stencil_read_mask;") 1491cpp_quote(" StencilWriteMask = stencil_write_mask;") 1492cpp_quote(" FrontFace.StencilFailOp = front_stencil_fail_op;") 1493cpp_quote(" FrontFace.StencilDepthFailOp = front_stencil_depth_fail_op;") 1494cpp_quote(" FrontFace.StencilPassOp = front_stencil_pass_op;") 1495cpp_quote(" FrontFace.StencilFunc = front_stencil_func;") 1496cpp_quote(" BackFace.StencilFailOp = back_stencil_fail_op;") 1497cpp_quote(" BackFace.StencilDepthFailOp = back_stencil_depth_fail_op;") 1498cpp_quote(" BackFace.StencilPassOp = back_stencil_pass_op;") 1499cpp_quote(" BackFace.StencilFunc = back_stencil_func;") 1500cpp_quote(" }") 1501cpp_quote(" ~CD3D11_DEPTH_STENCIL_DESC() {}") 1502cpp_quote(" operator const D3D11_DEPTH_STENCIL_DESC&() const { return *this; }") 1503cpp_quote("};") 1504cpp_quote("#endif") 1505 1506typedef struct D3D11_RENDER_TARGET_VIEW_DESC 1507{ 1508 DXGI_FORMAT Format; 1509 D3D11_RTV_DIMENSION ViewDimension; 1510 1511 union 1512 { 1513 D3D11_BUFFER_RTV Buffer; 1514 D3D11_TEX1D_RTV Texture1D; 1515 D3D11_TEX1D_ARRAY_RTV Texture1DArray; 1516 D3D11_TEX2D_RTV Texture2D; 1517 D3D11_TEX2D_ARRAY_RTV Texture2DArray; 1518 D3D11_TEX2DMS_RTV Texture2DMS; 1519 D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray; 1520 D3D11_TEX3D_RTV Texture3D; 1521 }; 1522} D3D11_RENDER_TARGET_VIEW_DESC; 1523 1524cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") 1525cpp_quote("struct CD3D11_RENDER_TARGET_VIEW_DESC : public D3D11_RENDER_TARGET_VIEW_DESC {") 1526cpp_quote(" CD3D11_RENDER_TARGET_VIEW_DESC() {}") 1527cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(D3D11_RTV_DIMENSION dim, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,") 1528cpp_quote(" UINT mip_slice = 0, UINT first_slice = 0, UINT array_size = -1) {") 1529cpp_quote(" Format = format;") 1530cpp_quote(" ViewDimension = dim;") 1531cpp_quote(" switch(dim) {") 1532cpp_quote(" case D3D11_RTV_DIMENSION_BUFFER:") 1533cpp_quote(" Buffer.FirstElement = mip_slice;") 1534cpp_quote(" Buffer.NumElements = first_slice;") 1535cpp_quote(" break;") 1536cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE1D:") 1537cpp_quote(" Texture1D.MipSlice = mip_slice;") 1538cpp_quote(" break;") 1539cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:") 1540cpp_quote(" Texture1DArray.MipSlice = mip_slice;") 1541cpp_quote(" Texture1DArray.FirstArraySlice = first_slice;") 1542cpp_quote(" Texture1DArray.ArraySize = array_size;") 1543cpp_quote(" break;") 1544cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE2D:") 1545cpp_quote(" Texture2D.MipSlice = mip_slice;") 1546cpp_quote(" break;") 1547cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:") 1548cpp_quote(" Texture2DArray.MipSlice = mip_slice;") 1549cpp_quote(" Texture2DArray.FirstArraySlice = first_slice;") 1550cpp_quote(" Texture2DArray.ArraySize = array_size;") 1551cpp_quote(" break;") 1552cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:") 1553cpp_quote(" Texture2DMSArray.FirstArraySlice = first_slice;") 1554cpp_quote(" Texture2DMSArray.ArraySize = array_size;") 1555cpp_quote(" break;") 1556cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE3D:") 1557cpp_quote(" Texture3D.MipSlice = mip_slice;") 1558cpp_quote(" Texture3D.FirstWSlice = first_slice;") 1559cpp_quote(" Texture3D.WSize = array_size;") 1560cpp_quote(" break;") 1561cpp_quote(" default:") 1562cpp_quote(" break;") 1563cpp_quote(" }") 1564cpp_quote(" }") 1565cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Buffer*, DXGI_FORMAT format, UINT first_elem,") 1566cpp_quote(" UINT elem_cnt) {") 1567cpp_quote(" Format = format;") 1568cpp_quote(" ViewDimension = D3D11_RTV_DIMENSION_BUFFER;") 1569cpp_quote(" Buffer.FirstElement = first_elem;") 1570cpp_quote(" Buffer.NumElements = elem_cnt;") 1571cpp_quote(" }") 1572cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture1D *texture, D3D11_RTV_DIMENSION dim,") 1573cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT mip_slice = 0, UINT first_slice = 0,") 1574cpp_quote(" UINT array_size = -1);") /* FIXME: implement */ 1575cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture2D *texture, D3D11_RTV_DIMENSION dim,") 1576cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT mip_slice = 0, UINT first_slice = 0,") 1577cpp_quote(" UINT array_size = -1);") /* FIXME: implement */ 1578cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture3D *texture, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,") 1579cpp_quote(" UINT mip_slice = 0, UINT first_w_slice = 0, UINT w_slice = -1 );") /* FIXME: implement */ 1580cpp_quote(" ~CD3D11_RENDER_TARGET_VIEW_DESC() {}") 1581cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(const D3D11_RENDER_TARGET_VIEW_DESC &other)") 1582cpp_quote(" : D3D11_RENDER_TARGET_VIEW_DESC(other) {}") 1583cpp_quote(" operator const D3D11_RENDER_TARGET_VIEW_DESC&() const {") 1584cpp_quote(" return *this;") 1585cpp_quote(" }") 1586cpp_quote("};") 1587cpp_quote("#endif") 1588 1589 1590typedef struct D3D11_SAMPLER_DESC 1591{ 1592 D3D11_FILTER Filter; 1593 D3D11_TEXTURE_ADDRESS_MODE AddressU; 1594 D3D11_TEXTURE_ADDRESS_MODE AddressV; 1595 D3D11_TEXTURE_ADDRESS_MODE AddressW; 1596 FLOAT MipLODBias; 1597 UINT MaxAnisotropy; 1598 D3D11_COMPARISON_FUNC ComparisonFunc; 1599 FLOAT BorderColor[4]; 1600 FLOAT MinLOD; 1601 FLOAT MaxLOD; 1602} D3D11_SAMPLER_DESC; 1603 1604cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") 1605cpp_quote("struct CD3D11_SAMPLER_DESC : public D3D11_SAMPLER_DESC {") 1606cpp_quote(" CD3D11_SAMPLER_DESC() {}") 1607cpp_quote(" explicit CD3D11_SAMPLER_DESC(const D3D11_SAMPLER_DESC &o) : D3D11_SAMPLER_DESC(o) {}") 1608cpp_quote(" explicit CD3D11_SAMPLER_DESC(CD3D11_DEFAULT) {" ) 1609cpp_quote(" Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;") 1610cpp_quote(" AddressU = D3D11_TEXTURE_ADDRESS_CLAMP;") 1611cpp_quote(" AddressV = D3D11_TEXTURE_ADDRESS_CLAMP;") 1612cpp_quote(" AddressW = D3D11_TEXTURE_ADDRESS_CLAMP;") 1613cpp_quote(" MipLODBias = 0;") 1614cpp_quote(" MaxAnisotropy = 1;") 1615cpp_quote(" ComparisonFunc = D3D11_COMPARISON_NEVER;") 1616cpp_quote(" BorderColor[0] = BorderColor[1] = BorderColor[2] = BorderColor[3] = 1.0f;") 1617cpp_quote(" MinLOD = -3.402823466e+38f;") 1618cpp_quote(" MaxLOD = 3.402823466e+38f;") 1619cpp_quote(" }") 1620cpp_quote(" explicit CD3D11_SAMPLER_DESC(D3D11_FILTER filter, D3D11_TEXTURE_ADDRESS_MODE addressU,") 1621cpp_quote(" D3D11_TEXTURE_ADDRESS_MODE addressV, D3D11_TEXTURE_ADDRESS_MODE addressW,") 1622cpp_quote(" FLOAT mipLODBias, UINT maxAnisotropy, D3D11_COMPARISON_FUNC comparisonFunc,") 1623cpp_quote(" const FLOAT *borderColor, FLOAT minLOD, FLOAT maxLOD) {" ) 1624cpp_quote(" Filter = filter;") 1625cpp_quote(" AddressU = addressU;") 1626cpp_quote(" AddressV = addressV;") 1627cpp_quote(" AddressW = addressW;") 1628cpp_quote(" MipLODBias = mipLODBias;") 1629cpp_quote(" MaxAnisotropy = maxAnisotropy;") 1630cpp_quote(" ComparisonFunc = comparisonFunc;") 1631cpp_quote(" if(borderColor) {") 1632cpp_quote(" BorderColor[0] = borderColor[0];") 1633cpp_quote(" BorderColor[1] = borderColor[1];") 1634cpp_quote(" BorderColor[2] = borderColor[2];") 1635cpp_quote(" BorderColor[3] = borderColor[3];") 1636cpp_quote(" }else {") 1637cpp_quote(" BorderColor[0] = BorderColor[1] = BorderColor[2] = BorderColor[3] = 1.0f;") 1638cpp_quote(" }") 1639cpp_quote(" MinLOD = minLOD;") 1640cpp_quote(" MaxLOD = maxLOD;") 1641cpp_quote(" }") 1642cpp_quote(" ~CD3D11_SAMPLER_DESC() {}") 1643cpp_quote(" operator const D3D11_SAMPLER_DESC&() const { return *this; }") 1644cpp_quote("};") 1645cpp_quote("#endif") 1646 1647typedef struct D3D11_SHADER_RESOURCE_VIEW_DESC 1648{ 1649 DXGI_FORMAT Format; 1650 D3D11_SRV_DIMENSION ViewDimension; 1651 1652 union 1653 { 1654 D3D11_BUFFER_SRV Buffer; 1655 D3D11_TEX1D_SRV Texture1D; 1656 D3D11_TEX1D_ARRAY_SRV Texture1DArray; 1657 D3D11_TEX2D_SRV Texture2D; 1658 D3D11_TEX2D_ARRAY_SRV Texture2DArray; 1659 D3D11_TEX2DMS_SRV Texture2DMS; 1660 D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray; 1661 D3D11_TEX3D_SRV Texture3D; 1662 D3D11_TEXCUBE_SRV TextureCube; 1663 D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray; 1664 D3D11_BUFFEREX_SRV BufferEx; 1665 }; 1666} D3D11_SHADER_RESOURCE_VIEW_DESC; 1667 1668cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined( __cplusplus )") 1669cpp_quote("struct CD3D11_SHADER_RESOURCE_VIEW_DESC : public D3D11_SHADER_RESOURCE_VIEW_DESC {") 1670cpp_quote(" CD3D11_SHADER_RESOURCE_VIEW_DESC() {}") 1671cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(D3D11_SRV_DIMENSION dim,") 1672cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0,") 1673cpp_quote(" UINT mip_levels = -1, UINT first_slice = 0, UINT array_size = -1, UINT flags = 0) {") 1674cpp_quote(" Format = format;") 1675cpp_quote(" ViewDimension = dim;") 1676cpp_quote(" switch(ViewDimension) {") 1677cpp_quote(" case D3D11_SRV_DIMENSION_BUFFER:") 1678cpp_quote(" Buffer.FirstElement = most_detailed_mip;") 1679cpp_quote(" Buffer.NumElements = mip_levels;") 1680cpp_quote(" break;") 1681cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE1D:") 1682cpp_quote(" Texture1D.MostDetailedMip = most_detailed_mip;") 1683cpp_quote(" Texture1D.MipLevels = mip_levels;") 1684cpp_quote(" break;") 1685cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE1DARRAY:") 1686cpp_quote(" Texture1DArray.MostDetailedMip = most_detailed_mip;") 1687cpp_quote(" Texture1DArray.MipLevels = mip_levels;") 1688cpp_quote(" Texture1DArray.FirstArraySlice = first_slice;") 1689cpp_quote(" Texture1DArray.ArraySize = array_size;") 1690cpp_quote(" break;") 1691cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE2D:") 1692cpp_quote(" Texture2D.MostDetailedMip = most_detailed_mip;") 1693cpp_quote(" Texture2D.MipLevels = mip_levels;") 1694cpp_quote(" break;") 1695cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE2DARRAY:") 1696cpp_quote(" Texture2DArray.MostDetailedMip = most_detailed_mip;") 1697cpp_quote(" Texture2DArray.MipLevels = mip_levels;") 1698cpp_quote(" Texture2DArray.FirstArraySlice = first_slice;") 1699cpp_quote(" Texture2DArray.ArraySize = array_size;") 1700cpp_quote(" break;") 1701cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY:") 1702cpp_quote(" Texture2DMSArray.FirstArraySlice = first_slice;") 1703cpp_quote(" Texture2DMSArray.ArraySize = array_size;") 1704cpp_quote(" break;") 1705cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE3D:") 1706cpp_quote(" Texture3D.MostDetailedMip = most_detailed_mip;") 1707cpp_quote(" Texture3D.MipLevels = mip_levels;") 1708cpp_quote(" break;") 1709cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURECUBE:") 1710cpp_quote(" TextureCube.MostDetailedMip = most_detailed_mip;") 1711cpp_quote(" TextureCube.MipLevels = mip_levels;") 1712cpp_quote(" break;") 1713cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURECUBEARRAY:") 1714cpp_quote(" TextureCubeArray.MostDetailedMip = most_detailed_mip;") 1715cpp_quote(" TextureCubeArray.MipLevels = mip_levels;") 1716cpp_quote(" TextureCubeArray.First2DArrayFace = first_slice;") 1717cpp_quote(" TextureCubeArray.NumCubes = array_size;") 1718cpp_quote(" break;") 1719cpp_quote(" case D3D11_SRV_DIMENSION_BUFFEREX:") 1720cpp_quote(" BufferEx.FirstElement = most_detailed_mip;") 1721cpp_quote(" BufferEx.NumElements = mip_levels;") 1722cpp_quote(" BufferEx.Flags = flags;") 1723cpp_quote(" break;") 1724cpp_quote(" default:") 1725cpp_quote(" break;") 1726cpp_quote(" }") 1727cpp_quote(" }") 1728cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Buffer*, DXGI_FORMAT format, UINT first_elem,") 1729cpp_quote(" UINT elem_cnt, UINT flags = 0);") /* FIXME: implement */ 1730cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture1D *texture, D3D11_SRV_DIMENSION dim,") 1731cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0, UINT mip_levels = -1,") 1732cpp_quote(" UINT first_slice = 0, UINT array_size = -1 );") /* FIXME: implement */ 1733cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture2D *texture, D3D11_SRV_DIMENSION dim,") 1734cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0, UINT mip_levels = -1,") 1735cpp_quote(" UINT first_slice = 0, UINT array_size = -1 );") /* FIXME: implement */ 1736cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture3D *texture, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,") 1737cpp_quote(" UINT most_detailed_mip = 0, UINT mip_levels = -1 );") 1738cpp_quote(" ~CD3D11_SHADER_RESOURCE_VIEW_DESC() {}") 1739cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(const D3D11_SHADER_RESOURCE_VIEW_DESC &other)") 1740cpp_quote(" : D3D11_SHADER_RESOURCE_VIEW_DESC(other) {}") 1741cpp_quote(" operator const D3D11_SHADER_RESOURCE_VIEW_DESC&() const {") 1742cpp_quote(" return *this;") 1743cpp_quote(" }") 1744cpp_quote("};") 1745cpp_quote("#endif") 1746 1747typedef struct D3D11_TEXTURE1D_DESC 1748{ 1749 UINT Width; 1750 UINT MipLevels; 1751 UINT ArraySize; 1752 DXGI_FORMAT Format; 1753 D3D11_USAGE Usage; 1754 UINT BindFlags; 1755 UINT CPUAccessFlags; 1756 UINT MiscFlags; 1757} D3D11_TEXTURE1D_DESC; 1758 1759typedef struct D3D11_TEXTURE2D_DESC 1760{ 1761 UINT Width; 1762 UINT Height; 1763 UINT MipLevels; 1764 UINT ArraySize; 1765 DXGI_FORMAT Format; 1766 DXGI_SAMPLE_DESC SampleDesc; 1767 D3D11_USAGE Usage; 1768 UINT BindFlags; 1769 UINT CPUAccessFlags; 1770 UINT MiscFlags; 1771} D3D11_TEXTURE2D_DESC; 1772 1773cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") 1774cpp_quote("struct CD3D11_TEXTURE2D_DESC : public D3D11_TEXTURE2D_DESC {") 1775cpp_quote(" CD3D11_TEXTURE2D_DESC() {}") 1776cpp_quote(" explicit CD3D11_TEXTURE2D_DESC(const D3D11_TEXTURE2D_DESC &o) : D3D11_TEXTURE2D_DESC(o) {}") 1777cpp_quote(" explicit CD3D11_TEXTURE2D_DESC(DXGI_FORMAT format, UINT width, UINT height, UINT arraySize = 1,") 1778cpp_quote(" UINT mipLevels = 0, UINT bindFlags = D3D11_BIND_SHADER_RESOURCE,") 1779cpp_quote(" D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuaccessFlags = 0, UINT sampleCount = 1," ) 1780cpp_quote(" UINT sampleQuality = 0, UINT miscFlags = 0) {") 1781cpp_quote(" Width = width;") 1782cpp_quote(" Height = height;") 1783cpp_quote(" MipLevels = mipLevels;") 1784cpp_quote(" ArraySize = arraySize;") 1785cpp_quote(" Format = format;") 1786cpp_quote(" SampleDesc.Count = sampleCount;") 1787cpp_quote(" SampleDesc.Quality = sampleQuality;") 1788cpp_quote(" Usage = usage;") 1789cpp_quote(" BindFlags = bindFlags;") 1790cpp_quote(" CPUAccessFlags = cpuaccessFlags;") 1791cpp_quote(" MiscFlags = miscFlags;") 1792cpp_quote(" }" ) 1793cpp_quote(" ~CD3D11_TEXTURE2D_DESC() {}") 1794cpp_quote(" operator const D3D11_TEXTURE2D_DESC&() const { return *this; }") 1795cpp_quote("};") 1796cpp_quote("#endif") 1797 1798typedef struct D3D11_TEXTURE3D_DESC 1799{ 1800 UINT Width; 1801 UINT Height; 1802 UINT Depth; 1803 UINT MipLevels; 1804 DXGI_FORMAT Format; 1805 D3D11_USAGE Usage; 1806 UINT BindFlags; 1807 UINT CPUAccessFlags; 1808 UINT MiscFlags; 1809} D3D11_TEXTURE3D_DESC; 1810 1811typedef struct D3D11_VIDEO_DECODER_DESC 1812{ 1813 GUID Guid; 1814 UINT SampleWidth; 1815 UINT SampleHeight; 1816 DXGI_FORMAT OutputFormat; 1817} D3D11_VIDEO_DECODER_DESC; 1818 1819typedef struct D3D11_VIDEO_DECODER_CONFIG 1820{ 1821 GUID guidConfigBitstreamEncryption; 1822 GUID guidConfigMBcontrolEncryption; 1823 GUID guidConfigResidDiffEncryption; 1824 UINT ConfigBitstreamRaw; 1825 UINT ConfigMBcontrolRasterOrder; 1826 UINT ConfigResidDiffHost; 1827 UINT ConfigSpatialResid8; 1828 UINT ConfigResid8Subtraction; 1829 UINT ConfigSpatialHost8or9Clipping; 1830 UINT ConfigSpatialResidInterleaved; 1831 UINT ConfigIntraResidUnsigned; 1832 UINT ConfigResidDiffAccelerator; 1833 UINT ConfigHostInverseScan; 1834 UINT ConfigSpecificIDCT; 1835 UINT Config4GroupedCoefs; 1836 USHORT ConfigMinRenderTargetBuffCount; 1837 USHORT ConfigDecoderSpecific; 1838} D3D11_VIDEO_DECODER_CONFIG; 1839 1840typedef enum D3D11_VIDEO_FRAME_FORMAT 1841{ 1842 D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE = 0, 1843 D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST = 1, 1844 D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST = 2 1845} D3D11_VIDEO_FRAME_FORMAT; 1846 1847typedef enum D3D11_VIDEO_USAGE 1848{ 1849 D3D11_VIDEO_USAGE_PLAYBACK_NORMAL = 0, 1850 D3D11_VIDEO_USAGE_OPTIMAL_SPEED = 1, 1851 D3D11_VIDEO_USAGE_OPTIMAL_QUALITY = 2 1852} D3D11_VIDEO_USAGE; 1853 1854typedef struct D3D11_VIDEO_PROCESSOR_CONTENT_DESC 1855{ 1856 D3D11_VIDEO_FRAME_FORMAT InputFrameFormat; 1857 DXGI_RATIONAL InputFrameRate; 1858 UINT InputWidth; 1859 UINT InputHeight; 1860 DXGI_RATIONAL OutputFrameRate; 1861 UINT OutputWidth; 1862 UINT OutputHeight; 1863 D3D11_VIDEO_USAGE Usage; 1864} D3D11_VIDEO_PROCESSOR_CONTENT_DESC; 1865 1866typedef struct D3D11_VIDEO_PROCESSOR_CAPS 1867{ 1868 UINT DeviceCaps; 1869 UINT FeatureCaps; 1870 UINT FilterCaps; 1871 UINT InputFormatCaps; 1872 UINT AutoStreamCaps; 1873 UINT StereoCaps; 1874 UINT RateConversionCapsCount; 1875 UINT MaxInputStreams; 1876 UINT MaxStreamStates; 1877} D3D11_VIDEO_PROCESSOR_CAPS; 1878 1879typedef struct D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS 1880{ 1881 UINT PastFrames; 1882 UINT FutureFrames; 1883 UINT ProcessorCaps; 1884 UINT ITelecineCaps; 1885 UINT CustomRateCount; 1886} D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS; 1887 1888typedef struct D3D11_VIDEO_PROCESSOR_CUSTOM_RATE 1889{ 1890 DXGI_RATIONAL CustomRate; 1891 UINT OutputFrames; 1892 BOOL InputInterlaced; 1893 UINT InputFramesOrFields; 1894} D3D11_VIDEO_PROCESSOR_CUSTOM_RATE; 1895 1896typedef enum D3D11_VIDEO_PROCESSOR_FILTER 1897{ 1898 D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS = 0, 1899 D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST = 1, 1900 D3D11_VIDEO_PROCESSOR_FILTER_HUE = 2, 1901 D3D11_VIDEO_PROCESSOR_FILTER_SATURATION = 3, 1902 D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION = 4, 1903 D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT = 5, 1904 D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING = 6, 1905 D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT = 7 1906} D3D11_VIDEO_PROCESSOR_FILTER; 1907 1908typedef struct D3D11_VIDEO_PROCESSOR_FILTER_RANGE 1909{ 1910 int Minimum; 1911 int Maximum; 1912 int Default; 1913 float Multiplier; 1914} D3D11_VIDEO_PROCESSOR_FILTER_RANGE; 1915 1916typedef enum D3D11_AUTHENTICATED_CHANNEL_TYPE 1917{ 1918 D3D11_AUTHENTICATED_CHANNEL_D3D11 = 1, 1919 D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE = 2, 1920 D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE = 3 1921} D3D11_AUTHENTICATED_CHANNEL_TYPE; 1922 1923typedef enum D3D11_VDOV_DIMENSION 1924{ 1925 D3D11_VDOV_DIMENSION_UNKNOWN = 0, 1926 D3D11_VDOV_DIMENSION_TEXTURE2D = 1 1927} D3D11_VDOV_DIMENSION; 1928 1929typedef struct D3D11_TEX2D_VDOV 1930{ 1931 UINT ArraySlice; 1932} D3D11_TEX2D_VDOV; 1933 1934typedef struct D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC 1935{ 1936 GUID DecodeProfile; 1937 D3D11_VDOV_DIMENSION ViewDimension; 1938 union { 1939 D3D11_TEX2D_VDOV Texture2D; 1940 }; 1941} D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC; 1942 1943typedef enum D3D11_VPIV_DIMENSION 1944{ 1945 D3D11_VPIV_DIMENSION_UNKNOWN = 0, 1946 D3D11_VPIV_DIMENSION_TEXTURE2D = 1 1947} D3D11_VPIV_DIMENSION; 1948 1949typedef struct D3D11_TEX2D_VPIV 1950{ 1951 UINT MipSlice; 1952 UINT ArraySlice; 1953} D3D11_TEX2D_VPIV; 1954 1955typedef struct D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC 1956{ 1957 UINT FourCC; 1958 D3D11_VPIV_DIMENSION ViewDimension; 1959 union { 1960 D3D11_TEX2D_VPIV Texture2D; 1961 }; 1962} D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC; 1963 1964typedef enum D3D11_VPOV_DIMENSION 1965{ 1966 D3D11_VPOV_DIMENSION_UNKNOWN = 0, 1967 D3D11_VPOV_DIMENSION_TEXTURE2D = 1, 1968 D3D11_VPOV_DIMENSION_TEXTURE2DARRAY = 2 1969} D3D11_VPOV_DIMENSION; 1970 1971typedef struct D3D11_TEX2D_VPOV 1972{ 1973 UINT MipSlice; 1974} D3D11_TEX2D_VPOV; 1975 1976typedef struct D3D11_TEX2D_ARRAY_VPOV 1977{ 1978 UINT MipSlice; 1979 UINT FirstArraySlice; 1980 UINT ArraySize; 1981} D3D11_TEX2D_ARRAY_VPOV; 1982 1983typedef struct D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC 1984{ 1985 D3D11_VPOV_DIMENSION ViewDimension; 1986 union { 1987 D3D11_TEX2D_VPOV Texture2D; 1988 D3D11_TEX2D_ARRAY_VPOV Texture2DArray; 1989 }; 1990} D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC; 1991 1992typedef struct D3D11_VIDEO_CONTENT_PROTECTION_CAPS 1993{ 1994 UINT Caps; 1995 UINT KeyExchangeTypeCount; 1996 UINT BlockAlignmentSize; 1997 ULONGLONG ProtectedMemorySize; 1998} D3D11_VIDEO_CONTENT_PROTECTION_CAPS; 1999 2000typedef struct D3D11_ENCRYPTED_BLOCK_INFO 2001{ 2002 UINT NumEncryptedBytesAtBeginning; 2003 UINT NumBytesInSkipPattern; 2004 UINT NumBytesInEncryptPattern; 2005} D3D11_ENCRYPTED_BLOCK_INFO; 2006 2007typedef struct D3D11_VIDEO_DECODER_BUFFER_DESC 2008{ 2009 D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType; 2010 UINT BufferIndex; 2011 UINT DataOffset; 2012 UINT DataSize; 2013 UINT FirstMBaddress; 2014 UINT NumMBsInBuffer; 2015 UINT Width; 2016 UINT Height; 2017 UINT Stride; 2018 UINT ReservedBits; 2019 void *pIV; 2020 UINT IVSize; 2021 BOOL PartialEncryption; 2022 D3D11_ENCRYPTED_BLOCK_INFO EncryptedBlockInfo; 2023} D3D11_VIDEO_DECODER_BUFFER_DESC; 2024 2025typedef struct D3D11_VIDEO_DECODER_EXTENSION 2026{ 2027 UINT Function; 2028 void *pPrivateInputData; 2029 UINT PrivateInputDataSize; 2030 void *pPrivateOutputData; 2031 UINT PrivateOutputDataSize; 2032 UINT ResourceCount; 2033 ID3D11Resource **ppResourceList; 2034} D3D11_VIDEO_DECODER_EXTENSION; 2035 2036typedef struct D3D11_VIDEO_COLOR_YCbCrA 2037{ 2038 float Y; 2039 float Cb; 2040 float Cr; 2041 float A; 2042} D3D11_VIDEO_COLOR_YCbCrA; 2043 2044typedef struct D3D11_VIDEO_COLOR_RGBA 2045{ 2046 float R; 2047 float G; 2048 float B; 2049 float A; 2050} D3D11_VIDEO_COLOR_RGBA; 2051 2052typedef struct D3D11_VIDEO_COLOR 2053{ 2054 union 2055 { 2056 D3D11_VIDEO_COLOR_YCbCrA YCbCr; 2057 D3D11_VIDEO_COLOR_RGBA RGBA; 2058 }; 2059} D3D11_VIDEO_COLOR; 2060 2061typedef struct D3D11_VIDEO_PROCESSOR_COLOR_SPACE 2062{ 2063 UINT Usage : 1; 2064 UINT RGB_Range : 1; 2065 UINT YCbCr_Matrix : 1; 2066 UINT YCbCr_xvYCC : 1; 2067 UINT Nominal_Range : 2; 2068 UINT Reserved : 26; 2069} D3D11_VIDEO_PROCESSOR_COLOR_SPACE; 2070 2071typedef struct D3D11_VIDEO_PROCESSOR_STREAM 2072{ 2073 BOOL Enable; 2074 UINT OutputIndex; 2075 UINT InputFrameOrField; 2076 UINT PastFrames; 2077 UINT FutureFrames; 2078 ID3D11VideoProcessorInputView **ppPastSurfaces; 2079 ID3D11VideoProcessorInputView *pInputSurface; 2080 ID3D11VideoProcessorInputView **ppFutureSurfaces; 2081 ID3D11VideoProcessorInputView **ppPastSurfacesRight; 2082 ID3D11VideoProcessorInputView *pInputSurfaceRight; 2083 ID3D11VideoProcessorInputView **ppFutureSurfacesRight; 2084} D3D11_VIDEO_PROCESSOR_STREAM; 2085 2086typedef struct D3D11_OMAC 2087{ 2088 BYTE Omac[D3D11_OMAC_SIZE]; 2089} D3D11_OMAC; 2090 2091typedef struct D3D11_AUTHENTICATED_CONFIGURE_OUTPUT 2092{ 2093 D3D11_OMAC omac; 2094 GUID ConfigureType; 2095 HANDLE hChannel; 2096 UINT SequenceNumber; 2097 HRESULT ReturnCode; 2098} D3D11_AUTHENTICATED_CONFIGURE_OUTPUT; 2099 2100typedef struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT 2101{ 2102 UINT64 Frequency; 2103 BOOL Disjoint; 2104} D3D11_QUERY_DATA_TIMESTAMP_DISJOINT; 2105 2106typedef struct D3D11_QUERY_DATA_PIPELINE_STATISTICS 2107{ 2108 UINT64 IAVertices; 2109 UINT64 IAPrimitives; 2110 UINT64 VSInvocations; 2111 UINT64 GSInvocations; 2112 UINT64 GSPrimitives; 2113 UINT64 CInvocations; 2114 UINT64 CPrimitives; 2115 UINT64 PSInvocations; 2116 UINT64 HSInvocations; 2117 UINT64 DSInvocations; 2118 UINT64 CSInvocations; 2119} D3D11_QUERY_DATA_PIPELINE_STATISTICS; 2120 2121typedef struct D3D11_DRAW_INSTANCED_INDIRECT_ARGS 2122{ 2123 UINT VertexCountPerInstance; 2124 UINT InstanceCount; 2125 UINT StartVertexLocation; 2126 UINT StartInstanceLocation; 2127} D3D11_DRAW_INSTANCED_INDIRECT_ARGS; 2128 2129typedef struct D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS 2130{ 2131 UINT IndexCountPerInstance; 2132 UINT InstanceCount; 2133 UINT StartIndexLocation; 2134 INT BaseVertexLocation; 2135 UINT StartInstanceLocation; 2136} D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS; 2137 2138typedef struct D3D11_AUTHENTICATED_CONFIGURE_INPUT 2139{ 2140 D3D11_OMAC omac; 2141 GUID ConfigureType; 2142 HANDLE hChannel; 2143 UINT SequenceNumber; 2144} D3D11_AUTHENTICATED_CONFIGURE_INPUT; 2145 2146typedef struct D3D11_AUTHENTICATED_QUERY_INPUT 2147{ 2148 GUID QueryType; 2149 HANDLE hChannel; 2150 UINT SequenceNumber; 2151} D3D11_AUTHENTICATED_QUERY_INPUT; 2152 2153typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT 2154{ 2155 D3D11_OMAC omac; 2156 GUID QueryType; 2157 HANDLE hChannel; 2158 UINT SequenceNumber; 2159 HRESULT ReturnCode; 2160} D3D11_AUTHENTICATED_QUERY_OUTPUT; 2161 2162typedef union D3D11_AUTHENTICATED_PROTECTION_FLAGS 2163{ 2164 struct 2165 { 2166 UINT ProtectionEnabled : 1; 2167 UINT OverlayOrFullscreenRequired : 1; 2168 UINT Reserved : 30; 2169 } Flags; 2170 UINT Value; 2171} D3D11_AUTHENTICATED_PROTECTION_FLAGS; 2172 2173typedef struct D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT 2174{ 2175 D3D11_AUTHENTICATED_QUERY_OUTPUT Output; 2176 D3D11_AUTHENTICATED_PROTECTION_FLAGS ProtectionFlags; 2177} D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT; 2178 2179typedef struct D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT 2180{ 2181 D3D11_AUTHENTICATED_QUERY_OUTPUT Output; 2182 D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType; 2183} D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT; 2184 2185typedef struct D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT 2186{ 2187 D3D11_AUTHENTICATED_QUERY_OUTPUT Output; 2188 HANDLE DeviceHandle; 2189} D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT; 2190 2191typedef struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT 2192{ 2193 D3D11_AUTHENTICATED_QUERY_INPUT Input; 2194 HANDLE DecoderHandle; 2195} D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT; 2196 2197typedef struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT 2198{ 2199 D3D11_AUTHENTICATED_QUERY_OUTPUT Output; 2200 HANDLE DecoderHandle; 2201 HANDLE CryptoSessionHandle; 2202 HANDLE DeviceHandle; 2203} D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT; 2204 2205typedef struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT 2206{ 2207 D3D11_AUTHENTICATED_QUERY_OUTPUT Output; 2208 UINT RestrictedSharedResourceProcessCount; 2209} D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT; 2210 2211typedef struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT 2212{ 2213 D3D11_AUTHENTICATED_QUERY_INPUT Input; 2214 UINT ProcessIndex; 2215} D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT; 2216 2217typedef struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT 2218{ 2219 D3D11_AUTHENTICATED_QUERY_OUTPUT Output; 2220 UINT ProcessIndex; 2221 D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE ProcessIdentifier; 2222 HANDLE ProcessHandle; 2223} D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT; 2224 2225typedef struct D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT 2226{ 2227 D3D11_AUTHENTICATED_QUERY_OUTPUT Output; 2228 UINT UnrestrictedProtectedSharedResourceCount; 2229} D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT; 2230 2231typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT 2232{ 2233 D3D11_AUTHENTICATED_QUERY_INPUT Input; 2234 HANDLE DeviceHandle; 2235 HANDLE CryptoSessionHandle; 2236} D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT; 2237 2238typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT 2239{ 2240 D3D11_AUTHENTICATED_QUERY_OUTPUT Output; 2241 HANDLE DeviceHandle; 2242 HANDLE CryptoSessionHandle; 2243 UINT OutputIDCount; 2244} D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT; 2245 2246typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT 2247{ 2248 D3D11_AUTHENTICATED_QUERY_INPUT Input; 2249 HANDLE DeviceHandle; 2250 HANDLE CryptoSessionHandle; 2251 UINT OutputIDIndex; 2252} D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT; 2253 2254typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT 2255{ 2256 D3D11_AUTHENTICATED_QUERY_OUTPUT Output; 2257 HANDLE DeviceHandle; 2258 HANDLE CryptoSessionHandle; 2259 UINT OutputIDIndex; 2260 UINT64 OutputID; 2261} D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT; 2262 2263typedef struct D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT 2264{ 2265 D3D11_AUTHENTICATED_QUERY_OUTPUT Output; 2266 D3D11_BUS_TYPE BusType; 2267 BOOL AccessibleInContiguousBlocks; 2268 BOOL AccessibleInNonContiguousBlocks; 2269} D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_OUTPUT; 2270 2271typedef struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT 2272{ 2273 D3D11_AUTHENTICATED_QUERY_OUTPUT Output; 2274 UINT EncryptionGuidCount; 2275} D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT; 2276 2277typedef struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT 2278{ 2279 D3D11_AUTHENTICATED_QUERY_INPUT Input; 2280 UINT EncryptionGuidIndex; 2281} D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT; 2282 2283typedef struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT 2284{ 2285 D3D11_AUTHENTICATED_QUERY_OUTPUT Output; 2286 UINT EncryptionGuidIndex; 2287 GUID EncryptionGuid; 2288} D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT; 2289 2290typedef struct D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT 2291{ 2292 D3D11_AUTHENTICATED_QUERY_OUTPUT Output; 2293 GUID EncryptionGuid; 2294} D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT; 2295 2296typedef struct D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT 2297{ 2298 D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters; 2299 UINT StartSequenceQuery; 2300 UINT StartSequenceConfigure; 2301} D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT; 2302 2303typedef struct D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT 2304{ 2305 D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters; 2306 D3D11_AUTHENTICATED_PROTECTION_FLAGS Protections; 2307} D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT; 2308 2309typedef struct D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT 2310{ 2311 D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters; 2312 HANDLE DecoderHandle; 2313 HANDLE CryptoSessionHandle; 2314 HANDLE DeviceHandle; 2315} D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT; 2316 2317typedef struct D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT 2318{ 2319 D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters; 2320 D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE ProcessType; 2321 HANDLE ProcessHandle; 2322 BOOL AllowAccess; 2323} D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT; 2324 2325typedef struct D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT 2326{ 2327 D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters; 2328 GUID EncryptionGuid; 2329} D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT; 2330 2331[ 2332 object, 2333 local, 2334 uuid(1841e5c8-16b0-489b-bcc8-44cfb0d5deae) 2335] 2336interface ID3D11DeviceChild : IUnknown 2337{ 2338 void GetDevice( 2339 [out] ID3D11Device **ppDevice); 2340 HRESULT GetPrivateData( 2341 [in] REFGUID guid, 2342 [in, out] UINT *pDataSize, 2343 [out] void *pData); 2344 HRESULT SetPrivateData( 2345 [in] REFGUID guid, 2346 [in] UINT DataSize, 2347 [in] const void *pData); 2348 HRESULT SetPrivateDataInterface( 2349 [in] REFGUID guid, 2350 [in] const IUnknown *pData); 2351} 2352 2353[ 2354 object, 2355 local, 2356 uuid(4b35d0cd-1e15-4258-9c98-1b1333f6dd3b) 2357] 2358interface ID3D11Asynchronous : ID3D11DeviceChild 2359{ 2360 UINT GetDataSize(); 2361} 2362 2363[ 2364 object, 2365 local, 2366 uuid(d6c00747-87b7-425e-b84d-44d108560afd) 2367] 2368interface ID3D11Query : ID3D11Asynchronous 2369{ 2370 void GetDesc( 2371 [out] D3D11_QUERY_DESC *pDesc); 2372} 2373 2374[ 2375 object, 2376 local, 2377 uuid(dc8e63f3-d12b-4952-b47b-5e45026a862d) 2378] 2379interface ID3D11Resource : ID3D11DeviceChild 2380{ 2381 void GetType( 2382 [out] D3D11_RESOURCE_DIMENSION *pResourceDimension); 2383 void SetEvictionPriority( 2384 [in] UINT EvictionPriority); 2385 UINT GetEvictionPriority(); 2386} 2387 2388[ 2389 object, 2390 local, 2391 uuid(839d1216-bb2e-412b-b7f4-a9dbebe08ed1) 2392] 2393interface ID3D11View : ID3D11DeviceChild 2394{ 2395 void GetResource( 2396 [out] ID3D11Resource **ppResource); 2397} 2398 2399[ 2400 object, 2401 local, 2402 uuid(75b68faa-347d-4159-8f45-a0640f01cd9a) 2403] 2404interface ID3D11BlendState : ID3D11DeviceChild 2405{ 2406 void GetDesc( 2407 [out] D3D11_BLEND_DESC *pDesc); 2408} 2409 2410[ 2411 object, 2412 local, 2413 uuid(48570b85-d1ee-4fcd-a250-eb350722b037) 2414] 2415interface ID3D11Buffer : ID3D11Resource 2416{ 2417 void GetDesc( 2418 [out] D3D11_BUFFER_DESC *pDesc); 2419} 2420 2421[ 2422 object, 2423 local, 2424 uuid(a6cd7faa-b0b7-4a2f-9436-8662a65797cb) 2425] 2426interface ID3D11ClassInstance : ID3D11DeviceChild 2427{ 2428 void GetClassLinkage( 2429 [out] ID3D11ClassLinkage **ppLinkage); 2430 void GetDesc( 2431 [out] D3D11_CLASS_INSTANCE_DESC *pDesc); 2432 void GetInstanceName( 2433 [out] LPSTR pInstanceName, 2434 [in, out] SIZE_T *pBufferLength); 2435 void GetTypeName( 2436 [out] LPSTR pTypeName, 2437 [in, out] SIZE_T *pBufferLength); 2438} 2439 2440[ 2441 object, 2442 local, 2443 uuid(ddf57cba-9543-46e4-a12b-f207a0fe7fed) 2444] 2445interface ID3D11ClassLinkage : ID3D11DeviceChild 2446{ 2447 HRESULT GetClassInstance( 2448 [in] LPCSTR pClassInstanceName, 2449 [in] UINT InstanceIndex, 2450 [out] ID3D11ClassInstance **ppInstance); 2451 HRESULT CreateClassInstance( 2452 [in] LPCSTR pClassTypeName, 2453 [in] UINT ConstantBufferOffset, 2454 [in] UINT ConstantVectorOffset, 2455 [in] UINT TextureOffset, 2456 [in] UINT SamplerOffset, 2457 [out] ID3D11ClassInstance **ppInstance); 2458} 2459 2460[ 2461 object, 2462 local, 2463 uuid(a24bc4d1-769e-43f7-8013-98ff566c18e2) 2464] 2465interface ID3D11CommandList : ID3D11DeviceChild 2466{ 2467 UINT GetContextFlags(); 2468} 2469 2470[ 2471 object, 2472 local, 2473 uuid(4f5b196e-c2bd-495e-bd01-1fded38e4969) 2474] 2475interface ID3D11ComputeShader : ID3D11DeviceChild 2476{ 2477} 2478 2479[ 2480 object, 2481 local, 2482 uuid(6e8c49fb-a371-4770-b440-29086022b741) 2483] 2484interface ID3D11Counter : ID3D11Asynchronous 2485{ 2486 void GetDesc( 2487 [out] D3D11_COUNTER_DESC *pDesc); 2488} 2489 2490[ 2491 object, 2492 local, 2493 uuid(03823efb-8d8f-4e1c-9aa2-f64bb2cbfdf1) 2494] 2495interface ID3D11DepthStencilState : ID3D11DeviceChild 2496{ 2497 void GetDesc( 2498 [out] D3D11_DEPTH_STENCIL_DESC *pDesc); 2499} 2500 2501[ 2502 object, 2503 local, 2504 uuid(9fdac92a-1876-48c3-afad-25b94f84a9b6) 2505] 2506interface ID3D11DepthStencilView : ID3D11View 2507{ 2508 void GetDesc( 2509 [out] D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc); 2510} 2511 2512[ 2513 object, 2514 local, 2515 uuid(f582c508-0f36-490c-9977-31eece268cfa) 2516] 2517interface ID3D11DomainShader : ID3D11DeviceChild 2518{ 2519} 2520 2521[ 2522 object, 2523 local, 2524 uuid(38325b96-effb-4022-ba02-2e795b70275c) 2525] 2526interface ID3D11GeometryShader : ID3D11DeviceChild 2527{ 2528} 2529 2530[ 2531 object, 2532 local, 2533 uuid(8e5c6061-628a-4c8e-8264-bbe45cb3d5dd) 2534] 2535interface ID3D11HullShader : ID3D11DeviceChild 2536{ 2537} 2538 2539[ 2540 object, 2541 local, 2542 uuid(e4819ddc-4cf0-4025-bd26-5de82a3e07b7) 2543] 2544interface ID3D11InputLayout : ID3D11DeviceChild 2545{ 2546} 2547 2548[ 2549 object, 2550 local, 2551 uuid(ea82e40d-51dc-4f33-93d4-db7c9125ae8c) 2552] 2553interface ID3D11PixelShader : ID3D11DeviceChild 2554{ 2555} 2556 2557[ 2558 object, 2559 local, 2560 uuid(9eb576dd-9f77-4d86-81aa-8bab5fe490e2) 2561] 2562interface ID3D11Predicate : ID3D11Query 2563{ 2564} 2565 2566[ 2567 object, 2568 local, 2569 uuid(9bb4ab81-ab1a-4d8f-b506-fc04200b6ee7) 2570] 2571interface ID3D11RasterizerState : ID3D11DeviceChild 2572{ 2573 void GetDesc( 2574 [out] D3D11_RASTERIZER_DESC *pDesc); 2575} 2576 2577[ 2578 object, 2579 local, 2580 uuid(dfdba067-0b8d-4865-875b-d7b4516cc164) 2581] 2582interface ID3D11RenderTargetView : ID3D11View 2583{ 2584 void GetDesc( 2585 [out] D3D11_RENDER_TARGET_VIEW_DESC *pDesc); 2586} 2587 2588[ 2589 object, 2590 local, 2591 uuid(da6fea51-564c-4487-9810-f0d0f9b4e3a5) 2592] 2593interface ID3D11SamplerState : ID3D11DeviceChild 2594{ 2595 void GetDesc( 2596 [out] D3D11_SAMPLER_DESC *pDesc); 2597} 2598 2599[ 2600 object, 2601 local, 2602 uuid(b0e06fe0-8192-4e1a-b1ca-36d7414710b2) 2603] 2604interface ID3D11ShaderResourceView : ID3D11View 2605{ 2606 void GetDesc( 2607 [out] D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc); 2608} 2609 2610[ 2611 object, 2612 local, 2613 uuid(f8fb5c27-c6b3-4f75-a4c8-439af2ef564c), 2614] 2615interface ID3D11Texture1D : ID3D11Resource 2616{ 2617 void GetDesc( 2618 [out] D3D11_TEXTURE1D_DESC *pDesc); 2619} 2620 2621[ 2622 object, 2623 local, 2624 uuid(6f15aaf2-d208-4e89-9ab4-489535d34f9c) 2625] 2626interface ID3D11Texture2D : ID3D11Resource 2627{ 2628 void GetDesc( 2629 [out] D3D11_TEXTURE2D_DESC *pDesc); 2630} 2631 2632[ 2633 object, 2634 local, 2635 uuid(037e866e-f56d-4357-a8af-9dabbe6e250e) 2636] 2637interface ID3D11Texture3D : ID3D11Resource 2638{ 2639 void GetDesc( 2640 [out] D3D11_TEXTURE3D_DESC *pDesc); 2641} 2642 2643[ 2644 object, 2645 local, 2646 uuid(28acf509-7f5c-48f6-8611-f316010a6380) 2647] 2648interface ID3D11UnorderedAccessView : ID3D11View 2649{ 2650 void GetDesc( 2651 [out] D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc); 2652} 2653 2654[ 2655 object, 2656 local, 2657 uuid(3b301d64-d678-4289-8897-22f8928b72f3) 2658] 2659interface ID3D11VertexShader : ID3D11DeviceChild 2660{ 2661} 2662 2663[ 2664 object, 2665 local, 2666 uuid(c0bfa96c-e089-44fb-8eaf-26f8796190da) 2667] 2668interface ID3D11DeviceContext : ID3D11DeviceChild 2669{ 2670 void VSSetConstantBuffers( 2671 [in] UINT StartSlot, 2672 [in] UINT NumBuffers, 2673 [in] ID3D11Buffer *const *ppConstantBuffers); 2674 void PSSetShaderResources( 2675 [in] UINT StartSlot, 2676 [in] UINT NumViews, 2677 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews); 2678 void PSSetShader( 2679 [in] ID3D11PixelShader *pPixelShader, 2680 [in] ID3D11ClassInstance *const *ppClassInstances, 2681 UINT NumClassInstances); 2682 void PSSetSamplers( 2683 [in] UINT StartSlot, 2684 [in] UINT NumSamplers, 2685 [in] ID3D11SamplerState *const *ppSamplers); 2686 void VSSetShader( 2687 [in] ID3D11VertexShader *pVertexShader, 2688 [in] ID3D11ClassInstance *const *ppClassInstances, 2689 UINT NumClassInstances); 2690 void DrawIndexed( 2691 [in] UINT IndexCount, 2692 [in] UINT StartIndexLocation, 2693 [in] INT BaseVertexLocation); 2694 void Draw( 2695 [in] UINT VertexCount, 2696 [in] UINT StartVertexLocation); 2697 HRESULT Map( 2698 [in] ID3D11Resource *pResource, 2699 [in] UINT Subresource, 2700 [in] D3D11_MAP MapType, 2701 [in] UINT MapFlags, 2702 [out] D3D11_MAPPED_SUBRESOURCE *pMappedResource); 2703 void Unmap( 2704 [in] ID3D11Resource *pResource, 2705 [in] UINT Subresource); 2706 void PSSetConstantBuffers( 2707 [in] UINT StartSlot, 2708 [in] UINT NumBuffers, 2709 [in] ID3D11Buffer *const *ppConstantBuffers); 2710 void IASetInputLayout( 2711 [in] ID3D11InputLayout *pInputLayout); 2712 void IASetVertexBuffers( 2713 [in] UINT StartSlot, 2714 [in] UINT NumBuffers, 2715 [in] ID3D11Buffer *const *ppVertexBuffers, 2716 [in] const UINT *pStrides, 2717 [in] const UINT *pOffsets); 2718 void IASetIndexBuffer( 2719 [in] ID3D11Buffer *pIndexBuffer, 2720 [in] DXGI_FORMAT Format, 2721 [in] UINT Offset); 2722 void DrawIndexedInstanced( 2723 [in] UINT IndexCountPerInstance, 2724 [in] UINT InstanceCount, 2725 [in] UINT StartIndexLocation, 2726 [in] INT BaseVertexLocation, 2727 [in] UINT StartInstanceLocation); 2728 void DrawInstanced( 2729 [in] UINT VertexCountPerInstance, 2730 [in] UINT InstanceCount, 2731 [in] UINT StartVertexLocation, 2732 [in] UINT StartInstanceLocation); 2733 void GSSetConstantBuffers( 2734 [in] UINT StartSlot, 2735 [in] UINT NumBuffers, 2736 [in] ID3D11Buffer *const *ppConstantBuffers); 2737 void GSSetShader( 2738 [in] ID3D11GeometryShader *pShader, 2739 [in] ID3D11ClassInstance *const *ppClassInstances, 2740 UINT NumClassInstances); 2741 void IASetPrimitiveTopology( 2742 [in] D3D11_PRIMITIVE_TOPOLOGY Topology); 2743 void VSSetShaderResources( 2744 [in] UINT StartSlot, 2745 [in] UINT NumViews, 2746 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews); 2747 void VSSetSamplers( 2748 [in] UINT StartSlot, 2749 [in] UINT NumSamplers, 2750 [in] ID3D11SamplerState *const *ppSamplers); 2751 void Begin( 2752 [in] ID3D11Asynchronous *pAsync); 2753 void End( 2754 [in] ID3D11Asynchronous *pAsync); 2755 HRESULT GetData( 2756 [in] ID3D11Asynchronous *pAsync, 2757 [in] void *pData, 2758 [in] UINT DataSize, 2759 [in] UINT GetDataFlags); 2760 void SetPredication( 2761 [in] ID3D11Predicate *pPredicate, 2762 [in] BOOL PredicateValue); 2763 void GSSetShaderResources( 2764 [in] UINT StartSlot, 2765 [in] UINT NumViews, 2766 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews); 2767 void GSSetSamplers( 2768 [in] UINT StartSlot, 2769 [in] UINT NumSamplers, 2770 [in] ID3D11SamplerState *const *ppSamplers); 2771 void OMSetRenderTargets( 2772 [in] UINT NumViews, 2773 [in] ID3D11RenderTargetView *const *ppRenderTargetViews, 2774 [in] ID3D11DepthStencilView *pDepthStencilView); 2775 void OMSetRenderTargetsAndUnorderedAccessViews( 2776 [in] UINT NumRTVs, 2777 [in] ID3D11RenderTargetView *const *ppRenderTargetViews, 2778 [in] ID3D11DepthStencilView *pDepthStencilView, 2779 [in] UINT UAVStartSlot, 2780 [in] UINT NumUAVs, 2781 [in] ID3D11UnorderedAccessView *const *ppUnorderedAccessViews, 2782 [in] const UINT *pUAVInitialCounts); 2783 void OMSetBlendState( 2784 [in] ID3D11BlendState *pBlendState, 2785 [in] const FLOAT BlendFactor[4], 2786 [in] UINT SampleMask); 2787 void OMSetDepthStencilState( 2788 [in] ID3D11DepthStencilState *pDepthStencilState, 2789 [in] UINT StencilRef); 2790 void SOSetTargets( 2791 [in] UINT NumBuffers, 2792 [in] ID3D11Buffer *const *ppSOTargets, 2793 [in] const UINT *pOffsets); 2794 void DrawAuto(); 2795 void DrawIndexedInstancedIndirect( 2796 [in] ID3D11Buffer *pBufferForArgs, 2797 [in] UINT AlignedByteOffsetForArgs); 2798 void DrawInstancedIndirect( 2799 [in] ID3D11Buffer *pBufferForArgs, 2800 [in] UINT AlignedByteOffsetForArgs); 2801 void Dispatch( 2802 [in] UINT ThreadGroupCountX, 2803 [in] UINT ThreadGroupCountY, 2804 [in] UINT ThreadGroupCountZ); 2805 void DispatchIndirect( 2806 [in] ID3D11Buffer *pBufferForArgs, 2807 [in] UINT AlignedByteOffsetForArgs); 2808 void RSSetState( 2809 [in] ID3D11RasterizerState *pRasterizerState); 2810 void RSSetViewports( 2811 [in] UINT NumViewports, 2812 [in] const D3D11_VIEWPORT *pViewports); 2813 void RSSetScissorRects( 2814 [in] UINT NumRects, 2815 [in] const D3D11_RECT *pRects); 2816 void CopySubresourceRegion( 2817 [in] ID3D11Resource *pDstResource, 2818 [in] UINT DstSubresource, 2819 [in] UINT DstX, 2820 [in] UINT DstY, 2821 [in] UINT DstZ, 2822 [in] ID3D11Resource *pSrcResource, 2823 [in] UINT SrcSubresource, 2824 [in] const D3D11_BOX *pSrcBox); 2825 void CopyResource( 2826 [in] ID3D11Resource *pDstResource, 2827 [in] ID3D11Resource *pSrcResource); 2828 void UpdateSubresource( 2829 [in] ID3D11Resource *pDstResource, 2830 [in] UINT DstSubresource, 2831 [in] const D3D11_BOX *pDstBox, 2832 [in] const void *pSrcData, 2833 [in] UINT SrcRowPitch, 2834 [in] UINT SrcDepthPitch); 2835 void CopyStructureCount( 2836 [in] ID3D11Buffer *pDstBuffer, 2837 [in] UINT DstAlignedByteOffset, 2838 [in] ID3D11UnorderedAccessView *pSrcView); 2839 void ClearRenderTargetView( 2840 [in] ID3D11RenderTargetView *pRenderTargetView, 2841 [in] const FLOAT ColorRGBA[4]); 2842 void ClearUnorderedAccessViewUint( 2843 [in] ID3D11UnorderedAccessView *pUnorderedAccessView, 2844 [in] const UINT Values[4]); 2845 void ClearUnorderedAccessViewFloat( 2846 [in] ID3D11UnorderedAccessView *pUnorderedAccessView, 2847 [in] const FLOAT Values[4]); 2848 void ClearDepthStencilView( 2849 [in] ID3D11DepthStencilView *pDepthStencilView, 2850 [in] UINT ClearFlags, 2851 [in] FLOAT Depth, 2852 [in] UINT8 Stencil); 2853 void GenerateMips( 2854 [in] ID3D11ShaderResourceView *pShaderResourceView); 2855 void SetResourceMinLOD( 2856 [in] ID3D11Resource *pResource, FLOAT MinLOD); 2857 FLOAT GetResourceMinLOD( 2858 [in] ID3D11Resource *pResource); 2859 void ResolveSubresource( 2860 [in] ID3D11Resource *pDstResource, 2861 [in] UINT DstSubresource, 2862 [in] ID3D11Resource *pSrcResource, 2863 [in] UINT SrcSubresource, 2864 [in] DXGI_FORMAT Format); 2865 void ExecuteCommandList( 2866 [in] ID3D11CommandList *pCommandList, 2867 BOOL RestoreContextState); 2868 void HSSetShaderResources( 2869 [in] UINT StartSlot, 2870 [in] UINT NumViews, 2871 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews); 2872 void HSSetShader( 2873 [in] ID3D11HullShader *pHullShader, 2874 [in] ID3D11ClassInstance *const *ppClassInstances, 2875 UINT NumClassInstances); 2876 void HSSetSamplers( 2877 [in] UINT StartSlot, 2878 [in] UINT NumSamplers, 2879 [in] ID3D11SamplerState *const *ppSamplers); 2880 void HSSetConstantBuffers( 2881 [in] UINT StartSlot, 2882 [in] UINT NumBuffers, 2883 [in] ID3D11Buffer *const *ppConstantBuffers); 2884 void DSSetShaderResources( 2885 [in] UINT StartSlot, 2886 [in] UINT NumViews, 2887 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews); 2888 void DSSetShader( 2889 [in] ID3D11DomainShader *pDomainShader, 2890 [in] ID3D11ClassInstance *const *ppClassInstances, 2891 UINT NumClassInstances); 2892 void DSSetSamplers( 2893 [in] UINT StartSlot, 2894 [in] UINT NumSamplers, 2895 [in] ID3D11SamplerState *const *ppSamplers); 2896 void DSSetConstantBuffers( 2897 [in] UINT StartSlot, 2898 [in] UINT NumBuffers, 2899 [in] ID3D11Buffer *const *ppConstantBuffers); 2900 void CSSetShaderResources( 2901 [in] UINT StartSlot, 2902 [in] UINT NumViews, 2903 [in] ID3D11ShaderResourceView *const *ppShaderResourceViews); 2904 void CSSetUnorderedAccessViews( 2905 [in] UINT StartSlot, 2906 [in] UINT NumUAVs, 2907 [in] ID3D11UnorderedAccessView *const *ppUnorderedAccessViews, 2908 [in] const UINT *pUAVInitialCounts); 2909 void CSSetShader( 2910 [in] ID3D11ComputeShader *pComputeShader, 2911 [in] ID3D11ClassInstance *const *ppClassInstances, 2912 UINT NumClassInstances); 2913 void CSSetSamplers( 2914 [in] UINT StartSlot, 2915 [in] UINT NumSamplers, 2916 [in] ID3D11SamplerState *const *ppSamplers); 2917 void CSSetConstantBuffers( 2918 [in] UINT StartSlot, 2919 [in] UINT NumBuffers, 2920 [in] ID3D11Buffer *const *ppConstantBuffers); 2921 void VSGetConstantBuffers( 2922 [in] UINT StartSlot, 2923 [in] UINT NumBuffers, 2924 [out] ID3D11Buffer **ppConstantBuffers); 2925 void PSGetShaderResources( 2926 [in] UINT StartSlot, 2927 [in] UINT NumViews, 2928 [out] ID3D11ShaderResourceView **ppShaderResourceViews); 2929 void PSGetShader( 2930 [out] ID3D11PixelShader **ppPixelShader, 2931 [out] ID3D11ClassInstance **ppClassInstances, 2932 [in, out] UINT *pNumClassInstances); 2933 void PSGetSamplers( 2934 [in] UINT StartSlot, 2935 [in] UINT NumSamplers, 2936 [out] ID3D11SamplerState **ppSamplers); 2937 void VSGetShader( 2938 [out] ID3D11VertexShader **ppVertexShader, 2939 [out] ID3D11ClassInstance **ppClassInstances, 2940 [in, out] UINT *pNumClassInstances); 2941 void PSGetConstantBuffers( 2942 [in] UINT StartSlot, 2943 [in] UINT NumBuffers, 2944 [out] ID3D11Buffer **ppConstantBuffers); 2945 void IAGetInputLayout( 2946 [out] ID3D11InputLayout **ppInputLayout); 2947 void IAGetVertexBuffers( 2948 [in] UINT StartSlot, 2949 [in] UINT NumBuffers, 2950 [out] ID3D11Buffer **ppVertexBuffers, 2951 [out] UINT *pStrides, 2952 [out] UINT *pOffsets); 2953 void IAGetIndexBuffer( 2954 [out] ID3D11Buffer **pIndexBuffer, 2955 [out] DXGI_FORMAT* Format, 2956 [out] UINT* Offset); 2957 void GSGetConstantBuffers( 2958 [in] UINT StartSlot, 2959 [in] UINT NumBuffers, 2960 [out] ID3D11Buffer **ppConstantBuffers); 2961 void GSGetShader( 2962 [out] ID3D11GeometryShader **ppGeometryShader, 2963 [out] ID3D11ClassInstance **ppClassInstances, 2964 [in, out] UINT *pNumClassInstances); 2965 void IAGetPrimitiveTopology( 2966 [out] D3D11_PRIMITIVE_TOPOLOGY *pTopology); 2967 void VSGetShaderResources( 2968 [in] UINT StartSlot, 2969 [in] UINT NumViews, 2970 [out] ID3D11ShaderResourceView **ppShaderResourceViews); 2971 void VSGetSamplers( 2972 [in] UINT StartSlot, 2973 [in] UINT NumSamplers, 2974 [out] ID3D11SamplerState **ppSamplers); 2975 void GetPredication( 2976 [out] ID3D11Predicate **ppPredicate, 2977 [out] BOOL *pPredicateValue); 2978 void GSGetShaderResources( 2979 [in] UINT StartSlot, 2980 [in] UINT NumViews, 2981 [out] ID3D11ShaderResourceView **ppShaderResourceViews); 2982 void GSGetSamplers( 2983 [in] UINT StartSlot, 2984 [in] UINT NumSamplers, 2985 [out] ID3D11SamplerState **ppSamplers); 2986 void OMGetRenderTargets( 2987 [in] UINT NumViews, 2988 [out] ID3D11RenderTargetView **ppRenderTargetViews, 2989 [out] ID3D11DepthStencilView **ppDepthStencilView); 2990 void OMGetRenderTargetsAndUnorderedAccessViews( 2991 [in] UINT NumRTVs, 2992 [out] ID3D11RenderTargetView **ppRenderTargetViews, 2993 [out] ID3D11DepthStencilView **ppDepthStencilView, 2994 [in] UINT UAVStartSlot, 2995 [in] UINT NumUAVs, 2996 [out] ID3D11UnorderedAccessView **ppUnorderedAccessViews); 2997 void OMGetBlendState( 2998 [out] ID3D11BlendState **ppBlendState, 2999 [out] FLOAT BlendFactor[4], 3000 [out] UINT *pSampleMask); 3001 void OMGetDepthStencilState( 3002 [out] ID3D11DepthStencilState **ppDepthStencilState, 3003 [out] UINT *pStencilRef); 3004 void SOGetTargets( 3005 [in] UINT NumBuffers, 3006 [out] ID3D11Buffer **ppSOTargets); 3007 void RSGetState( 3008 [out] ID3D11RasterizerState **ppRasterizerState); 3009 void RSGetViewports( 3010 [in, out] UINT *pNumViewports, 3011 [out] D3D11_VIEWPORT *pViewports); 3012 void RSGetScissorRects( 3013 [in, out] UINT *pNumRects, 3014 [out] D3D11_RECT *pRects); 3015 void HSGetShaderResources( 3016 [in] UINT StartSlot, 3017 [in] UINT NumViews, 3018 [out] ID3D11ShaderResourceView **ppShaderResourceViews); 3019 void HSGetShader( 3020 [out] ID3D11HullShader **ppHullShader, 3021 [out] ID3D11ClassInstance **ppClassInstances, 3022 [in, out] UINT *pNumClassInstances); 3023 void HSGetSamplers( 3024 [in] UINT StartSlot, 3025 [in] UINT NumSamplers, 3026 [out] ID3D11SamplerState **ppSamplers); 3027 void HSGetConstantBuffers( 3028 [in] UINT StartSlot, 3029 [in] UINT NumBuffers, 3030 [out] ID3D11Buffer **ppConstantBuffers); 3031 void DSGetShaderResources( 3032 [in] UINT StartSlot, 3033 [in] UINT NumViews, 3034 [out] ID3D11ShaderResourceView **ppShaderResourceViews); 3035 void DSGetShader( 3036 [out] ID3D11DomainShader **ppDomainShader, 3037 [out] ID3D11ClassInstance **ppClassInstances, 3038 [in, out] UINT *pNumClassInstances); 3039 void DSGetSamplers( 3040 [in] UINT StartSlot, 3041 [in] UINT NumSamplers, 3042 [out] ID3D11SamplerState **ppSamplers); 3043 void DSGetConstantBuffers( 3044 [in] UINT StartSlot, 3045 [in] UINT NumBuffers, 3046 [out] ID3D11Buffer **ppConstantBuffers); 3047 void CSGetShaderResources( 3048 [in] UINT StartSlot, 3049 [in] UINT NumViews, 3050 [out] ID3D11ShaderResourceView **ppShaderResourceViews); 3051 void CSGetUnorderedAccessViews( 3052 [in] UINT StartSlot, 3053 [in] UINT NumUAVs, 3054 [out] ID3D11UnorderedAccessView **ppUnorderedAccessViews); 3055 void CSGetShader( 3056 [out] ID3D11ComputeShader **ppComputeShader, 3057 [out] ID3D11ClassInstance **ppClassInstances, 3058 [in, out] UINT *pNumClassInstances); 3059 void CSGetSamplers( 3060 [in] UINT StartSlot, 3061 [in] UINT NumSamplers, 3062 [out] ID3D11SamplerState **ppSamplers); 3063 void CSGetConstantBuffers( 3064 [in] UINT StartSlot, 3065 [in] UINT NumBuffers, 3066 [out] ID3D11Buffer **ppConstantBuffers); 3067 void ClearState(); 3068 void Flush(); 3069 D3D11_DEVICE_CONTEXT_TYPE GetType(); 3070 UINT GetContextFlags(); 3071 HRESULT FinishCommandList( 3072 BOOL RestoreDeferredContextState, 3073 [out] ID3D11CommandList **ppCommandList); 3074} 3075 3076[ 3077 object, 3078 uuid(3015a308-dcbd-47aa-a747-192486d14d4a), 3079 local, 3080 pointer_default(unique) 3081] 3082interface ID3D11AuthenticatedChannel : ID3D11DeviceChild 3083{ 3084 HRESULT GetCertificateSize( 3085 UINT *pCertificateSize); 3086 HRESULT GetCertificate( 3087 UINT CertificateSize, 3088 BYTE *pCertificate); 3089 void GetChannelHandle( 3090 HANDLE *pChannelHandle); 3091} 3092 3093[ 3094 object, 3095 uuid(9b32f9ad-bdcc-40a6-a39d-d5c865845720), 3096 local, 3097 pointer_default(unique) 3098] 3099interface ID3D11CryptoSession : ID3D11DeviceChild 3100{ 3101 void GetCryptoType( 3102 GUID *pCryptoType); 3103 void GetDecoderProfile( 3104 GUID *pDecoderProfile); 3105 HRESULT GetCertificateSize( 3106 UINT *pCertificateSize); 3107 HRESULT GetCertificate( 3108 UINT CertificateSize, 3109 BYTE *pCertificate); 3110 void GetCryptoSessionHandle( 3111 HANDLE *pCryptoSessionHandle); 3112} 3113 3114[ 3115 object, 3116 uuid(3c9c5b51-995d-48d1-9b8d-fa5caeded65c), 3117 local, 3118 pointer_default(unique) 3119] 3120interface ID3D11VideoDecoder : ID3D11DeviceChild 3121{ 3122 HRESULT GetCreationParameters( 3123 D3D11_VIDEO_DECODER_DESC *pVideoDesc, 3124 D3D11_VIDEO_DECODER_CONFIG *pConfig); 3125 HRESULT GetDriverHandle( 3126 HANDLE *pDriverHandle); 3127} 3128 3129[ 3130 object, 3131 uuid(31627037-53ab-4200-9061-05faa9ab45f9), 3132 local, 3133 pointer_default(unique) 3134] 3135interface ID3D11VideoProcessorEnumerator : ID3D11DeviceChild 3136{ 3137 HRESULT GetVideoProcessorContentDesc( 3138 D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pContentDesc); 3139 HRESULT CheckVideoProcessorFormat( 3140 DXGI_FORMAT Format, 3141 UINT *pFlags); 3142 HRESULT GetVideoProcessorCaps( 3143 D3D11_VIDEO_PROCESSOR_CAPS *pCaps); 3144 HRESULT GetVideoProcessorRateConversionCaps( 3145 UINT TypeIndex, 3146 D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps); 3147 HRESULT GetVideoProcessorCustomRate( 3148 UINT TypeIndex, 3149 UINT CustomRateIndex, 3150 D3D11_VIDEO_PROCESSOR_CUSTOM_RATE *pRate); 3151 HRESULT GetVideoProcessorFilterRange( 3152 D3D11_VIDEO_PROCESSOR_FILTER Filter, 3153 D3D11_VIDEO_PROCESSOR_FILTER_RANGE *pRange); 3154} 3155 3156[ 3157 object, 3158 uuid(1d7b0652-185f-41c6-85ce-0c5be3d4ae6c), 3159 local, 3160 pointer_default(unique) 3161] 3162interface ID3D11VideoProcessor : ID3D11DeviceChild 3163{ 3164 void GetContentDesc( 3165 D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc); 3166 void GetRateConversionCaps( 3167 D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps); 3168} 3169 3170[ 3171 object, 3172 uuid(c2931aea-2a85-4f20-860f-fba1fd256e18), 3173 local, 3174 pointer_default(unique) 3175] 3176interface ID3D11VideoDecoderOutputView : ID3D11View 3177{ 3178 void GetDesc( 3179 D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc); 3180} 3181 3182[ 3183 object, 3184 uuid(11ec5a5f-51dc-4945-ab34-6e8c21300ea5), 3185 local, 3186 pointer_default(unique) 3187] 3188interface ID3D11VideoProcessorInputView : ID3D11View 3189{ 3190 void GetDesc( 3191 D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc); 3192} 3193 3194[ 3195 object, 3196 uuid(a048285e-25a9-4527-bd93-d68b68c44254), 3197 local, 3198 pointer_default(unique) 3199] 3200interface ID3D11VideoProcessorOutputView : ID3D11View 3201{ 3202 void GetDesc( 3203 D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc); 3204} 3205 3206[ 3207 object, 3208 uuid(10ec4d5b-975a-4689-b9e4-d0aac30fe333), 3209 local, 3210 pointer_default(unique) 3211] 3212interface ID3D11VideoDevice : IUnknown 3213{ 3214 HRESULT CreateVideoDecoder( 3215 const D3D11_VIDEO_DECODER_DESC *pVideoDesc, 3216 const D3D11_VIDEO_DECODER_CONFIG *pConfig, 3217 ID3D11VideoDecoder **ppDecoder); 3218 HRESULT CreateVideoProcessor( 3219 ID3D11VideoProcessorEnumerator *pEnum, 3220 UINT RateConversionIndex, 3221 ID3D11VideoProcessor **ppVideoProcessor); 3222 HRESULT CreateAuthenticatedChannel( 3223 D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType, 3224 ID3D11AuthenticatedChannel **ppAuthenticatedChannel); 3225 HRESULT CreateCryptoSession( 3226 const GUID *pCryptoType, 3227 const GUID *pDecoderProfile, 3228 const GUID *pKeyExchangeType, 3229 ID3D11CryptoSession **ppCryptoSession); 3230 HRESULT CreateVideoDecoderOutputView( 3231 ID3D11Resource *pResource, 3232 const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc, 3233 ID3D11VideoDecoderOutputView **ppVDOVView); 3234 HRESULT CreateVideoProcessorInputView( 3235 ID3D11Resource *pResource, 3236 ID3D11VideoProcessorEnumerator *pEnum, 3237 const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc, 3238 ID3D11VideoProcessorInputView **ppVPIView); 3239 HRESULT CreateVideoProcessorOutputView( 3240 ID3D11Resource *pResource, 3241 ID3D11VideoProcessorEnumerator *pEnum, 3242 const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc, 3243 ID3D11VideoProcessorOutputView **ppVPOView); 3244 HRESULT CreateVideoProcessorEnumerator( 3245 const D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc, 3246 ID3D11VideoProcessorEnumerator **ppEnum); 3247 UINT GetVideoDecoderProfileCount(); 3248 HRESULT GetVideoDecoderProfile( 3249 UINT Index, 3250 GUID *pDecoderProfile); 3251 HRESULT CheckVideoDecoderFormat( 3252 const GUID *pDecoderProfile, 3253 DXGI_FORMAT Format, 3254 BOOL *pSupported); 3255 HRESULT GetVideoDecoderConfigCount( 3256 const D3D11_VIDEO_DECODER_DESC *pDesc, 3257 UINT *pCount); 3258 HRESULT GetVideoDecoderConfig( 3259 const D3D11_VIDEO_DECODER_DESC *pDesc, 3260 UINT Index, 3261 D3D11_VIDEO_DECODER_CONFIG *pConfig); 3262 HRESULT GetContentProtectionCaps( 3263 const GUID *pCryptoType, 3264 const GUID *pDecoderProfile, 3265 D3D11_VIDEO_CONTENT_PROTECTION_CAPS *pCaps); 3266 HRESULT CheckCryptoKeyExchange( 3267 const GUID *pCryptoType, 3268 const GUID *pDecoderProfile, 3269 UINT Index, 3270 GUID *pKeyExchangeType); 3271 HRESULT SetPrivateData( 3272 REFGUID guid, 3273 UINT DataSize, 3274 const void *pData); 3275 HRESULT SetPrivateDataInterface( 3276 REFGUID guid, 3277 const IUnknown *pData); 3278} 3279 3280[ 3281 object, 3282 uuid(61f21c45-3c0e-4a74-9cea-67100d9ad5e4), 3283 local, 3284 pointer_default(unique) 3285] 3286interface ID3D11VideoContext : ID3D11DeviceChild 3287{ 3288 HRESULT GetDecoderBuffer( 3289 [in] ID3D11VideoDecoder *decoder, 3290 [in] D3D11_VIDEO_DECODER_BUFFER_TYPE type, 3291 [out] UINT *buffer_size, 3292 [out] void **buffer 3293 ); 3294 HRESULT ReleaseDecoderBuffer( 3295 [in] ID3D11VideoDecoder *decoder, 3296 [in] D3D11_VIDEO_DECODER_BUFFER_TYPE type 3297 ); 3298 HRESULT DecoderBeginFrame( 3299 [in] ID3D11VideoDecoder *decoder, 3300 [in] ID3D11VideoDecoderOutputView *view, 3301 [in] UINT key_size, 3302 [in] const void *key 3303 ); 3304 HRESULT DecoderEndFrame( 3305 [in] ID3D11VideoDecoder *decoder 3306 ); 3307 HRESULT SubmitDecoderBuffers( 3308 [in] ID3D11VideoDecoder *decoder, 3309 [in] UINT buffers_count, 3310 [in] const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc 3311 ); 3312 HRESULT DecoderExtension( 3313 [in] ID3D11VideoDecoder *decoder, 3314 [in] const D3D11_VIDEO_DECODER_EXTENSION *extension 3315 ); 3316 void VideoProcessorSetOutputTargetRect( 3317 [in] ID3D11VideoProcessor *processor, 3318 [in] BOOL enable, 3319 [in] const RECT *rect 3320 ); 3321 void VideoProcessorSetOutputBackgroundColor( 3322 [in] ID3D11VideoProcessor *processor, 3323 [in] BOOL y_cb_cr, 3324 [in] const D3D11_VIDEO_COLOR *color 3325 ); 3326 void VideoProcessorSetOutputColorSpace( 3327 [in] ID3D11VideoProcessor *processor, 3328 [in] const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space 3329 ); 3330 void VideoProcessorSetOutputAlphaFillMode( 3331 [in] ID3D11VideoProcessor *processor, 3332 [in] D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode, 3333 [in] UINT stream_idx 3334 ); 3335 void VideoProcessorSetOutputConstriction( 3336 [in] ID3D11VideoProcessor *processor, 3337 [in] BOOL enable, 3338 [in] SIZE size 3339 ); 3340 void VideoProcessorSetOutputStereoMode( 3341 [in] ID3D11VideoProcessor *processor, 3342 [in] BOOL enable 3343 ); 3344 HRESULT VideoProcessorSetOutputExtension( 3345 [in] ID3D11VideoProcessor *processor, 3346 [in] const GUID *guid, 3347 [in] UINT data_size, 3348 [in] void *data 3349 ); 3350 void VideoProcessorGetOutputTargetRect( 3351 [in] ID3D11VideoProcessor *processor, 3352 [out] BOOL *enabled, 3353 [out] RECT *rect 3354 ); 3355 void VideoProcessorGetOutputBackgroundColor( 3356 [in] ID3D11VideoProcessor *processor, 3357 [out] BOOL *y_cb_cr, 3358 [out] D3D11_VIDEO_COLOR *color 3359 ); 3360 void VideoProcessorGetOutputColorSpace( 3361 [in] ID3D11VideoProcessor *processor, 3362 [out] D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space 3363 ); 3364 void VideoProcessorGetOutputAlphaFillMode( 3365 [in] ID3D11VideoProcessor *processor, 3366 [out] D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode, 3367 [out] UINT *stream_idx 3368 ); 3369 void VideoProcessorGetOutputConstriction( 3370 [in] ID3D11VideoProcessor *processor, 3371 [out] BOOL *enabled, 3372 [out] SIZE *size 3373 ); 3374 void VideoProcessorGetOutputStereoMode( 3375 [in] ID3D11VideoProcessor *processor, 3376 [out] BOOL *enabled 3377 ); 3378 HRESULT VideoProcessorGetOutputExtension( 3379 [in] ID3D11VideoProcessor *processor, 3380 [in] const GUID *guid, 3381 [in] UINT data_size, 3382 [out] void *data 3383 ); 3384 void VideoProcessorSetStreamFrameFormat( 3385 [in] ID3D11VideoProcessor *processor, 3386 [in] UINT stream_idx, 3387 [in] D3D11_VIDEO_FRAME_FORMAT format 3388 ); 3389 void VideoProcessorSetStreamColorSpace( 3390 [in] ID3D11VideoProcessor *processor, 3391 [in] UINT stream_idx, 3392 [in] const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space 3393 ); 3394 void VideoProcessorSetStreamOutputRate( 3395 [in] ID3D11VideoProcessor *processor, 3396 [in] UINT stream_idx, 3397 [in] D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate, 3398 [in] BOOL repeat, 3399 [in] const DXGI_RATIONAL *custom_rate 3400 ); 3401 void VideoProcessorSetStreamSourceRect( 3402 [in] ID3D11VideoProcessor *processor, 3403 [in] UINT stream_idx, 3404 [in] BOOL enable, 3405 [in] const RECT *rect 3406 ); 3407 void VideoProcessorSetStreamDestRect( 3408 [in] ID3D11VideoProcessor *processor, 3409 [in] UINT stream_idx, 3410 [in] BOOL enable, 3411 [in] const RECT *rect 3412 ); 3413 void VideoProcessorSetStreamAlpha( 3414 [in] ID3D11VideoProcessor *processor, 3415 [in] UINT stream_idx, 3416 [in] BOOL enable, 3417 [in] float alpha 3418 ); 3419 void VideoProcessorSetStreamPalette( 3420 [in] ID3D11VideoProcessor *processor, 3421 [in] UINT stream_idx, 3422 [in] UINT entry_count, 3423 [in] const UINT *entries 3424 ); 3425 void VideoProcessorSetStreamPixelAspectRatio( 3426 [in] ID3D11VideoProcessor *processor, 3427 [in] UINT stream_idx, 3428 [in] BOOL enable, 3429 [in] const DXGI_RATIONAL *src_aspect_ratio, 3430 [in] const DXGI_RATIONAL *dst_aspect_ratio 3431 ); 3432 void VideoProcessorSetStreamLumaKey( 3433 [in] ID3D11VideoProcessor *processor, 3434 [in] UINT stream_idx, 3435 [in] BOOL enable, 3436 [in] float lower, 3437 [in] float upper 3438 ); 3439 void VideoProcessorSetStreamStereoFormat( 3440 [in] ID3D11VideoProcessor *processor, 3441 [in] UINT stream_idx, 3442 [in] BOOL enable, 3443 [in] D3D11_VIDEO_PROCESSOR_STEREO_FORMAT format, 3444 [in] BOOL left_view_frame0, 3445 [in] BOOL base_view_frame0, 3446 [in] D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE flip_mode, 3447 [in] int mono_offset 3448 ); 3449 void VideoProcessorSetStreamAutoProcessingMode( 3450 [in] ID3D11VideoProcessor *processor, 3451 [in] UINT stream_idx, 3452 [in] BOOL enable 3453 ); 3454 void VideoProcessorSetStreamFilter( 3455 [in] ID3D11VideoProcessor *processor, 3456 [in] UINT stream_idx, 3457 [in] D3D11_VIDEO_PROCESSOR_FILTER filter, 3458 [in] BOOL enable, 3459 [in] int level 3460 ); 3461 HRESULT VideoProcessorSetStreamExtension( 3462 [in] ID3D11VideoProcessor *processor, 3463 [in] UINT stream_idx, 3464 [in] const GUID *guid, 3465 [in] UINT data_size, 3466 [in] void *data 3467 ); 3468 void VideoProcessorGetStreamFrameFormat( 3469 [in] ID3D11VideoProcessor *processor, 3470 [in] UINT stream_idx, 3471 [out] D3D11_VIDEO_FRAME_FORMAT *format 3472 ); 3473 void VideoProcessorGetStreamColorSpace( 3474 [in] ID3D11VideoProcessor *processor, 3475 [in] UINT stream_idx, 3476 [out] D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space 3477 ); 3478 void VideoProcessorGetStreamOutputRate( 3479 [in] ID3D11VideoProcessor *processor, 3480 [in] UINT stream_idx, 3481 [out] D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate, 3482 [out] BOOL *repeat, 3483 [out] DXGI_RATIONAL *custom_rate 3484 ); 3485 void VideoProcessorGetStreamSourceRect( 3486 [in] ID3D11VideoProcessor *processor, 3487 [in] UINT stream_idx, 3488 [out] BOOL *enabled, 3489 [out] RECT *rect 3490 ); 3491 void VideoProcessorGetStreamDestRect( 3492 [in] ID3D11VideoProcessor *processor, 3493 [in] UINT stream_idx, 3494 [out] BOOL *enabled, 3495 [out] RECT *rect 3496 ); 3497 void VideoProcessorGetStreamAlpha( 3498 [in] ID3D11VideoProcessor *processor, 3499 [in] UINT stream_idx, 3500 [out] BOOL *enabled, 3501 [out] float *alpha 3502 ); 3503 void VideoProcessorGetStreamPalette( 3504 [in] ID3D11VideoProcessor *processor, 3505 [in] UINT stream_idx, 3506 [in] UINT entry_count, 3507 [out] UINT *entries 3508 ); 3509 void VideoProcessorGetStreamPixelAspectRatio( 3510 [in] ID3D11VideoProcessor *processor, 3511 [in] UINT stream_idx, 3512 [out] BOOL *enabled, 3513 [out] DXGI_RATIONAL *src_aspect_ratio, 3514 [out] DXGI_RATIONAL *dst_aspect_ratio 3515 ); 3516 void VideoProcessorGetStreamLumaKey( 3517 [in] ID3D11VideoProcessor *processor, 3518 [in] UINT stream_idx, 3519 [out] BOOL *enabled, 3520 [out] float *lower, 3521 [out] float *upper 3522 ); 3523 void VideoProcessorGetStreamStereoFormat( 3524 [in] ID3D11VideoProcessor *processor, 3525 [in] UINT stream_idx, 3526 [out] BOOL *enabled, 3527 [out] D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *format, 3528 [out] BOOL *left_view_frame0, 3529 [out] BOOL *base_view_frame0, 3530 [out] D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *flip_mode, 3531 [out] int *mono_offset 3532 ); 3533 void VideoProcessorGetStreamAutoProcessingMode( 3534 [in] ID3D11VideoProcessor *processor, 3535 [in] UINT stream_idx, 3536 [out] BOOL *enabled 3537 ); 3538 void VideoProcessorGetStreamFilter( 3539 [in] ID3D11VideoProcessor *processor, 3540 [in] UINT stream_idx, 3541 [in] D3D11_VIDEO_PROCESSOR_FILTER filter, 3542 [out] BOOL *enabled, 3543 [out] int *level 3544 ); 3545 HRESULT VideoProcessorGetStreamExtension( 3546 [in] ID3D11VideoProcessor *processor, 3547 [in] UINT stream_idx, 3548 [in] const GUID *guid, 3549 [in] UINT data_size, 3550 [out] void *data 3551 ); 3552 HRESULT VideoProcessorBlt( 3553 [in] ID3D11VideoProcessor *processor, 3554 [in] ID3D11VideoProcessorOutputView *view, 3555 [in] UINT frame_idx, 3556 [in] UINT stream_count, 3557 [in] const D3D11_VIDEO_PROCESSOR_STREAM *streams 3558 ); 3559 HRESULT NegotiateCryptoSessionKeyExchange( 3560 [in] ID3D11CryptoSession *session, 3561 [in] UINT data_size, 3562 [in, out] void *data 3563 ); 3564 void EncryptionBlt( 3565 [in] ID3D11CryptoSession *session, 3566 [in] ID3D11Texture2D *src_surface, 3567 [in] ID3D11Texture2D *dst_surface, 3568 [in] UINT iv_size, 3569 [in, out] void *iv 3570 ); 3571 void DecryptionBlt( 3572 [in] ID3D11CryptoSession *session, 3573 [in] ID3D11Texture2D *src_surface, 3574 [in] ID3D11Texture2D *dst_surface, 3575 [in] D3D11_ENCRYPTED_BLOCK_INFO *block_info, 3576 [in] UINT key_size, 3577 [in] const void *key, 3578 [in] UINT iv_size, 3579 [in, out] void *iv 3580 ); 3581 void StartSessionKeyRefresh( 3582 [in] ID3D11CryptoSession *session, 3583 [in] UINT random_number_size, 3584 [out] void *random_number 3585 ); 3586 void FinishSessionKeyRefresh( 3587 [in] ID3D11CryptoSession *session 3588 ); 3589 HRESULT GetEncryptionBltKey( 3590 [in] ID3D11CryptoSession *session, 3591 [in] UINT key_size, 3592 [out] void *key 3593 ); 3594 HRESULT NegotiateAuthenticatedChannelKeyExchange( 3595 [in] ID3D11AuthenticatedChannel *channel, 3596 [in] UINT data_size, 3597 [in, out] void *data 3598 ); 3599 HRESULT QueryAuthenticatedChannel( 3600 [in] ID3D11AuthenticatedChannel *channel, 3601 [in] UINT input_size, 3602 [in] const void *input, 3603 [in] UINT output_size, 3604 [out] void *output 3605 ); 3606 HRESULT ConfigureAuthenticatedChannel( 3607 [in] ID3D11AuthenticatedChannel *channel, 3608 [in] UINT input_size, 3609 [in] const void *input, 3610 [out] D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output 3611 ); 3612 void VideoProcessorSetStreamRotation( 3613 [in] ID3D11VideoProcessor *processor, 3614 [in] UINT stream_idx, 3615 [in] BOOL enable, 3616 [in] D3D11_VIDEO_PROCESSOR_ROTATION rotation 3617 ); 3618 void VideoProcessorGetStreamRotation( 3619 [in] ID3D11VideoProcessor *processor, 3620 [in] UINT stream_idx, 3621 [out] BOOL *enable, 3622 [out] D3D11_VIDEO_PROCESSOR_ROTATION *rotation 3623 ); 3624} 3625 3626[ 3627 object, 3628 local, 3629 uuid(db6f6ddb-ac77-4e88-8253-819df9bbf140) 3630] 3631interface ID3D11Device : IUnknown 3632{ 3633 HRESULT CreateBuffer( 3634 [in] const D3D11_BUFFER_DESC *pDesc, 3635 [in] const D3D11_SUBRESOURCE_DATA *pInitialData, 3636 [out] ID3D11Buffer **ppBuffer); 3637 HRESULT CreateTexture1D( 3638 [in] const D3D11_TEXTURE1D_DESC *pDesc, 3639 [in] const D3D11_SUBRESOURCE_DATA *pInitialData, 3640 [out] ID3D11Texture1D **ppTexture1D); 3641 HRESULT CreateTexture2D( 3642 [in] const D3D11_TEXTURE2D_DESC *pDesc, 3643 [in] const D3D11_SUBRESOURCE_DATA *pInitialData, 3644 [out] ID3D11Texture2D **ppTexture2D); 3645 HRESULT CreateTexture3D( 3646 [in] const D3D11_TEXTURE3D_DESC *pDesc, 3647 [in] const D3D11_SUBRESOURCE_DATA *pInitialData, 3648 [out] ID3D11Texture3D **ppTexture3D); 3649 HRESULT CreateShaderResourceView( 3650 [in] ID3D11Resource *pResource, 3651 [in] const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc, 3652 [out] ID3D11ShaderResourceView **ppSRView); 3653 HRESULT CreateUnorderedAccessView( 3654 [in] ID3D11Resource *pResource, 3655 [in] const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc, 3656 [out] ID3D11UnorderedAccessView **ppUAView); 3657 HRESULT CreateRenderTargetView( 3658 [in] ID3D11Resource *pResource, 3659 [in] const D3D11_RENDER_TARGET_VIEW_DESC *pDesc, 3660 [out] ID3D11RenderTargetView **ppRTView); 3661 HRESULT CreateDepthStencilView( 3662 [in] ID3D11Resource *pResource, 3663 [in] const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc, 3664 [out] ID3D11DepthStencilView **ppDepthStencilView); 3665 HRESULT CreateInputLayout( 3666 [in] const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs, 3667 [in] UINT NumElements, 3668 [in] const void *pShaderBytecodeWithInputSignature, 3669 [in] SIZE_T BytecodeLength, 3670 [out] ID3D11InputLayout **ppInputLayout); 3671 HRESULT CreateVertexShader( 3672 [in] const void *pShaderBytecode, 3673 [in] SIZE_T BytecodeLength, 3674 [in] ID3D11ClassLinkage *pClassLinkage, 3675 [out] ID3D11VertexShader **ppVertexShader); 3676 HRESULT CreateGeometryShader( 3677 [in] const void *pShaderBytecode, 3678 [in] SIZE_T BytecodeLength, 3679 [in] ID3D11ClassLinkage *pClassLinkage, 3680 [out] ID3D11GeometryShader **ppGeometryShader); 3681 HRESULT CreateGeometryShaderWithStreamOutput( 3682 [in] const void *pShaderBytecode, 3683 [in] SIZE_T BytecodeLength, 3684 [in] const D3D11_SO_DECLARATION_ENTRY *pSODeclaration, 3685 [in] UINT NumEntries, 3686 [in] const UINT *pBufferStrides, 3687 [in] UINT NumStrides, 3688 [in] UINT RasterizedStream, 3689 [in] ID3D11ClassLinkage *pClassLinkage, 3690 [out] ID3D11GeometryShader **ppGeometryShader); 3691 HRESULT CreatePixelShader( 3692 [in] const void *pShaderBytecode, 3693 [in] SIZE_T BytecodeLength, 3694 [in] ID3D11ClassLinkage *pClassLinkage, 3695 [out] ID3D11PixelShader **ppPixelShader); 3696 HRESULT CreateHullShader( 3697 [in] const void *pShaderBytecode, 3698 [in] SIZE_T BytecodeLength, 3699 [in] ID3D11ClassLinkage *pClassLinkage, 3700 [out] ID3D11HullShader **ppHullShader); 3701 HRESULT CreateDomainShader( 3702 [in] const void *pShaderBytecode, 3703 [in] SIZE_T BytecodeLength, 3704 [in] ID3D11ClassLinkage *pClassLinkage, 3705 [out] ID3D11DomainShader **ppDomainShader); 3706 HRESULT CreateComputeShader( 3707 [in] const void *pShaderBytecode, 3708 [in] SIZE_T BytecodeLength, 3709 [in] ID3D11ClassLinkage *pClassLinkage, 3710 [out] ID3D11ComputeShader **ppComputeShader); 3711 HRESULT CreateClassLinkage( 3712 [out] ID3D11ClassLinkage **ppLinkage); 3713 HRESULT CreateBlendState( 3714 [in] const D3D11_BLEND_DESC *pBlendStateDesc, 3715 [out] ID3D11BlendState **ppBlendState); 3716 HRESULT CreateDepthStencilState( 3717 [in] const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc, 3718 [out] ID3D11DepthStencilState **ppDepthStencilState); 3719 HRESULT CreateRasterizerState( 3720 [in] const D3D11_RASTERIZER_DESC *pRasterizerDesc, 3721 [out] ID3D11RasterizerState **ppRasterizerState); 3722 HRESULT CreateSamplerState( 3723 [in] const D3D11_SAMPLER_DESC *pSamplerDesc, 3724 [out] ID3D11SamplerState **ppSamplerState); 3725 HRESULT CreateQuery( 3726 [in] const D3D11_QUERY_DESC *pQueryDesc, 3727 [out] ID3D11Query **ppQuery); 3728 HRESULT CreatePredicate( 3729 [in] const D3D11_QUERY_DESC *pPredicateDesc, 3730 [out] ID3D11Predicate **ppPredicate); 3731 HRESULT CreateCounter( 3732 [in] const D3D11_COUNTER_DESC *pCounterDesc, 3733 [out] ID3D11Counter **ppCounter); 3734 HRESULT CreateDeferredContext( 3735 UINT ContextFlags, 3736 [out] ID3D11DeviceContext **ppDeferredContext); 3737 HRESULT OpenSharedResource( 3738 [in] HANDLE hResource, 3739 [in] REFIID ReturnedInterface, 3740 [out] void **ppResource); 3741 HRESULT CheckFormatSupport( 3742 [in] DXGI_FORMAT Format, 3743 [out] UINT *pFormatSupport); 3744 HRESULT CheckMultisampleQualityLevels( 3745 [in] DXGI_FORMAT Format, 3746 [in] UINT SampleCount, 3747 [out] UINT *pNumQualityLevels); 3748 void CheckCounterInfo( 3749 [out] D3D11_COUNTER_INFO *pCounterInfo); 3750 HRESULT CheckCounter( 3751 [in] const D3D11_COUNTER_DESC *pDesc, 3752 [out] D3D11_COUNTER_TYPE *pType, 3753 [out] UINT *pActiveCounters, 3754 [out] LPSTR szName, 3755 [in, out] UINT *pNameLength, 3756 [out] LPSTR szUnits, 3757 [in, out] UINT *pUnitsLength, 3758 [out] LPSTR szDescription, 3759 [in, out] UINT *pDescriptionLength); 3760 HRESULT CheckFeatureSupport( 3761 D3D11_FEATURE Feature, 3762 [out] void *pFeatureSupportData, 3763 UINT FeatureSupportDataSize); 3764 HRESULT GetPrivateData( 3765 [in] REFGUID guid, 3766 [in, out] UINT *pDataSize, 3767 [out] void *pData); 3768 HRESULT SetPrivateData( 3769 [in] REFGUID guid, 3770 [in] UINT DataSize, 3771 [in] const void *pData); 3772 HRESULT SetPrivateDataInterface( 3773 [in] REFGUID guid, 3774 [in] const IUnknown *pData); 3775 D3D_FEATURE_LEVEL GetFeatureLevel(); 3776 UINT GetCreationFlags(); 3777 HRESULT GetDeviceRemovedReason(); 3778 void GetImmediateContext( 3779 [out] ID3D11DeviceContext **ppImmediateContext); 3780 HRESULT SetExceptionMode(UINT RaiseFlags); 3781 UINT GetExceptionMode(); 3782} 3783 3784typedef enum D3D11_CREATE_DEVICE_FLAG { 3785 D3D11_CREATE_DEVICE_SINGLETHREADED = 0x0001, 3786 D3D11_CREATE_DEVICE_DEBUG = 0x0002, 3787 D3D11_CREATE_DEVICE_SWITCH_TO_REF = 0x0004, 3788 D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x0008, 3789 D3D11_CREATE_DEVICE_BGRA_SUPPORT = 0x0020, 3790 D3D11_CREATE_DEVICE_DEBUGGABLE = 0x0040, 3791 D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x0080, 3792 D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT = 0x0100, 3793 D3D11_CREATE_DEVICE_VIDEO_SUPPORT = 0x0800 3794} D3D11_CREATE_DEVICE_FLAG; 3795 3796const UINT D3D11_SDK_VERSION = 7; 3797 3798cpp_quote("#include <d3d10_1.h>") 3799cpp_quote("#ifndef D3D11_IGNORE_SDK_LAYERS") 3800cpp_quote("# include <d3d11sdklayers.h>") 3801cpp_quote("#endif") 3802cpp_quote("#include <d3d10misc.h>") 3803cpp_quote("#include <d3d10shader.h>") 3804cpp_quote("#include <d3d10effect.h>") 3805cpp_quote("#include <d3d10_1shader.h>") 3806 3807const UINT _FACD3D11 = 0x87c; 3808cpp_quote("#define MAKE_D3D11_HRESULT(code) MAKE_HRESULT(SEVERITY_ERROR, _FACD3D11, code)") 3809 3810cpp_quote("typedef HRESULT (WINAPI* PFN_D3D11_CREATE_DEVICE)(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,") 3811cpp_quote(" const D3D_FEATURE_LEVEL*,UINT,UINT,ID3D11Device**,D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);") 3812 3813cpp_quote("HRESULT WINAPI D3D11CreateDevice(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,const D3D_FEATURE_LEVEL*," ) 3814cpp_quote(" UINT,UINT,ID3D11Device**,D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);") 3815 3816cpp_quote("typedef HRESULT (WINAPI *PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN)(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,") 3817cpp_quote(" const D3D_FEATURE_LEVEL*,UINT,UINT,const DXGI_SWAP_CHAIN_DESC*,IDXGISwapChain**,ID3D11Device**,") 3818cpp_quote(" D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);") 3819 3820[local] HRESULT __stdcall D3D11CreateDeviceAndSwapChain(IDXGIAdapter *adapter, D3D_DRIVER_TYPE driver_type, 3821 HMODULE swrast, UINT flags, const D3D_FEATURE_LEVEL *feature_levels, UINT levels, UINT sdk_version, 3822 const DXGI_SWAP_CHAIN_DESC *swapchain_desc, IDXGISwapChain **swapchain, ID3D11Device **device, 3823 D3D_FEATURE_LEVEL *obtained_feature_level, ID3D11DeviceContext **immediate_context); 3824