19 #ifndef MIR_GRAPHICS_GRAPHIC_BUFFER_ALLOCATOR_H_ 20 #define MIR_GRAPHICS_GRAPHIC_BUFFER_ALLOCATOR_H_ 32 struct BufferProperties;
61 geometry::Size size, uint32_t native_format, uint32_t native_flags) = 0;
78 #endif // MIR_GRAPHICS_GRAPHIC_BUFFER_ALLOCATOR_H_
Interface to graphic buffer allocation.
Definition: graphic_buffer_allocator.h:37
Definition: as_render_target.h:27
GraphicBufferAllocator()=default
virtual std::vector< MirPixelFormat > supported_pixel_formats()=0
The supported buffer pixel formats.
GraphicBufferAllocator & operator=(const GraphicBufferAllocator &)=delete
virtual std::shared_ptr< Buffer > alloc_buffer(BufferProperties const &buffer_properties)=0
Allocates a buffer.
virtual std::shared_ptr< Buffer > alloc_software_buffer(geometry::Size size, MirPixelFormat)=0
allocates a 'software' (cpu-accessible) buffer note: mesa and eglstreams use ShmBuffer, android uses ANW with software usage bits.
Buffer creation properties.
Definition: buffer_properties.h:48
virtual ~GraphicBufferAllocator()=default