ezEngine  Release 25.03
ezGALDeviceVulkan Class Reference

The Vulkan device implementation of the graphics abstraction layer. More...

#include <DeviceVulkan.h>

Inheritance diagram for ezGALDeviceVulkan:

Classes

struct  Extensions
 
struct  OnBeforeImageDestroyedData
 
struct  PendingDeletion
 
struct  PendingDeletionFlags
 
struct  Queue
 
struct  ReclaimResource
 
struct  SemaphoreInfo
 

Public Member Functions

vk::Instance GetVulkanInstance () const
 
vk::Device GetVulkanDevice () const
 
const QueueGetGraphicsQueue () const
 
const QueueGetTransferQueue () const
 
vk::PhysicalDevice GetVulkanPhysicalDevice () const
 
const vk::PhysicalDeviceProperties & GetPhysicalDeviceProperties () const
 
const ExtensionsGetExtensions () const
 
const ezVulkanDispatchContextGetDispatchContext () const
 
vk::PipelineStageFlags GetSupportedStages () const
 
vk::CommandBuffer & GetCurrentCommandBuffer ()
 
ezPipelineBarrierVulkanGetCurrentPipelineBarrier ()
 
ezQueryPoolVulkanGetQueryPool () const
 
ezFenceQueueVulkanGetFenceQueue () const
 
ezStagingBufferPoolVulkanGetStagingBufferPool () const
 
ezInitContextVulkanGetInitContext () const
 
ezGALTextureHandle CreateTextureInternal (const ezGALTextureCreationDescription &Description, ezArrayPtr< ezGALSystemMemoryDescription > pInitialData)
 
ezGALBufferHandle CreateBufferInternal (const ezGALBufferCreationDescription &Description, ezArrayPtr< const ezUInt8 > pInitialData)
 
const ezGALFormatLookupTableVulkanGetFormatLookupTable () const
 
ezInt32 GetMemoryIndex (vk::MemoryPropertyFlags properties, const vk::MemoryRequirements &requirements) const
 
vk::Fence Submit (bool bAddSignalSemaphore=true, bool bAddUpdateForNextFrameCommands=false)
 
void DeleteLaterImpl (const PendingDeletion &deletion)
 
void DeleteLater (vk::Image &image, vk::DeviceMemory &externalMemory)
 
template<typename T >
void DeleteLater (T &object, ezVulkanAllocation &allocation)
 
template<typename T >
void DeleteLater (T &object, void *pContext)
 
template<typename T >
void DeleteLater (T &object)
 
void ReclaimLater (const ReclaimResource &reclaim)
 
template<typename T >
void ReclaimLater (T &object, void *pContext=nullptr)
 
void SetDebugName (const vk::DebugUtilsObjectNameInfoEXT &info, ezVulkanAllocation allocation=nullptr)
 
template<typename T >
void SetDebugName (const char *szName, T &object, ezVulkanAllocation allocation=nullptr)
 
void ReportLiveGpuObjects ()
 
virtual const ezGALSharedTextureGetSharedTexture (ezGALTextureHandle hTexture) const override
 
void AddWaitSemaphore (const SemaphoreInfo &waitSemaphore)
 
void AddSignalSemaphore (const SemaphoreInfo &signalSemaphore)
 
- Public Member Functions inherited from ezGALDevice
ezResult Init ()
 
ezResult Shutdown ()
 
ezStringView GetRenderer ()
 
ezGALCommandEncoderBeginCommands (const char *szName)
 Begin recording GPU commands on the returned command encoder.
 
void EndCommands (ezGALCommandEncoder *pCommandEncoder)
 Stop recording commands on the command encoder. More...
 
ezGALBlendStateHandle CreateBlendState (const ezGALBlendStateCreationDescription &description)
 
void DestroyBlendState (ezGALBlendStateHandle hBlendState)
 
