From 448369c9549691650b7b2e976f54815eece9a717 Mon Sep 17 00:00:00 2001 From: Yichi Chen Date: Tue, 16 Jun 2020 16:05:31 +0800 Subject: [PATCH] gralloc4-vts: Correct the ownership of fence fd MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gralloc::lock takes the ownership of acquireFence and closes the fence by itself. The patch changes the behavior of fence to transfer the ownership by unique_fd::release. Bug: 157534008 Test: VtsHalGraphicsMapperV4_0TargetTest Change-Id: Ie4ee9cd9c3b148cab9187fa07a4e52cbf9ad798a --- .../VtsHalGraphicsMapperV4_0TargetTest.cpp | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/graphics/mapper/4.0/vts/functional/VtsHalGraphicsMapperV4_0TargetTest.cpp b/graphics/mapper/4.0/vts/functional/VtsHalGraphicsMapperV4_0TargetTest.cpp index 6df7f8d406..db06c667dd 100644 --- a/graphics/mapper/4.0/vts/functional/VtsHalGraphicsMapperV4_0TargetTest.cpp +++ b/graphics/mapper/4.0/vts/functional/VtsHalGraphicsMapperV4_0TargetTest.cpp @@ -587,8 +587,8 @@ TEST_P(GraphicsMapperHidlTest, LockUnlockBasic) { static_cast(info.height)}; unique_fd fence; uint8_t* data; - ASSERT_NO_FATAL_FAILURE(data = static_cast( - mGralloc->lock(bufferHandle, info.usage, region, fence.get()))); + ASSERT_NO_FATAL_FAILURE(data = static_cast(mGralloc->lock(bufferHandle, info.usage, + region, fence.release()))); // RGBA_8888 fillRGBA8888(data, info.height, stride * 4, info.width * 4); @@ -596,8 +596,8 @@ TEST_P(GraphicsMapperHidlTest, LockUnlockBasic) { ASSERT_NO_FATAL_FAILURE(fence.reset(mGralloc->unlock(bufferHandle))); // lock again for reading - ASSERT_NO_FATAL_FAILURE(data = static_cast( - mGralloc->lock(bufferHandle, info.usage, region, fence.get()))); + ASSERT_NO_FATAL_FAILURE(data = static_cast(mGralloc->lock(bufferHandle, info.usage, + region, fence.release()))); ASSERT_NO_FATAL_FAILURE( verifyRGBA8888(bufferHandle, data, info.height, stride * 4, info.width * 4)); @@ -627,8 +627,8 @@ TEST_P(GraphicsMapperHidlTest, Lock_YCRCB_420_SP) { unique_fd fence; uint8_t* data; - ASSERT_NO_FATAL_FAILURE(data = static_cast( - mGralloc->lock(bufferHandle, info.usage, region, fence.get()))); + ASSERT_NO_FATAL_FAILURE(data = static_cast(mGralloc->lock(bufferHandle, info.usage, + region, fence.release()))); android_ycbcr yCbCr; int64_t hSubsampling = 0; @@ -650,8 +650,8 @@ TEST_P(GraphicsMapperHidlTest, Lock_YCRCB_420_SP) { ASSERT_NO_FATAL_FAILURE(fence.reset(mGralloc->unlock(bufferHandle))); // lock again for reading - ASSERT_NO_FATAL_FAILURE(data = static_cast( - mGralloc->lock(bufferHandle, info.usage, region, fence.get()))); + ASSERT_NO_FATAL_FAILURE(data = static_cast(mGralloc->lock(bufferHandle, info.usage, + region, fence.release()))); ASSERT_NO_FATAL_FAILURE( getAndroidYCbCr(bufferHandle, data, &yCbCr, &hSubsampling, &vSubsampling)); @@ -676,8 +676,8 @@ TEST_P(GraphicsMapperHidlTest, Lock_YV12) { unique_fd fence; uint8_t* data; - ASSERT_NO_FATAL_FAILURE(data = static_cast( - mGralloc->lock(bufferHandle, info.usage, region, fence.get()))); + ASSERT_NO_FATAL_FAILURE(data = static_cast(mGralloc->lock(bufferHandle, info.usage, + region, fence.release()))); android_ycbcr yCbCr; int64_t hSubsampling = 0; @@ -699,8 +699,8 @@ TEST_P(GraphicsMapperHidlTest, Lock_YV12) { ASSERT_NO_FATAL_FAILURE(fence.reset(mGralloc->unlock(bufferHandle))); // lock again for reading - ASSERT_NO_FATAL_FAILURE(data = static_cast( - mGralloc->lock(bufferHandle, info.usage, region, fence.get()))); + ASSERT_NO_FATAL_FAILURE(data = static_cast(mGralloc->lock(bufferHandle, info.usage, + region, fence.release()))); ASSERT_NO_FATAL_FAILURE( getAndroidYCbCr(bufferHandle, data, &yCbCr, &hSubsampling, &vSubsampling)); @@ -725,8 +725,8 @@ TEST_P(GraphicsMapperHidlTest, Lock_YCBCR_420_888) { unique_fd fence; uint8_t* data; - ASSERT_NO_FATAL_FAILURE(data = static_cast( - mGralloc->lock(bufferHandle, info.usage, region, fence.get()))); + ASSERT_NO_FATAL_FAILURE(data = static_cast(mGralloc->lock(bufferHandle, info.usage, + region, fence.release()))); android_ycbcr yCbCr; int64_t hSubsampling = 0; @@ -743,8 +743,8 @@ TEST_P(GraphicsMapperHidlTest, Lock_YCBCR_420_888) { ASSERT_NO_FATAL_FAILURE(fence.reset(mGralloc->unlock(bufferHandle))); // lock again for reading - ASSERT_NO_FATAL_FAILURE(data = static_cast( - mGralloc->lock(bufferHandle, info.usage, region, fence.get()))); + ASSERT_NO_FATAL_FAILURE(data = static_cast(mGralloc->lock(bufferHandle, info.usage, + region, fence.release()))); ASSERT_NO_FATAL_FAILURE( getAndroidYCbCr(bufferHandle, data, &yCbCr, &hSubsampling, &vSubsampling)); @@ -771,7 +771,7 @@ TEST_P(GraphicsMapperHidlTest, Lock_RAW10) { static_cast(info.height)}; unique_fd fence; - ASSERT_NO_FATAL_FAILURE(mGralloc->lock(bufferHandle, info.usage, region, fence.get())); + ASSERT_NO_FATAL_FAILURE(mGralloc->lock(bufferHandle, info.usage, region, fence.release())); hidl_vec vec; ASSERT_EQ(Error::NONE, mGralloc->get(bufferHandle, gralloc4::MetadataType_PlaneLayouts, &vec)); @@ -813,7 +813,7 @@ TEST_P(GraphicsMapperHidlTest, Lock_RAW12) { static_cast(info.height)}; unique_fd fence; - ASSERT_NO_FATAL_FAILURE(mGralloc->lock(bufferHandle, info.usage, region, fence.get())); + ASSERT_NO_FATAL_FAILURE(mGralloc->lock(bufferHandle, info.usage, region, fence.release())); hidl_vec vec; ASSERT_EQ(Error::NONE, mGralloc->get(bufferHandle, gralloc4::MetadataType_PlaneLayouts, &vec));