typedef enum D3D12_COMMAND_LIST_FLAGS {
D3D12_COMMAND_LIST_FLAG_NONE = 0,
D3D12_COMMAND_LIST_FLAG_ENABLE_RAYTRACING = 0x1,
D3D12_COMMAND_LIST_FLAG_DENY_USER_ATOMIC_OPS = 0x2,
D3D12_COMMAND_LIST_FLAG_DENY_TEX_FETCH_OPS = 0x4,
D3D12_COMMAND_LIST_FLAG_DENY_RT_DS_TEXTURES = 0x8
} D3D12_COMMAND_LIST_FLAGS;
这个枚举包含了以下几个成员:
- D3D12_COMMAND_LIST_FLAG_NONE:表示命令列表没有特殊的标志。
- D3D12_COMMAND_LIST_FLAG_ENABLE_RAYTRACING:表示启用了光线追踪(Raytracing)功能。当使用光线追踪时,需要设置这个标志。
- D3D12_COMMAND_LIST_FLAG_DENY_USER_ATOMIC_OPS:表示拒绝用户定义的原子操作。
- D3D12_COMMAND_LIST_FLAG_DENY_TEX_FETCH_OPS:表示拒绝纹理读取操作。
- D3D12_COMMAND_LIST_FLAG_DENY_RT_DS_TEXTURES:表示拒绝对着色器资源(Shader Resource)和深度模板资源(Depth-Stencil)的访问。
这些标志用于在创建命令列表时指定命令列表的一些属性,以满足应用程序的需求。例如,在使用光线追踪时,需要设置 D3D12_COMMAND_LIST_FLAG_ENABLE_RAYTRACING 标志。其他标志用于在命令列表中限制或禁用特定类型的操作,以满足性能或安全性的需求。
转载请注明出处:http://www.zyzy.cn/article/detail/26045/Win32 API/D3d12.h/D3D12_COMMAND_LIST_FLAGS