Monado OpenXR Runtime
comp_target_factory Struct Reference

A factory of targets. More...

#include <main/comp_target.h>

Collaboration diagram for comp_target_factory:

Public Member Functions

static bool comp_target_factory_detect (const struct comp_target_factory *ctf, struct comp_compositor *c)
 Checks if this target can be detected, is the preferred target or some other special consideration that this target should be used over all other targets. More...
 
static bool comp_target_factory_create_target (const struct comp_target_factory *ctf, struct comp_compositor *c, struct comp_target **out_ct)
 Create a target from this factory, some targets requires Vulkan to have been initialised, see requires_vulkan_for_create. More...
 

Data Fields

const char * name
 Pretty loggable name of target type. More...
 
const char * identifier
 Short all lowercase identifier for target type. More...
 
bool requires_vulkan_for_create
 Does this factory require Vulkan to have been initialized. More...
 
bool is_deferred
 Is this a deferred target that can have it's creation delayed even further then after Vulkan initialization. More...
 
uint32_t required_instance_version
 Vulkan version that is required or 0 if no specific requirement, equivalent to VK_MAKE_VERSION(1, 0, 0) More...
 
const char ** required_instance_extensions
 Required instance extensions. More...
 
size_t required_instance_extension_count
 Required instance extension count. More...
 
const char ** optional_device_extensions
 Optional device extensions. More...
 
size_t optional_device_extension_count
 Optional device extension count. More...
 
bool(* detect )(const struct comp_target_factory *ctf, struct comp_compositor *c)
 Checks if this target can be detected, is the preferred target or some other special consideration that this target should be used over all other targets. More...
 
bool(* create_target )(const struct comp_target_factory *ctf, struct comp_compositor *c, struct comp_target **out_ct)
 Create a target from this factory, some targets requires Vulkan to have been initialised, see requires_vulkan_for_create. More...
 

Detailed Description

A factory of targets.

Field Documentation

◆ create_target

bool(* comp_target_factory::create_target) (const struct comp_target_factory *ctf, struct comp_compositor *c, struct comp_target **out_ct)

Create a target from this factory, some targets requires Vulkan to have been initialised, see requires_vulkan_for_create.

◆ detect

bool(* comp_target_factory::detect) (const struct comp_target_factory *ctf, struct comp_compositor *c)

Checks if this target can be detected, is the preferred target or some other special consideration that this target should be used over all other targets.

This is needed for NVIDIA direct mode which window must be created after vulkan has initialized.

◆ identifier

const char* comp_target_factory::identifier

Short all lowercase identifier for target type.

◆ is_deferred

bool comp_target_factory::is_deferred

Is this a deferred target that can have it's creation delayed even further then after Vulkan initialization.

◆ name

◆ optional_device_extension_count

size_t comp_target_factory::optional_device_extension_count

Optional device extension count.

◆ optional_device_extensions

const char** comp_target_factory::optional_device_extensions

Optional device extensions.

◆ required_instance_extension_count

size_t comp_target_factory::required_instance_extension_count

Required instance extension count.

◆ required_instance_extensions

const char** comp_target_factory::required_instance_extensions

Required instance extensions.

◆ required_instance_version

uint32_t comp_target_factory::required_instance_version

Vulkan version that is required or 0 if no specific requirement, equivalent to VK_MAKE_VERSION(1, 0, 0)

◆ requires_vulkan_for_create

bool comp_target_factory::requires_vulkan_for_create

Does this factory require Vulkan to have been initialized.


The documentation for this struct was generated from the following file: