[Chore] (MG_Backend/DirectVulkan, MG_Benchmark, MG_Benchmark/Buffer, MG_Benchmark/Container, MG_Benchmark/Driver, MG_Benchmark/Program, MG_Benchmark/ShaderCache, MG_Benchmark/Transpile, MG_Gbm, MG_IntegrationTest, MG_IntegrationTest/Harness, MG_Test, MG_Test/Backend, MG_Test/BackendLoader, MG_Test/Buffer, MG_Test/EGLState, MG_Test/Framebuffer, MG_Test/Gbm, MG_Test/Pipe, MG_Test/Pipeline, MG_Test/Program, MG_Test/Purity, MG_Test/Query, MG_Test/SelfTest, MG_Test/ShaderTranspiler, MG_Test/State, MG_Test/Swapchain, MG_Test/Texture, MG_Test/Util, MG_Test/VertexArray, MG_Test/Wire, scripts, scripts/ci, tools/cts, tools/device_bench, tools/spikes, tools/trace_replay): extend license headers to shell, CMake, Java and GLSL

This commit is contained in:
2026-10-15 10:15:40 -04:00
parent b808b68fd2
commit 73d4511bc1
118 changed files with 941 additions and 5 deletions
@@ -1,3 +1,11 @@
// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireColorBlit.frag
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt
// https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#version 450 #version 450
layout(set = 0, binding = 0) uniform sampler2D sourceImage; layout(set = 0, binding = 0) uniform sampler2D sourceImage;
layout(location = 0) in vec2 texCoord; layout(location = 0) in vec2 texCoord;
@@ -1,3 +1,11 @@
// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireColorBlit.vert
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt
// https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#version 450 #version 450
// Native Vulkan blit: no GL program, registry entry, or runtime transpilation. // Native Vulkan blit: no GL program, registry entry, or runtime transpilation.
layout(push_constant) uniform BlitRect { layout(push_constant) uniform BlitRect {
@@ -1,3 +1,11 @@
// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireDepthMipmap.frag
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt
// https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#version 450 #version 450
// The monolith arm's kDepthMipmapFragmentShaderSource (VulkanRenderer.cpp), ported to the // The monolith arm's kDepthMipmapFragmentShaderSource (VulkanRenderer.cpp), ported to the
// baked pipeline: the same 2x2 box of texelFetches, the same clamp, the same average, the // baked pipeline: the same 2x2 box of texelFetches, the same clamp, the same average, the
@@ -1,3 +1,11 @@
// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireDepthMipmap.vert
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt
// https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#version 450 #version 450
// Native Vulkan depth mip generation: no GL program, registry entry, or runtime transpilation. // Native Vulkan depth mip generation: no GL program, registry entry, or runtime transpilation.
// //
@@ -1,3 +1,11 @@
// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireDiscardStateProbe.frag
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt
// https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#version 450 #version 450
layout(location = 0) out vec4 color; layout(location = 0) out vec4 color;
@@ -1,3 +1,11 @@
// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireDiscardStateProbe.vert
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt
// https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#version 450 #version 450
// The discard state probe's draws (WireDiscardStateProbe.h): vertices 0-3 are a full-viewport strip, // The discard state probe's draws (WireDiscardStateProbe.h): vertices 0-3 are a full-viewport strip,
// vertices 4-7 the same strip far outside the clip volume (the control's first draw). // vertices 4-7 the same strip far outside the clip volume (the control's first draw).
@@ -1,3 +1,11 @@
// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireE5RawCopy.comp
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt
// https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#version 450 #version 450
// Raw texel-block copy out of an E5B9G9R9 image (WireE5RawCopy.h). The source is read through an // Raw texel-block copy out of an E5B9G9R9 image (WireE5RawCopy.h). The source is read through an
// R32_UINT view, so its words are never decoded, and stored into an R32_UINT twin whose transfer // R32_UINT view, so its words are never decoded, and stored into an R32_UINT twin whose transfer
@@ -1,3 +1,11 @@
// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireE5RawCopy3D.comp
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt
// https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#version 450 #version 450
// The volume twin of WireE5RawCopy.comp: the source level is a 3D image and the region's slices // The volume twin of WireE5RawCopy.comp: the source level is a 3D image and the region's slices
// are its z range. // are its z range.
@@ -1,3 +1,11 @@
// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireMultisampleDepthResolve.frag
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt
// https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#version 450 #version 450
// SAMPLE ZERO, and it is not an approximation: VK_RESOLVE_MODE_SAMPLE_ZERO_BIT is the mode the // SAMPLE ZERO, and it is not an approximation: VK_RESOLVE_MODE_SAMPLE_ZERO_BIT is the mode the
// VK_KHR_depth_stencil_resolve arm asks for, and GL 4.6 core 18.3.1 says a depth resolve picks // VK_KHR_depth_stencil_resolve arm asks for, and GL 4.6 core 18.3.1 says a depth resolve picks
@@ -1,3 +1,11 @@
// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireMultisampleResolve.vert
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt
// https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#version 450 #version 450
// Native Vulkan multisample depth/stencil resolve: no GL program, registry entry, or runtime // Native Vulkan multisample depth/stencil resolve: no GL program, registry entry, or runtime
// transpilation. // transpilation.
@@ -1,3 +1,11 @@
// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireMultisampleStencilResolve.frag
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt
// https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#version 450 #version 450
// The stencil half, and it needs an extension to exist at all: a fragment shader cannot write // The stencil half, and it needs an extension to exist at all: a fragment shader cannot write
// the stencil aspect without VK_EXT_shader_stencil_export (SPV_EXT_shader_stencil_export, which // the stencil aspect without VK_EXT_shader_stencil_export (SPV_EXT_shader_stencil_export, which
@@ -1,3 +1,11 @@
// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireYuvConvert.frag
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt
// https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#version 450 #version 450
// The image is bound through an immutable sampler that carries its VkSamplerYcbcrConversion, so // The image is bound through an immutable sampler that carries its VkSamplerYcbcrConversion, so
// a plain sample already returns RGB. // a plain sample already returns RGB.
@@ -1,3 +1,11 @@
// MobileGL - MobileGL/MG_Backend/DirectVulkan/Renderer/WireYuvConvert.vert
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
// https://www.gnu.org/licenses/gpl-3.0.txt
// https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header
#version 450 #version 450
// A YUV shared image converted into an RGBA texture (WireYuvImage.inc): one triangle over the // A YUV shared image converted into an RGBA texture (WireYuvImage.inc): one triangle over the
// whole target, its first row at the image's first row. // whole target, its first row at the image's first row.
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Benchmark/Buffer/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.24) cmake_minimum_required(VERSION 3.24)
add_executable( add_executable(
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Benchmark/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
project(MobileGLBenchmark) project(MobileGLBenchmark)
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Benchmark/Container/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.24) cmake_minimum_required(VERSION 3.24)
add_executable( add_executable(
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Benchmark/Driver/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.24) cmake_minimum_required(VERSION 3.24)
# A real, headless EGL client, deliberately NOT linked against MobileGL: it # A real, headless EGL client, deliberately NOT linked against MobileGL: it
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - MobileGL/MG_Benchmark/Driver/run_driver_bench.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-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 headless EGL DriverBench on one renderer: # Run the headless EGL DriverBench on one renderer:
# ./run_driver_bench.sh native [bench args...] # ./run_driver_bench.sh native [bench args...]
# ./run_driver_bench.sh espryt <libMobileGL.so> [bench args...] # ./run_driver_bench.sh espryt <libMobileGL.so> [bench args...]
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Benchmark/Program/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.24) cmake_minimum_required(VERSION 3.24)
add_executable( add_executable(
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Benchmark/ShaderCache/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.24) cmake_minimum_required(VERSION 3.24)
add_executable( add_executable(
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Benchmark/Transpile/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.24) cmake_minimum_required(VERSION 3.24)
# Deliberately NOT a google-benchmark target: the interesting quantity is a per-stage # Deliberately NOT a google-benchmark target: the interesting quantity is a per-stage
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Gbm/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-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 - MobileGL/MG_Gbm/CMakeLists.txt # MobileGL - MobileGL/MG_Gbm/CMakeLists.txt
# #
# mobilegl_gbm.so: the GBM backend whose buffers are MobileGL shared images (MobileGLGbm.cpp). # mobilegl_gbm.so: the GBM backend whose buffers are MobileGL shared images (MobileGLGbm.cpp).
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_IntegrationTest/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.24) cmake_minimum_required(VERSION 3.24)
# MobileGL headless GPU integration tests. # MobileGL headless GPU integration tests.
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_IntegrationTest/Harness/RefusedMaskControl.cmake
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-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 (ID-P13-3): one named-refusal control. Runs the integration binary with a subsystem mask # P13 W3b (ID-P13-3): one named-refusal control. Runs the integration binary with a subsystem mask
# that clears one of bits 0-13 and passes only if the run went red AND its log carries # that clears one of bits 0-13 and passes only if the run went red AND its log carries
# ConfigLoader's Fatal{PipeSubsystemsFixedOn} naming that mask. Invoked by # ConfigLoader's Fatal{PipeSubsystemsFixedOn} naming that mask. Invoked by
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_IntegrationTest/P8Coverage.cmake
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-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): the monolith cases' split, spawn and tcp registrations. # P8-A (ID-P8-2): the monolith cases' split, spawn and tcp registrations.
# #
# Included ONCE from CMakeLists.txt, inside `if (MOBILEGL_BUILD_DISAGGREGATED)`, and the place is # Included ONCE from CMakeLists.txt, inside `if (MOBILEGL_BUILD_DISAGGREGATED)`, and the place is
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - MobileGL/MG_IntegrationTest/run_integration_test.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-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 headless MobileGL integration scenarios on one backend: # Run the headless MobileGL integration scenarios on one backend:
# ./run_integration_test.sh espryt [gtest args...] -> DirectGLES # ./run_integration_test.sh espryt [gtest args...] -> DirectGLES
# ./run_integration_test.sh magma [gtest args...] -> DirectVulkan # ./run_integration_test.sh magma [gtest args...] -> DirectVulkan
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/Backend/DirectGLES/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
add_executable( add_executable(
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/Backend/DirectVulkan/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
message(STATUS "Generating build files for MobileGL DirectVulkan Integration Test...") message(STATUS "Generating build files for MobileGL DirectVulkan Integration Test...")
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/BackendLoader/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
add_executable( add_executable(
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/Buffer/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
add_executable( add_executable(
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.24) cmake_minimum_required(VERSION 3.24)
project(MobileGLTest) project(MobileGLTest)
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/EGLState/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
add_executable( add_executable(
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/Framebuffer/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
add_executable( add_executable(
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/Gbm/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
# mobilegl_gbm.so through the system's GBM loader, the calls Xwayland's glamor makes, over a fake of # mobilegl_gbm.so through the system's GBM loader, the calls Xwayland's glamor makes, over a fake of
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/Pipe/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
add_executable( add_executable(
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/Pipeline/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
add_executable( add_executable(
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/Program/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.24) cmake_minimum_required(VERSION 3.24)
add_executable( add_executable(
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/Purity/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
# The P0.5 include-closure assertions (ROADMAP P0.5; ARCHITECTURE.md §13.2 gate A): no MobileGL # The P0.5 include-closure assertions (ROADMAP P0.5; ARCHITECTURE.md §13.2 gate A): no MobileGL
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/Query/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
add_executable( add_executable(
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/SelfTest/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-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 - MobileGL/MG_Test/SelfTest/CMakeLists.txt # MobileGL - MobileGL/MG_Test/SelfTest/CMakeLists.txt
add_executable( add_executable(
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/ShaderTranspiler/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
add_executable( add_executable(
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/State/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
add_executable( add_executable(
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/Swapchain/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
add_executable( add_executable(
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/Texture/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
add_executable( add_executable(
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/Util/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
add_executable( add_executable(
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/VertexArray/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
add_executable( add_executable(
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/Wire/CMakeLists.txt
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
# The MG_Remote wire layer: framing, the SPSC ring, the in-process transport, # The MG_Remote wire layer: framing, the SPSC ring, the in-process transport,
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - MobileGL/MG_Test/test.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
cmake -S . -B build && \ cmake -S . -B build && \
cmake --build build -j${nproc} && \ cmake --build build -j${nproc} && \
ctest --test-dir build ctest --test-dir build
+8
View File
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - scripts/ci/control_smoke_test.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# R-16 FOR THE CI NEGATIVE CONTROLS THEMSELVES: a control-run smoke test. # R-16 FOR THE CI NEGATIVE CONTROLS THEMSELVES: a control-run smoke test.
# #
# BRIEF-P5 13 (R-16) says a negative control must assert its own failure reason and that every gate # BRIEF-P5 13 (R-16) says a negative control must assert its own failure reason and that every gate
+8
View File
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - scripts/ci/dualblock_negative_control.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-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 (f1)'s NEGATIVE CONTROL (P5F-WIRE-COMPLETENESS.md §6): the dual-block rehearsal must be # P5f (f1)'s NEGATIVE CONTROL (P5F-WIRE-COMPLETENESS.md §6): the dual-block rehearsal must be
# the thing the dual-block lane measures. # the thing the dual-block lane measures.
# #
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - scripts/ci/redcheck_control_smoke_test.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# R-16's "I made it red once, by doing X" for scripts/ci/control_smoke_test.sh, mechanised so the # R-16's "I made it red once, by doing X" for scripts/ci/control_smoke_test.sh, mechanised so the
# claim can be re-checked rather than believed. # claim can be re-checked rather than believed.
# #
+8
View File
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - scripts/ci/retrace_drop_draw_control.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-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 E2's PICTURE CONTROL: dropping the draws on the wire must redden this retrace, and # EXIT GATE E2's PICTURE CONTROL: dropping the draws on the wire must redden this retrace, and
# it must be THIS control's red. # it must be THIS control's red.
# #
+8
View File
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - scripts/ci/retrace_transport_control.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-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 RETRACE-SPLIT LANE'S NEGATIVE CONTROL: a library WITHOUT A TRANSPORT must red this split retrace. # THE RETRACE-SPLIT LANE'S NEGATIVE CONTROL: a library WITHOUT A TRANSPORT must red this split retrace.
# #
# P13 W2: the library is the push monolith without MG_Remote (the shape FCL embeds). Until W2 it was # P13 W2: the library is the push monolith without MG_Remote (the shape FCL embeds). Until W2 it was
+8
View File
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - scripts/ci/split_negative_controls.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-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 E1's NEGATIVE CONTROL and EXIT GATE E3(a)'s. # EXIT GATE E1's NEGATIVE CONTROL and EXIT GATE E3(a)'s.
# #
# This file is the body of .github/workflows/test.yml's "Negative controls (barrier, map push)" # This file is the body of .github/workflows/test.yml's "Negative controls (barrier, map push)"
+8
View File
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - scripts/ci/testdata/split_private_log_smoke.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-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 E1's per-test boundary evidence and E3(a)'s private-file read (R-16). # Exercise E1's per-test boundary evidence and E3(a)'s private-file read (R-16).
set -euo pipefail set -euo pipefail
HERE="$(cd "$(dirname "$0")/.." && pwd)" HERE="$(cd "$(dirname "$0")/.." && pwd)"
+8
View File
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - scripts/ci/testdata/stub_ctest.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# A stubbed `ctest` for scripts/ci/control_smoke_test.sh. # A stubbed `ctest` for scripts/ci/control_smoke_test.sh.
# #
# Descended from the verification agent's stub (wave1-codex-verify.md 8, ~/w7/p5-verify-f8-stub/ctest), # Descended from the verification agent's stub (wave1-codex-verify.md 8, ~/w7/p5-verify-f8-stub/ctest),
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - scripts/format_code.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
set -uo pipefail set -uo pipefail
if [ -t 1 ]; then if [ -t 1 ]; then
CYAN=$'\033[36m' CYAN=$'\033[36m'
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - scripts/g7_negative_control.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# G7's negative control: break the pipeline/dynamic split on purpose and prove the # G7's negative control: break the pipeline/dynamic split on purpose and prove the
# setter-consistency test says so. # setter-consistency test says so.
# #
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - scripts/p3a_untouched_regions.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# G5's gate: "pool 与延迟释放原样搬" is LITERAL - ELEVEN functions in # G5's gate: "pool 与延迟释放原样搬" is LITERAL - ELEVEN functions in
# MobileGL/MG_Backend/DirectGLES/Managers.cpp are byte-identical after P3a. # MobileGL/MG_Backend/DirectGLES/Managers.cpp are byte-identical after P3a.
# #
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - scripts/p3a_vertex_input_negative_control.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# G7's negative control for P3a: drop one field from the vertex-input wire conversion on purpose # G7's negative control for P3a: drop one field from the vertex-input wire conversion on purpose
# and prove the emission-consistency suite says so, naming the field. # and prove the emission-consistency suite says so, naming the field.
# #
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - scripts/p4a_descriptor_negative_control.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# G7's negative controls for P4a: drop one field from each of two descriptor conversions on purpose # G7's negative controls for P4a: drop one field from each of two descriptor conversions on purpose
# and prove the emission-consistency suites say so, NAMING the field. # and prove the emission-consistency suites say so, NAMING the field.
# #
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - scripts/p4a_untouched_regions.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# G5's gate for P4a: the Espryt do-not-touch list is LITERAL - SEVENTEEN regions across THREE # G5's gate for P4a: the Espryt do-not-touch list is LITERAL - SEVENTEEN regions across THREE
# files stay byte-identical after P4a. # files stay byte-identical after P4a.
# #
+6 -5
View File
@@ -12,8 +12,8 @@
python3 scripts/update-source-file-header.py FILE ... # only these files python3 scripts/update-source-file-header.py FILE ... # only these files
python3 scripts/update-source-file-header.py --check # list what needs attention, exit 1 if anything does python3 scripts/update-source-file-header.py --check # list what needs attention, exit 1 if anything does
Covered under MobileGL/, scripts/ and tools/: C, C++ and .inc files with // comments and Python Covered under MobileGL/, scripts/ and tools/: C, C++, .inc, Java, JavaScript modules and GLSL with
scripts with # comments. // comments; Python, shell, CMake modules and CMakeLists.txt with # comments.
An existing header is kept as written, since its copyright years belong to the file; only a first An existing header is kept as written, since its copyright years belong to the file; only a first
line that names a different path is corrected. Generated files and files under another license are line that names a different path is corrected. Generated files and files under another license are
left alone. Files with mixed line endings are reported, never rewritten. left alone. Files with mixed line endings are reported, never rewritten.
@@ -36,8 +36,9 @@ HEADER = """{c} MobileGL - {path}
""" """
OWN_SPDX = "SPDX-License-Identifier: LGPL-3.0-only" OWN_SPDX = "SPDX-License-Identifier: LGPL-3.0-only"
DIRS = ("MobileGL/", "scripts/", "tools/") DIRS = ("MobileGL/", "scripts/", "tools/")
SLASH_EXT = (".h", ".hpp", ".cpp", ".cc", ".c", ".inc") SLASH_EXT = (".h", ".hpp", ".cpp", ".cc", ".c", ".inc", ".java", ".mjs",
HASH_EXT = (".py",) ".vert", ".frag", ".comp", ".geom", ".tesc", ".tese", ".glsl")
HASH_EXT = (".py", ".sh", ".cmake")
FOREIGN_LICENSE = re.compile(r"Apache License|Permission is hereby granted|MIT License|BSD License|" FOREIGN_LICENSE = re.compile(r"Apache License|Permission is hereby granted|MIT License|BSD License|"
r"Mozilla Public License|zlib License") r"Mozilla Public License|zlib License")
SPDX_RE = re.compile(r"SPDX-License-Identifier:\s*(\S+)") SPDX_RE = re.compile(r"SPDX-License-Identifier:\s*(\S+)")
@@ -57,7 +58,7 @@ def is_generated(path):
def comment_prefix(path): def comment_prefix(path):
if path.endswith(HASH_EXT): if path.endswith(HASH_EXT) or os.path.basename(path) == "CMakeLists.txt":
return "#" return "#"
if path.endswith(SLASH_EXT): if path.endswith(SLASH_EXT):
return "//" return "//"
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - tools/cts/targets/mobilegl-desktop.cmake
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# VK-GL-CTS target: MobileGL on desktop Linux # VK-GL-CTS target: MobileGL on desktop Linux
# #
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - tools/cts/targets/mobilegl.cmake
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# VK-GL-CTS target: MobileGL on Android # VK-GL-CTS target: MobileGL on Android
# #
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/ab.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# ab.sh <ct> <tag> <cmd...> - one quick run (phone, root), prints FPS lines # ab.sh <ct> <tag> <cmd...> - one quick run (phone, root), prints FPS lines
ct=$1; tag=$2; shift 2; CR=/mnt/Droidspaces/$ct/root; st=mgl; [ $ct = arch-kde ] && st=stock ct=$1; tag=$2; shift 2; CR=/mnt/Droidspaces/$ct/root; st=mgl; [ $ct = arch-kde ] && st=stock
sh /data/local/tmp/anl/pbcool.sh 46000 20 300 >/dev/null sh /data/local/tmp/anl/pbcool.sh 46000 20 300 >/dev/null
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - tools/device_bench/anland_glmark2/dep.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# dep.sh <DirectGLES|DirectVulkan> - (host) deploy a server (SERVER_LIB) + client (MGL_XBUILD_DIR) build and restart the desktop on that backend # dep.sh <DirectGLES|DirectVulkan> - (host) deploy a server (SERVER_LIB) + client (MGL_XBUILD_DIR) build and restart the desktop on that backend
S=${SKILL_SCRIPTS:-$(cd "$(dirname "$0")/../../../.claude/skills/anland-mobilegl-plasma/scripts" && pwd)} S=${SKILL_SCRIPTS:-$(cd "$(dirname "$0")/../../../.claude/skills/anland-mobilegl-plasma/scripts" && pwd)}
# SERVER_LIB: the NDK-built server lib (Windows form path); MGL_XBUILD_DIR: the WSL client build dir. # SERVER_LIB: the NDK-built server lib (Windows form path); MGL_XBUILD_DIR: the WSL client build dir.
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/gprof.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# gprof.sh <ct> <tag> <rec_s> <cmd...> - offcpu+callgraph record of the busiest server apply thread + client # gprof.sh <ct> <tag> <rec_s> <cmd...> - offcpu+callgraph record of the busiest server apply thread + client
ct=$1; tag=$2; rec=$3; shift 3; D=/data/local/tmp/anl/prof; CR=/mnt/Droidspaces/$ct/root ct=$1; tag=$2; rec=$3; shift 3; D=/data/local/tmp/anl/prof; CR=/mnt/Droidspaces/$ct/root
echo "$*" > $CR/pb/$tag.cmd echo "$*" > $CR/pb/$tag.cmd
+8
View File
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/lm.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# lm.sh <tag> - per-frame link-metric averages of the last run's client log # lm.sh <tag> - per-frame link-metric averages of the last run's client log
L=/mnt/Droidspaces/arch-kde-mgl/root/pb/pb-$1.client.log L=/mnt/Droidspaces/arch-kde-mgl/root/pb/pb-$1.client.log
grep -a "kind=frame-op" $L | tail -1 | cut -c40-200 grep -a "kind=frame-op" $L | tail -1 | cut -c40-200
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/pbbatch.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# pbbatch.sh <container> <stack stock|mgl> <label> <cfg...> (phone, root; run detached) # pbbatch.sh <container> <stack stock|mgl> <label> <cfg...> (phone, root; run detached)
# cfg: es2w es2f glw glf ; results -> /data/local/tmp/anl/pb/<label>-<cfg>.* # cfg: es2w es2f glw glf ; results -> /data/local/tmp/anl/pb/<label>-<cfg>.*
ct=$1; st=$2; lab=$3; shift 3 ct=$1; st=$2; lab=$3; shift 3
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/pbclk.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# pbclk.sh save|pin|restore|show (phone, root) - CPU/GPU clock pinning for the glmark2 baseline # pbclk.sh save|pin|restore|show (phone, root) - CPU/GPU clock pinning for the glmark2 baseline
O=/data/local/tmp/anl/pb-clocks.orig O=/data/local/tmp/anl/pb-clocks.orig
C=/sys/devices/system/cpu/cpufreq; G=/sys/class/kgsl/kgsl-3d0 C=/sys/devices/system/cpu/cpufreq; G=/sys/class/kgsl/kgsl-3d0
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/pbcool.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# pbcool.sh [limit_mC=40000] [min_s=20] [max_s=600] - wait until CPU/GPU zones are below the limit # pbcool.sh [limit_mC=40000] [min_s=20] [max_s=600] - wait until CPU/GPU zones are below the limit
lim=${1:-40000}; mn=${2:-20}; mx=${3:-600}; t=0 lim=${1:-40000}; mn=${2:-20}; mx=${3:-600}; t=0
hot() { m=0; for z in /sys/class/thermal/thermal_zone*; do case $(cat $z/type) in cpu-*|cpuss-*|gpuss-*) v=$(cat $z/temp); [ $v -gt $m ] && m=$v;; esac; done; echo $m; } hot() { m=0; for z in /sys/class/thermal/thermal_zone*; do case $(cat $z/type) in cpu-*|cpuss-*|gpuss-*) v=$(cat $z/temp); [ $v -gt $m ] && m=$v;; esac; done; echo $m; }
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/pbkill.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# pbkill.sh - stop every benchmark helper and glmark2 (phone, root) # pbkill.sh - stop every benchmark helper and glmark2 (phone, root)
for p in $(ps -A -o pid,args | grep -E "pbbatch|pbcool|pbsamp|stfix|profrun|pbprof" | grep -v grep | grep -v pbkill | awk '{print $1}'); do kill $p 2>/dev/null; done for p in $(ps -A -o pid,args | grep -E "pbbatch|pbcool|pbsamp|stfix|profrun|pbprof" | grep -v grep | grep -v pbkill | awk '{print $1}'); do kill $p 2>/dev/null; done
pkill -x glmark2-es2-wayland; pkill -x glmark2-wayland; pkill -x glmark2-es2-way; pkill -x glmark2-wayland pkill -x glmark2-es2-wayland; pkill -x glmark2-wayland; pkill -x glmark2-es2-way; pkill -x glmark2-wayland
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/pbprobe.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# pbprobe.sh <tag> - every 15 s while the run lasts: two screenshots 1 s apart; logs size and whether they differ # pbprobe.sh <tag> - every 15 s while the run lasts: two screenshots 1 s apart; logs size and whether they differ
D=/data/local/tmp/anl/pb; tag=$1; n=0 D=/data/local/tmp/anl/pb; tag=$1; n=0
sleep 10 sleep 10
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/pbprof.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# pbprof.sh <container> <tag> <warm_s> <rec_s> <cmd...> (phone, root) # pbprof.sh <container> <tag> <warm_s> <rec_s> <cmd...> (phone, root)
# Runs <cmd> in the container (mgl stack via pbrun), then after warm_s records: per-thread CPU (top -H), # Runs <cmd> in the container (mgl stack via pbrun), then after warm_s records: per-thread CPU (top -H),
# simpleperf on the server (:mobilegl) and on the client, GPU busy samples. Results: /data/local/tmp/anl/prof/<tag>.* # simpleperf on the server (:mobilegl) and on the client, GPU busy samples. Results: /data/local/tmp/anl/prof/<tag>.*
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - tools/device_bench/anland_glmark2/pbrun.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# pbrun.sh <stack: stock|mgl> <tag> (container, root) - runs the command in /root/pb/<tag>.cmd # pbrun.sh <stack: stock|mgl> <tag> (container, root) - runs the command in /root/pb/<tag>.cmd
st=$1; tag=$2 st=$1; tag=$2
mkdir -p /root/pb; out=/root/pb/$tag.out; cmd=$(cat /root/pb/$tag.cmd) mkdir -p /root/pb; out=/root/pb/$tag.out; cmd=$(cat /root/pb/$tag.cmd)
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/pbsamp.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# pbsamp.sh <outfile> - sample GPU freq/busy, temps, cpu7 freq every 2 s until killed # pbsamp.sh <outfile> - sample GPU freq/busy, temps, cpu7 freq every 2 s until killed
o=$1; : > $o o=$1; : > $o
while :; do while :; do
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/pbset.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# pbset.sh <tag> [extra env] - (phone) the affected-scene set, once, es2 window + texture fullscreen # pbset.sh <tag> [extra env] - (phone) the affected-scene set, once, es2 window + texture fullscreen
t=$1; shift; E="$*" t=$1; shift; E="$*"
cd /data/local/tmp/anl cd /data/local/tmp/anl
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/pbshown.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# pbshown.sh - frames SurfaceFlinger latched for the anland SurfaceView in the last second (BLAST layer) # pbshown.sh - frames SurfaceFlinger latched for the anland SurfaceView in the last second (BLAST layer)
L=$(dumpsys SurfaceFlinger --list | grep -E "^SurfaceView\[com\.anland\.consumer.*\(BLAST\)#" | head -1) L=$(dumpsys SurfaceFlinger --list | grep -E "^SurfaceView\[com\.anland\.consumer.*\(BLAST\)#" | head -1)
[ -z "$L" ] && L=$(dumpsys SurfaceFlinger --list | grep -oE "SurfaceView\[com\.anland\.consumer[^]]*\]\(BLAST\)#[0-9]+" | head -1) [ -z "$L" ] && L=$(dumpsys SurfaceFlinger --list | grep -oE "SurfaceView\[com\.anland\.consumer[^]]*\]\(BLAST\)#[0-9]+" | head -1)
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/profrun.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# profrun.sh <container> <prefix> - profile the scene list (phone, root) # profrun.sh <container> <prefix> - profile the scene list (phone, root)
ct=$1; pre=$2; E="MOBILEGL_PIPE_STATS=1"; [ $ct = arch-kde ] && E="" ct=$1; pre=$2; E="MOBILEGL_PIPE_STATS=1"; [ $ct = arch-kde ] && E=""
run() { t=$1; shift; sh /data/local/tmp/anl/pbcool.sh 46000 30 300 > /data/local/tmp/anl/prof/$pre-$t.cool; sh /data/local/tmp/anl/pbprof.sh $ct $pre-$t 7 8 "$@"; } run() { t=$1; shift; sh /data/local/tmp/anl/pbcool.sh 46000 30 300 > /data/local/tmp/anl/prof/$pre-$t.cool; sh /data/local/tmp/anl/pbprof.sh $ct $pre-$t 7 8 "$@"; }
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - tools/device_bench/anland_glmark2/smoke.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# smoke.sh <tag> - (host) Chrome scrolling + lock screen greeter + Plasma screenshot on the running MobileGL desktop # smoke.sh <tag> - (host) Chrome scrolling + lock screen greeter + Plasma screenshot on the running MobileGL desktop
S=${SKILL_SCRIPTS:-$(cd "$(dirname "$0")/../../../.claude/skills/anland-mobilegl-plasma/scripts" && pwd)} S=${SKILL_SCRIPTS:-$(cd "$(dirname "$0")/../../../.claude/skills/anland-mobilegl-plasma/scripts" && pwd)}
O=${OUT_DIR:-${TEMP:-/tmp}} O=${OUT_DIR:-${TEMP:-/tmp}}
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/stfix.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# stfix.sh - (phone, root) if the stock desktop shows black, restart the stock stack; prints what it did # stfix.sh - (phone, root) if the stock desktop shows black, restart the stock stack; prints what it did
D=/data/local/tmp/anl/pb; DS=/data/local/Droidspaces/bin/droidspaces; C=/data/local/Droidspaces/Containers/arch-kde/container.config D=/data/local/tmp/anl/pb; DS=/data/local/Droidspaces/bin/droidspaces; C=/data/local/Droidspaces/Containers/arch-kde/container.config
screencap -p $D/pre.png; s=$(stat -c %s $D/pre.png) screencap -p $D/pre.png; s=$(stat -c %s $D/pre.png)
@@ -1,3 +1,11 @@
# MobileGL - tools/device_bench/anland_glmark2/visset.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# visset.sh <tag> - screenshot several scenes mid-run (phone, root) # visset.sh <tag> - screenshot several scenes mid-run (phone, root)
CR=/mnt/Droidspaces/arch-kde-mgl/root; D=/data/local/tmp/anland-mobilegl CR=/mnt/Droidspaces/arch-kde-mgl/root; D=/data/local/tmp/anland-mobilegl
for sc in ideas:duration=6 terrain:duration=6 shadow:duration=6 refract:duration=6 jellyfish:duration=6 desktop:effect=shadow:windows=4:duration=6 desktop:blur-radius=5:effect=blur:passes=1:separable=true:windows=4:duration=6 bump:bump-render=high-poly:duration=6 conditionals:duration=6 effect2d:duration=6; do for sc in ideas:duration=6 terrain:duration=6 shadow:duration=6 refract:duration=6 jellyfish:duration=6 desktop:effect=shadow:windows=4:duration=6 desktop:blur-radius=5:effect=blur:passes=1:separable=true:windows=4:duration=6 bump:bump-render=high-poly:duration=6 conditionals:duration=6 effect2d:duration=6; do
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - tools/device_bench/anland_glmark2/wtest.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# wtest.sh build|run [ctest -R regex] - host unit tests for worktree $W in $B # wtest.sh build|run [ctest -R regex] - host unit tests for worktree $W in $B
W=${W:?set W to the MobileGL worktree as a WSL path} W=${W:?set W to the MobileGL worktree as a WSL path}
B=${B:-$HOME/mgl-test-perf} B=${B:-$HOME/mgl-test-perf}
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - tools/device_bench/bench.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# In-game FPS benchmark for MobileGL on a real device, driven through FCL. # In-game FPS benchmark for MobileGL on a real device, driven through FCL.
# #
# Prerequisites (one-time, manual): # Prerequisites (one-time, manual):
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - tools/device_bench/disagg/bench_session.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# bench_session.sh start|stop|status - P15 measurement-validity rule, device side (Lenovo Y700, SM8650). # bench_session.sh start|stop|status - P15 measurement-validity rule, device side (Lenovo Y700, SM8650).
# #
# start: # start:
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - tools/device_bench/disagg/crosshost_accept.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# P12 exit gate (b): a client on ANOTHER machine (WSL on the Windows host) replays the in-world # P12 exit gate (b): a client on ANOTHER machine (WSL on the Windows host) replays the in-world
# Minecraft trace against the phone's render server over TCP + stream data plane, and the P6.5 # Minecraft trace against the phone's render server over TCP + stream data plane, and the P6.5
# link numbers are recorded. Run from Git Bash. Results: $PERF_WORK/crosshost/<run>/. # link numbers are recorded. Run from Git Bash. Results: $PERF_WORK/crosshost/<run>/.
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - tools/device_bench/disagg/devstate.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# devstate.sh <outdir>: the one-line device state every reported number carries (P15 measurement rules). # devstate.sh <outdir>: the one-line device state every reported number carries (P15 measurement rules).
# Needs <outdir>/freq.txt + pin.txt (freq_sampler / pin_clocks show). Writes <outdir>/profile.txt, # Needs <outdir>/freq.txt + pin.txt (freq_sampler / pin_clocks show). Writes <outdir>/profile.txt,
# <outdir>/valid.txt and <outdir>/state.txt, and prints the state line: # <outdir>/valid.txt and <outdir>/state.txt, and prints the state line:
+8
View File
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - tools/device_bench/disagg/fcl_accept.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# P12 exit gate (a): FCL (the game, its own process) renders into the render server's on-screen # P12 exit gate (a): FCL (the game, its own process) renders into the render server's on-screen
# window on the same phone; then the server is killed and the client must latch DEVICE LOST. # window on the same phone; then the server is killed and the client must latch DEVICE LOST.
# #
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - tools/device_bench/disagg/fcl_count.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-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_count.sh <name> <hostlib> <backend> <transport> <outdir> # fcl_count.sh <name> <hostlib> <backend> <transport> <outdir>
# One FCL launch with a P15Count build (p15count.patch): waits for steady in-world frames, runs # One FCL launch with a P15Count build (p15count.patch): waits for steady in-world frames, runs
# 25 s with debug.mobilegl.p15count=1, and extracts the P15CNT lines to <outdir>/count.txt. # 25 s with debug.mobilegl.p15count=1, and extracts the P15CNT lines to <outdir>/count.txt.
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - tools/device_bench/disagg/fcl_p14.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-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 Minecraft in-world fps for P14: swaps FCL's built-in libMobileGL.so (rooted device), picks # FCL Minecraft in-world fps for P14: swaps FCL's built-in libMobileGL.so (rooted device), picks
# the backend through FCL's own renderer id and the transport through debug.mobilegl.transport, # the backend through FCL's own renderer id and the transport through debug.mobilegl.transport,
# launches FCL (it auto-enters the last world), and reads MobileGL's opt-in fps log # launches FCL (it auto-enters the last world), and reads MobileGL's opt-in fps log
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - tools/device_bench/disagg/fcl_probe.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-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_probe.sh <name> <hostlib> <backend> <transport> <outdir> [simpleperf=1] # fcl_probe.sh <name> <hostlib> <backend> <transport> <outdir> [simpleperf=1]
# One FCL launch: wait for steady in-world frames (fps log), then # One FCL launch: wait for steady in-world frames (fps log), then
# A) 4 s ftrace (sched + kgsl cmdbatch/waittimestamp + atrace gfx for the app), schedstat and gpu_clock_stats bracketing it # A) 4 s ftrace (sched + kgsl cmdbatch/waittimestamp + atrace gfx for the app), schedstat and gpu_clock_stats bracketing it
@@ -1,4 +1,12 @@
#!/system/bin/sh #!/system/bin/sh
# MobileGL - tools/device_bench/disagg/freq_sampler.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# freq_sampler.sh <outfile> [period_s=2] - DEVICE-SIDE (pushed to /data/local/tmp, run as root in the # freq_sampler.sh <outfile> [period_s=2] - DEVICE-SIDE (pushed to /data/local/tmp, run as root in the
# background for the length of one measurement, killed by the caller). One line per sample: # background for the length of one measurement, killed by the caller). One line per sample:
# t=<uptime> c<policy>=<cur>/<max> ... gpu=<devfreq cur> gpuclk=<kgsl gpuclk> tpl=<thermal_pwrlevel> # t=<uptime> c<policy>=<cur>/<max> ... gpu=<devfreq cur> gpuclk=<kgsl gpuclk> tpl=<thermal_pwrlevel>
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - tools/device_bench/disagg/matrix_p14.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# P14 perf matrix: dev (pull monolith, baseline APK) vs feat (monolith / inproc / spawn+shm / # P14 perf matrix: dev (pull monolith, baseline APK) vs feat (monolith / inproc / spawn+shm /
# spawn+tcp-localhost) x {Espryt, Magma} x {openra, rd12}, on a rooted device with pinned clocks. # spawn+tcp-localhost) x {Espryt, Magma} x {openra, rd12}, on a rooted device with pinned clocks.
# #
+8
View File
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - tools/device_bench/disagg/netbench.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# Wi-Fi TCP throughput WSL -> phone, 3 reps, sink to /dev/null, nc restarted per rep. # Wi-Fi TCP throughput WSL -> phone, 3 reps, sink to /dev/null, nc restarted per rep.
set -u set -u
PORT=5213 PORT=5213
@@ -1,4 +1,12 @@
#!/bin/bash #!/bin/bash
# MobileGL - tools/device_bench/disagg/phone_strace.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# Phone-side: attach strace (as app uid) to the session child for 6s, dump head. # Phone-side: attach strace (as app uid) to the session child for 6s, dump head.
set -u set -u
PID=$(adb -s 2f7cbe2e shell "ps -A -o PID,NAME,ELAPSED | awk '\$2==\"libMobileGLServer.so\" && \$1>15000 {print \$1}'" | tr -d '\r' | head -1) PID=$(adb -s 2f7cbe2e shell "ps -A -o PID,NAME,ELAPSED | awk '\$2==\"libMobileGLServer.so\" && \$1>15000 {print \$1}'" | tr -d '\r' | head -1)
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - tools/device_bench/disagg/pin_clocks.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# Pin / restore CPU and GPU clocks on a rooted bench device (P14). # Pin / restore CPU and GPU clocks on a rooted bench device (P14).
# SER=<serial> bash pin_clocks.sh pin|restore|show # SER=<serial> bash pin_clocks.sh pin|restore|show
# pin: every cpufreq policy gets scaling_min = scaling_max = its PIN_<policy> value (default: # pin: every cpufreq policy gets scaling_min = scaling_max = its PIN_<policy> value (default:
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - tools/device_bench/disagg/profile_matrix.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# Four-arm MobileGL transport performance matrix on device 2f7cbe2e. # Four-arm MobileGL transport performance matrix on device 2f7cbe2e.
# Arms (interleaved A B C D rounds): monolith / inproc / spawn+shm / spawn+tcp-localhost. # Arms (interleaved A B C D rounds): monolith / inproc / spawn+shm / spawn+tcp-localhost.
# #
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - tools/device_bench/disagg/profile_p14.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-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 simpleperf profile of a matrix_p14 arm. # One simpleperf profile of a matrix_p14 arm.
# ARM=monolith BACKEND=DirectVulkan WL=rd12 TAG=prof SYMDIR=<unstripped libs> bash profile_p14.sh # ARM=monolith BACKEND=DirectVulkan WL=rd12 TAG=prof SYMDIR=<unstripped libs> bash profile_p14.sh
# Records the whole run (every thread of the app's processes, the spawn/tcp render server # Records the whole run (every thread of the app's processes, the spawn/tcp render server
+8
View File
@@ -1,4 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# MobileGL - tools/device_bench/disagg/run_matrix.sh
# Copyright (c) 2025-2026 MobileGL-Dev
# Licensed under the GNU Lesser General Public License v3.0:
# https://www.gnu.org/licenses/gpl-3.0.txt
# https://www.gnu.org/licenses/lgpl-3.0.txt
# SPDX-License-Identifier: LGPL-3.0-only
# End of Source File Header
# Four-arm MobileGL transport performance matrix on device 2f7cbe2e. # Four-arm MobileGL transport performance matrix on device 2f7cbe2e.
# Arms (interleaved A B C D rounds): monolith / inproc / spawn+shm / spawn+tcp-localhost. # Arms (interleaved A B C D rounds): monolith / inproc / spawn+shm / spawn+tcp-localhost.
# #

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