Android-cuttlefish cvd tool
|
#include <vulkan.h>
Classes | |
struct | BufferWithMemory |
struct | FramebufferWithAttachments |
struct | ImageWithMemory |
struct | YuvImageWithMemory |
Public Member Functions | |
Vk (const Vk &)=delete | |
Vk & | operator= (const Vk &)=delete |
Vk (Vk &&)=default | |
Vk & | operator= (Vk &&)=default |
gfxstream::expected< BufferWithMemory, vk::Result > | CreateBuffer (vk::DeviceSize buffer_size, vk::BufferUsageFlags buffer_usages, vk::MemoryPropertyFlags buffer_memory_properties) |
gfxstream::expected< BufferWithMemory, vk::Result > | CreateBufferWithData (vk::DeviceSize buffer_size, vk::BufferUsageFlags buffer_usages, vk::MemoryPropertyFlags buffer_memory_properties, const uint8_t *buffer_data) |
vk::Result | DoCommandsImmediate (const std::function< vk::Result(vk::UniqueCommandBuffer &)> &func, const std::vector< vk::UniqueSemaphore > &semaphores_wait={}, const std::vector< vk::UniqueSemaphore > &semaphores_signal={}) |
gfxstream::expected< ImageWithMemory, vk::Result > | CreateImage (uint32_t width, uint32_t height, vk::Format format, vk::ImageUsageFlags usages, vk::MemoryPropertyFlags memory_properties, vk::ImageLayout returned_layout) |
gfxstream::expected< std::vector< uint8_t >, vk::Result > | DownloadImage (uint32_t width, uint32_t height, const vk::UniqueImage &image, vk::ImageLayout current_layout, vk::ImageLayout returned_layout) |
gfxstream::expected< YuvImageWithMemory, vk::Result > | CreateYuvImage (uint32_t width, uint32_t height, vk::ImageUsageFlags usages, vk::MemoryPropertyFlags memory_properties, vk::ImageLayout returned_layout) |
vk::Result | LoadYuvImage (const vk::UniqueImage &image, uint32_t width, uint32_t height, const std::vector< uint8_t > &image_data_y, const std::vector< uint8_t > &image_data_u, const std::vector< uint8_t > &image_data_v, vk::ImageLayout current_layout, vk::ImageLayout returned_layout) |
gfxstream::expected< FramebufferWithAttachments, vk::Result > | CreateFramebuffer (uint32_t width, uint32_t height, vk::Format colorAttachmentFormat=vk::Format::eUndefined, vk::Format depthAttachmentFormat=vk::Format::eUndefined) |
vk::Instance & | instance () |
vk::Device & | device () |
Static Public Member Functions | |
static gfxstream::expected< Vk, vk::Result > | Load (const std::vector< std::string > &instance_extensions={}, const std::vector< std::string > &instance_layers={}, const std::vector< std::string > &device_extensions={}) |
Private Member Functions | |
Vk (vk::detail::DynamicLoader loader, vk::UniqueInstance instance, std::optional< vk::UniqueDebugUtilsMessengerEXT > debug, vk::PhysicalDevice physical_device, vk::UniqueDevice device, vk::Queue queue, uint32_t queue_family_index, vk::UniqueCommandPool command_pool, vk::UniqueBuffer stagingBuffer, vk::UniqueDeviceMemory stagingBufferMemory) | |
Private Attributes | |
vk::detail::DynamicLoader | mLoader |
vk::UniqueInstance | mInstance |
std::optional< vk::UniqueDebugUtilsMessengerEXT > | mDebugMessenger |
vk::PhysicalDevice | mPhysicalDevice |
vk::UniqueDevice | mDevice |
vk::Queue | mQueue |
uint32_t | mQueueFamilyIndex |
vk::UniqueCommandPool | mCommandPool |
vk::UniqueBuffer | mStagingBuffer |
vk::UniqueDeviceMemory | mStagingBufferMemory |
Static Private Attributes | |
static constexpr const VkDeviceSize | kStagingBufferSize = 32 * 1024 * 1024 |
|
delete |
|
default |
|
inlineprivate |
gfxstream::expected< Vk::BufferWithMemory, vk::Result > gfxstream::Vk::CreateBuffer | ( | vk::DeviceSize | buffer_size, |
vk::BufferUsageFlags | buffer_usages, | ||
vk::MemoryPropertyFlags | buffer_memory_properties | ||
) |
gfxstream::expected< Vk::BufferWithMemory, vk::Result > gfxstream::Vk::CreateBufferWithData | ( | vk::DeviceSize | buffer_size, |
vk::BufferUsageFlags | buffer_usages, | ||
vk::MemoryPropertyFlags | buffer_memory_properties, | ||
const uint8_t * | buffer_data | ||
) |
gfxstream::expected< Vk::FramebufferWithAttachments, vk::Result > gfxstream::Vk::CreateFramebuffer | ( | uint32_t | width, |
uint32_t | height, | ||
vk::Format | colorAttachmentFormat = vk::Format::eUndefined , |
||
vk::Format | depthAttachmentFormat = vk::Format::eUndefined |
||
) |
gfxstream::expected< Vk::ImageWithMemory, vk::Result > gfxstream::Vk::CreateImage | ( | uint32_t | width, |
uint32_t | height, | ||
vk::Format | format, | ||
vk::ImageUsageFlags | usages, | ||
vk::MemoryPropertyFlags | memory_properties, | ||
vk::ImageLayout | returned_layout | ||
) |
gfxstream::expected< Vk::YuvImageWithMemory, vk::Result > gfxstream::Vk::CreateYuvImage | ( | uint32_t | width, |
uint32_t | height, | ||
vk::ImageUsageFlags | usages, | ||
vk::MemoryPropertyFlags | memory_properties, | ||
vk::ImageLayout | returned_layout | ||
) |
|
inline |
vk::Result gfxstream::Vk::DoCommandsImmediate | ( | const std::function< vk::Result(vk::UniqueCommandBuffer &)> & | func, |
const std::vector< vk::UniqueSemaphore > & | semaphores_wait = {} , |
||
const std::vector< vk::UniqueSemaphore > & | semaphores_signal = {} |
||
) |
gfxstream::expected< std::vector< uint8_t >, vk::Result > gfxstream::Vk::DownloadImage | ( | uint32_t | width, |
uint32_t | height, | ||
const vk::UniqueImage & | image, | ||
vk::ImageLayout | current_layout, | ||
vk::ImageLayout | returned_layout | ||
) |
|
inline |
|
static |
vk::Result gfxstream::Vk::LoadYuvImage | ( | const vk::UniqueImage & | image, |
uint32_t | width, | ||
uint32_t | height, | ||
const std::vector< uint8_t > & | image_data_y, | ||
const std::vector< uint8_t > & | image_data_u, | ||
const std::vector< uint8_t > & | image_data_v, | ||
vk::ImageLayout | current_layout, | ||
vk::ImageLayout | returned_layout | ||
) |
|
staticconstexprprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |