1
0
Fork 0

drm_hwcomposer: Return error for unsupported DPI

A virtual display provided by vkms does not report a physical width and so
does not support DPI. Currently a missing dpi will returning -1, but this
causes the VTS test GetDisplayConfigsIsSubsetOfGetDisplayConfigurations to
fail. Instead, return a kUnsupported error which the test recognizes.

Signed-off-by: Deborah Brouwer <deborah.brouwer@collabora.com>
This commit is contained in:
Deborah Brouwer 2025-07-11 12:17:48 -07:00
parent d1be5f8c8b
commit 7aa4c98eb8

View file

@ -909,16 +909,14 @@ ndk::ScopedAStatus ComposerClient::getDisplayAttribute(
*value = aidl_configuration.vsyncPeriod;
break;
case DisplayAttribute::DPI_X:
*value = aidl_configuration.dpi
? static_cast<int>(aidl_configuration.dpi->x *
kLegacyDpiUnit)
: -1;
if (!aidl_configuration.dpi)
return ToBinderStatus(hwc3::Error::kUnsupported);
*value = static_cast<int>(aidl_configuration.dpi->x * kLegacyDpiUnit);
break;
case DisplayAttribute::DPI_Y:
*value = aidl_configuration.dpi
? static_cast<int>(aidl_configuration.dpi->y *
kLegacyDpiUnit)
: -1;
if (!aidl_configuration.dpi)
return ToBinderStatus(hwc3::Error::kUnsupported);
*value = static_cast<int>(aidl_configuration.dpi->y * kLegacyDpiUnit);
break;
case DisplayAttribute::CONFIG_GROUP:
*value = aidl_configuration.configGroup;