diff options
| author | 2019-09-17 13:23:17 -0700 | |
|---|---|---|
| committer | 2019-10-09 14:48:36 -0700 | |
| commit | 0afcca0b295d50227439af6a555fcbabc80341b0 (patch) | |
| tree | 241f01dc30355447473bd894548ebe83b6a36af4 /libs/graphicsenv/GraphicsEnv.cpp | |
| parent | 55d7b34594335772df70087bdd249a3d43eca226 (diff) | |
[libgraphicsenv] Add an API to enable profiling features
Set PR_SET_DUMPABLE for process that wishes to
inject Vk/GL layers via metadata. This signals the
graphics driver to enable profiling features.
Bug: 138204026
Test: Add <meta-data android:name="com.android.graphics.injectLayers.enable" android:value="true" />
to the <application> xml in the manifest of a GL/Vk app. Call
prctl(PR_GET_DUMPABLE) in a native app to verify.
Change-Id: Ife7d18f77775499629d830376a76c4599afd9c15
Diffstat (limited to 'libs/graphicsenv/GraphicsEnv.cpp')
| -rw-r--r-- | libs/graphicsenv/GraphicsEnv.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/graphicsenv/GraphicsEnv.cpp b/libs/graphicsenv/GraphicsEnv.cpp index 30f5f73c3a..28591110f0 100644 --- a/libs/graphicsenv/GraphicsEnv.cpp +++ b/libs/graphicsenv/GraphicsEnv.cpp @@ -307,6 +307,13 @@ void GraphicsEnv::sendGpuStatsLocked(GpuStatsInfo::Api api, bool isDriverLoaded, } } +bool GraphicsEnv::setInjectLayersPrSetDumpable() { + if (prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) == -1) { + return false; + } + return true; +} + void* GraphicsEnv::loadLibrary(std::string name) { const android_dlextinfo dlextinfo = { .flags = ANDROID_DLEXT_USE_NAMESPACE, |