Ivan Belyavtsev
24.06.2022
Validation layer is a way to check a correctness of API usage.
To engage API validation:
D3D12GetDebugInterface function to get debug
controllerEnableDebugLayer method of the debug
controllerDXGI_CREATE_FACTORY_DEBUG flag in further DXGI
factory creation [1]Visual studio: Output window, Show output from Debug
CLion: Debugger, LLDB window
CreateDXGIFactory* function to create a DXGI
factory (don’t forget about flags)EnumAdapters* method to find HWEnumAdapters for adapter #0 gives us a pointer to the
primary display adapter [1]Device is a represenation of GPU in DirectX API
To create a device:
D3D12CreateDevice function to create a DX12
deviceCommand queue accumulates command lists to execute on GPU. GPU is able to maintain several commands queue for different purposes. Direct queue is the most powerful type of queues.
CreateCommandQueue method of DX12 device to create
a direct queue [1]CreateSwapChainForHwnd method of the DXGI factory
with Direct queue, window handler and swap chain
descriptorMakeWindowAssociation method of the DXGI factory
with window handler and DXGI_MWA_NO_ALT_ENTERload_pipeline method