swung0x48
|
0f82c9d757
|
[Fix, Test] (Pipe): mix the program in use and the params aggregate into the sampler-view shutter - set_sampler_views is resolved for the current program and a glUseProgram alone never re-emitted it, so a texture bound to an empty slot under one program was never synced for the next (P4a seam F-1 / F-1b)
|
2026-09-08 20:28:29 -04:00 |
|
swung0x48
|
54566e806f
|
[Fix, Test] (MG_State, Integration): move the framebuffer aggregate from a texture's or renderbuffer's storage definition - set_framebuffer_state inlines an attachment's format and a respecify while attached left Espryt's handle arm answering its four cross-object masks from the stale copy (P4a seam F-3)
|
2026-09-08 20:15:55 -04:00 |
|
swung0x48
|
c397b99d0d
|
[Fix] (Test): warm the whole content space before the SamplerCso leak baseline, so the case measures the death path and not the content-addressed cache filling up
|
2026-09-08 19:08:12 -04:00 |
|
swung0x48
|
33a7c554c5
|
[Test] (Pipe): erase only the cube face a respecify names, not every pending upload that shares its level
|
2026-09-08 19:08:12 -04:00 |
|
swung0x48
|
82484f615d
|
[Test] (Pipe): pin that the applier's no-consumer belt never fires behind the client's gate, on the backend that has a consumer and on the one that has none
|
2026-09-08 19:08:12 -04:00 |
|
swung0x48
|
1ea5d472e8
|
[Test] (Espryt): take G9's reading while the texture is still attachment-only - the applier's params record, Espryt's applied value and the absence of a sampler view, before the sample that would repair all three
|
2026-09-08 19:08:12 -04:00 |
|
swung0x48
|
afcee801cc
|
[Fix] (Test): read the DIRECTION of the subsystem refusal, so the two dependency lanes stop accepting each other's sentence
|
2026-09-08 19:08:12 -04:00 |
|
swung0x48
|
df94d592f4
|
[Fix] (Test): let a repair that did not put the tree back reach the descriptor control's exit code, from the loop and from the EXIT trap
|
2026-09-08 19:08:12 -04:00 |
|
swung0x48
|
77088a681d
|
[Fix] (Magma): drop the per-kind ABA wrapper no build ever evaluates and say why the constexpr table and the knob stand alone
|
2026-09-08 19:08:12 -04:00 |
|
swung0x48
|
f6a2b9f439
|
[Fix] (Test): stop G7's descriptor control carrying on past a Ctrl-C - latch the interrupt from the trap and from a signalled child, and report it as an interruption rather than as the contract tree's verdict
|
2026-09-08 19:08:12 -04:00 |
|
swung0x48
|
4714561f85
|
[Fix, CI] (Pipe): order the byte-identity listing, prove every protected region reaches its closing brace, and pin the include-closure probe count
|
2026-09-08 19:08:12 -04:00 |
|
swung0x48
|
3049dc1d53
|
[Fix, Test] (Pipe): read the shader composite band's own counters in the composite leak case, arm the ABA flip from anywhere under a backend, match Espryt's exact refusal line and pin the bit-10-requires-bit-11 arm
|
2026-09-08 19:08:12 -04:00 |
|
swung0x48
|
13c02437e6
|
[Fix] (Test): make G7's descriptor negative control able to report success - a patch that compiles into a scoped enum, a verdict its own patcher cannot pollute, and repair state the signal traps can see
|
2026-09-08 19:08:12 -04:00 |
|
swung0x48
|
0ba404caec
|
[CI] (Pipe): gate that the unpack ring, the attachment permutation, the depth-stencil sampling core and the format caveat did not move
|
2026-09-08 19:08:12 -04:00 |
|
swung0x48
|
ab4384a007
|
[Test] (Pipe): switch P4a's four object subsystems off against the shipping mask and record the texture upload shape the two counters make visible
|
2026-09-08 19:08:12 -04:00 |
|
swung0x48
|
b969ffa585
|
[Test] (Espryt): assert a glTexParameter on a texture that only ever was an attachment, an image binding or a copy endpoint reaches the driver
|
2026-09-08 19:08:12 -04:00 |
|
swung0x48
|
11044b990f
|
[Test] (Pipe): reproduce the texture, framebuffer, renderbuffer, sampler, view and program handle ABA through public GL and prove the pre-rekey guards are what stops it
|
2026-09-08 19:08:12 -04:00 |
|
swung0x48
|
4399976942
|
[Fix] (Espryt, Pipe): carry the bound sampler state's CSO handle into the sampler twin's sync and mix the texture-bind generation into the shader-image shutter - the twin resolved a content-addressed record by an identity handle, and an image re-bind that only moved the level never re-emitted the set
|
2026-09-08 18:46:58 -04:00 |
|
swung0x48
|
868fdff6a6
|
[Fix] (Espryt): scope the two sampler-window refusals to a draw that actually touches a texture unit, because an empty window is the correct emission for one that touches none
|
2026-09-08 18:44:25 -04:00 |
|
swung0x48
|
aeee64dec7
|
[Fix] (Espryt): flip every remaining seam-shaped decline site loud now that the client half has landed, and record against each mask-shaped one that it was left silent deliberately
|
2026-09-08 18:44:25 -04:00 |
|
swung0x48
|
19d6b9253a
|
[Fix] (Espryt): resolve the framebuffer twin by handle, ask the applier's bound handles whether one framebuffer is bound to both bindings, and make an undescribed binding say so instead of declining in silence
|
2026-09-08 18:44:25 -04:00 |
|
swung0x48
|
dd4d799677
|
[Refactor] (Espryt): call package D's four family wrappers instead of this package's temporary latches, and take wire v3's framebuffer accessors in their landed pointer form
|
2026-09-08 18:44:25 -04:00 |
|
swung0x48
|
3c9d2bb3d1
|
[Refactor] (Espryt): index every decline site with the flip it takes at the verification round, and invalidate rather than stamp the forced framebuffer bind
|
2026-09-08 18:44:25 -04:00 |
|
swung0x48
|
64fe696567
|
[Fix] (Espryt): make a half-described framebuffer applier and a mis-keyed program record say the seam line, and refuse a short global-constant block instead of falling back to the frontend block
|
2026-09-08 18:44:25 -04:00 |
|
swung0x48
|
6b5fb7373e
|
[Fix] (Espryt): unbind the sampler on every touched unit the pushed window does not describe instead of leaving an earlier draw's object on it
|
2026-09-08 18:44:25 -04:00 |
|
swung0x48
|
dab3004b69
|
[Fix] (Espryt): sweep every image unit the driver holds rather than only the pushed window, and say the seam line when a record names another texture at the validate point
|
2026-09-08 18:44:25 -04:00 |
|
swung0x48
|
0ab8185d4a
|
[Refactor] (Espryt): read the applier's framebuffer records through one accessor, carry D-K2's fourth row into the temporary latches and tick the declining epoch arm as a miss
|
2026-09-08 18:44:25 -04:00 |
|
swung0x48
|
1e27597041
|
[Refactor] (Espryt): name every emulation that cannot survive a split and take the format decisions from the descriptor
|
2026-09-08 18:44:25 -04:00 |
|
swung0x48
|
56b23661f2
|
[Refactor] (Espryt): bind samplers and the program's resources from the applier's resolved sets and keep the raw-depth-fetch substitution on the server
|
2026-09-08 18:44:25 -04:00 |
|
swung0x48
|
f14a935f87
|
[Refactor] (Espryt): bind shader images from the pushed set and leave the format recast and the split view where they are
|
2026-09-08 18:44:25 -04:00 |
|
swung0x48
|
8c4c324fcd
|
[Refactor] (Espryt): drive the per-draw texture sync from the pushed sampler-view set and give a read-only attachment its texture parameters
|
2026-09-08 18:44:25 -04:00 |
|
swung0x48
|
9e2872432c
|
[Refactor] (Espryt): resolve the current framebuffers from the pushed records and keep the shadowed default bind and the missing fast path exactly as they are
|
2026-09-08 18:44:25 -04:00 |
|
swung0x48
|
150bc4292a
|
[Fix, Test] (MG_Impl, Pipe): gate the four P4a families on D-K2's dependency bits as well - Espryt refuses bit 10 without bit 11 or bit 7, but the client had already emitted and the acceptance-cleared level flags left its legacy arm nothing to upload
|
2026-09-08 18:35:01 -04:00 |
|
swung0x48
|
9aa17cf7e6
|
[Fix] (Espryt): stop calling a texture that was never glTexParameter-ed a malformed record - ParamsSerial 0 means no set_texture_params was ever applied, so there is no built-in sampler to push
|
2026-09-08 18:14:22 -04:00 |
|
swung0x48
|
d4254ff023
|
[Fix] (Espryt): take the sampler CSO record from the handle the caller carries - a content-addressed record can never be named by the twins own identity handle, so every bound sampler objects parameters were refused on the integrated tree
|
2026-09-08 18:14:22 -04:00 |
|
swung0x48
|
bb07005fb7
|
[Fix] (Espryt): close the nine re-review minors - the framebuffer refusal now claims only what it can, the adoption refusals have a reachable caller, the carried region offsets and the sub-data resource byte are cross-checked, the remint-pull marker fires only when a level is owed, and a record-empty point the frontend still holds is refused
|
2026-09-08 18:14:22 -04:00 |
|
swung0x48
|
55990c982e
|
[Fix, Test] (Pipe): spell the skip twin's line continuation as a real newline - the previous commit left a literal backslash-n and the pull build of the suite did not compile
|
2026-09-08 17:47:01 -04:00 |
|
swung0x48
|
351baba677
|
[Test] (Pipe): give the no-consumer texture gate case its pull-build skip twin so the pull and push test-name sets stay equal
|
2026-09-08 17:46:05 -04:00 |
|
swung0x48
|
f96f22ebbd
|
[Fix] (MG_Pipe, MG_Impl): gate the four P4a families on a backend having registered MGPipeResourceOps - Magma emitted, the applier accepted, and the acceptance-cleared dirty flags left its legacy path nothing to upload
|
2026-09-08 17:37:37 -04:00 |
|
swung0x48
|
9eae68b516
|
[Fix] (Espryt): drop three #undefs for macros that were never defined and correct the attachment-version note that still called the record-driven walk another package's work
|
2026-09-08 16:57:36 -04:00 |
|
swung0x48
|
8233e1b546
|
[Test] (Espryt): assert an attachment-only texture's parameters reach the driver with no sampler view, prove every P4a kind's slot returns at a moved generation, and stop one refusal message claiming what it cannot tell
|
2026-09-08 16:57:36 -04:00 |
|
swung0x48
|
c0d5078298
|
[Fix] (Espryt): consume the carried region offset, refuse a record whose regions disagree about the level pitch, stop reading the frontend border form on the handle arm, and drop a nested guard that repeats its parent
|
2026-09-08 16:57:36 -04:00 |
|
swung0x48
|
532abce9fc
|
[Refactor] (Espryt): resolve framebuffer attachments and the four cross-object masks from the record's surfaces, adopting each twin by the handle the record carries, and drop the registry release helper nothing calls
|
2026-09-08 16:57:36 -04:00 |
|
swung0x48
|
9102cff811
|
[Fix] (Espryt): allocate texture storage from the pushed descriptor, honour a metadata-only respecify's sticky mask, and arm the server's own re-dirty in the applier's pending set instead of a model the handle arm never reads
|
2026-09-08 16:57:36 -04:00 |
|
swung0x48
|
6013097a13
|
[Fix] (Espryt): decode the sub-data target's upload half through the contract's accessor, read the depth-stencil aspect and surface-kind constants c0c minted, and refuse bit 10 without bit 11
|
2026-09-08 16:57:36 -04:00 |
|
swung0x48
|
6e2e4c295d
|
[Fix] (Espryt): resolve the framebuffer record by the handle it names and refuse before binding, so a DSA blit or clear configures the framebuffer it is about to write instead of one that never got its attachments
|
2026-09-08 16:57:36 -04:00 |
|
swung0x48
|
4c8ae0c53f
|
[Test] (Espryt): drive the sampler-view table through the handle arm and prove every P4a death notice is idempotent
|
2026-09-08 16:57:36 -04:00 |
|
swung0x48
|
c64913307a
|
[Refactor] (Espryt): take the sampler parameters and the program artefacts from the applier instead of the frontend objects
|
2026-09-08 16:57:36 -04:00 |
|
swung0x48
|
6b7475fea4
|
[Refactor] (Espryt): sync the driver framebuffer from the pushed record and answer the read buffer from the resolved read surface
|
2026-09-08 16:57:36 -04:00 |
|
swung0x48
|
e4208541e7
|
[Refactor] (Espryt): allocate renderbuffer storage from the pushed descriptor and keep the deferred out-of-memory report where it is
|
2026-09-08 16:57:36 -04:00 |
|
swung0x48
|
24c54bf4d7
|
[Refactor] (Espryt): drive texture storage, parameters and uploads from the pushed descriptors and take the upload strides from the record
|
2026-09-08 16:57:36 -04:00 |
|
swung0x48
|
86cfc379de
|
[Refactor] (Espryt): key the texture, renderbuffer, framebuffer, sampler and program twins on the client-minted handle instead of the frontend object
|
2026-09-08 16:57:36 -04:00 |
|
swung0x48
|
782075ce78
|
[Fix, Test] (Pipe): reconcile the framebuffer and texture emit suites after the client replay - the union of wire's and the client's cases in one file, spelled against the contract's Named enumerator
|
2026-09-08 16:54:50 -04:00 |
|
swung0x48
|
5663e0ca32
|
[Docs] (Pipe): restate what the records-reach-the-applier predicate is for now that the constant is set - the A/B arm it keeps compilable, and the two places a discarded call may not be treated as an accepted one
|
2026-09-08 16:52:11 -04:00 |
|
swung0x48
|
e540ffce17
|
[Test] (Pipe): pin the region tail against what the applier stored, the dirty flag surviving a refusal, the metadata respecify an immutable texture needs, the per-object Named record and the six minors
|
2026-09-08 16:52:11 -04:00 |
|
swung0x48
|
c134634919
|
[Fix] (GLImpl, Pipe): republish a texture parameters when a write lands on its built-in sampler and give every DSA entry point that hands a framebuffer over by name a record for it
|
2026-09-08 16:52:11 -04:00 |
|
swung0x48
|
cc1e68f136
|
[Fix] (Pipe, State): take the texture and framebuffer families through the contract own birth hooks, wire the texture subsystem bit, hand the applier the region tail it was promised and clear a level dirty flag only where the record was accepted
|
2026-09-08 16:52:11 -04:00 |
|
swung0x48
|
fcfdc41380
|
[Feat, Test] (Pipe): wire the framebuffer subsystem bit and pin the resolved read surface, the sticky bind mask, the level-shadow strides and the union-box/region-list invariant
|
2026-09-08 16:52:11 -04:00 |
|
swung0x48
|
b5f4660bcb
|
[Feat] (Pipe): push the bound framebuffers with a resolved read surface, inline attachment formats and a content hash that covers the draw-buffer array
|
2026-09-08 16:52:10 -04:00 |
|
swung0x48
|
0cd0a0846f
|
[Feat] (Pipe, State): mint a {slot, gen} handle for every texture and renderbuffer and publish its create, respecify, parameters and accumulated sub-data as pipe calls
|
2026-09-08 16:52:10 -04:00 |
|
swung0x48
|
92dffb81b4
|
[Test] (Pipe): drive the sampler cache's two unaccountable-release counters - a handle it never handed out and a second release of a reference only one holder owed
|
2026-09-08 15:57:24 -04:00 |
|
swung0x48
|
79b581984b
|
[Fix, Test] (Pipe): read a forked refusal drive's log from the offset it had instead of unlinking the file - once a case initialises the library the log is already open, so the child was writing into a deleted inode and the parent read nothing
|
2026-09-08 15:41:13 -04:00 |
|
swung0x48
|
d6e52f75c3
|
[Fix] (Pipe): count the sampler cache's unaccountable releases and its referenced evictions rather than asserting them, and state what a shared reference count, an over-capacity cache and the per-unit reconciliation really cost
|
2026-09-08 15:33:42 -04:00 |
|
swung0x48
|
ac09e5b37a
|
[Fix] (Pipe): key the composite resolver's memo on the context as well as the pipeline's GL name - the resolver is a process singleton while GL names are per context, so a make-current released the other context's live composite
|
2026-09-08 15:33:42 -04:00 |
|
swung0x48
|
820d1a60b9
|
[Fix] (Pipe): stop a make-current disarming the composite resolver's release path - the memo's freshness and the slot's release obligation were one flag, so after the first Reset no signature move ever spoke a delete
|
2026-09-08 15:24:22 -04:00 |
|
swung0x48
|
f0f8cab682
|
[Fix] (Pipe): give the program family its birth-hook entry point and publication latch, invalidate the global-constants key whenever a create_shader_state is re-issued, and count a truncated module tail instead of asserting it
|
2026-09-08 15:24:22 -04:00 |
|
swung0x48
|
b2edca2728
|
[Fix] (Pipe): give the sampler family the birth-hook entry points the contract declares, take the publication latch where its creates go out, and reference-count cache entries so an LRU eviction can never take a handle a standing record still names
|
2026-09-08 15:24:22 -04:00 |
|
swung0x48
|
ccde29064a
|
[Test] (Pipe): wire the sampler and program subsystems and pin the padding-proof CSO identity, the program-resolved unit sets, the linked-snapshot stage mask and the composite band's single release
|
2026-09-08 15:24:22 -04:00 |
|
swung0x48
|
bc2aad2176
|
[Feat] (Pipe): resolve a program pipeline into one shader CSO out of the reserved composite band and release it exactly once
|
2026-09-08 15:20:36 -04:00 |
|
swung0x48
|
5a3e9f0857
|
[Feat] (Pipe): publish a program's per-stage SPIR-V and reflection archive as a shader CSO and its default uniform block as global constants
|
2026-09-08 15:20:36 -04:00 |
|
swung0x48
|
1534cf3784
|
[Feat] (Pipe): content-address sampler states, mint one sampler view per texture and push the three unit sets behind their own content hashes
|
2026-09-08 15:20:36 -04:00 |
|
swung0x48
|
712c946744
|
[Fix] (Pipe): retire wire's local Named constant now that the contract mints MGPipeFramebufferTarget::Named
|
2026-09-08 15:08:22 -04:00 |
|
swung0x48
|
8f1eaafa79
|
[Test] (Pipe): pin what a Named framebuffer record does and does not move, the stale-generation refusal on the per-object table, the two handles it will not store, and that a respecify which redefines no storage carries the mask without eating the texels
|
2026-09-08 15:07:23 -04:00 |
|
swung0x48
|
08922b6f78
|
[Fix] (Pipe): read a sub-data record's target halves through the contract's own accessors, answer the emitter whether a create or a respecify was accepted, and apply a respecify that restates the stored storage as a metadata update rather than a redefinition
|
2026-09-08 15:07:23 -04:00 |
|
swung0x48
|
711d5c61ba
|
[Feat] (Pipe): key the framebuffer record by the framebuffer handle and resolve the two bindings through it, so a framebuffer that is named but bound to neither can still be described
|
2026-09-08 15:07:23 -04:00 |
|
swung0x48
|
5ab90dec24
|
[Test] (Pipe): pin a respecify's per-level scope, the sub-data acceptance signal, the upload targets that name no texture and what a release of the object records clears
|
2026-09-08 15:07:23 -04:00 |
|
swung0x48
|
4299acd9c1
|
[Docs] (Pipe): correct the refusal counter's family list - set_framebuffer_state resolves no record and can only fault - and warn that a texture's built-in sampler handle may outlive its CSO
|
2026-09-08 15:07:23 -04:00 |
|
swung0x48
|
953d73f111
|
[Fix] (Pipe): give unmap_persistent's kind check the verdict resource_destroy's has, and say why the other three buffer-only calls have nothing to check
|
2026-09-08 15:07:23 -04:00 |
|
swung0x48
|
d01439d846
|
[Fix] (Pipe): release the framebuffer records and the three unit windows with the object records whose handles they hold
|
2026-09-08 15:07:23 -04:00 |
|
swung0x48
|
c9958075e8
|
[Fix] (Pipe): scope a respecify's pending-upload clear to the level it redefines, answer the emitter whether a sub-data record was accepted, and refuse a resource target that names no texture
|
2026-09-08 15:07:23 -04:00 |
|
swung0x48
|
ae1a1c503f
|
[Test] (Pipe): pin every P4a record's lifecycle, its bounds gate and what a make-current does and does not clear
|
2026-09-08 15:07:23 -04:00 |
|
swung0x48
|
a02f1571f5
|
[Feat] (Pipe): apply the shader CSO's artefacts and the default uniform block without ever re-linking on the server
|
2026-09-08 15:07:23 -04:00 |
|
swung0x48
|
dca3eb868e
|
[Feat] (Pipe): apply sampler states, sampler views and the three unit sets into the server's own working state
|
2026-09-08 15:07:23 -04:00 |
|
swung0x48
|
7408bad9fd
|
[Feat] (Pipe): apply the framebuffer record per bound target and the texture and renderbuffer resource calls into their own slot-indexed records
|
2026-09-08 15:07:23 -04:00 |
|
swung0x48
|
e8502a6100
|
[Fix] (Pipe): key the framebuffer record to the object it names - a fourth Target value for every DSA entry point that hands a framebuffer over by name, and the metadata-only respecify the sticky bind mask needs
|
2026-09-08 14:50:30 -04:00 |
|
swung0x48
|
9ea44389e7
|
[Fix, Test] (Pipe): widen the two shutters that cannot see their own subject rather than gate their emitters on a second bit - glBindSampler moves only bit 12's generation, and GetCurrentProgram() is null for the whole life of a bound separable pipeline, so bind_sampler_states and the entire program family under-fired
|
2026-09-08 14:30:03 -04:00 |
|
swung0x48
|
17db759891
|
[Fix] (Pipe): state the four seam encodings the packages were each inventing - the sub-data target packing, the depth-stencil aspect numbers, the surface kind constants and the texture target the surface record grew where its padding was
|
2026-09-08 13:51:39 -04:00 |
|
swung0x48
|
2cb44039b5
|
[Fix] (Pipe): stop the include-closure gate going green on a compiler it could not find or on a probe count nobody asked for
|
2026-09-08 13:13:21 -04:00 |
|
swung0x48
|
32033d6993
|
[Fix] (Pipe): land the birth half of the P4a client API behind a publication latch both halves read, gate every emitter on its family's wired constant, raise the sampler view's death notice and count the shader composite band apart from the ordinary slots
|
2026-09-08 13:13:21 -04:00 |
|
swung0x48
|
08192d7266
|
[Feat] (Pipe): land the P4a contract - the resource target enum, the framebuffer target byte, the texture params' builtin sampler, the sampler-parameter field table, four subsystem bits, seven dirty arms and the program archive codec
|
2026-09-08 12:18:29 -04:00 |
|
swung0x48
|
37da3c3a07
|
[Docs] (Disaggregated): record the P3a landing - the five-part gate on the finished tree, the three seam defects the real-path round found, the Track H census, the two-device three-arm A/B on Release APKs (pull / P2-only 0x7f / P3a) with the P2 -O0 erratum, DriverBench T1/T2 against the 0x7f arm, the exit-order UAF closure, and the rulings (ID-13/15/17)
|
2026-09-08 10:23:59 -04:00 |
|
swung0x48
|
fde5fda3b5
|
[Fix] (MG_Impl): never destroy the four remaining MGPipe singletons - the vertex-input emitter is on ~VertexArrayObject own death path since C-1 and answered RecordIsPublished out of a freed latch vector
|
2026-09-08 08:20:55 -04:00 |
|
swung0x48
|
6515c8e6ae
|
[Fix] (MG_Backend, MG_Impl): give the MGPipe input blocks leak-at-exit storage - gPipeInputs and the two verify blocks held the last SharedPtr to a deleted-but-bound vertex array, so __run_exit_handlers ran ~VertexArrayObject and ~BufferObject into a pipe and a backend that were already torn down
|
2026-09-08 08:20:55 -04:00 |
|
swung0x48
|
c20e2f2b67
|
[Fix] (scripts): attribute G7 trip over the failing assertion BLOCKS - gtest prints the field name among the compared expressions, so a per-line match calls a real trip inconclusive
|
2026-09-08 07:21:19 -04:00 |
|
swung0x48
|
680ea63360
|
[Test] (MG_IntegrationTest): baseline the CSO slot leak case after two warm-up rounds so it measures growth with the churn, not the first draws one-off slots
|
2026-09-08 07:09:25 -04:00 |
|
swung0x48
|
959ca30810
|
[Test] (MG_Test): declare the new respecify-repair case in ResourceEmitTest pull-skip list so the pull and push ctest name sets stay identical (G2)
|
2026-09-08 07:09:25 -04:00 |
|
swung0x48
|
0bff6875b3
|
[Fix] (MG_Impl, DirectGLES, scripts): take the cheap review minors - the stale validate-point comment, G7's whole-log trip grep and missing INT/TERM traps, G5's CRLF stdout, and the dangling-twin invariant at its member
|
2026-09-08 07:04:20 -04:00 |
|
swung0x48
|
707bced438
|
[Fix] (MG_Impl, MG_Pipe, MG_IntegrationTest): close the four cross-package rows nobody claimed - symmetric vertex-input pairing asserts, the counter G10 reads, and the buffer ABA's Magma-only evidence
|
2026-09-08 07:04:19 -04:00 |
|
swung0x48
|
83c8101a9b
|
[Fix] (DirectGLES): record the fp64 narrowing's dropped SyncGpuWrites as a ruled P3a deviation at the site, with its blast radius
|
2026-09-08 07:00:28 -04:00 |
|
swung0x48
|
2a5e0195b8
|
[Fix] (DirectGLES): stop on an armless P3a subsystem verdict now that every LEGACY_MEMOS=0 lane pins an explicit 0x1ff arm - warning and continuing drew through an unconfigured driver VAO
|
2026-09-08 07:00:28 -04:00 |
|