class VulkanInstance

Defined at line 28 of file ../../src/ui/lib/escher/vk/vulkan_instance.h

Convenient wrapper for creating and managing the lifecycle of a VkInstance

that is suitable for use by Escher.

Public Methods

fxl::RefPtr<VulkanInstance> New (Params params)

Constructor.

Defined at line 32 of file ../../src/ui/lib/escher/vk/vulkan_instance.cc

vk::Instance vk_instance ()

Defined at line 92 of file ../../src/ui/lib/escher/vk/vulkan_instance.h

const Params & params ()

Return the parameterss that were used to create this instance.

Defined at line 95 of file ../../src/ui/lib/escher/vk/vulkan_instance.h

const ProcAddrs & proc_addrs ()

Return per-instance functions that were dynamically looked up.

Defined at line 98 of file ../../src/ui/lib/escher/vk/vulkan_instance.h

uint32_t api_version ()

Return Vulkan API Version of the instance.

Defined at line 101 of file ../../src/ui/lib/escher/vk/vulkan_instance.h

void ~VulkanInstance ()

Defined at line 115 of file ../../src/ui/lib/escher/vk/vulkan_instance.cc

std::optional<std::string> GetValidationLayerName ()

Get the name of Vulkan validation layer if it is supported. Otherwise

return std::nullopt instead.

Defined at line 125 of file ../../src/ui/lib/escher/vk/vulkan_instance.cc

bool ValidateLayers (const std::set<std::string> & required_layer_names)

Enumerate the available instance layers. Return true if all required

layers are present, and false otherwise.

Defined at line 131 of file ../../src/ui/lib/escher/vk/vulkan_instance.cc

bool ValidateExtensions (const std::set<std::string> & required_extension_names, const std::set<std::string> & required_layer_names)

Enumerate the available instance extensions. Return true if all required

extensions are present, and false otherwise. NOTE: if an extension isn't

found at first, we look in all required layers to see if it is implemented

there.

Defined at line 179 of file ../../src/ui/lib/escher/vk/vulkan_instance.cc

DebugUtilsMessengerCallbackHandle RegisterDebugUtilsMessengerCallback (VkDebugUtilsMessengerCallbackFn function, void * user_data)

Add debug report callback to registry. Registered callbacks are invoked

by |DebugUtilsMessengerCallbackEntrance| when validation error occurs.

The returned handle will be required when deregistering the callback.

Defined at line 192 of file ../../src/ui/lib/escher/vk/vulkan_instance.cc

void DeregisterDebugUtilsMessengerCallback (const DebugUtilsMessengerCallbackHandle & callback)

Defined at line 199 of file ../../src/ui/lib/escher/vk/vulkan_instance.cc

Records