Nebula
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"
14#include "coregraphics/config.h"
15#include "util/stringatom.h"
16
17#ifdef CreateEvent
18#pragma push_macro("CreateEvent")
19#undef CreateEvent
20#endif
21namespace CoreGraphics
22{
23
25
34
38void DestroyEvent(const EventId id);
39
44 const EventId id,
45 const CoreGraphics::QueueType queue,
46 const CoreGraphics::PipelineStage waitStage,
47 const CoreGraphics::PipelineStage signalStage
48 );
50void EventWait(
51 const EventId id,
53 const CoreGraphics::PipelineStage waitStage,
54 const CoreGraphics::PipelineStage signalStage
55);
57void EventReset(const EventId id, const CoreGraphics::CmdBufferId buf, const CoreGraphics::PipelineStage stage);
59void EventWaitAndReset(const EventId id, const CoreGraphics::CmdBufferId buf, const CoreGraphics::PipelineStage waitStage, const CoreGraphics::PipelineStage signalStage);
60
62bool EventPoll(const EventId id);
64void EventHostReset(const EventId id);
66void EventHostSignal(const EventId id);
68void EventHostWait(const EventId id);
69
70} // CoreGraphics
71
72#pragma pop_macro("CreateEvent")
Nebula's dynamic array class.
Definition array.h:60
A StringAtom.
Definition stringatom.h:22
#define ID_24_8_TYPE(x)
Definition id.h:132
Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.
Definition accelerationstructure.h:24
void EventHostReset(const EventId id)
unset event on host
Definition vkevent.cc:215
EventId CreateEvent(const EventCreateInfo &info)
create new event
Definition vkevent.cc:42
void EventWait(const EventId id, const CoreGraphics::QueueType queue, const CoreGraphics::PipelineStage waitStage, const CoreGraphics::PipelineStage signalStage)
insert event in queue to wait for
bool EventPoll(const EventId id)
get event status on host
Definition vkevent.cc:203
QueueType
Definition config.h:40
void EventHostWait(const EventId id)
wait for event to be signaled on host
Definition vkevent.cc:237
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
void DestroyEvent(const EventId id)
destroy even
Definition vkevent.cc:134
void EventReset(const EventId id, const CoreGraphics::CmdBufferId buf, const CoreGraphics::PipelineStage stage)
insert reset event
Definition vkevent.cc:174
void EventHostSignal(const EventId id)
signal event on host
Definition vkevent.cc:226
PipelineStage
Definition config.h:191
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
Compile time configuration options for the CoreGraphics subsystem.
Definition commandbuffer.h:155
Definition event.h:27
CoreGraphics::PipelineStage fromStage
Definition event.h:30
Util::Array< TextureBarrierInfo > textures
Definition event.h:31
Util::Array< BufferBarrierInfo > buffers
Definition event.h:32
Util::StringAtom name
Definition event.h:28
CoreGraphics::PipelineStage toStage
Definition event.h:30
bool createSignaled
Definition event.h:29
Definition event.h:24