1.9 KiB
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:
-
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.
-
ShutdownDXGIDebug:
- Releases the IDXGIDebug interface and the debug DLL.
-
InitializeD3D12DebugLayer:
- Retrieves the ID3D12Debug interface using
D3D12GetDebugInterfaceFunc. - Enables the debug layer in D3D12.
- Retrieves the ID3D12Debug interface using
-
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 D3D12WindowDatastruct D3D12Driver
Enums
enum class RootParameters
Namespace Juliet::D3D12::Internal
Functions & Methods
void DisposePendingResourcces(NonNullPtr<D3D12Driver> driver)