Kompute
Loading...
Searching...
No Matches
Public Member Functions | List of all members
kp::ImageT< T > Class Template Reference
Inheritance diagram for kp::ImageT< T >:
Inheritance graph
[legend]
Collaboration diagram for kp::ImageT< T >:
Collaboration graph
[legend]

Public Member Functions

 ImageT (std::shared_ptr< vk::PhysicalDevice > physicalDevice, std::shared_ptr< vk::Device > device, const std::vector< T > &data, uint32_t x, uint32_t y, uint32_t numChannels, vk::ImageTiling tiling, const MemoryTypes &imageType=MemoryTypes::eDevice)
 
 ImageT (std::shared_ptr< vk::PhysicalDevice > physicalDevice, std::shared_ptr< vk::Device > device, const std::vector< T > &data, uint32_t x, uint32_t y, uint32_t numChannels, const MemoryTypes &imageType=MemoryTypes::eDevice)
 
 ImageT (std::shared_ptr< vk::PhysicalDevice > physicalDevice, std::shared_ptr< vk::Device > device, uint32_t x, uint32_t y, uint32_t numChannels, vk::ImageTiling tiling, const MemoryTypes &imageType=MemoryTypes::eDevice)
 
 ImageT (std::shared_ptr< vk::PhysicalDevice > physicalDevice, std::shared_ptr< vk::Device > device, uint32_t x, uint32_t y, uint32_t numChannels, const MemoryTypes &imageType=MemoryTypes::eDevice)
 
std::vector< T > vector ()
 
T & operator[] (int index)
 
- Public Member Functions inherited from kp::Image
 Image (std::shared_ptr< vk::PhysicalDevice > physicalDevice, std::shared_ptr< vk::Device > device, void *data, size_t dataSize, uint32_t x, uint32_t y, uint32_t numChannels, const DataTypes &dataType, vk::ImageTiling tiling, const MemoryTypes &memoryType=MemoryTypes::eDevice)
 
 Image (std::shared_ptr< vk::PhysicalDevice > physicalDevice, std::shared_ptr< vk::Device > device, uint32_t x, uint32_t y, uint32_t numChannels, const DataTypes &dataType, vk::ImageTiling tiling, const MemoryTypes &memoryType=MemoryTypes::eDevice)
 
 Image (std::shared_ptr< vk::PhysicalDevice > physicalDevice, std::shared_ptr< vk::Device > device, void *data, size_t dataSize, uint32_t x, uint32_t y, uint32_t numChannels, const DataTypes &dataType, const MemoryTypes &memoryType=MemoryTypes::eDevice)
 
 Image (std::shared_ptr< vk::PhysicalDevice > physicalDevice, std::shared_ptr< vk::Device > device, uint32_t x, uint32_t y, uint32_t numChannels, const DataTypes &dataType, const MemoryTypes &memoryType=MemoryTypes::eDevice)
 
 Image (const Image &)=delete
 Make Image uncopyable.
 
 Image (const Image &&)=delete
 
Imageoperator= (const Image &)=delete
 
Imageoperator= (const Image &&)=delete
 
virtual ~Image ()
 
void destroy () override
 
bool isInit () override
 
void recordCopyFrom (const vk::CommandBuffer &commandBuffer, std::shared_ptr< Image > copyFromImage) override
 
void recordCopyFrom (const vk::CommandBuffer &commandBuffer, std::shared_ptr< Tensor > copyFromTensor) override
 
void recordCopyFromStagingToDevice (const vk::CommandBuffer &commandBuffer) override
 
void recordCopyFromDeviceToStaging (const vk::CommandBuffer &commandBuffer) override
 
void recordPrimaryMemoryBarrier (const vk::CommandBuffer &commandBuffer, vk::AccessFlagBits srcAccessMask, vk::AccessFlagBits dstAccessMask, vk::PipelineStageFlagBits srcStageMask, vk::PipelineStageFlagBits dstStageMask) override
 
void recordStagingMemoryBarrier (const vk::CommandBuffer &commandBuffer, vk::AccessFlagBits srcAccessMask, vk::AccessFlagBits dstAccessMask, vk::PipelineStageFlagBits srcStageMask, vk::PipelineStageFlagBits dstStageMask) override
 
