|
Monado OpenXR Runtime
|
A bundle of Vulkan functions and objects, used by both Compositor and Compositor client code. More...
#include <vk/vk_helpers.h>

Data Fields | ||
| enum u_logging_level | log_level | |
| VkInstance | instance | |
| uint32_t | version | |
| VkPhysicalDevice | physical_device | |
| int | physical_device_index | |
| VkDevice | device | |
| struct vk_bundle_queue | queues [3] | |
| queues - a free list of unique queues | ||
| struct vk_bundle_queue * | main_queue | |
| Main queue for general work. | ||
| struct vk_bundle_queue * | graphics_queue | |
| Graphics queue. | ||
| struct { | ||
| } | external | |
| struct { | ||
| bool timestamp_compute_and_graphics | ||
| Are timestamps available for compute and graphics queues? More... | ||
| float timestamp_period | ||
| Nanoseconds per gpu tick. More... | ||
| uint32_t timestamp_valid_bits | ||
| Valid bits in the queue selected. More... | ||
| bool timeline_semaphore | ||
| Were timeline semaphore requested, available, and enabled? More... | ||
| bool synchronization_2 | ||
| Was synchronization2 requested, available, and enabled? More... | ||
| bool present_wait | ||
| Was KHR_present_wait requested, available, and enabled? More... | ||
| bool video_maintenance_1 | ||
| Was KHR_video_maintenance1 requested, available, and enabled? More... | ||
| } | features | |
| struct { | ||
| uint32_t max_sampler_allocation_count | ||
| Maximum number of sampler objects, as created by vkCreateSampler, which can simultaneously exist on. More... | ||
| uint32_t max_bound_descriptor_sets | ||
| Maximum number of descriptor sets that can be simultaneously used by a pipeline. More... | ||
| uint32_t max_descriptor_set_samplers | ||
| Maximum number of samplers that can be included in a pipeline layout. More... | ||
| uint32_t max_descriptor_set_sampled_images | ||
| Maximum number of sampled images that can be included in a pipeline layout. More... | ||
| uint32_t max_per_stage_descriptor_samplers | ||
| Maximum number of samplers that can be accessible to a single shader stage in a pipeline layout. More... | ||
| uint32_t max_per_stage_descriptor_sampled_images | ||
| Per stage limit on sampled images (includes combined). More... | ||
| uint32_t max_per_stage_descriptor_storage_images | ||
| Per stage limit on storage images. More... | ||
| } | limits | |
| bool | is_tegra | |
| Is the GPU a tegra device. | ||
| VkDebugReportCallbackEXT | debug_report_cb | |
| VkPhysicalDeviceMemoryProperties | device_memory_props | |
| PFN_vkGetInstanceProcAddr | vkGetInstanceProcAddr | |
| PFN_vkCreateInstance | vkCreateInstance | |
| PFN_vkEnumerateInstanceExtensionProperties | vkEnumerateInstanceExtensionProperties | |
A bundle of Vulkan functions and objects, used by both Compositor and Compositor client code.
Note that they both have different instances of the object, and thus different VkInstance, etc.
| struct vk_bundle_queue* vk_bundle::graphics_queue |
Graphics queue.
Always a graphics queue, even in compute-only mode. In normal mode, aliases with main_queue. In compute-only mode, this is a separate graphics queue.
Referenced by vk_create_device(), vk_init_from_given(), and vk_print_queues_info().
| bool vk_bundle::is_tegra |
Is the GPU a tegra device.
| struct vk_bundle_queue* vk_bundle::main_queue |
Main queue for general work.
In normal mode, this is a graphics queue. In compute-only mode, this is a compute queue.
May alias with graphics_queue.
Referenced by client_vk_swapchain_create(), image_cleanup(), render_resources::render_resources_init(), vk_cmd_pool::vk_cmd_pool_init(), vk_create_and_submit_fence_native(), vk_create_device(), vk_init_from_given(), and vk_print_queues_info().
| uint32_t vk_bundle::max_bound_descriptor_sets |
Maximum number of descriptor sets that can be simultaneously used by a pipeline.
| uint32_t vk_bundle::max_descriptor_set_sampled_images |
Maximum number of sampled images that can be included in a pipeline layout.
| uint32_t vk_bundle::max_descriptor_set_samplers |
Maximum number of samplers that can be included in a pipeline layout.
| uint32_t vk_bundle::max_per_stage_descriptor_sampled_images |
Per stage limit on sampled images (includes combined).
Referenced by render_max_layers_capable(), and render_resources::render_resources_init().
| uint32_t vk_bundle::max_per_stage_descriptor_samplers |
Maximum number of samplers that can be accessible to a single shader stage in a pipeline layout.
Referenced by render_max_layers_capable().
| uint32_t vk_bundle::max_per_stage_descriptor_storage_images |
Per stage limit on storage images.
| uint32_t vk_bundle::max_sampler_allocation_count |
Maximum number of sampler objects, as created by vkCreateSampler, which can simultaneously exist on.
| bool vk_bundle::present_wait |
Was KHR_present_wait requested, available, and enabled?
Referenced by vk_create_device().
| struct vk_bundle_queue vk_bundle::queues[3] |
queues - a free list of unique queues
One per uniquely identifiable vk queue (family x instance index), duplicate entries must not be stored.
Should not be used directly,
Referenced by vk_deinit_mutex(), and vk_init_mutex().
| bool vk_bundle::synchronization_2 |
Was synchronization2 requested, available, and enabled?
Referenced by vk_create_device().
| bool vk_bundle::timeline_semaphore |
Were timeline semaphore requested, available, and enabled?
Referenced by comp_semaphore_create(), vk_can_import_and_export_timeline_semaphore(), vk_create_device(), vk_init_from_given(), and vk_print_features_info().
| bool vk_bundle::timestamp_compute_and_graphics |
Are timestamps available for compute and graphics queues?
Referenced by vk_print_features_info().
| float vk_bundle::timestamp_period |
Nanoseconds per gpu tick.
Referenced by render_resources::render_resources_get_duration(), and vk_print_features_info().
| uint32_t vk_bundle::timestamp_valid_bits |
Valid bits in the queue selected.
Referenced by vk_print_features_info().
| bool vk_bundle::video_maintenance_1 |
Was KHR_video_maintenance1 requested, available, and enabled?
Referenced by vk_create_device().