49 lines
1.9 KiB
Markdown
49 lines
1.9 KiB
Markdown
# Juliet\src\Graphics\D3D12\D3D12GraphicsDevice
|
|
|
|
## Source Files
|
|
- Header: `Juliet\src\Graphics\D3D12\D3D12GraphicsDevice.h`
|
|
- Source: `Juliet\src\Graphics\D3D12\D3D12GraphicsDevice.cpp`
|
|
|
|
## AI Description
|
|
The provided code snippet is a part of a graphics driver implementation for DirectX 12. It includes functions to initialize and shutdown debugging features for the graphics device. The `InitializeDXGIDebug` function sets up the debug interface for DXGI (DirectX Graphics Infrastructure), while the `InitializeD3D12DebugLayer` function enables the debug layer in D3D12.
|
|
|
|
The `OnD3D12DebugInfoMsg` callback function is used to handle debug messages generated by the graphics driver. It logs these messages at different severity levels, such as ERROR and WARNING, using the `LogWarning` function from the `Log` module.
|
|
|
|
Here's a breakdown of the key functions and their functionalities:
|
|
|
|
1. **InitializeDXGIDebug**:
|
|
- Loads the DXGI debug DLL.
|
|
- Retrieves the IDXGIDebug interface.
|
|
- Sets up the break-on-severity for different message severities.
|
|
- Reports live objects to the debug interface.
|
|
|
|
2. **ShutdownDXGIDebug**:
|
|
- Releases the IDXGIDebug interface and the debug DLL.
|
|
|
|
3. **InitializeD3D12DebugLayer**:
|
|
- Retrieves the ID3D12Debug interface using `D3D12GetDebugInterfaceFunc`.
|
|
- Enables the debug layer in D3D12.
|
|
|
|
4. **OnD3D12DebugInfoMsg**:
|
|
- Registers a message callback for handling debug messages.
|
|
- Logs debug messages at different severity levels.
|
|
|
|
This setup is crucial for debugging issues related to DirectX 12, such as resource management, shader compilation, and execution errors.
|
|
|
|
## Symbols
|
|
|
|
### Namespace `Juliet::D3D12`
|
|
|
|
#### Classes, Structs & Unions
|
|
- `struct D3D12WindowData`
|
|
- `struct D3D12Driver`
|
|
|
|
#### Enums
|
|
- `enum class RootParameters`
|
|
|
|
### Namespace `Juliet::D3D12::Internal`
|
|
|
|
#### Functions & Methods
|
|
- `void DisposePendingResourcces(NonNullPtr<D3D12Driver> driver)`
|
|
|