20 #ifndef MIR_GRAPHICS_PLATFORM_H_
21 #define MIR_GRAPHICS_PLATFORM_H_
23 #include <boost/program_options/options_description.hpp>
31 class EmergencyCleanupRegistry;
49 class DisplayConfigurationPolicy;
50 class GraphicBufferAllocator;
52 class GLProgramFactory;
53 class PlatformIpcOperations;
84 std::shared_ptr<DisplayConfigurationPolicy>
const& initial_conf_policy,
85 std::shared_ptr<GLProgramFactory>
const& gl_program_factory,
86 std::shared_ptr<GLConfig>
const& gl_config) = 0;
128 extern "C" typedef std::shared_ptr<Platform>(*CreateHostPlatform)(
129 std::shared_ptr<options::Option>
const& options,
130 std::shared_ptr<EmergencyCleanupRegistry>
const& emergency_cleanup_registry,
131 std::shared_ptr<DisplayReport>
const& report);
133 std::shared_ptr<options::Option>
const& options,
134 std::shared_ptr<EmergencyCleanupRegistry>
const& emergency_cleanup_registry,
135 std::shared_ptr<DisplayReport>
const& report);
148 extern "C" typedef std::shared_ptr<Platform>(*CreateGuestPlatform)(
149 std::shared_ptr<DisplayReport>
const& report,
150 std::shared_ptr<NestedContext>
const& nested_context);
152 std::shared_ptr<DisplayReport>
const& report,
153 std::shared_ptr<NestedContext>
const& nested_context);
165 boost::program_options::options_description& config);
167 boost::program_options::options_description& config);
180 #endif // MIR_GRAPHICS_PLATFORM_H_
std::shared_ptr< Platform > create_guest_platform(std::shared_ptr< DisplayReport > const &report, std::shared_ptr< NestedContext > const &nested_context)
All things Mir.
Definition: buffer_stream.h:37
Capable of providing a Platform with the best features and performance this device is capable of...
Definition: platform.h:111
PlatformPriority probe_graphcis_platform()
Unable to function at all on this device.
Definition: platform.h:107
void add_graphics_platform_options(boost::program_options::options_description &config)
Definition: platform.cpp:158
ModuleProperties const * describe_graphics_module()
Definition: platform.cpp:187
Describes a platform module.
Definition: module_properties.h:28
PlatformPriority(* PlatformProbe)()
Definition: platform.h:172
PlatformPriority
A measure of how well a platform supports a device.
Definition: platform.h:105
Capable of providing a functioning Platform on this device, possibly with degraded performance or fea...
Definition: platform.h:108
std::shared_ptr< Platform > create_host_platform(std::shared_ptr< options::Option > const &options, std::shared_ptr< EmergencyCleanupRegistry > const &emergency_cleanup_registry, std::shared_ptr< DisplayReport > const &report)