XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALTextureVulkan Class Referencefinal
Inheritance diagram for xiiGALTextureVulkan:
[legend]

Public Member Functions

virtual XII_ALWAYS_INLINE const xiiGALSparseTexturePropertiesGetSparseProperties () const override final
 This returns the sparse texture properties.
 
XII_ALWAYS_INLINE vk::Image GetVulkanImage () const
 
XII_ALWAYS_INLINE VmaAllocation GetAllocationDescription () const
 
XII_ALWAYS_INLINE vk::Buffer GetVulkanStagingBuffer () const
 
XII_ALWAYS_INLINE VmaAllocation GetStagingBufferAllocationDescription () const
 
XII_ALWAYS_INLINE bool IsNativeObjectWrapper () const
 
vk::ImageLayout GetVulkanImageLayout () const
 
void SetVulkanImageLayout (vk::ImageLayout vkImageLayout)
 
- Public Member Functions inherited from xiiGALTexture
XII_ALWAYS_INLINE const xiiGALTextureCreationDescriptionGetDescription () const
 This returns the creation description for this object.
 
virtual xiiUInt64 GetMemoryConsumption () const
 Returns the calculated memory consumption for texture.
 
xiiSharedPtr< xiiGALTextureViewGetDefaultView (xiiEnum< xiiGALTextureViewType > viewType)
 This returns the reference-counted pointer of the default view.
 
xiiSharedPtr< xiiGALTextureViewCreateView (xiiGALTextureViewCreationDescription &description)
 This creates a new texture view.
 
- Public Member Functions inherited from xiiGALResource
virtual void SetResourceState (xiiBitflags< xiiGALResourceStateFlags > stateFlags)
 This sets the buffer usage state.
 
virtual XII_ALWAYS_INLINE xiiBitflags< xiiGALResourceStateFlagsGetResourceState () const
 This returns the buffer state.
 
XII_ALWAYS_INLINE bool IsInKnownState () const
 This returns true if the resource is in known state by the engine.
 
XII_ALWAYS_INLINE bool CheckState (xiiBitflags< xiiGALResourceStateFlags > resourceState) const
 This returns true if the given resource state is set.
 
XII_ALWAYS_INLINE bool CheckAnyState (xiiBitflags< xiiGALResourceStateFlags > resourceState) const
 This returns true if any of the given resource state are set.
 
- Public Member Functions inherited from xiiGALDeviceObject
XII_ALWAYS_INLINE xiiSharedPtr< xiiGALDeviceGetDevice () const
 Returns the xiiGALDevice that created this resource.
 
- Public Member Functions inherited from xiiGALObject
XII_ALWAYS_INLINE xiiStringView GetDebugName () const
 Returns the debug name of this resource.
 
void SetDebugName (xiiStringView sDebugName) const
 Sets the debug name for this resource.
 
- Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 
- Public Member Functions inherited from xiiRefCounted
virtual ~xiiRefCounted ()=default
 Adds a virtual destructor.
 
- Public Member Functions inherited from xiiRefCountingImpl
 xiiRefCountingImpl ()=default
 Constructor.
 
 xiiRefCountingImpl (const xiiRefCountingImpl &rhs)
 
void operator= (const xiiRefCountingImpl &rhs)
 
xiiUInt32 AddRef () const
 Increments the reference counter. Returns the new reference count.
 
xiiUInt32 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.
 
xiiUInt32 GetRefCount () const
 Returns the current reference count.
 

Static Public Attributes

static constexpr xiiUInt32 s_uiStagingBufferOffsetAlignment = 16U
 

Protected Member Functions

 xiiGALTextureVulkan (xiiSharedPtr< xiiGALDeviceVulkan > pDeviceVulkan, const xiiGALTextureCreationDescription &creationDescription)
 
virtual xiiResult InitPlatform (const xiiGALTextureData *pInitialData) override final
 
virtual xiiInternal::NewInstance< xiiGALTextureViewCreateViewPlatform (const xiiGALTextureViewCreationDescription &description) override
 
virtual void SetDebugNamePlatform (xiiStringView sName) const override final
 
- Protected Member Functions inherited from xiiGALTexture
 xiiGALTexture (xiiSharedPtr< xiiGALDevice > pDevice, const xiiGALTextureCreationDescription &creationDescription)
 
- Protected Member Functions inherited from xiiGALResource
 xiiGALResource (xiiSharedPtr< xiiGALDevice > pDevice)
 
- Protected Member Functions inherited from xiiGALDeviceObject
 xiiGALDeviceObject (xiiSharedPtr< xiiGALDevice > pDevice)
 

Friends

class xiiGALDeviceVulkan
 
class xiiMemoryUtils
 

Additional Inherited Members

- Static Public Member Functions inherited from xiiNoBase
static const xiiRTTIGetStaticRTTI ()
 
- Protected Attributes inherited from xiiGALTexture
xiiGALTextureCreationDescription m_Description
 
xiiSharedPtr< xiiGALTextureViewm_DefaultTextureViews [xiiGALTextureViewType::ENUM_COUNT]
 
- Protected Attributes inherited from xiiGALResource
xiiBitflags< xiiGALResourceStateFlagsm_ResourceState
 
- Protected Attributes inherited from xiiGALDeviceObject
xiiSharedPtr< xiiGALDevicem_pDevice
 

Member Function Documentation

◆ CreateViewPlatform()

xiiInternal::NewInstance< xiiGALTextureView > xiiGALTextureVulkan::CreateViewPlatform ( const xiiGALTextureViewCreationDescription & description)
overrideprotectedvirtual

Implements xiiGALTexture.

◆ GetSparseProperties()

virtual XII_ALWAYS_INLINE const xiiGALSparseTextureProperties & xiiGALTextureVulkan::GetSparseProperties ( ) const
inlinenodiscardfinaloverridevirtual

This returns the sparse texture properties.

Implements xiiGALTexture.

◆ InitPlatform()

xiiResult xiiGALTextureVulkan::InitPlatform ( const xiiGALTextureData * pInitialData)
finaloverrideprotectedvirtual
Todo
GraphicsVulkan: Selectively utilize vk::SharingMode::eConcurrent for multiple queue family's ownership of the Vulkan image.

Implements xiiGALTexture.

◆ SetDebugNamePlatform()

void xiiGALTextureVulkan::SetDebugNamePlatform ( xiiStringView sName) const
finaloverrideprotectedvirtual

Reimplemented from xiiGALObject.


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