refactor: reorganize docs into plan/ and add skills/
This commit is contained in:
63
docs/api/rhi/opengl/opengl-command-queue.md
Normal file
63
docs/api/rhi/opengl/opengl-command-queue.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# OpenGLCommandQueue
|
||||
|
||||
OpenGL 命令队列实现。OpenGL 是立即模式 API,此类主要提供 RHI 接口兼容。
|
||||
|
||||
## 头文件
|
||||
|
||||
```cpp
|
||||
#include <XCEngine/RHI/OpenGL/OpenGLCommandQueue.h>
|
||||
```
|
||||
|
||||
## 继承关系
|
||||
|
||||
```
|
||||
RHICommandQueue (interface)
|
||||
└── OpenGLCommandQueue (implementation)
|
||||
```
|
||||
|
||||
## 公共成员函数
|
||||
|
||||
### 构造函数与析构函数
|
||||
|
||||
#### `OpenGLCommandQueue()`
|
||||
|
||||
#### `~OpenGLCommandQueue() override`
|
||||
|
||||
### 生命周期
|
||||
|
||||
#### `void Shutdown() override`
|
||||
|
||||
### 命令执行
|
||||
|
||||
#### `void ExecuteCommandLists(uint32_t count, void** lists) override`
|
||||
执行命令列表(OpenGL 下为 no-op,直接调用 GL 命令)。
|
||||
|
||||
### 同步
|
||||
|
||||
#### `void Signal(RHIFence* fence, uint64_t value) override`
|
||||
发送信号。
|
||||
|
||||
#### `void Wait(RHIFence* fence, uint64_t value) override`
|
||||
等待栅栏。
|
||||
|
||||
#### `uint64_t GetCompletedValue() override`
|
||||
|
||||
#### `void WaitForIdle() override`
|
||||
等待空闲(调用 `glFinish`)。
|
||||
|
||||
### 属性
|
||||
|
||||
#### `CommandQueueType GetType() const override`
|
||||
返回 `CommandQueueType::Direct`。
|
||||
|
||||
#### `uint64_t GetTimestampFrequency() const override`
|
||||
返回 0。
|
||||
|
||||
#### `void* GetNativeHandle() override`
|
||||
返回 `nullptr`。
|
||||
|
||||
## 备注
|
||||
|
||||
- OpenGL 没有显式的命令队列,所有命令立即执行
|
||||
- `ExecuteCommandLists` 在 OpenGL 后端为空操作
|
||||
- `Signal`/`Wait` 仍然工作,使用 GLsync/fence 对象实现
|
||||
Reference in New Issue
Block a user