ezGALDepthStencilStateHandle CreateDepthStencilState (const ezGALDepthStencilStateCreationDescription &description)
 
void DestroyDepthStencilState (ezGALDepthStencilStateHandle hDepthStencilState)
 
ezGALRasterizerStateHandle CreateRasterizerState (const ezGALRasterizerStateCreationDescription &description)
 
void DestroyRasterizerState (ezGALRasterizerStateHandle hRasterizerState)
 
ezGALSamplerStateHandle CreateSamplerState (const ezGALSamplerStateCreationDescription &description)
 
void DestroySamplerState (ezGALSamplerStateHandle hSamplerState)
 
ezGALShaderHandle CreateShader (const ezGALShaderCreationDescription &description)
 
void DestroyShader (ezGALShaderHandle hShader)
 
ezGALBufferHandle CreateBuffer (const ezGALBufferCreationDescription &description, ezArrayPtr< const ezUInt8 > initialData=ezArrayPtr< const ezUInt8 >())
 
void DestroyBuffer (ezGALBufferHandle hBuffer)
 
ezGALDynamicBufferHandle CreateDynamicBuffer (const ezGALBufferCreationDescription &description, ezStringView sDebugName)
 
void DestroyDynamicBuffer (ezGALDynamicBufferHandle &inout_hBuffer)
 
ezGALBufferHandle CreateVertexBuffer (ezUInt32 uiVertexSize, ezUInt32 uiVertexCount, ezArrayPtr< const ezUInt8 > initialData=ezArrayPtr< const ezUInt8 >(), bool bDataIsMutable=false)
 
ezGALBufferHandle CreateIndexBuffer (ezGALIndexType::Enum indexType, ezUInt32 uiIndexCount, ezArrayPtr< const ezUInt8 > initialData=ezArrayPtr< const ezUInt8 >(), bool bDataIsMutable=false)
 
ezGALBufferHandle CreateConstantBuffer (ezUInt32 uiBufferSize)
 
ezGALTextureHandle CreateTexture (const ezGALTextureCreationDescription &description, ezArrayPtr< ezGALSystemMemoryDescription > initialData=ezArrayPtr< ezGALSystemMemoryDescription >())
 
void DestroyTexture (ezGALTextureHandle hTexture)
 
ezGALTextureHandle CreateProxyTexture (ezGALTextureHandle hParentTexture, ezUInt32 uiSlice)
 
void DestroyProxyTexture (ezGALTextureHandle hProxyTexture)
 
ezGALTextureHandle CreateSharedTexture (const ezGALTextureCreationDescription &description, ezArrayPtr< ezGALSystemMemoryDescription > initialData={})
 
ezGALTextureHandle OpenSharedTexture (const ezGALTextureCreationDescription &description, ezGALPlatformSharedHandle hSharedHandle)
 
void DestroySharedTexture (ezGALTextureHandle hTexture)
 
ezGALReadbackBufferHandle CreateReadbackBuffer (const ezGALBufferCreationDescription &description)
 
void DestroyReadbackBuffer (ezGALReadbackBufferHandle hBuffer)
 
ezGALReadbackTextureHandle CreateReadbackTexture (const ezGALTextureCreationDescription &description)
 
void DestroyReadbackTexture (ezGALReadbackTextureHandle hTexture)
 
void UpdateBufferForNextFrame (ezGALBufferHandle hBuffer, ezConstByteArrayPtr sourceData, ezUInt32 uiDestOffset=0)
 Ensures that the given buffer is updated at the beginning of the next frame.
 
void UpdateTextureForNextFrame (ezGALTextureHandle hTexture, const ezGALSystemMemoryDescription &sourceData, const ezGALTextureSubresource &destinationSubResource={}, const ezBoundingBoxu32 &destinationBox=ezBoundingBoxu32::MakeZero())
 Ensures that the given texture is updated at the beginning of the next frame.
 
