GraphicBuffer: add optional DetachedBufferHandle
Stores a BufferHub handle that can be used to reattach this
GraphicBuffer back into a BufferHub producer/consumer set. In terms of
GraphicBuffer's relationship with BufferHub, there are three different
modes:
1. Legacy mode: GraphicBuffer is not backed by BufferHub and
mDetachedBufferHandle must be invalid.
2. Detached mode: GraphicBuffer is backed BufferHub, but not part of a
producer/consumer set. In this mode, mDetachedBufferHandle must be valid.
3. Attached mode: GraphicBuffer is backed BufferHub and it's part of a
producer/consumer set. In this mode, mDetachedBufferHandle must be
invalid.
Note that the DetachedBufferHandle is used as a opaque handle for
GraphicBuffer and it's not exposed to VNDK.
Bug: 38137191
Bug: 69982239
Bug: 70046255
Bug: 70912269
Test: GraphicBuffer_test
Change-Id: I4c3a967cb498291aa175312fdadc84edd3b1a8be
diff --git a/libs/ui/tests/Android.bp b/libs/ui/tests/Android.bp
index 08067fc..aef6428 100644
--- a/libs/ui/tests/Android.bp
+++ b/libs/ui/tests/Android.bp
@@ -27,3 +27,10 @@
srcs: ["colorspace_test.cpp"],
cflags: ["-Wall", "-Werror"],
}
+
+cc_test {
+ name: "GraphicBuffer_test",
+ shared_libs: ["libpdx_default_transport", "libui", "libutils"],
+ srcs: ["GraphicBuffer_test.cpp"],
+ cflags: ["-Wall", "-Werror"],
+}