mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:23:37 +00:00
Merge "Fix composer@2.3 VTS tests." into qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
16b5d8a94a
@@ -22,7 +22,6 @@
|
||||
|
||||
#include <android/hardware/graphics/composer/2.3/IComposerClient.h>
|
||||
#include <composer-hal/2.2/ComposerResources.h>
|
||||
#include <composer-hal/2.3/ComposerClient.h>
|
||||
#include <composer-hal/2.3/ComposerCommandEngine.h>
|
||||
#include <composer-hal/2.3/ComposerHal.h>
|
||||
|
||||
|
||||
@@ -221,10 +221,6 @@ class HwcHalImpl : public V2_2::passthrough::detail::HwcHalImpl<Hal> {
|
||||
|
||||
Error getDisplayCapabilities(
|
||||
Display display, hidl_vec<IComposerClient::DisplayCapability>* outCapabilities) override {
|
||||
if (!mDispatch.getDisplayCapabilities) {
|
||||
return Error::UNSUPPORTED;
|
||||
}
|
||||
|
||||
uint32_t count = 0;
|
||||
int32_t error = mDispatch.getDisplayCapabilities(mDevice, display, &count, nullptr);
|
||||
if (error != HWC2_ERROR_NONE) {
|
||||
|
||||
@@ -177,13 +177,17 @@ Error ComposerClient::getDisplayedContentSample(uint64_t display, uint64_t maxFr
|
||||
return error;
|
||||
}
|
||||
|
||||
std::vector<IComposerClient::DisplayCapability> ComposerClient::getDisplayCapabilities(
|
||||
Display display) {
|
||||
Error ComposerClient::getDisplayCapabilities(
|
||||
Display display, std::vector<IComposerClient::DisplayCapability>* outCapabilities) {
|
||||
std::vector<IComposerClient::DisplayCapability> capabilities;
|
||||
mClient->getDisplayCapabilities(
|
||||
display, [&](const auto&, const auto& tmpCapabilities) { capabilities = tmpCapabilities; });
|
||||
Error error = Error::NONE;
|
||||
mClient->getDisplayCapabilities(display,
|
||||
[&](const auto& tmpError, const auto& tmpCapabilities) {
|
||||
error = tmpError;
|
||||
*outCapabilities = tmpCapabilities;
|
||||
});
|
||||
|
||||
return capabilities;
|
||||
return error;
|
||||
}
|
||||
|
||||
bool ComposerClient::getDisplayBrightnessSupport(Display display) {
|
||||
|
||||
@@ -95,7 +95,9 @@ class ComposerClient : public V2_2::vts::ComposerClient {
|
||||
|
||||
bool getClientTargetSupport_2_3(Display display, uint32_t width, uint32_t height,
|
||||
PixelFormat format, Dataspace dataspace);
|
||||
std::vector<IComposerClient::DisplayCapability> getDisplayCapabilities(Display display);
|
||||
Error getDisplayCapabilities(
|
||||
Display display,
|
||||
std::vector<IComposerClient::DisplayCapability>* outDisplayCapabilities);
|
||||
|
||||
std::vector<IComposerClient::PerFrameMetadataKey> getPerFrameMetadataKeys_2_3(Display display);
|
||||
|
||||
|
||||
@@ -565,16 +565,19 @@ TEST_F(GraphicsComposerHidlTest, GetDisplayedContentSample) {
|
||||
* Test some constraints.
|
||||
*/
|
||||
TEST_F(GraphicsComposerHidlTest, getDisplayCapabilitiesBasic) {
|
||||
auto capabilities = mComposerClient->getDisplayCapabilities(mPrimaryDisplay);
|
||||
bool hasDozeSupport = std::find(capabilities.begin(), capabilities.end(),
|
||||
IComposerClient::DisplayCapability::DOZE) != capabilities.end();
|
||||
std::vector<IComposerClient::DisplayCapability> capabilities;
|
||||
const auto error = mComposerClient->getDisplayCapabilities(mPrimaryDisplay, &capabilities);
|
||||
ASSERT_EQ(Error::NONE, error);
|
||||
const bool hasDozeSupport =
|
||||
std::find(capabilities.begin(), capabilities.end(),
|
||||
IComposerClient::DisplayCapability::DOZE) != capabilities.end();
|
||||
EXPECT_EQ(mComposerClient->getDozeSupport(mPrimaryDisplay), hasDozeSupport);
|
||||
}
|
||||
|
||||
TEST_F(GraphicsComposerHidlTest, getDisplayCapabilitiesBadDisplay) {
|
||||
mComposerClient->getRaw()->getDisplayCapabilities(
|
||||
mInvalidDisplayId,
|
||||
[&](const auto& tmpError, const auto&) { EXPECT_EQ(Error::BAD_DISPLAY, tmpError); });
|
||||
std::vector<IComposerClient::DisplayCapability> capabilities;
|
||||
const auto error = mComposerClient->getDisplayCapabilities(mInvalidDisplayId, &capabilities);
|
||||
EXPECT_EQ(Error::BAD_DISPLAY, error);
|
||||
}
|
||||
|
||||
TEST_F(GraphicsComposerHidlTest, SetLayerPerFrameMetadataBlobs) {
|
||||
@@ -604,7 +607,9 @@ TEST_F(GraphicsComposerHidlTest, SetLayerPerFrameMetadataBlobs) {
|
||||
* Test that getDisplayBrightnessSupport works as expected.
|
||||
*/
|
||||
TEST_F(GraphicsComposerHidlTest, getDisplayBrightnessSupport) {
|
||||
auto capabilities = mComposerClient->getDisplayCapabilities(mPrimaryDisplay);
|
||||
std::vector<IComposerClient::DisplayCapability> capabilities;
|
||||
const auto error = mComposerClient->getDisplayCapabilities(mPrimaryDisplay, &capabilities);
|
||||
ASSERT_EQ(Error::NONE, error);
|
||||
bool brightnessSupport =
|
||||
std::find(capabilities.begin(), capabilities.end(),
|
||||
IComposerClient::DisplayCapability::BRIGHTNESS) != capabilities.end();
|
||||
@@ -616,9 +621,9 @@ TEST_F(GraphicsComposerHidlTest, getDisplayBrightnessSupport) {
|
||||
*/
|
||||
TEST_F(GraphicsComposerHidlTest, setDisplayBrightness) {
|
||||
if (!mComposerClient->getDisplayBrightnessSupport(mPrimaryDisplay)) {
|
||||
EXPECT_EQ(mComposerClient->getRaw()->setDisplayBrightness(mPrimaryDisplay, 0.5f),
|
||||
Error::UNSUPPORTED);
|
||||
EXPECT_EQ(mComposerClient->setDisplayBrightness(mPrimaryDisplay, 0.5f), Error::UNSUPPORTED);
|
||||
GTEST_SUCCEED() << "Brightness operations are not supported";
|
||||
return;
|
||||
}
|
||||
|
||||
EXPECT_EQ(mComposerClient->setDisplayBrightness(mPrimaryDisplay, 0.0f), Error::NONE);
|
||||
|
||||
Reference in New Issue
Block a user