Remove GraphicBuffer accessor from DetachedBuffer
Those accessor are not used outside of buffer_hub-test. Moreover, in
the new design, GraphicBuffer will depend on DetachedBuffer rather
than DetachedBuffer depending on GraphicBuffer.
Bug: 112010261
Bug: 112940221
Test: atest buffer_hub-test
Change-Id: I78b5ea8b195b8502fc8bdcda48ca600f6408897a
diff --git a/libs/vr/libbufferhub/buffer_hub-test.cpp b/libs/vr/libbufferhub/buffer_hub-test.cpp
index 37b9a03..11b2211 100644
--- a/libs/vr/libbufferhub/buffer_hub-test.cpp
+++ b/libs/vr/libbufferhub/buffer_hub-test.cpp
@@ -795,8 +795,6 @@
EXPECT_TRUE(d->IsConnected());
EXPECT_TRUE(d->IsValid());
- ASSERT_TRUE(d->buffer() != nullptr);
- EXPECT_EQ(d->buffer()->initCheck(), 0);
EXPECT_EQ(d->id(), p_id);
}
@@ -808,7 +806,6 @@
EXPECT_FALSE(b1->IsConnected());
EXPECT_FALSE(b1->IsValid());
- EXPECT_TRUE(b1->buffer() == nullptr);
// Buffer Creation will fail: user metadata size too large.
auto b2 = DetachedBuffer::Create(
@@ -817,7 +814,6 @@
EXPECT_FALSE(b2->IsConnected());
EXPECT_FALSE(b2->IsValid());
- EXPECT_TRUE(b2->buffer() == nullptr);
// Buffer Creation will fail: user metadata size too large.
auto b3 = DetachedBuffer::Create(
@@ -827,50 +823,14 @@
EXPECT_FALSE(b3->IsConnected());
EXPECT_FALSE(b3->IsValid());
- EXPECT_TRUE(b3->buffer() == nullptr);
}
TEST_F(LibBufferHubTest, TestCreateDetachedBuffer) {
auto b1 = DetachedBuffer::Create(kWidth, kHeight, kLayerCount, kFormat,
kUsage, kUserMetadataSize);
- int b1_id = b1->id();
-
EXPECT_TRUE(b1->IsConnected());
EXPECT_TRUE(b1->IsValid());
- ASSERT_TRUE(b1->buffer() != nullptr);
EXPECT_NE(b1->id(), 0);
- EXPECT_EQ(b1->buffer()->initCheck(), 0);
- EXPECT_FALSE(b1->buffer()->isDetachedBuffer());
-
- // Takes a standalone GraphicBuffer which still holds on an
- // PDX::LocalChannelHandle towards BufferHub.
- sp<GraphicBuffer> g1 = b1->TakeGraphicBuffer();
- ASSERT_TRUE(g1 != nullptr);
- EXPECT_TRUE(g1->isDetachedBuffer());
-
- EXPECT_FALSE(b1->IsConnected());
- EXPECT_FALSE(b1->IsValid());
- EXPECT_TRUE(b1->buffer() == nullptr);
-
- sp<GraphicBuffer> g2 = b1->TakeGraphicBuffer();
- ASSERT_TRUE(g2 == nullptr);
-
- auto h1 = g1->takeDetachedBufferHandle();
- ASSERT_TRUE(h1 != nullptr);
- ASSERT_TRUE(h1->isValid());
- EXPECT_FALSE(g1->isDetachedBuffer());
-
- auto b2 = DetachedBuffer::Import(std::move(h1->handle()));
- ASSERT_FALSE(h1->isValid());
- EXPECT_TRUE(b2->IsConnected());
- EXPECT_TRUE(b2->IsValid());
-
- ASSERT_TRUE(b2->buffer() != nullptr);
- EXPECT_EQ(b2->buffer()->initCheck(), 0);
-
- // The newly created DetachedBuffer should share the original buffer_id.
- EXPECT_EQ(b2->id(), b1_id);
- EXPECT_FALSE(b2->buffer()->isDetachedBuffer());
}
TEST_F(LibBufferHubTest, TestPromoteDetachedBuffer) {
diff --git a/libs/vr/libbufferhub/detached_buffer.cpp b/libs/vr/libbufferhub/detached_buffer.cpp
index 02abd91..7716cfa 100644
--- a/libs/vr/libbufferhub/detached_buffer.cpp
+++ b/libs/vr/libbufferhub/detached_buffer.cpp
@@ -162,22 +162,5 @@
return status_or_handle;
}
-sp<GraphicBuffer> DetachedBuffer::TakeGraphicBuffer() {
- if (!client_.IsValid() || !buffer_.buffer()) {
- ALOGE("DetachedBuffer::TakeGraphicBuffer: Invalid buffer.");
- return nullptr;
- }
-
- // Technically this should never happen.
- LOG_FATAL_IF(
- buffer_.buffer()->isDetachedBuffer(),
- "DetachedBuffer::TakeGraphicBuffer: GraphicBuffer is already detached.");
-
- sp<GraphicBuffer> buffer = std::move(buffer_.buffer());
- buffer->setDetachedBufferHandle(
- DetachedBufferHandle::Create(client_.TakeChannelHandle()));
- return buffer;
-}
-
} // namespace dvr
} // namespace android
diff --git a/libs/vr/libbufferhub/include/private/dvr/detached_buffer.h b/libs/vr/libbufferhub/include/private/dvr/detached_buffer.h
index 1fc011b..e795f3b 100644
--- a/libs/vr/libbufferhub/include/private/dvr/detached_buffer.h
+++ b/libs/vr/libbufferhub/include/private/dvr/detached_buffer.h
@@ -28,8 +28,6 @@
DetachedBuffer(const DetachedBuffer&) = delete;
void operator=(const DetachedBuffer&) = delete;
- const sp<GraphicBuffer>& buffer() const { return buffer_.buffer(); }
-
// Gets ID of the buffer client. All DetachedBuffer clients derived from the
// same buffer in bufferhubd share the same buffer id.
int id() const { return id_; }
@@ -69,11 +67,6 @@
// Creates a DetachedBuffer from an existing one.
pdx::Status<pdx::LocalChannelHandle> Duplicate();
- // Takes the underlying graphic buffer out of this DetachedBuffer. This call
- // immediately invalidates this DetachedBuffer object and transfers the
- // underlying pdx::LocalChannelHandle into the GraphicBuffer.
- sp<GraphicBuffer> TakeGraphicBuffer();
-
private:
DetachedBuffer(uint32_t width, uint32_t height, uint32_t layer_count,
uint32_t format, uint64_t usage, size_t user_metadata_size);