RavEngine
Loading...
Searching...
No Matches
D3D12Synchronization.hpp
1#pragma once
2#include <RGL/Types.hpp>
3#include <RGL/Synchronization.hpp>
4#include "RGLD3D12.hpp"
5#include <directx/d3d12.h>
6
7namespace RGL {
8 struct DeviceD3D12;
9
10 // implements a vulkan-style binary fence
11 struct FenceD3D12 : public IFence {
12 const std::shared_ptr<DeviceD3D12> owningDevice;
13 HANDLE fenceEvent;
14
15 FenceD3D12(decltype(owningDevice), bool preSignaled);
16
17 Microsoft::WRL::ComPtr<ID3D12Fence> fence;
18
19 // IFence
20 void Wait() final;
21 void Reset() final;
22 void Signal() final;
23 virtual ~FenceD3D12();
24 };
25}
Definition D3D12Synchronization.hpp:11
Definition Synchronization.hpp:5