19 #ifndef MIR_GRAPHICS_MESA_DISPLAY_HELPERS_H_
20 #define MIR_GRAPHICS_MESA_DISPLAY_HELPERS_H_
29 #pragma GCC diagnostic push
30 #pragma GCC diagnostic warning "-Wall"
32 #pragma GCC diagnostic pop
35 #include <xf86drmMode.h>
46 typedef std::unique_ptr<gbm_surface,std::function<void(gbm_surface*)>>
GBMSurfaceUPtr;
60 void setup(std::shared_ptr<mir::udev::Context>
const& udev);
72 int is_appropriate_device(std::shared_ptr<mir::udev::Context>
const& udev,
mir::udev::Device const& dev);
74 int count_connections(
int fd);
76 int open_drm_device(std::shared_ptr<mir::udev::Context>
const& udev);
88 void setup(
const DRMHelper& drm);
89 void setup(
int drm_fd);
107 EGLContext shared_context);
119 EGLint
const depth_buffer_bits;
120 EGLint
const stencil_buffer_bits;
121 EGLDisplay egl_display;
122 EGLConfig egl_config;
123 EGLContext egl_context;
124 EGLSurface egl_surface;
125 bool should_terminate_egl;
All things Mir.
Definition: buffer_stream.h:37
bool release_current() const
Definition: display_helpers.cpp:384
void auth_magic(drm_magic_t magic)
Definition: display_helpers.cpp:98
DRMHelper()
Definition: display_helpers.h:54
std::unique_ptr< gbm_surface, std::function< void(gbm_surface *)> > GBMSurfaceUPtr
Definition: display_helpers.h:46
~EGLHelper() noexcept
Definition: display_helpers.cpp:356
Definition: display_helpers.h:51
~GBMHelper()
Definition: display_helpers.cpp:290
void setup(const DRMHelper &drm)
Definition: display_helpers.cpp:259
EGLHelper & operator=(const EGLHelper &)=delete
DRMHelper & operator=(const DRMHelper &)=delete
void setup(std::shared_ptr< mir::udev::Context > const &udev)
Definition: display_helpers.cpp:41
bool swap_buffers()
Definition: display_helpers.cpp:372
GBMHelper()
Definition: display_helpers.h:82
unsigned int width
Definition: black_arrow.c:4
Interface for customizing aspects of the GL config used by the server.
Definition: gl_config.h:30
void report_egl_configuration(std::function< void(EGLDisplay, EGLConfig)>)
Definition: display_helpers.cpp:439
Definition: display_helpers.h:79
Definition: display_helpers.h:95
mir::Fd authenticated_fd()
Definition: display_helpers.cpp:49
int fd
Definition: display_helpers.h:67
bool make_current() const
Definition: display_helpers.cpp:378
void setup(GBMHelper const &gbm)
Definition: display_helpers.cpp:309
unsigned int height
Definition: black_arrow.c:5
void drop_master() const
Definition: display_helpers.cpp:118
GBMSurfaceUPtr create_scanout_surface(uint32_t width, uint32_t height)
Definition: display_helpers.cpp:275
EGLContext context()
Definition: display_helpers.h:113
Definition: drm_authentication.h:31
gbm_device * device
Definition: display_helpers.h:92
~DRMHelper()
Definition: display_helpers.cpp:249
EGLHelper(GLConfig const &gl_config)
Definition: display_helpers.cpp:300
GBMHelper & operator=(const GBMHelper &)=delete
void set_master() const
Definition: display_helpers.cpp:138