swung0x48
|
2bd8f3c82d
|
[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
|
e021b4f62b
|
[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
|
a3bd7f0d7d
|
[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
|
5046b3fc89
|
[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
|
5e5dc36e57
|
[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
|
2bd19d5ee2
|
[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
|
33f5e878e7
|
[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 |
|
rereview
|
568d587ae7
|
[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
|
602326f379
|
[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
|
0338812cf3
|
[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
|
09e0a83cee
|
[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
|
771e8e06a1
|
[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
|
2d2090cf1c
|
[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
|
a11a5eb2af
|
[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
|
612dbac44f
|
[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
|
d54ec57a5d
|
[Fix] (MG_Impl, MG_Pipe): outlive the exit handlers - a frontend object destroyed by __run_exit_handlers reached the slot allocator, the resource tracker and the applier after their own destructors had run
|
2026-09-08 07:33:16 -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 |
|