Skip to content

Namespace ILLIXR::vulkan

Namespace List > ILLIXR > vulkan

Namespaces

Type Name
namespace ffmpeg_utils

Classes

Type Name
class app
struct buffer_pool <typename T>
class display_provider
A display sink is a service that can display the rendered images to the screen.
struct queue
struct queue_families
class render_pass
struct swapchain_details
class timewarp
struct vk_image

Public Types

Type Name
typedef int8_t image_index_t

Public Functions

Type Name
VkCommandBuffer begin_one_time_command (VkDevice vk_device, VkCommandPool vk_command_pool)
Creates a one-time command buffer.
void copy_buffer_to_image (VkDevice vk_device, queue q, VkCommandPool vk_command_pool, VkBuffer buffer, VkImage image, uint32_t width, uint32_t height)
Copies a buffer to an image of the same size.
VkCommandBuffer create_command_buffer (VkDevice device, VkCommandPool command_pool)
Creates a VkCommandBuffer.
VkCommandPool create_command_pool (VkDevice device, uint32_t queue_family_index)
Creates a VkCommandPool.
VkImageView create_image_view (VkDevice device, VkImage image, VkFormat format, VkImageAspectFlags aspect_flags)
VkShaderModule create_shader_module (VkDevice device, std::vector< char > && code)
Creates a VkShaderModule from SPIR-V bytecode.
VkSemaphore create_timeline_semaphore (VkDevice device, int initial_value=0, VkExportSemaphoreCreateInfo * export_semaphore_create_info=nullptr)
VmaAllocator create_vma_allocator (VkInstance vk_instance, VkPhysicalDevice vk_physical_device, VkDevice vk_device)
Creates a VMA allocator.
void end_one_time_command (VkDevice vk_device, VkCommandPool vk_command_pool, const queue & q, VkCommandBuffer vk_command_buffer)
Ends, submits and frees a one-time command buffer.
std::string error_string (VkResult err_code)
Returns the string representation of a VkResult.
queue_families find_queue_families (VkPhysicalDevice const & physical_device, VkSurfaceKHR const & vk_surface, bool no_present=false)
VkResult locked_queue_submit (queue & q, uint32_t submitCount, const VkSubmitInfo * pSubmits, VkFence fence)
swapchain_details query_swapchain_details (VkPhysicalDevice const & physical_device, VkSurfaceKHR const & vk_surface)
std::vector< char > read_file (const std::string & path)
Reads a file into a vector of chars.
void wait_timeline_semaphore (VkDevice device, VkSemaphore semaphore, uint64_t value)
void wait_timeline_semaphores (VkDevice device, const std::map< VkSemaphore, uint64_t > & semaphores)

Public Types Documentation

typedef image_index_t

typedef int8_t ILLIXR::vulkan::image_index_t;

Public Functions Documentation

function begin_one_time_command

Creates a one-time command buffer.

VkCommandBuffer ILLIXR::vulkan::begin_one_time_command (
    VkDevice vk_device,
    VkCommandPool vk_command_pool
) 

Parameters:

  • vk_device The Vulkan device to use.
  • vk_command_pool The Vulkan command pool to use.

Returns:

The created command buffer.


function copy_buffer_to_image

Copies a buffer to an image of the same size.

void ILLIXR::vulkan::copy_buffer_to_image (
    VkDevice vk_device,
    queue q,
    VkCommandPool vk_command_pool,
    VkBuffer buffer,
    VkImage image,
    uint32_t width,
    uint32_t height
) 

Parameters:

  • vk_device The Vulkan device to use.
  • vk_queue The Vulkan queue to use.
  • vk_command_pool The Vulkan command pool to use.
  • buffer The buffer to copy from.
  • image The image to copy to.
  • width The width of the image.
  • height The height of the image.

function create_command_buffer

Creates a VkCommandBuffer.

VkCommandBuffer ILLIXR::vulkan::create_command_buffer (
    VkDevice device,
    VkCommandPool command_pool
) 

Parameters:

  • device The Vulkan device to use.
  • command_pool The Vulkan command pool to use.

function create_command_pool

Creates a VkCommandPool.

VkCommandPool ILLIXR::vulkan::create_command_pool (
    VkDevice device,
    uint32_t queue_family_index
) 

Parameters:

  • device The Vulkan device to use.
  • queue_family_index The queue family index to use.

Returns:

The created VkCommandPool.


function create_image_view

VkImageView ILLIXR::vulkan::create_image_view (
    VkDevice device,
    VkImage image,
    VkFormat format,
    VkImageAspectFlags aspect_flags
) 

function create_shader_module

Creates a VkShaderModule from SPIR-V bytecode.

VkShaderModule ILLIXR::vulkan::create_shader_module (
    VkDevice device,
    std::vector< char > && code
) 

Parameters:

  • device The Vulkan device to use.
  • code The SPIR-V bytecode.

Returns:

The created VkShaderModule.


function create_timeline_semaphore

VkSemaphore ILLIXR::vulkan::create_timeline_semaphore (
    VkDevice device,
    int initial_value=0,
    VkExportSemaphoreCreateInfo * export_semaphore_create_info=nullptr
) 

function create_vma_allocator

Creates a VMA allocator.

VmaAllocator ILLIXR::vulkan::create_vma_allocator (
    VkInstance vk_instance,
    VkPhysicalDevice vk_physical_device,
    VkDevice vk_device
) 

Parameters:

  • vk_instance The Vulkan instance to use.
  • vk_physical_device The Vulkan physical device to use.
  • vk_device The Vulkan device to use.

Returns:

The created VMA allocator.


function end_one_time_command

Ends, submits and frees a one-time command buffer.

void ILLIXR::vulkan::end_one_time_command (
    VkDevice vk_device,
    VkCommandPool vk_command_pool,
    const queue & q,
    VkCommandBuffer vk_command_buffer
) 

This function waits for the queue to become idle.

Parameters:

  • vk_device The Vulkan device to use.
  • vk_command_pool The Vulkan command pool to use.
  • vk_queue The Vulkan queue to use.
  • vk_command_buffer The Vulkan command buffer to use.

function error_string

Returns the string representation of a VkResult.

std::string ILLIXR::vulkan::error_string (
    VkResult err_code
) 

Parameters:

  • err_code The VkResult to convert to a string.

Returns:

The string representation of the VkResult.


function find_queue_families

queue_families ILLIXR::vulkan::find_queue_families (
    VkPhysicalDevice const & physical_device,
    VkSurfaceKHR const & vk_surface,
    bool no_present=false
) 

function locked_queue_submit

VkResult ILLIXR::vulkan::locked_queue_submit (
    queue & q,
    uint32_t submitCount,
    const VkSubmitInfo * pSubmits,
    VkFence fence
) 

function query_swapchain_details

swapchain_details ILLIXR::vulkan::query_swapchain_details (
    VkPhysicalDevice const & physical_device,
    VkSurfaceKHR const & vk_surface
) 

function read_file

Reads a file into a vector of chars.

std::vector< char > ILLIXR::vulkan::read_file (
    const std::string & path
) 

Parameters:

  • path The path to the file.

Returns:

The vector of chars.


function wait_timeline_semaphore

void ILLIXR::vulkan::wait_timeline_semaphore (
    VkDevice device,
    VkSemaphore semaphore,
    uint64_t value
) 

function wait_timeline_semaphores

void ILLIXR::vulkan::wait_timeline_semaphores (
    VkDevice device,
    const std::map< VkSemaphore, uint64_t > & semaphores
) 


The documentation for this class was generated from the following file /home/friedel/devel/ILLIXR/include/illixr/vk/display_provider.hpp