在 Win32 API 的 Direct3D 12 中,D3D12_COMMAND_LIST_TYPE 枚举用于表示不同类型的命令列表。以下是该枚举的定义:
typedef enum D3D12_COMMAND_LIST_TYPE {
  D3D12_COMMAND_LIST_TYPE_DIRECT       = 0,
  D3D12_COMMAND_LIST_TYPE_BUNDLE       = 1,
  D3D12_COMMAND_LIST_TYPE_COMPUTE      = 2,
  D3D12_COMMAND_LIST_TYPE_COPY         = 3,
  D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE = 4,
  D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS = 5,
  D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE = 6,
  D3D12_COMMAND_LIST_TYPE_COPY_QUEUE_PRIMITIVE = 7,
  D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE_QUEUE_PRIMITIVE = 8,
  D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS_QUEUE_PRIMITIVE = 9,
  D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE_QUEUE_PRIMITIVE = 10,
  D3D12_COMMAND_LIST_TYPE_VIDEO_MOTION_ESTIMATOR = 11,
  D3D12_COMMAND_LIST_TYPE_VIDEO_MOTION_VECTOR_GENERATOR = 12,
  D3D12_COMMAND_LIST_TYPE_RESERVED_3   = 13,
  D3D12_COMMAND_LIST_TYPE_RESERVED_4   = 14,
  D3D12_COMMAND_LIST_TYPE_RESERVED_5   = 15,
  D3D12_COMMAND_LIST_TYPE_RESERVED_6   = 16,
  D3D12_COMMAND_LIST_TYPE_VIDEO_EXTENSION_COMMAND   = 17,
  D3D12_COMMAND_LIST_TYPE_VIDEO_MOTION_ESTIMATOR_KERNEL   = 18,
  D3D12_COMMAND_LIST_TYPE_VIDEO_EXTENSION_COMMAND_QUEUE_PRIMITIVE   = 19,
  D3D12_COMMAND_LIST_TYPE_VIDEO_MOTION_ESTIMATOR_KERNEL_QUEUE_PRIMITIVE   = 20,
  D3D12_COMMAND_LIST_TYPE_VIDEO_EXTENSION_COMMAND_QUEUE_PRIMITIVE_SHADER  = 21,
  D3D12_COMMAND_LIST_TYPE_VIDEO_EXTENSION_COMMAND_QUEUE_PRIMITIVE_SHADER_KERNEL   = 22,
  D3D12_COMMAND_LIST_TYPE_MAX_VALID   = 23
} D3D12_COMMAND_LIST_TYPE;

这个枚举定义了不同类型的命令列表,每个类型用于执行不同的操作。以下是一些常见的命令列表类型:

  •  D3D12_COMMAND_LIST_TYPE_DIRECT:表示用于执行图形和计算指令的直接命令列表。


  •  D3D12_COMMAND_LIST_TYPE_BUNDLE:表示捆绑命令列表,可以在后续的直接命令列表中执行。


  •  D3D12_COMMAND_LIST_TYPE_COMPUTE:表示用于执行计算指令的命令列表。


  •  D3D12_COMMAND_LIST_TYPE_COPY:表示用于执行拷贝指令的命令列表。


  •  D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE:表示用于视频解码的命令列表。


  •  D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS:表示用于视频处理的命令列表。


  •  D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE:表示用于视频编码的命令列表。


等等。

通过选择适当的命令列表类型,应用程序可以在命令队列中提交不同类型的命令,以实现图形渲染、计算、拷贝和视频处理等各种功能。


转载请注明出处:http://www.zyzy.cn/article/detail/26047/Win32 API/D3d12.h/D3D12_COMMAND_LIST_TYPE