void recordPrimaryImageBarrier (const vk::CommandBuffer &commandBuffer, vk::AccessFlagBits srcAccessMask, vk::AccessFlagBits dstAccessMask, vk::PipelineStageFlagBits srcStageMask, vk::PipelineStageFlagBits dstStageMask, vk::ImageLayout dstLayout)
 
vk::WriteDescriptorSet constructDescriptorSet (vk::DescriptorSet descriptorSet, uint32_t binding) override
 
std::shared_ptr< vk::Image > getPrimaryImage ()
 
vk::ImageLayout getPrimaryImageLayout ()
 
uint32_t getNumChannels ()
 
Type type () override
 
- Public Member Functions inherited from kp::Memory
 Memory (std::shared_ptr< vk::PhysicalDevice > physicalDevice, std::shared_ptr< vk::Device > device, const DataTypes &dataType, const MemoryTypes &memoryType, uint32_t x, uint32_t y)
 
 Memory (const Memory &)=delete
 Make Memory uncopyable.
 
 Memory (const Memory &&)=delete
 
Memoryoperator= (const Memory &)=delete
 
Memoryoperator= (const Memory &&)=delete
 
virtual ~Memory ()
 
MemoryTypes memoryType ()
 
DataTypes dataType ()
 
void recordCopyFrom (const vk::CommandBuffer &commandBuffer, std::shared_ptr< Memory > copyFromMemory)
 
uint32_t size ()
 
uint32_t dataTypeMemorySize ()
 
uint32_t memorySize ()
 
vk::DescriptorType getDescriptorType ()
 
voidrawData ()
 
void setData (const void *data, size_t size)
 
template<typename T >
void setData (const std::vector< T > &data)
 
template<typename T >
Tdata ()
 
template<typename T >
std::vector< T > vector ()
 
uint32_t getX ()
 
uint32_t getY ()
 

Additional Inherited Members

- Public Types inherited from kp::Memory
enum class  MemoryTypes { eDevice = 0 , eHost = 1 , eStorage = 2 , eDeviceAndHost }
 
enum class  DataTypes {
  eBool = 0 , eInt = 1 , eUnsignedInt = 2 , eFloat = 3 ,
  eDouble = 4 , eCustom = 5 , eShort = 6 , eUnsignedShort = 7 ,
  eChar = 8 , eUnsignedChar = 9
}
 
enum class  Type { eTensor = 0 , eImage = 1 }
 
- Static Public Member Functions inherited from kp::Memory
static std::string toString (MemoryTypes dt)
 
static std::string toString (DataTypes dt)
 
template<typename T >
static constexpr DataTypes dataType ()
 
static uint32_t dataTypeMemorySize (DataTypes dataType)
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
- Protected Member Functions inherited from kp::Memory
void mapRawData ()
 
void unmapRawData ()
 
void updateRawData (void *data)
 
vk::MemoryPropertyFlags getPrimaryMemoryPropertyFlags ()
 
vk::MemoryPropertyFlags getStagingMemoryPropertyFlags ()
 
- Protected Attributes inherited from kp::Image
uint32_t mNumChannels
 
vk::DescriptorImageInfo mDescriptorImageInfo
 
vk::ImageLayout mPrimaryImageLayout = vk::ImageLayout::eUndefined
 
vk::ImageLayout mStagingImageLayout = vk::ImageLayout::eUndefined
 
std::shared_ptr< vk::ImageView > mImageView = nullptr
 
vk::ImageTiling mTiling = vk::ImageTiling::eOptimal
 
- Protected Attributes inherited from kp::Memory
MemoryTypes mMemoryType
 
DataTypes mDataType
 
uint32_t mSize
 
uint32_t mDataTypeMemorySize
 
voidmRawData = nullptr
 
vk::DescriptorType mDescriptorType
 
bool mUnmapMemory = false
 
uint32_t mX
 
uint32_t mY
 
std::shared_ptr< vk::PhysicalDevice > mPhysicalDevice
 
std::shared_ptr< vk::Device > mDevice
 
std::shared_ptr< vk::DeviceMemory > mPrimaryMemory
 
bool mFreePrimaryMemory = false
 
std::shared_ptr< vk::DeviceMemory > mStagingMemory
 
bool mFreeStagingMemory = false
 

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