<?xml version="1.0" encoding="utf-8"?>
<doc>
  <member name="ID3DDeviceContextState">
    <summary>
      <para>The ID3DDeviceContextState interface represents a context state object, which holds state and behavior information about a Microsoft Direct3D device.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3d11_1/nn-d3d11_1-id3ddevicecontextstate" /></para>
    </summary>
  </member>
  <member name="ID3DUserDefinedAnnotation::SetMarker">
    <summary>
      <para>Marks a single point of execution in code.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3d11_1/nf-d3d11_1-id3duserdefinedannotation-setmarker" /></para>
      <param name="Name">A <b>NULL</b>-terminated <b>UNICODE</b> string that contains the name of the marker. The name is not relevant to the operating system. You can choose a name that is meaningful when the calling application is running under the Direct3D profiling tool.
A <b>NULL</b> pointer produces undefined results.</param>
    </summary>
  </member>
  <member name="D3DGetBlobPart">
    <summary>
      <para>Retrieves a specific part from a compilation result.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dgetblobpart" /></para>
      <param name="pSrcData">A pointer to uncompiled shader data; either ASCII HLSL code or a compiled effect.</param>
      <param name="SrcDataSize">Length of uncompiled shader data that <i>pSrcData</i> points to.</param>
      <param name="Part">A <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/d3d-blob-part">D3D_BLOB_PART</a>-typed value that specifies the part of the buffer to retrieve.</param>
      <param name="Flags">Flags that indicate how to retrieve the blob part. Currently, no flags are defined.</param>
      <param name="ppPart">The address of a pointer to the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that is used to retrieve the specified part of the buffer.</param>
    </summary>
  </member>
  <member name="ID3DUserDefinedAnnotation::BeginEvent">
    <summary>
      <para>Marks the beginning of a section of event code.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3d11_1/nf-d3d11_1-id3duserdefinedannotation-beginevent" /></para>
      <param name="Name">A <b>NULL</b>-terminated <b>UNICODE</b> string that contains the name of the event. The name is not relevant to the operating system. You can choose a name that is meaningful when the calling application is running under the Direct3D profiling tool.
A <b>NULL</b> pointer produces undefined results.</param>
    </summary>
  </member>
  <member name="D3DReflect">
    <summary>
      <para>Gets a pointer to a reflection interface.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dreflect" /></para>
      <param name="pSrcData">A pointer to source data as compiled HLSL code.</param>
      <param name="SrcDataSize">Length of <i>pSrcData</i>.</param>
      <param name="pInterface">The reference GUID of the COM interface to use. For example, <b>IID_ID3D11ShaderReflection</b>.</param>
      <param name="ppReflector">A pointer to a reflection interface.</param>
    </summary>
  </member>
  <member name="D3DGetDebugInfo">
    <summary>
      <para>Note  You can use this API to develop your Windows Store apps, but you can't use it in apps that you submit to the Windows Store. Gets shader debug information.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dgetdebuginfo" /></para>
      <param name="pSrcData">A pointer to source data; either uncompiled or compiled HLSL code.</param>
      <param name="SrcDataSize">Length of <i>pSrcData</i>.</param>
      <param name="ppDebugInfo">A pointer to a buffer that receives the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that contains debug information.</param>
    </summary>
  </member>
  <member name="D3DCreateLinker">
    <summary>
      <para>Creates a linker interface. Note  This function is part of the HLSL shader linking technology that you can use on all Direct3D 11 platforms to create precompiled HLSL functions, package them into libraries, and link them into full shaders at run time.  .</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dcreatelinker" /></para>
      <param name="ppLinker">A pointer to a variable that receives a pointer to the <a href="https://docs.microsoft.com/windows/desktop/api/d3d11shader/nn-d3d11shader-id3d11linker">ID3D11Linker</a> interface that is used to link a shader module.</param>
    </summary>
  </member>
  <member name="D3D_SHADER_DATA">
    <summary>
      <para>Describes shader data.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/ns-d3dcompiler-d3d_shader_data" /></para>
    </summary>
  </member>
  <member name="D3D_SHADER_DATA::pBytecode">
    <summary>A pointer to shader data.</summary>
  </member>
  <member name="D3D_SHADER_DATA::BytecodeLength">
    <summary>Length of shader data that <b>pBytecode</b> points to.</summary>
  </member>
  <member name="D3DCompressShaders">
    <summary>
      <para>Compresses a set of shaders into a more compact form.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dcompressshaders" /></para>
      <param name="uNumShaders">The number of shaders to compress.</param>
      <param name="pShaderData">An array of <a href="https://docs.microsoft.com./ns-d3dcompiler-d3d_shader_data.md">D3D_SHADER_DATA</a> structures that describe the set of shaders to compress.</param>
      <param name="uFlags">Flags that indicate how to compress the shaders. Currently, only the  D3D_COMPRESS_SHADER_KEEP_ALL_PARTS (0x00000001) flag is defined.</param>
      <param name="ppCompressedData">The address of a pointer to the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that is used to retrieve the compressed shader data.</param>
    </summary>
  </member>
  <member name="D3DPSHADERCAPS2_0">
    <summary>
      <para>Pixel shader driver caps.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3d9caps/ns-d3d9caps-d3dpshadercaps2_0" /></para>
    </summary>
  </member>
  <member name="D3DPSHADERCAPS2_0::Caps">
    <summary>Instruction predication is supported if this value is nonzero. See <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/setp-comp---vs">setp_comp - vs</a>.</summary>
  </member>
  <member name="D3DPSHADERCAPS2_0::DynamicFlowControlDepth">
    <summary>Either 0 or 24, which represents the depth of the dynamic flow control instruction nesting. See <b>D3DPSHADERCAPS2_0</b>.</summary>
  </member>
  <member name="D3DPSHADERCAPS2_0::NumTemps">
    <summary>The number of temporary registers supported. See <b>D3DPSHADERCAPS2_0</b>.</summary>
  </member>
  <member name="D3DPSHADERCAPS2_0::StaticFlowControlDepth">
    <summary>The depth of nesting of the <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/loop---vs">loop - vs</a>/<a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/rep---vs">rep - vs</a> and <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/call---vs">call - vs</a>/<a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/callnz-bool---vs">callnz bool - vs</a> instructions. See <b>D3DPSHADERCAPS2_0</b>.</summary>
  </member>
  <member name="D3DPSHADERCAPS2_0::NumInstructionSlots">
    <summary>The number of instruction slots supported. See <b>D3DPSHADERCAPS2_0</b>.</summary>
  </member>
  <member name="D3D_BLOB_PART">
    <summary>
      <para>Values that identify parts of the content of an arbitrary length data buffer.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/ne-d3dcompiler-d3d_blob_part" /></para>
    </summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_INPUT_SIGNATURE_BLOB">
    <summary>The blob part is an input signature.</summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_OUTPUT_SIGNATURE_BLOB">
    <summary>The blob part is an output signature.</summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_INPUT_AND_OUTPUT_SIGNATURE_BLOB">
    <summary>The blob part is an input and output signature.</summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_PATCH_CONSTANT_SIGNATURE_BLOB">
    <summary>The blob part is a patch constant signature.</summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_ALL_SIGNATURE_BLOB">
    <summary>The blob part is all signature.</summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_DEBUG_INFO">
    <summary>The blob part is debug information.</summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_LEGACY_SHADER">
    <summary>The blob part is a legacy shader.</summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_XNA_PREPASS_SHADER">
    <summary>The blob part is an XNA prepass shader.</summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_XNA_SHADER">
    <summary>The blob part is an XNA shader.</summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_PDB">
    <summary>The blob part is program database (PDB) information.

<div class="alert"><b>Note</b>  This value is supported by the D3dcompiler_44.dll or later version of the file.</div>
<div> </div></summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_PRIVATE_DATA">
    <summary>The blob part is private data.

<div class="alert"><b>Note</b>  This value is supported by the D3dcompiler_44.dll or later version of the file.</div>
<div> </div></summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_ROOT_SIGNATURE">
    <summary>The blob part is a root signature. Refer to <a href="https://docs.microsoft.com/windows/desktop/direct3d12/specifying-root-signatures-in-hlsl">Specifying Root Signatures in HLSL</a> for more information on using Direct3D12 with HLSL.

<div class="alert"><b>Note</b>  This value is supported by the D3dcompiler_47.dll or later version of the file.</div>
<div> </div></summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_DEBUG_NAME">
    <summary>The blob part is the debug name of the shader. If the application does not specify the debug name itself, an auto-generated name matching the PDB file of the shader is provided instead.

<div class="alert"><b>Note</b>  This value is supported by the D3dcompiler_47.dll as available on the Windows 10 Fall Creators Update and its SDK, or later version of the file.</div>
<div> </div></summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_TEST_ALTERNATE_SHADER">
    <summary>The blob part is a test alternate shader.

<div class="alert"><b>Note</b>  This value identifies a test part and is only produced by special compiler versions. Therefore, this part type is typically not present in shaders.</div>
<div> </div></summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_TEST_COMPILE_DETAILS">
    <summary>The blob part is test compilation details.

<div class="alert"><b>Note</b>  This value identifies a test part and is only produced by special compiler versions. Therefore, this part type is typically not present in shaders.</div>
<div> </div></summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_TEST_COMPILE_PERF">
    <summary>The blob part is test compilation performance.

<div class="alert"><b>Note</b>  This value identifies a test part and is only produced by special compiler versions. Therefore, this part type is typically not present in shaders.</div>
<div> </div></summary>
  </member>
  <member name="D3D_BLOB_PART::D3D_BLOB_TEST_COMPILE_REPORT">
    <summary>The blob part is a test compilation report.

<div class="alert"><b>Note</b>  This value identifies a test part and is only produced by special compiler versions. Therefore, this part type is typically not present in shaders.</div>
<div> </div>
<div class="alert"><b>Note</b>  This value is supported by the D3dcompiler_44.dll or later version of the file.</div>
<div> </div></summary>
  </member>
  <member name="D3DCompile2">
    <summary>
      <para>Compiles Microsoft High Level Shader Language (HLSL) code into bytecode for a given target.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dcompile2" /></para>
      <param name="pSrcData">A pointer to uncompiled shader data (ASCII HLSL code).</param>
      <param name="SrcDataSize">The size, in bytes, of the block of memory that <i>pSrcData</i> points to.</param>
      <param name="pSourceName">An optional pointer to a constant null-terminated string containing the name that identifies the source data to use in error messages. If not used, set to <b>NULL</b>.</param>
      <param name="pDefines">An optional array of <a href="https://docs.microsoft.com/windows/desktop/api/d3dcommon/ns-d3dcommon-d3d_shader_macro">D3D_SHADER_MACRO</a> structures that define shader macros. Each macro definition contains a name and a NULL-terminated definition. If not used, set to <b>NULL</b>.</param>
      <param name="pInclude"> A pointer to an <a href="https://docs.microsoft.com/windows/desktop/api/d3dcommon/nn-d3dcommon-id3dinclude">ID3DInclude</a> interface that the compiler uses to handle include files. If you set this parameter to <b>NULL</b> and the shader contains a #include, a compile error occurs. You can pass the <b>D3D_COMPILE_STANDARD_FILE_INCLUDE</b> macro, which is a pointer to a default include handler. This default include handler includes files that are relative to the current directory and files that are relative to the directory of the initial source file. When you use <b>D3D_COMPILE_STANDARD_FILE_INCLUDE</b>, you must specify the source file name in the <i>pSourceName</i> parameter; the compiler will derive the initial relative directory from <i>pSourceName</i>.


