Mir
Namespaces | Classes | Typedefs | Enumerations | Functions
mir::graphics Namespace Reference

Graphics subsystem. Mediates interaction between core system and the graphics environment. More...

Namespaces

 android
 
 detail
 
 mesa
 
 nested
 
 offscreen
 

Classes

class  Buffer
 
class  BufferBasic
 
class  BufferIpcMessage
 
struct  BufferProperties
 Buffer creation properties. More...
 
class  Cursor
 
class  CursorImage
 
class  DefaultDisplayConfigurationPolicy
 
class  Display
 Interface to the display subsystem. More...
 
class  DisplayBuffer
 Interface to an output framebuffer. More...
 
class  DisplayConfiguration
 Interface to a configuration of display cards and outputs. More...
 
struct  DisplayConfigurationCard
 Configuration information for a display card. More...
 
struct  DisplayConfigurationMode
 Configuration information for a display output mode. More...
 
struct  DisplayConfigurationOutput
 Configuration information for a display output. More...
 
class  DisplayConfigurationPolicy
 
class  DisplayReport
 
class  EGLContextStore
 
struct  EGLExtensions
 
class  EGLSurfaceStore
 
class  EventHandlerRegister
 
class  GLConfig
 Interface for customizing aspects of the GL config used by the server. More...
 
class  GLContext
 
class  GLExtensionsBase
 
struct  GLPrimitive
 
class  GLProgram
 
class  GLProgramFactory
 
class  GLShader
 
class  GLTexture
 
class  GLTextureCache
 
struct  GLVertex
 
class  GraphicBufferAllocator
 Interface to graphic buffer allocation. More...
 
class  NativeBuffer
 
class  NestedContext
 
class  OverlappingOutputGroup
 
class  OverlappingOutputGrouping
 Helper class that groups overlapping outputs together. More...
 
class  Platform
 Interface to platform specific support for graphics operations. More...
 
class  PlatformIpcOperations
 
struct  PlatformIPCPackage
 Platform data to be sent to the clients over IPC. More...
 
struct  PlatformOperationMessage
 
class  ProgramFactory
 
class  Renderable
 
class  SimpleGLProgram
 
class  SoftwareCursor
 
class  SurfacelessEGLContext
 
struct  UserDisplayConfigurationOutput
 Mirror of a DisplayConfigurationOutput, with some fields limited to being read-only, preventing users from changing things they shouldn't. More...
 

Typedefs

typedef struct MirBufferPackage NativeBuffer
 
typedef IntWrapper< BufferIdTag, uint32_t > BufferID
 
typedef std::function< bool()> DisplayPauseHandler
 
typedef std::function< bool()> DisplayResumeHandler
 
typedef std::function< void()> DisplayConfigurationChangeHandler
 
typedef IntWrapper< detail::GraphicsConfCardIdTag > DisplayConfigurationCardId
 
typedef IntWrapper< detail::GraphicsConfOutputIdTag > DisplayConfigurationOutputId
 
typedef std::shared_ptr< Platform >(* CreateHostPlatform) (std::shared_ptr< options::Option > const &options, std::shared_ptr< EmergencyCleanupRegistry > const &emergency_cleanup_registry, std::shared_ptr< DisplayReport > const &report)
 Function prototype used to return a new host graphics platform. More...
 
typedef std::shared_ptr< Platform >(* CreateGuestPlatform) (std::shared_ptr< DisplayReport > const &report, std::shared_ptr< NestedContext > const &nested_context)
 Function prototype used to return a new guest graphics platform. More...
 
typedef void(* AddPlatformOptions) (boost::program_options::options_description &config)
 Function prototype used to add platform specific options to the platform-independant server options. More...
 
typedef PlatformPriority(* PlatformProbe) ()
 
typedef ModuleProperties const *(* DescribeModule) ()
 
typedef std::list< std::shared_ptr< Renderable > > RenderableList
 

Enumerations

enum  BufferUsage { BufferUsage::undefined, BufferUsage::hardware, BufferUsage::software }
 How a buffer is going to be used. More...
 
