diff options
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 7 | ||||
| -rw-r--r-- | services/surfaceflinger/layerproto/display.proto | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 4f7df3f285..86937f5829 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -6127,6 +6127,13 @@ google::protobuf::RepeatedPtrField<DisplayProto> SurfaceFlinger::dumpDisplayProt displayProto->set_id(display->getId().value); displayProto->set_name(display->getDisplayName()); displayProto->set_layer_stack(display->getLayerStack().id); + + if (!display->isVirtual()) { + const auto dpi = display->refreshRateSelector().getActiveMode().modePtr->getDpi(); + displayProto->set_dpi_x(dpi.x); + displayProto->set_dpi_y(dpi.y); + } + LayerProtoHelper::writeSizeToProto(display->getWidth(), display->getHeight(), [&]() { return displayProto->mutable_size(); }); LayerProtoHelper::writeToProto(display->getLayerStackSpaceRect(), [&]() { diff --git a/services/surfaceflinger/layerproto/display.proto b/services/surfaceflinger/layerproto/display.proto index c8cd9266a7..64de775b8b 100644 --- a/services/surfaceflinger/layerproto/display.proto +++ b/services/surfaceflinger/layerproto/display.proto @@ -35,4 +35,8 @@ message DisplayProto { TransformProto transform = 6; bool is_virtual = 7; + + double dpi_x = 8; + + double dpi_y = 9; } |