```</param>
      <param name="pEntrypoint">A pointer to a constant null-terminated string that contains  the name of the shader entry point function where shader execution begins. When you compile an effect, <b>D3DCompile2</b> ignores <i>pEntrypoint</i>; we recommend that you set <i>pEntrypoint</i> to <b>NULL</b> because it is good programming practice to set a pointer parameter to <b>NULL</b> if the called function will not use it.</param>
      <param name="pTarget">A pointer to a constant null-terminated string that specifies the shader target or set of shader features to compile against. The shader target can be a shader model (for example, shader model 2, shader model 3, shader model 4, or shader model 5). The target can also be an effect type (for example, fx_4_1). For info about the targets that various profiles support, see <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/specifying-compiler-targets">Specifying Compiler Targets</a>.</param>
      <param name="Flags1">A combination of shader <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/d3dcompile-constants">D3D compile constants</a> that are combined by using a bitwise <b>OR</b> operation. The resulting value specifies how the compiler compiles the HLSL code.</param>
      <param name="Flags2">A combination of effect <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/d3dcompile-effect-constants">D3D compile effect constants</a> that are combined by using a bitwise <b>OR</b> operation. The resulting value specifies how the compiler compiles the effect. When you compile a shader and not an effect file, <b>D3DCompile2</b> ignores <i>Flags2</i>; we recommend that you set <i>Flags2</i> to zero because it is good programming practice to set a nonpointer parameter to zero if the called function will not use it.</param>
      <param name="SecondaryDataFlags">A combination of the following flags that are combined by using a bitwise <b>OR</b> operation. The resulting value specifies how the compiler compiles the HLSL code. 

<table>
<tr>
<th>Flag</th>
<th>Description</th>
</tr>
<tr>
<td>D3DCOMPILE_SECDATA_MERGE_UAV_SLOTS (0x01)</td>
<td>Merge unordered access view (UAV) slots in the secondary data that the <i>pSecondaryData</i> parameter points to.</td>
</tr>
<tr>
<td>D3DCOMPILE_SECDATA_PRESERVE_TEMPLATE_SLOTS (0x02)</td>
<td>Preserve template slots in the secondary data that the <i>pSecondaryData</i> parameter points to.</td>
</tr>
<tr>
<td>D3DCOMPILE_SECDATA_REQUIRE_TEMPLATE_MATCH (0x04)</td>
<td>Require that templates in the secondary data that the <i>pSecondaryData</i> parameter points to match when the compiler compiles the HLSL code.</td>
</tr>
</table>
 

If <i>pSecondaryData</i> is <b>NULL</b>, set to zero.</param>
      <param name="pSecondaryData">A pointer to secondary data. If you don't pass secondary data, set to <b>NULL</b>. Use this secondary data  to align UAV slots in two shaders. Suppose shader A has UAVs and they are bound to some slots. To compile shader B such that UAVs with the same names are mapped in B to the same slots as in A, pass A’s byte code to <b>D3DCompile2</b> as the secondary data.</param>
      <param name="SecondaryDataSize">The size, in bytes, of the block of memory that <i>pSecondaryData</i> points to. If <i>pSecondaryData</i> is <b>NULL</b>, set to zero.</param>
      <param name="ppCode">A pointer to a variable that receives a pointer to the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that you can use to access the compiled code.</param>
      <param name="ppErrorMsgs">A pointer to a variable that receives a pointer to the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that you can use to access compiler error messages, or <b>NULL</b> if there are no errors.</param>
    </summary>
  </member>
  <member name="D3DOVERLAYCAPS">
    <summary>
      <para>Specifies hardware overlay capabilities for a Direct3D device.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3d9caps/ns-d3d9caps-d3doverlaycaps" /></para>
    </summary>
  </member>
  <member name="D3DOVERLAYCAPS::Caps">
    <summary>Contains a bitwise <b>OR</b> of the following flags.

<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DOVERLAYCAPS_FULLRANGERGB"></a><a id="d3doverlaycaps_fullrangergb"></a><dl>
<dt><b>D3DOVERLAYCAPS_FULLRANGERGB</b></dt>
<dt>0x00000001</dt>
</dl>
</td>
<td width="60%">
The overlay supports RGB with a nominal range of 0–255 per channel.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DOVERLAYCAPS_LIMITEDRANGERGB"></a><a id="d3doverlaycaps_limitedrangergb"></a><dl>
<dt><b>D3DOVERLAYCAPS_LIMITEDRANGERGB</b></dt>
<dt>0x00000002</dt>
</dl>
</td>
<td width="60%">
The overlay supports RGB with a nominal range of 16–235 per channel. Reference black is (16,16,16) and reference white is (235,235,235).

</td>
</tr>
<tr>
<td width="40%"><a id="D3DOVERLAYCAPS_YCbCr_BT601"></a><a id="d3doverlaycaps_ycbcr_bt601"></a><a id="D3DOVERLAYCAPS_YCBCR_BT601"></a><dl>
<dt><b>D3DOVERLAYCAPS_YCbCr_BT601</b></dt>
<dt>0x00000004</dt>
</dl>
</td>
<td width="60%">
The overlay supports the BT.601 definition of YUV.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DOVERLAYCAPS_YCbCr_BT709"></a><a id="d3doverlaycaps_ycbcr_bt709"></a><a id="D3DOVERLAYCAPS_YCBCR_BT709"></a><dl>
<dt><b>D3DOVERLAYCAPS_YCbCr_BT709</b></dt>
<dt>0x00000008</dt>
</dl>
</td>
<td width="60%">
The overlay supports the BT.709 definition of YUV.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DOVERLAYCAPS_YCbCr_BT601_xvYCC"></a><a id="d3doverlaycaps_ycbcr_bt601_xvycc"></a><a id="D3DOVERLAYCAPS_YCBCR_BT601_XVYCC"></a><dl>
<dt><b>D3DOVERLAYCAPS_YCbCr_BT601_xvYCC</b></dt>
<dt>0x00000010</dt>
</dl>
</td>
<td width="60%">
The overlay supports extended YCbCr (xvYCC) for BT.601 YUV.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DOVERLAYCAPS_YCbCr_BT709_xvYCC"></a><a id="d3doverlaycaps_ycbcr_bt709_xvycc"></a><a id="D3DOVERLAYCAPS_YCBCR_BT709_XVYCC"></a><dl>
<dt><b>D3DOVERLAYCAPS_YCbCr_BT709_xvYCC</b></dt>
<dt>0x00000020</dt>
</dl>
</td>
<td width="60%">
The overlay supports extended YCbCr (xvYCC) for BT.709 YUV.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DOVERLAYCAPS_STRETCHX"></a><a id="d3doverlaycaps_stretchx"></a><dl>
<dt><b>D3DOVERLAYCAPS_STRETCHX</b></dt>
<dt>0x00000040</dt>
</dl>
</td>
<td width="60%">
The device can stretch and shrink the overlay data arbitrarily in the horizontal direction.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DOVERLAYCAPS_STRETCHY"></a><a id="d3doverlaycaps_stretchy"></a><dl>
<dt><b>D3DOVERLAYCAPS_STRETCHY</b></dt>
<dt>0x00000080</dt>
</dl>
</td>
<td width="60%">
The device can stretch and shrink the overlay data arbitrarily in the vertical direction.

</td>
</tr>
</table></summary>
  </member>
  <member name="D3DOVERLAYCAPS::MaxOverlayDisplayWidth">
    <summary>The maximum overlay width after stretching.</summary>
  </member>
  <member name="D3DOVERLAYCAPS::MaxOverlayDisplayHeight">
    <summary>The maximum overlay height after stretching.</summary>
  </member>
  <member name="D3D_CBUFFER_TYPE">
    <summary>
      <para>Values that identify the intended use of constant-buffer data.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_cbuffer_type" /></para>
    </summary>
  </member>
  <member name="D3D_CBUFFER_TYPE::D3D_CT_CBUFFER">
    <summary>A buffer containing scalar constants.</summary>
  </member>
  <member name="D3D_CBUFFER_TYPE::D3D_CT_TBUFFER">
    <summary>A buffer containing texture data.</summary>
  </member>
  <member name="D3D_CBUFFER_TYPE::D3D_CT_INTERFACE_POINTERS">
    <summary>A buffer containing interface pointers.</summary>
  </member>
  <member name="D3D_CBUFFER_TYPE::D3D_CT_RESOURCE_BIND_INFO">
    <summary>A buffer containing binding information.</summary>
  </member>
  <member name="D3D_CBUFFER_TYPE::D3D10_CT_CBUFFER">
    <summary>A buffer containing scalar constants.</summary>
  </member>
  <member name="D3D_CBUFFER_TYPE::D3D10_CT_TBUFFER">
    <summary>A buffer containing texture data.</summary>
  </member>
  <member name="D3D_CBUFFER_TYPE::D3D11_CT_CBUFFER">
    <summary>A buffer containing scalar constants.</summary>
  </member>
  <member name="D3D_CBUFFER_TYPE::D3D11_CT_TBUFFER">
    <summary>A buffer containing texture data.</summary>
  </member>
  <member name="D3D_CBUFFER_TYPE::D3D11_CT_INTERFACE_POINTERS">
    <summary>A buffer containing interface pointers.</summary>
  </member>
  <member name="D3D_CBUFFER_TYPE::D3D11_CT_RESOURCE_BIND_INFO">
    <summary>A buffer containing binding information.</summary>
  </member>
  <member name="D3DDisassembleRegion">
    <summary>
      <para>Disassembles a specific region of compiled Microsoft High Level Shader Language (HLSL) code.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3ddisassembleregion" /></para>
      <param name="pSrcData">A pointer to compiled shader data.</param>
      <param name="SrcDataSize">The size, in bytes, of the block of memory that <i>pSrcData</i> points to.</param>
      <param name="Flags">A combination of zero or more of the following flags that are combined by using a bitwise <b>OR</b> operation. The resulting value specifies how <b>D3DDisassembleRegion</b> disassembles the compiled shader data.

<table>
<tr>
<th>Flag</th>
<th>Description</th>
</tr>
<tr>
<td>D3D_DISASM_ENABLE_COLOR_CODE (0x01)</td>
<td>Enable the output of color codes.</td>
</tr>
<tr>
<td>D3D_DISASM_ENABLE_DEFAULT_VALUE_PRINTS (0x02)</td>
<td>Enable the output of default values.</td>
</tr>
<tr>
<td>D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING (0x04)</td>
<td>Enable instruction numbering.</td>
</tr>
<tr>
<td>D3D_DISASM_ENABLE_INSTRUCTION_CYCLE (0x08)</td>
<td>No effect.</td>
</tr>
<tr>
<td>D3D_DISASM_DISABLE_DEBUG_INFO (0x10)</td>
<td>Disable the output of debug information.</td>
</tr>
<tr>
<td>D3D_DISASM_ENABLE_INSTRUCTION_OFFSET (0x20)</td>
<td>Enable the output of instruction offsets.</td>
</tr>
<tr>
<td>D3D_DISASM_INSTRUCTION_ONLY (0x40)</td>
<td>This flag has no effect in <b>D3DDisassembleRegion</b>. Cycle information comes from the trace; therefore, cycle information is available only in <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/d3ddisassemble11trace">D3DDisassemble11Trace</a>'s trace disassembly.</td>
</tr>
</table></param>
      <param name="szComments">A pointer to a constant null-terminated string at the top of the shader that identifies the shader constants and variables.</param>
      <param name="StartByteOffset">The number of bytes offset into the compiled shader data where <b>D3DDisassembleRegion</b> starts the disassembly.</param>
      <param name="NumInsts">The number of instructions to disassemble.</param>
      <param name="pFinishByteOffset">A pointer to a variable that receives the number of bytes offset into the compiled shader data where <b>D3DDisassembleRegion</b> finishes the disassembly.</param>
      <param name="ppDisassembly">A pointer to a buffer that receives the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that accesses the disassembled HLSL code.</param>
    </summary>
  </member>
  <member name="ID3DInclude">
    <summary>
      <para>ID3DInclude is an include interface that the user implements to allow an application to call user-overridable methods for opening and closing shader</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/nn-d3dcommon-id3dinclude" /></para>
    </summary>
  </member>
  <member name="D3DGetInputAndOutputSignatureBlob">
    <summary>
      <para>Note  D3DGetInputAndOutputSignatureBlob may be altered or unavailable for releases after Windows 8.1. Instead use D3DGetBlobPart with the D3D_BLOB_INPUT_AND_OUTPUT_SIGNATURE_BLOB value.  Gets the input and output signatures from a compilation result.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dgetinputandoutputsignatureblob" /></para>
      <param name="pSrcData">A pointer to source data as compiled HLSL code.</param>
      <param name="SrcDataSize">Length of <i>pSrcData</i>.</param>
      <param name="ppSignatureBlob">A pointer to a buffer that receives the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that contains a compiled shader.</param>
    </summary>
  </member>
  <member name="D3DCOMPILER_STRIP_FLAGS">
    <summary>
      <para>Strip flag options.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/ne-d3dcompiler-d3dcompiler_strip_flags" /></para>
    </summary>
  </member>
  <member name="D3DCOMPILER_STRIP_FLAGS::D3DCOMPILER_STRIP_REFLECTION_DATA">
    <summary>Remove reflection data.</summary>
  </member>
  <member name="D3DCOMPILER_STRIP_FLAGS::D3DCOMPILER_STRIP_DEBUG_INFO">
    <summary>Remove debug information.</summary>
  </member>
  <member name="D3DCOMPILER_STRIP_FLAGS::D3DCOMPILER_STRIP_TEST_BLOBS">
    <summary>Remove test blob data.</summary>
  </member>
  <member name="D3DCOMPILER_STRIP_FLAGS::D3DCOMPILER_STRIP_PRIVATE_DATA">
    <summary><div class="alert"><b>Note</b>  This value is supported by the D3dcompiler_44.dll or later version of the file.</div>
<div> </div>
Remove private data.</summary>
  </member>
  <member name="D3DCOMPILER_STRIP_FLAGS::D3DCOMPILER_STRIP_ROOT_SIGNATURE">
    <summary><div class="alert"><b>Note</b>  This value is supported by the D3dcompiler_47.dll or later version of the file.</div>
<div> </div>
Remove the root signature. Refer to <a href="https://docs.microsoft.com/windows/desktop/direct3d12/specifying-root-signatures-in-hlsl">Specifying Root Signatures in HLSL</a> for more information on using Direct3D12 with HLSL.</summary>
  </member>
  <member name="D3DCOMPILER_STRIP_FLAGS::D3DCOMPILER_STRIP_FORCE_DWORD">
    <summary>Forces this enumeration to compile to 32 bits in size. Without this value, some compilers would allow this enumeration to compile to a size other than 32 bits. This value is not used.</summary>
  </member>
  <member name="ID3DUserDefinedAnnotation">
    <summary>
      <para>The ID3DUserDefinedAnnotation interface enables an application to describe conceptual sections and markers within the application's code flow.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3d11_1/nn-d3d11_1-id3duserdefinedannotation" /></para>
    </summary>
  </member>
  <member name="D3DCreateBlob">
    <summary>
      <para>Creates a buffer.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dcreateblob" /></para>
      <param name="Size">Number of bytes in the blob.</param>
      <param name="ppBlob">The address of a pointer to the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that is used to retrieve the buffer.</param>
    </summary>
  </member>
  <member name="D3DReflectLibrary">
    <summary>
      <para>Creates a library-reflection interface from source data that contains an HLSL library of functions.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dreflectlibrary" /></para>
      <param name="pSrcData">A pointer to source data as an HLSL library of functions.</param>
      <param name="SrcDataSize">The size, in bytes, of the block of memory that <i>pSrcData</i> points to.</param>
      <param name="riid">The reference GUID of the COM interface to use. For example, <b>IID_ID3D11LibraryReflection</b>.</param>
      <param name="ppReflector">A pointer to a variable that receives a pointer to a library-reflection interface, <a href="https://docs.microsoft.com/windows/desktop/api/d3d11shader/nn-d3d11shader-id3d11libraryreflection">ID3D11LibraryReflection</a>.</param>
    </summary>
  </member>
  <member name="D3D_SHADER_MODEL">
    <summary>
      <para>Specifies a shader model.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3d12/ne-d3d12-d3d_shader_model" /></para>
    </summary>
  </member>
  <member name="D3D_SHADER_MODEL::D3D_SHADER_MODEL_5_1">
    <summary>Indicates shader model 5.1.</summary>
  </member>
  <member name="D3D_SHADER_MODEL::D3D_SHADER_MODEL_6_0">
    <summary>Indicates shader model 6.0.</summary>
  </member>
  <member name="D3D_SHADER_MODEL::D3D_SHADER_MODEL_6_1">
    <summary>Indicates shader model 6.1.</summary>
  </member>
  <member name="D3DCONTENTPROTECTIONCAPS">
    <summary>
      <para>Describes the content protection capabilities of a display driver.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3d9caps/ns-d3d9caps-d3dcontentprotectioncaps" /></para>
    </summary>
  </member>
  <member name="D3DCONTENTPROTECTIONCAPS::Caps">
    <summary>Bitwise <b>OR</b> of zero or more flags.

<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DCPCAPS_SOFTWARE"></a><a id="d3dcpcaps_software"></a><dl>
<dt><b>D3DCPCAPS_SOFTWARE</b></dt>
<dt>0x00000001</dt>
</dl>
</td>
<td width="60%">
The encryption is implemented in software by the driver. 

</td>
</tr>
<tr>
<td width="40%"><a id="D3DCPCAPS_HARDWARE"></a><a id="d3dcpcaps_hardware"></a><dl>
<dt><b>D3DCPCAPS_HARDWARE</b></dt>
<dt>0x00000002</dt>
</dl>
</td>
<td width="60%">
The encryption is implemented in hardware by the GPU.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DCPCAPS_PROTECTIONALWAYSON"></a><a id="d3dcpcaps_protectionalwayson"></a><dl>
<dt><b>D3DCPCAPS_PROTECTIONALWAYSON</b></dt>
<dt>0x00000004</dt>
</dl>
</td>
<td width="60%">
Content protection is always applied to a protected Direct3D surface, regardless of whether the application explicitly enables content protection.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DCPCAPS_PARTIALDECRYPTION"></a><a id="d3dcpcaps_partialdecryption"></a><dl>
<dt><b>D3DCPCAPS_PARTIALDECRYPTION</b></dt>
<dt>0x00000008</dt>
</dl>
</td>
<td width="60%">
The driver can use partially encrypted buffers. If this capability is not present, the entire buffer must be either encrypted or clear.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DCPCAPS_CONTENTKEY"></a><a id="d3dcpcaps_contentkey"></a><dl>
<dt><b>D3DCPCAPS_CONTENTKEY</b></dt>
<dt>0x00000010</dt>
</dl>
</td>
<td width="60%">
The driver can encrypt data using a separate content key that is encrypted using the session key. For more information, see <a href="https://docs.microsoft.com/windows/desktop/api/d3d9/nf-d3d9-idirect3dcryptosession9-decryptionblt">IDirect3DCryptoSession9::DecryptionBlt</a>.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DCPCAPS_FRESHENSESSIONKEY"></a><a id="d3dcpcaps_freshensessionkey"></a><dl>
<dt><b>D3DCPCAPS_FRESHENSESSIONKEY</b></dt>
<dt>0x00000020</dt>
</dl>
</td>
<td width="60%">
The driver can refresh the session key without renegotiating the key. To refresh the session key, call <a href="https://docs.microsoft.com/windows/desktop/api/d3d9/nf-d3d9-idirect3dcryptosession9-startsessionkeyrefresh">IDirect3DCryptoSession9::StartSessionKeyRefresh</a>.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DCPCAPS_ENCRYPTEDREADBACK"></a><a id="d3dcpcaps_encryptedreadback"></a><dl>
<dt><b>D3DCPCAPS_ENCRYPTEDREADBACK</b></dt>
<dt>0x00000040</dt>
</dl>
</td>
<td width="60%">
The driver can read back encrypted data from a protected surface, using the <a href="https://docs.microsoft.com/windows/desktop/api/d3d9/nf-d3d9-idirect3dcryptosession9-encryptionblt">IDirect3DCryptoSession9::EncryptionBlt</a> method.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DCPCAPS_ENCRYPTEDREADBACKKEY"></a><a id="d3dcpcaps_encryptedreadbackkey"></a><dl>
<dt><b>D3DCPCAPS_ENCRYPTEDREADBACKKEY</b></dt>
<dt>0x00000080</dt>
</dl>
</td>
<td width="60%">
The driver requires a separate key to read encrypted data from a protected surface. To get this second key, call <a href="https://docs.microsoft.com/windows/desktop/api/d3d9/nf-d3d9-idirect3dcryptosession9-getencryptionbltkey">IDirect3DCryptoSession9::GetEncryptionBltKey</a>. 

</td>
</tr>
<tr>
<td width="40%"><a id="D3DCPCAPS_SEQUENTIAL_CTR_IV"></a><a id="d3dcpcaps_sequential_ctr_iv"></a><dl>
<dt><b>D3DCPCAPS_SEQUENTIAL_CTR_IV</b></dt>
<dt>0x00000100</dt>
</dl>
</td>
<td width="60%">
If the encryption type is <b>D3DCRYPTOTYPE_AES128_CTR</b>, the application must use a sequential count in the <a href="https://docs.microsoft.com/windows/desktop/api/dxva2api/ns-dxva2api-dxva2_aes_ctr_iv">DXVA2_AES_CTR_IV</a>  structure. For more information, see the remarks for <b>DXVA2_AES_CTR_IV</b>.

</td>
</tr>
</table></summary>
  </member>
  <member name="D3DCONTENTPROTECTIONCAPS::KeyExchangeType">
    <summary>Specifies the type of key exchange required to negotiate the session key. The following GUIDs are defined.

<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DKEYEXCHANGE_RSAES_OAEP"></a><a id="d3dkeyexchange_rsaes_oaep"></a><dl>
<dt><b>D3DKEYEXCHANGE_RSAES_OAEP</b></dt>
</dl>
</td>
<td width="60%">
The decoder encrypts the session key using RSA Encryption Scheme - Optimal Asymmetric Encryption Padding (RSAES-OAEP).

</td>
</tr>
<tr>
<td width="40%"><a id="D3DKEYEXCHANGE_DXVA"></a><a id="d3dkeyexchange_dxva"></a><dl>
<dt><b>D3DKEYEXCHANGE_DXVA</b></dt>
</dl>
</td>
<td width="60%">
Use the key exchange mechanism defined for DirectX Video Acceleration 2 (DXVA-2). 

</td>
</tr>
</table></summary>
  </member>
  <member name="D3DCONTENTPROTECTIONCAPS::BufferAlignmentStart">
    <summary>The memory alignment required for buffers used by the GPU cryptographic engine. If the application uses a system memory buffer to pass encrypted content to the GPU, or to read back encrypted content from the GPU, the buffer's starting address must be a multiple of this value.</summary>
  </member>
  <member name="D3DCONTENTPROTECTIONCAPS::BlockAlignmentSize">
    <summary>The block alignment required by the GPU cryptographic engine. The size of data to be encrypted must be a multiple of this value.</summary>
  </member>
  <member name="D3DCONTENTPROTECTIONCAPS::ProtectedMemorySize">
    <summary>The total amount of memory that can be used to hold protected surfaces.</summary>
  </member>
  <member name="D3D_REGISTER_COMPONENT_TYPE">
    <summary>
      <para>Values that identify the data types that can be stored in a register.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_register_component_type" /></para>
    </summary>
  </member>
  <member name="D3D_REGISTER_COMPONENT_TYPE::D3D_REGISTER_COMPONENT_UNKNOWN">
    <summary>The data type is unknown.</summary>
  </member>
  <member name="D3D_REGISTER_COMPONENT_TYPE::D3D_REGISTER_COMPONENT_UINT32">
    <summary>32-bit unsigned integer.</summary>
  </member>
  <member name="D3D_REGISTER_COMPONENT_TYPE::D3D_REGISTER_COMPONENT_SINT32">
    <summary>32-bit signed integer.</summary>
  </member>
  <member name="D3D_REGISTER_COMPONENT_TYPE::D3D_REGISTER_COMPONENT_FLOAT32">
    <summary>32-bit floating-point number.</summary>
  </member>
  <member name="D3D_REGISTER_COMPONENT_TYPE::D3D10_REGISTER_COMPONENT_UNKNOWN">
    <summary>The data type is unknown.</summary>
  </member>
  <member name="D3D_REGISTER_COMPONENT_TYPE::D3D10_REGISTER_COMPONENT_UINT32">
    <summary>32-bit unsigned integer.</summary>
  </member>
  <member name="D3D_REGISTER_COMPONENT_TYPE::D3D10_REGISTER_COMPONENT_SINT32">
    <summary>32-bit signed integer.</summary>
  </member>
  <member name="D3D_REGISTER_COMPONENT_TYPE::D3D10_REGISTER_COMPONENT_FLOAT32">
    <summary>32-bit floating-point number.</summary>
  </member>
  <member name="D3DGetInputSignatureBlob">
    <summary>
      <para>Note  D3DGetInputSignatureBlob may be altered or unavailable for releases after Windows 8.1. Instead use D3DGetBlobPart with the D3D_BLOB_INPUT_SIGNATURE_BLOB value.  Gets the input signature from a compilation result.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dgetinputsignatureblob" /></para>
      <param name="pSrcData">A pointer to source data as compiled HLSL code.</param>
      <param name="SrcDataSize">Length of <i>pSrcData</i>.</param>
      <param name="ppSignatureBlob">A pointer to a buffer that receives the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that contains a compiled shader.</param>
    </summary>
  </member>
  <member name="D3D_SHADER_CBUFFER_FLAGS">
    <summary>
      <para>Values that identify the indended use of a constant-data buffer.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_shader_cbuffer_flags" /></para>
    </summary>
  </member>
  <member name="D3D_SHADER_CBUFFER_FLAGS::D3D_CBF_USERPACKED">
    <summary>Bind the constant buffer to an input slot defined in HLSL code (instead of letting the compiler choose the input slot).</summary>
  </member>
  <member name="D3D_SHADER_CBUFFER_FLAGS::D3D10_CBF_USERPACKED">
    <summary>Bind the constant buffer to an input slot defined in HLSL code (instead of letting the compiler choose the input slot).</summary>
  </member>
  <member name="D3D_SHADER_CBUFFER_FLAGS::D3D_CBF_FORCE_DWORD">
    <summary>This value is not used by a programmer; it exists to force the enumeration to compile to 32 bits.</summary>
  </member>
  <member name="ID3DInclude::Open">
    <summary>
      <para>A user-implemented method for opening and reading the contents of a shader</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/nf-d3dcommon-id3dinclude-open" /></para>
      <param name="IncludeType">A <a href="https://docs.microsoft.com/windows/desktop/api/d3dcommon/ne-d3dcommon-d3d_include_type">D3D_INCLUDE_TYPE</a>-typed value that indicates the location of the #include file.</param>
      <param name="pFileName">Name of the #include file.</param>
      <param name="pParentData">Pointer to the container that includes the #include file. The compiler might pass NULL in <i>pParentData</i>. For more information, see the "Searching for Include Files" section in <a href="https://docs.microsoft.com/windows/desktop/direct3d11/d3d11-graphics-programming-guide-effects-compile">Compile an Effect (Direct3D 11)</a>.</param>
      <param name="ppData">Pointer to the buffer  that contains the include directives. This pointer remains valid until you call<a href="https://docs.microsoft.com/windows/desktop/api/d3dcommon/nf-d3dcommon-id3dinclude-close">ID3DInclude::Close</a>.</param>
      <param name="pBytes">Pointer to the number of bytes that <b>Open</b> returns in <i>ppData</i>.</param>
    </summary>
  </member>
  <member name="D3DGetOutputSignatureBlob">
    <summary>
      <para>Note  D3DGetOutputSignatureBlob may be altered or unavailable for releases after Windows 8.1. Instead use D3DGetBlobPart with the D3D_BLOB_OUTPUT_SIGNATURE_BLOB value.  Gets the output signature from a compilation result.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dgetoutputsignatureblob" /></para>
      <param name="pSrcData">A pointer to source data as compiled HLSL code.</param>
      <param name="SrcDataSize">Length of <i>pSrcData</i>.</param>
      <param name="ppSignatureBlob">A pointer to a buffer that receives the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that contains a compiled shader.</param>
    </summary>
  </member>
  <member name="D3D_SRV_DIMENSION">
    <summary>
      <para>Values that identify the type of resource to be viewed as a shader resource.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_srv_dimension" /></para>
    </summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D_SRV_DIMENSION_UNKNOWN">
    <summary>The type is unknown.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D_SRV_DIMENSION_BUFFER">
    <summary>The resource is a buffer.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D_SRV_DIMENSION_TEXTURE1D">
    <summary>The resource is a 1D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D_SRV_DIMENSION_TEXTURE1DARRAY">
    <summary>The resource is an array of 1D textures.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D_SRV_DIMENSION_TEXTURE2D">
    <summary>The resource is a 2D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D_SRV_DIMENSION_TEXTURE2DARRAY">
    <summary>The resource is an array of 2D textures.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D_SRV_DIMENSION_TEXTURE2DMS">
    <summary>The resource is a multisampling 2D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D_SRV_DIMENSION_TEXTURE2DMSARRAY">
    <summary>The resource is an array of multisampling 2D textures.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D_SRV_DIMENSION_TEXTURE3D">
    <summary>The resource is a 3D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D_SRV_DIMENSION_TEXTURECUBE">
    <summary>The resource is a cube texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D_SRV_DIMENSION_TEXTURECUBEARRAY">
    <summary>The resource is an array of cube textures.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D_SRV_DIMENSION_BUFFEREX">
    <summary>The resource is a raw buffer. For more info about raw viewing of buffers, see <a href="https://docs.microsoft.com/windows/desktop/direct3d11/overviews-direct3d-11-resources-intro">Raw Views of Buffers</a>.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_SRV_DIMENSION_UNKNOWN">
    <summary>The type is unknown.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_SRV_DIMENSION_BUFFER">
    <summary>The resource is a buffer.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_SRV_DIMENSION_TEXTURE1D">
    <summary>The resource is a 1D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_SRV_DIMENSION_TEXTURE1DARRAY">
    <summary>The resource is an array of 1D textures.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_SRV_DIMENSION_TEXTURE2D">
    <summary>The resource is a 2D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_SRV_DIMENSION_TEXTURE2DARRAY">
    <summary>The resource is an array of 2D textures.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_SRV_DIMENSION_TEXTURE2DMS">
    <summary>The resource is a multisampling 2D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY">
    <summary>The resource is an array of multisampling 2D textures.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_SRV_DIMENSION_TEXTURE3D">
    <summary>The resource is a 3D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_SRV_DIMENSION_TEXTURECUBE">
    <summary>The resource is a cube texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_1_SRV_DIMENSION_UNKNOWN">
    <summary>The type is unknown.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_1_SRV_DIMENSION_BUFFER">
    <summary>The resource is a buffer.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_1_SRV_DIMENSION_TEXTURE1D">
    <summary>The resource is a 1D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY">
    <summary>The resource is an array of 1D textures.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_1_SRV_DIMENSION_TEXTURE2D">
    <summary>The resource is a 2D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY">
    <summary>The resource is an array of 2D textures.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_1_SRV_DIMENSION_TEXTURE2DMS">
    <summary>The resource is a multisampling 2D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY">
    <summary>The resource is an array of multisampling 2D textures.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_1_SRV_DIMENSION_TEXTURE3D">
    <summary>The resource is a 3D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_1_SRV_DIMENSION_TEXTURECUBE">
    <summary>The resource is a cube texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY">
    <summary>The resource is an array of cube textures.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D11_SRV_DIMENSION_UNKNOWN">
    <summary>The type is unknown.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D11_SRV_DIMENSION_BUFFER">
    <summary>The resource is a buffer.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D11_SRV_DIMENSION_TEXTURE1D">
    <summary>The resource is a 1D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D11_SRV_DIMENSION_TEXTURE1DARRAY">
    <summary>The resource is an array of 1D textures.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D11_SRV_DIMENSION_TEXTURE2D">
    <summary>The resource is a 2D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D11_SRV_DIMENSION_TEXTURE2DARRAY">
    <summary>The resource is an array of 2D textures.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D11_SRV_DIMENSION_TEXTURE2DMS">
    <summary>The resource is a multisampling 2D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY">
    <summary>The resource is an array of multisampling 2D textures.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D11_SRV_DIMENSION_TEXTURE3D">
    <summary>The resource is a 3D texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D11_SRV_DIMENSION_TEXTURECUBE">
    <summary>The resource is a cube texture.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D11_SRV_DIMENSION_TEXTURECUBEARRAY">
    <summary>The resource is an array of cube textures.</summary>
  </member>
  <member name="D3D_SRV_DIMENSION::D3D11_SRV_DIMENSION_BUFFEREX">
    <summary>The resource is a raw buffer. For more info about raw viewing of buffers, see <a href="https://docs.microsoft.com/windows/desktop/direct3d11/overviews-direct3d-11-resources-intro">Raw Views of Buffers</a>.</summary>
  </member>
  <member name="D3DDisassemble11Trace">
    <summary>
      <para>Disassembles a section of compiled Microsoft High Level Shader Language (HLSL) code that is specified by shader trace steps.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3d11shadertracing/nf-d3d11shadertracing-d3ddisassemble11trace" /></para>
      <param name="pSrcData">A pointer to compiled shader data.</param>
      <param name="SrcDataSize">The size, in bytes, of the block of memory that pSrcData points to.</param>
      <param name="pTrace">A pointer to the ID3D11ShaderTrace interface for the shader trace information object.</param>
      <param name="StartStep">The number of the step in the trace from which D3DDisassemble11Trace starts the disassembly.</param>
      <param name="NumSteps">The number of trace steps to disassemble.</param>
      <param name="Flags">A combination of zero or more of the following flags that are combined by using a bitwise OR operation. The resulting value specifies how D3DDisassemble11Trace disassembles the compiled shader data.



<table>
<tr>
<th>Flag</th>
<th>Description</th>
</tr>
<tr>
<td>D3D_DISASM_ENABLE_COLOR_CODE (0x01)</td>
<td> Enable the output of color codes.</td>
</tr>
<tr>
<td>D3D_DISASM_ENABLE_DEFAULT_VALUE_PRINTS (0x02)</td>
<td> Enable the output of default values.</td>
</tr>
<tr>
<td>D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING (0x04)</td>
<td> Enable instruction numbering.</td>
</tr>
<tr>
<td>D3D_DISASM_ENABLE_INSTRUCTION_CYCLE (0x08)</td>
<td> No effect.</td>
</tr>
<tr>
<td>D3D_DISASM_DISABLE_DEBUG_INFO (0x10)</td>
<td> Disable the output of debug information.</td>
</tr>
<tr>
<td>D3D_DISASM_ENABLE_INSTRUCTION_OFFSET (0x20)</td>
<td> Enable the output of instruction offsets.</td>
</tr>
<tr>
<td>D3D_DISASM_INSTRUCTION_ONLY (0x40)</td>
<td> 
Enable the output of the instruction cycle per step in D3DDisassemble11Trace. This flag is similar to the D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING and D3D_DISASM_ENABLE_INSTRUCTION_OFFSET flags.

This flag has no effect in the D3DDisassembleRegion function. Cycle information comes from the trace; therefore, cycle information is available only in the trace disassembly.
 </td>
</tr>
</table></param>
      <param name="ppDisassembly">A pointer to a buffer that receives the ID3DBlob interface that accesses the disassembled HLSL code.</param>
    </summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY">
    <summary>
      <para>Values that indicate how the pipeline interprets vertex data that is bound to the input-assembler stage. These primitive topology values determine how the vertex data is rendered on screen.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_primitive_topology" /></para>
    </summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_UNDEFINED">
    <summary>The IA stage has not been initialized with a primitive topology. The IA stage will not function properly unless a primitive topology is defined.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_POINTLIST">
    <summary>Interpret the vertex data as a list of points.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_LINELIST">
    <summary>Interpret the vertex data as a list of lines.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_LINESTRIP">
    <summary>Interpret the vertex data as a line strip.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST">
    <summary>Interpret the vertex data as a list of triangles.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP">
    <summary>Interpret the vertex data as a triangle strip.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ">
    <summary>Interpret the vertex data as a list of lines with adjacency data.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ">
    <summary>Interpret the vertex data as a line strip with adjacency data.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ">
    <summary>Interpret the vertex data as a list of triangles with adjacency data.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ">
    <summary>Interpret the vertex data as a triangle strip with adjacency data.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED">
    <summary>The IA stage has not been initialized with a primitive topology. The IA stage will not function properly unless a primitive topology is defined.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D10_PRIMITIVE_TOPOLOGY_POINTLIST">
    <summary>Interpret the vertex data as a list of points.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D10_PRIMITIVE_TOPOLOGY_LINELIST">
    <summary>Interpret the vertex data as a list of lines.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP">
    <summary>Interpret the vertex data as a line strip.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST">
    <summary>Interpret the vertex data as a list of triangles.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP">
    <summary>Interpret the vertex data as a triangle strip.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ">
    <summary>Interpret the vertex data as a list of lines with adjacency data.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ">
    <summary>Interpret the vertex data as a line strip with adjacency data.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ">
    <summary>Interpret the vertex data as a list of triangles with adjacency data.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ">
    <summary>Interpret the vertex data as a triangle strip with adjacency data.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED">
    <summary>The IA stage has not been initialized with a primitive topology. The IA stage will not function properly unless a primitive topology is defined.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_POINTLIST">
    <summary>Interpret the vertex data as a list of points.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_LINELIST">
    <summary>Interpret the vertex data as a list of lines.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP">
    <summary>Interpret the vertex data as a line strip.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST">
    <summary>Interpret the vertex data as a list of triangles.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP">
    <summary>Interpret the vertex data as a triangle strip.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ">
    <summary>Interpret the vertex data as a list of lines with adjacency data.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ">
    <summary>Interpret the vertex data as a line strip with adjacency data.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ">
    <summary>Interpret the vertex data as a list of triangles with adjacency data.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ">
    <summary>Interpret the vertex data as a triangle strip with adjacency data.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST">
    <summary>Interpret the vertex data as a patch list.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE">
    <summary>
      <para>Values that identify various data, texture, and buffer types that can be assigned to a shader variable.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_shader_variable_type" /></para>
    </summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_VOID">
    <summary>The variable is a void pointer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_BOOL">
    <summary>The variable is a boolean.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_INT">
    <summary>The variable is an integer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_FLOAT">
    <summary>The variable is a floating-point number.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_STRING">
    <summary>The variable is a string.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_TEXTURE">
    <summary>The variable is a texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_TEXTURE1D">
    <summary>The variable is a 1D texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_TEXTURE2D">
    <summary>The variable is a 2D texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_TEXTURE3D">
    <summary>The variable is a 3D texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_TEXTURECUBE">
    <summary>The variable is a texture cube.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_SAMPLER">
    <summary>The variable is a sampler.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_SAMPLER1D">
    <summary>The variable is a 1D sampler.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_SAMPLER2D">
    <summary>The variable is a 2D sampler.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_SAMPLER3D">
    <summary>The variable is a 3D sampler.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_SAMPLERCUBE">
    <summary>The variable is a cube sampler.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_PIXELSHADER">
    <summary>The variable is a pixel shader.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_VERTEXSHADER">
    <summary>The variable is a vertex shader.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_PIXELFRAGMENT">
    <summary>The variable is a pixel fragment.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_VERTEXFRAGMENT">
    <summary>The variable is a vertex fragment.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_UINT">
    <summary>The variable is an unsigned integer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_UINT8">
    <summary>The variable is an 8-bit unsigned integer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_GEOMETRYSHADER">
    <summary>The variable is a geometry shader.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_RASTERIZER">
    <summary>The variable is a rasterizer-state object.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_DEPTHSTENCIL">
    <summary>The variable is a depth-stencil-state object.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_BLEND">
    <summary>The variable is a blend-state object.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_BUFFER">
    <summary>The variable is a buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_CBUFFER">
    <summary>The variable is a constant buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_TBUFFER">
    <summary>The variable is a texture buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_TEXTURE1DARRAY">
    <summary>The variable is a 1D-texture array.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_TEXTURE2DARRAY">
    <summary>The variable is a 2D-texture array.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_RENDERTARGETVIEW">
    <summary>The variable is a render-target view.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_DEPTHSTENCILVIEW">
    <summary>The variable is a depth-stencil view.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_TEXTURE2DMS">
    <summary>The variable is a 2D-multisampled texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_TEXTURE2DMSARRAY">
    <summary>The variable is a 2D-multisampled-texture array.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_TEXTURECUBEARRAY">
    <summary>The variable is a texture-cube array.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_HULLSHADER">
    <summary>The variable holds a compiled hull-shader binary.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_DOMAINSHADER">
    <summary>The variable holds a compiled domain-shader binary.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_INTERFACE_POINTER">
    <summary>The variable is an interface.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_COMPUTESHADER">
    <summary>The variable holds a compiled compute-shader binary.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_DOUBLE">
    <summary>The variable is a double precision (64-bit) floating-point number.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_RWTEXTURE1D">
    <summary>The variable is a 1D read-and-write texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_RWTEXTURE1DARRAY">
    <summary>The variable is an array of 1D read-and-write textures.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_RWTEXTURE2D">
    <summary>The variable is a 2D read-and-write texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_RWTEXTURE2DARRAY">
    <summary>The variable is an array of 2D read-and-write textures.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_RWTEXTURE3D">
    <summary>The variable is a 3D read-and-write texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_RWBUFFER">
    <summary>The variable is a read-and-write buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_BYTEADDRESS_BUFFER">
    <summary>The variable is a byte-address buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_RWBYTEADDRESS_BUFFER">
    <summary>The variable is a read-and-write byte-address buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_STRUCTURED_BUFFER">
    <summary>The variable is a structured buffer. 

For more information about structured buffer, see the <b>Remarks</b> section.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_RWSTRUCTURED_BUFFER">
    <summary>The variable is a read-and-write structured buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_APPEND_STRUCTURED_BUFFER">
    <summary>The variable is an append structured buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_CONSUME_STRUCTURED_BUFFER">
    <summary>The variable is a consume structured buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_MIN8FLOAT">
    <summary>The variable is an 8-byte FLOAT.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_MIN10FLOAT">
    <summary>The variable is a 10-byte FLOAT.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_MIN16FLOAT">
    <summary>The variable is a 16-byte FLOAT.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_MIN12INT">
    <summary>The variable is a 12-byte INT.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_MIN16INT">
    <summary>The variable is a 16-byte INT.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_MIN16UINT">
    <summary>The variable is a 16-byte INT.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_VOID">
    <summary>The variable is a void pointer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_BOOL">
    <summary>The variable is a boolean.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_INT">
    <summary>The variable is an integer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_FLOAT">
    <summary>The variable is a floating-point number.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_STRING">
    <summary>The variable is a string.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_TEXTURE">
    <summary>The variable is a texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_TEXTURE1D">
    <summary>The variable is a 1D texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_TEXTURE2D">
    <summary>The variable is a 2D texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_TEXTURE3D">
    <summary>The variable is a 3D texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_TEXTURECUBE">
    <summary>The variable is a texture cube.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_SAMPLER">
    <summary>The variable is a sampler.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_SAMPLER1D">
    <summary>The variable is a 1D sampler.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_SAMPLER2D">
    <summary>The variable is a 2D sampler.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_SAMPLER3D">
    <summary>The variable is a 3D sampler.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_SAMPLERCUBE">
    <summary>The variable is a cube sampler.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_PIXELSHADER">
    <summary>The variable is a pixel shader.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_VERTEXSHADER">
    <summary>The variable is a vertex shader.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_PIXELFRAGMENT">
    <summary>The variable is a pixel fragment.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_VERTEXFRAGMENT">
    <summary>The variable is a vertex fragment.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_UINT">
    <summary>The variable is an unsigned integer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_UINT8">
    <summary>The variable is an 8-bit unsigned integer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_GEOMETRYSHADER">
    <summary>The variable is a geometry shader.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_RASTERIZER">
    <summary>The variable is a rasterizer-state object.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_DEPTHSTENCIL">
    <summary>The variable is a depth-stencil-state object.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_BLEND">
    <summary>The variable is a blend-state object.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_BUFFER">
    <summary>The variable is a buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_CBUFFER">
    <summary>The variable is a constant buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_TBUFFER">
    <summary>The variable is a texture buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_TEXTURE1DARRAY">
    <summary>The variable is a 1D-texture array.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_TEXTURE2DARRAY">
    <summary>The variable is a 2D-texture array.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_RENDERTARGETVIEW">
    <summary>The variable is a render-target view.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_DEPTHSTENCILVIEW">
    <summary>The variable is a depth-stencil view.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_TEXTURE2DMS">
    <summary>The variable is a 2D-multisampled texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_TEXTURE2DMSARRAY">
    <summary>The variable is a 2D-multisampled-texture array.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D10_SVT_TEXTURECUBEARRAY">
    <summary>The variable is a texture-cube array.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_HULLSHADER">
    <summary>The variable holds a compiled hull-shader binary.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_DOMAINSHADER">
    <summary>The variable holds a compiled domain-shader binary.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_INTERFACE_POINTER">
    <summary>The variable is an interface.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_COMPUTESHADER">
    <summary>The variable holds a compiled compute-shader binary.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_DOUBLE">
    <summary>The variable is a double precision (64-bit) floating-point number.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_RWTEXTURE1D">
    <summary>The variable is a 1D read-and-write texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_RWTEXTURE1DARRAY">
    <summary>The variable is an array of 1D read-and-write textures.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_RWTEXTURE2D">
    <summary>The variable is a 2D read-and-write texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_RWTEXTURE2DARRAY">
    <summary>The variable is an array of 2D read-and-write textures.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_RWTEXTURE3D">
    <summary>The variable is a 3D read-and-write texture.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_RWBUFFER">
    <summary>The variable is a read-and-write buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_BYTEADDRESS_BUFFER">
    <summary>The variable is a byte-address buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_RWBYTEADDRESS_BUFFER">
    <summary>The variable is a read and write byte-address buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_STRUCTURED_BUFFER">
    <summary>The variable is a structured buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_RWSTRUCTURED_BUFFER">
    <summary>The variable is a read-and-write structured buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_APPEND_STRUCTURED_BUFFER">
    <summary>The variable is an append structured buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D11_SVT_CONSUME_STRUCTURED_BUFFER">
    <summary>The variable is a consume structured buffer.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_TYPE::D3D_SVT_FORCE_DWORD">
    <summary>This value is not used by a programmer; it exists to force the enumeration to compile to 32 bits.</summary>
  </member>
  <member name="ID3DInclude::Close">
    <summary>
      <para>A user-implemented method for closing a shader</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/nf-d3dcommon-id3dinclude-close" /></para>
      <param name="pData">Pointer to the buffer that contains the include directives. This is the pointer that was returned by the corresponding <a href="https://docs.microsoft.com/windows/desktop/api/d3dcommon/nf-d3dcommon-id3dinclude-open">ID3DInclude::Open</a> call.</param>
    </summary>
  </member>
  <member name="D3D_ROOT_SIGNATURE_VERSION">
    <summary>
      <para>Specifies the version of root signature layout.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3d12/ne-d3d12-d3d_root_signature_version" /></para>
    </summary>
  </member>
  <member name="D3D_ROOT_SIGNATURE_VERSION::D3D_ROOT_SIGNATURE_VERSION_1">
    <summary>Version one of root signature layout.</summary>
  </member>
  <member name="D3D_ROOT_SIGNATURE_VERSION::D3D_ROOT_SIGNATURE_VERSION_1_0">
    <summary>Version one of root signature layout.</summary>
  </member>
  <member name="D3D_ROOT_SIGNATURE_VERSION::D3D_ROOT_SIGNATURE_VERSION_1_1">
    <summary>Version 1.1  of root signature layout. Refer to <a href="https://docs.microsoft.com/windows/desktop/direct3d12/root-signature-version-1-1">Root Signature Version 1.1</a>.</summary>
  </member>
  <member name="D3D_INCLUDE_TYPE">
    <summary>
      <para>Values that indicate the location of a shader</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_include_type" /></para>
    </summary>
  </member>
  <member name="D3D_INCLUDE_TYPE::D3D_INCLUDE_LOCAL">
    <summary>The local directory.</summary>
  </member>
  <member name="D3D_INCLUDE_TYPE::D3D_INCLUDE_SYSTEM">
    <summary>The system directory.</summary>
  </member>
  <member name="D3D_INCLUDE_TYPE::D3D10_INCLUDE_LOCAL">
    <summary>The local directory.</summary>
  </member>
  <member name="D3D_INCLUDE_TYPE::D3D10_INCLUDE_SYSTEM">
    <summary>The system directory.</summary>
  </member>
  <member name="D3D_INCLUDE_TYPE::D3D_INCLUDE_FORCE_DWORD">
    <summary>Forces this enumeration to compile to 32 bits in size. Without this value, some compilers would allow this enumeration to compile to a size other than 32 bits. 

Do not use this value.</summary>
  </member>
  <member name="D3D_PARAMETER_FLAGS">
    <summary>
      <para>Indicates semantic flags for function parameters.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_parameter_flags" /></para>
    </summary>
  </member>
  <member name="D3D_PARAMETER_FLAGS::D3D_PF_NONE">
    <summary>The parameter has no semantic flags.</summary>
  </member>
  <member name="D3D_PARAMETER_FLAGS::D3D_PF_IN">
    <summary>Indicates an input parameter.</summary>
  </member>
  <member name="D3D_PARAMETER_FLAGS::D3D_PF_OUT">
    <summary>Indicates an output parameter.</summary>
  </member>
  <member name="D3D_PARAMETER_FLAGS::D3D_PF_FORCE_DWORD">
    <summary>Forces this enumeration to compile to 32 bits in size. Without this value, some compilers would allow this enumeration to compile to a size other than 32 bits. This value is not used.</summary>
  </member>
  <member name="ID3DUserDefinedAnnotation::GetStatus">
    <summary>
      <para>Determines whether the calling application is running under a Microsoft Direct3D profiling tool.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3d11_1/nf-d3d11_1-id3duserdefinedannotation-getstatus" /></para>
    </summary>
  </member>
  <member name="D3DStripShader">
    <summary>
      <para>Removes unwanted blobs from a compilation result.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dstripshader" /></para>
      <param name="pShaderBytecode">A pointer to source data as compiled HLSL code.</param>
      <param name="BytecodeLength">Length of <i>pSrcData</i>.</param>
      <param name="uStripFlags">Strip flag options, represented by <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/d3dcompiler-strip-flags">D3DCOMPILER_STRIP_FLAGS</a>.</param>
      <param name="ppStrippedBlob">A pointer to a variable that receives a pointer to the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that you can use to access the unwanted stripped out shader code.</param>
    </summary>
  </member>
  <member name="D3DCreateFunctionLinkingGraph">
    <summary>
      <para>Creates a function-linking-graph interface.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dcreatefunctionlinkinggraph" /></para>
      <param name="uFlags">Reserved</param>
      <param name="ppFunctionLinkingGraph">A pointer to a variable that receives a pointer to the <a href="https://docs.microsoft.com/windows/desktop/api/d3d11shader/nn-d3d11shader-id3d11functionlinkinggraph">ID3D11FunctionLinkingGraph</a> interface that is used for constructing shaders that consist of a sequence of precompiled function calls.</param>
    </summary>
  </member>
  <member name="D3DReadFileToBlob">
    <summary>
      <para>Reads a file that is on disk into memory.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dreadfiletoblob" /></para>
      <param name="pFileName">A pointer to a constant null-terminated string that contains  the name of the file to read into memory.</param>
      <param name="ppContents">A pointer to a variable that receives a pointer to the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that contains information that <b>D3DReadFileToBlob</b> read from the <i>pFileName</i> file. You can use this <b>ID3DBlob</b> interface to access the file information and pass it to other compiler functions.</param>
    </summary>
  </member>
  <member name="D3DCompileFromFile">
    <summary>
      <para>Compiles Microsoft High Level Shader Language (HLSL) code into bytecode for a given target.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dcompilefromfile" /></para>
      <param name="pFileName">A pointer to a constant null-terminated string that contains  the name of the file that contains the shader code.</param>
      <param name="pDefines">An optional array of <a href="https://docs.microsoft.com/windows/desktop/api/d3dcommon/ns-d3dcommon-d3d_shader_macro">D3D_SHADER_MACRO</a> structures that define shader macros. Each macro definition contains a name and a NULL-terminated definition. If not used, set to <b>NULL</b>.</param>
      <param name="pInclude">An optional pointer to an <a href="https://docs.microsoft.com/windows/desktop/api/d3dcommon/nn-d3dcommon-id3dinclude">ID3DInclude</a> interface that the compiler uses to handle include files. If you set this parameter to <b>NULL</b> and the shader contains a #include, a compile error occurs. You can pass the <b>D3D_COMPILE_STANDARD_FILE_INCLUDE</b> macro, which is a pointer to a default include handler. This default include handler includes files that are relative to the current directory.


```</param>
      <param name="pEntrypoint">A pointer to a constant null-terminated string that contains  the name of the shader entry point function where shader execution begins. When you compile an effect, <b>D3DCompileFromFile</b> ignores <i>pEntrypoint</i>; we recommend that you set <i>pEntrypoint</i> to <b>NULL</b> because it is good programming practice to set a pointer parameter to <b>NULL</b> if the called function will not use it.</param>
      <param name="pTarget">A pointer to a constant null-terminated string that specifies the shader target or set of shader features to compile against. The shader target can be a shader model (for example, shader model 2, shader model 3, shader model 4, or shader model 5 and later). The target can also be an effect type (for example, fx_4_1). For info about the targets that various profiles support, see <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/specifying-compiler-targets">Specifying Compiler Targets</a>.</param>
      <param name="Flags1">A combination of shader <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/d3dcompile-constants">compile options</a> that are combined by using a bitwise <b>OR</b> operation. The resulting value specifies how the compiler compiles the HLSL code.</param>
      <param name="Flags2">A combination of effect <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/d3dcompile-effect-constants">compile options</a> that are combined by using a bitwise <b>OR</b> operation. The resulting value specifies how the compiler compiles the effect. When you compile a shader and not an effect file, <b>D3DCompileFromFile</b> ignores <i>Flags2</i>; we recommend that you set <i>Flags2</i> to zero because it is good programming practice to set a nonpointer parameter to zero if the called function will not use it.</param>
      <param name="ppCode">A pointer to a variable that receives a pointer to the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that you can use to access the compiled code.</param>
      <param name="ppErrorMsgs">An optional pointer to a variable that receives a pointer to the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that you can use to access compiler error messages, or <b>NULL</b> if there are no errors.</param>
    </summary>
  </member>
  <member name="ID3DUserDefinedAnnotation::EndEvent">
    <summary>
      <para>Marks the end of a section of event code.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3d11_1/nf-d3d11_1-id3duserdefinedannotation-endevent" /></para>
    </summary>
  </member>
  <member name="D3D_NAME">
    <summary>
      <para>Values that identify shader parameters that use system-value semantics.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_name" /></para>
    </summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_UNDEFINED">
    <summary>This parameter does not use a predefined system-value semantic.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_POSITION">
    <summary>This parameter contains position data.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_CLIP_DISTANCE">
    <summary>This parameter contains clip-distance data.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_CULL_DISTANCE">
    <summary>This parameter contains cull-distance data.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_RENDER_TARGET_ARRAY_INDEX">
    <summary>This parameter contains a render-target-array index.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_VIEWPORT_ARRAY_INDEX">
    <summary>This parameter contains a viewport-array index.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_VERTEX_ID">
    <summary>This parameter contains a vertex ID.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_PRIMITIVE_ID">
    <summary>This parameter contains a primitive ID.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_INSTANCE_ID">
    <summary>This parameter contains an instance ID.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_IS_FRONT_FACE">
    <summary>This parameter contains data that identifies whether or not the primitive faces the camera.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_SAMPLE_INDEX">
    <summary>This parameter contains a sampler-array index.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR">
    <summary>This parameter contains one of four tessellation factors that correspond to the amount of parts that a quad patch is broken into along the given edge. This flag is used to tessellate a quad patch.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR">
    <summary>This parameter contains one of two tessellation factors that correspond to the amount of parts that a quad patch is broken into vertically and horizontally within the patch. This flag is used to tessellate a quad patch.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR">
    <summary>This parameter contains one of three tessellation factors that correspond to the amount of parts that a tri patch is broken into along the given edge. This flag is used to tessellate a tri patch.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR">
    <summary>This parameter contains the tessellation factor that corresponds to the amount of parts that a tri patch is broken into within the patch. This flag is used to tessellate a tri patch.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR">
    <summary>This parameter contains the tessellation factor that corresponds to the number of lines broken into within the patch. This flag is used to tessellate an isolines patch.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR">
    <summary>This parameter contains the tessellation factor that corresponds to the number of lines that are created within the patch. This flag is used to tessellate an isolines patch.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_BARYCENTRICS">
    <summary>This parameter contains barycentric coordinate data.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_TARGET">
    <summary>This parameter contains render-target data.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_DEPTH">
    <summary>This parameter contains depth data.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_COVERAGE">
    <summary>This parameter contains alpha-coverage data.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_DEPTH_GREATER_EQUAL">
    <summary>This parameter signifies that the value is greater than or equal to a reference value. This flag is used to specify conservative depth for a pixel shader.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_DEPTH_LESS_EQUAL">
    <summary>This parameter signifies that the value is less than or equal to a reference value. This flag is used to specify conservative depth for a pixel shader.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_STENCIL_REF">
    <summary>This parameter contains a stencil reference.
            See <a href="https://docs.microsoft.com/windows/desktop/direct3d11/shader-specified-stencil-reference-value">Shader Specified Stencil Reference Value</a>.</summary>
  </member>
  <member name="D3D_NAME::D3D_NAME_INNER_COVERAGE">
    <summary>This parameter contains inner input coverage data.
            See <a href="https://docs.microsoft.com/windows/desktop/direct3d11/conservative-rasterization">Conservative Rasterization</a>.</summary>
  </member>
  <member name="D3D_NAME::D3D10_NAME_UNDEFINED">
    <summary>This parameter does not use a predefined system-value semantic.</summary>
  </member>
  <member name="D3D_NAME::D3D10_NAME_POSITION">
    <summary>This parameter contains position data.</summary>
  </member>
  <member name="D3D_NAME::D3D10_NAME_CLIP_DISTANCE">
    <summary>This parameter contains clip-distance data.</summary>
  </member>
  <member name="D3D_NAME::D3D10_NAME_CULL_DISTANCE">
    <summary>This parameter contains cull-distance data.</summary>
  </member>
  <member name="D3D_NAME::D3D10_NAME_RENDER_TARGET_ARRAY_INDEX">
    <summary>This parameter contains a render-target-array index.</summary>
  </member>
  <member name="D3D_NAME::D3D10_NAME_VIEWPORT_ARRAY_INDEX">
    <summary>This parameter contains a viewport-array index.</summary>
  </member>
  <member name="D3D_NAME::D3D10_NAME_VERTEX_ID">
    <summary>This parameter contains a vertex ID.</summary>
  </member>
  <member name="D3D_NAME::D3D10_NAME_PRIMITIVE_ID">
    <summary>This parameter contains a primitive ID.</summary>
  </member>
  <member name="D3D_NAME::D3D10_NAME_INSTANCE_ID">
    <summary>This parameter contains a instance ID.</summary>
  </member>
  <member name="D3D_NAME::D3D10_NAME_IS_FRONT_FACE">
    <summary>This parameter contains data that identifies whether or not the primitive faces the camera.</summary>
  </member>
  <member name="D3D_NAME::D3D10_NAME_SAMPLE_INDEX">
    <summary>This parameter contains a sampler-array index.</summary>
  </member>
  <member name="D3D_NAME::D3D10_NAME_TARGET">
    <summary>This parameter contains render-target data.</summary>
  </member>
  <member name="D3D_NAME::D3D10_NAME_DEPTH">
    <summary>This parameter contains depth data.</summary>
  </member>
  <member name="D3D_NAME::D3D10_NAME_COVERAGE">
    <summary>This parameter contains alpha-coverage data.</summary>
  </member>
  <member name="D3D_NAME::D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR">
    <summary>This parameter contains one of four tessellation factors that correspond to the amount of parts that a quad patch is broken into along the given edge. This flag is used to tessellate a quad patch.</summary>
  </member>
  <member name="D3D_NAME::D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR">
    <summary>This parameter contains one of two tessellation factors that correspond to the amount of parts that a quad patch is broken into vertically and horizontally within the patch. This flag is used to tessellate a quad patch.</summary>
  </member>
  <member name="D3D_NAME::D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR">
    <summary>This parameter contains one of three tessellation factors that correspond to the amount of parts that a tri patch is broken into along the given edge. This flag is used to tessellate a tri patch.</summary>
  </member>
  <member name="D3D_NAME::D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR">
    <summary>This parameter contains the tessellation factor that corresponds to the amount of parts that a tri patch is broken into within the patch. This flag is used to tessellate a tri patch.</summary>
  </member>
  <member name="D3D_NAME::D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR">
    <summary>This parameter contains the tessellation factor that corresponds to the amount of lines broken into within the patch. This flag is used to tessellate an isolines patch.</summary>
  </member>
  <member name="D3D_NAME::D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR">
    <summary>This parameter contains the tessellation factor that corresponds to the amount of lines that are created within the patch. This flag is used to tessellate an isolines patch.</summary>
  </member>
  <member name="D3D_NAME::D3D11_NAME_DEPTH_GREATER_EQUAL">
    <summary>This parameter signifies that the value is greater than or equal to a reference value. This flag is used to specify conservative depth for a pixel shader.</summary>
  </member>
  <member name="D3D_NAME::D3D11_NAME_DEPTH_LESS_EQUAL">
    <summary>This parameter signifies that the value is less than or equal to a reference value. This flag is used to specify conservative depth for a pixel shader.</summary>
  </member>
  <member name="D3D_NAME::D3D11_NAME_STENCIL_REF">
    <summary>This parameter contains a stencil reference.
            See <a href="https://docs.microsoft.com/windows/desktop/direct3d11/shader-specified-stencil-reference-value">Shader Specified Stencil Reference Value</a>.</summary>
  </member>
  <member name="D3D_NAME::D3D11_NAME_INNER_COVERAGE">
    <summary>This parameter contains inner input coverage data.
            See <a href="https://docs.microsoft.com/windows/desktop/direct3d11/conservative-rasterization">Conservative Rasterization</a>.</summary>
  </member>
  <member name="D3D_NAME::D3D12_NAME_BARYCENTRICS">
    <summary>This parameter contains barycentric coordinate data.</summary>
  </member>
  <member name="D3DPreprocess">
    <summary>
      <para>Preprocesses uncompiled HLSL code.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dpreprocess" /></para>
      <param name="pSrcData">A pointer to uncompiled shader data; either ASCII HLSL code or a compiled effect.</param>
      <param name="SrcDataSize">Length of <i>pSrcData</i>.</param>
      <param name="pSourceName"> The name of the file that contains the uncompiled HLSL code.</param>
      <param name="pDefines"> An array of NULL-terminated macro definitions (see <a href="https://docs.microsoft.com/windows/desktop/api/d3dcommon/ns-d3dcommon-d3d_shader_macro">D3D_SHADER_MACRO</a>).</param>
      <param name="pInclude"> A pointer to an <a href="https://docs.microsoft.com/windows/desktop/api/d3dcommon/nn-d3dcommon-id3dinclude">ID3DInclude</a> for handling include files. Setting this to <b>NULL</b> will cause a compile error if a shader contains a #include. You can pass the <b>D3D_COMPILE_STANDARD_FILE_INCLUDE</b> macro, which is a pointer to a default include handler. This default include handler includes files that are relative to the current directory and files that are relative to the directory of the initial source file. When you use <b>D3D_COMPILE_STANDARD_FILE_INCLUDE</b>, you must specify the source file name in the <i>pSourceName</i> parameter; the compiler will derive the initial relative directory from <i>pSourceName</i>.


