ID3D12Device9::CreateCommandQueue1 method (d3d12.h)

Creates a command queue with a creator ID.

Also see ID3D12Device::CreateCommandQueue.

Syntax

HRESULT CreateCommandQueue1(
  const D3D12_COMMAND_QUEUE_DESC *pDesc,
  REFIID                         CreatorID,
  REFIID                         riid,
  void                           **ppCommandQueue
);

Parameters

pDesc

Type: _In_ const D3D12_COMMAND_QUEUE_DESC*

Specifies a D3D12_COMMAND_QUEUE_DESC that describes the command queue.

CreatorID

Type: REFIID

A creator ID. See Remarks.

riid

Type: REFIID

The globally unique identifier (GUID) for the command queue interface.

ppCommandQueue

Type: _COM_Outptr_ void**

A pointer to a memory block that receives a pointer to the ID3D12CommandQueue interface for the command queue.

Return value

Type: HRESULT

Returns E_OUTOFMEMORY if there's insufficient memory to create the command queue; otherwise S_OK. See Direct3D 12 return codes for other possible return values.

Remarks

When multiple components in the same process are sharing a single Direct3D 12 device, often they will end up with separate workloads on independent command queues. In some hardware implementations, independent queues can run in parallel only with specific other command queues.

Direct3D 12 applies a first-come, first-serve grouping for queues, which might not work well for all application or component designs. To help inform Direct3D 12's grouping of queues, you can specify a creator ID (which is unique per component) that restricts the grouping to other queues with the same ID. When possible, a component should choose the same unique ID for all of its queues. Microsoft has reserved a few well-known creator IDs for use by Microsoft-developed implementations of APIs on top of Direct3D 12.

Requirements

Requirement Value
Minimum supported client Windows 10 Build 20348
Minimum supported server Windows 10 Build 20348
Header d3d12.h
Library d3d12.lib
DLL d3d12.dll

See also