BRE12
BRE
RootSignatureManager
RootSignatureManager.h
1
#pragma once
2
3
#include <d3d12.h>
4
#include <mutex>
5
#include <tbb\concurrent_unordered_set.h>
6
7
namespace
BRE
{
8
// This class is responsible to create/get/erase root signatures
9
class
RootSignatureManager
{
10
public
:
11
RootSignatureManager
() =
delete
;
12
~
RootSignatureManager
() =
delete
;
13
RootSignatureManager
(
const
RootSignatureManager
&) =
delete
;
14
const
RootSignatureManager
& operator=(
const
RootSignatureManager
&) =
delete
;
15
RootSignatureManager
(
RootSignatureManager
&&) =
delete
;
16
RootSignatureManager
& operator=(
RootSignatureManager
&&) =
delete
;
17
18
static
void
EraseAll() noexcept;
19
20
static
ID3D12RootSignature& CreateRootSignatureFromBlob(ID3DBlob& blob) noexcept;
21
22
private
:
23
using
RootSignatures
=
tbb::concurrent_unordered_set<ID3D12RootSignature*>
;
24
static
RootSignatures
mRootSignatures;
25
26
static
std::mutex mMutex;
27
};
28
29
}
30
BRE
Definition:
Camera.cpp:8
tbb::interface5::concurrent_unordered_set
Definition:
concurrent_unordered_set.h:58
BRE::RootSignatureManager
Definition:
RootSignatureManager.h:9
Generated by
1.8.12