```cpp</param>
      <param name="ppCodeText">The address of a <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> that contains the compiled code.</param>
      <param name="ppErrorMsgs"> A pointer to an <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> that contains compiler error messages, or <b>NULL</b> if there were no errors.</param>
    </summary>
  </member>
  <member name="D3DCompile">
    <summary>
      <para>Compile HLSL code or an effect file into bytecode for a given target.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dcompile" /></para>
      <param name="pSrcData">A pointer to uncompiled shader data; either ASCII HLSL code or a compiled effect.</param>
      <param name="SrcDataSize">Length of <i>pSrcData</i>.</param>
      <param name="pSourceName"> You can use this parameter for strings that specify  error messages. If not used, set to <b>NULL</b>.</param>
      <param name="pDefines"> An array of NULL-terminated macro definitions (see <a href="https://docs.microsoft.com/windows/desktop/api/d3dcommon/ns-d3dcommon-d3d_shader_macro">D3D_SHADER_MACRO</a>).</param>
      <param name="pInclude">Optional. A pointer to an <a href="https://docs.microsoft.com/windows/desktop/api/d3dcommon/nn-d3dcommon-id3dinclude">ID3DInclude</a> for handling include files. Setting this to <b>NULL</b> will cause a compile error if a shader contains a #include. You can pass the <b>D3D_COMPILE_STANDARD_FILE_INCLUDE</b> macro, which is a pointer to a default include handler. This default include handler includes files that are relative to the current directory and files that are relative to the directory of the initial source file. When you use <b>D3D_COMPILE_STANDARD_FILE_INCLUDE</b>, you must specify the source file name in the <i>pSourceName</i> parameter; the compiler will derive the initial relative directory from <i>pSourceName</i>.


```cpp</param>
      <param name="pEntrypoint">The name of the shader entry point function where shader execution begins. When you compile using a fx profile (for example, fx_4_0, fx_5_0, and so on), <b>D3DCompile</b> ignores <i>pEntrypoint</i>. In this case, we recommend that you set <i>pEntrypoint</i> to <b>NULL</b> because it is good programming practice to set a pointer parameter to <b>NULL</b> if the called function will not use it. For all other shader profiles, a valid <i>pEntrypoint</i> is required.</param>
      <param name="pTarget">A string that specifies the shader target or set of shader features to compile against. The shader target can be shader model 2, shader model 3, shader model 4, or shader model 5. The target can also be an effect type (for example, fx_4_1). For info about the targets that various profiles support, see <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/specifying-compiler-targets">Specifying Compiler Targets</a>.</param>
      <param name="Flags1">Flags defined by <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/d3dcompile-constants">D3D compile constants</a>.</param>
      <param name="Flags2">Flags defined by <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/d3dcompile-effect-constants">D3D compile effect constants</a>. When you compile a shader and not an effect file, <b>D3DCompile</b> ignores <i>Flags2</i>; we recommend that you set <i>Flags2</i> to zero because it is good programming practice to set a nonpointer parameter to zero if the called function will not use it.</param>
      <param name="ppCode">A pointer to a variable that receives a pointer to the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that you can use to access the compiled code.</param>
      <param name="ppErrorMsgs">A pointer to a variable that receives a pointer to the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that you can use to access compiler error messages, or <b>NULL</b> if there are no errors.</param>
    </summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_FLAGS">
    <summary>
      <para>Values that identify information about a shader variable.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_shader_variable_flags" /></para>
    </summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_FLAGS::D3D_SVF_USERPACKED">
    <summary>Indicates that the registers assigned to this shader variable were explicitly declared in shader code (instead of automatically assigned by the compiler).</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_FLAGS::D3D_SVF_USED">
    <summary>Indicates that this variable is used by this shader. This value confirms that a particular shader variable (which can be common to many different shaders) is indeed used by a particular shader.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_FLAGS::D3D_SVF_INTERFACE_POINTER">
    <summary>Indicates that this variable is an interface.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_FLAGS::D3D_SVF_INTERFACE_PARAMETER">
    <summary>Indicates that this variable is a parameter of an interface.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_FLAGS::D3D10_SVF_USERPACKED">
    <summary>Indicates that the registers assigned to this shader variable were explicitly declared in shader code (instead of automatically assigned by the compiler).</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_FLAGS::D3D10_SVF_USED">
    <summary>Indicates that this variable is used by this shader. This value confirms that a particular shader variable (which can be common to many different shaders) is indeed used by a particular shader.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_FLAGS::D3D11_SVF_INTERFACE_POINTER">
    <summary>Indicates that this variable is an interface.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_FLAGS::D3D11_SVF_INTERFACE_PARAMETER">
    <summary>Indicates that this variable is a parameter of an interface.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_FLAGS::D3D_SVF_FORCE_DWORD">
    <summary>This value is not used by a programmer; it exists to force the enumeration to compile to 32 bits.</summary>
  </member>
  <member name="D3DCAPS9">
    <summary>
      <para>Represents the capabilities of the hardware exposed through the Direct3D object.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3d9caps/ns-d3d9caps-d3dcaps9" /></para>
    </summary>
  </member>
  <member name="D3DCAPS9::DeviceType">
    <summary>Member of the <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3ddevtype">D3DDEVTYPE</a> enumerated type, which identifies what type of resources are used for processing vertices.</summary>
  </member>
  <member name="D3DCAPS9::AdapterOrdinal">
    <summary>Adapter on which this Direct3D device was created. This ordinal is valid only to pass to methods of the <a href="https://docs.microsoft.com/windows/desktop/api/d3d9helper/nn-d3d9helper-idirect3d9">IDirect3D9</a> interface that created this Direct3D device. The <b>IDirect3D9</b> interface can always be retrieved by calling <a href="https://docs.microsoft.com/windows/desktop/api/d3d9/nf-d3d9-idirect3ddevice9-getdirect3d">GetDirect3D</a>.</summary>
  </member>
  <member name="D3DCAPS9::Caps">
    <summary>The following driver-specific capability.

