20 #ifndef MIR_GRAPHICS_MESA_GBM_BUFFER_H_
21 #define MIR_GRAPHICS_MESA_GBM_BUFFER_H_
47 class BufferTextureBinder;
53 GBMBuffer(std::shared_ptr<gbm_bo>
const& handle,
55 std::unique_ptr<BufferTextureBinder> texture_binder);
71 void write(
unsigned char const* pixels,
size_t size)
override;
72 void read(std::function<
void(
unsigned char const*)>
const& do_with_pixels)
override;
77 std::shared_ptr<gbm_bo>
const gbm_handle;
79 std::unique_ptr<BufferTextureBinder>
const texture_binder;
88 #endif // MIR_GRAPHICS_MESA_GBM_BUFFER_H_
All things Mir.
Definition: atomic_callback.h:25
Definition: gbm_buffer.h:49
Definition: texture_source.h:29
virtual void gl_bind_to_texture() override
void read(std::function< void(unsigned char const *)> const &do_with_pixels) override
virtual std::shared_ptr< MirNativeBuffer > native_buffer_handle() const override
struct gbm_bo * bo
Definition: gbm_buffer.h:40
NativeBufferBase * native_buffer_base() override
uint32_t mir_format_to_gbm_format(MirPixelFormat format)
MirPixelFormat gbm_format_to_mir_format(uint32_t format)
Definition: gbm_buffer.h:45
GBMBuffer(std::shared_ptr< gbm_bo > const &handle, uint32_t bo_flags, std::unique_ptr< BufferTextureBinder > texture_binder)
Definition: mir_native_buffer.h:30
GBMBuffer & operator=(const GBMBuffer &)=delete
virtual geometry::Size size() const override
virtual geometry::Stride stride() const override
Definition: gbm_buffer.h:38
Definition: buffer_basic.h:29
virtual MirPixelFormat pixel_format() const override
Definition: dimensions.h:36
void write(unsigned char const *pixels, size_t size) override