fix: improve doc link navigation and tree display

- Fix link resolution with proper relative/absolute path handling
- Improve link styling with underline decoration
- Hide leaf nodes from tree, only show directories
- Fix log file path for packaged app
This commit is contained in:
2026-03-19 12:44:08 +08:00
parent e003fe6513
commit 58a83f445a
1012 changed files with 56880 additions and 22 deletions

View File

@@ -0,0 +1,50 @@
# RHICommandQueue
**命名空间**: `XCEngine::RHI`
**类型**: `class` (abstract)
**描述**: GPU 命令队列抽象接口,负责提交和执行命令列表,以及 GPU/CPU 同步。
## 公共方法
| 方法 | 描述 |
|------|------|
| [`Shutdown`](shutdown.md) | 关闭并释放资源 |
| [`ExecuteCommandLists`](execute-command-lists.md) | 执行命令列表 |
| [`Signal`](signal.md) | 信号栅栏 |
| [`Wait`](../../threading/task-group/wait.md) | 等待栅栏 |
| [`GetCompletedValue`](get-completed-value.md) | 获取完成值 |
| [`WaitForIdle`](wait-for-idle.md) | 等待空闲 |
| [`GetType`](get-type.md) | 获取队列类型 |
| [`GetTimestampFrequency`](get-timestamp-frequency.md) | 获取时间戳频率 |
| [`GetNativeHandle`](get-native-handle.md) | 获取原生句柄 |
## 命令队列类型 (CommandQueueType)
| 枚举值 | 描述 |
|--------|------|
| `Direct` | 直接队列,用于图形和计算命令 |
| `Compute` | 计算队列,专门用于计算着色器 |
| `Copy` | 复制队列,专门用于资源复制 |
## 使用示例
```cpp
CommandQueueDesc queueDesc;
queueDesc.queueType = (uint32_t)CommandQueueType::Direct;
RHICommandQueue* commandQueue = device->CreateCommandQueue(queueDesc);
FenceDesc fenceDesc;
RHIFence* fence = device->CreateFence(fenceDesc);
commandQueue->ExecuteCommandLists(1, (void**)&commandList);
commandQueue->Signal(fence, 1);
fence->Wait(1);
```
## 相关文档
- [../rhi/rhi.md](../rhi.md) - RHI 模块总览
- [RHICommandList](../command-list/command-list.md) - 命令列表
- [RHIFence](../fence/fence.md) - 同步栅栏

View File

@@ -0,0 +1,22 @@
# RHICommandQueue::ExecuteCommandLists
```cpp
virtual void ExecuteCommandLists(uint32_t count, void** lists) = 0;
```
执行命令列表。
**参数:**
- `count` - 命令列表数量
- `lists` - 命令列表指针数组
**示例:**
```cpp
void* lists[1] = {cmdList};
cmdQueue->ExecuteCommandLists(1, lists);
```
## 相关文档
- [RHICommandQueue 总览](command-queue.md) - 返回类总览

View File

@@ -0,0 +1,19 @@
# RHICommandQueue::GetCompletedValue
```cpp
virtual uint64_t GetCompletedValue() = 0;
```
获取栅栏已完成值。
**返回:** 已完成的信号值
**示例:**
```cpp
uint64_t value = cmdQueue->GetCompletedValue();
```
## 相关文档
- [RHICommandQueue 总览](command-queue.md) - 返回类总览

View File

@@ -0,0 +1,15 @@
# RHICommandQueue::GetNativeHandle
```cpp
virtual void* GetNativeHandle() = 0;
```
获取原生 API 句柄。
**返回:** 原生命令队列句柄
**复杂度:** O(1)
## 相关文档
- [RHICommandQueue 总览](command-queue.md) - 返回类总览

View File

@@ -0,0 +1,19 @@
# RHICommandQueue::GetTimestampFrequency
```cpp
virtual uint64_t GetTimestampFrequency() const = 0;
```
获取时间戳频率。
**返回:** 时间戳频率(每秒计数)
**示例:**
```cpp
uint64_t freq = cmdQueue->GetTimestampFrequency();
```
## 相关文档
- [RHICommandQueue 总览](command-queue.md) - 返回类总览

View File

@@ -0,0 +1,15 @@
# RHICommandQueue::GetType
```cpp
virtual CommandQueueType GetType() const = 0;
```
获取命令队列类型。
**返回:** 命令队列类型枚举值
**复杂度:** O(1)
## 相关文档
- [RHICommandQueue 总览](command-queue.md) - 返回类总览

View File

@@ -0,0 +1,73 @@
# RHICommandQueue 方法
## Shutdown
```cpp
virtual void Shutdown() = 0;
```
关闭命令队列。
## ExecuteCommandLists
```cpp
virtual void ExecuteCommandLists(uint32_t count, void** lists) = 0;
```
执行命令列表。
## Signal
```cpp
virtual void Signal(RHIFence* fence, uint64_t value) = 0;
```
信号通知栅栏。
## Wait
```cpp
virtual void Wait(RHIFence* fence, uint64_t value) = 0;
```
等待栅栏。
## GetCompletedValue
```cpp
virtual uint64_t GetCompletedValue() = 0;
```
获取已完成的值。
## WaitForIdle
```cpp
virtual void WaitForIdle() = 0;
```
等待队列空闲。
## GetType
```cpp
virtual CommandQueueType GetType() const = 0;
```
获取队列类型。
## GetTimestampFrequency
```cpp
virtual uint64_t GetTimestampFrequency() const = 0;
```
获取时间戳频率。
## GetNativeHandle
```cpp
virtual void* GetNativeHandle() = 0;
```
获取原生 API 句柄。

View File

@@ -0,0 +1,13 @@
# RHICommandQueue::Shutdown
```cpp
virtual void Shutdown() = 0;
```
关闭命令队列,释放所有相关资源。
**复杂度:** O(n) - 取决于管理的命令列表数量
## 相关文档
- [RHICommandQueue 总览](command-queue.md) - 返回类总览

View File

@@ -0,0 +1,21 @@
# RHICommandQueue::Signal
```cpp
virtual void Signal(RHIFence* fence, uint64_t value) = 0;
```
向栅栏发送信号。
**参数:**
- `fence` - 目标栅栏
- `value` - 信号值
**示例:**
```cpp
cmdQueue->Signal(fence, 1);
```
## 相关文档
- [RHICommandQueue 总览](command-queue.md) - 返回类总览

View File

@@ -0,0 +1,17 @@
# RHICommandQueue::WaitForIdle
```cpp
virtual void WaitForIdle() = 0;
```
等待命令队列完成所有操作。
**示例:**
```cpp
cmdQueue->WaitForIdle();
```
## 相关文档
- [RHICommandQueue 总览](command-queue.md) - 返回类总览