<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DCAPS_READ_SCANLINE"></a><a id="d3dcaps_read_scanline"></a><dl>
<dt><b>D3DCAPS_READ_SCANLINE</b></dt>
</dl>
</td>
<td width="60%">
Display hardware is capable of returning the current scan line.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DCAPS_OVERLAY"></a><a id="d3dcaps_overlay"></a><dl>
<dt><b>D3DCAPS_OVERLAY</b></dt>
</dl>
</td>
<td width="60%">
The display driver supports an overlay DDI that allows for verification of overlay capabilities. For more information about the overlay DDI, see <a href="https://www.microsoft.com/?ref=go">Overlay DDI</a>.


<table>
<tr>
<td>
Differences between Direct3D 9 and Direct3D 9Ex:

This flag is available in Direct3D 9Ex only.

</td>
</tr>
</table>
 



</td>
</tr>
</table></summary>
  </member>
  <member name="D3DCAPS9::Caps2">
    <summary>Driver-specific capabilities identified in <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dcaps2">D3DCAPS2</a>.</summary>
  </member>
  <member name="D3DCAPS9::Caps3">
    <summary>Driver-specific capabilities identified in <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dcaps3">D3DCAPS3</a>.</summary>
  </member>
  <member name="D3DCAPS9::PresentationIntervals">
    <summary>
Bit mask of values representing what presentation swap intervals are available.



<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DPRESENT_INTERVAL_IMMEDIATE"></a><a id="d3dpresent_interval_immediate"></a><dl>
<dt><b>D3DPRESENT_INTERVAL_IMMEDIATE</b></dt>
</dl>
</td>
<td width="60%">
The driver supports an immediate presentation swap interval.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRESENT_INTERVAL_ONE"></a><a id="d3dpresent_interval_one"></a><dl>
<dt><b>D3DPRESENT_INTERVAL_ONE</b></dt>
</dl>
</td>
<td width="60%">
The driver supports a presentation swap interval of every screen refresh.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRESENT_INTERVAL_TWO"></a><a id="d3dpresent_interval_two"></a><dl>
<dt><b>D3DPRESENT_INTERVAL_TWO</b></dt>
</dl>
</td>
<td width="60%">
The driver supports a presentation swap interval of every second screen refresh.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRESENT_INTERVAL_THREE"></a><a id="d3dpresent_interval_three"></a><dl>
<dt><b>D3DPRESENT_INTERVAL_THREE</b></dt>
</dl>
</td>
<td width="60%">
The driver supports a presentation swap interval of every third screen refresh.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRESENT_INTERVAL_FOUR"></a><a id="d3dpresent_interval_four"></a><dl>
<dt><b>D3DPRESENT_INTERVAL_FOUR</b></dt>
</dl>
</td>
<td width="60%">
The driver supports a presentation swap interval of every fourth screen refresh.

