39 lines
1.0 KiB
Markdown
39 lines
1.0 KiB
Markdown
# D3D12Fence
|
|
|
|
**命名空间**: `XCEngine::RHI`
|
|
|
|
**继承自**: `RHIFence`
|
|
|
|
**描述**: DirectX 12 栅栏同步对象,用于 GPU/CPU 同步和跨队列同步。
|
|
|
|
## 公共方法
|
|
|
|
| 方法 | 描述 |
|
|
|------|------|
|
|
| [`Initialize`](initialize.md) | 初始化栅栏 |
|
|
| [`Shutdown`](shutdown.md) | 关闭并释放资源 |
|
|
| [`Signal`](signal.md) | 信号栅栏 |
|
|
| [`Wait`](wait.md) | 等待栅栏 |
|
|
| [`GetCompletedValue`](get-completed-value.md) | 获取完成值 |
|
|
| [`IsSignaled`](is-signaled.md) | 检查是否已信号 |
|
|
| [`GetEventHandle`](get-event-handle.md) | 获取事件句柄 |
|
|
| [`GetNativeHandle`](get-native-handle.md) | 获取原生句柄 |
|
|
| [`GetFence`](get-fence.md) | 获取 D3D12 栅栏 |
|
|
|
|
## 使用示例
|
|
|
|
```cpp
|
|
ID3D12Device* device = /* 获取 D3D12 设备 */;
|
|
D3D12Fence fence;
|
|
if (!fence.Initialize(device, 0)) {
|
|
return false;
|
|
}
|
|
|
|
commandQueue->Signal(&fence, 1);
|
|
fence.Wait(1);
|
|
```
|
|
|
|
## 相关文档
|
|
|
|
- [D3D12 后端总览](../d3d12.md) - D3D12 后端总览
|
|
- [RHIFence](../../fence/fence.md) - 抽象栅栏接口 |