D3D11_BIND_FLAG enumeration

Identifies how to bind a resource to the pipeline.

Syntax


typedef enum D3D11_BIND_FLAG { 
  D3D11_BIND_VERTEX_BUFFER     = 0x1L,
  D3D11_BIND_INDEX_BUFFER      = 0x2L,
  D3D11_BIND_CONSTANT_BUFFER   = 0x4L,
  D3D11_BIND_SHADER_RESOURCE   = 0x8L,
  D3D11_BIND_STREAM_OUTPUT     = 0x10L,
  D3D11_BIND_RENDER_TARGET     = 0x20L,
  D3D11_BIND_DEPTH_STENCIL     = 0x40L,
  D3D11_BIND_UNORDERED_ACCESS  = 0x80L,
  D3D11_BIND_DECODER           = 0x200L,
  D3D11_BIND_VIDEO_ENCODER     = 0x400L
} D3D11_BIND_FLAG;

Constants

D3D11_BIND_VERTEX_BUFFER

Bind a buffer as a vertex buffer to the input-assembler stage.

D3D11_BIND_INDEX_BUFFER

Bind a buffer as an index buffer to the input-assembler stage.

D3D11_BIND_CONSTANT_BUFFER

Bind a buffer as a constant buffer to a shader stage; this flag may NOT be combined with any other bind flag.

D3D11_BIND_SHADER_RESOURCE

Bind a buffer or texture to a shader stage; this flag cannot be used with the D3D11_MAP_WRITE_NO_OVERWRITE flag.

Note  The Direct3D 11.1 runtime, which is available starting with Windows 8, enables mapping dynamic constant buffers and shader resource views (SRVs) of dynamic buffers with D3D11_MAP_WRITE_NO_OVERWRITE. The Direct3D 11 and earlier runtimes limited mapping to vertex or index buffers. To determine if a Direct3D device supports these features, call ID3D11Device::CheckFeatureSupport with D3D11_FEATURE_D3D11_OPTIONS. CheckFeatureSupport fills members of a D3D11_FEATURE_DATA_D3D11_OPTIONS structure with the device's features. The relevant members here are MapNoOverwriteOnDynamicConstantBuffer and MapNoOverwriteOnDynamicBufferSRV.

D3D11_BIND_STREAM_OUTPUT

Bind an output buffer for the stream-output stage.

D3D11_BIND_RENDER_TARGET

Bind a texture as a render target for the output-merger stage.

D3D11_BIND_DEPTH_STENCIL

Bind a texture as a depth-stencil target for the output-merger stage.

D3D11_BIND_UNORDERED_ACCESS

Bind an unordered access resource.

D3D11_BIND_DECODER

Set this flag to indicate that a 2D texture is used to receive output from the decoder API. The common way to create resources for a decoder output is by calling the ID3D11Device::CreateTexture2D method to create an array of 2D textures. However, you cannot use texture arrays that are created with this flag in calls to ID3D11Device::CreateShaderResourceView.

Direct3D 11:  This value is not supported until Direct3D 11.1.

D3D11_BIND_VIDEO_ENCODER

Set this flag to indicate that a 2D texture is used to receive input from the video encoder API. The common way to create resources for a video encoder is by calling the ID3D11Device::CreateTexture2D method to create an array of 2D textures. However, you cannot use texture arrays that are created with this flag in calls to ID3D11Device::CreateShaderResourceView.

Direct3D 11:  This value is not supported until Direct3D 11.1.

Remarks

In general, binding flags can be combined using a logical OR (except the constant-buffer flag); however, you should use a single flag to allow the device to optimize the resource usage.

This enumeration is used by a:

A shader-resource buffer is NOT a constant buffer; rather, it is a texture or buffer resource that is bound to a shader, that contains texture or buffer data (it is not limited to a single element type in the buffer). A shader-resource buffer is created with the D3D11_BIND_SHADER_RESOURCE flag and is bound to the pipeline using one of these APIs: ID3D11DeviceContext::GSSetShaderResources, ID3D11DeviceContext::PSSetShaderResources, or ID3D11DeviceContext::VSSetShaderResources. Furthermore, a shader-resource buffer cannot use the D3D11_MAP_WRITE_NO_OVERWRITE flag.

Note  The Direct3D 11.1 runtime, which is available starting with Windows 8, enables mapping dynamic constant buffers and shader resource views (SRVs) of dynamic buffers with D3D11_MAP_WRITE_NO_OVERWRITE. The Direct3D 11 and earlier runtimes limited mapping to vertex or index buffers. To determine if a Direct3D device supports these features, call ID3D11Device::CheckFeatureSupport with D3D11_FEATURE_D3D11_OPTIONS. CheckFeatureSupport fills members of a D3D11_FEATURE_DATA_D3D11_OPTIONS structure with the device's features. The relevant members here are MapNoOverwriteOnDynamicConstantBuffer and MapNoOverwriteOnDynamicBufferSRV.

Requirements

Header

D3D11.h

See also

Resource Enumerations

 

 

Community Additions

ADD
Show:
© 2014 Microsoft