</td>
</tr>
</table></summary>
  </member>
  <member name="D3DCAPS9::CursorCaps">
    <summary>
Bit mask indicating what hardware support is available for cursors. Direct3D 9 does not define alpha-blending cursor capabilities.



<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DCURSORCAPS_COLOR"></a><a id="d3dcursorcaps_color"></a><dl>
<dt><b>D3DCURSORCAPS_COLOR</b></dt>
</dl>
</td>
<td width="60%">
A full-color cursor is supported in hardware. Specifically, this flag indicates that the driver supports at least a hardware color cursor in high-resolution modes (with scan lines greater than or equal to 400).

</td>
</tr>
<tr>
<td width="40%"><a id="D3DCURSORCAPS_LOWRES"></a><a id="d3dcursorcaps_lowres"></a><dl>
<dt><b>D3DCURSORCAPS_LOWRES</b></dt>
</dl>
</td>
<td width="60%">
A full-color cursor is supported in hardware. Specifically, this flag indicates that the driver supports a hardware color cursor in both high-resolution and low-resolution modes (with scan lines less than 400).

</td>
</tr>
</table></summary>
  </member>
  <member name="D3DCAPS9::DevCaps">
    <summary>
Flags identifying the capabilities of the device.



<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_CANBLTSYSTONONLOCAL"></a><a id="d3ddevcaps_canbltsystononlocal"></a><dl>
<dt><b>D3DDEVCAPS_CANBLTSYSTONONLOCAL</b></dt>
</dl>
</td>
<td width="60%">
Device supports blits from system-memory textures to nonlocal video-memory textures.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_CANRENDERAFTERFLIP"></a><a id="d3ddevcaps_canrenderafterflip"></a><dl>
<dt><b>D3DDEVCAPS_CANRENDERAFTERFLIP</b></dt>
</dl>
</td>
<td width="60%">
Device can queue rendering commands after a page flip. Applications do not change their behavior if this flag is set; this capability means that the device is relatively fast.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_DRAWPRIMITIVES2"></a><a id="d3ddevcaps_drawprimitives2"></a><dl>
<dt><b>D3DDEVCAPS_DRAWPRIMITIVES2</b></dt>
</dl>
</td>
<td width="60%">
Device can support at least a DirectX 5-compliant driver.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_DRAWPRIMITIVES2EX"></a><a id="d3ddevcaps_drawprimitives2ex"></a><dl>
<dt><b>D3DDEVCAPS_DRAWPRIMITIVES2EX</b></dt>
</dl>
</td>
<td width="60%">
Device can support at least a DirectX 7-compliant driver.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_DRAWPRIMTLVERTEX"></a><a id="d3ddevcaps_drawprimtlvertex"></a><dl>
<dt><b>D3DDEVCAPS_DRAWPRIMTLVERTEX</b></dt>
</dl>
</td>
<td width="60%">
Device exports an <a href="https://docs.microsoft.com/windows/desktop/api/d3d9/nf-d3d9-idirect3ddevice9-drawindexedprimitive">IDirect3DDevice9::DrawPrimitive</a>-aware hal.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_EXECUTESYSTEMMEMORY"></a><a id="d3ddevcaps_executesystemmemory"></a><dl>
<dt><b>D3DDEVCAPS_EXECUTESYSTEMMEMORY</b></dt>
</dl>
</td>
<td width="60%">
Device can use execute buffers from system memory.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_EXECUTEVIDEOMEMORY"></a><a id="d3ddevcaps_executevideomemory"></a><dl>
<dt><b>D3DDEVCAPS_EXECUTEVIDEOMEMORY</b></dt>
</dl>
</td>
<td width="60%">
Device can use execute buffers from video memory.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_HWRASTERIZATION"></a><a id="d3ddevcaps_hwrasterization"></a><dl>
<dt><b>D3DDEVCAPS_HWRASTERIZATION</b></dt>
</dl>
</td>
<td width="60%">
Device has hardware acceleration for scene rasterization.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_HWTRANSFORMANDLIGHT"></a><a id="d3ddevcaps_hwtransformandlight"></a><dl>
<dt><b>D3DDEVCAPS_HWTRANSFORMANDLIGHT</b></dt>
</dl>
</td>
<td width="60%">
Device can support transformation and lighting in hardware.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_NPATCHES"></a><a id="d3ddevcaps_npatches"></a><dl>
<dt><b>D3DDEVCAPS_NPATCHES</b></dt>
</dl>
</td>
<td width="60%">
Device supports N patches.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_PUREDEVICE"></a><a id="d3ddevcaps_puredevice"></a><dl>
<dt><b>D3DDEVCAPS_PUREDEVICE</b></dt>
</dl>
</td>
<td width="60%">
Device can support rasterization, transform, lighting, and shading in hardware.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_QUINTICRTPATCHES"></a><a id="d3ddevcaps_quinticrtpatches"></a><dl>
<dt><b>D3DDEVCAPS_QUINTICRTPATCHES</b></dt>
</dl>
</td>
<td width="60%">
Device supports quintic Bézier curves and B-splines.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_RTPATCHES"></a><a id="d3ddevcaps_rtpatches"></a><dl>
<dt><b>D3DDEVCAPS_RTPATCHES</b></dt>
</dl>
</td>
<td width="60%">
Device supports rectangular and triangular patches.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_RTPATCHHANDLEZERO"></a><a id="d3ddevcaps_rtpatchhandlezero"></a><dl>
<dt><b>D3DDEVCAPS_RTPATCHHANDLEZERO</b></dt>
</dl>
</td>
<td width="60%">
When this device capability is set, the hardware architecture does not require caching of any information, and uncached patches (handle zero) will be drawn as efficiently as cached ones. Note that setting D3DDEVCAPS_RTPATCHHANDLEZERO does not mean that a patch with handle zero can be drawn. A handle-zero patch can always be drawn whether this cap is set or not.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_SEPARATETEXTUREMEMORIES"></a><a id="d3ddevcaps_separatetexturememories"></a><dl>
<dt><b>D3DDEVCAPS_SEPARATETEXTUREMEMORIES</b></dt>
</dl>
</td>
<td width="60%">
Device is texturing from separate memory pools.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_TEXTURENONLOCALVIDMEM"></a><a id="d3ddevcaps_texturenonlocalvidmem"></a><dl>
<dt><b>D3DDEVCAPS_TEXTURENONLOCALVIDMEM</b></dt>
</dl>
</td>
<td width="60%">
Device can retrieve textures from non-local video memory.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_TEXTURESYSTEMMEMORY"></a><a id="d3ddevcaps_texturesystemmemory"></a><dl>
<dt><b>D3DDEVCAPS_TEXTURESYSTEMMEMORY</b></dt>
</dl>
</td>
<td width="60%">
Device can retrieve textures from system memory.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_TEXTUREVIDEOMEMORY"></a><a id="d3ddevcaps_texturevideomemory"></a><dl>
<dt><b>D3DDEVCAPS_TEXTUREVIDEOMEMORY</b></dt>
</dl>
</td>
<td width="60%">
Device can retrieve textures from device memory.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_TLVERTEXSYSTEMMEMORY"></a><a id="d3ddevcaps_tlvertexsystemmemory"></a><dl>
<dt><b>D3DDEVCAPS_TLVERTEXSYSTEMMEMORY</b></dt>
</dl>
</td>
<td width="60%">
Device can use buffers from system memory for transformed and lit vertices.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DDEVCAPS_TLVERTEXVIDEOMEMORY"></a><a id="d3ddevcaps_tlvertexvideomemory"></a><dl>
<dt><b>D3DDEVCAPS_TLVERTEXVIDEOMEMORY</b></dt>
</dl>
</td>
<td width="60%">
Device can use buffers from video memory for transformed and lit vertices.

</td>
</tr>
</table></summary>
  </member>
  <member name="D3DCAPS9::PrimitiveMiscCaps">
    <summary>Miscellaneous driver primitive capabilities. See <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dpmisccaps">D3DPMISCCAPS</a>.</summary>
  </member>
  <member name="D3DCAPS9::RasterCaps">
    <summary>
Information on raster-drawing capabilities. This member can be one or more of the following flags.



<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_ANISOTROPY"></a><a id="d3dprastercaps_anisotropy"></a><dl>
<dt><b>D3DPRASTERCAPS_ANISOTROPY</b></dt>
</dl>
</td>
<td width="60%">
Device supports anisotropic filtering.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_COLORPERSPECTIVE"></a><a id="d3dprastercaps_colorperspective"></a><dl>
<dt><b>D3DPRASTERCAPS_COLORPERSPECTIVE</b></dt>
</dl>
</td>
<td width="60%">
Device iterates colors perspective correctly.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_DITHER"></a><a id="d3dprastercaps_dither"></a><dl>
<dt><b>D3DPRASTERCAPS_DITHER</b></dt>
</dl>
</td>
<td width="60%">
Device can dither to improve color resolution.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_DEPTHBIAS"></a><a id="d3dprastercaps_depthbias"></a><dl>
<dt><b>D3DPRASTERCAPS_DEPTHBIAS</b></dt>
</dl>
</td>
<td width="60%">
Device supports legacy depth bias. For true depth bias, see D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_FOGRANGE"></a><a id="d3dprastercaps_fogrange"></a><dl>
<dt><b>D3DPRASTERCAPS_FOGRANGE</b></dt>
</dl>
</td>
<td width="60%">
Device supports range-based fog. In range-based fog, the distance of an object from the viewer is used to compute fog effects, not the depth of the object (that is, the z-coordinate) in the scene.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_FOGTABLE"></a><a id="d3dprastercaps_fogtable"></a><dl>
<dt><b>D3DPRASTERCAPS_FOGTABLE</b></dt>
</dl>
</td>
<td width="60%">
Device calculates the fog value by referring to a lookup table containing fog values that are indexed to the depth of a given pixel.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_FOGVERTEX"></a><a id="d3dprastercaps_fogvertex"></a><dl>
<dt><b>D3DPRASTERCAPS_FOGVERTEX</b></dt>
</dl>
</td>
<td width="60%">
Device calculates the fog value during the lighting operation and interpolates the fog value during rasterization.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_MIPMAPLODBIAS"></a><a id="d3dprastercaps_mipmaplodbias"></a><dl>
<dt><b>D3DPRASTERCAPS_MIPMAPLODBIAS</b></dt>
</dl>
</td>
<td width="60%">
Device supports level-of-detail bias adjustments. These bias adjustments enable an application to make a mipmap appear crisper or less sharp than it normally would. For more information about level-of-detail bias in mipmaps, see D3DSAMP_MIPMAPLODBIAS.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_MULTISAMPLE_TOGGLE"></a><a id="d3dprastercaps_multisample_toggle"></a><dl>
<dt><b>D3DPRASTERCAPS_MULTISAMPLE_TOGGLE</b></dt>
</dl>
</td>
<td width="60%">
Device supports toggling multisampling on and off between <a href="https://docs.microsoft.com/windows/desktop/api/d3d9/nf-d3d9-idirect3ddevice9-beginscene">IDirect3DDevice9::BeginScene</a> and <a href="https://docs.microsoft.com/windows/desktop/api/d3d9/nf-d3d9-idirect3ddevice9-endscene">IDirect3DDevice9::EndScene</a> (using D3DRS_MULTISAMPLEANTIALIAS).

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_SCISSORTEST"></a><a id="d3dprastercaps_scissortest"></a><dl>
<dt><b>D3DPRASTERCAPS_SCISSORTEST</b></dt>
</dl>
</td>
<td width="60%">
Device supports scissor test. See <a href="https://docs.microsoft.com/windows/desktop/direct3d9/scissor-test">Scissor Test (Direct3D 9)</a>.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS"></a><a id="d3dprastercaps_slopescaledepthbias"></a><dl>
<dt><b>D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS</b></dt>
</dl>
</td>
<td width="60%">
Device performs true slope-scale based depth bias. This is in contrast to the legacy style depth bias.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_WBUFFER"></a><a id="d3dprastercaps_wbuffer"></a><dl>
<dt><b>D3DPRASTERCAPS_WBUFFER</b></dt>
</dl>
</td>
<td width="60%">
Device supports depth buffering using w.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_WFOG"></a><a id="d3dprastercaps_wfog"></a><dl>
<dt><b>D3DPRASTERCAPS_WFOG</b></dt>
</dl>
</td>
<td width="60%">
Device supports w-based fog. W-based fog is used when a perspective projection matrix is specified, but affine projections still use z-based fog. The system considers a projection matrix that contains a nonzero value in the [3][4] element to be a perspective projection matrix.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_ZBUFFERLESSHSR"></a><a id="d3dprastercaps_zbufferlesshsr"></a><dl>
<dt><b>D3DPRASTERCAPS_ZBUFFERLESSHSR</b></dt>
</dl>
</td>
<td width="60%">
Device can perform hidden-surface removal (HSR) without requiring the application to sort polygons and without requiring the allocation of a depth-buffer. This leaves more video memory for textures. The method used to perform HSR is hardware-dependent and is transparent to the application.

Z-bufferless HSR is performed if no depth-buffer surface is associated with the rendering-target surface and the depth-buffer comparison test is enabled (that is, when the state value associated with the <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3drenderstatetype">D3DRS_ZENABLE</a> enumeration constant is set to <b>TRUE</b>).

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_ZFOG"></a><a id="d3dprastercaps_zfog"></a><dl>
<dt><b>D3DPRASTERCAPS_ZFOG</b></dt>
</dl>
</td>
<td width="60%">
Device supports z-based fog.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPRASTERCAPS_ZTEST"></a><a id="d3dprastercaps_ztest"></a><dl>
<dt><b>D3DPRASTERCAPS_ZTEST</b></dt>
</dl>
</td>
<td width="60%">
Device can perform z-test operations. This effectively renders a primitive and indicates whether any z pixels have been rendered.

</td>
</tr>
</table></summary>
  </member>
  <member name="D3DCAPS9::ZCmpCaps">
    <summary>
Z-buffer comparison capabilities. This member can be one or more of the following flags.



<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DPCMPCAPS_ALWAYS"></a><a id="d3dpcmpcaps_always"></a><dl>
<dt><b>D3DPCMPCAPS_ALWAYS</b></dt>
</dl>
</td>
<td width="60%">
Always pass the z-test.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPCMPCAPS_EQUAL"></a><a id="d3dpcmpcaps_equal"></a><dl>
<dt><b>D3DPCMPCAPS_EQUAL</b></dt>
</dl>
</td>
<td width="60%">
Pass the z-test if the new z equals the current z.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPCMPCAPS_GREATER"></a><a id="d3dpcmpcaps_greater"></a><dl>
<dt><b>D3DPCMPCAPS_GREATER</b></dt>
</dl>
</td>
<td width="60%">
Pass the z-test if the new z is greater than the current z.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPCMPCAPS_GREATEREQUAL"></a><a id="d3dpcmpcaps_greaterequal"></a><dl>
<dt><b>D3DPCMPCAPS_GREATEREQUAL</b></dt>
</dl>
</td>
<td width="60%">
Pass the z-test if the new z is greater than or equal to the current z.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPCMPCAPS_LESS"></a><a id="d3dpcmpcaps_less"></a><dl>
<dt><b>D3DPCMPCAPS_LESS</b></dt>
</dl>
</td>
<td width="60%">
Pass the z-test if the new z is less than the current z.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPCMPCAPS_LESSEQUAL"></a><a id="d3dpcmpcaps_lessequal"></a><dl>
<dt><b>D3DPCMPCAPS_LESSEQUAL</b></dt>
</dl>
</td>
<td width="60%">
Pass the z-test if the new z is less than or equal to the current z.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPCMPCAPS_NEVER"></a><a id="d3dpcmpcaps_never"></a><dl>
<dt><b>D3DPCMPCAPS_NEVER</b></dt>
</dl>
</td>
<td width="60%">
Always fail the z-test.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPCMPCAPS_NOTEQUAL"></a><a id="d3dpcmpcaps_notequal"></a><dl>
<dt><b>D3DPCMPCAPS_NOTEQUAL</b></dt>
</dl>
</td>
<td width="60%">
Pass the z-test if the new z does not equal the current z.

</td>
</tr>
</table></summary>
  </member>
  <member name="D3DCAPS9::SrcBlendCaps">
    <summary>
Source-blending capabilities. This member can be one or more of the following flags. (The RGBA values of the source and destination are indicated by the subscripts s and d.)



<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_BLENDFACTOR"></a><a id="d3dpblendcaps_blendfactor"></a><dl>
<dt><b>D3DPBLENDCAPS_BLENDFACTOR</b></dt>
</dl>
</td>
<td width="60%">
The driver supports both D3DBLEND_BLENDFACTOR and D3DBLEND_INVBLENDFACTOR. See <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dblend">D3DBLEND</a>.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_BOTHINVSRCALPHA"></a><a id="d3dpblendcaps_bothinvsrcalpha"></a><dl>
<dt><b>D3DPBLENDCAPS_BOTHINVSRCALPHA</b></dt>
</dl>
</td>
<td width="60%">
Source blend factor is (1 - Aₛ, 1 - Aₛ, 1 - Aₛ, 1 - Aₛ) and destination blend factor is (Aₛ, Aₛ, Aₛ, Aₛ); the destination blend selection is overridden.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_BOTHSRCALPHA"></a><a id="d3dpblendcaps_bothsrcalpha"></a><dl>
<dt><b>D3DPBLENDCAPS_BOTHSRCALPHA</b></dt>
</dl>
</td>
<td width="60%">
The driver supports the D3DBLEND_BOTHSRCALPHA blend mode. (This blend mode is obsolete. For more information, see D3DBLEND.)

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_DESTALPHA"></a><a id="d3dpblendcaps_destalpha"></a><dl>
<dt><b>D3DPBLENDCAPS_DESTALPHA</b></dt>
</dl>
</td>
<td width="60%">
Blend factor is (A<sub>d</sub>, A<sub>d</sub>, A<sub>d</sub>, A<sub>d</sub>).

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_DESTCOLOR"></a><a id="d3dpblendcaps_destcolor"></a><dl>
<dt><b>D3DPBLENDCAPS_DESTCOLOR</b></dt>
</dl>
</td>
<td width="60%">
Blend factor is (R<sub>d</sub>, G<sub>d</sub>, B<sub>d</sub>, A<sub>d</sub>).

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_INVDESTALPHA"></a><a id="d3dpblendcaps_invdestalpha"></a><dl>
<dt><b>D3DPBLENDCAPS_INVDESTALPHA</b></dt>
</dl>
</td>
<td width="60%">
Blend factor is (1 - A<sub>d</sub>, 1 - A<sub>d</sub>, 1 - A<sub>d</sub>, 1 - A<sub>d</sub>).

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_INVDESTCOLOR"></a><a id="d3dpblendcaps_invdestcolor"></a><dl>
<dt><b>D3DPBLENDCAPS_INVDESTCOLOR</b></dt>
</dl>
</td>
<td width="60%">
Blend factor is (1 - R<sub>d</sub>, 1 - G<sub>d</sub>, 1 - B<sub>d</sub>, 1 - A<sub>d</sub>).

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_INVSRCALPHA"></a><a id="d3dpblendcaps_invsrcalpha"></a><dl>
<dt><b>D3DPBLENDCAPS_INVSRCALPHA</b></dt>
</dl>
</td>
<td width="60%">
Blend factor is (1 - Aₛ, 1 - Aₛ, 1 - Aₛ, 1 - Aₛ).

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_INVSRCCOLOR"></a><a id="d3dpblendcaps_invsrccolor"></a><dl>
<dt><b>D3DPBLENDCAPS_INVSRCCOLOR</b></dt>
</dl>
</td>
<td width="60%">
Blend factor is (1 - Rₛ, 1 - Gₛ, 1 - Bₛ, 1 - Aₛ).

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_INVSRCCOLOR2"></a><a id="d3dpblendcaps_invsrccolor2"></a><dl>
<dt><b>D3DPBLENDCAPS_INVSRCCOLOR2</b></dt>
</dl>
</td>
<td width="60%">
Blend factor is (1 - PSOutColor[1]<sub>r</sub>, 1 - PSOutColor[1]<sub>g</sub>, 1 - PSOutColor[1]<sub>b</sub>, not used)). See <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dblend">Render Target Blending</a>.


<table>
<tr>
<td>
Differences between Direct3D 9 and Direct3D 9Ex:

This flag is available in Direct3D 9Ex only.

</td>
</tr>
</table>
 



