Nebula
Toggle main menu visibility
Loading...
Searching...
No Matches
event.h
Go to the documentation of this file.
1
#pragma once
2
//------------------------------------------------------------------------------
9
//------------------------------------------------------------------------------
10
#include "
ids/id.h
"
11
#include "
ids/idpool.h
"
12
#include "
coregraphics/barrier.h
"
13
#include "
coregraphics/commandbuffer.h
"
14
#include "
coregraphics/config.h
"
15
#include "
util/stringatom.h
"
16
17
#ifdef CreateEvent
18
#pragma push_macro("CreateEvent")
19
#undef CreateEvent
20
#endif
21
namespace
CoreGraphics
22
{
23
24
ID_24_8_TYPE
(
EventId
);
25
26
struct
EventCreateInfo
27
{
28
Util::StringAtom
name
;
29
bool
createSignaled
: 1;
30
CoreGraphics::PipelineStage
fromStage
,
toStage
;
31
Util::Array<TextureBarrierInfo>
textures
;
32
Util::Array<BufferBarrierInfo>
buffers
;
33
};
34
36
EventId
CreateEvent
(
const
EventCreateInfo
& info);
38
void
DestroyEvent
(
const
EventId
id
);
39
41
void
EventSignal
(
const
EventId
id
,
const
CoreGraphics::CmdBufferId
buf,
const
CoreGraphics::PipelineStage
stage);
43
void
EventWait
(
44
const
EventId
id
,
45
const
CoreGraphics::QueueType
queue,
46
const
CoreGraphics::PipelineStage
waitStage,
47
const
CoreGraphics::PipelineStage
signalStage
48
);
50
void
EventWait
(
51
const
EventId
id
,
52
const
CoreGraphics::CmdBufferId
buf,
53
const
CoreGraphics::PipelineStage
waitStage,
54
const
CoreGraphics::PipelineStage
signalStage
55
);
57
void
EventReset
(
const
EventId
id
,
const
CoreGraphics::CmdBufferId
buf,
const
CoreGraphics::PipelineStage
stage);
59
void
EventWaitAndReset
(
const
EventId
id
,
const
CoreGraphics::CmdBufferId
buf,
const
CoreGraphics::PipelineStage
waitStage,
const
CoreGraphics::PipelineStage
signalStage);
60
62
bool
EventPoll
(
const
EventId
id
);
64
void
EventHostReset
(
const
EventId
id
);
66
void
EventHostSignal
(
const
EventId
id
);
68
void
EventHostWait
(
const
EventId
id
);
69
70
}
// CoreGraphics
71
72
#pragma pop_macro("CreateEvent")
Util::Array
Nebula's dynamic array class.
Definition
array.h:61
Util::StringAtom
A StringAtom.
Definition
stringatom.h:22
commandbuffer.h
idpool.h
id.h
ID_24_8_TYPE
#define ID_24_8_TYPE(x)
Definition
id.h:132
CoreGraphics
Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.
Definition
accelerationstructure.h:24
CoreGraphics::EventHostReset
void EventHostReset(const EventId id)
unset event on host
Definition
vkevent.cc:215
CoreGraphics::CreateEvent
EventId CreateEvent(const EventCreateInfo &info)
create new event
Definition
vkevent.cc:42
CoreGraphics::EventWait
void EventWait(const EventId id, const CoreGraphics::QueueType queue, const CoreGraphics::PipelineStage waitStage, const CoreGraphics::PipelineStage signalStage)
insert event in queue to wait for
CoreGraphics::EventPoll
bool EventPoll(const EventId id)
get event status on host
Definition
vkevent.cc:203
CoreGraphics::QueueType
QueueType
Definition
config.h:40
CoreGraphics::EventHostWait
void EventHostWait(const EventId id)
wait for event to be signaled on host
Definition
vkevent.cc:237
CoreGraphics::EventSignal
void EventSignal(const EventId id, const CoreGraphics::CmdBufferId buf, const CoreGraphics::PipelineStage stage)
insert event in command buffer to be signaled
Definition
vkevent.cc:146
CoreGraphics::DestroyEvent
void DestroyEvent(const EventId id)
destroy even
Definition
vkevent.cc:134
CoreGraphics::EventReset
void EventReset(const EventId id, const CoreGraphics::CmdBufferId buf, const CoreGraphics::PipelineStage stage)
insert reset event
Definition
vkevent.cc:174
CoreGraphics::EventHostSignal
void EventHostSignal(const EventId id)
signal event on host
Definition
vkevent.cc:226
CoreGraphics::PipelineStage
PipelineStage
Definition
config.h:192
CoreGraphics::EventWaitAndReset
void EventWaitAndReset(const EventId id, const CoreGraphics::CmdBufferId buf, const CoreGraphics::PipelineStage waitStage, const CoreGraphics::PipelineStage signalStage)
insert both a wait and reset
Definition
vkevent.cc:184
barrier.h
config.h
Compile time configuration options for the CoreGraphics subsystem.
stringatom.h
CoreGraphics::CmdBufferId
Definition
commandbuffer.h:176
CoreGraphics::EventCreateInfo
Definition
event.h:27
CoreGraphics::EventCreateInfo::fromStage
CoreGraphics::PipelineStage fromStage
Definition
event.h:30
CoreGraphics::EventCreateInfo::textures
Util::Array< TextureBarrierInfo > textures
Definition
event.h:31
CoreGraphics::EventCreateInfo::buffers
Util::Array< BufferBarrierInfo > buffers
Definition
event.h:32
CoreGraphics::EventCreateInfo::name
Util::StringAtom name
Definition
event.h:28
CoreGraphics::EventCreateInfo::toStage
CoreGraphics::PipelineStage toStage
Definition
event.h:30
CoreGraphics::EventCreateInfo::createSignaled
bool createSignaled
Definition
event.h:29
CoreGraphics::EventId
Definition
event.h:24
code
render
coregraphics
event.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.