Mir
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
mir::graphics::mesa::DisplayBuffer Class Reference

#include <display_buffer.h>

Inheritance diagram for mir::graphics::mesa::DisplayBuffer:
Inheritance graph
[legend]

Public Member Functions

 DisplayBuffer (std::shared_ptr< Platform > const &platform, std::shared_ptr< DisplayReport > const &listener, std::vector< std::shared_ptr< KMSOutput >> const &outputs, GBMSurfaceUPtr surface_gbm, geometry::Rectangle const &area, MirOrientation rot, GLConfig const &gl_config, EGLContext shared_context)
 
 ~DisplayBuffer ()
 
geometry::Rectangle view_area () const
 The area the DisplayBuffer occupies in the virtual screen space. More...
 
void make_current ()
 Makes the DisplayBuffer the current GL rendering target. More...
 
void release_current ()
 Releases the current GL rendering target. More...
 
void post_update ()
 This will trigger OpenGL rendering and post the result to the screen. More...
 
bool can_bypass () const override
 to be deprecated More...
 
void post_update (std::shared_ptr< graphics::Buffer > bypass_buf) override
 
void render_and_post_update (RenderableList const &renderlist, std::function< void(Renderable const &)> const &render_fn)
 This will render renderlist to the screen and post the result to the screen. More...
 
MirOrientation orientation () const override
 Returns the orientation of the display buffer relative to how the user should see it (the orientation of the output). More...
 
void schedule_set_crtc ()
 
void wait_for_page_flip ()
 
- Public Member Functions inherited from mir::graphics::DisplayBuffer
virtual void post_update (std::shared_ptr< Buffer >)
 

Additional Inherited Members

- Protected Member Functions inherited from mir::graphics::DisplayBuffer
 DisplayBuffer ()=default
 
 DisplayBuffer (DisplayBuffer const &c)=delete
 
DisplayBufferoperator= (DisplayBuffer const &c)=delete
 

Constructor & Destructor Documentation

mir::graphics::mesa::DisplayBuffer::DisplayBuffer ( std::shared_ptr< Platform > const &  platform,
std::shared_ptr< DisplayReport > const &  listener,
std::vector< std::shared_ptr< KMSOutput >> const &  outputs,
GBMSurfaceUPtr  surface_gbm,
geometry::Rectangle const &  area,
MirOrientation  rot,
GLConfig const &  gl_config,
EGLContext  shared_context 
)
mir::graphics::mesa::DisplayBuffer::~DisplayBuffer ( )
virtual

Reimplemented from mir::graphics::DisplayBuffer.

Member Function Documentation

bool mir::graphics::mesa::DisplayBuffer::can_bypass ( ) const
overridevirtual

to be deprecated

Implements mir::graphics::DisplayBuffer.

void mir::graphics::mesa::DisplayBuffer::make_current ( )
virtual

Makes the DisplayBuffer the current GL rendering target.

Implements mir::graphics::DisplayBuffer.

MirOrientation mir::graphics::mesa::DisplayBuffer::orientation ( ) const
overridevirtual

Returns the orientation of the display buffer relative to how the user should see it (the orientation of the output).

This tells us how much (if any) rotation the renderer needs to do. If your DisplayBuffer can do the rotation itself then this will always return mir_orientation_normal. If the DisplayBuffer does not implement the rotation itself then this function will return the amount of rotation the renderer must do to make things "look right".

Implements mir::graphics::DisplayBuffer.

void mir::graphics::mesa::DisplayBuffer::post_update ( )
virtual

This will trigger OpenGL rendering and post the result to the screen.

Implements mir::graphics::DisplayBuffer.

void mir::graphics::mesa::DisplayBuffer::post_update ( std::shared_ptr< graphics::Buffer bypass_buf)
override
void mir::graphics::mesa::DisplayBuffer::release_current ( )
virtual

Releases the current GL rendering target.

Implements mir::graphics::DisplayBuffer.

void mir::graphics::mesa::DisplayBuffer::render_and_post_update ( RenderableList const &  renderlist,
std::function< void(Renderable const &)> const &  render_fn 
)
virtual

This will render renderlist to the screen and post the result to the screen.

For each renderable, the DisplayBuffer will decide if its more efficient to render that Renderable via OpenGL, or via another method. If the Renderable is to be rendered via OpenGL, render_fn will be invoked on that Renderable.

Implements mir::graphics::DisplayBuffer.

void mir::graphics::mesa::DisplayBuffer::schedule_set_crtc ( )
geom::Rectangle mir::graphics::mesa::DisplayBuffer::view_area ( ) const
virtual

The area the DisplayBuffer occupies in the virtual screen space.

Implements mir::graphics::DisplayBuffer.

void mir::graphics::mesa::DisplayBuffer::wait_for_page_flip ( )

The documentation for this class was generated from the following files:

Copyright © 2012,2013 Canonical Ltd.
Generated on Fri Apr 11 21:14:53 UTC 2014