Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

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

 

 

Show:
© 2017 Microsoft