Loading libs/vr/libbufferhub/buffer_hub-test.cpp +0 −40 Original line number Diff line number Diff line Loading @@ -795,8 +795,6 @@ TEST_F(LibBufferHubTest, TestDetachBufferFromProducer) { 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); } Loading @@ -808,7 +806,6 @@ TEST_F(LibBufferHubTest, TestCreateDetachedBufferFails) { 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( Loading @@ -817,7 +814,6 @@ TEST_F(LibBufferHubTest, TestCreateDetachedBufferFails) { 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( Loading @@ -827,50 +823,14 @@ TEST_F(LibBufferHubTest, TestCreateDetachedBufferFails) { 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) { Loading libs/vr/libbufferhub/detached_buffer.cpp +0 −17 Original line number Diff line number Diff line Loading @@ -162,22 +162,5 @@ Status<LocalChannelHandle> DetachedBuffer::Duplicate() { 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 libs/vr/libbufferhub/include/private/dvr/detached_buffer.h +0 −7 Original line number Diff line number Diff line Loading @@ -28,8 +28,6 @@ class DetachedBuffer { 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_; } Loading Loading @@ -69,11 +67,6 @@ class DetachedBuffer { // 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); Loading Loading
libs/vr/libbufferhub/buffer_hub-test.cpp +0 −40 Original line number Diff line number Diff line Loading @@ -795,8 +795,6 @@ TEST_F(LibBufferHubTest, TestDetachBufferFromProducer) { 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); } Loading @@ -808,7 +806,6 @@ TEST_F(LibBufferHubTest, TestCreateDetachedBufferFails) { 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( Loading @@ -817,7 +814,6 @@ TEST_F(LibBufferHubTest, TestCreateDetachedBufferFails) { 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( Loading @@ -827,50 +823,14 @@ TEST_F(LibBufferHubTest, TestCreateDetachedBufferFails) { 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) { Loading
libs/vr/libbufferhub/detached_buffer.cpp +0 −17 Original line number Diff line number Diff line Loading @@ -162,22 +162,5 @@ Status<LocalChannelHandle> DetachedBuffer::Duplicate() { 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
libs/vr/libbufferhub/include/private/dvr/detached_buffer.h +0 −7 Original line number Diff line number Diff line Loading @@ -28,8 +28,6 @@ class DetachedBuffer { 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_; } Loading Loading @@ -69,11 +67,6 @@ class DetachedBuffer { // 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); Loading