ezGALTextureResourceViewHandle GetDefaultResourceView (ezGALTextureHandle hTexture)
 
ezGALBufferResourceViewHandle GetDefaultResourceView (ezGALBufferHandle hBuffer)
 
ezGALTextureResourceViewHandle CreateResourceView (const ezGALTextureResourceViewCreationDescription &description)
 
void DestroyResourceView (ezGALTextureResourceViewHandle hResourceView)
 
ezGALBufferResourceViewHandle CreateResourceView (const ezGALBufferResourceViewCreationDescription &description)
 
void DestroyResourceView (ezGALBufferResourceViewHandle hResourceView)
 
ezGALRenderTargetViewHandle GetDefaultRenderTargetView (ezGALTextureHandle hTexture)
 
ezGALRenderTargetViewHandle CreateRenderTargetView (const ezGALRenderTargetViewCreationDescription &description)
 
void DestroyRenderTargetView (ezGALRenderTargetViewHandle hRenderTargetView)
 
ezGALTextureUnorderedAccessViewHandle CreateUnorderedAccessView (const ezGALTextureUnorderedAccessViewCreationDescription &description)
 
void DestroyUnorderedAccessView (ezGALTextureUnorderedAccessViewHandle hUnorderedAccessView)
 
ezGALBufferUnorderedAccessViewHandle CreateUnorderedAccessView (const ezGALBufferUnorderedAccessViewCreationDescription &description)
 
void DestroyUnorderedAccessView (ezGALBufferUnorderedAccessViewHandle hUnorderedAccessView)
 
ezGALSwapChainHandle CreateSwapChain (const SwapChainFactoryFunction &func)
 
ezResult UpdateSwapChain (ezGALSwapChainHandle hSwapChain, ezEnum< ezGALPresentMode > newPresentMode)
 
void DestroySwapChain (ezGALSwapChainHandle hSwapChain)
 
ezGALVertexDeclarationHandle CreateVertexDeclaration (const ezGALVertexDeclarationCreationDescription &description)
 
void DestroyVertexDeclaration (ezGALVertexDeclarationHandle hVertexDeclaration)
 
ezEnum< ezGALAsyncResultGetTimestampResult (ezGALTimestampHandle hTimestamp, ezTime &out_result)
 Queries the result of a timestamp. Should be called every frame until ezGALAsyncResult::Ready is returned. More...
 
ezEnum< ezGALAsyncResultGetOcclusionQueryResult (ezGALOcclusionHandle hOcclusion, ezUInt64 &out_uiResult)
 Queries the result of an occlusion query. Should be called every frame until ezGALAsyncResult::Ready is returned. More...
 
ezEnum< ezGALAsyncResultGetFenceResult (ezGALFenceHandle hFence, ezTime timeout=ezTime::MakeZero())
 Queries the result of a fence. Fences can never expire as they are just monotonically increasing numbers over time. More...
 
ezReadbackBufferLock LockBuffer (ezGALReadbackBufferHandle hReadbackBuffer, ezArrayPtr< const ezUInt8 > &out_memory)
 Tries to lock a readback buffer for reading. Only fails if the handle is invalid. More...
 
ezReadbackTextureLock LockTexture (ezGALReadbackTextureHandle hReadbackTexture, const ezArrayPtr< const ezGALTextureSubresource > &subResources, ezDynamicArray< ezGALSystemMemoryDescription > &out_memory)
 Tries to lock a readback texture for reading. Only fails if the handle is invalid. More...
 
ezGALTextureHandle GetBackBufferTextureFromSwapChain (ezGALSwapChainHandle hSwapChain)
 
void EnqueueFrameSwapChain (ezGALSwapChainHandle hSwapChain)
 Adds a swap-chain to be used for the next frame. Must be called before or during the ezGALDeviceEvent::BeforeBeginFrame event (BeginFrame function) and repeated for every frame the swap-chain is to be used. This approach guarantees that all swap-chains of a frame acquire and present at the same time, which improves frame pacing. More...
 
