Nebula
Toggle main menu visibility
Loading...
Searching...
No Matches
gpubuffertypes.h
Go to the documentation of this file.
1
#pragma once
2
//------------------------------------------------------------------------------
11
#include "
resources/resource.h
"
12
13
//------------------------------------------------------------------------------
14
namespace
CoreGraphics
15
{
16
namespace
GpuBufferTypes
17
{
19
enum
Usage
20
{
21
UsageImmutable
,
//> read only on GPU, upload once on CPU, never read back
22
UsageDynamic
,
//> same as immutable, except supports multiple CPU uploads
23
UsageCpu
,
//> same as dynamic, but can also be read by CPU
24
};
25
26
// cpu access flags
27
enum
Access
28
{
29
AccessNone
= 0,
// CPU does not require access to the resource (best)
30
AccessWrite
= 1,
// CPU has write access
31
AccessRead
= 2,
// CPU has read access
32
AccessReadWrite
=
AccessWrite
+
AccessRead
,
// CPU has read/write access
33
};
34
35
// mapping types
36
enum
MapType
37
{
38
MapRead
= 1,
// gain read access, must be UsageDynamic and AccessRead
39
MapWrite
= 2,
// gain write access, must be UsageDynamic and AccessWrite
40
MapReadWrite
=
MapRead
+
MapWrite
,
// gain read/write access, must be UsageDynamic and AccessReadWrite
41
MapWriteDiscard
= 4,
// gain write access, discard previous content, must be UsageDynamic and AccessWrite
42
MapWriteNoOverwrite
= 8,
// gain write access, must be UsageDynamic and AccessWrite, see D3D10 docs for details
43
};
44
45
struct
SetupFlags
46
{
47
CoreGraphics::GpuBufferTypes::Usage
usage
;
48
CoreGraphics::GpuBufferTypes::Access
access
;
49
};
50
};
51
52
}
// namespace CoreGraphics
53
//------------------------------------------------------------------------------
CoreGraphics::GpuBufferTypes
Definition
gpubuffertypes.h:17
CoreGraphics::GpuBufferTypes::Usage
Usage
resource usage flags
Definition
gpubuffertypes.h:20
CoreGraphics::GpuBufferTypes::UsageCpu
@ UsageCpu
Definition
gpubuffertypes.h:23
CoreGraphics::GpuBufferTypes::UsageDynamic
@ UsageDynamic
Definition
gpubuffertypes.h:22
CoreGraphics::GpuBufferTypes::UsageImmutable
@ UsageImmutable
Definition
gpubuffertypes.h:21
CoreGraphics::GpuBufferTypes::Access
Access
Definition
gpubuffertypes.h:28
CoreGraphics::GpuBufferTypes::AccessWrite
@ AccessWrite
Definition
gpubuffertypes.h:30
CoreGraphics::GpuBufferTypes::AccessReadWrite
@ AccessReadWrite
Definition
gpubuffertypes.h:32
CoreGraphics::GpuBufferTypes::AccessRead
@ AccessRead
Definition
gpubuffertypes.h:31
CoreGraphics::GpuBufferTypes::AccessNone
@ AccessNone
Definition
gpubuffertypes.h:29
CoreGraphics::GpuBufferTypes::MapType
MapType
Definition
gpubuffertypes.h:37
CoreGraphics::GpuBufferTypes::MapWriteNoOverwrite
@ MapWriteNoOverwrite
Definition
gpubuffertypes.h:42
CoreGraphics::GpuBufferTypes::MapRead
@ MapRead
Definition
gpubuffertypes.h:38
CoreGraphics::GpuBufferTypes::MapWriteDiscard
@ MapWriteDiscard
Definition
gpubuffertypes.h:41
CoreGraphics::GpuBufferTypes::MapWrite
@ MapWrite
Definition
gpubuffertypes.h:39
CoreGraphics::GpuBufferTypes::MapReadWrite
@ MapReadWrite
Definition
gpubuffertypes.h:40
CoreGraphics
Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.
Definition
accelerationstructure.h:24
resource.h
CoreGraphics::GpuBufferTypes::SetupFlags
Definition
gpubuffertypes.h:46
CoreGraphics::GpuBufferTypes::SetupFlags::usage
CoreGraphics::GpuBufferTypes::Usage usage
Definition
gpubuffertypes.h:47
CoreGraphics::GpuBufferTypes::SetupFlags::access
CoreGraphics::GpuBufferTypes::Access access
Definition
gpubuffertypes.h:48
code
render
coregraphics
gpubuffertypes.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.