Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::anonymous_namespace{VKWrapper.cpp} Namespace Reference

Classes

struct  DynamicEntry
 
struct  PerBufferCopies
 

Typedefs

using DynamicBufferEntry = std::array< DynamicEntry, MAX_BINDINGS_PER_DESCRIPTOR_SET >
 
using CopyContainer = vector< PerBufferCopies >
 
using BarrierContainer = eastl::fixed_vector< VkBufferMemoryBarrier2, 32, true >
 
using BatchedTransferQueue = eastl::fixed_vector< VKTransferQueue::TransferRequest, 64, false >
 

Functions

FORCE_INLINE ResourcePath PipelineCacheLocation ()
 
FORCE_INLINE bool IsTriangles (const PrimitiveTopology topology)
 
VkShaderStageFlags GetFlagsForStageVisibility (const BaseType< ShaderStageVisibility > mask) noexcept
 
void ResetDescriptorDynamicOffsets ()
 
bool IsEmpty (const ShaderProgram::BindingsPerSetArray &bindings) noexcept
 
void PrepareTransferRequest (const VKTransferQueue::TransferRequest &request, bool toWrite, VkBufferMemoryBarrier2 &memBarrierOut)
 
void FlushBarriers (BarrierContainer &barriers, BatchedTransferQueue &transferQueueBatched, VkCommandBuffer cmd, bool toWrite)
 
void FlushCopyRequests (CopyContainer &copyRequests, VkCommandBuffer cmd)
 
void PrepareBufferCopyBarriers (CopyContainer &copyRequests, BatchedTransferQueue &transferQueueBatched)
 
void BatchTransferQueue (BarrierContainer &barriers, BatchedTransferQueue &transferQueueBatched, VKTransferQueue &transferQueue)
 
void FlushTransferQueue (VkCommandBuffer cmdBuffer, VKTransferQueue &transferQueue)
 

Variables

const ResourcePath PipelineCacheFileName { "pipeline_cache.dvd" }
 
thread_local std::array< DynamicBufferEntry, to_base(DescriptorSetUsage::COUNT)> s_dynamicBindings
 
thread_local eastl::fixed_vector< U32, MAX_BINDINGS_PER_DESCRIPTOR_SET *to_base(DescriptorSetUsage::COUNT), false > s_dynamicOffsets
 
thread_local bool s_pipelineReset = true
 

Typedef Documentation

◆ BarrierContainer

using Divide::anonymous_namespace{VKWrapper.cpp}::BarrierContainer = typedef eastl::fixed_vector<VkBufferMemoryBarrier2, 32, true>

Definition at line 2007 of file VKWrapper.cpp.

◆ BatchedTransferQueue

using Divide::anonymous_namespace{VKWrapper.cpp}::BatchedTransferQueue = typedef eastl::fixed_vector<VKTransferQueue::TransferRequest, 64, false>

Definition at line 2008 of file VKWrapper.cpp.

◆ CopyContainer

using Divide::anonymous_namespace{VKWrapper.cpp}::CopyContainer = typedef vector<PerBufferCopies>

Definition at line 2006 of file VKWrapper.cpp.

◆ DynamicBufferEntry

using Divide::anonymous_namespace{VKWrapper.cpp}::DynamicBufferEntry = typedef std::array<DynamicEntry, MAX_BINDINGS_PER_DESCRIPTOR_SET>

Definition at line 241 of file VKWrapper.cpp.

Function Documentation

◆ BatchTransferQueue()

void Divide::anonymous_namespace{VKWrapper.cpp}::BatchTransferQueue ( BarrierContainer barriers,
BatchedTransferQueue transferQueueBatched,
VKTransferQueue transferQueue 
)

Definition at line 2108 of file VKWrapper.cpp.

◆ FlushBarriers()

void Divide::anonymous_namespace{VKWrapper.cpp}::FlushBarriers ( BarrierContainer barriers,
BatchedTransferQueue transferQueueBatched,
VkCommandBuffer  cmd,
bool  toWrite 
)

Definition at line 2036 of file VKWrapper.cpp.

◆ FlushCopyRequests()

void Divide::anonymous_namespace{VKWrapper.cpp}::FlushCopyRequests ( CopyContainer copyRequests,
VkCommandBuffer  cmd 
)

Definition at line 2056 of file VKWrapper.cpp.

◆ FlushTransferQueue()

void Divide::anonymous_namespace{VKWrapper.cpp}::FlushTransferQueue ( VkCommandBuffer  cmdBuffer,
VKTransferQueue transferQueue 
)

Definition at line 2130 of file VKWrapper.cpp.

◆ GetFlagsForStageVisibility()

VkShaderStageFlags Divide::anonymous_namespace{VKWrapper.cpp}::GetFlagsForStageVisibility ( const BaseType< ShaderStageVisibility mask)
noexcept

Definition at line 185 of file VKWrapper.cpp.

◆ IsEmpty()

bool Divide::anonymous_namespace{VKWrapper.cpp}::IsEmpty ( const ShaderProgram::BindingsPerSetArray bindings)
noexcept

Definition at line 1306 of file VKWrapper.cpp.

◆ IsTriangles()

FORCE_INLINE bool Divide::anonymous_namespace{VKWrapper.cpp}::IsTriangles ( const PrimitiveTopology  topology)

Definition at line 176 of file VKWrapper.cpp.

◆ PipelineCacheLocation()

FORCE_INLINE ResourcePath Divide::anonymous_namespace{VKWrapper.cpp}::PipelineCacheLocation ( )

Definition at line 171 of file VKWrapper.cpp.

◆ PrepareBufferCopyBarriers()

void Divide::anonymous_namespace{VKWrapper.cpp}::PrepareBufferCopyBarriers ( CopyContainer copyRequests,
BatchedTransferQueue transferQueueBatched 
)

Definition at line 2072 of file VKWrapper.cpp.

◆ PrepareTransferRequest()

void Divide::anonymous_namespace{VKWrapper.cpp}::PrepareTransferRequest ( const VKTransferQueue::TransferRequest request,
bool  toWrite,
VkBufferMemoryBarrier2 &  memBarrierOut 
)

Definition at line 2010 of file VKWrapper.cpp.

◆ ResetDescriptorDynamicOffsets()

void Divide::anonymous_namespace{VKWrapper.cpp}::ResetDescriptorDynamicOffsets ( )

Definition at line 246 of file VKWrapper.cpp.

Variable Documentation

◆ PipelineCacheFileName

const ResourcePath Divide::anonymous_namespace{VKWrapper.cpp}::PipelineCacheFileName { "pipeline_cache.dvd" }

Definition at line 169 of file VKWrapper.cpp.

◆ s_dynamicBindings

thread_local std::array<DynamicBufferEntry, to_base(DescriptorSetUsage::COUNT)> Divide::anonymous_namespace{VKWrapper.cpp}::s_dynamicBindings

Definition at line 242 of file VKWrapper.cpp.

◆ s_dynamicOffsets

thread_local eastl::fixed_vector<U32, MAX_BINDINGS_PER_DESCRIPTOR_SET * to_base(DescriptorSetUsage::COUNT), false> Divide::anonymous_namespace{VKWrapper.cpp}::s_dynamicOffsets

Definition at line 243 of file VKWrapper.cpp.

◆ s_pipelineReset

thread_local bool Divide::anonymous_namespace{VKWrapper.cpp}::s_pipelineReset = true

Definition at line 244 of file VKWrapper.cpp.