</td>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_ONE"></a><a id="d3dpblendcaps_one"></a><dl>
<dt><b>D3DPBLENDCAPS_ONE</b></dt>
</dl>
</td>
<td width="60%">
Blend factor is (1, 1, 1, 1).

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_SRCALPHA"></a><a id="d3dpblendcaps_srcalpha"></a><dl>
<dt><b>D3DPBLENDCAPS_SRCALPHA</b></dt>
</dl>
</td>
<td width="60%">
Blend factor is (Aₛ, Aₛ, Aₛ, Aₛ).

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_SRCALPHASAT"></a><a id="d3dpblendcaps_srcalphasat"></a><dl>
<dt><b>D3DPBLENDCAPS_SRCALPHASAT</b></dt>
</dl>
</td>
<td width="60%">
Blend factor is (f, f, f, 1); f = min(Aₛ, 1 - A<sub>d</sub>).

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_SRCCOLOR"></a><a id="d3dpblendcaps_srccolor"></a><dl>
<dt><b>D3DPBLENDCAPS_SRCCOLOR</b></dt>
</dl>
</td>
<td width="60%">
Blend factor is (Rₛ, Gₛ, Bₛ, Aₛ).

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_SRCCOLOR2"></a><a id="d3dpblendcaps_srccolor2"></a><dl>
<dt><b>D3DPBLENDCAPS_SRCCOLOR2</b></dt>
</dl>
</td>
<td width="60%">
Blend factor is (PSOutColor[1]<sub>r</sub>, PSOutColor[1]<sub>g</sub>, PSOutColor[1]<sub>b</sub>, not used). See <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dblend">Render Target Blending</a>.


<table>
<tr>
<td>
Differences between Direct3D 9 and Direct3D 9Ex:

This flag is available in Direct3D 9Ex only.

</td>
</tr>
</table>
 



</td>
</tr>
<tr>
<td width="40%"><a id="D3DPBLENDCAPS_ZERO"></a><a id="d3dpblendcaps_zero"></a><dl>
<dt><b>D3DPBLENDCAPS_ZERO</b></dt>
</dl>
</td>
<td width="60%">
Blend factor is (0, 0, 0, 0).

