19 #ifndef MIR_GRAPHICS_ANDROID_ANDROID_NATIVE_BUFFER_H_ 20 #define MIR_GRAPHICS_ANDROID_ANDROID_NATIVE_BUFFER_H_ 30 class CommandStreamSync;
38 std::shared_ptr<ANativeWindowBuffer>
const&
handle,
39 std::shared_ptr<CommandStreamSync>
const& cmdstream_sync,
40 std::shared_ptr<Fence>
const& fence,
43 ANativeWindowBuffer*
anwb()
const;
44 buffer_handle_t
handle()
const;
54 std::shared_ptr<CommandStreamSync> cmdstream_sync;
55 std::shared_ptr<Fence> fence;
57 std::shared_ptr<ANativeWindowBuffer> native_window_buffer;
64 void driver_reference();
65 void driver_dereference();
66 void mir_dereference();
70 std::shared_ptr<const native_handle_t>
const handle_resource;
74 int driver_references;
All things Mir.
Definition: atomic_callback.h:25
BufferAccess
Definition: native_buffer.h:37
NativeFence copy_fence() const
Definition: android_native_buffer.cpp:60
void wait_for_unlock_by_gpu()
Definition: android_native_buffer.cpp:70
Definition: android_native_buffer.h:60
void ensure_available_for(BufferAccess)
Definition: android_native_buffer.cpp:36
ANativeWindowBuffer * anwb() const
Definition: android_native_buffer.cpp:50
Definition: native_buffer.h:44
void update_usage(NativeFence &merge_fd, BufferAccess)
Definition: android_native_buffer.cpp:44
Definition: android_native_buffer.h:35
int NativeFence
Definition: fence.h:30
void lock_for_gpu()
Definition: android_native_buffer.cpp:65
buffer_handle_t handle() const
Definition: android_native_buffer.cpp:55
AndroidNativeBuffer(std::shared_ptr< ANativeWindowBuffer > const &handle, std::shared_ptr< CommandStreamSync > const &cmdstream_sync, std::shared_ptr< Fence > const &fence, BufferAccess fence_access)
Definition: android_native_buffer.cpp:24
Definition: android_input_receiver.h:36