在 Windows API 的 Direct3D 12 中,D3D12_MESSAGE_CATEGORY 枚举用于指定调试消息的类别。这个枚举通常用于配置信息队列过滤器,以选择性地捕获或忽略特定类别的消息。

以下是 D3D12_MESSAGE_CATEGORY 枚举的定义:
typedef enum D3D12_MESSAGE_CATEGORY
{
    D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED = 0,
    D3D12_MESSAGE_CATEGORY_MISCELLANEOUS = 1,
    D3D12_MESSAGE_CATEGORY_INITIALIZATION = 2,
    D3D12_MESSAGE_CATEGORY_CLEANUP = 3,
    D3D12_MESSAGE_CATEGORY_COMPILATION = 4,
    D3D12_MESSAGE_CATEGORY_STATE_CREATION = 5,
    D3D12_MESSAGE_CATEGORY_STATE_SETTING = 6,
    D3D12_MESSAGE_CATEGORY_STATE_GETTING = 7,
    D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = 8,
    D3D12_MESSAGE_CATEGORY_EXECUTION = 9,
} D3D12_MESSAGE_CATEGORY;

枚举值包括:

  •  D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED:应用程序定义的消息类别。


  •  D3D12_MESSAGE_CATEGORY_MISCELLANEOUS:杂项消息,与其他类别不匹配的消息。


  •  D3D12_MESSAGE_CATEGORY_INITIALIZATION:初始化消息,涉及 Direct3D 12 初始化的消息。


  •  D3D12_MESSAGE_CATEGORY_CLEANUP:清理消息,与资源清理和收尾工作有关的消息。


  •  D3D12_MESSAGE_CATEGORY_COMPILATION:编译消息,与着色器或其他编译过程有关的消息。


  •  D3D12_MESSAGE_CATEGORY_STATE_CREATION:状态创建消息,与状态对象的创建有关的消息。


  •  D3D12_MESSAGE_CATEGORY_STATE_SETTING:状态设置消息,与状态对象的设置有关的消息。


  •  D3D12_MESSAGE_CATEGORY_STATE_GETTING:状态获取消息,与状态对象的获取有关的消息。


  •  D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION:资源操作消息,与资源的创建、销毁或其他操作有关的消息。


  •  D3D12_MESSAGE_CATEGORY_EXECUTION:执行消息,与命令列表的执行有关的消息。


这些消息类别用于在信息队列中选择性地捕获或忽略特定类型的消息。你可以使用这些类别配置信息队列过滤器,通常通过相关的调试接口。请注意,这些信息队列过滤条件主要用于开发和调试目的,不应该在生产环境中启用。在发布应用程序之前,请确保禁用这些调试设置。同样,这些信息可能随着时间的推移而有所变化,建议查阅最新的 Microsoft 文档以获取详细信息。


转载请注明出处:http://www.zyzy.cn/article/detail/26155/Win32 API/D3d12sdklayers.h/D3D12_MESSAGE_CATEGORY