ID3D11DeviceContext::SOSetTargets Method

Set the target output buffers for the stream-output stage of the pipeline.

Syntax

public:
void SOSetTargets(
         UINT NumBuffers,
         ID3D11Buffer * const *ppSOTargets,
         const UINT *pOffsets
)  

Parameters

NumBuffers
Type: UINT 

[in] The number of buffer to bind to the device. A maximum of four output buffers can be set. If less than four are defined by the call, the remaining buffer slots are set to NULL. See Remarks.

ppSOTargets
Type: ID3D11Buffer * const *

[in, optional] The array of output buffers (see ID3D11Buffer) to bind to the device. The buffers must have been created with the D3D11_BIND_STREAM_OUTPUT flag.

pOffsets
Type: UINT *

[in, optional] Array of offsets to the output buffers from ppSOTargets, one offset for each buffer. The offset values must be in bytes.

Return value

None.

Remarks

An offset of -1 will cause the stream output buffer to be appended, continuing after the last location written to the buffer in a previous stream output pass.

Calling this method using a buffer that is currently bound for writing will effectively bind NULL instead because a buffer cannot be bound as both an input and an output at the same time.

The debug layer will generate a warning whenever a resource is prevented from being bound simultaneously as an input and an output, but this will not prevent invalid data from being used by the runtime.

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

Requirements

Header: Declared in d3d11_x.h (d3d11.h on other Windows platforms).

Library: Use d3d11_x.lib (d3d11.lib on other Windows platforms).

See also

ID3D11DeviceContext

ID3D11DeviceContext Members