Foundation
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Attributes | List of all members
Foundation::RHI::VulkanTexture Class Reference

#include <Resource.hpp>

Inheritance diagram for Foundation::RHI::VulkanTexture:
Foundation::RHI::RHITexture Foundation::RHI::RHIObject

Public Member Functions

 VulkanTexture (VulkanDevice const &device, RHITextureDesc const &desc)
 
 VulkanTexture (VulkanDevice const &device, RHITextureDesc const &desc, vk::raii::Image &&image, bool shared=true)
 
 ~VulkanTexture () override
 
autoGetVkImage () const
 
voidMap () override
 
void Flush (size_t offset, size_t size) override
 
void Unmap () override
 
RHITextureScopedHandle< RHITextureViewCreateTextureView (RHITextureViewDesc const &desc) override
 
RHITextureViewGetImageView (Handle handle) const override
 
void DestroyImageView (Handle handle) override
 
RHITextureScopedHandle< RHITextureCreateAliasedTexture (RHITextureDesc const &desc, size_t offset) override
 
RHITextureGetAliasedTexture (Handle handle) const override
 
void DestroyAliasedTexture (Handle handle) override
 
void DebugSetObjectName (const char *name) override
 
auto constGetDevice () const
 
- Public Member Functions inherited from Foundation::RHI::RHITexture
 RHITexture (RHIDevice const &device, RHITextureDesc const &desc)
 
- Public Member Functions inherited from Foundation::RHI::RHIObject
 RHIObject ()=default
 
 RHIObject (RHIObject const &)=delete
 
RHIObjectoperator= (const RHIObject &)=delete
 
 RHIObject (RHIObject &&)=delete
 
RHIObjectoperator= (RHIObject &&)=delete
 
virtual ~RHIObject ()=default
 

Public Attributes

const bool mShared { false }
 
- Public Attributes inherited from Foundation::RHI::RHITexture
const RHITextureDesc mDesc
 

Protected Attributes

VulkanDevice constmDevice
 
VmaAllocation mAllocation { nullptr }
 
vk::raii::Image mImage { nullptr }
 
voidmMapped { nullptr }
 
RHIObjectPool< VulkanTexturemAliases
 
RHIObjectPool< VulkanTextureViewmViews
 
- Protected Attributes inherited from Foundation::RHI::RHITexture
const RHIDevicemDevice
 

Constructor & Destructor Documentation

◆ VulkanTexture() [1/2]

VulkanTexture::VulkanTexture ( VulkanDevice const device,
RHITextureDesc const desc 
)

◆ VulkanTexture() [2/2]

VulkanTexture::VulkanTexture ( VulkanDevice const device,
RHITextureDesc const desc,
vk::raii::Image &&  image,
bool  shared = true 
)

◆ ~VulkanTexture()

VulkanTexture::~VulkanTexture ( )
override

Member Function Documentation

◆ CreateAliasedTexture()

RHITextureScopedHandle< RHITexture > VulkanTexture::CreateAliasedTexture ( RHITextureDesc const desc,
size_t  offset 
)
overridevirtual

◆ CreateTextureView()

RHITextureScopedHandle< RHITextureView > VulkanTexture::CreateTextureView ( RHITextureViewDesc const desc)
overridevirtual

◆ DebugSetObjectName()

void VulkanTexture::DebugSetObjectName ( const char name)
overridevirtual

◆ DestroyAliasedTexture()

void VulkanTexture::DestroyAliasedTexture ( Handle  handle)
overridevirtual

◆ DestroyImageView()

void VulkanTexture::DestroyImageView ( Handle  handle)
overridevirtual

◆ Flush()

void VulkanTexture::Flush ( size_t  offset,
size_t  size 
)
overridevirtual

◆ GetAliasedTexture()

RHITexture * VulkanTexture::GetAliasedTexture ( Handle  handle) const
overridevirtual

◆ GetDevice()

auto const & Foundation::RHI::VulkanTexture::GetDevice ( ) const
inline

◆ GetImageView()

RHITextureView * VulkanTexture::GetImageView ( Handle  handle) const
overridevirtual

◆ GetVkImage()

auto & Foundation::RHI::VulkanTexture::GetVkImage ( ) const
inline

◆ Map()

void * VulkanTexture::Map ( )
overridevirtual

◆ Unmap()

void VulkanTexture::Unmap ( )
overridevirtual

Member Data Documentation

◆ mAliases

RHIObjectPool<VulkanTexture> Foundation::RHI::VulkanTexture::mAliases
protected

◆ mAllocation

VmaAllocation Foundation::RHI::VulkanTexture::mAllocation { nullptr }
protected

◆ mDevice

VulkanDevice const& Foundation::RHI::VulkanTexture::mDevice
protected

◆ mImage

vk::raii::Image Foundation::RHI::VulkanTexture::mImage { nullptr }
protected

◆ mMapped

void* Foundation::RHI::VulkanTexture::mMapped { nullptr }
protected

◆ mShared

const bool Foundation::RHI::VulkanTexture::mShared { false }

◆ mViews

RHIObjectPool<VulkanTextureView> Foundation::RHI::VulkanTexture::mViews
protected

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