swung0x48
4f34da0ef1
[Test] (scripts/ci): keep the TCP lane controls' errors out of annotations
...
- the red controls ran spawn_lane_parity and junit_tally main() uncaptured, so every passing run showed their ::error:: line as a failure annotation on the pipe-gates job
- quiet_main captures a gate's output; each red control now also asserts the reason it printed
2026-10-17 07:50:08 -04:00
swung0x48
53e4c423ee
[Test] (MG_Test/Wire, scripts/data): wait for events, not deadlines, in the guilty-reset latch test
...
- ServerLoopEglLatchTest.AGuiltyReset... failed 8 times in CI under load (exit 8): d1b3a332 fixed the race, but its waits still had 2 s deadlines a slow runner could reach
- every wait now ends on its event and is bounded by 10 s, which only a failing run reaches
- "the GUILTY record is never applied" is no longer a 2 s wait for a record that must not come: the test waits for the latched apply thread to leave its loop, joins it, then reads the applied seq; the case takes about 40 ms instead of 2 s
- still red as its comment says: no LatchIfGpuFaulted in the apply loop exits 6, an INNOCENT reset that latches sets bit 1
2026-10-17 07:39:47 -04:00
swung0x48
ca5470ce74
[Fix] (MG_Pipe, MG_Test/Wire, scripts/data): aim the session-loss knob after the target is ready, not after 100 ms
...
- MOBILEGL_DEBUG_INJECT_DEVICE_LOST_PID=file:<path> takes the pid from a file read at every ask, so a running server can be aimed, as the Android property already can
- CompositorRecovery and ClientRecovery's pid-targeted case aim it once their target says it got there (its first frame; current): under load the 100 ms clock lost the compositor inside its first make-current
- the knob's comment no longer promises an ordering a clock cannot keep
- FatalFunnelSeam.TheSessionLossKnobTakesAPidOrAFileThatHoldsOne covers both forms
- the file-size baseline drops by the 83 lines the previous commit moved out of PipeApply.cpp
2026-10-17 07:20:38 -04:00
swung0x48
7de09a673d
[Refactor] (CMakeLists.txt, MG_Backend, MG_Backend/DirectGLES, MG_Backend/DirectVulkan, MG_Remote/Client, MG_Remote/Protocol, MG_Remote/Server, MG_Test/Backend, scripts/data): move BackendObject's EGL bookkeeping into EGLSurfaceRegistry
...
- EGLSurfaceRegistry owns the display, the surface records, the active surface, each thread's binding and the one recursive lock; BackendObject holds one and is its hooks, so the EGL virtuals keep their signatures and their defaults
- the backends reach it through EGLRegistry(): lookups return copies, and the steps they compose (adopting an already-bound surface, a window's surfaces, a window's new extent) are named operations instead of writes to protected fields
- WindowBackend and WindowHandle move with it
- BackendObjectEglStateTest only re-points its accessors; the same 235 mutants, carried over, get the same verdicts except three that need a kind-None record, which no call can make, and one that cannot be written against the registry
- comments that cited BackendObject.cpp line numbers name the function
2026-10-17 03:55:28 -04:00
swung0x48
55fa9cdfdc
[Refactor] (CMakeLists.txt, MG_Backend, MG_Backend/DirectVulkan, MG_Impl/GLImpl, MG_Impl/Pipe, MG_IntegrationTest/Scenarios, MG_Pipe/generated, MG_Remote/Client, MG_Test/Query, MG_Test/Texture, scripts, scripts/data): move the function table and shared-image types out of BackendObject.h
...
- BackendFunctions.h holds GLFunctionsTable, GlobalBackendFunctionsTable, CopyImageEndpoint, the sync and query handles and the present damage; files that only call through the table include it instead of the backend object
- SharedImageTypes.h holds the shared-image structs
- FormatCapabilities.cpp holds the BackendCaps.h helpers that BackendObject.cpp defined
- gen_pipe.py reads the table from its new header
- two comments that cited a BackendObject.cpp line name the function instead
2026-10-16 23:30:20 -04:00
swung0x48
ad7340921e
[Fix] (MG_Impl/GLImpl, MG_State/GLState, MG_Test/Texture, scripts/data): keep GENERATE_MIPMAP on the texture, not keyed by GL name
...
- A process-wide map keyed by GL name gave a deleted texture's flag to the
next texture created under the recycled name.
- The flag is now texture object state, so it dies with its texture.
2026-10-16 16:52:59 -04:00
swung0x48
095cf2643b
[CI] (scripts/data): expect the new F1 scenarios to skip on the monolith lanes
2026-10-16 16:04:48 -04:00
swung0x48
230a90a439
[Fix] (MG_Impl/GLImpl, MG_IntegrationTest, MG_IntegrationTest/Scenarios, MG_Remote/Client, MG_Test/Texture, scripts/data): make by-name texture calls act on the named texture
...
- The 19 calls that bound their texture first now share object cores with the target forms
- GL 4.6 rules the binding hid: cube maps in TextureSubImage3D and level queries, named target errors
2026-10-16 14:47:50 -04:00
swung0x48
28bf0c1653
[Refactor] (MG_Backend, MG_Impl/Pipe, MG_IntegrationTest/Harness, MG_Pipe, MG_Pipe/generated, MG_Remote/Client, MG_Test/Pipe, MG_Test/Wire, scripts/data): add by-name mipmap and copy slots that name their texture
...
- GenerateTextureMipmap and CopyTextureSubImage2D emit the records their target slots emit
- RemoteEmitTable.TheThreeClassesPartitionAllSeventyOneSlots is renamed ...PartitionEverySlot
2026-10-16 14:47:40 -04:00
swung0x48
f4994ee36e
[Chore] (MG_Backend, MG_Backend/DirectGLES, MG_Backend/DirectVulkan, MG_Backend/MGPipe, MG_Backend/Record, MG_Benchmark/Buffer, MG_Benchmark/Container, MG_Benchmark/Driver, MG_Benchmark/Program, MG_Benchmark/ShaderCache, MG_Benchmark/Transpile, MG_Gbm, MG_Impl, MG_Impl/CGLImpl, MG_Impl/DyldInterpose, MG_Impl/EGLImpl, MG_Impl/GLImpl, MG_Impl/GLXImpl, MG_Impl/NSOpenGLImpl, MG_Impl/Pipe, MG_Impl/WGLImpl, MG_IntegrationTest, MG_IntegrationTest/Harness, MG_IntegrationTest/Scenarios, MG_Pipe, MG_Remote, MG_Remote/Client, MG_Remote/Protocol, MG_Remote/Server, MG_Remote/Transport, MG_Remote/Wire, MG_State/EGLState, MG_State/GLState, 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/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, MG_Util/Async, MG_Util/BackendLoaders, MG_Util/Converters, MG_Util/Damage, MG_Util/Debug, MG_Util/Math, MG_Util/Metrics, MG_Util/SelfTest, MG_Util/ShaderTranspiler, MG_Util/Texture, MG_Util/X11, MobileGL, scripts/data, tools/cts, tools/device_bench, tools/spikes, tools/trace_replay, tools/wgl-smoke): clang-format every C and C++ source
...
- Layout only: token streams match up to split literals, continuations and using order
- The size totals fall, so the structure baseline is lowered
2026-10-16 06:30:38 -04:00
swung0x48
76b10cc35b
[CI] (scripts): read the dirty-bit name table in any line layout
2026-10-16 06:26:09 -04:00
swung0x48
58c727f74e
[Tools] (scripts): format exactly the files the format check covers
...
- Skip MG_Impl/GLImpl/Exporting/Definitions.cpp, whose table clang-format cannot wrap
2026-10-16 06:26:07 -04:00
swung0x48
351bb35a96
[CI] (scripts/data): lower the baselines after the BackendCaps.h move
2026-10-16 05:47:58 -04:00
swung0x48
778014c013
[Refactor] (MG_Backend, MG_Backend/DirectVulkan, MG_Pipe, MG_Remote/Client, MG_State/GLState, MG_Test/Pipe, MG_Util/SelfTest, MG_Util/ShaderTranspiler, MobileGL, scripts): move the backend capability types into BackendCaps.h
...
- Config.h includes only BackendCaps.h, no longer both backends; pActiveBackendObject is declared with the interface
2026-10-16 05:47:42 -04:00
swung0x48
cf1b7f6ed8
[CI] (scripts/ci, scripts/data): lower the baselines after the DirectGLES split
2026-10-16 05:17:25 -04:00
swung0x48
91294a19f8
[Docs] (MG_Backend/DirectGLES, MG_Backend/DirectVulkan, MG_Backend/Record, MG_Impl/Pipe, MG_IntegrationTest/Scenarios, MG_Pipe, MG_Remote/Client, MG_Remote/Server, MG_State/GLState, MG_Test, MG_Test/Backend, MG_Test/Buffer, MG_Test/Pipe, MG_Test/Wire, scripts, scripts/ci): cite symbols, not lines, in the split backend files
2026-10-16 05:16:51 -04:00
swung0x48
1ec54d876f
[CI] (scripts/ci): read every DirectGLES source in the memo purity gate
2026-10-16 04:47:34 -04:00
swung0x48
5973bf353b
[CI] (scripts/data): lower the hygiene and structure baselines after the renderer split
2026-10-16 04:30:51 -04:00
swung0x48
7f7c596213
[Docs] (docs/Disaggregated, docs/MobileVA, docs/Performance, MG_Impl/Pipe, MG_IntegrationTest/Scenarios, MG_State/GLState, MG_Test/Buffer, MG_Test/Wire, scripts/ci): name the renderer's new files
2026-10-16 04:28:53 -04:00
swung0x48
f90537c3cb
[CI] (.github/workflows, CONTRIBUTING.md, scripts, scripts/data): add the layering and size ratchets
2026-10-16 04:01:29 -04:00
swung0x48
26a30ecd02
[CI] (CONTRIBUTING.md, scripts): skip moved lines in the changed-lines format check
2026-10-16 04:01:27 -04:00
swung0x48
37cb446bda
[CI] (scripts/data): lower the text hygiene baseline after the comment cleanup
2026-10-15 23:16:52 -04:00
swung0x48
92f1b9b231
[CI] (scripts/data): lower the text hygiene baseline after the comment cleanup
2026-10-15 22:29:04 -04:00
swung0x48
265966a15d
[Docs] (MG_Backend/DirectGLES, MG_Backend/MGPipe, MG_Backend/Record, MG_Impl/Pipe, MG_IntegrationTest, MG_IntegrationTest/Harness, MG_IntegrationTest/Scenarios, MG_Pipe, MG_Pipe/generated, MG_Remote, MG_Remote/Client, MG_Remote/Server, MG_Remote/Transport, MG_Remote/Wire, MG_State/GLState, MG_Test/Pipe, MG_Test/Wire, MG_Util/Metrics, MobileGL, scripts, scripts/ci): cite symbols, not line numbers, in the shortened files
2026-10-15 22:27:15 -04:00
swung0x48
aabca3c171
[Docs] (.claude/skills, .github/workflows, CMakeLists.txt, docs/archive, docs/Disaggregated, docs/MobileVA, docs/Performance, MG_Backend, MG_Backend/DirectGLES, MG_Backend/DirectVulkan, MG_Backend/Record, MG_Gbm, MG_Impl, MG_Impl/EGLImpl, MG_Impl/GLImpl, MG_Impl/GLXImpl, MG_Impl/Pipe, MG_IntegrationTest, MG_IntegrationTest/Harness, MG_IntegrationTest/Scenarios, MG_Pipe, MG_Pipe/generated, MG_Remote, MG_Remote/Client, MG_Remote/Server, MG_Remote/Transport, MG_Remote/Wire, MG_State/GLState, MG_Test/Pipe, MG_Test/Util, MG_Test/Wire, MobileGL, scripts, scripts/data, tools/device_bench, userguide): archive the planning notes and agent contracts under docs/archive
...
- DEBTS.md and OPEN-QUESTIONS.md stay maintained, now in docs/Disaggregated.
2026-10-15 20:01:45 -04:00
swung0x48
0e3e2b7761
[CI, Docs] (CONTRIBUTING.md, scripts): freeze docs/archive and treat moved files as moves
2026-10-15 19:55:42 -04:00
swung0x48
66ef4076c8
[Fix] (scripts, scripts/data): count comment lines the same on CRLF checkouts
2026-10-15 10:24:19 -04:00
swung0x48
67c4864ea1
[CI] (.github/workflows, scripts, scripts/data): check commit messages, comment text and formatting
2026-10-15 10:17:32 -04:00
swung0x48
73d4511bc1
[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
2026-10-15 10:15:40 -04:00
swung0x48
5370d917d0
[Docs] (.github/workflows, MG_Backend/DirectGLES, MG_Backend/DirectVulkan, MG_Benchmark/Driver, MG_Impl/EGLImpl, MG_Impl/Pipe, MG_IntegrationTest, MG_IntegrationTest/Harness, MG_IntegrationTest/Scenarios, MG_Pipe, MG_State/GLState, MG_Test, MG_Test/Pipe, MG_Test/Program, MG_Test/SelfTest, MG_Test/ShaderTranspiler, MG_Test/Swapchain, MG_Test/Wire, MG_Util/Async, MG_Util/BackendLoaders, MG_Util/SelfTest, MG_Util/ShaderTranspiler, MobileGL, scripts/ci, tools/spikes, tools/trace_replay): name drivers and techniques instead of external projects
2026-10-15 10:15:37 -04:00
swung0x48
506ab1541d
[Docs] (.github/workflows, CMakeLists.txt, MG_Backend, MG_Backend/DirectGLES, MG_Backend/DirectVulkan, MG_Backend/MGPipe, MG_Backend/Record, MG_Impl/Pipe, MG_IntegrationTest, MG_IntegrationTest/Harness, MG_IntegrationTest/Scenarios, MG_Pipe, MG_Remote, MG_Remote/Client, MG_Remote/Server, MG_Remote/Transport, MG_Remote/Wire, MG_State/GLState, MG_Test, MG_Test/Buffer, MG_Test/Purity, MG_Test/Util, MG_Test/Wire, MG_Util/Metrics, MobileGL, scripts, tools/trace_replay): replace stale line-number citations with sections and symbols
2026-10-15 10:15:35 -04:00
swung0x48
c4fb9397cb
[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
2026-10-15 10:15:34 -04:00
swung0x48
35c7b589f4
[Chore] (scripts): add license headers only where missing, covering .inc and Python
2026-10-15 10:15:32 -04:00
swung0x48
fdb93e9e65
[Fix] (CI): treat a process that exits mid-read of its /proc stat as gone in the TCP server fixture
2026-10-14 18:59:27 -04:00
swung0x48
2afbcaaf4f
[CI] (Census): retire the renamed subgroup sanity case and Magma's split T0 fallback, admit the split-only writeback skip
2026-10-13 12:47:31 -04:00
swung0x48
5980349b33
[Fix] (CI): the parity gate sanctions Magma's spawn-only AdoptTier0 fallback case
2026-10-13 08:02:36 -04:00
swung0x48
171eed9ac0
[Fix] (CI): re-baseline the link ratchet for the seq-ordered buffer writeback signature
2026-10-12 08:40:52 -04:00
swung0x48
7e544c2b78
[Feat] (Frontend): add GL_EXT_fragment_shading_rate state, entry points and getters
2026-10-12 08:03:27 -04:00
swung0x48
b733eed45c
[CI] (census): drop the partial-SubData case from the magma-buffers baseline
2026-10-10 08:18:16 -04:00
swung0x48
f4f2bec711
[Perf] (Espryt): drain small partial writes as a whole-store orphan map
2026-10-10 04:14:25 -04:00
swung0x48
9ff97c2e7e
CI: the control smoke test's stub ctest follows E1 to ApplierReset as well.
2026-10-09 06:52:45 -04:00
swung0x48
9eed5a27d7
CI: the E1 wait-boundary control follows its unit case to ApplierReset (GenerateMipmap went kWaitNone in 2fbcc224), and ScenarioIsolationScenario's four verify-split entries are listed as reaching no verb.
2026-10-09 06:41:45 -04:00
swung0x48
79b6deacaf
CI: ScenarioIsolationScenario is exempt from split coverage as a mechanism case (its pair only means something run back to back in one process).
2026-10-09 04:09:48 -04:00
swung0x48
e5ab9d4f06
CI: barriered-validate wrapper builds without the transport, and the field-ownership self-test expects CopyTexImage2D unbarriered since P15.
2026-10-08 23:04:48 -04:00
swung0x48
80c6aa39da
[Fix] (CI): the spawn-lane parity gate sanctions the inproc-only .SyncValidation. tail, as it does .Mip3DValidation.
2026-10-07 22:20:45 -04:00
swung0x48
92da2486c5
[Fix] (CI): the latch-site gate's DrainRing pattern accepts the drain's poll-head parameter.
2026-10-07 22:13:20 -04:00
swung0x48
781a7446c4
[CI] (Magma): the run-ahead and cache sync-validation gates turn on submit-time validation, without which a cross-submission hazard is never reported (a broken upload barrier now reds the run-ahead gate).
2026-10-07 19:49:33 -04:00
swung0x48
4379ceed97
[CI] (P13): the pipe generator's scanner drops its two retired registry exemptions.
2026-10-06 22:17:17 -04:00
swung0x48
f7360fe210
[CI] (P13): the memo-purity gate drops its last allow entry and the fatal census holds at 70 abort sites.
2026-10-06 21:58:43 -04:00
swung0x48
de6ab16756
[Refactor] (P13): the legacy BufferBackendOps table, Magma's never-populated texture/render-pass/renderbuffer caches and VkClearManager go, and the buffer mock tests drive the resource op table instead (ratchet 36 -> 27).
2026-10-06 21:39:39 -04:00