void BeginFrame (const ezUInt64 uiAppFrame=0)
 Begins rendering of a frame. This needs to be called first before any rendering function can be called. More...
 
void EndFrame ()
 Ends rendering of a frame and submits all data to the GPU. No further rendering calls are allowed until BeginFrame is called again.
 
ezUInt64 GetCurrentFrame () const
 The current rendering frame. This is a monotonically increasing number which changes +1 every time EndFrame is called. You can use this to synchronize read/writes between CPU and GPU, see GetSafeFrame. More...
 
ezUInt64 GetSafeFrame () const
 The latest frame that has been fully executed on the GPU. Whenever you execute any work that requires synchronization between CPU and GPU, remember the GetCurrentFrame result in which the operation was done. When GetSafeFrame reaches this number, you know for sure that the GPU has completed all operations of that frame. More...
 
const ezGALDeviceCreationDescriptionGetDescription () const
 
const ezGALSwapChainGetSwapChain (ezGALSwapChainHandle hSwapChain) const
 
template<typename T >
const T * GetSwapChain (ezGALSwapChainHandle hSwapChain) const
 
const ezGALShaderGetShader (ezGALShaderHandle hShader) const
 
const ezGALTextureGetTexture (ezGALTextureHandle hTexture) const
 
const ezGALBufferGetBuffer (ezGALBufferHandle hBuffer) const
 
const ezGALDynamicBufferGetDynamicBuffer (ezGALDynamicBufferHandle hBuffer) const
 
ezGALDynamicBufferGetDynamicBuffer (ezGALDynamicBufferHandle hBuffer)
 
const ezGALReadbackBufferGetReadbackBuffer (ezGALReadbackBufferHandle hBuffer) const
 
const ezGALReadbackTextureGetReadbackTexture (ezGALReadbackTextureHandle hTexture) const
 
const ezGALDepthStencilStateGetDepthStencilState (ezGALDepthStencilStateHandle hDepthStencilState) const
 
const ezGALBlendStateGetBlendState (ezGALBlendStateHandle hBlendState) const
 
const ezGALRasterizerStateGetRasterizerState (ezGALRasterizerStateHandle hRasterizerState) const
 
const ezGALVertexDeclarationGetVertexDeclaration (ezGALVertexDeclarationHandle hVertexDeclaration) const
 
const ezGALSamplerStateGetSamplerState (ezGALSamplerStateHandle hSamplerState) const
 
const ezGALTextureResourceViewGetResourceView (ezGALTextureResourceViewHandle hResourceView) const
 
const ezGALBufferResourceViewGetResourceView (ezGALBufferResourceViewHandle hResourceView) const
 
const ezGALRenderTargetViewGetRenderTargetView (ezGALRenderTargetViewHandle hRenderTargetView) const
 
const ezGALTextureUnorderedAccessViewGetUnorderedAccessView (ezGALTextureUnorderedAccessViewHandle hUnorderedAccessView) const
 
const ezGALBufferUnorderedAccessViewGetUnorderedAccessView (ezGALBufferUnorderedAccessViewHandle hUnorderedAccessView) const
 
const ezGALDeviceCapabilitiesGetCapabilities () const
 
virtual ezUInt64 GetMemoryConsumptionForTexture (const ezGALTextureCreationDescription &description) const
 
virtual ezUInt64 GetMemoryConsumptionForBuffer (const ezGALBufferCreationDescription &description) const
 
void Flush ()
 
void WaitIdle ()
 Waits for the GPU to be idle and destroys any pending resources and GPU objects.
 
ezAllocatorGetAllocator ()
 Internal: Returns the allocator used by the device.
 
template<typename IdTableType , typename ReturnType >
EZ_ALWAYS_INLINE ReturnType * Get (typename IdTableType::TypeOfId hHandle, const IdTableType &IdTable) const
 
