D3D11X_MULTI_DRAW_FLAG Enumeration

Flags to control multidraw methods.

Syntax

typedef enum D3D11X_MULTI_DRAW_FLAG
{
    D3D11X_MULTI_DRAW_DRAWID_NONE,
    D3D11X_MULTI_DRAW_DRAWID_AUTO_GENERATE,
    D3D11X_MULTI_DRAW_DRAWID_FROM_BUFFER_FOR_ARGS,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_0,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_1,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_2,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_3,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_4,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_5,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_6,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_7,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_8,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_9,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_10,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_11,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_12,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_13,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_14,
    D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_15,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_0,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_1,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_2,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_3,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_4,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_5,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_6,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_7,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_8,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_9,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_10,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_11,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_12,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_13,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_14,
    D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_15,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_0,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_1,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_2,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_3,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_4,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_5,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_6,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_7,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_8,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_9,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_10,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_11,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_12,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_13,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_14,
    D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_15,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_0,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_1,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_2,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_3,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_4,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_5,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_6,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_7,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_8,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_9,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_10,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_11,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_12,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_13,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_14,
    D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_15,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_0,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_1,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_2,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_3,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_4,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_5,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_6,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_7,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_8,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_9,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_10,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_11,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_12,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_13,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_14,
    D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_15
} D3D11X_MULTI_DRAW_FLAG;  

Constants

