summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKalesh Singh <kaleshsingh@google.com>2020-12-28 18:15:56 -0500
committerKalesh Singh <kaleshsingh@google.com>2021-01-05 10:11:56 -0500
commit18699b07fc4b9670b1fceb3e19cf8b1d5987c92d (patch)
tree4eaf6fbf8c2c25460a89e7bf3e840736b21afdc7
parent2e12c78fbca041d5262f019c62dfb53168c45f8c (diff)
downloadlibmemtrack-18699b07fc4b9670b1fceb3e19cf8b1d5987c92d.tar.gz
libmemtrack: Add memtrack_gpu_device_info()
Bug: 176477627 Test: dumpsys meminfo Change-Id: Id02e06ac469ace70ed687c52cc8016db6c61cc9f
-rw-r--r--include/memtrack/memtrack.h27
-rw-r--r--memtrack.cpp10
2 files changed, 37 insertions, 0 deletions
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<aidl::android::hardware::memtrack::DeviceInfo>* 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<V_aidl::IMemtrack> get_aidl_instance() {
return V_aidl::IMemtrack::fromBinder(memtrack_binder);
}
+bool memtrack_gpu_device_info(std::vector<V_aidl::DeviceInfo>* device_info) {
+ std::shared_ptr<V_aidl::IMemtrack> 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();