template<typename HandleType >
EZ_FORCE_INLINE void AddDeadObject (ezUInt32 uiType, HandleType handle)
 

Static Public Member Functions

static void UploadBufferStaging (ezStagingBufferPoolVulkan *pStagingBufferPool, ezPipelineBarrierVulkan *pPipelineBarrier, vk::CommandBuffer commandBuffer, const ezGALBufferVulkan *pBuffer, ezArrayPtr< const ezUInt8 > pInitialData, vk::DeviceSize dstOffset=0)
 
static void UploadTextureStaging (ezStagingBufferPoolVulkan *pStagingBufferPool, ezPipelineBarrierVulkan *pPipelineBarrier, vk::CommandBuffer commandBuffer, const ezGALTextureVulkan *pTexture, const vk::ImageSubresourceLayers &subResource, const vk::Offset3D &imageOffset, const vk::Extent3D &imageExtent, const ezGALSystemMemoryDescription &data)
 
- Static Public Member Functions inherited from ezGALDevice
static void SetDefaultDevice (ezGALDevice *pDefaultDevice)
 
static ezGALDeviceGetDefaultDevice ()
 
static bool HasDefaultDevice ()
 

Public Attributes

ezEvent< OnBeforeImageDestroyedDataOnBeforeImageDestroyed
 
- Public Attributes inherited from ezGALDevice
ezMutex m_Mutex
 

Protected Member Functions

vk::Result SelectInstanceExtensions (ezHybridArray< const char *, 6 > &extensions)
 
vk::Result SelectDeviceExtensions (vk::DeviceCreateInfo &deviceCreateInfo, ezHybridArray< const char *, 6 > &extensions)
 
virtual ezStringView GetRendererPlatform () override
 
virtual ezResult InitPlatform () override
 
virtual ezResult ShutdownPlatform () override
 
virtual ezGALCommandEncoderBeginCommandsPlatform (const char *szName) override
 
virtual void EndCommandsPlatform (ezGALCommandEncoder *pPass) override
 
virtual void FlushPlatform () override
 
virtual ezGALBlendStateCreateBlendStatePlatform (const ezGALBlendStateCreationDescription &Description) override
 
virtual void DestroyBlendStatePlatform (ezGALBlendState *pBlendState) override
 
virtual ezGALDepthStencilStateCreateDepthStencilStatePlatform (const ezGALDepthStencilStateCreationDescription &Description) override
 
virtual void DestroyDepthStencilStatePlatform (ezGALDepthStencilState *pDepthStencilState) override
 
virtual ezGALRasterizerStateCreateRasterizerStatePlatform (const ezGALRasterizerStateCreationDescription &Description) override
 
virtual void DestroyRasterizerStatePlatform (ezGALRasterizerState *pRasterizerState) override
 
virtual ezGALSamplerStateCreateSamplerStatePlatform (const ezGALSamplerStateCreationDescription &Description) override
 
virtual void DestroySamplerStatePlatform (ezGALSamplerState *pSamplerState) override
 
virtual ezGALShaderCreateShaderPlatform (const ezGALShaderCreationDescription &Description) override
 
virtual void DestroyShaderPlatform (ezGALShader *pShader) override
 
virtual ezGALBufferCreateBufferPlatform (const ezGALBufferCreationDescription &Description, ezArrayPtr< const ezUInt8 > pInitialData) override
 
virtual void DestroyBufferPlatform (ezGALBuffer *pBuffer) override
 
virtual ezGALTextureCreateTexturePlatform (const ezGALTextureCreationDescription &Description, ezArrayPtr< ezGALSystemMemoryDescription > pInitialData) override
 
virtual void DestroyTexturePlatform (ezGALTexture *pTexture) override
 