enum  DisplayConfigurationOutputType {
  DisplayConfigurationOutputType::unknown, DisplayConfigurationOutputType::vga, DisplayConfigurationOutputType::dvii, DisplayConfigurationOutputType::dvid,
  DisplayConfigurationOutputType::dvia, DisplayConfigurationOutputType::composite, DisplayConfigurationOutputType::svideo, DisplayConfigurationOutputType::lvds,
  DisplayConfigurationOutputType::component, DisplayConfigurationOutputType::ninepindin, DisplayConfigurationOutputType::displayport, DisplayConfigurationOutputType::hdmia,
  DisplayConfigurationOutputType::hdmib, DisplayConfigurationOutputType::tv, DisplayConfigurationOutputType::edp
}
 The type of a display output. More...
 
enum  PlatformPriority : uint32_t { unsupported = 0, supported = 128, best = 256 }
 A measure of how well a platform supports a device. More...
 
enum  BufferIpcMsgType { BufferIpcMsgType::full_msg, BufferIpcMsgType::update_msg }
 

Functions

std::shared_ptr< SharedLibrarymodule_for_device (std::vector< std::shared_ptr< SharedLibrary >> const &modules)
 
GLPrimitive tessellate_renderable_into_rectangle (Renderable const &renderable)
 
bool operator== (BufferProperties const &lhs, BufferProperties const &rhs)
 
bool operator!= (BufferProperties const &lhs, BufferProperties const &rhs)
 
std::ostream & operator<< (std::ostream &out, DisplayConfigurationCard const &val)
 
bool operator== (DisplayConfigurationCard const &val1, DisplayConfigurationCard const &val2)
 
bool operator!= (DisplayConfigurationCard const &val1, DisplayConfigurationCard const &val2)
 
std::ostream & operator<< (std::ostream &out, DisplayConfigurationMode const &val)
 
bool operator== (DisplayConfigurationMode const &val1, DisplayConfigurationMode const &val2)
 
bool operator!= (DisplayConfigurationMode const &val1, DisplayConfigurationMode const &val2)
 
std::ostream & operator<< (std::ostream &out, DisplayConfigurationOutput const &val)
 
bool operator== (DisplayConfigurationOutput const &val1, DisplayConfigurationOutput const &val2)
 
bool operator!= (DisplayConfigurationOutput const &val1, DisplayConfigurationOutput const &val2)
 
std::shared_ptr< Platformcreate_host_platform (std::shared_ptr< options::Option > const &options, std::shared_ptr< EmergencyCleanupRegistry > const &emergency_cleanup_registry, std::shared_ptr< DisplayReport > const &report)
 
std::shared_ptr< Platformcreate_guest_platform (std::shared_ptr< DisplayReport > const &report, std::shared_ptr< NestedContext > const &nested_context)
 
void add_graphics_platform_options (boost::program_options::options_description &config)
 
PlatformPriority probe_graphcis_platform ()
 
ModuleProperties const * describe_graphics_module ()
 
MirPixelFormat utility functions

A set of functions to query details of MirPixelFormat TODO improve this through https://bugs.launchpad.net/mir/+bug/1236254

bool contains_alpha (MirPixelFormat format)
 
int red_channel_depth (MirPixelFormat format)
 
int blue_channel_depth (MirPixelFormat format)
 
int green_channel_depth (MirPixelFormat format)
 
int alpha_channel_depth (MirPixelFormat format)
 
bool valid_pixel_format (MirPixelFormat format)
 

Detailed Description

Graphics subsystem. Mediates interaction between core system and the graphics environment.

Typedef Documentation

typedef IntWrapper<BufferIdTag, uint32_t> mir::graphics::BufferID
typedef ModuleProperties const*(* mir::graphics::DescribeModule) ()
typedef IntWrapper<detail::GraphicsConfCardIdTag> mir::graphics::DisplayConfigurationCardId
typedef std::function<void()> mir::graphics::DisplayConfigurationChangeHandler
typedef IntWrapper<detail::GraphicsConfOutputIdTag> mir::graphics::DisplayConfigurationOutputId
typedef std::function<bool()> mir::graphics::DisplayPauseHandler
typedef std::function<bool()> mir::graphics::DisplayResumeHandler
typedef PlatformPriority(* mir::graphics::PlatformProbe) ()
typedef std::list<std::shared_ptr<Renderable> > mir::graphics::RenderableList