</td>
</tr>
</table></summary>
  </member>
  <member name="D3DCAPS9::DestBlendCaps">
    <summary>Destination-blending capabilities. This member can be the same capabilities that are defined for the SrcBlendCaps member.</summary>
  </member>
  <member name="D3DCAPS9::AlphaCmpCaps">
    <summary>Alpha-test comparison capabilities. This member can include the same capability flags defined for the ZCmpCaps member. If this member contains only the D3DPCMPCAPS_ALWAYS capability or only the D3DPCMPCAPS_NEVER capability, the driver does not support alpha tests. Otherwise, the flags identify the individual comparisons that are supported for alpha testing.</summary>
  </member>
  <member name="D3DCAPS9::ShadeCaps">
    <summary>Shading operations capabilities. It is assumed, in general, that if a device supports a given command at all, it supports the D3DSHADE_FLAT mode (as specified in the <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dshademode">D3DSHADEMODE</a> enumerated type). This flag specifies whether the driver can also support Gouraud shading and whether alpha color components are supported. When alpha components are not supported, the alpha value of colors generated is implicitly 255. This is the maximum possible alpha (that is, the alpha component is at full intensity). 

The color, specular highlights, fog, and alpha interpolants of a triangle each have capability flags that an application can use to find out how they are implemented by the device driver.


This member can be one or more of the following flags.



<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DPSHADECAPS_ALPHAGOURAUDBLEND"></a><a id="d3dpshadecaps_alphagouraudblend"></a><dl>
<dt><b>D3DPSHADECAPS_ALPHAGOURAUDBLEND</b></dt>
</dl>
</td>
<td width="60%">
Device can support an alpha component for Gouraud-blended transparency (the D3DSHADE_GOURAUD state for the D3DSHADEMODE enumerated type). In this mode, the alpha color component of a primitive is provided at vertices and interpolated across a face along with the other color components.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPSHADECAPS_COLORGOURAUDRGB"></a><a id="d3dpshadecaps_colorgouraudrgb"></a><dl>
<dt><b>D3DPSHADECAPS_COLORGOURAUDRGB</b></dt>
</dl>
</td>
<td width="60%">
Device can support colored Gouraud shading. In this mode, the per-vertex color components (red, green, and blue) are interpolated across a triangle face.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPSHADECAPS_FOGGOURAUD"></a><a id="d3dpshadecaps_foggouraud"></a><dl>
<dt><b>D3DPSHADECAPS_FOGGOURAUD</b></dt>
</dl>
</td>
<td width="60%">
Device can support fog in the Gouraud shading mode.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPSHADECAPS_SPECULARGOURAUDRGB"></a><a id="d3dpshadecaps_speculargouraudrgb"></a><dl>
<dt><b>D3DPSHADECAPS_SPECULARGOURAUDRGB</b></dt>
</dl>
</td>
<td width="60%">
Device supports Gouraud shading of specular highlights.

</td>
</tr>
</table></summary>
  </member>
  <member name="D3DCAPS9::TextureCaps">
    <summary>
Miscellaneous texture-mapping capabilities. This member can be one or more of the following flags.



<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_ALPHA"></a><a id="d3dptexturecaps_alpha"></a><dl>
<dt><b>D3DPTEXTURECAPS_ALPHA</b></dt>
</dl>
</td>
<td width="60%">
Alpha in texture pixels is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_ALPHAPALETTE"></a><a id="d3dptexturecaps_alphapalette"></a><dl>
<dt><b>D3DPTEXTURECAPS_ALPHAPALETTE</b></dt>
</dl>
</td>
<td width="60%">
Device can draw alpha from texture palettes.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_CUBEMAP"></a><a id="d3dptexturecaps_cubemap"></a><dl>
<dt><b>D3DPTEXTURECAPS_CUBEMAP</b></dt>
</dl>
</td>
<td width="60%">
Supports cube textures.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_CUBEMAP_POW2"></a><a id="d3dptexturecaps_cubemap_pow2"></a><dl>
<dt><b>D3DPTEXTURECAPS_CUBEMAP_POW2</b></dt>
</dl>
</td>
<td width="60%">
Device requires that cube texture maps have dimensions specified as powers of two.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_MIPCUBEMAP"></a><a id="d3dptexturecaps_mipcubemap"></a><dl>
<dt><b>D3DPTEXTURECAPS_MIPCUBEMAP</b></dt>
</dl>
</td>
<td width="60%">
Device supports mipmapped cube textures.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_MIPMAP"></a><a id="d3dptexturecaps_mipmap"></a><dl>
<dt><b>D3DPTEXTURECAPS_MIPMAP</b></dt>
</dl>
</td>
<td width="60%">
Device supports mipmapped textures.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_MIPVOLUMEMAP"></a><a id="d3dptexturecaps_mipvolumemap"></a><dl>
<dt><b>D3DPTEXTURECAPS_MIPVOLUMEMAP</b></dt>
</dl>
</td>
<td width="60%">
Device supports mipmapped volume textures.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_NONPOW2CONDITIONAL"></a><a id="d3dptexturecaps_nonpow2conditional"></a><dl>
<dt><b>D3DPTEXTURECAPS_NONPOW2CONDITIONAL</b></dt>
</dl>
</td>
<td width="60%">
D3DPTEXTURECAPS_POW2 is also set, conditionally supports the use of 2D textures with dimensions that are not powers of two. A device that exposes this capability can use such a texture if all of the following requirements are met.


<ul>
<li>The texture addressing mode for the texture stage is set to D3DTADDRESS_CLAMP.</li>
<li>Texture wrapping for the texture stage is disabled (<a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3drenderstatetype">D3DRS_WRAP</a> n set to 0).</li>
<li>Mipmapping is not in use (use magnification filter only).</li>
<li>Texture formats must not be <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dformat">D3DFMT_DXT1</a> through D3DFMT_DXT5.</li>
</ul>


If this flag is not set, and D3DPTEXTURECAPS_POW2 is also not set, then unconditional support is provided for 2D textures with dimensions that are not powers of two.

A texture that is not a power of two cannot be set at a stage that will be read based on a shader computation (such as the <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/bem---ps">bem - ps</a> and <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/texm3x3---ps">texm3x3 - ps</a> instructions in pixel shaders versions 1_0 to 1_3). For example, these textures can be used to store bumps that will be fed into texture reads, but not the environment maps that are used in <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/texbem---ps">texbem - ps</a>, <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/texbeml---ps">texbeml - ps</a>, and <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/texm3x3spec---ps">texm3x3spec - ps</a>. This means that a texture with dimensions that are not powers of two cannot be addressed or sampled using texture coordinates computed within the shader. This type of operation is known as a dependent read and cannot be performed on these types of textures.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_NOPROJECTEDBUMPENV"></a><a id="d3dptexturecaps_noprojectedbumpenv"></a><dl>
<dt><b>D3DPTEXTURECAPS_NOPROJECTEDBUMPENV</b></dt>
</dl>
</td>
<td width="60%">
Device does not support a projected bump-environment loopkup operation in programmable and fixed function shaders.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_PERSPECTIVE"></a><a id="d3dptexturecaps_perspective"></a><dl>
<dt><b>D3DPTEXTURECAPS_PERSPECTIVE</b></dt>
</dl>
</td>
<td width="60%">
Perspective correction texturing is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_POW2"></a><a id="d3dptexturecaps_pow2"></a><dl>
<dt><b>D3DPTEXTURECAPS_POW2</b></dt>
</dl>
</td>
<td width="60%">
If D3DPTEXTURECAPS_NONPOW2CONDITIONAL is not set, all textures must have widths and heights specified as powers of two. This requirement does not apply to either cube textures or volume textures.

If D3DPTEXTURECAPS_NONPOW2CONDITIONAL is also set, conditionally supports the use of 2D textures with dimensions that are not powers of two. See D3DPTEXTURECAPS_NONPOW2CONDITIONAL description.

If this flag is not set, and D3DPTEXTURECAPS_NONPOW2CONDITIONAL is also not set, then unconditional support is provided for 2D textures with dimensions that are not powers of two.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_PROJECTED"></a><a id="d3dptexturecaps_projected"></a><dl>
<dt><b>D3DPTEXTURECAPS_PROJECTED</b></dt>
</dl>
</td>
<td width="60%">
Supports the D3DTTFF_PROJECTED texture transformation flag. When applied, the device divides transformed texture coordinates by the last texture coordinate. If this capability is present, then the projective divide occurs per pixel. If this capability is not present, but the projective divide needs to occur anyway, then it is performed on a per-vertex basis by the Direct3D runtime.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_SQUAREONLY"></a><a id="d3dptexturecaps_squareonly"></a><dl>
<dt><b>D3DPTEXTURECAPS_SQUAREONLY</b></dt>
</dl>
</td>
<td width="60%">
All textures must be square.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE"></a><a id="d3dptexturecaps_texrepeatnotscaledbysize"></a><dl>
<dt><b>D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE</b></dt>
</dl>
</td>
<td width="60%">
Texture indices are not scaled by the texture size prior to interpolation.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_VOLUMEMAP"></a><a id="d3dptexturecaps_volumemap"></a><dl>
<dt><b>D3DPTEXTURECAPS_VOLUMEMAP</b></dt>
</dl>
</td>
<td width="60%">
Device supports volume textures.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTEXTURECAPS_VOLUMEMAP_POW2"></a><a id="d3dptexturecaps_volumemap_pow2"></a><dl>
<dt><b>D3DPTEXTURECAPS_VOLUMEMAP_POW2</b></dt>
</dl>
</td>
<td width="60%">
Device requires that volume texture maps have dimensions specified as powers of two.

</td>
</tr>
</table></summary>
  </member>
  <member name="D3DCAPS9::TextureFilterCaps">
    <summary>Texture-filtering capabilities for a texture. Per-stage filtering capabilities reflect which filtering modes are supported for texture stages when performing multiple-texture blending. This member can be any combination of the per-stage texture-filtering flags defined in <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dptfiltercaps">D3DPTFILTERCAPS</a>.</summary>
  </member>
  <member name="D3DCAPS9::CubeTextureFilterCaps">
    <summary>Texture-filtering capabilities for a cube texture. Per-stage filtering capabilities reflect which filtering modes are supported for texture stages when performing multiple-texture blending. This member can be any combination of the per-stage texture-filtering flags defined in <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dptfiltercaps">D3DPTFILTERCAPS</a>.</summary>
  </member>
  <member name="D3DCAPS9::VolumeTextureFilterCaps">
    <summary>Texture-filtering capabilities for a volume texture. Per-stage filtering capabilities reflect which filtering modes are supported for texture stages when performing multiple-texture blending. This member can be any combination of the per-stage texture-filtering flags defined in <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dptfiltercaps">D3DPTFILTERCAPS</a>.</summary>
  </member>
  <member name="D3DCAPS9::TextureAddressCaps">
    <summary>
Texture-addressing capabilities for texture objects. This member can be one or more of the following flags.



<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DPTADDRESSCAPS_BORDER"></a><a id="d3dptaddresscaps_border"></a><dl>
<dt><b>D3DPTADDRESSCAPS_BORDER</b></dt>
</dl>
</td>
<td width="60%">
Device supports setting coordinates outside the range [0.0, 1.0] to the border color, as specified by the D3DSAMP_BORDERCOLOR texture-stage state.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTADDRESSCAPS_CLAMP"></a><a id="d3dptaddresscaps_clamp"></a><dl>
<dt><b>D3DPTADDRESSCAPS_CLAMP</b></dt>
</dl>
</td>
<td width="60%">
Device can clamp textures to addresses.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTADDRESSCAPS_INDEPENDENTUV"></a><a id="d3dptaddresscaps_independentuv"></a><dl>
<dt><b>D3DPTADDRESSCAPS_INDEPENDENTUV</b></dt>
</dl>
</td>
<td width="60%">
Device can separate the texture-addressing modes of the u and v coordinates of the texture. This ability corresponds to the D3DSAMP_ADDRESSU and D3DSAMP_ADDRESSV render-state values.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTADDRESSCAPS_MIRROR"></a><a id="d3dptaddresscaps_mirror"></a><dl>
<dt><b>D3DPTADDRESSCAPS_MIRROR</b></dt>
</dl>
</td>
<td width="60%">
Device can mirror textures to addresses.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTADDRESSCAPS_MIRRORONCE"></a><a id="d3dptaddresscaps_mirroronce"></a><dl>
<dt><b>D3DPTADDRESSCAPS_MIRRORONCE</b></dt>
</dl>
</td>
<td width="60%">
Device can take the absolute value of the texture coordinate (thus, mirroring around 0) and then clamp to the maximum value.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DPTADDRESSCAPS_WRAP"></a><a id="d3dptaddresscaps_wrap"></a><dl>
<dt><b>D3DPTADDRESSCAPS_WRAP</b></dt>
</dl>
</td>
<td width="60%">
Device can wrap textures to addresses.

</td>
</tr>
</table></summary>
  </member>
  <member name="D3DCAPS9::VolumeTextureAddressCaps">
    <summary>Texture-addressing capabilities for a volume texture. This member can be one or more of the flags defined for the TextureAddressCaps member.</summary>
  </member>
  <member name="D3DCAPS9::LineCaps">
    <summary>
Defines the capabilities for line-drawing primitives.



<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DLINECAPS_ALPHACMP"></a><a id="d3dlinecaps_alphacmp"></a><dl>
<dt><b>D3DLINECAPS_ALPHACMP</b></dt>
</dl>
</td>
<td width="60%">
Supports alpha-test comparisons.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DLINECAPS_ANTIALIAS"></a><a id="d3dlinecaps_antialias"></a><dl>
<dt><b>D3DLINECAPS_ANTIALIAS</b></dt>
</dl>
</td>
<td width="60%">
Antialiased lines are supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DLINECAPS_BLEND"></a><a id="d3dlinecaps_blend"></a><dl>
<dt><b>D3DLINECAPS_BLEND</b></dt>
</dl>
</td>
<td width="60%">
Supports source-blending.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DLINECAPS_FOG"></a><a id="d3dlinecaps_fog"></a><dl>
<dt><b>D3DLINECAPS_FOG</b></dt>
</dl>
</td>
<td width="60%">
Supports fog.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DLINECAPS_TEXTURE"></a><a id="d3dlinecaps_texture"></a><dl>
<dt><b>D3DLINECAPS_TEXTURE</b></dt>
</dl>
</td>
<td width="60%">
Supports texture-mapping.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DLINECAPS_ZTEST"></a><a id="d3dlinecaps_ztest"></a><dl>
<dt><b>D3DLINECAPS_ZTEST</b></dt>
</dl>
</td>
<td width="60%">
Supports z-buffer comparisons.

</td>
</tr>
</table></summary>
  </member>
  <member name="D3DCAPS9::MaxTextureWidth">
    <summary>Maximum texture width for this device.</summary>
  </member>
  <member name="D3DCAPS9::MaxTextureHeight">
    <summary>Maximum texture height for this device.</summary>
  </member>
  <member name="D3DCAPS9::MaxVolumeExtent">
    <summary>Maximum value for any of the three dimensions (width, height, and depth) of a volume texture.</summary>
  </member>
  <member name="D3DCAPS9::MaxTextureRepeat">
    <summary>This number represents the maximum range of the integer bits of the post-normalized texture coordinates. A texture coordinate is stored as a 32-bit signed integer using 27 bits to store the integer part and 5 bits for the floating point fraction. The maximum integer index, 2²⁷, is used to determine the maximum texture coordinate, depending on how the hardware does texture-coordinate scaling.

Some hardware reports the cap D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE. For this case, the device defers scaling texture coordinates by the texture size until after interpolation and application of the texture address mode, so the number of times a texture can be wrapped is given by the integer value in MaxTextureRepeat.

Less desirably, on some hardware D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE is not set and the device scales the texture coordinates by the texture size (using the highest level of detail) prior to interpolation. This limits the number of times a texture can be wrapped to MaxTextureRepeat / texture size.

For example, assume that MaxTextureRepeat is equal to 32k and the size of the texture is 4k. If the hardware sets D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE, then the number of times a texture can be wrapped is equal to MaxTextureRepeat, which is 32k in this example. Otherwise, the number of times a texture can be wrapped is equal to MaxTextureRepeat divided by texture size, which is 32k/4k in this example.</summary>
  </member>
  <member name="D3DCAPS9::MaxTextureAspectRatio">
    <summary>Maximum texture aspect ratio supported by the hardware, typically a power of 2.</summary>
  </member>
  <member name="D3DCAPS9::MaxAnisotropy">
    <summary>Maximum valid value for the D3DSAMP_MAXANISOTROPY texture-stage state.</summary>
  </member>
  <member name="D3DCAPS9::MaxVertexW">
    <summary>Maximum W-based depth value that the device supports.</summary>
  </member>
  <member name="D3DCAPS9::GuardBandLeft">
    <summary>Screen-space coordinate of the guard-band clipping region. Coordinates inside this rectangle but outside the viewport rectangle are automatically clipped.</summary>
  </member>
  <member name="D3DCAPS9::GuardBandTop">
    <summary>Screen-space coordinate of the guard-band clipping region. Coordinates inside this rectangle but outside the viewport rectangle are automatically clipped.</summary>
  </member>
  <member name="D3DCAPS9::GuardBandRight">
    <summary>Screen-space coordinate of the guard-band clipping region. Coordinates inside this rectangle but outside the viewport rectangle are automatically clipped.</summary>
  </member>
  <member name="D3DCAPS9::GuardBandBottom">
    <summary>Screen-space coordinate of the guard-band clipping region. Coordinates inside this rectangle but outside the viewport rectangle are automatically clipped.</summary>
  </member>
  <member name="D3DCAPS9::ExtentsAdjust">
    <summary>Number of pixels to adjust the extents rectangle outward to accommodate antialiasing kernels.</summary>
  </member>
  <member name="D3DCAPS9::StencilCaps">
    <summary>Flags specifying supported stencil-buffer operations. Stencil operations are assumed to be valid for all three stencil-buffer operation render states (D3DRS_STENCILFAIL, D3DRS_STENCILPASS, and D3DRS_STENCILZFAIL).

For more information, see <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dstencilcaps">D3DSTENCILCAPS</a>.</summary>
  </member>
  <member name="D3DCAPS9::FVFCaps">
    <summary>
Flexible vertex format capabilities.



<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DFVFCAPS_DONOTSTRIPELEMENTS"></a><a id="d3dfvfcaps_donotstripelements"></a><dl>
<dt><b>D3DFVFCAPS_DONOTSTRIPELEMENTS</b></dt>
</dl>
</td>
<td width="60%">
It is preferable that vertex elements not be stripped. That is, if the vertex format contains elements that are not used with the current render states, there is no need to regenerate the vertices. If this capability flag is not present, stripping extraneous elements from the vertex format provides better performance.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DFVFCAPS_PSIZE"></a><a id="d3dfvfcaps_psize"></a><dl>
<dt><b>D3DFVFCAPS_PSIZE</b></dt>
</dl>
</td>
<td width="60%">
Point size is determined by either the render state or the vertex data. If an FVF is used, point size can come from point size data in the vertex declaration. Otherwise, point size is determined by the render state D3DRS_POINTSIZE. If the application provides point size in both (the render state and the vertex declaration), the vertex data overrides the render-state data.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DFVFCAPS_TEXCOORDCOUNTMASK"></a><a id="d3dfvfcaps_texcoordcountmask"></a><dl>
<dt><b>D3DFVFCAPS_TEXCOORDCOUNTMASK</b></dt>
</dl>
</td>
<td width="60%">
Masks the low WORD of FVFCaps. These bits, cast to the WORD data type, describe the total number of texture coordinate sets that the device can simultaneously use for multiple texture blending. (You can use up to eight texture coordinate sets for any vertex, but the device can blend using only the specified number of texture coordinate sets.)

</td>
</tr>
</table></summary>
  </member>
  <member name="D3DCAPS9::TextureOpCaps">
    <summary>
Combination of flags describing the texture operations supported by this device. The following flags are defined.



<table>
<tr>
<th>Value</th>
<th>Meaning</th>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_ADD"></a><a id="d3dtexopcaps_add"></a><dl>
<dt><b>D3DTEXOPCAPS_ADD</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_ADD texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_ADDSIGNED"></a><a id="d3dtexopcaps_addsigned"></a><dl>
<dt><b>D3DTEXOPCAPS_ADDSIGNED</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_ADDSIGNED texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_ADDSIGNED2X"></a><a id="d3dtexopcaps_addsigned2x"></a><dl>
<dt><b>D3DTEXOPCAPS_ADDSIGNED2X</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_ADDSIGNED2X texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_ADDSMOOTH"></a><a id="d3dtexopcaps_addsmooth"></a><dl>
<dt><b>D3DTEXOPCAPS_ADDSMOOTH</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_ADDSMOOTH texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_BLENDCURRENTALPHA"></a><a id="d3dtexopcaps_blendcurrentalpha"></a><dl>
<dt><b>D3DTEXOPCAPS_BLENDCURRENTALPHA</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_BLENDCURRENTALPHA texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_BLENDDIFFUSEALPHA"></a><a id="d3dtexopcaps_blenddiffusealpha"></a><dl>
<dt><b>D3DTEXOPCAPS_BLENDDIFFUSEALPHA</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_BLENDDIFFUSEALPHA texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_BLENDFACTORALPHA"></a><a id="d3dtexopcaps_blendfactoralpha"></a><dl>
<dt><b>D3DTEXOPCAPS_BLENDFACTORALPHA</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_BLENDFACTORALPHA texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_BLENDTEXTUREALPHA"></a><a id="d3dtexopcaps_blendtexturealpha"></a><dl>
<dt><b>D3DTEXOPCAPS_BLENDTEXTUREALPHA</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_BLENDTEXTUREALPHA texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_BLENDTEXTUREALPHAPM"></a><a id="d3dtexopcaps_blendtexturealphapm"></a><dl>
<dt><b>D3DTEXOPCAPS_BLENDTEXTUREALPHAPM</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_BLENDTEXTUREALPHAPM texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_BUMPENVMAP"></a><a id="d3dtexopcaps_bumpenvmap"></a><dl>
<dt><b>D3DTEXOPCAPS_BUMPENVMAP</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_BUMPENVMAP texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_BUMPENVMAPLUMINANCE"></a><a id="d3dtexopcaps_bumpenvmapluminance"></a><dl>
<dt><b>D3DTEXOPCAPS_BUMPENVMAPLUMINANCE</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_BUMPENVMAPLUMINANCE texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_DISABLE"></a><a id="d3dtexopcaps_disable"></a><dl>
<dt><b>D3DTEXOPCAPS_DISABLE</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_DISABLE texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_DOTPRODUCT3"></a><a id="d3dtexopcaps_dotproduct3"></a><dl>
<dt><b>D3DTEXOPCAPS_DOTPRODUCT3</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_DOTPRODUCT3 texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_LERP"></a><a id="d3dtexopcaps_lerp"></a><dl>
<dt><b>D3DTEXOPCAPS_LERP</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_LERP texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_MODULATE"></a><a id="d3dtexopcaps_modulate"></a><dl>
<dt><b>D3DTEXOPCAPS_MODULATE</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_MODULATE texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_MODULATE2X"></a><a id="d3dtexopcaps_modulate2x"></a><dl>
<dt><b>D3DTEXOPCAPS_MODULATE2X</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_MODULATE2X texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_MODULATE4X"></a><a id="d3dtexopcaps_modulate4x"></a><dl>
<dt><b>D3DTEXOPCAPS_MODULATE4X</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_MODULATE4X texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR"></a><a id="d3dtexopcaps_modulatealpha_addcolor"></a><dl>
<dt><b>D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_MODULATEALPHA_ADDCOLOR texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA"></a><a id="d3dtexopcaps_modulatecolor_addalpha"></a><dl>
<dt><b>D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_MODULATECOLOR_ADDALPHA texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR"></a><a id="d3dtexopcaps_modulateinvalpha_addcolor"></a><dl>
<dt><b>D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_MODULATEINVALPHA_ADDCOLOR texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA"></a><a id="d3dtexopcaps_modulateinvcolor_addalpha"></a><dl>
<dt><b>D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_MODULATEINVCOLOR_ADDALPHA texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_MULTIPLYADD"></a><a id="d3dtexopcaps_multiplyadd"></a><dl>
<dt><b>D3DTEXOPCAPS_MULTIPLYADD</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_MULTIPLYADD texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_PREMODULATE"></a><a id="d3dtexopcaps_premodulate"></a><dl>
<dt><b>D3DTEXOPCAPS_PREMODULATE</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_PREMODULATE texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_SELECTARG1"></a><a id="d3dtexopcaps_selectarg1"></a><dl>
<dt><b>D3DTEXOPCAPS_SELECTARG1</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_SELECTARG1 texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_SELECTARG2"></a><a id="d3dtexopcaps_selectarg2"></a><dl>
<dt><b>D3DTEXOPCAPS_SELECTARG2</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_SELECTARG2 texture-blending operation is supported.

</td>
</tr>
<tr>
<td width="40%"><a id="D3DTEXOPCAPS_SUBTRACT"></a><a id="d3dtexopcaps_subtract"></a><dl>
<dt><b>D3DTEXOPCAPS_SUBTRACT</b></dt>
</dl>
</td>
<td width="60%">
The D3DTOP_SUBTRACT texture-blending operation is supported.

</td>
</tr>
</table></summary>
  </member>
  <member name="D3DCAPS9::MaxTextureBlendStages">
    <summary>Maximum number of texture-blending stages supported in the fixed function pipeline. This value is the number of blenders available. In the programmable pixel pipeline, this corresponds to the number of unique texture registers used by pixel shader instructions.</summary>
  </member>
  <member name="D3DCAPS9::MaxSimultaneousTextures">
    <summary>Maximum number of textures that can be simultaneously bound to the fixed-function pipeline sampler stages. If the same texture is bound to two sampler stages, it counts as two textures. 

This value has no meaning in the programmable pipeline where the number of sampler stages is determined by each pixel shader version. Each pixel shader version also determines the number of texture declaration instructions. See <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/dx9-graphics-reference-asm-ps">Pixel Shaders</a>.</summary>
  </member>
  <member name="D3DCAPS9::VertexProcessingCaps">
    <summary>Vertex processing capabilities. For a given physical device, this capability might vary across Direct3D devices depending on the parameters supplied to <a href="https://docs.microsoft.com/windows/desktop/api/d3d9/nf-d3d9-idirect3d9-createdevice">CreateDevice</a>. See <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dvtxpcaps">D3DVTXPCAPS</a>.</summary>
  </member>
  <member name="D3DCAPS9::MaxActiveLights">
    <summary>Maximum number of lights that can be active simultaneously. For a given physical device, this capability might vary across Direct3D devices depending on the parameters supplied to <a href="https://docs.microsoft.com/windows/desktop/api/d3d9/nf-d3d9-idirect3d9-createdevice">CreateDevice</a>.</summary>
  </member>
  <member name="D3DCAPS9::MaxUserClipPlanes">
    <summary>Maximum number of user-defined clipping planes supported. This member can be 0. For a given physical device, this capability may vary across Direct3D devices depending on the parameters supplied to <a href="https://docs.microsoft.com/windows/desktop/api/d3d9/nf-d3d9-idirect3d9-createdevice">CreateDevice</a>.</summary>
  </member>
  <member name="D3DCAPS9::MaxVertexBlendMatrices">
    <summary>Maximum number of matrices that this device can apply when performing multimatrix vertex blending. For a given physical device, this capability may vary across Direct3D devices depending on the parameters supplied to <a href="https://docs.microsoft.com/windows/desktop/api/d3d9/nf-d3d9-idirect3d9-createdevice">CreateDevice</a>.</summary>
  </member>
  <member name="D3DCAPS9::MaxVertexBlendMatrixIndex">
    <summary>DWORD value that specifies the maximum matrix index that can be indexed into using the per-vertex indices. The number of matrices is MaxVertexBlendMatrixIndex + 1, which is the size of the matrix palette. If normals are present in the vertex data that needs to be blended for lighting, then the number of matrices is half the number specified by this capability flag. If MaxVertexBlendMatrixIndex is set to zero, the driver does not support indexed vertex blending. If this value is not zero then the valid range of indices is zero through MaxVertexBlendMatrixIndex. 

A zero value for MaxVertexBlendMatrixIndex indicates that the driver does not support indexed matrices.

When software vertex processing is used, 256 matrices could be used for indexed vertex blending, with or without normal blending.

For a given physical device, this capability may vary across Direct3D devices depending on the parameters supplied to <a href="https://docs.microsoft.com/windows/desktop/api/d3d9/nf-d3d9-idirect3d9-createdevice">CreateDevice</a>.</summary>
  </member>
  <member name="D3DCAPS9::MaxPointSize">
    <summary>Maximum size of a point primitive. If set to 1.0f then device does not support point size control. The range is greater than or equal to 1.0f.</summary>
  </member>
  <member name="D3DCAPS9::MaxPrimitiveCount">
    <summary>Maximum number of primitives for each <a href="https://docs.microsoft.com/windows/desktop/api/d3d9/nf-d3d9-idirect3ddevice9-drawprimitive">DrawPrimitive</a> call. There are two cases:


<ul>
<li>If MaxPrimitiveCount is not equal to 0xffff, you can draw at most MaxPrimitiveCount primitives with each draw call.</li>
<li>However, if MaxPrimitiveCount equals 0xffff, you can still draw at most MaxPrimitiveCount primitive, but you may also use no more than MaxPrimitiveCount unique vertices (since each primitive can potentially use three different vertices).</li>
</ul></summary>
  </member>
  <member name="D3DCAPS9::MaxVertexIndex">
    <summary>Maximum size of indices supported for hardware vertex processing. It is possible to create 32-bit index buffers; however, you will not be able to render with the index buffer unless this value is greater than 0x0000FFFF.</summary>
  </member>
  <member name="D3DCAPS9::MaxStreams">
    <summary>Maximum number of concurrent data streams for <a href="https://docs.microsoft.com/windows/desktop/api/d3d9helper/nf-d3d9helper-idirect3ddevice9-setstreamsource">SetStreamSource</a>. The valid range is 1 to 16. Note that if this value is 0, then the driver is not a Direct3D 9 driver.</summary>
  </member>
  <member name="D3DCAPS9::MaxStreamStride">
    <summary>Maximum stride for <a href="https://docs.microsoft.com/windows/desktop/api/d3d9helper/nf-d3d9helper-idirect3ddevice9-setstreamsource">SetStreamSource</a>.</summary>
  </member>
  <member name="D3DCAPS9::VertexShaderVersion">
    <summary>Two numbers that represent the vertex shader main and sub versions. For more information about the instructions supported for each vertex shader version, see <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/dx9-graphics-reference-asm-vs-instructions-vs-1-1">Version 1_x</a>, <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/dx9-graphics-reference-asm-vs-instructions-vs-2-0">Version 2_0</a>, <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/dx9-graphics-reference-asm-vs-instructions-vs-2-x">Version 2_0 Extended</a>, or <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/dx9-graphics-reference-asm-vs-instructions-vs-3-0">Version 3_0</a>.</summary>
  </member>
  <member name="D3DCAPS9::MaxVertexShaderConst">
    <summary>The number of vertex shader <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/dx9-graphics-reference-asm-vs-registers">Vertex Shader Registers</a> that are reserved for constants.</summary>
  </member>
  <member name="D3DCAPS9::PixelShaderVersion">
    <summary>Two numbers that represent the pixel shader main and sub versions. For more information about the instructions supported for each pixel shader version, see <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/dx9-graphics-reference-asm-ps-instructions-ps-1-x">Version 1_x</a>, <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/dx9-graphics-reference-asm-ps-instructions-ps-2-0">Version 2_0</a>, <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/dx9-graphics-reference-asm-ps-instructions-ps-2-x">Version 2_0 Extended</a>, or <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/dx9-graphics-reference-asm-ps-instructions-ps-3-0">Version 3_0</a>.</summary>
  </member>
  <member name="D3DCAPS9::PixelShader1xMaxValue">
    <summary>Maximum value of pixel shader arithmetic component. This value indicates the internal range of values supported for pixel color blending operations. Within the range that they report to, implementations must allow data to pass through pixel processing unmodified (unclamped). Normally, the value of this member is an absolute value. For example, a 1.0 indicates that the range is -1.0 to 1, and an 8.0 indicates that the range is -8.0 to 8.0. The value must be &gt;= 1.0 for any hardware that supports pixel shaders.</summary>
  </member>
  <member name="D3DCAPS9::DevCaps2">
    <summary>Device driver capabilities for adaptive tessellation. For more information, see <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3ddevcaps2">D3DDEVCAPS2</a></summary>
  </member>
  <member name="D3DCAPS9::MaxNpatchTessellationLevel">
    <summary>TBD</summary>
  </member>
  <member name="D3DCAPS9::Reserved5">
    <summary>TBD</summary>
  </member>
  <member name="D3DCAPS9::MasterAdapterOrdinal">
    <summary>This number indicates which device is the master for this subordinate. This number is taken from the same space as the adapter values.

For multihead support, one head will be denoted the master head, and all other heads on the same card will be denoted subordinate heads. If more than one multihead adapter is present in a system, the master and its subordinates from one multihead adapter are called a group.</summary>
  </member>
  <member name="D3DCAPS9::AdapterOrdinalInGroup">
    <summary>This number indicates the order in which heads are referenced by the API. The value for the master adapter is always 0. These values do not correspond to the adapter ordinals. They apply only to heads within a group.</summary>
  </member>
  <member name="D3DCAPS9::NumberOfAdaptersInGroup">
    <summary>Number of adapters in this adapter group (only if master). This will be 1 for conventional adapters. The value will be greater than 1 for the master adapter of a  multihead card. The value will be 0 for a subordinate adapter of a multihead card. Each card can have at most one master, but may have many subordinates.</summary>
  </member>
  <member name="D3DCAPS9::DeclTypes">
    <summary>A combination of one or more data types contained in a vertex declaration. See <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3ddtcaps">D3DDTCAPS</a>.</summary>
  </member>
  <member name="D3DCAPS9::NumSimultaneousRTs">
    <summary>Number of simultaneous render targets. This number must be at least one.</summary>
  </member>
  <member name="D3DCAPS9::StretchRectFilterCaps">
    <summary>Combination of constants that describe the operations supported by <a href="https://docs.microsoft.com/windows/desktop/api/d3d9helper/nf-d3d9helper-idirect3ddevice9-stretchrect">StretchRect</a>. The flags that may be set in this field are:

<table>
<tr>
<th>Constant</th>
<th>Description</th>
</tr>
<tr>
<td>D3DPTFILTERCAPS_MINFPOINT</td>
<td>Device supports point-sample filtering for minifying rectangles.  This filter type is requested by calling <a href="https://docs.microsoft.com/windows/desktop/api/d3d9helper/nf-d3d9helper-idirect3ddevice9-stretchrect">StretchRect</a> using D3DTEXF_POINT.</td>
</tr>
<tr>
<td>D3DPTFILTERCAPS_MAGFPOINT</td>
<td>Device supports point-sample filtering for magnifying rectangles.  This filter type is requested by calling <a href="https://docs.microsoft.com/windows/desktop/api/d3d9helper/nf-d3d9helper-idirect3ddevice9-stretchrect">StretchRect</a> using D3DTEXF_POINT.</td>
</tr>
<tr>
<td>D3DPTFILTERCAPS_MINFLINEAR</td>
<td>Device supports bilinear interpolation filtering for minifying rectangles.  This filter type is requested by calling <a href="https://docs.microsoft.com/windows/desktop/api/d3d9helper/nf-d3d9helper-idirect3ddevice9-stretchrect">StretchRect</a> using D3DTEXF_LINEAR.</td>
</tr>
<tr>
<td>D3DPTFILTERCAPS_MAGFLINEAR</td>
<td>Device supports bilinear interpolation filtering for magnifying rectangles.  This filter type is requested by calling <a href="https://docs.microsoft.com/windows/desktop/api/d3d9helper/nf-d3d9helper-idirect3ddevice9-stretchrect">StretchRect</a> using D3DTEXF_LINEAR.</td>
</tr>
</table>
 

For more information, see <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dtexturefiltertype">D3DTEXTUREFILTERTYPE</a> and <b>D3DTEXTUREFILTERTYPE</b>.</summary>
  </member>
  <member name="D3DCAPS9::VS20Caps">
    <summary>Device supports vertex shader version 2_0 extended capability. See <a href="https://docs.microsoft.com/windows/desktop/api/d3d9caps/ns-d3d9caps-d3dvshadercaps2_0">D3DVSHADERCAPS2_0</a>.</summary>
  </member>
  <member name="D3DCAPS9::PS20Caps">
    <summary>Device supports pixel shader version 2_0 extended capability. See <a href="https://docs.microsoft.com/windows/desktop/api/d3d9caps/ns-d3d9caps-d3dpshadercaps2_0">D3DPSHADERCAPS2_0</a>.</summary>
  </member>
  <member name="D3DCAPS9::VertexTextureFilterCaps">
    <summary>Device supports vertex shader texture filter capability. See <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dptfiltercaps">D3DPTFILTERCAPS</a>.</summary>
  </member>
  <member name="D3DCAPS9::MaxVShaderInstructionsExecuted">
    <summary>Maximum number of vertex shader instructions that can be run when using flow control. The maximum number of instructions that can be programmed is MaxVertexShader30InstructionSlots.</summary>
  </member>
  <member name="D3DCAPS9::MaxPShaderInstructionsExecuted">
    <summary>Maximum number of pixel shader instructions that can be run when using flow control. The maximum number of instructions that can be programmed is MaxPixelShader30InstructionSlots.</summary>
  </member>
  <member name="D3DCAPS9::MaxVertexShader30InstructionSlots">
    <summary>Maximum number of vertex shader instruction slots supported. The maximum value that can be set on this cap is 32768. Devices that support vs_3_0 are required to support at least 512 instruction slots.</summary>
  </member>
  <member name="D3DCAPS9::MaxPixelShader30InstructionSlots">
    <summary>Maximum number of pixel shader instruction slots supported. The maximum value that can be set on this cap is 32768. Devices that support ps_3_0 are required to support at least 512 instruction slots.</summary>
  </member>
  <member name="D3DDecompressShaders">
    <summary>
      <para>Decompresses one or more shaders from a compressed set.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3ddecompressshaders" /></para>
      <param name="pSrcData">A pointer to uncompiled shader data; either ASCII HLSL code or a compiled effect.</param>
      <param name="SrcDataSize">Length of uncompiled shader data that <i>pSrcData</i> points to.</param>
      <param name="uNumShaders">The number of shaders to decompress.</param>
      <param name="uStartIndex">The index of the first shader to decompress.</param>
      <param name="pIndices">An array of indexes that represent the shaders to decompress.</param>
      <param name="uFlags">Flags that indicate how to decompress. Currently, no flags are defined.</param>
      <param name="ppShaders">The address of a pointer to the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that is used to retrieve the decompressed shader data.</param>
      <param name="pTotalShaders">A pointer to a variable that receives the total number of shaders that  <b>D3DDecompressShaders</b> decompressed.</param>
    </summary>
  </member>
  <member name="D3D_SHADER_MACRO">
    <summary>
      <para>Defines a shader macro.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ns-d3dcommon-d3d_shader_macro" /></para>
    </summary>
  </member>
  <member name="D3D_SHADER_MACRO::Name">
    <summary>The macro name.</summary>
  </member>
  <member name="D3D_SHADER_MACRO::Definition">
    <summary>The macro definition.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE">
    <summary>
      <para>Values that identify resource types that can be bound to a shader and that are reflected as part of the resource description for the shader.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_shader_input_type" /></para>
    </summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D_SIT_CBUFFER">
    <summary>The shader resource is a constant buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D_SIT_TBUFFER">
    <summary>The shader resource is a texture buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D_SIT_TEXTURE">
    <summary>The shader resource is a texture.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D_SIT_SAMPLER">
    <summary>The shader resource is a sampler.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D_SIT_UAV_RWTYPED">
    <summary>The shader resource is a read-and-write buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D_SIT_STRUCTURED">
    <summary>The shader resource is a structured buffer.

For more information about structured buffer, see the <b>Remarks</b> section.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D_SIT_UAV_RWSTRUCTURED">
    <summary>The shader resource is a read-and-write structured buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D_SIT_BYTEADDRESS">
    <summary>The shader resource is a byte-address buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D_SIT_UAV_RWBYTEADDRESS">
    <summary>The shader resource is a read-and-write byte-address buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D_SIT_UAV_APPEND_STRUCTURED">
    <summary>The shader resource is an append-structured buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D_SIT_UAV_CONSUME_STRUCTURED">
    <summary>The shader resource is a consume-structured buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER">
    <summary>The shader resource is a read-and-write structured buffer that uses the built-in counter to append or consume.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D10_SIT_CBUFFER">
    <summary>The shader resource is a constant buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D10_SIT_TBUFFER">
    <summary>The shader resource is a texture buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D10_SIT_TEXTURE">
    <summary>The shader resource is a texture.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D10_SIT_SAMPLER">
    <summary>The shader resource is a sampler.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D11_SIT_UAV_RWTYPED">
    <summary>The shader resource is a read-and-write buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D11_SIT_STRUCTURED">
    <summary>The shader resource is a structured buffer.

For more information about structured buffer, see the <b>Remarks</b> section.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D11_SIT_UAV_RWSTRUCTURED">
    <summary>The shader resource is a read-and-write structured buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D11_SIT_BYTEADDRESS">
    <summary>The shader resource is a byte-address buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D11_SIT_UAV_RWBYTEADDRESS">
    <summary>The shader resource is a read-and-write byte-address buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D11_SIT_UAV_APPEND_STRUCTURED">
    <summary>The shader resource is an append-structured buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D11_SIT_UAV_CONSUME_STRUCTURED">
    <summary>The shader resource is a consume-structured buffer.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_TYPE::D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER">
    <summary>The shader resource is a read-and-write structured buffer that uses the built-in counter to append or consume.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS">
    <summary>
      <para>Values that identify the class of a shader variable.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_shader_variable_class" /></para>
    </summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D_SVC_SCALAR">
    <summary>The shader variable is a scalar.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D_SVC_VECTOR">
    <summary>The shader variable is a vector.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D_SVC_MATRIX_ROWS">
    <summary>The shader variable is a row-major matrix.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D_SVC_MATRIX_COLUMNS">
    <summary>The shader variable is a column-major matrix.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D_SVC_OBJECT">
    <summary>The shader variable is an object.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D_SVC_STRUCT">
    <summary>The shader variable is a structure.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D_SVC_INTERFACE_CLASS">
    <summary>The shader variable is a class.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D_SVC_INTERFACE_POINTER">
    <summary>The shader variable is an interface.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D10_SVC_SCALAR">
    <summary>The shader variable is a scalar.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D10_SVC_VECTOR">
    <summary>The shader variable is a vector.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D10_SVC_MATRIX_ROWS">
    <summary>The shader variable is a row-major matrix.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D10_SVC_MATRIX_COLUMNS">
    <summary>The shader variable is a column-major matrix.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D10_SVC_OBJECT">
    <summary>The shader variable is an object.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D10_SVC_STRUCT">
    <summary>The shader variable is a structure.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D11_SVC_INTERFACE_CLASS">
    <summary>The shader variable is a class.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D11_SVC_INTERFACE_POINTER">
    <summary>The shader variable is an interface.</summary>
  </member>
  <member name="D3D_SHADER_VARIABLE_CLASS::D3D_SVC_FORCE_DWORD">
    <summary>This value is not used by a programmer; it exists to force the enumeration to compile to 32 bits.</summary>
  </member>
  <member name="D3DDisassemble">
    <summary>
      <para>Disassembles compiled HLSL code.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3ddisassemble" /></para>
      <param name="pSrcData">A pointer to source data as compiled HLSL code.</param>
      <param name="SrcDataSize">Length of <i>pSrcData</i>.</param>
      <param name="Flags" />
      <param name="szComments">The comment string at the top of the shader that identifies the shader constants and variables.</param>
      <param name="ppDisassembly">A pointer to a buffer that receives the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that accesses assembly text.</param>
    </summary>
  </member>
  <member name="D3D_MIN_PRECISION">
    <summary>
      <para>Values that indicate the minimum desired interpolation precision.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_min_precision" /></para>
    </summary>
  </member>
  <member name="D3D_MIN_PRECISION::D3D_MIN_PRECISION_DEFAULT">
    <summary>Default minimum precision, which is 32-bit precision.</summary>
  </member>
  <member name="D3D_MIN_PRECISION::D3D_MIN_PRECISION_FLOAT_16">
    <summary>Minimum precision is min16float, which is 16-bit floating point.</summary>
  </member>
  <member name="D3D_MIN_PRECISION::D3D_MIN_PRECISION_FLOAT_2_8">
    <summary>Minimum precision is min10float, which is 10-bit floating point.</summary>
  </member>
  <member name="D3D_MIN_PRECISION::D3D_MIN_PRECISION_RESERVED">
    <summary>Reserved</summary>
  </member>
  <member name="D3D_MIN_PRECISION::D3D_MIN_PRECISION_SINT_16">
    <summary>Minimum precision is min16int, which is 16-bit signed integer.</summary>
  </member>
  <member name="D3D_MIN_PRECISION::D3D_MIN_PRECISION_UINT_16">
    <summary>Minimum precision is min16uint, which is 16-bit unsigned integer.</summary>
  </member>
  <member name="D3D_MIN_PRECISION::D3D_MIN_PRECISION_ANY_16">
    <summary>Minimum precision is any 16-bit value.</summary>
  </member>
  <member name="D3D_MIN_PRECISION::D3D_MIN_PRECISION_ANY_10">
    <summary>Minimum precision is any 10-bit value.</summary>
  </member>
  <member name="D3DVSHADERCAPS2_0">
    <summary>
      <para>Vertex shader caps.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3d9caps/ns-d3d9caps-d3dvshadercaps2_0" /></para>
    </summary>
  </member>
  <member name="D3DVSHADERCAPS2_0::Caps">
    <summary>Instruction predication is supported if this value is nonzero. See <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/setp-comp---vs">setp_comp - vs</a>.</summary>
  </member>
  <member name="D3DVSHADERCAPS2_0::DynamicFlowControlDepth">
    <summary> Either 0 or 24, which represents the depth of the dynamic flow control instruction nesting. See <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dvs20caps">D3DVS20CAPS</a>.</summary>
  </member>
  <member name="D3DVSHADERCAPS2_0::NumTemps">
    <summary>The number of temporary registers supported. See <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dvs20caps">D3DVS20CAPS</a>.</summary>
  </member>
  <member name="D3DVSHADERCAPS2_0::StaticFlowControlDepth">
    <summary>The depth of nesting of the <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/loop---vs">loop - vs</a>/<a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/rep---vs">rep - vs</a> and <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/call---vs">call - vs</a>/<a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/callnz-bool---vs">callnz bool - vs</a> instructions. See <a href="https://docs.microsoft.com/windows/desktop/direct3d9/d3dvs20caps">D3DVS20CAPS</a>.</summary>
  </member>
  <member name="D3D_DRIVER_TYPE">
    <summary>
      <para>Driver type options.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_driver_type" /></para>
    </summary>
  </member>
  <member name="D3D_DRIVER_TYPE::D3D_DRIVER_TYPE_UNKNOWN">
    <summary>The driver type is unknown.</summary>
  </member>
  <member name="D3D_DRIVER_TYPE::D3D_DRIVER_TYPE_HARDWARE">
    <summary>A hardware driver, which implements Direct3D features in hardware. This is the primary driver that you should use in your Direct3D applications because it provides the best performance. A hardware driver uses hardware acceleration (on supported hardware) but can also use software for parts of the pipeline that are not supported in hardware. This driver type is often referred to as a hardware abstraction layer or HAL.</summary>
  </member>
  <member name="D3D_DRIVER_TYPE::D3D_DRIVER_TYPE_REFERENCE">
    <summary>A reference driver, which is a software implementation that supports every Direct3D feature. A reference driver is designed for accuracy rather than speed and as a result is slow but accurate. The rasterizer portion of the driver does make use of special CPU instructions whenever it can, but it is not intended for retail applications; use it only for feature testing, demonstration of functionality, debugging, or verifying bugs in other drivers. The reference device for this driver is installed by the Windows SDK 8.0 or later and is intended only as a debug aid for development purposes. This driver may be referred to as a REF driver, a reference driver, or a reference rasterizer.

<div class="alert"><b>Note</b>  When you use the REF driver in Windows Store apps,  the REF driver renders correctly but doesn't display any output on the screen. To verify bugs in hardware drivers for Windows Store apps, use <a href="https://docs.microsoft.com/windows/desktop/api/d3dcommon/ne-d3dcommon-d3d_driver_type">D3D_DRIVER_TYPE_WARP</a> for the WARP driver instead.</div>
<div> </div></summary>
  </member>
  <member name="D3D_DRIVER_TYPE::D3D_DRIVER_TYPE_NULL">
    <summary>A NULL driver, which is a reference driver without render capability. This driver is commonly used for debugging non-rendering API calls, it is not appropriate for retail applications. This driver is installed by the DirectX SDK.</summary>
  </member>
  <member name="D3D_DRIVER_TYPE::D3D_DRIVER_TYPE_SOFTWARE">
    <summary>A software driver, which is a driver implemented completely in software. The software implementation is not intended for a high-performance application due to its very slow performance.</summary>
  </member>
  <member name="D3D_DRIVER_TYPE::D3D_DRIVER_TYPE_WARP">
    <summary>A WARP driver, which is a high-performance software rasterizer. The rasterizer supports <a href="https://docs.microsoft.com/windows/desktop/api/d3dcommon/ne-d3dcommon-d3d_feature_level">feature levels</a> 9_1 through level 10_1 with a high performance software implementation. For information about limitations creating a WARP device on certain feature levels, see <a href="https://docs.microsoft.com/windows/desktop/direct3d11/overviews-direct3d-11-devices-limitations">Limitations Creating WARP and Reference Devices</a>. For more information about using a WARP driver, see <a href="https://docs.microsoft.com/windows/desktop/direct3darticles/directx-warp">Windows Advanced Rasterization Platform (WARP) In-Depth Guide</a>.

<div class="alert"><b>Note</b>  The WARP driver that Windows 8 includes supports <a href="https://docs.microsoft.com/windows/desktop/direct3d11/overviews-direct3d-11-devices-downlevel-intro">feature levels</a> 9_1 through level 11_1.</div>
<div> </div>
<div class="alert"><b>Note</b>  The WARP driver that Windows 8.1 includes fully supports <a href="https://docs.microsoft.com/windows/desktop/direct3d11/overviews-direct3d-11-devices-downlevel-intro">feature level</a> 11_1, including tiled resources, <a href="https://docs.microsoft.com/windows/desktop/api/dxgi1_3/nf-dxgi1_3-idxgidevice3-trim">IDXGIDevice3::Trim</a>, shared BCn surfaces, minblend, and map default. </div>
<div> </div></summary>
  </member>
  <member name="D3DWriteBlobToFile">
    <summary>
      <para>Writes a memory blob to a file on disk.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dwriteblobtofile" /></para>
      <param name="pBlob">A pointer to a <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that contains the memory blob to write to the file that the <i>pFileName</i> parameter specifies.</param>
      <param name="pFileName">A pointer to a constant null-terminated string that contains  the name of the file to which to write.</param>
      <param name="bOverwrite">A Boolean value that specifies whether to overwrite information in the <i>pFileName</i> file. TRUE specifies to overwrite information and FALSE specifies not to overwrite information.</param>
    </summary>
  </member>
  <member name="D3D_INTERPOLATION_MODE">
    <summary>
      <para>Specifies interpolation mode, which affects how values are calculated during rasterization.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_interpolation_mode" /></para>
    </summary>
  </member>
  <member name="D3D_INTERPOLATION_MODE::D3D_INTERPOLATION_UNDEFINED">
    <summary>The interpolation mode is undefined.</summary>
  </member>
  <member name="D3D_INTERPOLATION_MODE::D3D_INTERPOLATION_CONSTANT">
    <summary>Don't interpolate between register values.</summary>
  </member>
  <member name="D3D_INTERPOLATION_MODE::D3D_INTERPOLATION_LINEAR">
    <summary>Interpolate linearly between register values.</summary>
  </member>
  <member name="D3D_INTERPOLATION_MODE::D3D_INTERPOLATION_LINEAR_CENTROID">
    <summary>Interpolate linearly between register values but centroid clamped when multisampling.</summary>
  </member>
  <member name="D3D_INTERPOLATION_MODE::D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE">
    <summary>Interpolate linearly between register values but with no perspective correction.</summary>
  </member>
  <member name="D3D_INTERPOLATION_MODE::D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID">
    <summary>Interpolate linearly between register values but with no perspective correction and centroid clamped when multisampling.</summary>
  </member>
  <member name="D3D_INTERPOLATION_MODE::D3D_INTERPOLATION_LINEAR_SAMPLE">
    <summary>Interpolate linearly between register values but sample clamped when multisampling.</summary>
  </member>
  <member name="D3D_INTERPOLATION_MODE::D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE">
    <summary>Interpolate linearly between register values but with no perspective correction and sample clamped when multisampling.</summary>
  </member>
  <member name="D3DSetBlobPart">
    <summary>
      <para>Sets information in a compilation result.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dsetblobpart" /></para>
      <param name="pSrcData">A pointer to compiled shader data.</param>
      <param name="SrcDataSize">The length of the compiled shader data that <i>pSrcData</i> points to.</param>
      <param name="Part">A <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/d3d-blob-part">D3D_BLOB_PART</a>-typed value that specifies the part to set. Currently, you can update only private data; that is, <b>D3DSetBlobPart</b> currently only supports the <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/d3d-blob-part">D3D_BLOB_PRIVATE_DATA</a> value.</param>
      <param name="Flags">Flags that indicate how to set the blob part. Currently, no flags are defined; therefore, set to zero.</param>
      <param name="pPart">A pointer to data to set in the compilation result.</param>
      <param name="PartSize">The length of the data that <i>pPart</i> points to.</param>
      <param name="ppNewShader">A pointer to a buffer that receives the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface for the new shader in which the new part data is set.</param>
    </summary>
  </member>
  <member name="D3DGetTraceInstructionOffsets">
    <summary>
      <para>Retrieves the byte offsets for instructions within a section of shader code.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dgettraceinstructionoffsets" /></para>
      <param name="pSrcData">A pointer to the compiled shader data.</param>
      <param name="SrcDataSize">The size, in bytes, of the block of memory that <i>pSrcData</i> points to.</param>
      <param name="Flags">A combination of the following flags that are combined by using a bitwise <b>OR</b> operation. The resulting value specifies how <b>D3DGetTraceInstructionOffsets</b> retrieves the instruction offsets.

<table>
<tr>
<th>Flag</th>
<th>Description</th>
</tr>
<tr>
<td>D3D_GET_INST_OFFSETS_INCLUDE_NON_EXECUTABLE (0x01)</td>
<td>Include non-executable code in the retrieved information.</td>
</tr>
</table></param>
      <param name="StartInstIndex">The index of the instruction in the compiled shader data for which <b>D3DGetTraceInstructionOffsets</b> starts to retrieve the byte offsets.</param>
      <param name="NumInsts">The number of instructions for which <b>D3DGetTraceInstructionOffsets</b> retrieves the byte offsets.</param>
      <param name="pOffsets">A pointer to a variable that receives the actual number of offsets.</param>
      <param name="pTotalInsts">A pointer to a variable that receives the total number of instructions in the section of shader code.</param>
    </summary>
  </member>
  <member name="D3D_SHADER_INPUT_FLAGS">
    <summary>
      <para>Values that identify shader-input options.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_shader_input_flags" /></para>
    </summary>
  </member>
  <member name="D3D_SHADER_INPUT_FLAGS::D3D_SIF_USERPACKED">
    <summary>Assign a shader input to a register based on the register assignment in the HLSL code (instead of letting the compiler choose the register).</summary>
  </member>
  <member name="D3D_SHADER_INPUT_FLAGS::D3D_SIF_COMPARISON_SAMPLER">
    <summary>Use a comparison sampler, which uses the <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/dx-graphics-hlsl-to-samplecmp">SampleCmp (DirectX HLSL Texture Object)</a> and <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/dx-graphics-hlsl-to-samplecmplevelzero">SampleCmpLevelZero (DirectX HLSL Texture Object)</a> sampling functions.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_FLAGS::D3D_SIF_TEXTURE_COMPONENT_0">
    <summary>A 2-bit value for encoding texture components.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_FLAGS::D3D_SIF_TEXTURE_COMPONENT_1">
    <summary>A 2-bit value for encoding texture components.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_FLAGS::D3D_SIF_TEXTURE_COMPONENTS">
    <summary>A 2-bit value for encoding texture components.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_FLAGS::D3D_SIF_UNUSED">
    <summary>This value is reserved.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_FLAGS::D3D10_SIF_USERPACKED">
    <summary>Assign a shader input to a register based on the register assignment in the HLSL code (instead of letting the compiler choose the register).</summary>
  </member>
  <member name="D3D_SHADER_INPUT_FLAGS::D3D10_SIF_COMPARISON_SAMPLER">
    <summary>Use a comparison sampler, which uses the <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/dx-graphics-hlsl-to-samplecmp">SampleCmp (DirectX HLSL Texture Object)</a> and <a href="https://docs.microsoft.com/windows/desktop/direct3dhlsl/dx-graphics-hlsl-to-samplecmplevelzero">SampleCmpLevelZero (DirectX HLSL Texture Object)</a> sampling functions.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_FLAGS::D3D10_SIF_TEXTURE_COMPONENT_0">
    <summary>A 2-bit value for encoding texture components.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_FLAGS::D3D10_SIF_TEXTURE_COMPONENT_1">
    <summary>A 2-bit value for encoding texture components.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_FLAGS::D3D10_SIF_TEXTURE_COMPONENTS">
    <summary>A 2-bit value for encoding texture components.</summary>
  </member>
  <member name="D3D_SHADER_INPUT_FLAGS::D3D_SIF_FORCE_DWORD">
    <summary>Forces the enumeration to compile to 32 bits.
            This value is not used directly by titles.</summary>
  </member>
  <member name="D3D_FEATURE_LEVEL">
    <summary>
      <para>Describes the set of features targeted by a Direct3D device.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcommon/ne-d3dcommon-d3d_feature_level" /></para>
    </summary>
  </member>
  <member name="D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_1_0_CORE">
    <summary>Allows Microsoft Compute Driver Model (MCDM) devices to be used, or more feature-rich devices (such as traditional GPUs) that support a superset of the functionality. MCDM is the overall driver model for compute-only; it's a scaled-down peer of the larger scoped Windows Device Driver Model (WDDM).</summary>
  </member>
  <member name="D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_9_1">
    <summary>Targets features supported by [feature level](/windows/desktop/direct3d11/overviews-direct3d-11-devices-downlevel-intro) 9.1, including shader model 2.</summary>
  </member>
  <member name="D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_9_2">
    <summary>Targets features supported by [feature level](/windows/desktop/direct3d11/overviews-direct3d-11-devices-downlevel-intro) 9.2, including shader model 2.</summary>
  </member>
  <member name="D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_9_3">
    <summary>Targets features supported by [feature level](/windows/desktop/direct3d11/overviews-direct3d-11-devices-downlevel-intro) 9.3, including shader model 2.0b.</summary>
  </member>
  <member name="D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_10_0">
    <summary>Targets features supported by Direct3D 10.0, including shader model 4.</summary>
  </member>
  <member name="D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_10_1">
    <summary>Targets features supported by Direct3D 10.1, including shader model 4.</summary>
  </member>
  <member name="D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_11_0">
    <summary>Targets features supported by Direct3D 11.0, including shader model 5.</summary>
  </member>
  <member name="D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_11_1">
    <summary>Targets features supported by Direct3D 11.1, including shader model 5 and logical blend operations. This feature level requires a display driver that is at least implemented to WDDM for Windows 8 (WDDM 1.2).</summary>
  </member>
  <member name="D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_12_0">
    <summary>Targets features supported by Direct3D 12.0, including shader model 5.</summary>
  </member>
  <member name="D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_12_1">
    <summary>Targets features supported by Direct3D 12.1, including shader model 5.</summary>
  </member>
  <member name="D3DDisassemble10Effect">
    <summary>
      <para>Disassembles compiled HLSL code from a Direct3D10 effect.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3ddisassemble10effect" /></para>
      <param name="pEffect">A pointer to source data as compiled HLSL code.</param>
      <param name="Flags">Shader <a href="https://docs.microsoft.com/windows/desktop/direct3d10/d3d10-shader">compile options</a>.</param>
      <param name="ppDisassembly">A pointer to a buffer that receives the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ff728743(v=vs.85)">ID3DBlob</a> interface that contains disassembly text.</param>
    </summary>
  </member>
  <member name="D3DLoadModule">
    <summary>
      <para>Creates a shader module interface from source data for the shader module.</para>
      <para>Microsoft Docs: <see href="https://docs.microsoft.com/windows/win32/api//d3dcompiler/nf-d3dcompiler-d3dloadmodule" /></para>
      <param name="pSrcData">A pointer to the source data for the shader module.</param>
      <param name="cbSrcDataSize">The size, in bytes, of the block of memory that <i>pSrcData</i> points to.</param>
      <param name="ppModule">A pointer to a variable that receives a pointer to the <a href="https://docs.microsoft.com/windows/desktop/api/d3d11shader/nn-d3d11shader-id3d11module">ID3D11Module</a> interface that is used for shader resource re-binding.</param>
    </summary>
  </member>
</doc>