D3D11X_CREATE_DEVICE_PARAMETERS Structure

Parameters for creating a device.

Syntax

typedef struct D3D11X_CREATE_DEVICE_PARAMETERS {
    UINT Version;
    UINT Flags;
    void *pOffchipTessellationBuffer;
    void *pTessellationFactorsBuffer;
    UINT DeferredDeletionThreadAffinityMask;
    UINT ImmediateContextDeRingSizeBytes;
    UINT ImmediateContextCeRingSizeBytes;
    UINT ImmediateContextDeSegmentSizeBytes;
    UINT ImmediateContextCeSegmentSizeBytes;
    BOOL DisableGraphicsScratchMemoryAllocation;
    BOOL DisableComputeScratchMemoryAllocation;
    BOOL DisableGeometryShaderAllocation;
    BOOL DisableTesselationShaderAllocation;
} D3D11X_CREATE_DEVICE_PARAMETERS;  

Members

Version
The version of the device. Equivalent to the SDKVersion parameter of D3D11CreateDevice.

Flags
The device creation flags. Equivalent to the Flags parameter of D3D11CreateDevice; that parameter is a combination of D3D11_CREATE_DEVICE_FLAG enumeration constants.

pOffchipTessellationBuffer
The off-chip tessellation buffer, as a void pointer.

pTessellationFactorsBuffer
The tessellation factors buffer, as a void pointer.

DeferredDeletionThreadAffinityMask
Sets the hardware thread affinity mask for the worker thread that Direct3D creates to handle garbage collection when D3D11_CREATE_DEVICE_MANUAL_GARBAGE_COLLECTION has not been specified at CreateDevice time (such as D3D11CreateDevice).

This mask is specified in the same way as the mask used by SetThreadAffinityMask. Titles should specify a hardware thread on a core that is little used (and should never specify a hardware thread that the render thread is on).

The default value is 0x20, meaning hardware core 5.

ImmediateContextDeRingSizeBytes
Specify 0 for the default value (4 MB). Non-zero values must be a multiple of 64 KB, and must be at least 512 KB.

ImmediateContextCeRingSizeBytes
Specify 0 for the default value (4 MB). Non-zero values must be a multiple of 64 KB, and must be at least 512 KB.

ImmediateContextDeSegmentSizeBytes
Specify 0 for the default value (128 KB). Non-zero values must be a multiple of 4 bytes, and must be at least 4 KB.

ImmediateContextCeSegmentSizeBytes
Specify 0 for the default value (64 KB). Non-zero values must be a multiple of 4 bytes, and must be at least 4 KB.

DisableGraphicsScratchMemoryAllocation
Specify true to instruct the driver not to allocate scratch memory for graphics draw calls; false to allocate scratch memory.

DisableComputeScratchMemoryAllocation
Specify true to instruct the driver not to allocate scratch memory for compute dispatch calls; false to allocate scratch memory.

DisableGeometryShaderAllocation
Specify true to instruct the driver not to allocate memory buffers for geometry shader invocations; false to allocate the buffer.

DisableTesselationShaderAllocation
Specify true to instruct the driver not to allocate memory buffers for tessellator invocations; false to allocate the buffer.

Remarks

This structure is passed into the functions D3D11XCreateDeviceX and D3D11XCreateDeviceXAndSwapChain1.

Because the compute capacity of the Xbox One X GPU has increased by a larger factor than other functional units like the tessellator, it might be favorable to move some tasks into compute shaders. If you are no longer using geometry shaders or the tessellator, you can save graphics memory by not allocating their buffers.

Requirements

Header: Declared in d3d11_x.h.

Library: Use d3d11_x.lib.