2#include <RGL/Types.hpp>
4#include <RGL/TextureFormat.hpp>
5#include <RGL/Common.hpp>
6#include "RGLCommon.hpp"
11#include <directx/d3d12.h>
15inline void DX_CHECK(HRESULT dx_check_hr) {
16 RGL::Assert(!FAILED(dx_check_hr), _com_error(dx_check_hr,
nullptr).ErrorMessage());
22 struct RenderPassConfig;
24 Microsoft::WRL::ComPtr<ID3D12DescriptorHeap> CreateDescriptorHeap(Microsoft::WRL::ComPtr<ID3D12Device2> device,
25 D3D12_DESCRIPTOR_HEAP_TYPE type, uint32_t numDescriptors, D3D12_DESCRIPTOR_HEAP_FLAGS flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE);
27 RGLRenderPassPtr CreateRenderPassD3D12(
const RenderPassConfig& config);
29 DXGI_FORMAT rgl2dxgiformat_texture(RGL::TextureFormat format);
30 D3D12_RESOURCE_STATES rgl2d3d12resourcestate(RGL::ResourceLayout layout);
31 D3D12_COMPARISON_FUNC rgl2d3dcompfn(RGL::DepthCompareFunction depthFunction);
33 void RGLDeviceRemovedHandler(PVOID
context, BOOLEAN);
35 typedef void(*PIXBeginEvent_t)(
void*, UINT64, _In_ PCSTR, ...);
36 typedef void(*PIXEndEvent_t)(
void*);