D3D12XBOX_CREATE_DEVICE_PARAMETERS Structure

Specifies parameters used during device creation on Xbox hardware.

Syntax

typedef struct D3D12XBOX_CREATE_DEVICE_PARAMETERS {
    UINT Version;
    D3D12XBOX_PROCESS_DEBUG_FLAGS ProcessDebugFlags;
    UINT GraphicsCommandQueueRingSizeBytes;
    D3D12_GPU_VIRTUAL_ADDRESS pOffchipTessellationBuffer;
    D3D12_GPU_VIRTUAL_ADDRESS pTessellationFactorsBuffer;
    UINT GraphicsScratchMemorySizeBytes;
    UINT ComputeScratchMemorySizeBytes;
    BOOL DisableGeometryShaderAllocations;
    BOOL DisableTessellationShaderAllocations;
} D3D12XBOX_CREATE_DEVICE_PARAMETERS;  

Members

Version
SDK version. Its expected that this parameter be passed D3D12_SDK_VERSION.

ProcessDebugFlags
Overrides any settings from D3D12XboxSetProcessDebugFlags or ID3D12Debug::SetProcessDebugFlags.

GraphicsCommandQueueRingSizeBytes
Specifies the amount of memory to reserve for command queue ring buffers. This can be any multiple of 64KB at least 128KB in size. Use D3D12XBOX_DEFAULT_SIZE_BYTES for the default size of 4MB.

pOffchipTessellationBuffer
Specifies the virtual address of a buffer where Tessellation factors are stored. This can be a pointer to a graphics memory buffer of size D3D12XBOX_OFFCHIP_TESSELLATION_BUFFER_SIZE or 0 for the driver to allocate one.

GraphicsScratchMemorySizeBytes
Specifies the amount of scratch memory to reserve for graphics shaders. This can be 0 or D3D12XBOX_DEFAULT_SIZE_BYTES for the default size of 16MB.

ComputeScratchMemorySizeBytes
Specifies the amount of scratch memory to reserve for compute shaders. This can be any multiple of 64KB, including 0. Use D3D12XBOX_DEFAULT_SIZE_BYTES for the default size of 16MB.

DisableGeometryShaderAllocations
Specify true to disable geometry shaders (GS). This prevents off-chip GS from being used on the device as it saves memory by not allocating GS ring buffers.

DisableTessellationShaderAllocations
Specify true to disable tessellation, both on-chip and off-chip. This prevents tessellation from being used on this device as it saves memory by not allocating tessellator ring buffers.

Requirements

Header: Declared in d3d12_x.h.

Library: Use d3d12_x.lib.