|
|
static bool | should_skip_optional_instance_ext (struct vk_bundle *vk, struct u_string_list *required_instance_ext_list, struct u_string_list *optional_instance_ext_listconst, const char *ext) |
| |
|
static bool | is_instance_ext_supported (VkExtensionProperties *props, uint32_t prop_count, const char *ext) |
| |
| VkResult | vk_check_required_instance_extensions (struct vk_bundle *vk, struct u_string_list *required_instance_ext_list) |
| | Check if the required instance extensions are supported, if not print error message with all extensions missing, returns VK_ERROR_EXTENSION_NOT_PRESENT if not all extensions are supported. More...
|
| |
| struct u_string_list * | vk_build_instance_extensions (struct vk_bundle *vk, struct u_string_list *required_instance_ext_list, struct u_string_list *optional_instance_ext_list) |
| | Only requires vk_get_loader_functions to have been called. More...
|
| |
| void | vk_fill_in_has_instance_extensions (struct vk_bundle *vk, struct u_string_list *ext_list) |
| | Fills in has_* in vk_bundle given a string of prefiltered instance extensions. More...
|
| |
|
static void | fill_in_device_features (struct vk_bundle *vk, const uint32_t queue_family_index) |
| |
|
static void | get_external_image_support (struct vk_bundle *vk, bool depth, VkExternalMemoryHandleTypeFlagBits handle_type, bool *out_importable, bool *out_exportable) |
| |
|
static bool | is_fence_bit_supported (struct vk_bundle *vk, VkExternalFenceHandleTypeFlagBits handle_type) |
| |
|
static void | get_binary_semaphore_bit_support (struct vk_bundle *vk, VkExternalSemaphoreHandleTypeFlagBits handle_type, bool *out_importable, bool *out_exportable) |
| |
|
static bool | is_binary_semaphore_bit_supported (struct vk_bundle *vk, VkExternalSemaphoreHandleTypeFlagBits handle_type) |
| |
|
static void | get_timeline_semaphore_bit_support (struct vk_bundle *vk, VkExternalSemaphoreHandleTypeFlagBits handle_type, bool *out_importable, bool *out_exportable) |
| |
|
static bool | is_timeline_semaphore_bit_supported (struct vk_bundle *vk, VkExternalSemaphoreHandleTypeFlagBits handle_type) |
| |
|
static void | fill_in_external_object_properties (struct vk_bundle *vk) |
| |
|
static int | device_type_priority (VkPhysicalDeviceType device_type) |
| |
|
static bool | device_is_preferred (VkPhysicalDeviceProperties *l_device, VkPhysicalDeviceProperties *r_device) |
| |
|
static void | device_debug_print (struct vk_bundle *vk, const VkPhysicalDeviceProperties *pdp, uint32_t index) |
| |
|
static uint32_t | select_preferred_device (struct vk_bundle *vk, VkPhysicalDevice *devices, uint32_t device_count) |
| |
|
static VkResult | select_physical_device (struct vk_bundle *vk, int forced_index) |
| |
|
static VkResult | find_graphics_queue_family (struct vk_bundle *vk, struct vk_queue_family *out_graphics_queue_family) |
| |
|
static VkResult | find_queue_family (struct vk_bundle *vk, VkQueueFlags required_flags, struct vk_queue_family *out_queue_family) |
| |
|
static bool | check_extension (struct vk_bundle *vk, VkExtensionProperties *props, uint32_t prop_count, const char *ext) |
| |
|
static void | fill_in_has_device_extensions (struct vk_bundle *vk, struct u_string_list *ext_list) |
| |
|
static bool | should_skip_optional_device_ext (struct vk_bundle *vk, struct u_string_list *required_device_ext_list, struct u_string_list *optional_device_ext_listconst, const char *ext) |
| |
|
static VkResult | build_device_extensions (struct vk_bundle *vk, VkPhysicalDevice physical_device, struct u_string_list *required_device_ext_list, struct u_string_list *optional_device_ext_list, struct u_string_list **out_device_ext_list) |
| |
| static void | filter_device_features (struct vk_bundle *vk, VkPhysicalDevice physical_device, const struct vk_device_features *optional_device_features, struct vk_device_features *device_features) |
| | Sets fields in device_features to true if and only if they are available and they are true in optional_device_features (indicating a desire for that feature) More...
|
| |
|
static void | vk_reset_queues (struct vk_bundle *vk) |
| |
|
static struct vk_bundle_queue * | vk_insert_get_queue (struct vk_bundle *vk, const struct vk_queue_pair *new_queue) |
| |
| VkResult | vk_select_physical_device (struct vk_bundle *vk, int forced_index) |
| | Setup the physical device, this is called by vk_create_device but has uses for outside of that. More...
|
| |
| XRT_CHECK_RESULT VkResult | vk_create_device (struct vk_bundle *vk, int forced_index, bool only_compute, VkQueueGlobalPriorityEXT global_priority, struct u_string_list *required_device_ext_list, struct u_string_list *optional_device_ext_list, const struct vk_device_features *optional_device_features) |
| | Creates a VkDevice and initialises the VkQueue. More...
|
| |
| VkResult | vk_init_mutex (struct vk_bundle *vk) |
| | Initialize mutexes in the vk_bundle. More...
|
| |
| VkResult | vk_deinit_mutex (struct vk_bundle *vk) |
| | De-initialize mutexes in the vk_bundle. More...
|
| |
| XRT_CHECK_RESULT VkResult | vk_init_from_given (struct vk_bundle *vk, PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr, VkInstance instance, VkPhysicalDevice physical_device, VkDevice device, uint32_t queue_family_index, uint32_t queue_index, bool external_fence_fd_enabled, bool external_semaphore_fd_enabled, bool timeline_semaphore_enabled, bool image_format_list_enabled, bool debug_utils_enabled, enum u_logging_level log_level) |
| | Initialize a bundle with objects given to us by client code, used by client_vk_compositor in Compositor client code. More...
|
| |
Functions to init various parts of the vk_bundle.
Note that some functionality in this file is generated by the script src/xrt/auxiliary/vk/vk_generate_inc_files.py. The generated parts are included via .c.inc files.
- Author
- Jakob Bornecrantz jakob.nosp@m.@col.nosp@m.labor.nosp@m.a.co.nosp@m.m
-
Lubosz Sarnecki lubos.nosp@m.z.sa.nosp@m.rneck.nosp@m.i@co.nosp@m.llabo.nosp@m.ra.c.nosp@m.om
-
Moshi Turner moshi.nosp@m.turn.nosp@m.er@pr.nosp@m.oton.nosp@m.mail..nosp@m.com
-
Korcan Hussein korca.nosp@m.n.hu.nosp@m.ssein.nosp@m.@col.nosp@m.labor.nosp@m.a.co.nosp@m.m