ID3D11DeviceContext::DSSetConstantBuffers method (d3d11.h)

Sets the constant buffers used by the domain-shader stage.

Syntax

void DSSetConstantBuffers(
  [in]           UINT         StartSlot,
  [in]           UINT         NumBuffers,
  [in, optional] ID3D11Buffer * const *ppConstantBuffers
);

Parameters

[in] StartSlot

Type: UINT

Index into the zero-based array to begin setting constant buffers to (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1).

[in] NumBuffers

Type: UINT

Number of buffers to set (ranges from 0 to D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot).

[in, optional] ppConstantBuffers

Type: ID3D11Buffer*

Array of constant buffers (see ID3D11Buffer) being given to the device.

Return value

None

Remarks

The method will hold a reference to the interfaces passed in. This differs from the device state behavior in Direct3D 10.

The Direct3D 11.1 runtime, which is available starting with Windows 8, can bind a larger number of ID3D11Buffer resources to the shader than the maximum constant buffer size that is supported by shaders (4096 constants – 432-bit components each). When you bind such a large buffer, the shader can access only the first 4096 432-bit component constants in the buffer, as if 4096 constants is the full size of the buffer.

If the application wants the shader to access other parts of the buffer, it must call the DSSetConstantBuffers1 method instead.

Windows Phone 8: This API is supported.

Requirements

Requirement Value
Target Platform Windows
Header d3d11.h
Library D3D11.lib

See also

ID3D11DeviceContext