Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f959f6b5 authored by Cody Northrop's avatar Cody Northrop
Browse files

GPU Debug Layers: Allow multiple layer apps

This allows applications to specify both a GLES layer app and a
Vulkan layer app, so both APIs can be debugged at the same time.

To specify multiple debug layer apps, colon separate them just
like the layers:

  adb shell settings put global gpu_debug_layer_app app1:app2:appN

Bug: 110883880
Test: atest CtsGpuToolsHostTestCases
Change-Id: I5f721b7d9de59577adb6cc03e909ff99ca79d75e
parent 8e3183e1
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -188,13 +188,18 @@ public class GraphicsEnvironment {

                    if (gpuDebugLayerApp != null && !gpuDebugLayerApp.isEmpty()) {
                        Log.i(TAG, "GPU debug layer app: " + gpuDebugLayerApp);
                        final String paths = getDebugLayerAppPaths(pm, gpuDebugLayerApp);
                        // If a colon is present, treat this as multiple apps, so Vulkan and GLES
                        // layer apps can be provided at the same time.
                        String[] layerApps = gpuDebugLayerApp.split(":");
                        for (int i = 0; i < layerApps.length; i++) {
                            String paths = getDebugLayerAppPaths(pm, layerApps[i]);
                            if (paths != null) {
                                // Append the path so files placed in the app's base directory will
                                // override the external path
                                layerPaths += paths + ":";
                            }
                        }
                    }

                    final String layers = coreSettings.getString(Settings.Global.GPU_DEBUG_LAYERS);