Enumeration Type Documentation

Enumerator
full_msg 
update_msg 

How a buffer is going to be used.

The usage is not just a hint; for example, depending on the platform, a 'hardware' buffer may not support direct pixel access.

Enumerator
undefined 
hardware 

rendering using GL

software 

rendering using direct pixel access

The type of a display output.

Enumerator
unknown 
vga 
dvii 
dvid 
dvia 
composite 
svideo 
lvds 
component 
ninepindin 
displayport 
hdmia 
hdmib 
tv 
edp 

A measure of how well a platform supports a device.

Note
This is compared as an integer; best + 1 is a valid PlatformPriority that will be used in preference to a module that reports best. Platform modules distributed with Mir will never use a priority higher than best.
Enumerator
unsupported 

Unable to function at all on this device.

supported 

Capable of providing a functioning Platform on this device, possibly with degraded performance or features.

best 

Capable of providing a Platform with the best features and performance this device is capable of.

Function Documentation

void mir::graphics::add_graphics_platform_options ( boost::program_options::options_description &  config)
int mir::graphics::alpha_channel_depth ( MirPixelFormat  format)
int mir::graphics::blue_channel_depth ( MirPixelFormat  format)
bool mir::graphics::contains_alpha ( MirPixelFormat  format)
std::shared_ptr<Platform> mir::graphics::create_guest_platform ( std::shared_ptr< DisplayReport > const &  report,
std::shared_ptr< NestedContext > const &  nested_context 
)
std::shared_ptr<Platform> mir::graphics::create_host_platform ( std::shared_ptr< options::Option > const &  options,
std::shared_ptr< EmergencyCleanupRegistry > const &  emergency_cleanup_registry,
std::shared_ptr< DisplayReport > const &  report 
)
ModuleProperties const* mir::graphics::describe_graphics_module ( )
int mir::graphics::green_channel_depth ( MirPixelFormat  format)
std::shared_ptr< mir::SharedLibrary > mir::graphics::module_for_device ( std::vector< std::shared_ptr< SharedLibrary >> const &  modules)
bool mir::graphics::operator!= ( BufferProperties const &  lhs,
BufferProperties const &  rhs 
)
inline
bool mir::graphics::operator!= ( mg::DisplayConfigurationCard const &  val1,
mg::DisplayConfigurationCard const &  val2 
)
bool mir::graphics::operator!= ( mg::DisplayConfigurationMode const &  val1,
mg::DisplayConfigurationMode const &  val2 
)
bool mir::graphics::operator!= ( mg::DisplayConfigurationOutput const &  val1,
mg::DisplayConfigurationOutput const &  val2 
)
std::ostream & mir::graphics::operator<< ( std::ostream &  out,
mg::DisplayConfigurationCard const &  val 
)
std::ostream & mir::graphics::operator<< ( std::ostream &  out,
mg::DisplayConfigurationMode const &  val 
)
std::ostream & mir::graphics::operator<< ( std::ostream &  out,
mg::DisplayConfigurationOutput const &  val 
)
bool mir::graphics::operator== ( BufferProperties const &  lhs,
BufferProperties const &  rhs 
)
inline
bool mir::graphics::operator== ( mg::DisplayConfigurationCard const &  val1,
mg::DisplayConfigurationCard const &  val2 
)
bool mir::graphics::operator== ( mg::DisplayConfigurationMode const &  val1,
mg::DisplayConfigurationMode const &  val2 
)
bool mir::graphics::operator== ( mg::DisplayConfigurationOutput const &  val1,
mg::DisplayConfigurationOutput const &  val2 
)
PlatformPriority mir::graphics::probe_graphcis_platform ( )
int mir::graphics::red_channel_depth ( MirPixelFormat  format)
mg::GLPrimitive mir::graphics::tessellate_renderable_into_rectangle ( mg::Renderable const &  renderable)
bool mir::graphics::valid_pixel_format ( MirPixelFormat  format)

Copyright © 2012,2013 Canonical Ltd.
Generated on Tue Mar 24 16:15:19 UTC 2015