Nebula
Loading...
Searching...
No Matches
semaphore.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
11//------------------------------------------------------------------------------
12#include "ids/id.h"
13#include "barrier.h"
14
15#ifdef CreateSemaphore
16#pragma push_macro("CreateSemaphore")
17#undef CreateSemaphore
18#endif
19
20namespace CoreGraphics
21{
22
24
26{
27 Binary, // binary semaphore means it can only be signaled or unsignaled
28 Timeline // a timeline semaphore
29};
30
35
39void DestroySemaphore(const SemaphoreId& semaphore);
40
42uint64 SemaphoreGetValue(const SemaphoreId& semaphore);
44void SemaphoreSignal(const SemaphoreId& semaphore);
46void SemaphoreReset(const SemaphoreId& semaphore);
47
48} // namespace CoreGraphics
49
50#pragma pop_macro("CreateSemaphore")
#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 SemaphoreSignal(const SemaphoreId &semaphore)
signal semaphore
Definition vksemaphore.cc:88
uint64 SemaphoreGetValue(const SemaphoreId &semaphore)
get semaphore index
Definition vksemaphore.cc:79
void SemaphoreReset(const SemaphoreId &semaphore)
reset semaphore
Definition vksemaphore.cc:105
void DestroySemaphore(const SemaphoreId &semaphore)
destroy semaphore
Definition vksemaphore.cc:69
SemaphoreId CreateSemaphore(const SemaphoreCreateInfo &info)
create semaphore
Definition vksemaphore.cc:37
SemaphoreType
Definition semaphore.h:26
@ Binary
Definition semaphore.h:27
@ Timeline
Definition semaphore.h:28
Definition semaphore.h:32
SemaphoreType type
Definition semaphore.h:33
Definition semaphore.h:23
uint64_t uint64
Definition types.h:36