access barrier batching
This commit is contained in:
parent
1144eef5b3
commit
b9181ea200
@ -165,9 +165,10 @@ Enum(GPU_Format)
|
|||||||
|
|
||||||
Enum(GPU_AccessKind)
|
Enum(GPU_AccessKind)
|
||||||
{
|
{
|
||||||
|
GPU_AccessKind_None,
|
||||||
|
|
||||||
GPU_AccessKind_AnyRead,
|
GPU_AccessKind_AnyRead,
|
||||||
|
|
||||||
GPU_AccessKind_AnyReadWrite,
|
|
||||||
|
|
||||||
GPU_AccessKind_CopyRead,
|
GPU_AccessKind_CopyRead,
|
||||||
GPU_AccessKind_CopyWrite,
|
GPU_AccessKind_CopyWrite,
|
||||||
@ -205,7 +206,6 @@ Struct(GPU_BufferDesc)
|
|||||||
{
|
{
|
||||||
u64 size;
|
u64 size;
|
||||||
GPU_BufferFlag flags;
|
GPU_BufferFlag flags;
|
||||||
GPU_AccessKind initial_access;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
@ -386,7 +386,6 @@ GPU_ResourceHandle GPU_PushSampler(GPU_ArenaHandle arena, GPU_SamplerDesc desc);
|
|||||||
|
|
||||||
#define GPU_PushBuffer(arena, type, count, ...) GPU_PushBufferEx((arena), \
|
#define GPU_PushBuffer(arena, type, count, ...) GPU_PushBufferEx((arena), \
|
||||||
(GPU_BufferDesc) { \
|
(GPU_BufferDesc) { \
|
||||||
.initial_access = GPU_AccessKind_AnyReadWrite, \
|
|
||||||
.size = sizeof(type) * (count), \
|
.size = sizeof(type) * (count), \
|
||||||
__VA_ARGS__ \
|
__VA_ARGS__ \
|
||||||
} \
|
} \
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -116,6 +116,7 @@ Struct(GPU_D12_Resource)
|
|||||||
{
|
{
|
||||||
GPU_D12_Resource *next_free;
|
GPU_D12_Resource *next_free;
|
||||||
ID3D12Resource *d3d_resource;
|
ID3D12Resource *d3d_resource;
|
||||||
|
u64 uid;
|
||||||
|
|
||||||
/* Buffer info */
|
/* Buffer info */
|
||||||
GPU_BufferDesc buffer_desc;
|
GPU_BufferDesc buffer_desc;
|
||||||
@ -198,12 +199,18 @@ Enum(GPU_D12_CmdKind)
|
|||||||
Struct(GPU_D12_Cmd)
|
Struct(GPU_D12_Cmd)
|
||||||
{
|
{
|
||||||
GPU_D12_CmdKind kind;
|
GPU_D12_CmdKind kind;
|
||||||
|
b32 skip;
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
GPU_AccessKind kind;
|
GPU_AccessKind after;
|
||||||
GPU_D12_Resource *resource;
|
GPU_D12_Resource *resource;
|
||||||
|
|
||||||
|
/* Post-batch data */
|
||||||
|
b32 is_end_of_batch;
|
||||||
|
u64 batch_gen;
|
||||||
|
GPU_AccessKind before;
|
||||||
} access;
|
} access;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
@ -298,7 +305,7 @@ Struct(GPU_D12_Swapchain)
|
|||||||
|
|
||||||
Struct(GPU_D12_SharedState)
|
Struct(GPU_D12_SharedState)
|
||||||
{
|
{
|
||||||
Atomic64Padded resource_barrier_gen;
|
Atomic64Padded next_resource_uid;
|
||||||
|
|
||||||
/* Stats */
|
/* Stats */
|
||||||
Atomic64 driver_resources_allocated;
|
Atomic64 driver_resources_allocated;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user