Merge "fix VtsHalGraphicsComposerV2_2TargetTest timeout failed"
This commit is contained in:
commit
81c9e603ea
4 changed files with 31 additions and 16 deletions
|
@ -30,7 +30,7 @@ void GraphicsComposerCallback::setVsyncAllowed(bool allowed) {
|
|||
|
||||
std::vector<Display> GraphicsComposerCallback::getDisplays() const {
|
||||
std::lock_guard<std::mutex> lock(mMutex);
|
||||
return std::vector<Display>(mDisplays.begin(), mDisplays.end());
|
||||
return mDisplays;
|
||||
}
|
||||
|
||||
int GraphicsComposerCallback::getInvalidHotplugCount() const {
|
||||
|
@ -51,12 +51,17 @@ int GraphicsComposerCallback::getInvalidVsyncCount() const {
|
|||
Return<void> GraphicsComposerCallback::onHotplug(Display display, Connection connection) {
|
||||
std::lock_guard<std::mutex> lock(mMutex);
|
||||
|
||||
auto it = std::find(mDisplays.begin(), mDisplays.end(), display);
|
||||
if (connection == Connection::CONNECTED) {
|
||||
if (!mDisplays.insert(display).second) {
|
||||
if (it == mDisplays.end()) {
|
||||
mDisplays.push_back(display);
|
||||
} else {
|
||||
mInvalidHotplugCount++;
|
||||
}
|
||||
} else if (connection == Connection::DISCONNECTED) {
|
||||
if (!mDisplays.erase(display)) {
|
||||
if (it != mDisplays.end()) {
|
||||
mDisplays.erase(it);
|
||||
} else {
|
||||
mInvalidHotplugCount++;
|
||||
}
|
||||
}
|
||||
|
@ -67,7 +72,8 @@ Return<void> GraphicsComposerCallback::onHotplug(Display display, Connection con
|
|||
Return<void> GraphicsComposerCallback::onRefresh(Display display) {
|
||||
std::lock_guard<std::mutex> lock(mMutex);
|
||||
|
||||
if (mDisplays.count(display) == 0) {
|
||||
auto it = std::find(mDisplays.begin(), mDisplays.end(), display);
|
||||
if (it == mDisplays.end()) {
|
||||
mInvalidRefreshCount++;
|
||||
}
|
||||
|
||||
|
@ -77,7 +83,8 @@ Return<void> GraphicsComposerCallback::onRefresh(Display display) {
|
|||
Return<void> GraphicsComposerCallback::onVsync(Display display, int64_t) {
|
||||
std::lock_guard<std::mutex> lock(mMutex);
|
||||
|
||||
if (!mVsyncAllowed || mDisplays.count(display) == 0) {
|
||||
auto it = std::find(mDisplays.begin(), mDisplays.end(), display);
|
||||
if (!mVsyncAllowed || it == mDisplays.end()) {
|
||||
mInvalidVsyncCount++;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include <android/hardware/graphics/composer/2.1/IComposerCallback.h>
|
||||
|
||||
#include <mutex>
|
||||
#include <unordered_set>
|
||||
#include <vector>
|
||||
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
|
@ -48,7 +48,7 @@ class GraphicsComposerCallback : public IComposerCallback {
|
|||
|
||||
mutable std::mutex mMutex;
|
||||
// the set of all currently connected displays
|
||||
std::unordered_set<Display> mDisplays;
|
||||
std::vector<Display> mDisplays;
|
||||
// true only when vsync is enabled
|
||||
bool mVsyncAllowed = true;
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ void GraphicsComposerCallback::setVsyncAllowed(bool allowed) {
|
|||
|
||||
std::vector<Display> GraphicsComposerCallback::getDisplays() const {
|
||||
std::lock_guard<std::mutex> lock(mMutex);
|
||||
return std::vector<Display>(mDisplays.begin(), mDisplays.end());
|
||||
return mDisplays;
|
||||
}
|
||||
|
||||
int32_t GraphicsComposerCallback::getInvalidHotplugCount() const {
|
||||
|
@ -71,12 +71,17 @@ GraphicsComposerCallback::takeLastVsyncPeriodChangeTimeline() {
|
|||
Return<void> GraphicsComposerCallback::onHotplug(Display display, Connection connection) {
|
||||
std::lock_guard<std::mutex> lock(mMutex);
|
||||
|
||||
auto it = std::find(mDisplays.begin(), mDisplays.end(), display);
|
||||
if (connection == Connection::CONNECTED) {
|
||||
if (!mDisplays.insert(display).second) {
|
||||
if (it == mDisplays.end()) {
|
||||
mDisplays.push_back(display);
|
||||
} else {
|
||||
mInvalidHotplugCount++;
|
||||
}
|
||||
} else if (connection == Connection::DISCONNECTED) {
|
||||
if (!mDisplays.erase(display)) {
|
||||
if (it != mDisplays.end()) {
|
||||
mDisplays.erase(it);
|
||||
} else {
|
||||
mInvalidHotplugCount++;
|
||||
}
|
||||
}
|
||||
|
@ -87,7 +92,8 @@ Return<void> GraphicsComposerCallback::onHotplug(Display display, Connection con
|
|||
Return<void> GraphicsComposerCallback::onRefresh(Display display) {
|
||||
std::lock_guard<std::mutex> lock(mMutex);
|
||||
|
||||
if (mDisplays.count(display) == 0) {
|
||||
auto it = std::find(mDisplays.begin(), mDisplays.end(), display);
|
||||
if (it == mDisplays.end()) {
|
||||
mInvalidRefreshCount++;
|
||||
}
|
||||
|
||||
|
@ -106,7 +112,8 @@ Return<void> GraphicsComposerCallback::onVsync(Display, int64_t) {
|
|||
Return<void> GraphicsComposerCallback::onVsync_2_4(Display display, int64_t, VsyncPeriodNanos) {
|
||||
std::lock_guard<std::mutex> lock(mMutex);
|
||||
|
||||
if (!mVsyncAllowed || mDisplays.count(display) == 0) {
|
||||
auto it = std::find(mDisplays.begin(), mDisplays.end(), display);
|
||||
if (!mVsyncAllowed || it == mDisplays.end()) {
|
||||
mInvalidVsync_2_4Count++;
|
||||
}
|
||||
|
||||
|
@ -117,7 +124,8 @@ Return<void> GraphicsComposerCallback::onVsyncPeriodTimingChanged(
|
|||
Display display, const VsyncPeriodChangeTimeline& updatedTimeline) {
|
||||
std::lock_guard<std::mutex> lock(mMutex);
|
||||
|
||||
if (mDisplays.count(display) == 0) {
|
||||
auto it = std::find(mDisplays.begin(), mDisplays.end(), display);
|
||||
if (it == mDisplays.end()) {
|
||||
mInvalidVsyncPeriodChangeCount++;
|
||||
}
|
||||
|
||||
|
@ -134,4 +142,4 @@ Return<void> GraphicsComposerCallback::onSeamlessPossible(Display) {
|
|||
return Void();
|
||||
}
|
||||
|
||||
} // namespace android::hardware::graphics::composer::V2_4::vts
|
||||
} // namespace android::hardware::graphics::composer::V2_4::vts
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#include <android/hardware/graphics/composer/2.4/IComposerCallback.h>
|
||||
|
||||
#include <mutex>
|
||||
#include <unordered_set>
|
||||
#include <vector>
|
||||
|
||||
namespace android::hardware::graphics::composer::V2_4::vts {
|
||||
|
||||
|
@ -56,7 +56,7 @@ class GraphicsComposerCallback : public IComposerCallback {
|
|||
|
||||
mutable std::mutex mMutex;
|
||||
// the set of all currently connected displays
|
||||
std::unordered_set<Display> mDisplays;
|
||||
std::vector<Display> mDisplays;
|
||||
// true only when vsync is enabled
|
||||
bool mVsyncAllowed = true;
|
||||
|
||||
|
|
Loading…
Reference in a new issue