45 [[nodiscard]]
static std::expected<Device, std::string>
Create(
48 [[nodiscard]] ID3D12Device5*
Get()
const {
return m_device.Get(); }
72 static void __stdcall
OnDebugMessage(D3D12_MESSAGE_CATEGORY category, D3D12_MESSAGE_SEVERITY severity,
73 D3D12_MESSAGE_ID
id, LPCSTR description,
void* context);
74 [[nodiscard]]
static std::unique_ptr<MessageSink>
AttachMessageSink(ID3D12Device5* device);
uint32_t ValidationErrorCount() const
IDXGIFactory6 * Factory() const
static std::unique_ptr< MessageSink > AttachMessageSink(ID3D12Device5 *device)
static std::expected< Device, std::string > Create(AdapterKind kind, const DeviceOptions &options=DefaultDeviceOptions())
ComPtr< IDXGIFactory6 > m_factory
uint32_t ValidationWarningCount() const
const DeviceOptions & Options() const
ID3D12Device5 * Get() const
static void __stdcall OnDebugMessage(D3D12_MESSAGE_CATEGORY category, D3D12_MESSAGE_SEVERITY severity, D3D12_MESSAGE_ID id, LPCSTR description, void *context)
ComPtr< ID3D12Device5 > m_device
std::unique_ptr< MessageSink > m_messageSink
DeviceRemovedReport LogDeviceRemoved(ID3D12Device *device)
const char * AdapterKindName(AdapterKind kind)
DeviceOptions DefaultDeviceOptions()
uint32_t breadcrumbListCount
uint64_t pageFaultAddress
std::atomic< uint32_t > errorCount
std::atomic< uint32_t > warningCount
ComPtr< ID3D12InfoQueue1 > infoQueue