diff --git a/.github/workflows/ci.yml b/.github/workflows/test.yml similarity index 99% rename from .github/workflows/ci.yml rename to .github/workflows/test.yml index 7b3fa7b9..d5db98ad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,4 @@ -name: CI +name: Test on: push: @@ -305,3 +305,4 @@ jobs: if [ "${direct_gles_status}" -ne 0 ] || [ "${direct_vulkan_status}" -ne 0 ]; then exit 1 fi + diff --git a/tools/trace_replay/GL4ES_TRACES.md b/tools/trace_replay/GL4ES_TRACES.md deleted file mode 100644 index 5844cfce..00000000 --- a/tools/trace_replay/GL4ES_TRACES.md +++ /dev/null @@ -1,22 +0,0 @@ -# GL4ES Trace Inventory - -The GL4ES repository currently provides these apitrace fixtures under -`NG-GL4ES/NG-GL4ES/traces` with reference images under `NG-GL4ES/NG-GL4ES/refs`. -MobileGL's trace replay tests only use traces that exercise a core-profile style -OpenGL path. Compatibility/fixed-function traces are intentionally excluded. - -| Trace | Status | Reason | -| --- | --- | --- | -| `openra` | Included | No fixed-function calls were detected in the trace scan, and it passes Linux replay on both `DirectGLES` and `DirectVulkan`. | -| `glsl_lighting` | Excluded | Uses compatibility matrix-stack calls (`glLoadIdentity`, `glPopMatrix`) and replays to a black image on MobileGL (`DirectGLES` mismatchPixels=30659 against the GL4ES reference). | -| `descent3` | Excluded | Uses fixed-function calls such as `glBegin`, `glEnd`, `glAlphaFunc`, `glOrtho`, and client arrays. | -| `foobillardplus` | Excluded | Uses display lists, matrix stack, material/fog state, and fixed-function client arrays. | -| `glxgears` | Excluded | Uses display lists, `glBegin`/`glEnd`, matrix stack, and material state. | -| `neverball` | Excluded | Uses display lists, `glBegin`/`glEnd`, fixed-function lighting/material state, clip planes, and matrix stack. | -| `pointsprite` | Excluded | Uses `glBegin`/`glEnd`, matrix stack, `glOrtho`, and fixed-function point state. | -| `stuntcarracer` | Excluded | Uses `glBegin`/`glEnd`, matrix stack, `glAlphaFunc`, and fixed-function client arrays. | - -The scan is deliberately conservative: a trace is only added as a MobileGL -regression fixture after it replays and validates against its reference image on -Linux and Android. Traces that mainly test GL4ES compatibility behavior should -remain outside MobileGL core-profile CI. diff --git a/tools/trace_replay/README.md b/tools/trace_replay/README.md index 31edd057..2e5615a8 100644 --- a/tools/trace_replay/README.md +++ b/tools/trace_replay/README.md @@ -1,16 +1,16 @@ # MobileGL trace replay -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. +This directory builds a Linux command line replay runner for [apitrace](https://github.com/apitrace/apitrace) files. It +is an integration testing infrastructure of MobileGL. 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. -- `minecraft-1.21.4-main-menu`: captured from Minecraft 1.21.4's English (US) main menu. The fixture is trimmed to - call 481787, immediately after the main menu draw into Minecraft's offscreen framebuffer. +- OpenRA: sourced from GL4ES' apitrace corpus. + ![OpenRA golden](fixtures/openra.0000031249.png) +- minecraft-1.21.4-startup: captured from Minecraft 1.21.4's startup screen. + ![Minecraft 1.21.4 startup golden](fixtures/minecraft-1.21.4-startup.0000092195.png) +- minecraft-1.21.4-main-menu: captured from Minecraft 1.21.4's main menu. + ![Minecraft 1.21.4 main menu golden](fixtures/minecraft-1.21.4-main-menu.0000481787.png) Build from the MobileGL repository root: @@ -47,13 +47,3 @@ build-test/tools/trace_replay/mobilegl_trace_replay \ --tolerance 20 \ --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 Minecraft main-menu fixture uses `tools/trace_replay/fixtures/minecraft-1.21.4-main-menu.tgz`, golden image -`minecraft-1.21.4-main-menu.0000481787.png`, `--target-call 481787`, `--width 854`, `--height 480`, and -`--tolerance 500`. -Each replay that has a golden image writes `${case}-diff.png` in the backend output directory. - -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.