virtual ezGALTextureCreateSharedTexturePlatform (const ezGALTextureCreationDescription &Description, ezArrayPtr< ezGALSystemMemoryDescription > pInitialData, ezEnum< ezGALSharedTextureType > sharedType, ezGALPlatformSharedHandle handle) override
 
virtual void DestroySharedTexturePlatform (ezGALTexture *pTexture) override
 
virtual ezGALReadbackBufferCreateReadbackBufferPlatform (const ezGALBufferCreationDescription &Description) override
 
virtual void DestroyReadbackBufferPlatform (ezGALReadbackBuffer *pReadbackBuffer) override
 
virtual ezGALReadbackTextureCreateReadbackTexturePlatform (const ezGALTextureCreationDescription &Description) override
 
virtual void DestroyReadbackTexturePlatform (ezGALReadbackTexture *pReadbackTexture) override
 
virtual ezGALTextureResourceViewCreateResourceViewPlatform (ezGALTexture *pResource, const ezGALTextureResourceViewCreationDescription &Description) override
 
virtual void DestroyResourceViewPlatform (ezGALTextureResourceView *pResourceView) override
 
virtual ezGALBufferResourceViewCreateResourceViewPlatform (ezGALBuffer *pResource, const ezGALBufferResourceViewCreationDescription &Description) override
 
virtual void DestroyResourceViewPlatform (ezGALBufferResourceView *pResourceView) override
 
virtual ezGALRenderTargetViewCreateRenderTargetViewPlatform (ezGALTexture *pTexture, const ezGALRenderTargetViewCreationDescription &Description) override
 
virtual void DestroyRenderTargetViewPlatform (ezGALRenderTargetView *pRenderTargetView) override
 
ezGALTextureUnorderedAccessViewCreateUnorderedAccessViewPlatform (ezGALTexture *pResource, const ezGALTextureUnorderedAccessViewCreationDescription &Description) override
 
virtual void DestroyUnorderedAccessViewPlatform (ezGALTextureUnorderedAccessView *pUnorderedAccessView) override
 
ezGALBufferUnorderedAccessViewCreateUnorderedAccessViewPlatform (ezGALBuffer *pResource, const ezGALBufferUnorderedAccessViewCreationDescription &Description) override
 
virtual void DestroyUnorderedAccessViewPlatform (ezGALBufferUnorderedAccessView *pUnorderedAccessView) override
 
virtual ezGALVertexDeclarationCreateVertexDeclarationPlatform (const ezGALVertexDeclarationCreationDescription &Description) override
 
virtual void DestroyVertexDeclarationPlatform (ezGALVertexDeclaration *pVertexDeclaration) override
 
virtual void UpdateBufferForNextFramePlatform (const ezGALBuffer *pBuffer, ezConstByteArrayPtr sourceData, ezUInt32 uiDestOffset) override
 
virtual void UpdateTextureForNextFramePlatform (const ezGALTexture *pTexture, const ezGALSystemMemoryDescription &sourceData, const ezGALTextureSubresource &destinationSubResource, const ezBoundingBoxu32 &destinationBox) override
 
virtual ezEnum< ezGALAsyncResultGetTimestampResultPlatform (ezGALTimestampHandle hTimestamp, ezTime &out_result) override
 
virtual ezEnum< ezGALAsyncResultGetOcclusionResultPlatform (ezGALOcclusionHandle hOcclusion, ezUInt64 &out_uiResult) override
 
virtual ezEnum< ezGALAsyncResultGetFenceResultPlatform (ezGALFenceHandle hFence, ezTime timeout) override
 
virtual ezResult LockBufferPlatform (const ezGALReadbackBuffer *pBuffer, ezArrayPtr< const ezUInt8 > &out_Memory) const override
 
virtual void UnlockBufferPlatform (const ezGALReadbackBuffer *pBuffer) const override
 
virtual ezResult LockTexturePlatform (const ezGALReadbackTexture *pTexture, const ezArrayPtr< const ezGALTextureSubresource > &subResources, ezDynamicArray< ezGALSystemMemoryDescription > &out_Memory) const override
 
