From c4fb9397cb8173de41fb50c83c28c24df7a5cf09 Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Thu, 15 Oct 2026 08:40:52 -0400 Subject: [PATCH] [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 --- MobileGL/MG_Backend/DirectGLES/ContextEpoch.h | 8 ++++++++ MobileGL/MG_Backend/DirectGLES/WireTextureReadback.inc | 8 ++++++++ .../MG_Backend/DirectVulkan/Renderer/MagmaProgramSource.h | 8 ++++++++ .../MG_Backend/DirectVulkan/Renderer/UniformManager.cpp | 2 +- .../MG_Backend/DirectVulkan/Renderer/UniformManager.h | 2 +- .../MG_Backend/DirectVulkan/Renderer/WireColorBlit.inc | 8 ++++++++ .../MG_Backend/DirectVulkan/Renderer/WireColorBlitSpirv.h | 8 ++++++++ .../MG_Backend/DirectVulkan/Renderer/WireDepthMipmap.inc | 8 ++++++++ .../DirectVulkan/Renderer/WireDepthMipmapSpirv.h | 8 ++++++++ .../DirectVulkan/Renderer/WireDiscardStateProbeSpirv.h | 8 ++++++++ MobileGL/MG_Backend/DirectVulkan/Renderer/WireDraw.inc | 8 ++++++++ .../MG_Backend/DirectVulkan/Renderer/WireE5RawCopySpirv.h | 8 ++++++++ .../MG_Backend/DirectVulkan/Renderer/WireFramebuffer.inc | 8 ++++++++ .../DirectVulkan/Renderer/WireMultisampleResolve.inc | 8 ++++++++ .../DirectVulkan/Renderer/WireMultisampleResolveSpirv.h | 8 ++++++++ .../DirectVulkan/Renderer/WirePlaceholderImages.inc | 8 ++++++++ .../DirectVulkan/Renderer/WireRenderPassCompatibility.h | 8 ++++++++ .../DirectVulkan/Renderer/WireTextureReadback.inc | 8 ++++++++ .../DirectVulkan/Renderer/WireYuvConvertSpirv.h | 8 ++++++++ .../MG_Backend/DirectVulkan/Renderer/WireYuvImage.inc | 8 ++++++++ MobileGL/MG_Backend/DirectVulkan/VulkanRendererConfig.h | 2 +- MobileGL/MG_Impl/EGLImpl/EGLPlatformExtensions.h | 7 +++++++ MobileGL/MG_Impl/Pipe/Verb/TextureReadbackEmit.inc | 8 ++++++++ MobileGL/MG_IntegrationTest/Harness/split_log_paths.py | 8 ++++++++ .../MG_IntegrationTest/Harness/test_split_log_paths.py | 8 ++++++++ MobileGL/MG_IntegrationTest/Scenarios/F1WireScenario.cpp | 8 ++++++++ .../Scenarios/MagmaRunAheadScenario.cpp | 8 ++++++++ .../Scenarios/MagmaWireCacheScenario.cpp | 8 ++++++++ .../MG_IntegrationTest/Scenarios/SyncWireScenario.cpp | 8 ++++++++ MobileGL/MG_Pipe/PipeWireLayout.h | 8 ++++++++ MobileGL/MG_Remote/Client/QueryEmit.inc | 8 ++++++++ MobileGL/MG_Remote/Handshake.h | 8 ++++++++ MobileGL/MG_Remote/Server/EmbeddedServer.cpp | 7 +++++++ MobileGL/MG_Remote/Server/EmbeddedServer.h | 7 +++++++ MobileGL/MG_Remote/Server/QueryServer.inc | 8 ++++++++ MobileGL/MG_Remote/Server/ServerMain.cpp | 8 ++++++++ MobileGL/MG_Remote/Transport/ControlInbox.cpp | 8 ++++++++ MobileGL/MG_Remote/Transport/ControlInbox.h | 8 ++++++++ MobileGL/MG_Remote/Transport/LinkMetrics.cpp | 7 +++++++ MobileGL/MG_Remote/Transport/LinkMetrics.h | 8 ++++++++ MobileGL/MG_Remote/Transport/ShmLink.cpp | 7 +++++++ MobileGL/MG_Remote/Transport/ShmLink.h | 7 +++++++ MobileGL/MG_Remote/Transport/StreamLink.cpp | 7 +++++++ MobileGL/MG_Remote/Transport/StreamLink.h | 7 +++++++ MobileGL/MG_Test/Backend/DirectGLES/ContextEpochTest.cpp | 8 ++++++++ MobileGL/MG_Test/EGLState/EGLStateTest.cpp | 8 ++++++++ MobileGL/MG_Test/EGLState/FrameThrottleTest.cpp | 8 ++++++++ MobileGL/MG_Test/Wire/InitialCapsStartupTest.cpp | 7 +++++++ MobileGL/MG_Test/Wire/PeerLossProbe.cpp | 7 +++++++ MobileGL/MG_Test/Wire/RemoteClientAdoptT0.inc | 8 ++++++++ MobileGL/MG_Test/Wire/RemoteClientControls.inc | 8 ++++++++ MobileGL/MG_Test/Wire/RemoteClientE1Controls.inc | 8 ++++++++ MobileGL/MG_Test/Wire/StreamClientPublicationTest.cpp | 7 +++++++ MobileGL/MG_Test/Wire/StreamLinkTest.cpp | 7 +++++++ MobileGL/MG_Test/Wire/c1f_redcheck.py | 8 ++++++++ scripts/ci/census_junit.py | 8 ++++++++ scripts/ci/espryt_memo_purity.py | 8 ++++++++ scripts/ci/fatal_census.py | 8 ++++++++ scripts/ci/junit_annotate.py | 8 ++++++++ scripts/ci/junit_tally.py | 8 ++++++++ scripts/ci/link_seam_purity.py | 8 ++++++++ scripts/ci/magma_cache_checks.py | 8 ++++++++ scripts/ci/magma_runahead_checks.py | 8 ++++++++ scripts/ci/p65_link_metrics.py | 8 ++++++++ scripts/ci/ph_fuzz_control_frames.py | 8 ++++++++ scripts/ci/ph_latch_sites.py | 8 ++++++++ scripts/ci/prepare_test_runtime.py | 8 ++++++++ scripts/ci/protocol_revision_pin.py | 8 ++++++++ scripts/ci/retired_switches.py | 8 ++++++++ scripts/ci/runtime_mode_proof.py | 8 ++++++++ scripts/ci/select_test_runner.py | 8 ++++++++ scripts/ci/server_link_check.py | 8 ++++++++ scripts/ci/skip_census.py | 8 ++++++++ scripts/ci/spawn_lane_parity.py | 8 ++++++++ scripts/ci/split_coverage.py | 8 ++++++++ scripts/ci/tcp_lane_tools_test.py | 8 ++++++++ scripts/ci/tcp_log_forwarding_control.py | 8 ++++++++ scripts/ci/tcp_server_fixture.py | 8 ++++++++ scripts/ci/tcp_supervisor_smoke.py | 8 ++++++++ scripts/ci/test_prepare_test_runtime.py | 8 ++++++++ scripts/ci/test_select_test_runner.py | 8 ++++++++ scripts/ci/test_trace_infrastructure.py | 8 ++++++++ scripts/ci/unmigrated_emulation_sites.py | 8 ++++++++ scripts/ci/wait_boundary_negative_control.py | 8 ++++++++ scripts/ci/wire_declines_audit.py | 8 ++++++++ scripts/gen_protocol.py | 8 ++++++++ tools/cts/probe/mgprobe.c | 8 ++++++++ tools/cts/scripts/cts_matrix_report.py | 8 ++++++++ tools/cts/scripts/cts_multi_report.py | 8 ++++++++ tools/cts/scripts/qpa_report.py | 8 ++++++++ tools/cts/scripts/run_cts.py | 8 ++++++++ tools/cts/scripts/run_cts_local.py | 8 ++++++++ tools/cts/scripts/run_cts_windows.py | 8 ++++++++ tools/cts/scripts/sync_to_cts.py | 8 ++++++++ tools/cts/scripts/test_cts_matrix_report.py | 8 ++++++++ tools/cts/scripts/test_cts_multi_report.py | 8 ++++++++ tools/cts/scripts/test_run_cts_windows.py | 8 ++++++++ tools/cts/scripts/test_wgl_glcts_pipeline.py | 8 ++++++++ tools/cts/scripts/wgl_glcts_pipeline.py | 8 ++++++++ tools/device_bench/anland_glmark2/callers.py | 8 ++++++++ tools/device_bench/anland_glmark2/incl.py | 8 ++++++++ tools/device_bench/anland_glmark2/mktables.py | 8 ++++++++ tools/device_bench/anland_glmark2/offcpu.py | 8 ++++++++ tools/device_bench/anland_glmark2/pbparse.py | 8 ++++++++ tools/device_bench/anland_glmark2/symagg.py | 8 ++++++++ tools/device_bench/anland_glmark2/timeline.py | 8 ++++++++ tools/device_bench/disagg/callee_split.py | 8 ++++++++ tools/device_bench/disagg/components.py | 8 ++++++++ tools/device_bench/disagg/cpusampler.c | 8 ++++++++ tools/device_bench/disagg/crosshost_report.py | 8 ++++++++ tools/device_bench/disagg/fcl_drvcaller.py | 8 ++++++++ tools/device_bench/disagg/fcl_incl.py | 8 ++++++++ tools/device_bench/disagg/fcl_split.py | 8 ++++++++ tools/device_bench/disagg/fcl_stacks.py | 8 ++++++++ tools/device_bench/disagg/freqcheck.py | 8 ++++++++ tools/device_bench/disagg/layers.py | 8 ++++++++ tools/device_bench/disagg/make_report.py | 8 ++++++++ tools/device_bench/disagg/offwait.py | 8 ++++++++ tools/device_bench/disagg/p14_report.py | 8 ++++++++ tools/device_bench/disagg/sampler.c | 8 ++++++++ tools/device_bench/disagg/sfalign.py | 8 ++++++++ tools/device_bench/disagg/slices.py | 8 ++++++++ tools/device_bench/disagg/snapdiff.py | 8 ++++++++ tools/device_bench/magma_runahead/run_fcl_arm.py | 8 ++++++++ tools/device_bench/p5f/P5fPublicMipmapScenario.cpp | 8 ++++++++ tools/device_bench/p5f/verify_arm.py | 8 ++++++++ tools/device_bench/p6/ab_session.py | 8 ++++++++ tools/device_bench/p6/render_ab.py | 8 ++++++++ tools/spikes/extmem_probe/extmem_probe.cpp | 8 ++++++++ tools/spikes/server_stub/main.cpp | 8 ++++++++ tools/trace_replay/benchmark_tcp_credits.py | 8 ++++++++ tools/trace_replay/compare_actuals.py | 8 ++++++++ .../trace_replay/fixture_tools/realign_buffer_ranges.cpp | 8 ++++++++ tools/trace_replay/frame_stats.py | 8 ++++++++ tools/trace_replay/macos_cgs_surface_bounds.cpp | 8 ++++++++ tools/trace_replay/measure_loopback_cpu.py | 8 ++++++++ tools/trace_replay/measure_tcp_stage_burst.py | 8 ++++++++ tools/trace_replay/measure_transport_cpu.py | 8 ++++++++ tools/trace_replay/paired_tcp_benchmark.py | 8 ++++++++ tools/trace_replay/run_android_retrace_local.py | 8 ++++++++ tools/trace_replay/run_macos_window_retrace_local.py | 8 ++++++++ tools/trace_replay/run_tcp_matrix.py | 8 ++++++++ .../scripts/capture_android_retrace.py | 8 ++++++++ .../scripts/queue_android_frame.py | 8 ++++++++ .../scripts/adb_capture.py | 8 ++++++++ .../scripts/build_android_egltrace.py | 8 ++++++++ .../scripts/package_capture_fixture.py | 8 ++++++++ tools/trace_replay/tcp_device_server.py | 8 ++++++++ tools/trace_replay/test_android_lifecycle.py | 8 ++++++++ tools/trace_replay/test_benchmark_tcp_credits.py | 8 ++++++++ tools/trace_replay/test_compare_actuals.py | 8 ++++++++ tools/trace_replay/test_frame_stats.py | 8 ++++++++ tools/trace_replay/test_run_tcp_matrix.py | 8 ++++++++ tools/trace_replay/trace_cases.py | 8 ++++++++ tools/trace_replay/trace_env_overrides_test.cpp | 8 ++++++++ tools/trace_replay/trace_replay_cli.cpp | 8 ++++++++ tools/trace_replay/trace_replay_lease_test.cpp | 8 ++++++++ tools/wgl-smoke/glfw_smoke.cpp | 8 ++++++++ tools/wgl-smoke/wgl_smoke.cpp | 8 ++++++++ 159 files changed, 1239 insertions(+), 3 deletions(-) diff --git a/MobileGL/MG_Backend/DirectGLES/ContextEpoch.h b/MobileGL/MG_Backend/DirectGLES/ContextEpoch.h index 4b5fd3f4..200a09fd 100644 --- a/MobileGL/MG_Backend/DirectGLES/ContextEpoch.h +++ b/MobileGL/MG_Backend/DirectGLES/ContextEpoch.h @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectGLES/ContextEpoch.h +// 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 + // MobileGL - DirectGLES context-owned static state identities (P5f fs). #pragma once diff --git a/MobileGL/MG_Backend/DirectGLES/WireTextureReadback.inc b/MobileGL/MG_Backend/DirectGLES/WireTextureReadback.inc index 2afc9fd4..45a3f914 100644 --- a/MobileGL/MG_Backend/DirectGLES/WireTextureReadback.inc +++ b/MobileGL/MG_Backend/DirectGLES/WireTextureReadback.inc @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectGLES/WireTextureReadback.inc +// 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 + // Included in DirectGLES.cpp after the native packed-word readback helper. // A storage promotion needs the driver's own texels as owned tight rows, not // client PACK layout or a fallback into a frontend texture's potentially stale diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/MagmaProgramSource.h b/MobileGL/MG_Backend/DirectVulkan/Renderer/MagmaProgramSource.h index b70d43bf..981cbe4f 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/MagmaProgramSource.h +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/MagmaProgramSource.h @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/MagmaProgramSource.h +// 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 + // MobileGL - server-owned program input for Magma (P5f fm). #pragma once diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/UniformManager.cpp b/MobileGL/MG_Backend/DirectVulkan/Renderer/UniformManager.cpp index acdb4c93..3951960f 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/UniformManager.cpp +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/UniformManager.cpp @@ -1,4 +1,4 @@ -// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/UniformDescriptorBinder.cpp +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/UniformManager.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 diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/UniformManager.h b/MobileGL/MG_Backend/DirectVulkan/Renderer/UniformManager.h index 8c01cbdf..7d802726 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/UniformManager.h +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/UniformManager.h @@ -1,4 +1,4 @@ -// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/UniformDescriptorBinder.h +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/UniformManager.h // 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 diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireColorBlit.inc b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireColorBlit.inc index 5e9b22d7..470d259b 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireColorBlit.inc +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireColorBlit.inc @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireColorBlit.inc +// 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 + // Included by VulkanRenderer.cpp inside the backend namespace, after WireFramebuffer.inc. // The native blit owns no frontend object and never invokes the GL shader compiler. #include "WireColorBlitSpirv.h" diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireColorBlitSpirv.h b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireColorBlitSpirv.h index 4101df5e..1ca4d4ea 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireColorBlitSpirv.h +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireColorBlitSpirv.h @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireColorBlitSpirv.h +// 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 + // Generated from WireColorBlit.vert / WireColorBlit.frag (Vulkan 1.0 / SPIR-V 1.0) by // scripts/bake_internal_shaders.py, which runs MG_Test's BakedInternalShadersTest with the // IN-TREE glslang and splices the words it emits into the arrays below. Do not edit the words diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDepthMipmap.inc b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDepthMipmap.inc index 46179afc..3f3184f0 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDepthMipmap.inc +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDepthMipmap.inc @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireDepthMipmap.inc +// 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 + // Included by VulkanRenderer.cpp inside the backend namespace, after WireColorBlit.inc. // The native depth mip owns no frontend object and never invokes the GL shader compiler. // diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDepthMipmapSpirv.h b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDepthMipmapSpirv.h index 1c43c9c3..3b0cc3d9 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDepthMipmapSpirv.h +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDepthMipmapSpirv.h @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireDepthMipmapSpirv.h +// 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 + // Generated from WireDepthMipmap.vert / WireDepthMipmap.frag by // scripts/bake_internal_shaders.py, which runs MG_Test's BakedInternalShadersTest with the // IN-TREE glslang and splices the words it emits into the arrays below. Do not edit the diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDiscardStateProbeSpirv.h b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDiscardStateProbeSpirv.h index d33d5343..8020ca1d 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDiscardStateProbeSpirv.h +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDiscardStateProbeSpirv.h @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireDiscardStateProbeSpirv.h +// 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 + // Generated from WireDiscardStateProbe.vert / WireDiscardStateProbe.frag (Vulkan 1.0 / SPIR-V 1.0) by // scripts/bake_internal_shaders.py, which runs MG_Test's BakedInternalShadersTest with the IN-TREE // glslang and splices the words it emits into the arrays below. Do not edit the words by hand: diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDraw.inc b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDraw.inc index 1ab70ae1..a26e590a 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDraw.inc +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireDraw.inc @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireDraw.inc +// 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 + // Server-owned draw/dispatch setup. The legacy setup remains the monolith implementation. static MagmaProgramSource WireProgramSource(MG_Pipe::MGPipeHandle handle) { auto& state = MG_Pipe::MGPipeApplier(); diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireE5RawCopySpirv.h b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireE5RawCopySpirv.h index 3076c049..35ee32fc 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireE5RawCopySpirv.h +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireE5RawCopySpirv.h @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireE5RawCopySpirv.h +// 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 + // Generated from WireE5RawCopy.comp / WireE5RawCopy3D.comp (Vulkan 1.0 / SPIR-V 1.0) by // scripts/bake_internal_shaders.py, which runs MG_Test's BakedInternalShadersTest with the // IN-TREE glslang and splices the words it emits into the arrays below. Do not edit the words diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireFramebuffer.inc b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireFramebuffer.inc index 9efe6db1..f60ece59 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireFramebuffer.inc +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireFramebuffer.inc @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireFramebuffer.inc +// 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 + // P5f fm: included by VulkanRenderer.cpp inside the backend namespace. All inputs here // belong to the applier; no frontend object, lifetime-id lookup or allocator is used. // P7 wave 0. THE MESSAGE IS UNCHANGED; where it goes is not. This funnel is how eleven of diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireMultisampleResolve.inc b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireMultisampleResolve.inc index b5c3e161..1a8e2049 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireMultisampleResolve.inc +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireMultisampleResolve.inc @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireMultisampleResolve.inc +// 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 + // Included by VulkanRenderer.cpp inside the backend namespace, after WireDepthMipmap.inc. // The native multisample depth/stencil resolve owns no frontend object and never invokes the // GL shader compiler. diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireMultisampleResolveSpirv.h b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireMultisampleResolveSpirv.h index 9b3b27bc..8a5c90ea 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireMultisampleResolveSpirv.h +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireMultisampleResolveSpirv.h @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireMultisampleResolveSpirv.h +// 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 + // Generated from WireMultisampleResolve.vert / WireMultisampleDepthResolve.frag / // WireMultisampleStencilResolve.frag by scripts/bake_internal_shaders.py, which runs MG_Test's // BakedInternalShadersTest with the IN-TREE glslang and splices the words it emits into the diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WirePlaceholderImages.inc b/MobileGL/MG_Backend/DirectVulkan/Renderer/WirePlaceholderImages.inc index 527ec0e3..3a424af9 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WirePlaceholderImages.inc +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WirePlaceholderImages.inc @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WirePlaceholderImages.inc +// 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 + // UniformManager-owned native descriptors for wire bindings with no image. // No GL object is constructed or inserted into the client's resource namespace. void UniformManager::DestroyWirePlaceholderImage(WirePlaceholderImage& image) const { diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireRenderPassCompatibility.h b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireRenderPassCompatibility.h index 08131141..bbdd5154 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireRenderPassCompatibility.h +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireRenderPassCompatibility.h @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireRenderPassCompatibility.h +// 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 + #pragma once #include #include "../VkIncludes.h" diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireTextureReadback.inc b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireTextureReadback.inc index cd76b258..8efcb4f4 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireTextureReadback.inc +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireTextureReadback.inc @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireTextureReadback.inc +// 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 + // Server-owned texture readback. Included after WireFramebuffer.inc so image // layout tracking and frame retirement are the same as every other wire verb. static Bool PackWireColorTight(const Uint8* source, SizeT sourceBytes, VkFormat format, diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireYuvConvertSpirv.h b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireYuvConvertSpirv.h index 3004ca35..ccff2eee 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireYuvConvertSpirv.h +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireYuvConvertSpirv.h @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireYuvConvertSpirv.h +// 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 + // Generated from WireYuvConvert.vert / WireYuvConvert.frag (Vulkan 1.0 / SPIR-V 1.0) by // scripts/bake_internal_shaders.py, which runs MG_Test's BakedInternalShadersTest with the // IN-TREE glslang and splices the words it emits into the arrays below. Do not edit the words diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireYuvImage.inc b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireYuvImage.inc index 9ce9e3a4..57f6d5a0 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/WireYuvImage.inc +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/WireYuvImage.inc @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireYuvImage.inc +// 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 + // Included by VulkanRenderer.cpp inside the backend namespace, after WireSharedImage.inc. // // YUV SHARED IMAGES (NV12, P010; MG_Remote/Server/SharedImageYuv.h). A YUV image is never a diff --git a/MobileGL/MG_Backend/DirectVulkan/VulkanRendererConfig.h b/MobileGL/MG_Backend/DirectVulkan/VulkanRendererConfig.h index 27e6975d..75782f1e 100644 --- a/MobileGL/MG_Backend/DirectVulkan/VulkanRendererConfig.h +++ b/MobileGL/MG_Backend/DirectVulkan/VulkanRendererConfig.h @@ -1,4 +1,4 @@ -// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/VulkanRendererConfig.h +// MobileGL - MobileGL/MG_Backend/DirectVulkan/VulkanRendererConfig.h // 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 diff --git a/MobileGL/MG_Impl/EGLImpl/EGLPlatformExtensions.h b/MobileGL/MG_Impl/EGLImpl/EGLPlatformExtensions.h index 2b776f67..6b6929ed 100644 --- a/MobileGL/MG_Impl/EGLImpl/EGLPlatformExtensions.h +++ b/MobileGL/MG_Impl/EGLImpl/EGLPlatformExtensions.h @@ -1,4 +1,11 @@ +// MobileGL - MobileGL/MG_Impl/EGLImpl/EGLPlatformExtensions.h +// 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 + #pragma once namespace MobileGL::MG_Impl::EGLImpl { diff --git a/MobileGL/MG_Impl/Pipe/Verb/TextureReadbackEmit.inc b/MobileGL/MG_Impl/Pipe/Verb/TextureReadbackEmit.inc index 8556fb4d..55a69692 100644 --- a/MobileGL/MG_Impl/Pipe/Verb/TextureReadbackEmit.inc +++ b/MobileGL/MG_Impl/Pipe/Verb/TextureReadbackEmit.inc @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Impl/Pipe/Verb/TextureReadbackEmit.inc +// 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 + // Included in VerbPort.cpp's anonymous namespace (P13 W5: moved from MG_Remote/Client). // The server returns owned tight pixels. Only the client interprets PACK state // and application pointers. A pack-buffer destination (P9) is answered by nothing: the diff --git a/MobileGL/MG_IntegrationTest/Harness/split_log_paths.py b/MobileGL/MG_IntegrationTest/Harness/split_log_paths.py index c668f0ac..064c2762 100644 --- a/MobileGL/MG_IntegrationTest/Harness/split_log_paths.py +++ b/MobileGL/MG_IntegrationTest/Harness/split_log_paths.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - MobileGL/MG_IntegrationTest/Harness/split_log_paths.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 + """Validate discovered Split log ownership; read only freshly reset control logs.""" import os import json diff --git a/MobileGL/MG_IntegrationTest/Harness/test_split_log_paths.py b/MobileGL/MG_IntegrationTest/Harness/test_split_log_paths.py index bb831239..948793a2 100644 --- a/MobileGL/MG_IntegrationTest/Harness/test_split_log_paths.py +++ b/MobileGL/MG_IntegrationTest/Harness/test_split_log_paths.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - MobileGL/MG_IntegrationTest/Harness/test_split_log_paths.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 + """Regression controls for complete, non-vacuous P5f result accounting.""" import contextlib import importlib.util diff --git a/MobileGL/MG_IntegrationTest/Scenarios/F1WireScenario.cpp b/MobileGL/MG_IntegrationTest/Scenarios/F1WireScenario.cpp index 1a37cde0..96669c67 100644 --- a/MobileGL/MG_IntegrationTest/Scenarios/F1WireScenario.cpp +++ b/MobileGL/MG_IntegrationTest/Scenarios/F1WireScenario.cpp @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_IntegrationTest/Scenarios/F1WireScenario.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 + // f1 split-only pixel controls: every result depends on the migrated verb. #include "../Harness/ScenarioFixture.h" #include "../Harness/SplitRuntimePeek.h" diff --git a/MobileGL/MG_IntegrationTest/Scenarios/MagmaRunAheadScenario.cpp b/MobileGL/MG_IntegrationTest/Scenarios/MagmaRunAheadScenario.cpp index 74ac00b1..0e7dee30 100644 --- a/MobileGL/MG_IntegrationTest/Scenarios/MagmaRunAheadScenario.cpp +++ b/MobileGL/MG_IntegrationTest/Scenarios/MagmaRunAheadScenario.cpp @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_IntegrationTest/Scenarios/MagmaRunAheadScenario.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 + // Real Magma run-ahead: observe client lead over an actually held apply thread, // then verify GPU pixels/bytes. The scheduling hook never changes a watermark. #include "../Harness/ScenarioFixture.h" diff --git a/MobileGL/MG_IntegrationTest/Scenarios/MagmaWireCacheScenario.cpp b/MobileGL/MG_IntegrationTest/Scenarios/MagmaWireCacheScenario.cpp index 3d312341..37bec058 100644 --- a/MobileGL/MG_IntegrationTest/Scenarios/MagmaWireCacheScenario.cpp +++ b/MobileGL/MG_IntegrationTest/Scenarios/MagmaWireCacheScenario.cpp @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_IntegrationTest/Scenarios/MagmaWireCacheScenario.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 + // Wire view/framebuffer caches must preserve public GL state transitions. All // draws in each case precede its first readback: no Finish/Present can retire an // old view between A -> B -> A or hide an allocation change from an in-flight draw. diff --git a/MobileGL/MG_IntegrationTest/Scenarios/SyncWireScenario.cpp b/MobileGL/MG_IntegrationTest/Scenarios/SyncWireScenario.cpp index 4dec9bf5..f7146feb 100644 --- a/MobileGL/MG_IntegrationTest/Scenarios/SyncWireScenario.cpp +++ b/MobileGL/MG_IntegrationTest/Scenarios/SyncWireScenario.cpp @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_IntegrationTest/Scenarios/SyncWireScenario.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 + // P5b sync migration: a real fence and reply cross the apply thread. #include "../Harness/ScenarioFixture.h" #include "../Harness/SplitRuntimePeek.h" diff --git a/MobileGL/MG_Pipe/PipeWireLayout.h b/MobileGL/MG_Pipe/PipeWireLayout.h index acd9d677..98005cc1 100644 --- a/MobileGL/MG_Pipe/PipeWireLayout.h +++ b/MobileGL/MG_Pipe/PipeWireLayout.h @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Pipe/PipeWireLayout.h +// 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 + // MobileGL - P6.5 wire compatibility facts. Generated member coverage is checked by gen_pipe.py. #pragma once #include "MGPipe.h" diff --git a/MobileGL/MG_Remote/Client/QueryEmit.inc b/MobileGL/MG_Remote/Client/QueryEmit.inc index a43da37d..e79eff2d 100644 --- a/MobileGL/MG_Remote/Client/QueryEmit.inc +++ b/MobileGL/MG_Remote/Client/QueryEmit.inc @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Remote/Client/QueryEmit.inc +// 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 + // Opaque local proxies carry only {slot, generation, target} across the wire. // Epoch: the session the query was created on. A query of an ENDED session (a recovered // device loss) names nothing on the current server: it answers "no result yet", and its diff --git a/MobileGL/MG_Remote/Handshake.h b/MobileGL/MG_Remote/Handshake.h index 4335dfdc..552476d6 100644 --- a/MobileGL/MG_Remote/Handshake.h +++ b/MobileGL/MG_Remote/Handshake.h @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Remote/Handshake.h +// 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 + // P6.5 handshake policy, shared by both roles. Rejections are returned, never aborted. #pragma once #include "CapsCodec.h" diff --git a/MobileGL/MG_Remote/Server/EmbeddedServer.cpp b/MobileGL/MG_Remote/Server/EmbeddedServer.cpp index ef7e0df5..86a2af9f 100644 --- a/MobileGL/MG_Remote/Server/EmbeddedServer.cpp +++ b/MobileGL/MG_Remote/Server/EmbeddedServer.cpp @@ -1,4 +1,11 @@ +// MobileGL - MobileGL/MG_Remote/Server/EmbeddedServer.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 "EmbeddedServer.h" #include "ServerDisplay.h" diff --git a/MobileGL/MG_Remote/Server/EmbeddedServer.h b/MobileGL/MG_Remote/Server/EmbeddedServer.h index 27c46473..71b6bb79 100644 --- a/MobileGL/MG_Remote/Server/EmbeddedServer.h +++ b/MobileGL/MG_Remote/Server/EmbeddedServer.h @@ -1,4 +1,11 @@ +// MobileGL - MobileGL/MG_Remote/Server/EmbeddedServer.h +// 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 + // Public C interface for an application that owns a MobileGL split server. #pragma once diff --git a/MobileGL/MG_Remote/Server/QueryServer.inc b/MobileGL/MG_Remote/Server/QueryServer.inc index 3bc92448..3f19fb7a 100644 --- a/MobileGL/MG_Remote/Server/QueryServer.inc +++ b/MobileGL/MG_Remote/Server/QueryServer.inc @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Remote/Server/QueryServer.inc +// 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 + // Server-owned query identities and actual backend query/fence results. ServerVerbSink::QueryEntry& ServerVerbSink::FindQuery(MG_Pipe::MGPipeHandle handle) { const auto found = m_queries.find(handle.Slot); diff --git a/MobileGL/MG_Remote/Server/ServerMain.cpp b/MobileGL/MG_Remote/Server/ServerMain.cpp index 6c20885c..2bbe22e5 100644 --- a/MobileGL/MG_Remote/Server/ServerMain.cpp +++ b/MobileGL/MG_Remote/Server/ServerMain.cpp @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Remote/Server/ServerMain.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 + // MobileGL - separate-process server and TCP session supervisor. // SPDX-License-Identifier: LGPL-3.0-only #include "../Transport/Doorbell.h" diff --git a/MobileGL/MG_Remote/Transport/ControlInbox.cpp b/MobileGL/MG_Remote/Transport/ControlInbox.cpp index 79f62c18..41dff142 100644 --- a/MobileGL/MG_Remote/Transport/ControlInbox.cpp +++ b/MobileGL/MG_Remote/Transport/ControlInbox.cpp @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Remote/Transport/ControlInbox.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 "ControlInbox.h" #include "Doorbell.h" #include "LogForward.h" diff --git a/MobileGL/MG_Remote/Transport/ControlInbox.h b/MobileGL/MG_Remote/Transport/ControlInbox.h index a054efc9..e2f6fea9 100644 --- a/MobileGL/MG_Remote/Transport/ControlInbox.h +++ b/MobileGL/MG_Remote/Transport/ControlInbox.h @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Remote/Transport/ControlInbox.h +// 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 + #pragma once #include "ITransport.h" diff --git a/MobileGL/MG_Remote/Transport/LinkMetrics.cpp b/MobileGL/MG_Remote/Transport/LinkMetrics.cpp index 12f690da..d714ed76 100644 --- a/MobileGL/MG_Remote/Transport/LinkMetrics.cpp +++ b/MobileGL/MG_Remote/Transport/LinkMetrics.cpp @@ -1,4 +1,11 @@ +// MobileGL - MobileGL/MG_Remote/Transport/LinkMetrics.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 "LinkMetrics.h" #include #include diff --git a/MobileGL/MG_Remote/Transport/LinkMetrics.h b/MobileGL/MG_Remote/Transport/LinkMetrics.h index 573b5505..423ad92d 100644 --- a/MobileGL/MG_Remote/Transport/LinkMetrics.h +++ b/MobileGL/MG_Remote/Transport/LinkMetrics.h @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Remote/Transport/LinkMetrics.h +// 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 + // P6.5 transport measurements. The Window state is written only by the single client // producer; the socket-io counters drained by LinkMetricsTakeReadStats/TakeSendStats are // atomic and cross-thread (io thread writes, apply/client thread reads) - see below. diff --git a/MobileGL/MG_Remote/Transport/ShmLink.cpp b/MobileGL/MG_Remote/Transport/ShmLink.cpp index 3cf6bfbd..ed3dcfb7 100644 --- a/MobileGL/MG_Remote/Transport/ShmLink.cpp +++ b/MobileGL/MG_Remote/Transport/ShmLink.cpp @@ -1,4 +1,11 @@ +// MobileGL - MobileGL/MG_Remote/Transport/ShmLink.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 "ShmLink.h" namespace MobileGL::MG_Remote::Transport { LinkSignals ILink::Signals() { diff --git a/MobileGL/MG_Remote/Transport/ShmLink.h b/MobileGL/MG_Remote/Transport/ShmLink.h index 5d6502ea..b609fcc4 100644 --- a/MobileGL/MG_Remote/Transport/ShmLink.h +++ b/MobileGL/MG_Remote/Transport/ShmLink.h @@ -1,4 +1,11 @@ +// MobileGL - MobileGL/MG_Remote/Transport/ShmLink.h +// 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 + #pragma once #include "ILink.h" #include "SessionRings.h" diff --git a/MobileGL/MG_Remote/Transport/StreamLink.cpp b/MobileGL/MG_Remote/Transport/StreamLink.cpp index 1f2f5b8b..85020567 100644 --- a/MobileGL/MG_Remote/Transport/StreamLink.cpp +++ b/MobileGL/MG_Remote/Transport/StreamLink.cpp @@ -1,4 +1,11 @@ +// MobileGL - MobileGL/MG_Remote/Transport/StreamLink.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 "StreamLink.h" #include "SessionRings.h" #include "ShmLink.h" diff --git a/MobileGL/MG_Remote/Transport/StreamLink.h b/MobileGL/MG_Remote/Transport/StreamLink.h index 8fba8885..9d142b99 100644 --- a/MobileGL/MG_Remote/Transport/StreamLink.h +++ b/MobileGL/MG_Remote/Transport/StreamLink.h @@ -1,4 +1,11 @@ +// MobileGL - MobileGL/MG_Remote/Transport/StreamLink.h +// 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 + #pragma once #include "ILink.h" #include diff --git a/MobileGL/MG_Test/Backend/DirectGLES/ContextEpochTest.cpp b/MobileGL/MG_Test/Backend/DirectGLES/ContextEpochTest.cpp index f45a9e34..3c3989f5 100644 --- a/MobileGL/MG_Test/Backend/DirectGLES/ContextEpochTest.cpp +++ b/MobileGL/MG_Test/Backend/DirectGLES/ContextEpochTest.cpp @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Test/Backend/DirectGLES/ContextEpochTest.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 + // MobileGL - P5f fs production-state epoch regression tests. #include #include diff --git a/MobileGL/MG_Test/EGLState/EGLStateTest.cpp b/MobileGL/MG_Test/EGLState/EGLStateTest.cpp index 875c7eb2..99ea664a 100644 --- a/MobileGL/MG_Test/EGLState/EGLStateTest.cpp +++ b/MobileGL/MG_Test/EGLState/EGLStateTest.cpp @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Test/EGLState/EGLStateTest.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 #include #include diff --git a/MobileGL/MG_Test/EGLState/FrameThrottleTest.cpp b/MobileGL/MG_Test/EGLState/FrameThrottleTest.cpp index a0a0ae41..c7c9e705 100644 --- a/MobileGL/MG_Test/EGLState/FrameThrottleTest.cpp +++ b/MobileGL/MG_Test/EGLState/FrameThrottleTest.cpp @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Test/EGLState/FrameThrottleTest.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 #include #include diff --git a/MobileGL/MG_Test/Wire/InitialCapsStartupTest.cpp b/MobileGL/MG_Test/Wire/InitialCapsStartupTest.cpp index 7bfeaeb6..4116979f 100644 --- a/MobileGL/MG_Test/Wire/InitialCapsStartupTest.cpp +++ b/MobileGL/MG_Test/Wire/InitialCapsStartupTest.cpp @@ -1,4 +1,11 @@ +// MobileGL - MobileGL/MG_Test/Wire/InitialCapsStartupTest.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 + // Starts at the post-Welcome boundary with real TCP endpoints and ControlInbox. // The peer publishes real CapsSnapshot bytes; no private run-ahead flag is set. #include diff --git a/MobileGL/MG_Test/Wire/PeerLossProbe.cpp b/MobileGL/MG_Test/Wire/PeerLossProbe.cpp index ecdce853..7bbc0b75 100644 --- a/MobileGL/MG_Test/Wire/PeerLossProbe.cpp +++ b/MobileGL/MG_Test/Wire/PeerLossProbe.cpp @@ -1,4 +1,11 @@ +// MobileGL - MobileGL/MG_Test/Wire/PeerLossProbe.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 + // Manual P6.5 S2/half-open probe. Never registered as a device-less unit test. #include #include diff --git a/MobileGL/MG_Test/Wire/RemoteClientAdoptT0.inc b/MobileGL/MG_Test/Wire/RemoteClientAdoptT0.inc index 7e39191b..ff7e48ee 100644 --- a/MobileGL/MG_Test/Wire/RemoteClientAdoptT0.inc +++ b/MobileGL/MG_Test/Wire/RemoteClientAdoptT0.inc @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Test/Wire/RemoteClientAdoptT0.inc +// 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 + // P11 B2 (MG_Remote/CONTRACT-P11.md B2): T0'S PROTOCOL ON THE HOST, over a live inproc session. // // A host has no AHardwareBuffer, so what these prove is the protocol, the negotiation and the diff --git a/MobileGL/MG_Test/Wire/RemoteClientControls.inc b/MobileGL/MG_Test/Wire/RemoteClientControls.inc index f4257e2f..32bd1bfa 100644 --- a/MobileGL/MG_Test/Wire/RemoteClientControls.inc +++ b/MobileGL/MG_Test/Wire/RemoteClientControls.inc @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Test/Wire/RemoteClientControls.inc +// 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 + // c1f: exercise installed client producers over a live inproc session. // Peer substitutions supply adversarial INPUTS, never client state being asserted. #if MGTEST_HAVE_FORK diff --git a/MobileGL/MG_Test/Wire/RemoteClientE1Controls.inc b/MobileGL/MG_Test/Wire/RemoteClientE1Controls.inc index 54236f74..682bae30 100644 --- a/MobileGL/MG_Test/Wire/RemoteClientE1Controls.inc +++ b/MobileGL/MG_Test/Wire/RemoteClientE1Controls.inc @@ -1,3 +1,11 @@ +// MobileGL - MobileGL/MG_Test/Wire/RemoteClientE1Controls.inc +// 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 + // E1: real transport wait boundaries, with a peer that cannot complete until // either the client parks or its emission has already returned. No GPU or // scheduling-delay assumption decides whether the wait was observed. diff --git a/MobileGL/MG_Test/Wire/StreamClientPublicationTest.cpp b/MobileGL/MG_Test/Wire/StreamClientPublicationTest.cpp index 2d57b77a..4391e77a 100644 --- a/MobileGL/MG_Test/Wire/StreamClientPublicationTest.cpp +++ b/MobileGL/MG_Test/Wire/StreamClientPublicationTest.cpp @@ -1,4 +1,11 @@ +// MobileGL - MobileGL/MG_Test/Wire/StreamClientPublicationTest.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 + // Production session submission with a real stream reader and a deliberately // non-applying peer. A passing test cannot be supplied by a later client wait. #include diff --git a/MobileGL/MG_Test/Wire/StreamLinkTest.cpp b/MobileGL/MG_Test/Wire/StreamLinkTest.cpp index c4f17a73..95aac244 100644 --- a/MobileGL/MG_Test/Wire/StreamLinkTest.cpp +++ b/MobileGL/MG_Test/Wire/StreamLinkTest.cpp @@ -1,4 +1,11 @@ +// MobileGL - MobileGL/MG_Test/Wire/StreamLinkTest.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 #include #include diff --git a/MobileGL/MG_Test/Wire/c1f_redcheck.py b/MobileGL/MG_Test/Wire/c1f_redcheck.py index fe6e96ed..2926db4f 100644 --- a/MobileGL/MG_Test/Wire/c1f_redcheck.py +++ b/MobileGL/MG_Test/Wire/c1f_redcheck.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - MobileGL/MG_Test/Wire/c1f_redcheck.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 + """c1f mutation gates. Run from the worktree, links ON, after building split. Every mutation must compile, fail its named test, then restore/build/pass that test. No git operation, server source edit, or unrelated failure is accepted as red. diff --git a/scripts/ci/census_junit.py b/scripts/ci/census_junit.py index 2518780d..ab407f25 100644 --- a/scripts/ci/census_junit.py +++ b/scripts/ci/census_junit.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/census_junit.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 + """Summarize the indebted broad lane without turning debt into a hard gate.""" import collections import sys diff --git a/scripts/ci/espryt_memo_purity.py b/scripts/ci/espryt_memo_purity.py index 16174a92..4debeee1 100644 --- a/scripts/ci/espryt_memo_purity.py +++ b/scripts/ci/espryt_memo_purity.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/espryt_memo_purity.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 + """P3b/P4b Espryt memo re-keying, with explicit compatibility limits. P4a/P5f re-keyed the resolved-binding, sampler-pass, image-sweep and twin-registry diff --git a/scripts/ci/fatal_census.py b/scripts/ci/fatal_census.py index efbf1439..e8b9a4ba 100644 --- a/scripts/ci/fatal_census.py +++ b/scripts/ci/fatal_census.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/fatal_census.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 + """The Fatal census gate (CONTRACT-P6 5.2, exit gate S7; perimeter widened by P7 wave 0). WHAT IT REFUSES: a `std::abort()` inside the SPLIT SERVER IMAGE that carries no family word, a diff --git a/scripts/ci/junit_annotate.py b/scripts/ci/junit_annotate.py index 296f3376..0ef057a8 100644 --- a/scripts/ci/junit_annotate.py +++ b/scripts/ci/junit_annotate.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/junit_annotate.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 + """Turn the failed entries of ctest --output-junit files into GitHub error annotations. A red lane's log needs a signed-in reader, but its annotations do not, so the names of the diff --git a/scripts/ci/junit_tally.py b/scripts/ci/junit_tally.py index 4ec8ff8c..1862571d 100755 --- a/scripts/ci/junit_tally.py +++ b/scripts/ci/junit_tally.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/junit_tally.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 + """Tally a ctest --output-junit file as "passed failed skipped". Split out of .github/workflows/test.yml's negative-control step so that the workflow, the local diff --git a/scripts/ci/link_seam_purity.py b/scripts/ci/link_seam_purity.py index f2fe2690..03367ee1 100644 --- a/scripts/ci/link_seam_purity.py +++ b/scripts/ci/link_seam_purity.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/link_seam_purity.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 + """P6.5 ownership and dispatch boundary, with explicit compatibility limits. The old raw constructors and Session::Control/Shm test/bootstrap accessors remain diff --git a/scripts/ci/magma_cache_checks.py b/scripts/ci/magma_cache_checks.py index e90bcd46..ba0cb399 100644 --- a/scripts/ci/magma_cache_checks.py +++ b/scripts/ci/magma_cache_checks.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/magma_cache_checks.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 exactly seven CTest-discovered Magma cache cases under Vulkan sync validation. Preparation is inert: --execute is required before discovery, log deletion or tests. diff --git a/scripts/ci/magma_runahead_checks.py b/scripts/ci/magma_runahead_checks.py index 3bfa9e39..42e9d270 100644 --- a/scripts/ci/magma_runahead_checks.py +++ b/scripts/ci/magma_runahead_checks.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/magma_runahead_checks.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 CTest-discovered Magma negative controls or synchronization validation. No build, source edit, commit, device operation or synthetic sequence change. diff --git a/scripts/ci/p65_link_metrics.py b/scripts/ci/p65_link_metrics.py index ca6435d3..07241e12 100644 --- a/scripts/ci/p65_link_metrics.py +++ b/scripts/ci/p65_link_metrics.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/p65_link_metrics.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 + """Summarize P65LinkMetrics frame logs without confusing traffic with link throughput. Example: p65_link_metrics.py --arm spawn:/tmp/spawn.client.log \ diff --git a/scripts/ci/ph_fuzz_control_frames.py b/scripts/ci/ph_fuzz_control_frames.py index 0af963f6..25415b73 100644 --- a/scripts/ci/ph_fuzz_control_frames.py +++ b/scripts/ci/ph_fuzz_control_frames.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/ph_fuzz_control_frames.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 + """Ph fuzz arm 1: malformed control frames against a live TCP supervisor, each refused by name. PLAN-PH-P34B-P7.md §1.1, row "gate: fuzz arm 1 malformed control frames": the mechanism was in the diff --git a/scripts/ci/ph_latch_sites.py b/scripts/ci/ph_latch_sites.py index 801847e4..eeb3acd3 100644 --- a/scripts/ci/ph_latch_sites.py +++ b/scripts/ci/ph_latch_sites.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/ph_latch_sites.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 + """PH-1 (3) / Ph fuzz arm 2: the site -> raw-peer control map, checked (P7 package F2 latch). WHAT IT CHECKS. PH-1 (3) (ID-P7-1) converts the named faults whose input bytes the PEER wrote into a diff --git a/scripts/ci/prepare_test_runtime.py b/scripts/ci/prepare_test_runtime.py index 94957532..ceb6cc2b 100644 --- a/scripts/ci/prepare_test_runtime.py +++ b/scripts/ci/prepare_test_runtime.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/prepare_test_runtime.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 + """Relocate packaged CTest metadata and select the executing runner's drivers.""" import argparse import os diff --git a/scripts/ci/protocol_revision_pin.py b/scripts/ci/protocol_revision_pin.py index bc6cc0c9..6e19805c 100644 --- a/scripts/ci/protocol_revision_pin.py +++ b/scripts/ci/protocol_revision_pin.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/protocol_revision_pin.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 + """The control-schema revision pin (P7 wave 2-F, F fix round; PH-7 (4) review). MOBILEGL_PROTOCOL_CONTROL_REVISION (MobileGL/MG_Remote/Protocol/mg_protocol_base.h) is mixed into diff --git a/scripts/ci/retired_switches.py b/scripts/ci/retired_switches.py index ccb56a6c..bf56812f 100644 --- a/scripts/ci/retired_switches.py +++ b/scripts/ci/retired_switches.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/retired_switches.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 + """P13 W3b: the pull build's switches stay retired. The pull build's macro (MOBILEGL_PIPE_PUSH as a preprocessor condition), the legacy-memo macro diff --git a/scripts/ci/runtime_mode_proof.py b/scripts/ci/runtime_mode_proof.py index 0aea149c..40d30a1b 100644 --- a/scripts/ci/runtime_mode_proof.py +++ b/scripts/ci/runtime_mode_proof.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/runtime_mode_proof.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 + """Prove the primary runtime's compiled shape and actual inproc GPU execution.""" import argparse import hashlib diff --git a/scripts/ci/select_test_runner.py b/scripts/ci/select_test_runner.py index 2123a081..657c14bc 100644 --- a/scripts/ci/select_test_runner.py +++ b/scripts/ci/select_test_runner.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/select_test_runner.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 + """Choose a GPU runner after the consuming stage has its build artifacts.""" import json import os diff --git a/scripts/ci/server_link_check.py b/scripts/ci/server_link_check.py index 7d6fb660..656d5b6b 100644 --- a/scripts/ci/server_link_check.py +++ b/scripts/ci/server_link_check.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/server_link_check.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 + """P13 W7 (D12): the exemption list for the server-only link check target. THE TARGET. `MobileGL_server_linkcheck` (CMakeLists.txt) links the SERVER and SHARED module objects diff --git a/scripts/ci/skip_census.py b/scripts/ci/skip_census.py index 0a2c27b3..b2bde5d6 100644 --- a/scripts/ci/skip_census.py +++ b/scripts/ci/skip_census.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/skip_census.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 + """The skip census: across every gtest lane of the Test workflow, skips may only shrink. P13 deletes compile-time macros (MOBILEGL_PIPE_PUSH, MOBILEGL_PIPE_LEGACY_MEMOS) that dozens of diff --git a/scripts/ci/spawn_lane_parity.py b/scripts/ci/spawn_lane_parity.py index 7fb215e5..706f3719 100644 --- a/scripts/ci/spawn_lane_parity.py +++ b/scripts/ci/spawn_lane_parity.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/spawn_lane_parity.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 + """Exit gate 9.2: integration-spawn's case-name set equals integration-split's. WHY A GATE AND NOT A COMMENT. The two lanes are registered from one macro, so today they agree diff --git a/scripts/ci/split_coverage.py b/scripts/ci/split_coverage.py index c58273d0..6e191d3d 100755 --- a/scripts/ci/split_coverage.py +++ b/scripts/ci/split_coverage.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/split_coverage.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 + """P8-A (ID-P8-2): every monolith integration case runs on a split arm or is exempt BY NAME. THE QUESTION. The monolith registrations (`DirectGLES.`, `DirectVulkan.`, plus their diff --git a/scripts/ci/tcp_lane_tools_test.py b/scripts/ci/tcp_lane_tools_test.py index e0bad667..2e5c128b 100644 --- a/scripts/ci/tcp_lane_tools_test.py +++ b/scripts/ci/tcp_lane_tools_test.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/tcp_lane_tools_test.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 + """Executable negative controls for TCP lane accounting and supervisor lifecycle.""" import importlib.util import json diff --git a/scripts/ci/tcp_log_forwarding_control.py b/scripts/ci/tcp_log_forwarding_control.py index 19d869aa..d7d444ce 100644 --- a/scripts/ci/tcp_log_forwarding_control.py +++ b/scripts/ci/tcp_log_forwarding_control.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/tcp_log_forwarding_control.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 four real arming scenarios with server log forwarding enabled and disabled.""" import argparse import errno diff --git a/scripts/ci/tcp_server_fixture.py b/scripts/ci/tcp_server_fixture.py index 748013b3..aa36068b 100644 --- a/scripts/ci/tcp_server_fixture.py +++ b/scripts/ci/tcp_server_fixture.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/tcp_server_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 + """Start/stop the loopback supervisor used by the integration-tcp CTest fixture.""" import argparse import errno diff --git a/scripts/ci/tcp_supervisor_smoke.py b/scripts/ci/tcp_supervisor_smoke.py index ff6a9d9b..82abb6ec 100644 --- a/scripts/ci/tcp_supervisor_smoke.py +++ b/scripts/ci/tcp_supervisor_smoke.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/tcp_supervisor_smoke.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 + """Exercise a real TCP supervisor's LISTEN, Busy, token, version, build-policy and REAP controls. P7 wave 0 registered this script as `TcpLane.SupervisorProtocolControls` in diff --git a/scripts/ci/test_prepare_test_runtime.py b/scripts/ci/test_prepare_test_runtime.py index 196b778b..e58ed23e 100644 --- a/scripts/ci/test_prepare_test_runtime.py +++ b/scripts/ci/test_prepare_test_runtime.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/test_prepare_test_runtime.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 importlib.util import json import os diff --git a/scripts/ci/test_select_test_runner.py b/scripts/ci/test_select_test_runner.py index 7d2c5a68..6adddf5e 100644 --- a/scripts/ci/test_select_test_runner.py +++ b/scripts/ci/test_select_test_runner.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/test_select_test_runner.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 importlib.util import io diff --git a/scripts/ci/test_trace_infrastructure.py b/scripts/ci/test_trace_infrastructure.py index 4ed48ef5..20ac4368 100644 --- a/scripts/ci/test_trace_infrastructure.py +++ b/scripts/ci/test_trace_infrastructure.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/test_trace_infrastructure.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 + """Exercise the actual APK retry classifier with saved and live adb states.""" import pathlib import subprocess diff --git a/scripts/ci/unmigrated_emulation_sites.py b/scripts/ci/unmigrated_emulation_sites.py index b3d554a7..bcde44b0 100755 --- a/scripts/ci/unmigrated_emulation_sites.py +++ b/scripts/ci/unmigrated_emulation_sites.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/unmigrated_emulation_sites.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 + """P8-SE: PipeCatalogueTest's unmigrated-emulation list IS the set of call sites in the tree. THE QUESTION. `MGPipeUnmigratedEmulation("")` (MG_Pipe/PipeApply.h) names one emulation diff --git a/scripts/ci/wait_boundary_negative_control.py b/scripts/ci/wait_boundary_negative_control.py index aa428498..22454fac 100644 --- a/scripts/ci/wait_boundary_negative_control.py +++ b/scripts/ci/wait_boundary_negative_control.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/wait_boundary_negative_control.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 + """E1: green/red/restored-green proof of real ClientSession wait boundaries. The peer holds apply until the actual transport parks or the emit call returns. diff --git a/scripts/ci/wire_declines_audit.py b/scripts/ci/wire_declines_audit.py index c2608903..7e6adc12 100644 --- a/scripts/ci/wire_declines_audit.py +++ b/scripts/ci/wire_declines_audit.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/ci/wire_declines_audit.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 + """P7 wave 2 package B3: WireDeclines.def rows and their sites must agree. CONTRACT-P7 §0 rule I admits two shapes for a wire-arm refusal, a decline and a named Fatal. diff --git a/scripts/gen_protocol.py b/scripts/gen_protocol.py index 6420b43a..f8df2d25 100644 --- a/scripts/gen_protocol.py +++ b/scripts/gen_protocol.py @@ -1,4 +1,12 @@ #!/usr/bin/env python3 +# MobileGL - scripts/gen_protocol.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 + """Regenerate MobileGL/MG_Remote/Protocol/generated/protocol_generated.h from protocol.fbs. flatc is a developer/CI tool ONLY: it is never part of the default build graph diff --git a/tools/cts/probe/mgprobe.c b/tools/cts/probe/mgprobe.c index 915129ec..be275bba 100644 --- a/tools/cts/probe/mgprobe.c +++ b/tools/cts/probe/mgprobe.c @@ -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). * diff --git a/tools/cts/scripts/cts_matrix_report.py b/tools/cts/scripts/cts_matrix_report.py index a67158aa..9ea677ca 100644 --- a/tools/cts/scripts/cts_matrix_report.py +++ b/tools/cts/scripts/cts_matrix_report.py @@ -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 diff --git a/tools/cts/scripts/cts_multi_report.py b/tools/cts/scripts/cts_multi_report.py index 967b8c2d..3cf1c9a6 100644 --- a/tools/cts/scripts/cts_multi_report.py +++ b/tools/cts/scripts/cts_multi_report.py @@ -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, diff --git a/tools/cts/scripts/qpa_report.py b/tools/cts/scripts/qpa_report.py index faa39091..f1decc2a 100644 --- a/tools/cts/scripts/qpa_report.py +++ b/tools/cts/scripts/qpa_report.py @@ -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 diff --git a/tools/cts/scripts/run_cts.py b/tools/cts/scripts/run_cts.py index b2b7862b..9af605e5 100644 --- a/tools/cts/scripts/run_cts.py +++ b/tools/cts/scripts/run_cts.py @@ -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. diff --git a/tools/cts/scripts/run_cts_local.py b/tools/cts/scripts/run_cts_local.py index 0956b642..087259b0 100644 --- a/tools/cts/scripts/run_cts_local.py +++ b/tools/cts/scripts/run_cts_local.py @@ -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 diff --git a/tools/cts/scripts/run_cts_windows.py b/tools/cts/scripts/run_cts_windows.py index 80b90da5..bc1e4ee5 100644 --- a/tools/cts/scripts/run_cts_windows.py +++ b/tools/cts/scripts/run_cts_windows.py @@ -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 diff --git a/tools/cts/scripts/sync_to_cts.py b/tools/cts/scripts/sync_to_cts.py index 082be15d..3c3907c5 100644 --- a/tools/cts/scripts/sync_to_cts.py +++ b/tools/cts/scripts/sync_to_cts.py @@ -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 diff --git a/tools/cts/scripts/test_cts_matrix_report.py b/tools/cts/scripts/test_cts_matrix_report.py index fc3bafbf..f35761e4 100644 --- a/tools/cts/scripts/test_cts_matrix_report.py +++ b/tools/cts/scripts/test_cts_matrix_report.py @@ -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 diff --git a/tools/cts/scripts/test_cts_multi_report.py b/tools/cts/scripts/test_cts_multi_report.py index ae8bd50a..0113f2f1 100644 --- a/tools/cts/scripts/test_cts_multi_report.py +++ b/tools/cts/scripts/test_cts_multi_report.py @@ -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 diff --git a/tools/cts/scripts/test_run_cts_windows.py b/tools/cts/scripts/test_run_cts_windows.py index 71a4f045..36caf16c 100644 --- a/tools/cts/scripts/test_run_cts_windows.py +++ b/tools/cts/scripts/test_run_cts_windows.py @@ -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 diff --git a/tools/cts/scripts/test_wgl_glcts_pipeline.py b/tools/cts/scripts/test_wgl_glcts_pipeline.py index 9fb0de91..5bd894a9 100644 --- a/tools/cts/scripts/test_wgl_glcts_pipeline.py +++ b/tools/cts/scripts/test_wgl_glcts_pipeline.py @@ -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 diff --git a/tools/cts/scripts/wgl_glcts_pipeline.py b/tools/cts/scripts/wgl_glcts_pipeline.py index e043d142..090975a7 100644 --- a/tools/cts/scripts/wgl_glcts_pipeline.py +++ b/tools/cts/scripts/wgl_glcts_pipeline.py @@ -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 diff --git a/tools/device_bench/anland_glmark2/callers.py b/tools/device_bench/anland_glmark2/callers.py index a090bad3..332c4522 100644 --- a/tools/device_bench/anland_glmark2/callers.py +++ b/tools/device_bench/anland_glmark2/callers.py @@ -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') diff --git a/tools/device_bench/anland_glmark2/incl.py b/tools/device_bench/anland_glmark2/incl.py index 66b51fb8..cef18bf4 100644 --- a/tools/device_bench/anland_glmark2/incl.py +++ b/tools/device_bench/anland_glmark2/incl.py @@ -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 [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] diff --git a/tools/device_bench/anland_glmark2/mktables.py b/tools/device_bench/anland_glmark2/mktables.py index 6012d99b..2935a76f 100644 --- a/tools/device_bench/anland_glmark2/mktables.py +++ b/tools/device_bench/anland_glmark2/mktables.py @@ -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'] diff --git a/tools/device_bench/anland_glmark2/offcpu.py b/tools/device_bench/anland_glmark2/offcpu.py index 05f1c8f8..fa9b373e 100644 --- a/tools/device_bench/anland_glmark2/offcpu.py +++ b/tools/device_bench/anland_glmark2/offcpu.py @@ -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 [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. diff --git a/tools/device_bench/anland_glmark2/pbparse.py b/tools/device_bench/anland_glmark2/pbparse.py index e4584fef..d9cff444 100644 --- a/tools/device_bench/anland_glmark2/pbparse.py +++ b/tools/device_bench/anland_glmark2/pbparse.py @@ -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 ; files --.out d = sys.argv[1] diff --git a/tools/device_bench/anland_glmark2/symagg.py b/tools/device_bench/anland_glmark2/symagg.py index 9259594a..6af3bbde 100644 --- a/tools/device_bench/anland_glmark2/symagg.py +++ b/tools/device_bench/anland_glmark2/symagg.py @@ -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 [top] # report.txt = simpleperf report --sort dso,vaddr_in_file output; aggregates samples per function. import sys, re, subprocess, collections, os diff --git a/tools/device_bench/anland_glmark2/timeline.py b/tools/device_bench/anland_glmark2/timeline.py index 96cb78b3..18de84ff 100644 --- a/tools/device_bench/anland_glmark2/timeline.py +++ b/tools/device_bench/anland_glmark2/timeline.py @@ -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 diff --git a/tools/device_bench/disagg/callee_split.py b/tools/device_bench/disagg/callee_split.py index 914881ed..89d0500f 100644 --- a/tools/device_bench/disagg/callee_split.py +++ b/tools/device_bench/disagg/callee_split.py @@ -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 [--depth 1] [--thread NAME] diff --git a/tools/device_bench/disagg/components.py b/tools/device_bench/disagg/components.py index 1edf7306..a7cbfa3c 100644 --- a/tools/device_bench/disagg/components.py +++ b/tools/device_bench/disagg/components.py @@ -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. diff --git a/tools/device_bench/disagg/cpusampler.c b/tools/device_bench/disagg/cpusampler.c index 445e52c8..ec546f7c 100644 --- a/tools/device_bench/disagg/cpusampler.c +++ b/tools/device_bench/disagg/cpusampler.c @@ -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): diff --git a/tools/device_bench/disagg/crosshost_report.py b/tools/device_bench/disagg/crosshost_report.py index 6e0194f9..588684f3 100644 --- a/tools/device_bench/disagg/crosshost_report.py +++ b/tools/device_bench/disagg/crosshost_report.py @@ -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//) to a table.""" import json, os, re, statistics, sys diff --git a/tools/device_bench/disagg/fcl_drvcaller.py b/tools/device_bench/disagg/fcl_drvcaller.py index 2503e12e..ad314f32 100644 --- a/tools/device_bench/disagg/fcl_drvcaller.py +++ b/tools/device_bench/disagg/fcl_drvcaller.py @@ -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 : driver-layer on-CPU time keyed by (driver entry, MobileGL caller) import os, sys from collections import Counter diff --git a/tools/device_bench/disagg/fcl_incl.py b/tools/device_bench/disagg/fcl_incl.py index 904a7da7..dbf25dfb 100644 --- a/tools/device_bench/disagg/fcl_incl.py +++ b/tools/device_bench/disagg/fcl_incl.py @@ -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 [N]: inclusive on-CPU ms/frame of libMobileGL functions import os, sys from collections import Counter diff --git a/tools/device_bench/disagg/fcl_split.py b/tools/device_bench/disagg/fcl_split.py index 4f7c1432..a54d7932 100644 --- a/tools/device_bench/disagg/fcl_split.py +++ b/tools/device_bench/disagg/fcl_split.py @@ -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 [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 diff --git a/tools/device_bench/disagg/fcl_stacks.py b/tools/device_bench/disagg/fcl_stacks.py index e067bd66..da9b7858 100644 --- a/tools/device_bench/disagg/fcl_stacks.py +++ b/tools/device_bench/disagg/fcl_stacks.py @@ -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 [depth] [filter-substring]: on-CPU inclusive function time (ms/frame) and top stacks import os, sys from collections import Counter diff --git a/tools/device_bench/disagg/freqcheck.py b/tools/device_bench/disagg/freqcheck.py index 8ed8f5b2..d884d06c 100644 --- a/tools/device_bench/disagg/freqcheck.py +++ b/tools/device_bench/disagg/freqcheck.py @@ -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 [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 diff --git a/tools/device_bench/disagg/layers.py b/tools/device_bench/disagg/layers.py index f8359ed1..94540290 100644 --- a/tools/device_bench/disagg/layers.py +++ b/tools/device_bench/disagg/layers.py @@ -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 [--tail-ms=N] diff --git a/tools/device_bench/disagg/make_report.py b/tools/device_bench/disagg/make_report.py index 5916b583..0080b292 100644 --- a/tools/device_bench/disagg/make_report.py +++ b/tools/device_bench/disagg/make_report.py @@ -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] diff --git a/tools/device_bench/disagg/offwait.py b/tools/device_bench/disagg/offwait.py index bec18ebf..b6bb2308 100644 --- a/tools/device_bench/disagg/offwait.py +++ b/tools/device_bench/disagg/offwait.py @@ -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 [present_marker] # Off-CPU accounting for one thread from an atrace/ftrace text dump: # - sleep (S/D) and runnable (preempted) time per frame diff --git a/tools/device_bench/disagg/p14_report.py b/tools/device_bench/disagg/p14_report.py index 1cfef2dd..df4be88f 100644 --- a/tools/device_bench/disagg/p14_report.py +++ b/tools/device_bench/disagg/p14_report.py @@ -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 [--md out.md] [--json out.json] diff --git a/tools/device_bench/disagg/sampler.c b/tools/device_bench/disagg/sampler.c index f9f63e06..74a8a786 100644 --- a/tools/device_bench/disagg/sampler.c +++ b/tools/device_bench/disagg/sampler.c @@ -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//syscall is // readable same-uid via run-as, which gives the blocked-syscall histogram. diff --git a/tools/device_bench/disagg/sfalign.py b/tools/device_bench/disagg/sfalign.py index 28f62875..887b0cd0 100644 --- a/tools/device_bench/disagg/sfalign.py +++ b/tools/device_bench/disagg/sfalign.py @@ -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 : does SF's setTransactionState return right after SF main-thread flushTransactions? import re, sys, bisect from collections import defaultdict diff --git a/tools/device_bench/disagg/slices.py b/tools/device_bench/disagg/slices.py index e438c5e7..f16e8ba1 100644 --- a/tools/device_bench/disagg/slices.py +++ b/tools/device_bench/disagg/slices.py @@ -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 : atrace slice wall time per slice name for threads whose comm-pid matches import re, sys from collections import Counter, defaultdict diff --git a/tools/device_bench/disagg/snapdiff.py b/tools/device_bench/disagg/snapdiff.py index 5dee54c9..54a48c01 100644 --- a/tools/device_bench/disagg/snapdiff.py +++ b/tools/device_bench/disagg/snapdiff.py @@ -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()) diff --git a/tools/device_bench/magma_runahead/run_fcl_arm.py b/tools/device_bench/magma_runahead/run_fcl_arm.py index b0b7dff7..4756b4be 100644 --- a/tools/device_bench/magma_runahead/run_fcl_arm.py +++ b/tools/device_bench/magma_runahead/run_fcl_arm.py @@ -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 diff --git a/tools/device_bench/p5f/P5fPublicMipmapScenario.cpp b/tools/device_bench/p5f/P5fPublicMipmapScenario.cpp index efc16a57..5b9aad3b 100644 --- a/tools/device_bench/p5f/P5fPublicMipmapScenario.cpp +++ b/tools/device_bench/p5f/P5fPublicMipmapScenario.cpp @@ -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 diff --git a/tools/device_bench/p5f/verify_arm.py b/tools/device_bench/p5f/verify_arm.py index 0c088744..aa50fa12 100644 --- a/tools/device_bench/p5f/verify_arm.py +++ b/tools/device_bench/p5f/verify_arm.py @@ -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 diff --git a/tools/device_bench/p6/ab_session.py b/tools/device_bench/p6/ab_session.py index 244b6a88..f52202d7 100644 --- a/tools/device_bench/p6/ab_session.py +++ b/tools/device_bench/p6/ab_session.py @@ -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 diff --git a/tools/device_bench/p6/render_ab.py b/tools/device_bench/p6/render_ab.py index f2c31ddf..47f6e991 100644 --- a/tools/device_bench/p6/render_ab.py +++ b/tools/device_bench/p6/render_ab.py @@ -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 diff --git a/tools/spikes/extmem_probe/extmem_probe.cpp b/tools/spikes/extmem_probe/extmem_probe.cpp index eacb1673..aba6825d 100644 --- a/tools/spikes/extmem_probe/extmem_probe.cpp +++ b/tools/spikes/extmem_probe/extmem_probe.cpp @@ -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: diff --git a/tools/spikes/server_stub/main.cpp b/tools/spikes/server_stub/main.cpp index 15280d02..c2a033b7 100644 --- a/tools/spikes/server_stub/main.cpp +++ b/tools/spikes/server_stub/main.cpp @@ -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 diff --git a/tools/trace_replay/benchmark_tcp_credits.py b/tools/trace_replay/benchmark_tcp_credits.py index 10113db2..0a3e7aab 100644 --- a/tools/trace_replay/benchmark_tcp_credits.py +++ b/tools/trace_replay/benchmark_tcp_credits.py @@ -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 diff --git a/tools/trace_replay/compare_actuals.py b/tools/trace_replay/compare_actuals.py index 2955c2a1..c3a4cf1e 100755 --- a/tools/trace_replay/compare_actuals.py +++ b/tools/trace_replay/compare_actuals.py @@ -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 diff --git a/tools/trace_replay/fixture_tools/realign_buffer_ranges.cpp b/tools/trace_replay/fixture_tools/realign_buffer_ranges.cpp index 7b24966f..7600d455 100644 --- a/tools/trace_replay/fixture_tools/realign_buffer_ranges.cpp +++ b/tools/trace_replay/fixture_tools/realign_buffer_ranges.cpp @@ -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 diff --git a/tools/trace_replay/frame_stats.py b/tools/trace_replay/frame_stats.py index c7e3a343..31cf8bb8 100644 --- a/tools/trace_replay/frame_stats.py +++ b/tools/trace_replay/frame_stats.py @@ -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 diff --git a/tools/trace_replay/macos_cgs_surface_bounds.cpp b/tools/trace_replay/macos_cgs_surface_bounds.cpp index 3a8ec5bc..2421f45c 100644 --- a/tools/trace_replay/macos_cgs_surface_bounds.cpp +++ b/tools/trace_replay/macos_cgs_surface_bounds.cpp @@ -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 using CGSConnectionID = void*; diff --git a/tools/trace_replay/measure_loopback_cpu.py b/tools/trace_replay/measure_loopback_cpu.py index d1d4420c..30c26676 100644 --- a/tools/trace_replay/measure_loopback_cpu.py +++ b/tools/trace_replay/measure_loopback_cpu.py @@ -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 diff --git a/tools/trace_replay/measure_tcp_stage_burst.py b/tools/trace_replay/measure_tcp_stage_burst.py index 358a9fd2..71c87c36 100644 --- a/tools/trace_replay/measure_tcp_stage_burst.py +++ b/tools/trace_replay/measure_tcp_stage_burst.py @@ -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 diff --git a/tools/trace_replay/measure_transport_cpu.py b/tools/trace_replay/measure_transport_cpu.py index b069f6f2..880a041f 100644 --- a/tools/trace_replay/measure_transport_cpu.py +++ b/tools/trace_replay/measure_transport_cpu.py @@ -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 diff --git a/tools/trace_replay/paired_tcp_benchmark.py b/tools/trace_replay/paired_tcp_benchmark.py index 77b7e075..da24780d 100644 --- a/tools/trace_replay/paired_tcp_benchmark.py +++ b/tools/trace_replay/paired_tcp_benchmark.py @@ -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. diff --git a/tools/trace_replay/run_android_retrace_local.py b/tools/trace_replay/run_android_retrace_local.py index 37092e16..fed64439 100644 --- a/tools/trace_replay/run_android_retrace_local.py +++ b/tools/trace_replay/run_android_retrace_local.py @@ -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 diff --git a/tools/trace_replay/run_macos_window_retrace_local.py b/tools/trace_replay/run_macos_window_retrace_local.py index a02de55d..e3e5d98a 100755 --- a/tools/trace_replay/run_macos_window_retrace_local.py +++ b/tools/trace_replay/run_macos_window_retrace_local.py @@ -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 diff --git a/tools/trace_replay/run_tcp_matrix.py b/tools/trace_replay/run_tcp_matrix.py index c4926837..7578f856 100644 --- a/tools/trace_replay/run_tcp_matrix.py +++ b/tools/trace_replay/run_tcp_matrix.py @@ -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 diff --git a/tools/trace_replay/skills/renderdoc-debug-on-trace-replay/scripts/capture_android_retrace.py b/tools/trace_replay/skills/renderdoc-debug-on-trace-replay/scripts/capture_android_retrace.py index 54660850..23a3c6ef 100644 --- a/tools/trace_replay/skills/renderdoc-debug-on-trace-replay/scripts/capture_android_retrace.py +++ b/tools/trace_replay/skills/renderdoc-debug-on-trace-replay/scripts/capture_android_retrace.py @@ -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 diff --git a/tools/trace_replay/skills/renderdoc-debug-on-trace-replay/scripts/queue_android_frame.py b/tools/trace_replay/skills/renderdoc-debug-on-trace-replay/scripts/queue_android_frame.py index 5792d09a..6d5b3cdf 100644 --- a/tools/trace_replay/skills/renderdoc-debug-on-trace-replay/scripts/queue_android_frame.py +++ b/tools/trace_replay/skills/renderdoc-debug-on-trace-replay/scripts/queue_android_frame.py @@ -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 diff --git a/tools/trace_replay/skills/trace-fixture-authoring-on-android-fcl/scripts/adb_capture.py b/tools/trace_replay/skills/trace-fixture-authoring-on-android-fcl/scripts/adb_capture.py index 8ac28fbe..a24bec37 100644 --- a/tools/trace_replay/skills/trace-fixture-authoring-on-android-fcl/scripts/adb_capture.py +++ b/tools/trace_replay/skills/trace-fixture-authoring-on-android-fcl/scripts/adb_capture.py @@ -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 diff --git a/tools/trace_replay/skills/trace-fixture-authoring-on-android-fcl/scripts/build_android_egltrace.py b/tools/trace_replay/skills/trace-fixture-authoring-on-android-fcl/scripts/build_android_egltrace.py index dd81f649..fde82fe4 100644 --- a/tools/trace_replay/skills/trace-fixture-authoring-on-android-fcl/scripts/build_android_egltrace.py +++ b/tools/trace_replay/skills/trace-fixture-authoring-on-android-fcl/scripts/build_android_egltrace.py @@ -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 diff --git a/tools/trace_replay/skills/trace-fixture-authoring-on-android-fcl/scripts/package_capture_fixture.py b/tools/trace_replay/skills/trace-fixture-authoring-on-android-fcl/scripts/package_capture_fixture.py index 9e1c9721..a116577d 100644 --- a/tools/trace_replay/skills/trace-fixture-authoring-on-android-fcl/scripts/package_capture_fixture.py +++ b/tools/trace_replay/skills/trace-fixture-authoring-on-android-fcl/scripts/package_capture_fixture.py @@ -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 diff --git a/tools/trace_replay/tcp_device_server.py b/tools/trace_replay/tcp_device_server.py index 0b8b577f..d145011c 100644 --- a/tools/trace_replay/tcp_device_server.py +++ b/tools/trace_replay/tcp_device_server.py @@ -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): diff --git a/tools/trace_replay/test_android_lifecycle.py b/tools/trace_replay/test_android_lifecycle.py index bc3e338a..446134fe 100644 --- a/tools/trace_replay/test_android_lifecycle.py +++ b/tools/trace_replay/test_android_lifecycle.py @@ -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 diff --git a/tools/trace_replay/test_benchmark_tcp_credits.py b/tools/trace_replay/test_benchmark_tcp_credits.py index 522e8223..4ef847ac 100644 --- a/tools/trace_replay/test_benchmark_tcp_credits.py +++ b/tools/trace_replay/test_benchmark_tcp_credits.py @@ -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 diff --git a/tools/trace_replay/test_compare_actuals.py b/tools/trace_replay/test_compare_actuals.py index 2b399c3f..a0d862f0 100644 --- a/tools/trace_replay/test_compare_actuals.py +++ b/tools/trace_replay/test_compare_actuals.py @@ -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 diff --git a/tools/trace_replay/test_frame_stats.py b/tools/trace_replay/test_frame_stats.py index bf67e8b6..57d60efb 100644 --- a/tools/trace_replay/test_frame_stats.py +++ b/tools/trace_replay/test_frame_stats.py @@ -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 diff --git a/tools/trace_replay/test_run_tcp_matrix.py b/tools/trace_replay/test_run_tcp_matrix.py index 2beb57e4..68c670b9 100644 --- a/tools/trace_replay/test_run_tcp_matrix.py +++ b/tools/trace_replay/test_run_tcp_matrix.py @@ -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 diff --git a/tools/trace_replay/trace_cases.py b/tools/trace_replay/trace_cases.py index 76ed081a..8e334fa8 100644 --- a/tools/trace_replay/trace_cases.py +++ b/tools/trace_replay/trace_cases.py @@ -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 diff --git a/tools/trace_replay/trace_env_overrides_test.cpp b/tools/trace_replay/trace_env_overrides_test.cpp index 01cdb2a5..0b9766eb 100644 --- a/tools/trace_replay/trace_env_overrides_test.cpp +++ b/tools/trace_replay/trace_env_overrides_test.cpp @@ -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 diff --git a/tools/trace_replay/trace_replay_cli.cpp b/tools/trace_replay/trace_replay_cli.cpp index 406f679f..76a00591 100644 --- a/tools/trace_replay/trace_replay_cli.cpp +++ b/tools/trace_replay/trace_replay_cli.cpp @@ -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 diff --git a/tools/trace_replay/trace_replay_lease_test.cpp b/tools/trace_replay/trace_replay_lease_test.cpp index 8fd85ec7..6f45aa69 100644 --- a/tools/trace_replay/trace_replay_lease_test.cpp +++ b/tools/trace_replay/trace_replay_lease_test.cpp @@ -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 diff --git a/tools/wgl-smoke/glfw_smoke.cpp b/tools/wgl-smoke/glfw_smoke.cpp index f4e003b8..5406d914 100644 --- a/tools/wgl-smoke/glfw_smoke.cpp +++ b/tools/wgl-smoke/glfw_smoke.cpp @@ -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. diff --git a/tools/wgl-smoke/wgl_smoke.cpp b/tools/wgl-smoke/wgl_smoke.cpp index 5757b9bc..a2bbb403 100644 --- a/tools/wgl-smoke/wgl_smoke.cpp +++ b/tools/wgl-smoke/wgl_smoke.cpp @@ -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