[PVR][Estuary] Timer settings dialog: Show client name in timer type selection dialog...
[xbmc.git] / xbmc / utils / GBMBufferObject.h
blobae8de581c0d6b2d1565fd03dbafac28243023d9b
1 /*
2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #pragma once
11 #include "utils/BufferObject.h"
13 #include <memory>
14 #include <stdint.h>
16 struct gbm_bo;
17 struct gbm_device;
19 class CGBMBufferObject : public CBufferObject
21 public:
22 CGBMBufferObject();
23 ~CGBMBufferObject() override;
25 // Registration
26 static std::unique_ptr<CBufferObject> Create();
27 static void Register();
29 // IBufferObject overrides via CBufferObject
30 bool CreateBufferObject(uint32_t format, uint32_t width, uint32_t height) override;
31 void DestroyBufferObject() override;
32 uint8_t* GetMemory() override;
33 void ReleaseMemory() override;
34 std::string GetName() const override { return "CGBMBufferObject"; }
36 // CBufferObject overrides
37 uint64_t GetModifier() override;
39 private:
40 gbm_device* m_device{nullptr};
41 gbm_bo* m_bo{nullptr};
43 uint32_t m_width{0};
44 uint32_t m_height{0};
46 uint8_t* m_map{nullptr};
47 void* m_map_data{nullptr};