- 新增32个方法文档(D3D12Buffer 13个,D3D12Texture 12个,D3D12SwapChain 6个) - 修复11处跨模块引用错误(rhi-device.md, rhi-texture.md等路径错误) - 清理d3d12-overview.md移除不存在的类引用 - 修复D3D12Device/D3D12CommandList/D3D12CommandQueue方法列表 - D3D12模块现无broken links
52 lines
1.3 KiB
Markdown
52 lines
1.3 KiB
Markdown
# D3D12CommandQueue
|
|
|
|
**命名空间**: `XCEngine::RHI`
|
|
|
|
**类型**: `class`
|
|
|
|
**头文件**: `XCEngine/RHI/D3D12/D3D12CommandQueue.h`
|
|
|
|
**描述**: DirectX 12 命令队列封装类,负责提交命令列表到 GPU 执行
|
|
|
|
## 概述
|
|
|
|
D3D12CommandQueue 是 DirectX 12 命令队列的封装类,继承自 RHICommandQueue 接口。它负责将录制好的命令列表提交到 GPU 执行,支持 GPU/CPU 同步操作,如信号、等待等。命令队列是渲染管线的核心组件,所有渲染命令都通过命令队列提交到 GPU。
|
|
|
|
## 公共方法
|
|
|
|
| 方法 | 描述 |
|
|
|------|------|
|
|
| `D3D12CommandQueue()` | 默认构造函数 |
|
|
| `~D3D12CommandQueue()` | 虚析构函数 |
|
|
|
|
## 使用示例
|
|
|
|
```cpp
|
|
#include <XCEngine/RHI/D3D12/D3D12CommandQueue.h>
|
|
|
|
using namespace XCEngine::RHI;
|
|
|
|
// 创建命令队列
|
|
D3D12CommandQueue commandQueue;
|
|
commandQueue.Initialize(device, CommandQueueType::Direct);
|
|
|
|
// 执行命令列表
|
|
ID3D12CommandList* lists[] = { commandList->GetCommandList() };
|
|
commandQueue.ExecuteCommandListsInternal(1, lists);
|
|
|
|
// 信号同步
|
|
commandQueue.Signal(fence, frameIndex);
|
|
commandQueue.WaitForPreviousFrame();
|
|
|
|
// 等待空闲
|
|
commandQueue.WaitForIdle();
|
|
|
|
// 关闭
|
|
commandQueue.Shutdown();
|
|
```
|
|
|
|
## 相关文档
|
|
|
|
- [D3D12 模块概览](d3d12.md) - D3D12 模块总览
|
|
- [D3D12CommandList](d3d12-command-list.md) - 命令列表
|