Files
Juliet/Romeo/docs/Juliet_src_Graphics_D3D12_D3D12GraphicsDevice.md
T

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:

  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)