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
2793e46c8b
[Refactor] (CMakeLists.txt, MG_Pipe): move the device-loss debug knobs out of PipeApply.cpp
...
- PipeDeviceLossKnobs.cpp holds MGPipeDebugDeviceLossDue and MGPipeDebugSessionLossDue as they were; PipeApply.cpp keeps the session-fail seam its comment places there
2026-10-17 07:03:03 -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
a87732511b
[Test] (MG_Test, MG_Test/Backend): pin BackendObject's EGL surface bookkeeping before it moves
...
- BackendObjectEglStateTest: 90 cases over the display, the surface records, the active surface, each thread's binding, the capability probe, the deferred destroy and the locking, driven through a double with no device; every hook is logged with its thread and the state it saw from inside
- the double reads the base's state only in a few accessors, so moving the bookkeeping re-points them and no case
- checked against 235 hand-made mutants of the bookkeeping: every one is caught except those that cannot change an outcome, one that is undefined behaviour and three that only drop an outer lock
2026-10-17 02:57:00 -04:00
swung0x48
1aa5cf63a6
[Refactor] (MG_Backend, MG_Backend/DirectGLES, MG_Backend/DirectVulkan, MG_Impl, MG_Impl/EGLImpl, MG_Impl/GLImpl, MG_Impl/GLXImpl, MG_Pipe, MG_Remote/Client, MG_Remote/Server, MG_Test/Wire): split the server-only and client-only hooks out of BackendObject
...
- ServerHooks and ClientHooks (BackendRoles.h) hold the virtuals that only the server, or only a client of a remote server, calls, with the defaults they had; BackendObject::AsServer and AsClient return them, or null for a backend without the role
- DirectGLES and DirectVulkan implement ServerHooks, BackendObject_Remote implements ClientHooks, and the test doubles that run as a server's backend take the server role
- every call site keeps its answer: where no backend and a backend without the role answered differently, the backend check stays and the role check gives the old default
- ServerLoop::BackendHooks is the server's accessor, asked at each use
- comments that placed the function table in BackendObject.h name BackendFunctions.h
2026-10-17 00:10:31 -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
7dbe0e5c78
[Docs] (.git-blame-ignore-revs, CONTRIBUTING.md): list the reformat for git blame and update the format rules
2026-10-16 06:30:59 -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
f7e065aedb
[Docs] (MG_Backend/Record, MG_Impl/GLImpl, MG_Impl/Pipe, MG_Remote, MG_Remote/Client): cite BackendObject.h symbols, not lines
2026-10-16 05:47:43 -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
d1f220c1a2
[Refactor] (CMakeLists.txt, MG_Backend/DirectGLES): split Managers.cpp by object kind
...
- helpers and state several files share lose `static`; ManagersInternal.h declares them
2026-10-16 05:10:03 -04:00
swung0x48
b0f73e3795
[Refactor] (CMakeLists.txt, MG_Backend/DirectGLES): split DirectGLES.cpp by area
...
- helpers and state several files share lose `static`; DirectGLESInternal.h declares them
2026-10-16 05:09:31 -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
16994dc994
[Docs] (MG_Backend/Record, MG_IntegrationTest/Scenarios): cite symbols the split left past their files' ends
2026-10-16 04:30:26 -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
98c8e8833c
[Refactor] (CMakeLists.txt, MG_Backend/DirectVulkan): split VulkanRenderer.cpp and its fragments by area
...
- code moves unchanged; helpers several files use are in VulkanRendererInternal.h
2026-10-16 04:28:47 -04:00
swung0x48
b0e229f2a3
[Refactor] (MG_Backend/DirectVulkan): make the renderer's two file-scope singletons inline
2026-10-16 04:20:26 -04:00
swung0x48
01f80b0a0a
[Refactor] (CMakeLists.txt, MG_Backend, MG_Backend/DirectGLES, MG_Backend/DirectVulkan, MG_Backend/MGPipe, MG_Test/Framebuffer, MG_Test/Texture): move the client readback packing out of DirectGLES
2026-10-16 04:20:19 -04:00
swung0x48
deae0fc4c1
[Refactor] (MG_Backend/DirectGLES): drop the readback stores' pack-buffer branch, which never runs
2026-10-16 04:05:43 -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
7bb5a9ccbe
[Docs] (.github/workflows, docs/Disaggregated, MG_IntegrationTest): shorten the long comments in the integration lanes and test workflow
2026-10-15 23:16:45 -04:00
swung0x48
1161d489e2
[Build] (MG_IntegrationTest): register each integration lane with one mgl_itest_lane call
...
- The generated test registrations are identical in the monolith, verify and split builds.
2026-10-15 22:41:35 -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
23ee8bdb49
[Docs] (docs/Disaggregated, MG_Remote, MG_Remote/Client, MG_Remote/Protocol, MG_Remote/Server, MG_Remote/Transport, MG_Remote/Wire): shorten long comments and move their design arguments into docs
2026-10-15 21:53:39 -04:00
swung0x48
37ecba200b
[Docs] (docs/Disaggregated, MG_Impl/Pipe, MG_Remote/Client): shorten long comments and move their design arguments into docs
2026-10-15 21:18:49 -04:00
swung0x48
7ec1448f03
[Docs] (docs/Disaggregated, MG_Backend/MGPipe, MG_IntegrationTest/Harness, MG_Pipe): shorten long comments and move their design arguments into docs
2026-10-15 20:48:58 -04:00
swung0x48
211ca08b0c
[Docs] (docs/Disaggregated): point the indexes' prose at docs/archive
2026-10-15 20:06:45 -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
174a428e81
[Test] (MG_Test/Util): give each log level test process its own log file
2026-10-15 12:22:36 -04:00
swung0x48
d3c10f15c3
[Fix, Test] (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): drain shader compile workers before a test's main returns
...
- On MSVC the atexit drain deadlocked with a worker registering a static's
destructor, hanging the shader tests on Windows.
2026-10-15 12:12:24 -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
b1f36a71b5
[Docs] (MG_Backend, MG_Backend/DirectGLES, MG_Impl/Pipe, MG_IntegrationTest/Scenarios, MG_State/GLState, MG_Test/Buffer, MG_Test/Util, MG_Util/Metrics): correct comments about retired switches and moved code
2026-10-15 10:15:41 -04:00
swung0x48
725a73e2b5
[Docs] (.claude/skills): point the anland skill's commit rule at CONTRIBUTING.md
2026-10-15 10:15:41 -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
b808b68fd2
[Chore] (MG_Backend/DirectVulkan): remove an empty source file nothing builds
2026-10-15 10:15:39 -04:00
swung0x48
eb0830dfeb
[Fix] (MG_IntegrationTest/Scenarios): re-encode a GBK section sign as UTF-8
2026-10-15 10:15:38 -04:00
swung0x48
f9c5e0adbc
[Docs] (docs/Disaggregated, docs/Performance, MG_Pipe, MG_Remote/Client, MobileGL): correct a stale default, stub banners, a call count and a status line
...
- the create-window measurements move from Config.h to docs/Performance
2026-10-15 10:15:38 -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
f0cd9b2c84
[Chore] (MG_Client, MG_Protocol, MG_Protocol/gen): remove generated wire code nothing builds or includes
2026-10-15 10:15:30 -04:00
swung0x48
bc38b0f735
[Docs] (AGENTS.md, CLAUDE.md, CONTRIBUTING.md): add rules for commits, comments and files
2026-10-15 10:15:30 -04:00
swung0x48
37d07cd38c
[CI] (.github/workflows): run CI on cleanup as on feat/disaggregated
2026-10-15 08:28:43 -04:00
swung0x48
652e7cd3fc
[Merge] (Anland): take fix-d1100-mali - the damage-swap fallback and extent-and-format shared-image naming on kernels with one dma-buf identity
2026-10-14 20:40:21 -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
d1b3a3325f
[Test] (ServerLoop): arm the guilty-reset drain hold by the healthy record's seq so the previous drain cannot take it
2026-10-14 14:59:47 -04:00
swung0x48
28f937d539
[Fix] (Espryt): keep the invalid-image placeholder on ANGLE instead of probing an empty unit it faults on
2026-10-14 10:30:17 -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
e8dafacb1c
[Fix] (Magma): leave the fragment stage out of rasterizer-discard pipelines
2026-10-13 12:47:30 -04:00
swung0x48
6336943b87
[Test] (Coverage): register ClipControlScenario on the gated split arms
2026-10-13 10:28:38 -04:00
swung0x48
a31eabd12b
[Test] (IterationRP): accept the driver's dot() rounding within one ulp in the sampled first-reduction probe
2026-10-13 10:28:37 -04:00
swung0x48
b9f940ac63
[Test] (Pipe): re-pin the pipeline member count and the clear-blit recorder golden
2026-10-13 08:02:37 -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
fdb747b06d
[Fix] (Remote): stop the adoption's falling edge from overwriting writes made through the adopted map
2026-10-13 08:02:35 -04:00
swung0x48
8ecab66567
[Fix] (Espryt): probe empty image units and keep invalid units empty on drivers that read them as zero
2026-10-13 08:02:34 -04:00
swung0x48
d6b0eba8fe
[Feat] (Subgroups): use native subgroups or emulate them on both backends
2026-10-13 06:03:57 -04:00
swung0x48
cfbaffd757
[Fix] (Espryt): defer geometry emits behind memory writes on drivers that drop them
2026-10-12 23:57:48 -04:00
swung0x48
735b705397
[Fix] (Espryt): invalid image units read zero through a shaped placeholder
2026-10-12 23:13:18 -04:00
swung0x48
cd9f67763e
[Fix] (Magma): re-emit dynamic state after rasterizer-discard draws
2026-10-12 22:32:28 -04:00
swung0x48
8c2d5019c2
[Fix] (Magma): convert 32-bit int and packed 2_10_10_10 float attributes on the CPU
2026-10-12 21:13:30 -04:00
swung0x48
4e0989b99a
[Fix] (Magma): read unbacked depth levels back from the CPU shadow
2026-10-12 21:03:54 -04:00
swung0x48
4eb0dbc8a9
[Fix] (Magma): probe and work around Adreno E5 transfer reads and cross-format slice copies
2026-10-12 21:00:18 -04:00
swung0x48
065d1582ba
[Fix] (Magma): ignore shader gl_SampleMask without multisample fragment ops
2026-10-12 19:37:25 -04:00
swung0x48
05d58a566a
[Fix] (Espryt): sample cube-array shadow textures at LOD 0 with texture() outside the fragment stage
2026-10-12 19:05:33 -04:00
swung0x48
702f937ca9
[Fix] (Pipe): avalanche the composite shutter mix so dirty bits stop colliding
2026-10-12 18:55:51 -04:00
swung0x48
6129d6e463
[Fix] (Magma): zero gl_Layer in draws into a non-layered framebuffer
2026-10-12 18:28:13 -04:00
swung0x48
53f3b7a9af
[Fix] (GL): leave the injected default fragment stage out of program pipeline validation
2026-10-12 18:28:03 -04:00
swung0x48
47601cbbb8
[Fix] (Buffer): refresh persistent read maps at a client-mapped buffer barrier
2026-10-12 18:00:16 -04:00
swung0x48
cd26f508df
[Fix] (Pipe): skip the location tables a failed relink cleared when emitting program bindings
2026-10-12 15:30:33 -04:00
swung0x48
da6b172d08
[Fix] (Magma): lower pixel_center_integer gl_FragCoord so Vulkan validation stops refusing the program
2026-10-12 15:06:42 -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
09b315197b
[Fix] (Espryt): bound usampler2DMS fetches by the bound texture's real sample count
2026-10-12 08:39:26 -04:00
swung0x48
c9bf43b710
[Fix] (Texture): decode ETC2/EAC uploads into the texel shadow
2026-10-12 08:32:53 -04:00
swung0x48
1962e0c603
[Fix] (Buffer): refresh persistent read maps at glFinish and glClientWaitSync
2026-10-12 08:32:52 -04:00
swung0x48
acad001b34
[Fix] (Pipe): bind incomplete image units as no image
2026-10-12 08:32:51 -04:00
swung0x48
8fff9363f7
[Fix] (Backend): apply framebuffer no-attachment defaults on both backends
2026-10-12 08:32:51 -04:00
swung0x48
3b0e6270b7
[Fix] (Backend): apply the polygon offset clamp on both backends
2026-10-12 08:32:50 -04:00
swung0x48
1469022b53
[Fix] (Shader): keep ESSL 3.10 block-array indexing and image-uniform rules for sources that declared an es version
2026-10-12 08:32:49 -04:00
swung0x48
e98c5b4a6a
[Fix] (GL): validate program pipelines by the spec rules in glValidateProgramPipeline and on every pipeline draw
2026-10-12 08:32:49 -04:00
swung0x48
e0193f0b3d
[Fix] (GL): fail the link of a non-separable program that has a tessellation or geometry stage but no vertex stage
2026-10-12 08:32:48 -04:00
swung0x48
35077242c3
[Fix] (GL): derive per-stage atomic-counter limits from the backend's storage-block budget and fail the link past them
2026-10-12 08:32:47 -04:00
swung0x48
cc23ed3c7e
[Fix] (Shader): reject a location qualifier on an atomic counter instead of dropping it with a warning
2026-10-12 08:32:47 -04:00