110#define FIELD(IDENT) bool has_##IDENT;
114#if defined(XRT_GRAPHICS_BUFFER_HANDLE_IS_AHARDWAREBUFFER)
116 bool emulated_R8G8B8A8_SRGB;
u_logging_level
Logging level enum.
Definition: u_logging.h:45
#define VK_CSCI_FORMATS(THING_COLOR, THING_DS, THING_D, THING_S)
Helper for all of the supported formats to check support for.
Definition: vk_helpers.h:1345
void comp_vulkan_formats_copy_to_info(const struct comp_vulkan_formats *formats, struct xrt_compositor_info *info)
Fills in a xrt_compositor_info struct with the formats listed from a comp_vulkan_formats.
Definition: comp_vulkan.c:411
bool comp_vulkan_init_bundle(struct vk_bundle *vk, const struct comp_vulkan_arguments *vk_args, struct comp_vulkan_results *vk_res)
Fully initialises a vk_bundle, by creating instance, device and queue.
Definition: comp_vulkan.c:346
void comp_vulkan_formats_check(struct vk_bundle *vk, struct comp_vulkan_formats *formats)
Fills in a comp_vulkan_formats struct with the supported formats, use comp_vulkan_formats_copy_to_inf...
Definition: comp_vulkan.c:382
void comp_vulkan_formats_log(enum u_logging_level log_level, const struct comp_vulkan_formats *formats)
Logs the formats at info level.
Definition: comp_vulkan.c:429
Arguments to Vulkan bundle initialisation, all args needs setting.
Definition: comp_vulkan.h:28
struct u_extension_list * optional_device_extensions
Extensions that the device is created with.
Definition: comp_vulkan.h:45
bool timeline_semaphore
Should we try to enable timeline semaphores if available.
Definition: comp_vulkan.h:54
int client_gpu_index
Vulkan physical device index for clients to use, -1 for auto.
Definition: comp_vulkan.h:60
bool only_compute_queue
Should we look for a queue with no graphics, only compute.
Definition: comp_vulkan.h:51
uint32_t required_instance_version
Vulkan version that is required.
Definition: comp_vulkan.h:30
enum u_logging_level log_level
Logging level to be set on the vk_bundle.
Definition: comp_vulkan.h:48
struct u_extension_list * optional_instance_extensions
Extensions that the instance is created with.
Definition: comp_vulkan.h:39
struct u_extension_list * required_instance_extensions
Extensions that the instance is created with.
Definition: comp_vulkan.h:36
PFN_vkGetInstanceProcAddr get_instance_proc_address
Function to get all Vulkan functions from.
Definition: comp_vulkan.h:33
struct u_extension_list * required_device_extensions
Extensions that the device is created with.
Definition: comp_vulkan.h:42
int selected_gpu_index
Vulkan physical device to be selected, -1 for auto.
Definition: comp_vulkan.h:57
Extra results from Vulkan bundle initialisation.
Definition: comp_vulkan.h:67
xrt_uuid_t client_gpu_deviceUUID
Selected Vulkan device UUID to suggest to clients.
Definition: comp_vulkan.h:78
xrt_uuid_t selected_gpu_deviceUUID
Selected Vulkan device UUID.
Definition: comp_vulkan.h:75
bool client_gpu_deviceLUID_valid
Whether client_gpu_deviceLUID is valid (probably only on Windows)
Definition: comp_vulkan.h:84
xrt_luid_t client_gpu_deviceLUID
The (Windows) LUID for the GPU device suggested for clients.
Definition: comp_vulkan.h:81
int selected_gpu_index
Vulkan physical device selected.
Definition: comp_vulkan.h:69
int client_gpu_index
Vulkan physical device index for clients to use.
Definition: comp_vulkan.h:72
Definition: u_extension_list.cpp:32
A bundle of Vulkan functions and objects, used by both Compositor and Compositor client code.
Definition: vk_helpers.h:75
Capabilities and information about the compositor and device together.
Definition: xrt_compositor.h:938
To transport LUIDs between different APIs.
Definition: xrt_defines.h:63
To transport UUIDs between different APIs.
Definition: xrt_defines.h:39
A collection of strings, like a list of extensions to enable.
Basic logging functionality.
Common Vulkan code header.
Header declaring XRT graphics interfaces.