docs: update RHI API docs
This commit is contained in:
31
docs/api/rhi/d3d12/device/compile-shader.md
Normal file
31
docs/api/rhi/d3d12/device/compile-shader.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# D3D12Device::CompileShader
|
||||
|
||||
```cpp
|
||||
RHIShader* CompileShader(const ShaderCompileDesc& desc) override;
|
||||
```
|
||||
|
||||
编译 D3D12 着色器。
|
||||
|
||||
**参数:**
|
||||
- `desc` - 着色器编译描述符,包含文件名、入口点、Profile 等
|
||||
|
||||
**返回:** 新创建的着色器指针,失败返回 `nullptr`
|
||||
|
||||
**复杂度:** 取决于着色器复杂度
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
ShaderCompileDesc shaderDesc;
|
||||
shaderDesc.fileName = L"shaders/vertex.hlsl";
|
||||
shaderDesc.entryPoint = "VSMain";
|
||||
shaderDesc.profile = "vs_5_0";
|
||||
|
||||
RHIShader* shader = device->CompileShader(shaderDesc);
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [RHIDevice::CompileShader](../../device/compile-shader.md) - 基类方法
|
||||
- [D3D12Shader](../../shader/shader.md) - D3D12 着色器实现
|
||||
32
docs/api/rhi/d3d12/device/create-buffer.md
Normal file
32
docs/api/rhi/d3d12/device/create-buffer.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# D3D12Device::CreateBuffer
|
||||
|
||||
```cpp
|
||||
RHIBuffer* CreateBuffer(const BufferDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 缓冲区资源。
|
||||
|
||||
**参数:**
|
||||
- `desc` - 缓冲区描述符,包含大小、类型、标志等
|
||||
|
||||
**返回:** 新创建的缓冲区指针,失败返回 `nullptr`
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
BufferDesc bufferDesc;
|
||||
bufferDesc.size = sizeof(Vertex) * vertexCount;
|
||||
bufferDesc.stride = sizeof(Vertex);
|
||||
bufferDesc.bufferType = (uint32_t)BufferType::Vertex;
|
||||
bufferDesc.flags = 0;
|
||||
|
||||
RHIBuffer* vertexBuffer = device->CreateBuffer(bufferDesc);
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [RHIDevice::CreateBuffer](../../device/create-buffer.md) - 基类方法
|
||||
- [D3D12Buffer](../../buffer/buffer.md) - D3D12 缓冲区实现
|
||||
19
docs/api/rhi/d3d12/device/create-command-list.md
Normal file
19
docs/api/rhi/d3d12/device/create-command-list.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# D3D12Device::CreateCommandList
|
||||
|
||||
```cpp
|
||||
RHICommandList* CreateCommandList(const CommandListDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 命令列表。
|
||||
|
||||
**参数:**
|
||||
- `desc` - 命令列表描述符
|
||||
|
||||
**返回:** 新创建的命令列表指针
|
||||
|
||||
**注意:** 当前实现返回 `nullptr`
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [RHIDevice::CreateCommandList](../../device/create-command-list.md) - 基类方法
|
||||
19
docs/api/rhi/d3d12/device/create-command-queue.md
Normal file
19
docs/api/rhi/d3d12/device/create-command-queue.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# D3D12Device::CreateCommandQueue
|
||||
|
||||
```cpp
|
||||
RHICommandQueue* CreateCommandQueue(const CommandQueueDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 命令队列。
|
||||
|
||||
**参数:**
|
||||
- `desc` - 命令队列描述符
|
||||
|
||||
**返回:** 新创建的命令队列指针
|
||||
|
||||
**注意:** 当前实现返回 `nullptr`
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [RHIDevice::CreateCommandQueue](../../device/create-command-queue.md) - 基类方法
|
||||
27
docs/api/rhi/d3d12/device/create-fence.md
Normal file
27
docs/api/rhi/d3d12/device/create-fence.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# D3D12Device::CreateFence
|
||||
|
||||
```cpp
|
||||
RHIFence* CreateFence(const FenceDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 栅栏。
|
||||
|
||||
**参数:**
|
||||
- `desc` - 栅栏描述符,包含初始值等
|
||||
|
||||
**返回:** 新创建的栅栏指针,失败返回 `nullptr`
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
FenceDesc fenceDesc;
|
||||
fenceDesc.initialValue = 0;
|
||||
|
||||
RHIFence* fence = device->CreateFence(fenceDesc);
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [RHIDevice::CreateFence](../../device/create-fence.md) - 基类方法
|
||||
- [D3D12Fence](../../fence/fence.md) - D3D12 栅栏实现
|
||||
19
docs/api/rhi/d3d12/device/create-pipeline-state.md
Normal file
19
docs/api/rhi/d3d12/device/create-pipeline-state.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# D3D12Device::CreatePipelineState
|
||||
|
||||
```cpp
|
||||
RHIPipelineState* CreatePipelineState(const PipelineStateDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 管线状态对象。
|
||||
|
||||
**参数:**
|
||||
- `desc` - 管线状态描述符
|
||||
|
||||
**返回:** 新创建的管线状态指针
|
||||
|
||||
**注意:** 当前实现返回 `nullptr`
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [RHIDevice::CreatePipelineState](../../device/create-pipeline-state.md) - 基类方法
|
||||
30
docs/api/rhi/d3d12/device/create-sampler.md
Normal file
30
docs/api/rhi/d3d12/device/create-sampler.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# D3D12Device::CreateSampler
|
||||
|
||||
```cpp
|
||||
RHISampler* CreateSampler(const SamplerDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 采样器。
|
||||
|
||||
**参数:**
|
||||
- `desc` - 采样器描述符,包含过滤模式、地址模式等
|
||||
|
||||
**返回:** 新创建的采样器指针,失败返回 `nullptr`
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
SamplerDesc samplerDesc;
|
||||
samplerDesc.filter = (uint32_t)D3D12_FILTER_MIN_MAG_MIP_LINEAR;
|
||||
samplerDesc.addressU = (uint32_t)D3D12_TEXTURE_ADDRESS_MODE_WRAP;
|
||||
samplerDesc.addressV = (uint32_t)D3D12_TEXTURE_ADDRESS_MODE_WRAP;
|
||||
samplerDesc.addressW = (uint32_t)D3D12_TEXTURE_ADDRESS_MODE_WRAP;
|
||||
|
||||
RHISampler* sampler = device->CreateSampler(samplerDesc);
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [RHIDevice::CreateSampler](../../device/create-sampler.md) - 基类方法
|
||||
- [D3D12Sampler](../../sampler/sampler.md) - D3D12 采样器实现
|
||||
19
docs/api/rhi/d3d12/device/create-swap-chain.md
Normal file
19
docs/api/rhi/d3d12/device/create-swap-chain.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# D3D12Device::CreateSwapChain
|
||||
|
||||
```cpp
|
||||
RHISwapChain* CreateSwapChain(const SwapChainDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 交换链。
|
||||
|
||||
**参数:**
|
||||
- `desc` - 交换链描述符
|
||||
|
||||
**返回:** 新创建的交换链指针
|
||||
|
||||
**注意:** 当前实现返回 `nullptr`
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [RHIDevice::CreateSwapChain](../../device/create-swap-chain.md) - 基类方法
|
||||
36
docs/api/rhi/d3d12/device/create-texture.md
Normal file
36
docs/api/rhi/d3d12/device/create-texture.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# D3D12Device::CreateTexture
|
||||
|
||||
```cpp
|
||||
RHITexture* CreateTexture(const TextureDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 纹理资源。
|
||||
|
||||
**参数:**
|
||||
- `desc` - 纹理描述符,包含维度、格式、分辨率等
|
||||
|
||||
**返回:** 新创建的纹理指针,失败返回 `nullptr`
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
TextureDesc texDesc;
|
||||
texDesc.textureType = (uint32_t)D3D12_RESOURCE_DIMENSION_TEXTURE2D;
|
||||
texDesc.width = 1920;
|
||||
texDesc.height = 1080;
|
||||
texDesc.depth = 1;
|
||||
texDesc.mipLevels = 1;
|
||||
texDesc.format = (uint32_t)DXGI_FORMAT_R8G8B8A8_UNORM;
|
||||
texDesc.sampleCount = 1;
|
||||
texDesc.sampleQuality = 0;
|
||||
|
||||
RHITexture* texture = device->CreateTexture(texDesc);
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [RHIDevice::CreateTexture](../../device/create-texture.md) - 基类方法
|
||||
- [D3D12Texture](../../texture/texture.md) - D3D12 纹理实现
|
||||
@@ -2,34 +2,55 @@
|
||||
|
||||
**命名空间**: `XCEngine::RHI`
|
||||
|
||||
**描述**: DirectX 12 设备实现,继承自 `RHIDevice`。
|
||||
**继承自**: `RHIDevice`
|
||||
|
||||
**描述**: DirectX 12 设备实现,用于管理 D3D12 图形适配器、创建资源和管理命令队列。
|
||||
|
||||
## 公共方法
|
||||
|
||||
| 方法 | 描述 |
|
||||
|------|------|
|
||||
| [`Initialize`](../../../threading/task-system/initialize.md) | 初始化设备 |
|
||||
| [`Shutdown`](../../../threading/task-system/shutdown.md) | 关闭设备 |
|
||||
| [`CreateBuffer`](../../device/create-buffer.md) | 创建缓冲区 |
|
||||
| [`CreateTexture`](../../device/create-texture.md) | 创建纹理 |
|
||||
| [`CreateSwapChain`](../../device/create-swap-chain.md) | 创建交换链 |
|
||||
| [`CreateCommandList`](../../device/create-command-list.md) | 创建命令列表 |
|
||||
| [`CreateCommandQueue`](../../device/create-command-queue.md) | 创建命令队列 |
|
||||
| [`CompileShader`](../../device/compile-shader.md) | 编译着色器 |
|
||||
| [`CreatePipelineState`](../../device/create-pipeline-state.md) | 创建管线状态 |
|
||||
| [`CreateFence`](../../device/create-fence.md) | 创建栅栏 |
|
||||
| [`CreateSampler`](../../device/create-sampler.md) | 创建采样器 |
|
||||
| [`GetCapabilities`](../../device/get-capabilities.md) | 获取设备能力 |
|
||||
| [`GetDeviceInfo`](../../device/get-device-info.md) | 获取设备信息 |
|
||||
| [`GetNativeDevice`](../../device/get-native-device.md) | 获取原生设备 |
|
||||
| [`Initialize`](initialize.md) | 初始化 D3D12 设备 |
|
||||
| [`Shutdown`](shutdown.md) | 关闭设备 |
|
||||
| [`CreateBuffer`](create-buffer.md) | 创建缓冲区 |
|
||||
| [`CreateTexture`](create-texture.md) | 创建纹理 |
|
||||
| [`CreateSwapChain`](create-swap-chain.md) | 创建交换链 |
|
||||
| [`CreateCommandList`](create-command-list.md) | 创建命令列表 |
|
||||
| [`CreateCommandQueue`](create-command-queue.md) | 创建命令队列 |
|
||||
| [`CompileShader`](compile-shader.md) | 编译着色器 |
|
||||
| [`CreatePipelineState`](create-pipeline-state.md) | 创建管线状态 |
|
||||
| [`CreateFence`](create-fence.md) | 创建栅栏 |
|
||||
| [`CreateSampler`](create-sampler.md) | 创建采样器 |
|
||||
| [`GetCapabilities`](get-capabilities.md) | 获取设备能力 |
|
||||
| [`GetDeviceInfo`](get-device-info.md) | 获取设备信息 |
|
||||
| [`GetNativeDevice`](get-native-device.md) | 获取原生设备 |
|
||||
| [`GetNativeHandle`](get-native-handle.md) | 获取原生句柄 |
|
||||
| [`GetDevice`](get-device.md) | 获取 D3D12 设备 |
|
||||
| [`GetFactory`](get-factory.md) | 获取 D3D12 工厂 |
|
||||
| [`GetAdapterInfo`](get-adapter-info.md) | 获取适配器信息 |
|
||||
| [`EnumerateAdapters`](enumerate-adapters.md) | 枚举适配器 |
|
||||
| [`GetDescriptorHandleIncrementSize`](get-descriptor-handle-increment-size.md) | 获取描述符增量大小 |
|
||||
| [`CheckFeatureSupport`](check-feature-support.md) | 检查特性支持 |
|
||||
| [`SetDeviceRemoved`](set-device-removed.md) | 设置设备已移除 |
|
||||
| [`IsDeviceRemoved`](is-device-removed.md) | 查询设备是否已移除 |
|
||||
|
||||
## 使用示例
|
||||
|
||||
```cpp
|
||||
RHIDeviceDesc desc;
|
||||
desc.adapterIndex = 0;
|
||||
desc.enableDebugLayer = true;
|
||||
|
||||
D3D12Device* device = new D3D12Device();
|
||||
if (device->Initialize(desc)) {
|
||||
ID3D12Device* nativeDevice = device->GetDevice();
|
||||
// 使用设备...
|
||||
device->Shutdown();
|
||||
}
|
||||
delete device;
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12 后端总览](../../opengl/overview.md)
|
||||
- [D3D12 后端总览](../d3d12.md)
|
||||
- [RHIDevice](../../device/device.md) - 抽象设备接口
|
||||
|
||||
15
docs/api/rhi/d3d12/device/get-capabilities.md
Normal file
15
docs/api/rhi/d3d12/device/get-capabilities.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# D3D12Device::GetCapabilities
|
||||
|
||||
```cpp
|
||||
const RHICapabilities& GetCapabilities() const override;
|
||||
```
|
||||
|
||||
获取 D3D12 设备能力。
|
||||
|
||||
**返回:** 设备能力引用
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [RHIDevice::GetCapabilities](../../device/get-capabilities.md) - 基类方法
|
||||
- [RHICapabilities](../../capabilities/capabilities.md) - 能力结构体
|
||||
14
docs/api/rhi/d3d12/device/get-device-info.md
Normal file
14
docs/api/rhi/d3d12/device/get-device-info.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# D3D12Device::GetDeviceInfo
|
||||
|
||||
```cpp
|
||||
const RHIDeviceInfo& GetDeviceInfo() const override;
|
||||
```
|
||||
|
||||
获取 D3D12 设备信息。
|
||||
|
||||
**返回:** 设备信息引用
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [RHIDevice::GetDeviceInfo](../../device/get-device-info.md) - 基类方法
|
||||
21
docs/api/rhi/d3d12/device/get-native-device.md
Normal file
21
docs/api/rhi/d3d12/device/get-native-device.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# D3D12Device::GetNativeDevice
|
||||
|
||||
```cpp
|
||||
void* GetNativeDevice() override;
|
||||
```
|
||||
|
||||
获取原生 D3D12 设备指针。
|
||||
|
||||
**返回:** `ID3D12Device*` 指针
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
ID3D12Device* nativeDevice = static_cast<ID3D12Device*>(device->GetNativeDevice());
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [RHIDevice::GetNativeDevice](../../device/get-native-device.md) - 基类方法
|
||||
- [GetNativeHandle](get-native-handle.md) - 获取原生句柄
|
||||
16
docs/api/rhi/d3d12/device/get-native-handle.md
Normal file
16
docs/api/rhi/d3d12/device/get-native-handle.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# D3D12Device::GetNativeHandle
|
||||
|
||||
```cpp
|
||||
void* GetNativeHandle() const;
|
||||
```
|
||||
|
||||
获取原生 D3D12 设备句柄。
|
||||
|
||||
**返回:** `ID3D12Device*` 指针
|
||||
|
||||
**注意:** 此方法返回与 `GetNativeDevice()` 相同的指针
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [GetNativeDevice](get-native-device.md) - 获取原生设备
|
||||
35
docs/api/rhi/d3d12/device/initialize.md
Normal file
35
docs/api/rhi/d3d12/device/initialize.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# D3D12Device::Initialize
|
||||
|
||||
```cpp
|
||||
bool Initialize(const RHIDeviceDesc& desc) override;
|
||||
```
|
||||
|
||||
初始化 D3D12 设备,建立与图形适配器的连接。
|
||||
|
||||
**参数:**
|
||||
- `desc` - 设备描述符,包含适配器索引、调试选项等配置
|
||||
|
||||
**返回:** 成功返回 `true`,失败返回 `false`
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
RHIDeviceDesc desc;
|
||||
desc.adapterIndex = 0;
|
||||
desc.enableDebugLayer = true;
|
||||
|
||||
D3D12Device* device = new D3D12Device();
|
||||
if (device->Initialize(desc)) {
|
||||
ID3D12Device* nativeDevice = device->GetDevice();
|
||||
} else {
|
||||
delete device;
|
||||
}
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [RHIDevice::Initialize](../../device/initialize.md) - 基类方法
|
||||
- [RHIDeviceDesc](../../types/types.md) - 设备描述结构体
|
||||
14
docs/api/rhi/d3d12/device/is-device-removed.md
Normal file
14
docs/api/rhi/d3d12/device/is-device-removed.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# D3D12Device::IsDeviceRemoved
|
||||
|
||||
```cpp
|
||||
bool IsDeviceRemoved() const;
|
||||
```
|
||||
|
||||
查询设备是否已移除。
|
||||
|
||||
**返回:** 设备已移除返回 `true`,否则返回 `false`
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [SetDeviceRemoved](set-device-removed.md) - 设置设备已移除标记
|
||||
@@ -1,165 +0,0 @@
|
||||
# D3D12Device 方法
|
||||
|
||||
## 继承方法
|
||||
|
||||
### Initialize
|
||||
|
||||
```cpp
|
||||
bool Initialize(const RHIDeviceDesc& desc) override;
|
||||
```
|
||||
|
||||
初始化 D3D12 设备。
|
||||
|
||||
### Shutdown
|
||||
|
||||
```cpp
|
||||
void Shutdown() override;
|
||||
```
|
||||
|
||||
关闭设备。
|
||||
|
||||
### CreateBuffer
|
||||
|
||||
```cpp
|
||||
RHIBuffer* CreateBuffer(const BufferDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 缓冲区。
|
||||
|
||||
### CreateTexture
|
||||
|
||||
```cpp
|
||||
RHITexture* CreateTexture(const TextureDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 纹理。
|
||||
|
||||
### CreateSwapChain
|
||||
|
||||
```cpp
|
||||
RHISwapChain* CreateSwapChain(const SwapChainDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 交换链。
|
||||
|
||||
### CreateCommandList
|
||||
|
||||
```cpp
|
||||
RHICommandList* CreateCommandList(const CommandListDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 命令列表。
|
||||
|
||||
### CreateCommandQueue
|
||||
|
||||
```cpp
|
||||
RHICommandQueue* CreateCommandQueue(const CommandQueueDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 命令队列。
|
||||
|
||||
### CompileShader
|
||||
|
||||
```cpp
|
||||
RHIShader* CompileShader(const ShaderCompileDesc& desc) override;
|
||||
```
|
||||
|
||||
编译 D3D12 着色器。
|
||||
|
||||
### CreatePipelineState
|
||||
|
||||
```cpp
|
||||
RHIPipelineState* CreatePipelineState(const PipelineStateDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 管线状态对象。
|
||||
|
||||
### CreateFence
|
||||
|
||||
```cpp
|
||||
RHIFence* CreateFence(const FenceDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 栅栏。
|
||||
|
||||
### CreateSampler
|
||||
|
||||
```cpp
|
||||
RHISampler* CreateSampler(const SamplerDesc& desc) override;
|
||||
```
|
||||
|
||||
创建 D3D12 采样器。
|
||||
|
||||
### GetCapabilities
|
||||
|
||||
```cpp
|
||||
const RHICapabilities& GetCapabilities() const override;
|
||||
```
|
||||
|
||||
获取设备能力。
|
||||
|
||||
### GetDeviceInfo
|
||||
|
||||
```cpp
|
||||
const RHIDeviceInfo& GetDeviceInfo() const override;
|
||||
```
|
||||
|
||||
获取设备信息。
|
||||
|
||||
### GetNativeDevice
|
||||
|
||||
```cpp
|
||||
void* GetNativeDevice() override;
|
||||
```
|
||||
|
||||
获取原生 D3D12 设备指针。
|
||||
|
||||
## D3D12 特有方法
|
||||
|
||||
### GetDevice
|
||||
|
||||
```cpp
|
||||
ID3D12Device* GetDevice() const;
|
||||
```
|
||||
|
||||
获取 `ID3D12Device` 接口。
|
||||
|
||||
### GetFactory
|
||||
|
||||
```cpp
|
||||
IDXGIFactory4* GetFactory() const;
|
||||
```
|
||||
|
||||
获取 `IDXGIFactory4` 接口。
|
||||
|
||||
### GetAdapterInfo
|
||||
|
||||
```cpp
|
||||
const AdapterInfo& GetAdapterInfo() const;
|
||||
```
|
||||
|
||||
获取适配器信息。
|
||||
|
||||
### EnumerateAdapters
|
||||
|
||||
```cpp
|
||||
std::vector<AdapterInfo> EnumerateAdapters();
|
||||
```
|
||||
|
||||
枚举所有适配器。
|
||||
|
||||
### GetDescriptorHandleIncrementSize
|
||||
|
||||
```cpp
|
||||
UINT GetDescriptorHandleIncrementSize(DescriptorHeapType type) const;
|
||||
```
|
||||
|
||||
获取描述符句柄增量大小。
|
||||
|
||||
### CheckFeatureSupport
|
||||
|
||||
```cpp
|
||||
bool CheckFeatureSupport(D3D12_FEATURE feature, void* featureSupportData, uint32_t featureSupportDataSize);
|
||||
```
|
||||
|
||||
检查功能支持。
|
||||
12
docs/api/rhi/d3d12/device/set-device-removed.md
Normal file
12
docs/api/rhi/d3d12/device/set-device-removed.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# D3D12Device::SetDeviceRemoved
|
||||
|
||||
```cpp
|
||||
void SetDeviceRemoved();
|
||||
```
|
||||
|
||||
标记设备已移除。
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [IsDeviceRemoved](is-device-removed.md) - 查询设备是否已移除
|
||||
21
docs/api/rhi/d3d12/device/shutdown.md
Normal file
21
docs/api/rhi/d3d12/device/shutdown.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# D3D12Device::Shutdown
|
||||
|
||||
```cpp
|
||||
void Shutdown() override;
|
||||
```
|
||||
|
||||
关闭 D3D12 设备,释放所有相关资源。
|
||||
|
||||
**复杂度:** O(n) - 取决于管理的资源数量
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
device->Shutdown();
|
||||
delete device;
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [D3D12Device 总览](device.md) - 返回类总览
|
||||
- [RHIDevice::Shutdown](../../device/shutdown.md) - 基类方法
|
||||
Reference in New Issue
Block a user