Fixing file descriptor close bug and display refresh bug
Test: ./VtsHalGraphicsComposerV2_2TargetTest
Change-Id: Ib3de65ab33496bb89c708d0b98966b0084f0bd10
diff --git a/graphics/composer/2.2/vts/functional/VtsHalGraphicsComposerV2_2ReadbackTest.cpp b/graphics/composer/2.2/vts/functional/VtsHalGraphicsComposerV2_2ReadbackTest.cpp
index fc32951..229c856 100644
--- a/graphics/composer/2.2/vts/functional/VtsHalGraphicsComposerV2_2ReadbackTest.cpp
+++ b/graphics/composer/2.2/vts/functional/VtsHalGraphicsComposerV2_2ReadbackTest.cpp
@@ -289,8 +289,6 @@
int32_t fenceHandle;
mComposerClient->getReadbackBufferFence(mPrimaryDisplay, &fenceHandle);
- base::unique_fd fence(fenceHandle);
-
// lock buffer
// Create Rect accessRegion to specify reading the entire buffer
IMapper::Rect accessRegion;
@@ -299,8 +297,17 @@
accessRegion.width = info.width;
accessRegion.height = info.height;
- void* bufData = mGralloc->lock(buffer, info.usage, accessRegion, fence);
+ void* bufData = mGralloc->lock(buffer, info.usage, accessRegion, fenceHandle);
checkReadbackBuffer(info, stride, bufData, expectedColors);
+ int unlockFence = mGralloc->unlock(buffer);
+
+ if (unlockFence != -1) {
+ close(unlockFence);
+ }
+
+ mWriter->validateDisplay();
+ mWriter->presentDisplay();
+ execute();
}
} // anonymous namespace