mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
Merge "fix VtsHalGraphicsComposerV2_2TargetTest timeout failed" am: 81c9e603ea
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1921757 Change-Id: Ief5601ad2311b6e24f15167859c1bbec251988df
This commit is contained in:
@@ -30,7 +30,7 @@ void GraphicsComposerCallback::setVsyncAllowed(bool allowed) {
|
|||||||
|
|
||||||
std::vector<Display> GraphicsComposerCallback::getDisplays() const {
|
std::vector<Display> GraphicsComposerCallback::getDisplays() const {
|
||||||
std::lock_guard<std::mutex> lock(mMutex);
|
std::lock_guard<std::mutex> lock(mMutex);
|
||||||
return std::vector<Display>(mDisplays.begin(), mDisplays.end());
|
return mDisplays;
|
||||||
}
|
}
|
||||||
|
|
||||||
int GraphicsComposerCallback::getInvalidHotplugCount() const {
|
int GraphicsComposerCallback::getInvalidHotplugCount() const {
|
||||||
@@ -51,12 +51,17 @@ int GraphicsComposerCallback::getInvalidVsyncCount() const {
|
|||||||
Return<void> GraphicsComposerCallback::onHotplug(Display display, Connection connection) {
|
Return<void> GraphicsComposerCallback::onHotplug(Display display, Connection connection) {
|
||||||
std::lock_guard<std::mutex> lock(mMutex);
|
std::lock_guard<std::mutex> lock(mMutex);
|
||||||
|
|
||||||
|
auto it = std::find(mDisplays.begin(), mDisplays.end(), display);
|
||||||
if (connection == Connection::CONNECTED) {
|
if (connection == Connection::CONNECTED) {
|
||||||
if (!mDisplays.insert(display).second) {
|
if (it == mDisplays.end()) {
|
||||||
|
mDisplays.push_back(display);
|
||||||
|
} else {
|
||||||
mInvalidHotplugCount++;
|
mInvalidHotplugCount++;
|
||||||
}
|
}
|
||||||
} else if (connection == Connection::DISCONNECTED) {
|
} else if (connection == Connection::DISCONNECTED) {
|
||||||
if (!mDisplays.erase(display)) {
|
if (it != mDisplays.end()) {
|
||||||
|
mDisplays.erase(it);
|
||||||
|
} else {
|
||||||
mInvalidHotplugCount++;
|
mInvalidHotplugCount++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -67,7 +72,8 @@ Return<void> GraphicsComposerCallback::onHotplug(Display display, Connection con
|
|||||||
Return<void> GraphicsComposerCallback::onRefresh(Display display) {
|
Return<void> GraphicsComposerCallback::onRefresh(Display display) {
|
||||||
std::lock_guard<std::mutex> lock(mMutex);
|
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++;
|
mInvalidRefreshCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,7 +83,8 @@ Return<void> GraphicsComposerCallback::onRefresh(Display display) {
|
|||||||
Return<void> GraphicsComposerCallback::onVsync(Display display, int64_t) {
|
Return<void> GraphicsComposerCallback::onVsync(Display display, int64_t) {
|
||||||
std::lock_guard<std::mutex> lock(mMutex);
|
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++;
|
mInvalidVsyncCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
#include <android/hardware/graphics/composer/2.1/IComposerCallback.h>
|
#include <android/hardware/graphics/composer/2.1/IComposerCallback.h>
|
||||||
|
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
#include <unordered_set>
|
#include <vector>
|
||||||
|
|
||||||
namespace android {
|
namespace android {
|
||||||
namespace hardware {
|
namespace hardware {
|
||||||
@@ -48,7 +48,7 @@ class GraphicsComposerCallback : public IComposerCallback {
|
|||||||
|
|
||||||
mutable std::mutex mMutex;
|
mutable std::mutex mMutex;
|
||||||
// the set of all currently connected displays
|
// the set of all currently connected displays
|
||||||
std::unordered_set<Display> mDisplays;
|
std::vector<Display> mDisplays;
|
||||||
// true only when vsync is enabled
|
// true only when vsync is enabled
|
||||||
bool mVsyncAllowed = true;
|
bool mVsyncAllowed = true;
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ void GraphicsComposerCallback::setVsyncAllowed(bool allowed) {
|
|||||||
|
|
||||||
std::vector<Display> GraphicsComposerCallback::getDisplays() const {
|
std::vector<Display> GraphicsComposerCallback::getDisplays() const {
|
||||||
std::lock_guard<std::mutex> lock(mMutex);
|
std::lock_guard<std::mutex> lock(mMutex);
|
||||||
return std::vector<Display>(mDisplays.begin(), mDisplays.end());
|
return mDisplays;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t GraphicsComposerCallback::getInvalidHotplugCount() const {
|
int32_t GraphicsComposerCallback::getInvalidHotplugCount() const {
|
||||||
@@ -71,12 +71,17 @@ GraphicsComposerCallback::takeLastVsyncPeriodChangeTimeline() {
|
|||||||
Return<void> GraphicsComposerCallback::onHotplug(Display display, Connection connection) {
|
Return<void> GraphicsComposerCallback::onHotplug(Display display, Connection connection) {
|
||||||
std::lock_guard<std::mutex> lock(mMutex);
|
std::lock_guard<std::mutex> lock(mMutex);
|
||||||
|
|
||||||
|
auto it = std::find(mDisplays.begin(), mDisplays.end(), display);
|
||||||
if (connection == Connection::CONNECTED) {
|
if (connection == Connection::CONNECTED) {
|
||||||
if (!mDisplays.insert(display).second) {
|
if (it == mDisplays.end()) {
|
||||||
|
mDisplays.push_back(display);
|
||||||
|
} else {
|
||||||
mInvalidHotplugCount++;
|
mInvalidHotplugCount++;
|
||||||
}
|
}
|
||||||
} else if (connection == Connection::DISCONNECTED) {
|
} else if (connection == Connection::DISCONNECTED) {
|
||||||
if (!mDisplays.erase(display)) {
|
if (it != mDisplays.end()) {
|
||||||
|
mDisplays.erase(it);
|
||||||
|
} else {
|
||||||
mInvalidHotplugCount++;
|
mInvalidHotplugCount++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -87,7 +92,8 @@ Return<void> GraphicsComposerCallback::onHotplug(Display display, Connection con
|
|||||||
Return<void> GraphicsComposerCallback::onRefresh(Display display) {
|
Return<void> GraphicsComposerCallback::onRefresh(Display display) {
|
||||||
std::lock_guard<std::mutex> lock(mMutex);
|
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++;
|
mInvalidRefreshCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,7 +112,8 @@ Return<void> GraphicsComposerCallback::onVsync(Display, int64_t) {
|
|||||||
Return<void> GraphicsComposerCallback::onVsync_2_4(Display display, int64_t, VsyncPeriodNanos) {
|
Return<void> GraphicsComposerCallback::onVsync_2_4(Display display, int64_t, VsyncPeriodNanos) {
|
||||||
std::lock_guard<std::mutex> lock(mMutex);
|
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++;
|
mInvalidVsync_2_4Count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -117,7 +124,8 @@ Return<void> GraphicsComposerCallback::onVsyncPeriodTimingChanged(
|
|||||||
Display display, const VsyncPeriodChangeTimeline& updatedTimeline) {
|
Display display, const VsyncPeriodChangeTimeline& updatedTimeline) {
|
||||||
std::lock_guard<std::mutex> lock(mMutex);
|
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++;
|
mInvalidVsyncPeriodChangeCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -134,4 +142,4 @@ Return<void> GraphicsComposerCallback::onSeamlessPossible(Display) {
|
|||||||
return Void();
|
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 <android/hardware/graphics/composer/2.4/IComposerCallback.h>
|
||||||
|
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
#include <unordered_set>
|
#include <vector>
|
||||||
|
|
||||||
namespace android::hardware::graphics::composer::V2_4::vts {
|
namespace android::hardware::graphics::composer::V2_4::vts {
|
||||||
|
|
||||||
@@ -56,7 +56,7 @@ class GraphicsComposerCallback : public IComposerCallback {
|
|||||||
|
|
||||||
mutable std::mutex mMutex;
|
mutable std::mutex mMutex;
|
||||||
// the set of all currently connected displays
|
// the set of all currently connected displays
|
||||||
std::unordered_set<Display> mDisplays;
|
std::vector<Display> mDisplays;
|
||||||
// true only when vsync is enabled
|
// true only when vsync is enabled
|
||||||
bool mVsyncAllowed = true;
|
bool mVsyncAllowed = true;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user