Constant Description
D3D11X_MULTI_DRAW_DRAWID_NONE No draw ID.
D3D11X_MULTI_DRAW_DRAWID_AUTO_GENERATE Auto-generate the draw ID. The draw ID will start at 0 and increase by one for each draw within the multidraw.
D3D11X_MULTI_DRAW_DRAWID_FROM_BUFFER_FOR_ARGS The draw ID is specified as part of the arguments buffer pBufferForArgs in the MultiDraw methods. When this flag is used, the arguments buffer will contain one additional UINT per draw. For indexed multidraws, the layout of the indirect buffer must adhere to the layout of the D3D11X_DRAW_INDEXED_INSTANCED_INDIRECT_WITH_DRAWID_ARGS structure. For non-indexed multidraws, the layout of the indirect buffer must adhere to the layout of the D3D11X_DRAW_INSTANCED_INDIRECT_WITH_DRAWID_ARGS structure.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_0 The draw ID value will be placed in the vertex shader user data register 0. For more information about the vertex shader user data registers, see the HLSL intrinsic __XB_GetShaderUserData.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_1 The draw ID value will be placed in the vertex shader user data register 1.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_2 The draw ID value will be placed in the vertex shader user data register 2.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_3 The draw ID value will be placed in the vertex shader user data register 3.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_4 The draw ID value will be placed in the vertex shader user data register 4.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_5 The draw ID value will be placed in the vertex shader user data register 5.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_6 The draw ID value will be placed in the vertex shader user data register 6.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_7 The draw ID value will be placed in the vertex shader user data register 7.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_8 The draw ID value will be placed in the vertex shader user data register 8.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_9 The draw ID value will be placed in the vertex shader user data register 9.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_10 The draw ID value will be placed in the vertex shader user data register 10.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_11 The draw ID value will be placed in the vertex shader user data register 11.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_12 The draw ID value will be placed in the vertex shader user data register 12.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_13 The draw ID value will be placed in the vertex shader user data register 13.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_14 The draw ID value will be placed in the vertex shader user data register 14.
D3D11X_MULTI_DRAW_DRAWID_VERTEX_SHADER_USER_DATA_REG_15 The draw ID value will be placed in the vertex shader user data register 15.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_0 The draw ID value will be placed in the hull shader user data register 0.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_1 The draw ID value will be placed in the hull shader user data register 1.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_2 The draw ID value will be placed in the hull shader user data register 2.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_3 The draw ID value will be placed in the hull shader user data register 3.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_4 The draw ID value will be placed in the hull shader user data register 4.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_5 The draw ID value will be placed in the hull shader user data register 5.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_6 The draw ID value will be placed in the hull shader user data register 6.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_7 The draw ID value will be placed in the hull shader user data register 7.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_8 The draw ID value will be placed in the hull shader user data register 8.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_9 The draw ID value will be placed in the hull shader user data register 9.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_10 The draw ID value will be placed in the hull shader user data register 10.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_11 The draw ID value will be placed in the hull shader user data register 11.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_12 The draw ID value will be placed in the hull shader user data register 12.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_13 The draw ID value will be placed in the hull shader user data register 13.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_14 The draw ID value will be placed in the hull shader user data register 14.
D3D11X_MULTI_DRAW_DRAWID_HULL_SHADER_USER_DATA_REG_15 The draw ID value will be placed in the hull shader user data register 15.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_0 The draw ID value will be placed in the domain shader user data register 0.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_1 The draw ID value will be placed in the domain shader user data register 1.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_2 The draw ID value will be placed in the domain shader user data register 2.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_3 The draw ID value will be placed in the domain shader user data register 3.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_4 The draw ID value will be placed in the domain shader user data register 4.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_5 The draw ID value will be placed in the domain shader user data register 5.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_6 The draw ID value will be placed in the domain shader user data register 6.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_7 The draw ID value will be placed in the domain shader user data register 7.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_8 The draw ID value will be placed in the domain shader user data register 8.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_9 The draw ID value will be placed in the domain shader user data register 9.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_10 The draw ID value will be placed in the domain shader user data register 10.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_11 The draw ID value will be placed in the domain shader user data register 11.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_12 The draw ID value will be placed in the domain shader user data register 12.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_13 The draw ID value will be placed in the domain shader user data register 13.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_14 The draw ID value will be placed in the domain shader user data register 14.
D3D11X_MULTI_DRAW_DRAWID_DOMAIN_SHADER_USER_DATA_REG_15 The draw ID value will be placed in the domain shader user data register 15.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_0 The draw ID value will be placed in the geometry shader user data register 0.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_1 The draw ID value will be placed in the geometry shader user data register 1.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_2 The draw ID value will be placed in the geometry shader user data register 2.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_3 The draw ID value will be placed in the geometry shader user data register 3.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_4 The draw ID value will be placed in the geometry shader user data register 4.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_5 The draw ID value will be placed in the geometry shader user data register 5.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_6 The draw ID value will be placed in the geometry shader user data register 6.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_7 The draw ID value will be placed in the geometry shader user data register 7.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_8 The draw ID value will be placed in the geometry shader user data register 8.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_9 The draw ID value will be placed in the geometry shader user data register 9.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_10 The draw ID value will be placed in the geometry shader user data register 10.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_11 The draw ID value will be placed in the geometry shader user data register 11.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_12 The draw ID value will be placed in the geometry shader user data register 12.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_13 The draw ID value will be placed in the geometry shader user data register 13.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_14 The draw ID value will be placed in the geometry shader user data register 14.
D3D11X_MULTI_DRAW_DRAWID_GEOMETRY_SHADER_USER_DATA_REG_15 The draw ID value will be placed in the geometry shader user data register 15.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_0 The draw ID value will be placed in the pixel shader user data register 0.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_1 The draw ID value will be placed in the pixel shader user data register 1.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_2 The draw ID value will be placed in the pixel shader user data register 2.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_3 The draw ID value will be placed in the pixel shader user data register 3.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_4 The draw ID value will be placed in the pixel shader user data register 4.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_5 The draw ID value will be placed in the pixel shader user data register 5.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_6 The draw ID value will be placed in the pixel shader user data register 6.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_7 The draw ID value will be placed in the pixel shader user data register 7.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_8 The draw ID value will be placed in the pixel shader user data register 8.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_9 The draw ID value will be placed in the pixel shader user data register 9.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_10 The draw ID value will be placed in the pixel shader user data register 10.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_11 The draw ID value will be placed in the pixel shader user data register 11.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_12 The draw ID value will be placed in the pixel shader user data register 12.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_13 The draw ID value will be placed in the pixel shader user data register 13.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_14 The draw ID value will be placed in the pixel shader user data register 14.
D3D11X_MULTI_DRAW_DRAWID_PIXEL_SHADER_USER_DATA_REG_15 The draw ID value will be placed in the pixel shader user data register 15.

Remarks

For more information about the vertex shader user data registers, see the HLSL intrinsic __XB_GetShaderUserData.

This enumeration is used by the following methods:

See Multi-Draw calls.

Requirements

Header: Declared in d3d11_x.h.