2
* Copyright © 2013 Canonical Ltd.
4
* This program is free software: you can redistribute it and/or modify it
5
* under the terms of the GNU Lesser General Public License version 3,
6
* as published by the Free Software Foundation.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU Lesser General Public License for more details.
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
* Eleni Maria Stea <elenimaria.stea@canonical.com>
18
* Alan Griffiths <alan@octopull.co.uk>
21
#ifndef MIR_GRAPHICS_MESA_NATIVE_PLATFORM_H_
22
#define MIR_GRAPHICS_MESA_NATIVE_PLATFORM_H_
24
#include "mir/graphics/native_platform.h"
25
#include "display_helpers.h"
33
class NativePlatform : public graphics::NativePlatform
36
void initialize(std::shared_ptr<NestedContext> const& nested_context);
37
std::shared_ptr<GraphicBufferAllocator> create_buffer_allocator(
38
std::shared_ptr<BufferInitializer> const& buffer_initializer) override;
39
std::shared_ptr<PlatformIPCPackage> get_ipc_package() override;
40
std::shared_ptr<InternalClient> create_internal_client() override;
41
void fill_ipc_package(BufferIPCPacker* packer, Buffer const* buffer) const override;
45
std::shared_ptr<NestedContext> nested_context;
46
helpers::GBMHelper gbm;
52
#endif // MIR_GRAPHICS_MESA_NATIVE_PLATFORM_H_