access barrier batching
This commit is contained in:
parent
1144eef5b3
commit
b9181ea200
@ -165,9 +165,10 @@ Enum(GPU_Format)
|
||||
|
||||
Enum(GPU_AccessKind)
|
||||
{
|
||||
GPU_AccessKind_None,
|
||||
|
||||
GPU_AccessKind_AnyRead,
|
||||
|
||||
GPU_AccessKind_AnyReadWrite,
|
||||
|
||||
GPU_AccessKind_CopyRead,
|
||||
GPU_AccessKind_CopyWrite,
|
||||
@ -205,7 +206,6 @@ Struct(GPU_BufferDesc)
|
||||
{
|
||||
u64 size;
|
||||
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), \
|
||||
(GPU_BufferDesc) { \
|
||||
.initial_access = GPU_AccessKind_AnyReadWrite, \
|
||||
.size = sizeof(type) * (count), \
|
||||
__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;
|
||||
ID3D12Resource *d3d_resource;
|
||||
u64 uid;
|
||||
|
||||
/* Buffer info */
|
||||
GPU_BufferDesc buffer_desc;
|
||||
@ -198,12 +199,18 @@ Enum(GPU_D12_CmdKind)
|
||||
Struct(GPU_D12_Cmd)
|
||||
{
|
||||
GPU_D12_CmdKind kind;
|
||||
b32 skip;
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
GPU_AccessKind kind;
|
||||
GPU_AccessKind after;
|
||||
GPU_D12_Resource *resource;
|
||||
|
||||
/* Post-batch data */
|
||||
b32 is_end_of_batch;
|
||||
u64 batch_gen;
|
||||
GPU_AccessKind before;
|
||||
} access;
|
||||
|
||||
struct
|
||||
@ -298,7 +305,7 @@ Struct(GPU_D12_Swapchain)
|
||||
|
||||
Struct(GPU_D12_SharedState)
|
||||
{
|
||||
Atomic64Padded resource_barrier_gen;
|
||||
Atomic64Padded next_resource_uid;
|
||||
|
||||
/* Stats */
|
||||
Atomic64 driver_resources_allocated;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user