ezEngine  Release 25.03
ezGALSharedTextureVulkan Class Reference
Inheritance diagram for ezGALSharedTextureVulkan:

Protected Member Functions

 ezGALSharedTextureVulkan (const ezGALTextureCreationDescription &Description, ezEnum< ezGALSharedTextureType > sharedType, ezGALPlatformSharedHandle hSharedHandle)
 
virtual ezResult InitPlatform (ezGALDevice *pDevice, ezArrayPtr< ezGALSystemMemoryDescription > pInitialData) override
 
virtual ezResult DeInitPlatform (ezGALDevice *pDevice) override
 
virtual ezGALPlatformSharedHandle GetSharedHandle () const override
 Returns the handle that can be used to open this texture on another device / process. Call ezGALDevice::OpenSharedTexture to do so.
 
virtual void WaitSemaphoreGPU (ezUInt64 uiValue) const override
 Before the current render pipeline is executed, the GPU will wait for the semaphore to have the given value. More...
 
virtual void SignalSemaphoreGPU (ezUInt64 uiValue) const override
 Once the current render pipeline is done on the GPU, the semaphore will be signaled with the given value. More...
 
- Protected Member Functions inherited from ezGALTextureVulkan
 ezGALTextureVulkan (const ezGALTextureCreationDescription &Description)
 
virtual void SetDebugNamePlatform (const char *szName) const override
 
- Protected Member Functions inherited from ezGALTexture
 ezGALTexture (const ezGALTextureCreationDescription &Description)
 

Protected Attributes

ezEnum< ezGALSharedTextureTypem_SharedType = ezGALSharedTextureType::None
 
ezGALPlatformSharedHandle m_hSharedHandle
 
vk::Semaphore m_SharedSemaphore
 
- Protected Attributes inherited from ezGALTextureVulkan
vk::Image m_image = {}
 
vk::Format m_imageFormat = vk::Format::eUndefined
 
vk::ImageLayout m_preferredLayout = vk::ImageLayout::eUndefined
 
vk::PipelineStageFlags m_stages = {}
 
vk::AccessFlags m_access = {}
 
ezVulkanAllocation m_alloc = nullptr
 
ezVulkanAllocationInfo m_allocInfo
 
ezGALDeviceVulkanm_pDevice = nullptr
 
- Protected Attributes inherited from ezGALTexture
ezGALTextureResourceViewHandle m_hDefaultResourceView
 
ezGALRenderTargetViewHandle m_hDefaultRenderTargetView
 
ezHashTable< ezUInt32, ezGALTextureResourceViewHandlem_ResourceViews
 
ezHashTable< ezUInt32, ezGALRenderTargetViewHandlem_RenderTargetViews
 
ezHashTable< ezUInt32, ezGALTextureUnorderedAccessViewHandlem_UnorderedAccessViews
 
- Protected Attributes inherited from ezGALResource< ezGALTextureCreationDescription >
const ezGALTextureCreationDescription m_Description
 

Friends

class ezGALDeviceVulkan
 
class ezMemoryUtils
 

Additional Inherited Members

- Public Member Functions inherited from ezGALTextureVulkan
EZ_ALWAYS_INLINE vk::Image GetImage () const
 
EZ_ALWAYS_INLINE vk::Format GetImageFormat () const
 
EZ_ALWAYS_INLINE vk::ImageLayout GetPreferredLayout () const
 
EZ_ALWAYS_INLINE vk::ImageLayout GetPreferredLayout (vk::ImageLayout targetLayout) const
 
EZ_ALWAYS_INLINE vk::PipelineStageFlags GetUsedByPipelineStage () const
 
EZ_ALWAYS_INLINE vk::AccessFlags GetAccessMask () const
 
EZ_ALWAYS_INLINE ezVulkanAllocation GetAllocation () const
 
const EZ_ALWAYS_INLINE ezVulkanAllocationInfoGetAllocationInfo () const
 
vk::Extent3D GetMipLevelSize (ezUInt32 uiMipLevel) const
 
vk::ImageSubresourceRange GetFullRange () const
 
vk::ImageAspectFlags GetAspectMask () const
 
- Public Member Functions inherited from ezGALResource< ezGALTextureCreationDescription >
EZ_ALWAYS_INLINE ezGALResource (const ezGALTextureCreationDescription &description)
 
const EZ_ALWAYS_INLINE ezGALTextureCreationDescriptionGetDescription () const
 
- Public Member Functions inherited from ezGALResourceBase
void SetDebugName (const char *szName) const
 
virtual const ezGALResourceBaseGetParentResource () const
 
- Public Member Functions inherited from ezRefCounted
virtual ~ezRefCounted ()=default
 Adds a virtual destructor.
 
- Public Member Functions inherited from ezRefCountingImpl
 ezRefCountingImpl ()=default
 Constructor.
 
 ezRefCountingImpl (const ezRefCountingImpl &rhs)
 
void operator= (const ezRefCountingImpl &rhs)
 
ezInt32 AddRef () const
 Increments the reference counter. Returns the new reference count.
 
ezInt32 ReleaseRef () const
 Decrements the reference counter. Returns the new reference count.
 
bool IsReferenced () const
 Returns true if the reference count is greater than 0, false otherwise.
 
ezInt32 GetRefCount () const
 Returns the current reference count.
 
- Static Public Member Functions inherited from ezGALTextureVulkan
static vk::Format ComputeImageFormat (const ezGALDeviceVulkan *pDevice, ezEnum< ezGALResourceFormat > galFormat, vk::ImageCreateInfo &ref_createInfo, vk::ImageFormatListCreateInfo &ref_imageFormats)
 
static void ComputeCreateInfo (const ezGALDeviceVulkan *pDevice, const ezGALTextureCreationDescription &description, vk::ImageCreateInfo &ref_createInfo, vk::PipelineStageFlags &ref_stages, vk::AccessFlags &ref_access, vk::ImageLayout &ref_preferredLayout)
 
static void ComputeAllocInfo (ezVulkanAllocationCreateInfo &ref_allocInfo)
 
static ezUInt32 ComputeSubResourceOffsets (const ezGALDeviceVulkan *pDevice, const ezGALTextureCreationDescription &description, ezDynamicArray< SubResourceOffset > &subResourceSizes)
 
static vk::Extent3D GetMipLevelSize (const ezGALTextureCreationDescription &description, ezUInt32 uiMipLevel)
 

Member Function Documentation

◆ SignalSemaphoreGPU()

void ezGALSharedTextureVulkan::SignalSemaphoreGPU ( ezUInt64  uiValue) const
overrideprotectedvirtual

Once the current render pipeline is done on the GPU, the semaphore will be signaled with the given value.

Parameters
iValueValue the semaphore is set to once we are done using the texture (after the current render pipeline).

Implements ezGALSharedTexture.

◆ WaitSemaphoreGPU()

void ezGALSharedTextureVulkan::WaitSemaphoreGPU ( ezUInt64  uiValue) const
overrideprotectedvirtual

Before the current render pipeline is executed, the GPU will wait for the semaphore to have the given value.

Parameters
iValueValue the semaphore needs to have before the texture can be used.

Implements ezGALSharedTexture.


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