#pragma once

#include <Graphics/D3D12/D3D12Includes.h>

#ifdef _WIN32
#define HRESULT_FMT "(0x%08lX)"
#else
#define HRESULT_FMT "(0x%08X)"
#endif

#define TOD3D12FuncPtr(type, ptr) reinterpret_cast<type>(reinterpret_cast<void*>(ptr))

namespace Juliet::D3D12
{
    struct D3D12Driver;

    extern void LogError(NonNullPtr<ID3D12Device5> D3D12Device, const char* errorMessage, HRESULT result);
} // namespace Juliet::D3D12
