Nebula
Toggle main menu visibility
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
20
namespace
CoreGraphics
21
{
22
23
ID_24_8_TYPE
(
SemaphoreId
);
24
25
enum
SemaphoreType
26
{
27
Binary
,
// binary semaphore means it can only be signaled or unsignaled
28
Timeline
// a timeline semaphore
29
};
30
31
struct
SemaphoreCreateInfo
32
{
33
#if NEBULA_GRAPHICS_DEBUG
34
const
char
* name =
nullptr
;
35
#endif
36
SemaphoreType
type
;
37
};
38
40
SemaphoreId
CreateSemaphore
(
const
SemaphoreCreateInfo
& info);
42
void
DestroySemaphore
(
const
SemaphoreId
& semaphore);
43
45
uint64_t
SemaphoreGetValue
(
const
SemaphoreId
& semaphore);
47
void
SemaphoreSignal
(
const
SemaphoreId
& semaphore);
49
void
SemaphoreReset
(
const
SemaphoreId
& semaphore);
50
51
}
// namespace CoreGraphics
52
53
#pragma pop_macro("CreateSemaphore")
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::SemaphoreGetValue
uint64_t SemaphoreGetValue(const SemaphoreId &semaphore)
get semaphore index
Definition
vksemaphore.cc:106
CoreGraphics::SemaphoreSignal
void SemaphoreSignal(const SemaphoreId &semaphore)
signal semaphore
Definition
vksemaphore.cc:115
CoreGraphics::SemaphoreReset
void SemaphoreReset(const SemaphoreId &semaphore)
reset semaphore
Definition
vksemaphore.cc:132
CoreGraphics::DestroySemaphore
void DestroySemaphore(const SemaphoreId &semaphore)
destroy semaphore
Definition
vksemaphore.cc:96
CoreGraphics::CreateSemaphore
SemaphoreId CreateSemaphore(const SemaphoreCreateInfo &info)
create semaphore
Definition
vksemaphore.cc:48
CoreGraphics::SemaphoreType
SemaphoreType
Definition
semaphore.h:26
CoreGraphics::Binary
@ Binary
Definition
semaphore.h:27
CoreGraphics::Timeline
@ Timeline
Definition
semaphore.h:28
barrier.h
CoreGraphics::SemaphoreCreateInfo
Definition
semaphore.h:32
CoreGraphics::SemaphoreCreateInfo::type
SemaphoreType type
Definition
semaphore.h:36
CoreGraphics::SemaphoreId
Definition
semaphore.h:23
code
render
coregraphics
semaphore.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.