[Fix] (trace-replay): use ANGLE for DirectGLES APK retrace

This commit is contained in:
2026-06-22 12:18:33 +08:00
parent 84eddaef2f
commit 565dc90bf0
9 changed files with 67 additions and 8 deletions
+2
View File
@@ -38,6 +38,7 @@ crop_x optional compare crop x
crop_y optional compare crop y
crop_width optional compare crop width
crop_height optional compare crop height
use_angle optional boolean; DirectGLES uses packaged ANGLE when true
```
Implementation notes:
@@ -48,6 +49,7 @@ Implementation notes:
- `DirectGLES` replays on an EGL pbuffer by default, avoiding Android `SurfaceView` lifetime coupling. `DirectVulkan` still uses the Activity surface because it needs a native window-backed Vulkan swapchain.
- Golden comparison is implemented in native C++ with libpng RGBA decode. The Java Activity only passes arguments and displays the native result, so the replay/compare core is not tied to Android UI or Bitmap APIs and can be ported to Linux.
- The plugin profile still excludes `libtrace_replay_runner.so`; normal plugin APK behavior is preserved.
- Set `MOBILEGL_RETRACE_USE_ANGLE=1` when running `trace-replay-ci.sh` to pass `use_angle=true` for DirectGLES. The APK must include `libEGL_angle.so` and `libGLESv2_angle.so` under its x86_64 native libraries.
Example core-profile trace smoke command for a debug trace APK: