CsPaint  1.0.1
CsPaint::device Class Reference
Inheritance diagram for CsPaint::device:

Public Typedefs

using handle = std::shared_ptr< device >
 

Public Member Functions

 device (const device &) = delete
 
 device (CsPaint::context_handle context_handle, vk::PhysicalDevice vk_device, private_tag=private_tag{})
 
template<typename T , typename Alloc >
CsPaint::buffer_handle createBuffer (const std::vector< T, Alloc > &vec, vk::BufferUsageFlagBits usage, vk::SharingMode sharingMode)
 
template<typename T , typename Alloc >
buffer_handle createBuffer (const std::vector< T, Alloc > &vec, vk::BufferUsageFlagBits usage, vk::SharingMode=vk::SharingMode::eExclusive)
 
buffer_handle createBuffer (const void *data, uint64_t size, vk::BufferUsageFlagBits usage, vk::SharingMode=vk::SharingMode::eExclusive)
 
buffer_handle createBuffer (uint64_t bufferSize, vk::BufferUsageFlagBits usage, vk::SharingMode mode=vk::SharingMode::eExclusive)
 
descriptor_pool_handle createDescriptorPool (uint32_t size, vk::DescriptorType, uint32_t count)
 
image_handle createImage (uint32_t width, uint32_t height, vk::Format imageFormat, vk::ImageTiling imageTiling, vk::ImageUsageFlags imageUsage, vk::MemoryPropertyFlags memoryFlags, vk::ImageAspectFlags aspectFlags)
 
renderpass_handle createRenderPass () const
 
shader_handle createShader (std::vector< char > input) const
 
shader_handle createShader (std::vector< uint32_t > input) const
 
template<typename T , typename Alloc >
std::future< image_handlecreateTexture (const std::vector< T, Alloc > data, uint32_t width, uint32_t height, vk::Format imageFormat, vk::MemoryPropertyFlags memoryFlags, vk::ImageAspectFlags aspectFlags)
 
template<typename T , typename Alloc >
std::future< CsPaint::image_handlecreateTexture (const std::vector< T, Alloc > vec, uint32_t width, uint32_t height, vk::Format imageFormat, vk::MemoryPropertyFlags memoryFlags, vk::ImageAspectFlags aspectFlags)
 
std::future< image_handlecreateTexture (const void *data, uint64_t size, uint32_t width, uint32_t height, vk::Format imageFormat, vk::MemoryPropertyFlags memoryFlags, vk::ImageAspectFlags aspectFlags)
 
command_pool_handle graphicsCommandPool () const
 
const vk::Device & graphicsDevice () const
 
queue_handle graphicsQueue () const
 
bool hasDeviceMemory ()
 
memorypool_handle memoryPool (vk::MemoryPropertyFlags memoryProperties)
 
void operator= (const device &) = delete
 
const vk::PhysicalDevice & physicalDevice () const
 
command_pool_handle transferCommandPool () const
 
queue_handle transferQueue () const
 

Member Typedef Documentation

using CsPaint::device::handle = std::shared_ptr<device>

Constructor & Destructor Documentation

CsPaint::device::device ( CsPaint::context_handle  context_handle,
vk::PhysicalDevice  vk_device,
private_tag  = private_tag{} 
)
CsPaint::device::device ( const device &  )
delete

Member Function Documentation

template<typename T , typename Alloc >
CsPaint::buffer_handle CsPaint::device::createBuffer ( const std::vector< T, Alloc > &  vec,
vk::BufferUsageFlagBits  usage,
vk::SharingMode  sharingMode 
)
template<typename T , typename Alloc >
buffer_handle CsPaint::device::createBuffer ( const std::vector< T, Alloc > &  vec,
vk::BufferUsageFlagBits  usage,
vk::SharingMode  = vk::SharingMode::eExclusive 
)
buffer_handle CsPaint::device::createBuffer ( const void *  data,
uint64_t  size,
vk::BufferUsageFlagBits  usage,
vk::SharingMode  = vk::SharingMode::eExclusive 
)
buffer_handle CsPaint::device::createBuffer ( uint64_t  bufferSize,
vk::BufferUsageFlagBits  usage,
vk::SharingMode  mode = vk::SharingMode::eExclusive 
)
descriptor_pool_handle CsPaint::device::createDescriptorPool ( uint32_t  size,
vk::DescriptorType  ,
uint32_t  count 
)
image_handle CsPaint::device::createImage ( uint32_t  width,
uint32_t  height,
vk::Format  imageFormat,
vk::ImageTiling  imageTiling,
vk::ImageUsageFlags  imageUsage,
vk::MemoryPropertyFlags  memoryFlags,
vk::ImageAspectFlags  aspectFlags 
)
renderpass_handle CsPaint::device::createRenderPass ( ) const
shader_handle CsPaint::device::createShader ( std::vector< char >  input) const
shader_handle CsPaint::device::createShader ( std::vector< uint32_t >  input) const
template<typename T , typename Alloc >
std::future<image_handle> CsPaint::device::createTexture ( const std::vector< T, Alloc >  data,
uint32_t  width,
uint32_t  height,
vk::Format  imageFormat,
vk::MemoryPropertyFlags  memoryFlags,
vk::ImageAspectFlags  aspectFlags 
)
template<typename T , typename Alloc >
std::future<CsPaint::image_handle> CsPaint::device::createTexture ( const std::vector< T, Alloc >  vec,
uint32_t  width,
uint32_t  height,
vk::Format  imageFormat,
vk::MemoryPropertyFlags  memoryFlags,
vk::ImageAspectFlags  aspectFlags 
)
std::future<image_handle> CsPaint::device::createTexture ( const void *  data,
uint64_t  size,
uint32_t  width,
uint32_t  height,
vk::Format  imageFormat,
vk::MemoryPropertyFlags  memoryFlags,
vk::ImageAspectFlags  aspectFlags 
)
command_pool_handle CsPaint::device::graphicsCommandPool ( ) const
const vk::Device& CsPaint::device::graphicsDevice ( ) const
queue_handle CsPaint::device::graphicsQueue ( ) const
bool CsPaint::device::hasDeviceMemory ( )
memorypool_handle CsPaint::device::memoryPool ( vk::MemoryPropertyFlags  memoryProperties)
void CsPaint::device::operator= ( const device &  )
delete
const vk::PhysicalDevice& CsPaint::device::physicalDevice ( ) const
command_pool_handle CsPaint::device::transferCommandPool ( ) const
queue_handle CsPaint::device::transferQueue ( ) const