From 18699b07fc4b9670b1fceb3e19cf8b1d5987c92d Mon Sep 17 00:00:00 2001 From: Kalesh Singh Date: Mon, 28 Dec 2020 18:15:56 -0500 Subject: libmemtrack: Add memtrack_gpu_device_info() Bug: 176477627 Test: dumpsys meminfo Change-Id: Id02e06ac469ace70ed687c52cc8016db6c61cc9f --- include/memtrack/memtrack.h | 27 +++++++++++++++++++++++++++ memtrack.cpp | 10 ++++++++++ 2 files changed, 37 insertions(+) diff --git a/include/memtrack/memtrack.h b/include/memtrack/memtrack.h index 2134a6f..91dd8c8 100644 --- a/include/memtrack/memtrack.h +++ b/include/memtrack/memtrack.h @@ -129,6 +129,33 @@ ssize_t memtrack_proc_other_total(struct memtrack_proc *p); */ ssize_t memtrack_proc_other_pss(struct memtrack_proc *p); +/** + * class DeviceInfo + * + * Contains the device id and name. + */ +namespace aidl { +namespace android { +namespace hardware { +namespace memtrack { + +class DeviceInfo; + +} // namespace memtrack +} // namespace hardware +} // namespace android +} // namespace aidl + +/** + * memtrack_gpu_device_info + * + * Populates the @device_info vector with the DeviceInfo for all GPU devices. + * + * Returns true on success and false otherwise. + */ +bool memtrack_gpu_device_info( + std::vector* device_info); + #ifdef __cplusplus } #endif diff --git a/memtrack.cpp b/memtrack.cpp index 807a5c3..297d8ce 100644 --- a/memtrack.cpp +++ b/memtrack.cpp @@ -104,6 +104,16 @@ static std::shared_ptr get_aidl_instance() { return V_aidl::IMemtrack::fromBinder(memtrack_binder); } +bool memtrack_gpu_device_info(std::vector* device_info) { + std::shared_ptr service = get_aidl_instance(); + if (!service) { + return false; + } + + auto status = service->getGpuDeviceInfo(device_info); + return status.isOk(); +} + memtrack_proc *memtrack_proc_new(void) { return new memtrack_proc(); -- cgit v1.2.3