[VTS] Update allocator name for AIDL allocator.

We used "default" value for the allocator in the test
and this value was used as is for the AIDL allocator.
This caused the test to fail because we were not able to acquire the
appropriate allocator as AIDL allocator instance is not named "default".
Update the test to use the correct instance name for AIDL allocator,
if available.

Test: atest VtsHalGraphicsComposerV2_1TargetTest
atest VtsHalGraphicsComposerV2_2TargetTest
atest VtsHalGraphicsComposerV2_3TargetTest
atest VtsHalGraphicsComposerV2_4TargetTest
atest VtsHalGraphicsComposer3_TargetTest
BUG: 234671596

test results after updates:
VTS 2.1 : http://ab/I84600010058657636
VTS 2.2 : http://ab/I51800010058498973
VTS 2.3 : http://ab/I87700010058914863
VTS 2.4 : http://ab/I88900010058592031
VTS 3.0 : http://ab/I96200010058838905

Change-Id: I04ae1a18d757cfd941d4929ad08f6bb2c8643f76
This commit is contained in:
ramindani
2022-06-04 00:16:44 +00:00
parent 000c0144ce
commit b2b747ffd4
6 changed files with 35 additions and 16 deletions

View File

@@ -316,8 +316,12 @@ NativeHandleWrapper::~NativeHandleWrapper() {
Gralloc::Gralloc() {
[this] {
ASSERT_NO_FATAL_FAILURE(mGralloc4 = std::make_shared<Gralloc4>("default", "default",
/*errOnFailure=*/false));
ASSERT_NO_FATAL_FAILURE(mGralloc4 = std::make_shared<Gralloc4>(
/*aidlAllocatorServiceName*/ IAllocator::descriptor +
std::string("/default"),
/*hidlAllocatorServiceName*/ "default",
/*mapperServiceName*/ "default",
/*errOnFailure=*/false));
if (!mGralloc4->hasAllocator() || mGralloc4->getMapper() == nullptr) {
mGralloc4 = nullptr;
ASSERT_NO_FATAL_FAILURE(mGralloc3 = std::make_shared<Gralloc3>("default", "default",

View File

@@ -49,6 +49,7 @@ using IMapper4 = android::hardware::graphics::mapper::V4_0::IMapper;
using Gralloc2 = android::hardware::graphics::mapper::V2_0::vts::Gralloc;
using Gralloc3 = android::hardware::graphics::mapper::V3_0::vts::Gralloc;
using Gralloc4 = android::hardware::graphics::mapper::V4_0::vts::Gralloc;
using IAllocator = aidl::android::hardware::graphics::allocator::IAllocator;
class ComposerClient;

View File

@@ -182,8 +182,12 @@ std::array<float, 16> ComposerClient::getDataspaceSaturationMatrix(Dataspace dat
Gralloc::Gralloc() {
[this] {
ALOGD("Attempting to initialize gralloc4");
ASSERT_NO_FATAL_FAILURE(mGralloc4 = std::make_shared<Gralloc4>("default", "default",
/*errOnFailure=*/false));
ASSERT_NO_FATAL_FAILURE(mGralloc4 = std::make_shared<Gralloc4>(
/*aidlAllocatorServiceName*/ IAllocator::descriptor +
std::string("/default"),
/*hidlAllocatorServiceName*/ "default",
/*mapperServiceName*/ "default",
/*errOnFailure=*/false));
if (mGralloc4->getMapper() == nullptr || !mGralloc4->hasAllocator()) {
mGralloc4 = nullptr;
ALOGD("Failed to initialize gralloc4, initializing gralloc3");

View File

@@ -48,6 +48,7 @@ using Gralloc2 = android::hardware::graphics::mapper::V2_0::vts::Gralloc;
using Gralloc2_1 = android::hardware::graphics::mapper::V2_1::vts::Gralloc;
using Gralloc3 = android::hardware::graphics::mapper::V3_0::vts::Gralloc;
using Gralloc4 = android::hardware::graphics::mapper::V4_0::vts::Gralloc;
using IAllocator = aidl::android::hardware::graphics::allocator::IAllocator;
class ComposerClient;

View File

@@ -27,21 +27,24 @@ namespace mapper {
namespace V4_0 {
namespace vts {
Gralloc::Gralloc(const std::string& allocatorServiceName, const std::string& mapperServiceName,
Gralloc::Gralloc(const std::string& aidlAllocatorServiceName,
const std::string& hidlAllocatorServiceName, const std::string& mapperServiceName,
bool errOnFailure) {
if (errOnFailure) {
init(allocatorServiceName, mapperServiceName);
init(aidlAllocatorServiceName, hidlAllocatorServiceName, mapperServiceName);
} else {
initNoErr(allocatorServiceName, mapperServiceName);
initNoErr(aidlAllocatorServiceName, hidlAllocatorServiceName, mapperServiceName);
}
}
void Gralloc::init(const std::string& allocatorServiceName, const std::string& mapperServiceName) {
void Gralloc::init(const std::string& aidlAllocatorServiceName,
const std::string& hidlAllocatorServiceName,
const std::string& mapperServiceName) {
mAidlAllocator = aidl::android::hardware::graphics::allocator::IAllocator::fromBinder(
ndk::SpAIBinder(AServiceManager_checkService(allocatorServiceName.c_str())));
ndk::SpAIBinder(AServiceManager_checkService(aidlAllocatorServiceName.c_str())));
if (mAidlAllocator == nullptr) {
mHidlAllocator = IAllocator::getService(allocatorServiceName);
mHidlAllocator = IAllocator::getService(hidlAllocatorServiceName);
}
ASSERT_TRUE(nullptr != mAidlAllocator || mHidlAllocator != nullptr)
<< "failed to get allocator service";
@@ -51,13 +54,14 @@ void Gralloc::init(const std::string& allocatorServiceName, const std::string& m
ASSERT_FALSE(mMapper->isRemote()) << "mapper is not in passthrough mode";
}
void Gralloc::initNoErr(const std::string& allocatorServiceName,
void Gralloc::initNoErr(const std::string& aidlAllocatorServiceName,
const std::string& hidlAllocatorServiceName,
const std::string& mapperServiceName) {
mAidlAllocator = aidl::android::hardware::graphics::allocator::IAllocator::fromBinder(
ndk::SpAIBinder(AServiceManager_checkService(allocatorServiceName.c_str())));
ndk::SpAIBinder(AServiceManager_checkService(aidlAllocatorServiceName.c_str())));
if (mAidlAllocator == nullptr) {
mHidlAllocator = IAllocator::getService(allocatorServiceName);
mHidlAllocator = IAllocator::getService(hidlAllocatorServiceName);
}
mMapper = IMapper::getService(mapperServiceName);

View File

@@ -49,7 +49,9 @@ class Gralloc {
kToleranceAllErrors = ~0x0U,
};
Gralloc(const std::string& allocatorServiceName = "default",
Gralloc(const std::string& aidlAllocatorServiceName =
"android.hardware.graphics.allocator.IAllocator/default",
const std::string& hidlAllocatorServiceName = "default",
const std::string& mapperServiceName = "default", bool errOnFailure = true);
~Gralloc();
@@ -164,10 +166,13 @@ class Gralloc {
0x1U << std::underlying_type_t<Error>(error)) != 0;
}
void init(const std::string& allocatorServiceName, const std::string& mapperServiceName);
void init(const std::string& aidlAllocatorServiceName,
const std::string& hidlAllocatorServiceName, const std::string& mapperServiceName);
// initialize without checking for failure to get service
void initNoErr(const std::string& allocatorServiceName, const std::string& mapperServiceName);
void initNoErr(const std::string& aidlAllocatorServiceName,
const std::string& hidlAllocatorServiceName,
const std::string& mapperServiceName);
const native_handle_t* cloneBuffer(const hidl_handle& rawHandle, enum Tolerance tolerance);
const native_handle_t* cloneBuffer(const hidl_handle& rawHandle) {
return cloneBuffer(rawHandle, Tolerance::kToleranceStrict);