mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-11-07 01:53:24 +09:00
[Chore] (MG_Backend/DirectGLES, MG_Backend/DirectVulkan, MG_Impl/EGLImpl, MG_Impl/Pipe, MG_IntegrationTest/Harness, MG_IntegrationTest/Scenarios, MG_Pipe, MG_Remote, MG_Remote/Client, MG_Remote/Server, MG_Remote/Transport, MG_Test/Backend, MG_Test/EGLState, MG_Test/Wire, scripts, scripts/ci, tools/cts, tools/device_bench, tools/spikes, tools/trace_replay, tools/wgl-smoke): add the license header where it is missing
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
// MobileGL - tools/cts/probe/mgprobe.c
|
||||
// Copyright (c) 2025-2026 MobileGL-Dev
|
||||
// Licensed under the GNU Lesser General Public License v3.0:
|
||||
// https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
// https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
// SPDX-License-Identifier: LGPL-3.0-only
|
||||
// End of Source File Header
|
||||
|
||||
/* mgprobe - preflight gate for running a GL conformance suite against MobileGL
|
||||
* from a bare adb-shell process (no APK, no Activity).
|
||||
*
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python
|
||||
# MobileGL - tools/cts/scripts/cts_matrix_report.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Build a GL 3.0--3.3 CTS conformance matrix from dEQP QPA logs.
|
||||
|
||||
The report deliberately scores against the unique cases in each supplied
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python
|
||||
# MobileGL - tools/cts/scripts/cts_multi_report.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Summarise any number of GL CTS suites and MobileGL backends.
|
||||
|
||||
Each repeatable suite specification consists of four values: backend, label,
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python
|
||||
# MobileGL - tools/cts/scripts/qpa_report.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Summarise dEQP/glcts .qpa logs into a conformance pass rate.
|
||||
|
||||
Handles the two ways a case can end in a .qpa: a normal
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python
|
||||
# MobileGL - tools/cts/scripts/run_cts.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Drive a glcts run on a device, resuming across crashes.
|
||||
|
||||
MobileGL crashes on some cases, and glcts takes the whole process down with it.
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python
|
||||
# MobileGL - tools/cts/scripts/run_cts_local.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Drive a glcts run on the local host, resuming across crashes.
|
||||
|
||||
Local-host counterpart of run_cts.py: MobileGL crashes on some cases and glcts
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python
|
||||
# MobileGL - tools/cts/scripts/run_cts_windows.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Run a local Windows glcts executable and resume across process failures.
|
||||
|
||||
The desktop CTS normally runs a complete caselist in one process. That is a
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python
|
||||
# MobileGL - tools/cts/scripts/sync_to_cts.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Copy the MobileGL dEQP platform port into a VK-GL-CTS checkout.
|
||||
|
||||
The port is version-controlled here, in the MobileGL repo, so it survives a
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/cts/scripts/test_cts_matrix_report.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
import contextlib
|
||||
import io
|
||||
import json
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/cts/scripts/test_cts_multi_report.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
import contextlib
|
||||
import io
|
||||
import json
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/cts/scripts/test_run_cts_windows.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
import sys
|
||||
import tempfile
|
||||
import time
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/cts/scripts/test_wgl_glcts_pipeline.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
import argparse
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python
|
||||
# MobileGL - tools/cts/scripts/wgl_glcts_pipeline.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Build MobileGL's Windows WGL shim and run Khronos OpenGL CTS suites.
|
||||
|
||||
The pipeline intentionally keeps the build, runtime, results, and reports in an
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/device_bench/anland_glmark2/callers.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
import sys, re, subprocess, collections, os
|
||||
f, tid, so, base, sub, target = sys.argv[1], sys.argv[2], sys.argv[3], int(sys.argv[4],16), sys.argv[5], sys.argv[6]
|
||||
SYM = os.path.expandvars(r'$LOCALAPPDATA/Android/Sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/windows-x86_64/bin/llvm-symbolizer.exe')
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/device_bench/anland_glmark2/incl.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
# incl.py <samples> <tid> <so> <base> <dsosub> [top] - inclusive on-CPU %, and leaf-dso -> first own frame
|
||||
import sys, re, subprocess, collections, os
|
||||
f, tid, so, base, sub = sys.argv[1], sys.argv[2], sys.argv[3], int(sys.argv[4], 16), sys.argv[5]
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/device_bench/anland_glmark2/mktables.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
import json, sys, statistics as st
|
||||
d = json.load(open(sys.argv[1]))
|
||||
stacks = ['stock', 'espryt', 'magma']
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/device_bench/anland_glmark2/offcpu.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
# offcpu.py <samples.txt> <tid> <so> <base-hex> <dso-substr> [depth]
|
||||
# Aggregates report-sample output (trace-offcpu) for one thread: on/off CPU split, and the
|
||||
# off-CPU (leaf __schedule) time by kernel wait path + first N libMobileGL frames.
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/device_bench/anland_glmark2/pbparse.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
import re, sys, glob, os, statistics as st
|
||||
# usage: pbparse.py <dir> ; files <round>-<stack>-<cfg>.out
|
||||
d = sys.argv[1]
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/device_bench/anland_glmark2/symagg.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
# symagg.py <report.txt> <libname-substring> <so-path> <base-hex> [top]
|
||||
# report.txt = simpleperf report --sort dso,vaddr_in_file output; aggregates samples per function.
|
||||
import sys, re, subprocess, collections, os
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/device_bench/anland_glmark2/timeline.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
import sys, collections
|
||||
f = sys.argv[1]; tids = sys.argv[2].split(','); t0off = float(sys.argv[3]); span = float(sys.argv[4])
|
||||
samples = []; cur = None
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/device_bench/disagg/callee_split.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Split one function's inclusive samples by its direct callees (and by malloc/atomic leaves).
|
||||
|
||||
python callee_split.py <perf.data> <binary_cache> <function substring> [--depth 1] [--thread NAME]
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/device_bench/disagg/components.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Inclusive share of fixed components on one thread of a simpleperf profile, converted to
|
||||
milliseconds per frame with the thread's measured CPU ms/frame.
|
||||
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
// MobileGL - tools/device_bench/disagg/cpusampler.c
|
||||
// Copyright (c) 2025-2026 MobileGL-Dev
|
||||
// Licensed under the GNU Lesser General Public License v3.0:
|
||||
// https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
// https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
// SPDX-License-Identifier: LGPL-3.0-only
|
||||
// End of Source File Header
|
||||
|
||||
// Device-side per-thread CPU sampler for the perf matrix (P14).
|
||||
//
|
||||
// Usage (as root, pinned to a little core):
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/device_bench/disagg/crosshost_report.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Reduce crosshost_accept.sh output (.trace-work/perf-compare/crosshost/<run>/) to a table."""
|
||||
import json, os, re, statistics, sys
|
||||
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/device_bench/disagg/fcl_drvcaller.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
# fcl_drvcaller.py <rundir> <tid> <frames>: driver-layer on-CPU time keyed by (driver entry, MobileGL caller)
|
||||
import os, sys
|
||||
from collections import Counter
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/device_bench/disagg/fcl_incl.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
# fcl_incl.py <rundir> <tid|thread comm> <frames> [N]: inclusive on-CPU ms/frame of libMobileGL functions
|
||||
import os, sys
|
||||
from collections import Counter
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/device_bench/disagg/fcl_split.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
# fcl_split.py <rundir> <tid> <ms_per_frame> [depth] [--detail=layer]
|
||||
# Period-weighted on/off-CPU split of one thread of an FCL simpleperf --trace-offcpu profile.
|
||||
# On-CPU goes to a layer (driver / backend / applier / client half / jvm+game / other), off-CPU is
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/device_bench/disagg/fcl_stacks.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
# fcl_stacks.py <rundir> <tid> <frames> [depth] [filter-substring]: on-CPU inclusive function time (ms/frame) and top stacks
|
||||
import os, sys
|
||||
from collections import Counter
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/device_bench/disagg/freqcheck.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""freqcheck.py <freq.txt> [pin.txt] - P15 measurement-validity verdict for one run.
|
||||
|
||||
freq.txt is freq_sampler.sh output; pin.txt is the `pin_clocks.sh show` output taken when the
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/device_bench/disagg/layers.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Split one thread of a simpleperf profile by LAYER, in ms per frame.
|
||||
|
||||
python layers.py <perf.data> <binary_cache> <thread comm> <cpu_ms_per_frame> [--tail-ms=N]
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/device_bench/disagg/make_report.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Render the perf-compare report tables from summary.json + per-run artefacts.
|
||||
|
||||
Usage: make_report.py [results_dir]
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/device_bench/disagg/offwait.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
# offwait.py <trace.txt> <tid> [present_marker]
|
||||
# Off-CPU accounting for one thread from an atrace/ftrace text dump:
|
||||
# - sleep (S/D) and runnable (preempted) time per frame
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/device_bench/disagg/p14_report.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Reduce matrix_p14.sh results: steady-state fps, per-thread CPU ms/frame, GPU busy share.
|
||||
|
||||
python p14_report.py <results_dir> [--md out.md] [--json out.json]
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
// MobileGL - tools/device_bench/disagg/sampler.c
|
||||
// Copyright (c) 2025-2026 MobileGL-Dev
|
||||
// Licensed under the GNU Lesser General Public License v3.0:
|
||||
// https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
// https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
// SPDX-License-Identifier: LGPL-3.0-only
|
||||
// End of Source File Header
|
||||
|
||||
// Device-side /proc sampler: per-tid syscall occupancy + CPU + switch counters.
|
||||
// strace attach is SELinux-blocked on this device; /proc/<tid>/syscall is
|
||||
// readable same-uid via run-as, which gives the blocked-syscall histogram.
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/device_bench/disagg/sfalign.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
# sfalign.py <trace>: does SF's setTransactionState return right after SF main-thread flushTransactions?
|
||||
import re, sys, bisect
|
||||
from collections import defaultdict
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/device_bench/disagg/slices.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
# slices.py <trace> <comm-regex> : atrace slice wall time per slice name for threads whose comm-pid matches
|
||||
import re, sys
|
||||
from collections import Counter, defaultdict
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# MobileGL - tools/device_bench/disagg/snapdiff.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
import sys
|
||||
def rd(p):
|
||||
L=open(p).read().split('\n'); up=float(L[0].split()[0]); gpu=sum(int(x) for x in L[1].split())
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/device_bench/magma_runahead/run_fcl_arm.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""One FCL arm on Redmi 2f7cbe2e; root coordinates backup/reboot beforehand.
|
||||
|
||||
No logcat clear, clock pin, APK install, or global-setting change. The app is left
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
// MobileGL - tools/device_bench/p5f/P5fPublicMipmapScenario.cpp
|
||||
// Copyright (c) 2025-2026 MobileGL-Dev
|
||||
// Licensed under the GNU Lesser General Public License v3.0:
|
||||
// https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
// https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
// SPDX-License-Identifier: LGPL-3.0-only
|
||||
// End of Source File Header
|
||||
|
||||
// Device-only P5f preparation. Public GL calls, no MobileGL internal symbols.
|
||||
#include "Harness/ScenarioFixture.h"
|
||||
#include <array>
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/device_bench/p5f/verify_arm.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Read-only verdict for the prepared public-pixel arm; never invokes adb."""
|
||||
import pathlib
|
||||
import re
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/device_bench/p6/ab_session.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Paired A/B on a disaggregated-campaign device: one reboot-clean thermal window, interleaved arms.
|
||||
|
||||
Its first use was `CONTRACT-P6.md` section 9 item 7 (the paired device gate) and item 8-1 (the
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/device_bench/p6/render_ab.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Renders an ab_session.py session into the markdown tables the report needs.
|
||||
|
||||
Separate from the runner on purpose: the runner's job is to COLLECT, and a renderer that is reading
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
// MobileGL - tools/spikes/extmem_probe/extmem_probe.cpp
|
||||
// Copyright (c) 2025-2026 MobileGL-Dev
|
||||
// Licensed under the GNU Lesser General Public License v3.0:
|
||||
// https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
// https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
// SPDX-License-Identifier: LGPL-3.0-only
|
||||
// End of Source File Header
|
||||
|
||||
// extmem_probe -- MobileGL disaggregation P0 spike B (plan-B §8.3, §11 P0).
|
||||
//
|
||||
// Question this program answers, per device:
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
// MobileGL - tools/spikes/server_stub/main.cpp
|
||||
// Copyright (c) 2025-2026 MobileGL-Dev
|
||||
// Licensed under the GNU Lesser General Public License v3.0:
|
||||
// https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
// https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
// SPDX-License-Identifier: LGPL-3.0-only
|
||||
// End of Source File Header
|
||||
|
||||
// P0 spike A - the Android delivery chain for a second native executable.
|
||||
//
|
||||
// The disaggregated design (PLAN-B.md §8.1, inheriting PLAN.md §11.1-§11.6) needs a
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/benchmark_tcp_credits.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Record complete TCP benchmark runs for credit 1/2/3 with exact common tail frames."""
|
||||
import argparse
|
||||
import json
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/compare_actuals.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Actual-vs-actual SSIM for archived retrace repeats, on the retrace gate's own SSIM.
|
||||
|
||||
WHY THIS EXISTS. `result.json` carries ONE number per run: this attempt's actual against its
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
// MobileGL - tools/trace_replay/fixture_tools/realign_buffer_ranges.cpp
|
||||
// Copyright (c) 2025-2026 MobileGL-Dev
|
||||
// Licensed under the GNU Lesser General Public License v3.0:
|
||||
// https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
// https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
// SPDX-License-Identifier: LGPL-3.0-only
|
||||
// End of Source File Header
|
||||
|
||||
// realign_buffer_ranges: make a GL trace's indexed uniform / storage buffer range binds portable.
|
||||
//
|
||||
// An app sizes glBindBufferRange offsets by the GL_{UNIFORM,SHADER_STORAGE}_BUFFER_OFFSET_ALIGNMENT
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/frame_stats.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Pair client/server present intervals and summarize their frame time.
|
||||
|
||||
MOBILEGL_PIPE_STATS=1 enables the per-present clocks. Frame IDs are matched
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
// MobileGL - tools/trace_replay/macos_cgs_surface_bounds.cpp
|
||||
// Copyright (c) 2025-2026 MobileGL-Dev
|
||||
// Licensed under the GNU Lesser General Public License v3.0:
|
||||
// https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
// https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
// SPDX-License-Identifier: LGPL-3.0-only
|
||||
// End of Source File Header
|
||||
|
||||
#include <Carbon/Carbon.h>
|
||||
|
||||
using CGSConnectionID = void*;
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/measure_loopback_cpu.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Compare current unix+shm and loopback TCP+stream using per-frame role CPU clocks.
|
||||
|
||||
Start a stats-enabled supervisor separately at --endpoint. This runner neither
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/measure_tcp_stage_burst.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Measure one real 64 MiB buffer upload consumed by a TCP server draw.
|
||||
|
||||
The timed interval includes client staging, stream delivery, backend work, and
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/measure_transport_cpu.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Record client thread CPU and sampled apply-thread CPU for unchanged trace workloads.
|
||||
|
||||
The client clock comes from the existing benchmark runner. Apply CPU comes from
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/paired_tcp_benchmark.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Reboot-clean, pinned Redmi TCP credit measurements with original-state restore.
|
||||
|
||||
This explicitly mutating session is separate from the ordinary benchmark tool.
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/run_android_retrace_local.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
import argparse
|
||||
import datetime
|
||||
import hashlib
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/run_macos_window_retrace_local.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
import argparse
|
||||
import concurrent.futures
|
||||
import json
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/run_tcp_matrix.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Run manifest-selected TCP retraces from a CTest JSON catalog, with resumable evidence.
|
||||
|
||||
Requires Linux/WSL process groups. The old local CTest/manifest TIMEOUT is not a
|
||||
|
||||
+8
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/skills/renderdoc-debug-on-trace-replay/scripts/capture_android_retrace.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Capture an exact frame from MobileGL's Android trace replay activity."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
+8
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/skills/renderdoc-debug-on-trace-replay/scripts/queue_android_frame.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Queue an exact RenderDoc frame through an Android TargetControl socket."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
+8
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/skills/trace-fixture-authoring-on-android-fcl/scripts/adb_capture.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
import argparse
|
||||
import subprocess
|
||||
from pathlib import Path
|
||||
|
||||
+8
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/skills/trace-fixture-authoring-on-android-fcl/scripts/build_android_egltrace.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import shutil
|
||||
|
||||
+8
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/skills/trace-fixture-authoring-on-android-fcl/scripts/package_capture_fixture.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import re
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/tcp_device_server.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Start or stop the trace APK's TCP server through adb.
|
||||
|
||||
Two servers, one at a time (P12 D8; whichever starts last owns the port):
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/test_android_lifecycle.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Run the Android replay ownership regression without an emulator or Gradle."""
|
||||
|
||||
import pathlib
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/test_benchmark_tcp_credits.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Offline controls for selecting truthful TCP benchmark windows."""
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/test_compare_actuals.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Synthetic-only regressions for the actual-vs-actual SSIM and the archive summary.
|
||||
|
||||
No device, no PNG the retrace produced and no golden: every raster here is written by the test
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/test_frame_stats.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Small fixture checks for frame ID pairing and additive frame attribution."""
|
||||
|
||||
import tempfile
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/test_run_tcp_matrix.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
"""Small process/fixture stubs only: no GL, network peer, adb or production trace."""
|
||||
import contextlib
|
||||
import io
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
# MobileGL - tools/trace_replay/trace_cases.py
|
||||
# Copyright (c) 2025-2026 MobileGL-Dev
|
||||
# Licensed under the GNU Lesser General Public License v3.0:
|
||||
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
# https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
# SPDX-License-Identifier: LGPL-3.0-only
|
||||
# End of Source File Header
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import sys
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
// MobileGL - tools/trace_replay/trace_env_overrides_test.cpp
|
||||
// Copyright (c) 2025-2026 MobileGL-Dev
|
||||
// Licensed under the GNU Lesser General Public License v3.0:
|
||||
// https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
// https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
// SPDX-License-Identifier: LGPL-3.0-only
|
||||
// End of Source File Header
|
||||
|
||||
// Host-side check for the retrace lane's `K=V;K=V` environment passthrough.
|
||||
//
|
||||
// The passthrough is the one hand-rolled parse between a CI flag and setenv(), and the
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
// MobileGL - tools/trace_replay/trace_replay_cli.cpp
|
||||
// Copyright (c) 2025-2026 MobileGL-Dev
|
||||
// Licensed under the GNU Lesser General Public License v3.0:
|
||||
// https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
// https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
// SPDX-License-Identifier: LGPL-3.0-only
|
||||
// End of Source File Header
|
||||
|
||||
#include "trace_replay_core.hpp"
|
||||
|
||||
#include <cctype>
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
// MobileGL - tools/trace_replay/trace_replay_lease_test.cpp
|
||||
// Copyright (c) 2025-2026 MobileGL-Dev
|
||||
// Licensed under the GNU Lesser General Public License v3.0:
|
||||
// https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
// https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
// SPDX-License-Identifier: LGPL-3.0-only
|
||||
// End of Source File Header
|
||||
|
||||
#include "trace_replay_lease.hpp"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
// MobileGL - tools/wgl-smoke/glfw_smoke.cpp
|
||||
// Copyright (c) 2025-2026 MobileGL-Dev
|
||||
// Licensed under the GNU Lesser General Public License v3.0:
|
||||
// https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
// https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
// SPDX-License-Identifier: LGPL-3.0-only
|
||||
// End of Source File Header
|
||||
|
||||
// GLFW-driven smoke test: exercises the exact GLFW WGL bootstrap Minecraft uses
|
||||
// (helper-window dummy context, ARB pixel format, 3.2 core forward-compatible
|
||||
// no-error context) against the MobileGL opengl32.dll drop-in.
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
// MobileGL - tools/wgl-smoke/wgl_smoke.cpp
|
||||
// Copyright (c) 2025-2026 MobileGL-Dev
|
||||
// Licensed under the GNU Lesser General Public License v3.0:
|
||||
// https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
// https://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
// SPDX-License-Identifier: LGPL-3.0-only
|
||||
// End of Source File Header
|
||||
|
||||
// WGL smoke test for the MobileGL opengl32.dll drop-in.
|
||||
// Replicates GLFW 3.3.3's WGL bootstrap exactly as Minecraft 1.21.4 drives it:
|
||||
// 1. dummy window: gdi32 ChoosePixelFormat/SetPixelFormat -> wglCreateContext
|
||||
|
||||
Reference in New Issue
Block a user