[Feat] (trace-replay): add Minecraft startup trace

This commit is contained in:
2026-06-16 12:22:27 +08:00
parent 24372c8558
commit 0dc3a0916e
7 changed files with 229 additions and 31 deletions
+11 -5
View File
@@ -3,9 +3,12 @@
This directory builds a Linux command line replay runner for apitrace files. It is meant for CI coverage of MobileGL
without Android, APK packaging, FCL, or plugin runtime dependencies.
The bundled `openra` fixture comes from GL4ES' apitrace corpus. See
[GL4ES_TRACES.md](GL4ES_TRACES.md) for the current inventory and the traces that
were rejected because they rely on compatibility/fixed-function OpenGL.
The bundled fixtures cover:
- `OpenRA`: sourced from GL4ES' apitrace corpus. See [GL4ES_TRACES.md](GL4ES_TRACES.md) for the current inventory and
traces rejected because they rely on compatibility/fixed-function OpenGL.
- `minecraft-1.21.4-startup`: captured from Minecraft 1.21.4's Mojang Studios startup screen. The fixture is trimmed
to call 92195, immediately after the startup screen draw into Minecraft's offscreen framebuffer.
Build from the MobileGL repository root:
@@ -17,10 +20,10 @@ cmake -S . -B build-test -G Ninja \
cmake --build build-test
```
Run the OpenRA fixture test:
Run the fixture tests:
```sh
ctest --test-dir build-test -V -R MobileGLTraceReplay.OpenRA
ctest --test-dir build-test -V -R 'MobileGLTraceReplay\.'
```
Run the CLI directly:
@@ -43,5 +46,8 @@ build-test/tools/trace_replay/mobilegl_trace_replay \
--fuzz-percent 20
```
The Minecraft startup fixture uses `tools/trace_replay/fixtures/minecraft-1.21.4-startup.tgz`, golden image
`minecraft-1.21.4-startup.0000092195.png`, `--target-call 92195`, `--width 854`, and `--height 480`.
The Linux runner loads MobileGL by path with `dlopen`. It uses an EGL pbuffer for `DirectGLES` and maps the pbuffer
path to `VK_EXT_headless_surface` for `DirectVulkan`, so CI does not need an X11 or Wayland window.