virtual void UnlockTexturePlatform (const ezGALReadbackTexture *pTexture, const ezArrayPtr< const ezGALTextureSubresource > &subResources) const override
 
virtual void BeginFramePlatform (ezArrayPtr< ezGALSwapChain * > swapchains, const ezUInt64 uiAppFrame) override
 
virtual void EndFramePlatform (ezArrayPtr< ezGALSwapChain * > swapchains) override
 
virtual ezUInt64 GetCurrentFramePlatform () const override
 
virtual ezUInt64 GetSafeFramePlatform () const override
 
virtual void FillCapabilitiesPlatform () override
 
virtual void WaitIdlePlatform () override
 
- Protected Member Functions inherited from ezGALDevice
 ezGALDevice (const ezGALDeviceCreationDescription &Description)
 
template<typename IdTableType , typename ReturnType >
ReturnType * Get (typename IdTableType::TypeOfId hHandle, const IdTableType &IdTable) const
 
void DestroyViews (ezGALTexture *pResource)
 
void DestroyViews (ezGALBuffer *pResource)
 
template<typename HandleType >
void AddDeadObject (ezUInt32 uiType, HandleType handle)
 
template<typename HandleType >
void ReviveDeadObject (ezUInt32 uiType, HandleType handle)
 
void DestroyDeadObjects ()
 
void VerifyMultithreadedAccess () const
 Asserts that either this device supports multi-threaded resource creation, or that this function is executed on the main thread.
 
const ezGALSwapChainGetSwapChainInternal (ezGALSwapChainHandle hSwapChain, const ezRTTI *pRequestedType) const
 
ezGALTextureHandle FinalizeTextureInternal (const ezGALTextureCreationDescription &desc, ezGALTexture *pTexture)
 
ezGALBufferHandle FinalizeBufferInternal (const ezGALBufferCreationDescription &desc, ezGALBuffer *pBuffer)
 

Friends

ezInternal::NewInstance< ezGALDeviceCreateVulkanDevice (ezAllocator *pAllocator, const ezGALDeviceCreationDescription &Description)
 

Additional Inherited Members

- Public Types inherited from ezGALDevice
using SwapChainFactoryFunction = ezDelegate< ezGALSwapChain *(ezAllocator *)>
 
- Static Public Attributes inherited from ezGALDevice
static ezEvent< const ezGALDeviceEvent &, ezMutexs_Events
 
- Protected Types inherited from ezGALDevice
using ShaderTable = ezIdTable< ezGALShaderHandle::IdType, ezGALShader *, ezLocalAllocatorWrapper >
 
using BlendStateTable = ezIdTable< ezGALBlendStateHandle::IdType, ezGALBlendState *, ezLocalAllocatorWrapper >
 
using DepthStencilStateTable = ezIdTable< ezGALDepthStencilStateHandle::IdType, ezGALDepthStencilState *, ezLocalAllocatorWrapper >
 
using RasterizerStateTable = ezIdTable< ezGALRasterizerStateHandle::IdType, ezGALRasterizerState *, ezLocalAllocatorWrapper >
 
using BufferTable = ezIdTable< ezGALBufferHandle::IdType, ezGALBuffer *, ezLocalAllocatorWrapper >
 
using DynamicBufferTable = ezIdTable< ezGALDynamicBufferHandle::IdType, ezGALDynamicBuffer *, ezLocalAllocatorWrapper >
 
using TextureTable = ezIdTable< ezGALTextureHandle::IdType, ezGALTexture *, ezLocalAllocatorWrapper >
 
using ReadbackBufferTable = ezIdTable< ezGALReadbackBufferHandle::IdType, ezGALReadbackBuffer *, ezLocalAllocatorWrapper >
 
using ReadbackTextureTable = ezIdTable< ezGALReadbackTextureHandle::IdType, ezGALReadbackTexture *, ezLocalAllocatorWrapper >
 
using TextureResourceViewTable = ezIdTable< ezGALTextureResourceViewHandle::IdType, ezGALTextureResourceView *, ezLocalAllocatorWrapper >
 
using BufferResourceViewTable = ezIdTable< ezGALBufferResourceViewHandle::IdType, ezGALBufferResourceView *, ezLocalAllocatorWrapper >
 
using SamplerStateTable = ezIdTable< ezGALSamplerStateHandle::IdType, ezGALSamplerState *, ezLocalAllocatorWrapper >
 
using RenderTargetViewTable = ezIdTable< ezGALRenderTargetViewHandle::IdType, ezGALRenderTargetView *, ezLocalAllocatorWrapper >
 
using TextureUnorderedAccessViewTable = ezIdTable< ezGALTextureUnorderedAccessViewHandle::IdType, ezGALTextureUnorderedAccessView *, ezLocalAllocatorWrapper >
 
using BufferUnorderedAccessViewTable = ezIdTable< ezGALBufferUnorderedAccessViewHandle::IdType, ezGALBufferUnorderedAccessView *, ezLocalAllocatorWrapper >
 
using SwapChainTable = ezIdTable< ezGALSwapChainHandle::IdType, ezGALSwapChain *, ezLocalAllocatorWrapper >
 
using VertexDeclarationTable = ezIdTable< ezGALVertexDeclarationHandle::IdType, ezGALVertexDeclaration *, ezLocalAllocatorWrapper >
 
- Protected Attributes inherited from ezGALDevice
ezProxyAllocator m_Allocator
 
ezLocalAllocatorWrapper m_AllocatorWrapper
 
ShaderTable m_Shaders
 
BlendStateTable m_BlendStates
 
DepthStencilStateTable m_DepthStencilStates
 
RasterizerStateTable m_RasterizerStates
 
BufferTable m_Buffers
 
DynamicBufferTable m_DynamicBuffers
 
TextureTable m_Textures
 
ReadbackBufferTable m_ReadbackBuffers
 
ReadbackTextureTable m_ReadbackTextures
 
TextureResourceViewTable m_TextureResourceViews
 
BufferResourceViewTable m_BufferResourceViews
 
SamplerStateTable m_SamplerStates
 
RenderTargetViewTable m_RenderTargetViews
 
TextureUnorderedAccessViewTable m_TextureUnorderedAccessViews
 
BufferUnorderedAccessViewTable m_BufferUnorderedAccessViews
 
SwapChainTable m_SwapChains
 
VertexDeclarationTable m_VertexDeclarations
 
ezHashTable< ezUInt32, ezGALBlendStateHandle, ezHashHelper< ezUInt32 >, ezLocalAllocatorWrapperm_BlendStateTable
 
ezHashTable< ezUInt32, ezGALDepthStencilStateHandle, ezHashHelper< ezUInt32 >, ezLocalAllocatorWrapperm_DepthStencilStateTable
 
ezHashTable< ezUInt32, ezGALRasterizerStateHandle, ezHashHelper< ezUInt32 >, ezLocalAllocatorWrapperm_RasterizerStateTable
 
ezHashTable< ezUInt32, ezGALSamplerStateHandle, ezHashHelper< ezUInt32 >, ezLocalAllocatorWrapperm_SamplerStateTable
 
ezHashTable< ezUInt32, ezGALVertexDeclarationHandle, ezHashHelper< ezUInt32 >, ezLocalAllocatorWrapperm_VertexDeclarationTable
 
ezDynamicArray< DeadObject, ezLocalAllocatorWrapperm_DeadObjects
 
ezGALDeviceCreationDescription m_Description
 
ezGALDeviceCapabilities m_Capabilities
 

Detailed Description

The Vulkan device implementation of the graphics abstraction layer.


The documentation for this class was generated from the following files: