19 #ifndef MIR_GRAPHICS_ANDROID_ANDROID_NATIVE_BUFFER_H_
20 #define MIR_GRAPHICS_ANDROID_ANDROID_NATIVE_BUFFER_H_
36 AndroidNativeBuffer(std::shared_ptr<ANativeWindowBuffer>
const& handle,
37 std::shared_ptr<Fence>
const& fence);
39 ANativeWindowBuffer*
anwb()
const;
40 buffer_handle_t
handle()
const;
47 std::shared_ptr<Fence> fence;
48 std::shared_ptr<ANativeWindowBuffer> native_window_buffer;
51 struct RefCountedNativeBuffer :
public ANativeWindowBuffer
53 RefCountedNativeBuffer(std::shared_ptr<const native_handle_t>
const& handle);
55 void driver_reference();
56 void driver_dereference();
57 void mir_dereference();
59 ~RefCountedNativeBuffer() =
default;
61 std::shared_ptr<const native_handle_t>
const handle_resource;
65 int driver_references;