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