[Chore] (MG_Backend/DirectGLES, MG_Backend/DirectVulkan, MG_Impl/EGLImpl, MG_Impl/Pipe, MG_IntegrationTest/Harness, MG_IntegrationTest/Scenarios, MG_Pipe, MG_Remote, MG_Remote/Client, MG_Remote/Server, MG_Remote/Transport, MG_Test/Backend, MG_Test/EGLState, MG_Test/Wire, scripts, scripts/ci, tools/cts, tools/device_bench, tools/spikes, tools/trace_replay, tools/wgl-smoke): add the license header where it is missing

This commit is contained in:
2026-10-15 10:15:34 -04:00
parent 35c7b589f4
commit c4fb9397cb
159 changed files with 1239 additions and 3 deletions
@@ -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). // MobileGL - DirectGLES context-owned static state identities (P5f fs).
#pragma once #pragma once
@@ -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. // 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 // 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 // client PACK layout or a fallback into a frontend texture's potentially stale
@@ -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). // MobileGL - server-owned program input for Magma (P5f fm).
#pragma once #pragma once
@@ -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 // Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0: // Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt // https://www.gnu.org/licenses/gpl-3.0.txt
@@ -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 // Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0: // Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt // https://www.gnu.org/licenses/gpl-3.0.txt
@@ -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. // 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. // The native blit owns no frontend object and never invokes the GL shader compiler.
#include "WireColorBlitSpirv.h" #include "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 // 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 // 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 // IN-TREE glslang and splices the words it emits into the arrays below. Do not edit the words
@@ -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. // 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. // The native depth mip owns no frontend object and never invokes the GL shader compiler.
// //
@@ -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 // Generated from WireDepthMipmap.vert / WireDepthMipmap.frag by
// scripts/bake_internal_shaders.py, which runs MG_Test's BakedInternalShadersTest with the // 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 // IN-TREE glslang and splices the words it emits into the arrays below. Do not edit the
@@ -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 // 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 // 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: // glslang and splices the words it emits into the arrays below. Do not edit the words by hand:
@@ -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. // Server-owned draw/dispatch setup. The legacy setup remains the monolith implementation.
static MagmaProgramSource WireProgramSource(MG_Pipe::MGPipeHandle handle) { static MagmaProgramSource WireProgramSource(MG_Pipe::MGPipeHandle handle) {
auto& state = MG_Pipe::MGPipeApplier(); auto& state = MG_Pipe::MGPipeApplier();
@@ -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 // 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 // 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 // IN-TREE glslang and splices the words it emits into the arrays below. Do not edit the words
@@ -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 // 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. // 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 // P7 wave 0. THE MESSAGE IS UNCHANGED; where it goes is not. This funnel is how eleven of
@@ -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. // 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 // The native multisample depth/stencil resolve owns no frontend object and never invokes the
// GL shader compiler. // GL shader compiler.
@@ -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 / // Generated from WireMultisampleResolve.vert / WireMultisampleDepthResolve.frag /
// WireMultisampleStencilResolve.frag by scripts/bake_internal_shaders.py, which runs MG_Test's // 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 // BakedInternalShadersTest with the IN-TREE glslang and splices the words it emits into the
@@ -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. // UniformManager-owned native descriptors for wire bindings with no image.
// No GL object is constructed or inserted into the client's resource namespace. // No GL object is constructed or inserted into the client's resource namespace.
void UniformManager::DestroyWirePlaceholderImage(WirePlaceholderImage& image) const { void UniformManager::DestroyWirePlaceholderImage(WirePlaceholderImage& image) const {
@@ -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 #pragma once
#include <Includes.h> #include <Includes.h>
#include "../VkIncludes.h" #include "../VkIncludes.h"
@@ -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 // Server-owned texture readback. Included after WireFramebuffer.inc so image
// layout tracking and frame retirement are the same as every other wire verb. // layout tracking and frame retirement are the same as every other wire verb.
static Bool PackWireColorTight(const Uint8* source, SizeT sourceBytes, VkFormat format, static Bool PackWireColorTight(const Uint8* source, SizeT sourceBytes, VkFormat format,
@@ -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 // 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 // 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 // IN-TREE glslang and splices the words it emits into the arrays below. Do not edit the words
@@ -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. // 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 // YUV SHARED IMAGES (NV12, P010; MG_Remote/Server/SharedImageYuv.h). A YUV image is never a
@@ -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 // Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0: // Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt // https://www.gnu.org/licenses/gpl-3.0.txt
@@ -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 // SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#pragma once #pragma once
namespace MobileGL::MG_Impl::EGLImpl { namespace MobileGL::MG_Impl::EGLImpl {
@@ -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). // 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 // 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 // and application pointers. A pack-buffer destination (P9) is answered by nothing: the
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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.""" """Validate discovered Split log ownership; read only freshly reset control logs."""
import os import os
import json import json
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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.""" """Regression controls for complete, non-vacuous P5f result accounting."""
import contextlib import contextlib
import importlib.util import importlib.util
@@ -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. // f1 split-only pixel controls: every result depends on the migrated verb.
#include "../Harness/ScenarioFixture.h" #include "../Harness/ScenarioFixture.h"
#include "../Harness/SplitRuntimePeek.h" #include "../Harness/SplitRuntimePeek.h"
@@ -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, // 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. // then verify GPU pixels/bytes. The scheduling hook never changes a watermark.
#include "../Harness/ScenarioFixture.h" #include "../Harness/ScenarioFixture.h"
@@ -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 // 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 // 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. // old view between A -> B -> A or hide an allocation change from an in-flight draw.
@@ -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. // P5b sync migration: a real fence and reply cross the apply thread.
#include "../Harness/ScenarioFixture.h" #include "../Harness/ScenarioFixture.h"
#include "../Harness/SplitRuntimePeek.h" #include "../Harness/SplitRuntimePeek.h"
+8
View File
@@ -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. // MobileGL - P6.5 wire compatibility facts. Generated member coverage is checked by gen_pipe.py.
#pragma once #pragma once
#include "MGPipe.h" #include "MGPipe.h"
+8
View File
@@ -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. // 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 // 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 // device loss) names nothing on the current server: it answers "no result yet", and its
+8
View File
@@ -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. // P6.5 handshake policy, shared by both roles. Rejections are returned, never aborted.
#pragma once #pragma once
#include "CapsCodec.h" #include "CapsCodec.h"
@@ -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 // SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#include "EmbeddedServer.h" #include "EmbeddedServer.h"
#include "ServerDisplay.h" #include "ServerDisplay.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 // SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
// Public C interface for an application that owns a MobileGL split server. // Public C interface for an application that owns a MobileGL split server.
#pragma once #pragma once
@@ -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. // Server-owned query identities and actual backend query/fence results.
ServerVerbSink::QueryEntry& ServerVerbSink::FindQuery(MG_Pipe::MGPipeHandle handle) { ServerVerbSink::QueryEntry& ServerVerbSink::FindQuery(MG_Pipe::MGPipeHandle handle) {
const auto found = m_queries.find(handle.Slot); const auto found = m_queries.find(handle.Slot);
+8
View File
@@ -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. // MobileGL - separate-process server and TCP session supervisor.
// SPDX-License-Identifier: LGPL-3.0-only // SPDX-License-Identifier: LGPL-3.0-only
#include "../Transport/Doorbell.h" #include "../Transport/Doorbell.h"
@@ -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 "ControlInbox.h"
#include "Doorbell.h" #include "Doorbell.h"
#include "LogForward.h" #include "LogForward.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 #pragma once
#include "ITransport.h" #include "ITransport.h"
@@ -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 // SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#include "LinkMetrics.h" #include "LinkMetrics.h"
#include <MG_Util/Debug/Log.h> #include <MG_Util/Debug/Log.h>
#include <array> #include <array>
@@ -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 // P6.5 transport measurements. The Window state is written only by the single client
// producer; the socket-io counters drained by LinkMetricsTakeReadStats/TakeSendStats are // producer; the socket-io counters drained by LinkMetricsTakeReadStats/TakeSendStats are
// atomic and cross-thread (io thread writes, apply/client thread reads) - see below. // atomic and cross-thread (io thread writes, apply/client thread reads) - see below.
+7
View File
@@ -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 // SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#include "ShmLink.h" #include "ShmLink.h"
namespace MobileGL::MG_Remote::Transport { namespace MobileGL::MG_Remote::Transport {
LinkSignals ILink::Signals() { LinkSignals ILink::Signals() {
+7
View File
@@ -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 // SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#pragma once #pragma once
#include "ILink.h" #include "ILink.h"
#include "SessionRings.h" #include "SessionRings.h"
@@ -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 // SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#include "StreamLink.h" #include "StreamLink.h"
#include "SessionRings.h" #include "SessionRings.h"
#include "ShmLink.h" #include "ShmLink.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 // SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#pragma once #pragma once
#include "ILink.h" #include "ILink.h"
#include <memory> #include <memory>
@@ -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. // MobileGL - P5f fs production-state epoch regression tests.
#include <gtest/gtest.h> #include <gtest/gtest.h>
#include <Config.h> #include <Config.h>
@@ -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 <gtest/gtest.h> #include <gtest/gtest.h>
#include <MG_State/EGLState/Core.h> #include <MG_State/EGLState/Core.h>
#include <MG_State/GLState/Core.h> #include <MG_State/GLState/Core.h>
@@ -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 <gtest/gtest.h> #include <gtest/gtest.h>
#include <MG_Impl/EGLImpl/FrameThrottle.h> #include <MG_Impl/EGLImpl/FrameThrottle.h>
#include <MG_State/EGLState/Core.h> #include <MG_State/EGLState/Core.h>
@@ -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 // SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
// Starts at the post-Welcome boundary with real TCP endpoints and ControlInbox. // 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. // The peer publishes real CapsSnapshot bytes; no private run-ahead flag is set.
#include <MG_Remote/Client/ClientSession.h> #include <MG_Remote/Client/ClientSession.h>
+7
View File
@@ -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 // 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. // Manual P6.5 S2/half-open probe. Never registered as a device-less unit test.
#include <Init.h> #include <Init.h>
#include <MG_Impl/GLImpl/Getter/GL_Getter.h> #include <MG_Impl/GLImpl/Getter/GL_Getter.h>
@@ -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. // 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 // A host has no AHardwareBuffer, so what these prove is the protocol, the negotiation and the
@@ -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. // c1f: exercise installed client producers over a live inproc session.
// Peer substitutions supply adversarial INPUTS, never client state being asserted. // Peer substitutions supply adversarial INPUTS, never client state being asserted.
#if MGTEST_HAVE_FORK #if MGTEST_HAVE_FORK
@@ -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 // 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 // either the client parks or its emission has already returned. No GPU or
// scheduling-delay assumption decides whether the wait was observed. // scheduling-delay assumption decides whether the wait was observed.
@@ -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 // SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
// Production session submission with a real stream reader and a deliberately // 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. // non-applying peer. A passing test cannot be supplied by a later client wait.
#include <MG_Remote/Client/ClientSession.h> #include <MG_Remote/Client/ClientSession.h>
+7
View File
@@ -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 // SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#include <MG_Remote/Transport/StreamLink.h> #include <MG_Remote/Transport/StreamLink.h>
#include <MG_Remote/Transport/SessionRings.h> #include <MG_Remote/Transport/SessionRings.h>
#include <gtest/gtest.h> #include <gtest/gtest.h>
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """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. 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. No git operation, server source edit, or unrelated failure is accepted as red.
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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.""" """Summarize the indebted broad lane without turning debt into a hard gate."""
import collections import collections
import sys import sys
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """P3b/P4b Espryt memo re-keying, with explicit compatibility limits.
P4a/P5f re-keyed the resolved-binding, sampler-pass, image-sweep and twin-registry P4a/P5f re-keyed the resolved-binding, sampler-pass, image-sweep and twin-registry
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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). """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 WHAT IT REFUSES: a `std::abort()` inside the SPLIT SERVER IMAGE that carries no family word, a
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """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 A red lane's log needs a signed-in reader, but its annotations do not, so the names of the
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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". """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 Split out of .github/workflows/test.yml's negative-control step so that the workflow, the local
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """P6.5 ownership and dispatch boundary, with explicit compatibility limits.
The old raw constructors and Session::Control/Shm test/bootstrap accessors remain The old raw constructors and Session::Control/Shm test/bootstrap accessors remain
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """Run exactly seven CTest-discovered Magma cache cases under Vulkan sync validation.
Preparation is inert: --execute is required before discovery, log deletion or tests. Preparation is inert: --execute is required before discovery, log deletion or tests.
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """Run CTest-discovered Magma negative controls or synchronization validation.
No build, source edit, commit, device operation or synthetic sequence change. No build, source edit, commit, device operation or synthetic sequence change.
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """Summarize P65LinkMetrics frame logs without confusing traffic with link throughput.
Example: p65_link_metrics.py --arm spawn:/tmp/spawn.client.log \ Example: p65_link_metrics.py --arm spawn:/tmp/spawn.client.log \
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """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 PLAN-PH-P34B-P7.md §1.1, row "gate: fuzz arm 1 malformed control frames": the mechanism was in the
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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). """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 WHAT IT CHECKS. PH-1 (3) (ID-P7-1) converts the named faults whose input bytes the PEER wrote into a
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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.""" """Relocate packaged CTest metadata and select the executing runner's drivers."""
import argparse import argparse
import os import os
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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). """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 MOBILEGL_PROTOCOL_CONTROL_REVISION (MobileGL/MG_Remote/Protocol/mg_protocol_base.h) is mixed into
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """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 The pull build's macro (MOBILEGL_PIPE_PUSH as a preprocessor condition), the legacy-memo macro
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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.""" """Prove the primary runtime's compiled shape and actual inproc GPU execution."""
import argparse import argparse
import hashlib import hashlib
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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.""" """Choose a GPU runner after the consuming stage has its build artifacts."""
import json import json
import os import os
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """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 THE TARGET. `MobileGL_server_linkcheck` (CMakeLists.txt) links the SERVER and SHARED module objects
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """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 P13 deletes compile-time macros (MOBILEGL_PIPE_PUSH, MOBILEGL_PIPE_LEGACY_MEMOS) that dozens of
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """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 WHY A GATE AND NOT A COMMENT. The two lanes are registered from one macro, so today they agree
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """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.<case>`, `DirectVulkan.<case>`, plus their THE QUESTION. The monolith registrations (`DirectGLES.<case>`, `DirectVulkan.<case>`, plus their
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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.""" """Executable negative controls for TCP lane accounting and supervisor lifecycle."""
import importlib.util import importlib.util
import json import json
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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.""" """Run the four real arming scenarios with server log forwarding enabled and disabled."""
import argparse import argparse
import errno import errno
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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.""" """Start/stop the loopback supervisor used by the integration-tcp CTest fixture."""
import argparse import argparse
import errno import errno
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """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 P7 wave 0 registered this script as `TcpLane.SupervisorProtocolControls` in
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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 importlib.util
import json import json
import os import os
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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 contextlib
import importlib.util import importlib.util
import io import io
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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.""" """Exercise the actual APK retry classifier with saved and live adb states."""
import pathlib import pathlib
import subprocess import subprocess
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """P8-SE: PipeCatalogueTest's unmigrated-emulation list IS the set of call sites in the tree.
THE QUESTION. `MGPipeUnmigratedEmulation("<name>")` (MG_Pipe/PipeApply.h) names one emulation THE QUESTION. `MGPipeUnmigratedEmulation("<name>")` (MG_Pipe/PipeApply.h) names one emulation
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """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. The peer holds apply until the actual transport parks or the emit call returns.
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """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. CONTRACT-P7 §0 rule I admits two shapes for a wire-arm refusal, a decline and a named Fatal.
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python3 #!/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. """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 flatc is a developer/CI tool ONLY: it is never part of the default build graph
+8
View File
@@ -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 /* mgprobe - preflight gate for running a GL conformance suite against MobileGL
* from a bare adb-shell process (no APK, no Activity). * from a bare adb-shell process (no APK, no Activity).
* *
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python #!/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. """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 The report deliberately scores against the unique cases in each supplied
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python #!/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. """Summarise any number of GL CTS suites and MobileGL backends.
Each repeatable suite specification consists of four values: backend, label, Each repeatable suite specification consists of four values: backend, label,
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python #!/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. """Summarise dEQP/glcts .qpa logs into a conformance pass rate.
Handles the two ways a case can end in a .qpa: a normal Handles the two ways a case can end in a .qpa: a normal
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python #!/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. """Drive a glcts run on a device, resuming across crashes.
MobileGL crashes on some cases, and glcts takes the whole process down with it. MobileGL crashes on some cases, and glcts takes the whole process down with it.
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python #!/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. """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 Local-host counterpart of run_cts.py: MobileGL crashes on some cases and glcts
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python #!/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. """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 The desktop CTS normally runs a complete caselist in one process. That is a
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python #!/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. """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 The port is version-controlled here, in the MobileGL repo, so it survives a
@@ -1,3 +1,11 @@
# MobileGL - tools/cts/scripts/test_cts_matrix_report.py
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
import contextlib import contextlib
import io import io
import json import json
@@ -1,3 +1,11 @@
# MobileGL - tools/cts/scripts/test_cts_multi_report.py
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
import contextlib import contextlib
import io import io
import json import json
@@ -1,3 +1,11 @@
# MobileGL - tools/cts/scripts/test_run_cts_windows.py
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
import sys import sys
import tempfile import tempfile
import time import time
@@ -1,3 +1,11 @@
# MobileGL - tools/cts/scripts/test_wgl_glcts_pipeline.py
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
import argparse import argparse
import json import json
from pathlib import Path from pathlib import Path
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env python #!/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. """Build MobileGL's Windows WGL shim and run Khronos OpenGL CTS suites.
The pipeline intentionally keeps the build, runtime, results, and reports in an The pipeline intentionally keeps the build, runtime, results, and reports in an
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/callers.py
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
import sys, re, subprocess, collections, os 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] 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') SYM = os.path.expandvars(r'$LOCALAPPDATA/Android/Sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/windows-x86_64/bin/llvm-symbolizer.exe')

Some files were not shown because too many files have changed in this diff Show More