// d3d12umddi.h
typedef enum D3D12DDI_COMMAND_QUEUE_FLAGS {
D3D12DDI_COMMAND_QUEUE_FLAG_NONE = 0x00000000,
D3D12DDI_COMMAND_QUEUE_FLAG_3D = 0x00000001,
D3D12DDI_COMMAND_QUEUE_FLAG_COMPUTE = 0x00000002,
D3D12DDI_COMMAND_QUEUE_FLAG_COPY = 0x00000004,
D3D12DDI_COMMAND_QUEUE_FLAG_PAGING = 0x00000008,
D3D12DDI_COMMAND_QUEUE_FLAG_0020_VIDEO_LEGACY = 0x00000010,
D3D12DDI_COMMAND_QUEUE_FLAG_0022_VIDEO_DECODE = 0x00000010,
D3D12DDI_COMMAND_QUEUE_FLAG_0022_VIDEO_PROCESS = 0x00000020,
D3D12DDI_COMMAND_QUEUE_FLAG_0053_VIDEO_ENCODE = 0x00000040
} ;
View the official Windows Driver Kit DDI referenceNo description available.
The D3D12DDI_COMMAND_QUEUE_FLAGS enumeration specifies the type of command list to use on the command queue being created.
D3D12DDI_COMMAND_QUEUE_FLAG_NONE:0x00000000No flags are specified.
D3D12DDI_COMMAND_QUEUE_FLAG_3D:0x00000001Indicates a command queue compatible with graphics pipelines.
D3D12DDI_COMMAND_QUEUE_FLAG_COMPUTE:0x00000002Indicates a command queue compatible with compute pipelines.
D3D12DDI_COMMAND_QUEUE_FLAG_COPY:0x00000004Indicates a command queue compatible with a copy engine.
D3D12DDI_COMMAND_QUEUE_FLAG_PAGING:0x00000008Reserved; do not use.
D3D12DDI_COMMAND_QUEUE_FLAG_0020_VIDEO_LEGACY:0x00000010Deprecated; do not use.
D3D12DDI_COMMAND_QUEUE_FLAG_0022_VIDEO_DECODE:0x00000010Indicates a command queue compatible with video decoding.
D3D12DDI_COMMAND_QUEUE_FLAG_0022_VIDEO_PROCESS:0x00000020Indicates a command queue compatible with video processing.
D3D12DDI_COMMAND_QUEUE_FLAG_0053_VIDEO_ENCODE:0x00000040Indicates a command queue compatible with video encoding.
There are separate queue types for video decode and video processing. The video decode command queue only supports submitting video decode command lists and the video process command queue only supports submitting video process command lists. Both video decode and video process share the same DDI table definition, but separate table instances are retrieved from the driver for each type, see D3D12DDI_TABLE_TYPE.
Because video decode and video processing are separate queue types, they are necessarily separate queue instances. Applications are required to synchronize between separate queue instances; therefore, drivers must not implicitly synchronize between decode and video process queues.
D3D12DDI_D3D12_OPTIONS_DATA_0089
D3D12DDIARG_CREATECOMMANDQUEUE_0050
Pfnd3d12ddiCreatecommandqueue0050