XLE  v0.02.0
Typedefs | Enumerations
BufferUploads::BindFlag Namespace Reference

Container for BindFlag::Enum. More...

Typedefs

typedef unsigned BitField
 

Enumerations

enum  Enum {
  VertexBuffer = 1<<0, IndexBuffer = 1<<1, ShaderResource = 1<<2, RenderTarget = 1<<3,
  DepthStencil = 1<<4, UnorderedAccess = 1<<5, StructuredBuffer = 1<<6, ConstantBuffer = 1<<7,
  StreamOutput = 1<<8, DrawIndirectArgs = 1<<9, RawViews = 1<<10
}
 Determines how the buffer will be bound to the pipeline More...
 

Detailed Description

Container for BindFlag::Enum.

Enumeration Type Documentation

Determines how the buffer will be bound to the pipeline

Most buffers are just blocks of data on the GPU. They can be bound to the pipeline in multiple ways, for different purposes.

This flag controls how the buffer can be used. Most buffer only have a single bind flag. But sometimes we need to combine input and output binding modes eg:

Enumerator
VertexBuffer 

Used as an vertex buffer (ie, IASetVertexBuffers)

IndexBuffer 

Used as an index buffer (ie, IASetIndexBuffer)

ShaderResource 

Used as a shader resource (ie, PSSetShaderResources)

RenderTarget 

Used as a render target (ie, OMSetRenderTargets)

DepthStencil 

Used as a depth buffer (ie, OMSetRenderTargets)

UnorderedAccess 

Used as a unordered access buffer (ie, CSSetUnorderedAccessViews)

StructuredBuffer 

Used as a structured buffer (ie, CSSetShaderResources)

ConstantBuffer 

Used as a constant buffer (ie, VSSetConstantBuffers)

StreamOutput 

Used as a stream-output buffer from the geomtry shader (ie, SOSetTargets)

DrawIndirectArgs 

Used with DrawInstancedIndirect or DrawIndexedInstancedIndirect.

RawViews 

Enables use of raw shader resource views.