BRE12
BRE
CommandManager
CommandQueueManager.h
1
#pragma once
2
3
#include <d3d12.h>
4
#include <mutex>
5
#include <tbb/concurrent_unordered_set.h>
6
7
namespace
BRE
{
8
// To create/get command queues
9
class
CommandQueueManager
{
10
public
:
11
CommandQueueManager
() =
delete
;
12
~
CommandQueueManager
() =
delete
;
13
CommandQueueManager
(
const
CommandQueueManager
&) =
delete
;
14
const
CommandQueueManager
& operator=(
const
CommandQueueManager
&) =
delete
;
15
CommandQueueManager
(
CommandQueueManager
&&) =
delete
;
16
CommandQueueManager
& operator=(
CommandQueueManager
&&) =
delete
;
17
18
static
void
EraseAll() noexcept;
19
20
static
ID3D12CommandQueue& CreateCommandQueue(
const
D3D12_COMMAND_QUEUE_DESC& descriptor) noexcept;
21
22
private
:
23
using
CommandQueues
=
tbb::concurrent_unordered_set<ID3D12CommandQueue*>
;
24
static
CommandQueues
mCommandQueues;
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::CommandQueueManager
Definition:
CommandQueueManager.h:9
Generated by
1.8.12