D3D11_COMPUTE_CONTEXT_DESC Structure

Specifies parameters for the compute context, such as pipe and queue index, ring buffer size, and flags.

Syntax

typedef struct D3D11_COMPUTE_CONTEXT_DESC {
    UINT CreateFlags;
    UINT RingBufferSizeBytes;
    UINT PipeIndex;
    UINT QueueIndex;
    D3D11X_COMPUTE_CONTEXT_PRIORITY InitialPriority;
    UINT SegmentSizeBytes;
    UINT ScratchMemorySizeBytes;
} D3D11_COMPUTE_CONTEXT_DESC;  

Members

CreateFlags
Reserved for future use; must be 0.

RingBufferSizeBytes
The size of the ring buffer, in bytes. Specify 0 for the default value (512 KB). Non-zero values must be a multiple of 64 KB, and must be at least 64 KB.

PipeIndex
The index of the pipe. Can be either 0 or 1. Specify 0 to use the low priority compute pipe, or 1 to use the high priority compute pipe.

QueueIndex
The index of the queue. For pipe 0, this can be 0-5. For pipe 1, this can be 0-2.

InitialPriority
Initial priority value for the queue, as a D3D11X_COMPUTE_CONTEXT_PRIORITY enumeration constant. Priority affects scheduling amongst queues within a single pipe. For pipe 1, the priority must be less than or equal to D3D11X_COMPUTE_CONTEXT_PRIORITY_HIGHER.

SegmentSizeBytes
The segment size, in bytes. Specify 0 for the default value (8 KB). Non-zero values must be a multiple of 4 bytes, and must be at least 4 KB.

ScratchMemorySizeBytes
The scratch memory size, in bytes. This memory is used for shader register spilling.

Remarks

This structure is passed into ID3D11DeviceX::CreateComputeContextX.

This structure is used to specify parameters for the compute context, such as pipe and queue index, ring buffer size, and flags. A title can create more than one compute context at a time, but they have to submit to different hardware queues. A title can adjust priority for each compute context independently, and change a context’s priority dynamically. See also ID3D11ComputeContextX::SetComputeShaderLimits.

Requirements

Header: Declared in d3d11_x.h.