swung0x48
|
d4f8adcf6d
|
[Tools, Test] (tools/cts, MG_Test): make the CTS runner's chunk timeout idle-based so a healthy 20-minute invocation is no longer killed and its in-flight case mis-recorded as a crash, and link MSVC test executables with /WHOLEARCHIVE so the dllimport gl* references in GetProcAddress.cpp resolve
|
2026-09-05 05:36:50 -04:00 |
|
swung0x48
|
795e08f7e6
|
[Fix, Test] (ShaderTranspiler): flatten fp64 storage blocks whose last member is a runtime array - the pass declined them, so the fp64 demotion re-derived ArrayStride 4 over the application's 8/16/32-byte double buffer and every double/dvecN data[] SSBO read raw words
|
2026-09-05 05:36:49 -04:00 |
|
swung0x48
|
1e7ecab4db
|
[Fix, Test] (MG_State, BufferObject): land a non-persistent write map's staged bytes into a GPU-resident store at unmap and explicit flush instead of dropping them - SSBO binding and large-store adoption make resident stores reachable through glMapBufferRange, so every per-draw re-initialisation was silently lost
|
2026-09-05 05:36:48 -04:00 |
|
swung0x48
|
81b17c0b75
|
[Test] (ShaderTranspiler, Integration): pin the five reworked shapes - the read-only capture stage through the real link, the seeded carrier's ESSL declaration, the metadata-driven block redeclaration and its decline, the control-stage-less evaluation decline, and a carrier clearing an i64vec4
|
2026-08-28 06:22:12 -04:00 |
|
swung0x48
|
d1edf765f5
|
[Fix] (Link, Async): carry the resolved gl_PointSize capture request into the SPIR-V handoff and let a deferred verdict name its own severity - the demotion read the request off a reflection slice phase A never fills it into, so its forced carrier was dead code, and its decline reason replayed at a level no shipped build keeps
|
2026-08-28 06:22:12 -04:00 |
|
swung0x48
|
97e07190ac
|
[Fix] (ShaderTranspiler): seed a forced point-size carrier nothing writes and decline a control stage whose live clip/cull distance would still print gl_PointSize - an ES front end deletes a never-written output, and SPIRV-Cross redeclares that block from member decorations rather than access
|
2026-08-28 06:22:11 -04:00 |
|
swung0x48
|
a4dcdf989e
|
[Fix] (ShaderTranspiler): stop the point-size carrier landing on a location a live varying owns, and decline the evaluation stage a synthesized pass-through control stage cannot feed - an i64vec4 counted as one location, and a located input carrier trips both backends' pass-through guard
|
2026-08-28 06:22:11 -04:00 |
|
swung0x48
|
1c113e4b26
|
[Fix] (ShaderTranspiler): count a 64-bit integer vector as two locations in the XFB flattener's LocationSpan - it read 64-bitness off the element's float type alone, so an i64vec3/4 member packed the members after it onto locations it already owns
|
2026-08-28 06:22:11 -04:00 |
|
swung0x48
|
bf9cfb3079
|
[Test] (Integration): PointSizeDemotionScenario - the demoted value chain is client-invisible in both configurations, with pinned per-backend lanes and a log-latch arming guard
|
2026-08-28 06:22:10 -04:00 |
|
swung0x48
|
e1818d497a
|
[Test] (ShaderTranspiler): pin the point-size demotion's shapes - capability stripped, carriers named and located past the program's varyings, byte-identical no-ops, whole-struct-copy decline, and the two new L1 key bits
|
2026-08-28 06:21:31 -04:00 |
|
swung0x48
|
d7f66722d1
|
[Fix] (ShaderTranspiler, Link, DirectGLES, DirectVulkan): demote tessellation/geometry gl_PointSize to an ordinary varying where the device cannot host the built-in - the value survives for gl_in reads and by-name capture, both backends' declines stay for shapes the pass refuses, and the verdict rides the L1 key
|
2026-08-28 06:21:30 -04:00 |
|
swung0x48
|
92dc41ebf9
|
[Test] (DirectVulkan, SelfTest): pin the probe's fence-timeout teardown against a fake driver, the never-worse arming refusal, and paused-span patch/instanced counting against an unpaused control
|
2026-08-28 06:19:41 -04:00 |
|
swung0x48
|
feea131d8b
|
[Fix] (DirectVulkan, SelfTest): honour the primitives-generated probe's leak-on-timeout contract in both of its callers, count paused-span draws the frontend cannot price, refuse a substitute measured worse than the stream query, and derive the POST row's failure clause from the measurement
|
2026-08-28 06:19:40 -04:00 |
|
swung0x48
|
19f4402fbf
|
[Test] (DirectVulkan): pin the primitives-generated probe's verdict and override mapping, and hold the reroute's GL answers and arming observable on the integration lane
|
2026-08-28 06:19:40 -04:00 |
|
swung0x48
|
1350031368
|
[Fix] (DirectVulkan): count GL_PRIMITIVES_GENERATED for transform-feedback-inactive draws - a bring-up probe measures the silent stream query and reroutes such draws through the dedicated primitives-generated query or a clipping-statistics pool, reported from the Vulkan POST
|
2026-08-28 06:19:39 -04:00 |
|
swung0x48
|
0ee3384b22
|
[Fix] (Espryt): land a SubData into an adopted store as a GPU-ordered copy - the in-place coherent write tore the frames still reading the old section bytes
|
2026-08-28 04:50:07 -04:00 |
|
swung0x48
|
ba3f8d6774
|
[Test] (Integration): pin the adopted mesh-arena store - cross-frame SubData visibility, readback identity, and the GPU-written readback
|
2026-08-28 04:19:11 -04:00 |
|
swung0x48
|
3327784fd0
|
[Fix] (Espryt): adopt mesh-arena-sized stores into coherent persistent maps at definition, and stop the flush tiers from re-synchronizing them
|
2026-08-28 04:19:11 -04:00 |
|
swung0x48
|
ff426da3a9
|
[Fix, Test] (MG_State, DirectVulkan): order host writes to an adopted store after recorded GPU work - a SubData issued after a dispatch landed in coherent memory before the deferred dispatch executed, so its increments overwrote the newer bytes; un-skip the DirectVulkan half of the SubData-after-dispatch scenario
|
2026-08-28 03:01:15 -04:00 |
|
swung0x48
|
08419a1fe6
|
[Chore] (Config): point the two stale comments at the renamed feature fields
|
2026-08-28 00:47:35 -04:00 |
|
swung0x48
|
5d51372c44
|
[Chore] (Config): triage backend-scoped env toggles under MOBILEGL_ESPRYT_ and MOBILEGL_MAGMA_ prefixes
|
2026-08-28 00:38:17 -04:00 |
|
swung0x48
|
7fd4550968
|
[Fix] (Espryt): copy before any FBO attach in the packed16 probe - attaching the array relayouts it to the plain order and was neutralizing the subject
|
2026-08-28 00:22:16 -04:00 |
|
swung0x48
|
971537058e
|
[Fix] (Espryt): probe every allocation recipe of the packed16 shape - the Mali layout heuristic inverts between contexts, so one recipe cannot speak for the storage
|
2026-08-28 00:22:16 -04:00 |
|
swung0x48
|
dd98c450ad
|
[Test] (SelfTest): model the params-before-upload escape so a params-first probe regression reads as a red test
|
2026-08-28 00:22:15 -04:00 |
|
swung0x48
|
5dbbbbd7eb
|
[Fix] (Espryt): allocate the packed16 probe's textures uploads-first, the order a minted backend texture performs and the one the Mali layout choice keys on
|
2026-08-28 00:22:15 -04:00 |
|
swung0x48
|
5d140a41ce
|
[Fix] (Espryt): re-arm the packed16 probe on the allocation-scoped mirror the device actually has and let any mirrored level trigger the widening
|
2026-08-28 00:22:15 -04:00 |
|
swung0x48
|
bf376b230f
|
[CI] (Integration): rerun the buffer scenarios with the map flush disabled so the upload-ring tier keeps coverage
|
2026-08-28 00:15:15 -04:00 |
|
swung0x48
|
29599dcf90
|
[Fix] (DirectGLES): flush queued buffer ranges through a range-invalidating map first, so a partial write into a busy store is priced by the range
|
2026-08-27 23:54:19 -04:00 |
|
swung0x48
|
734fab9f90
|
[Test] (Integration): scope the SubData-after-dispatch readback case to DirectGLES, naming the DirectVulkan upload-ordering gap it exposed
|
2026-08-27 23:04:52 -04:00 |
|
swung0x48
|
2cd1809c29
|
[Fix] (Review): rebuild the packed16 probe on the CTS's three-level chains and let the POST row answer for the widening knob actually in force
|
2026-08-27 22:46:13 -04:00 |
|
swung0x48
|
faed498476
|
[Test] (IntegrationTest): shield the packed16 renderbuffer clear from an inherited scissor
|
2026-08-27 22:46:13 -04:00 |
|
swung0x48
|
8282eecbfa
|
[Fix] (Espryt): store RGB565/RGB5_A1/RGBA4 as 8-bit channels where a POST probe measures the Mali packed16 array-mip field-order mirror
|
2026-08-27 22:46:12 -04:00 |
|
swung0x48
|
f4f3afb0b6
|
[Test] (Integration): pin that a queued SubData survives an immediate readback of a GPU-written buffer
|
2026-08-27 22:19:45 -04:00 |
|
swung0x48
|
a28da07641
|
[Fix] (DirectGLES): queue app buffer updates and flush them through a staged-copy upload ring instead of stalling in glBufferSubData
|
2026-08-27 22:19:44 -04:00 |
|
swung0x48
|
200c21336f
|
[Fix] (Readback): size a cube-face pack buffer by one face, and give a cube view's face its owner layer
|
2026-08-27 22:05:23 -04:00 |
|
swung0x48
|
2c3fc583d5
|
[Test] (Readback): pin the one-face pixel pack buffer and a cube view's per-face layers
|
2026-08-27 21:58:51 -04:00 |
|
swung0x48
|
645a12d8bc
|
[Fix] (Readback): read the cube face a readback names, and let glGetTextureSubImage name one
|
2026-08-27 21:54:47 -04:00 |
|
swung0x48
|
8e6acc5528
|
[Test] (Readback): pin that a cube map's readback answers the face it was asked for
|
2026-08-27 21:54:46 -04:00 |
|
swung0x48
|
525ffe0f14
|
[Test] (Review): pin the inverted override mapping, the probe's controls, and that the pinned-on lane is really armed
|
2026-08-27 21:06:01 -04:00 |
|
swung0x48
|
ad28d2b744
|
[Fix, Test] (Review): strip a block's member-level locations too, restore the probe's colour mask, and let the POST verdict follow the override
|
2026-08-27 20:15:31 -04:00 |
|
swung0x48
|
eab622388f
|
[Test] (TranslationCache): pin the two interface-block location-strip flags as L2 key material
|
2026-08-27 20:07:49 -04:00 |
|
swung0x48
|
75e573c923
|
[Fix] (SelfTest): give the located-interface-block probe its own entry-point gate instead of the storage probe's
|
2026-08-27 19:56:26 -04:00 |
|
swung0x48
|
0d0ef13619
|
[Fix] (DirectGLES): run the interface-block location strip last, where its deliberately Vulkan-invalid module reaches no validator
|
2026-08-27 19:44:18 -04:00 |
|
swung0x48
|
23565fcacd
|
[Fix, Test] (DirectGLES, SelfTest, MG_Test): probe the located-interface-block defect with its controls and cover the strip in both gates
|
2026-08-27 19:38:39 -04:00 |
|
swung0x48
|
5dc26e3e2c
|
[Fix] (DirectGLES, ShaderTranspiler): drop the location qualifier from inter-stage interface blocks on a driver that loses their payload
|
2026-08-27 19:18:35 -04:00 |
|
swung0x48
|
90564aa82e
|
[Test] (Review): give the geometry point-size case its own capability probe
|
2026-08-27 15:42:04 -04:00 |
|
swung0x48
|
7520607d47
|
[Fix] (Review): decline a point-size program the device cannot run, bound the compile-failure source dump, and correct the pass-through rationale
|
2026-08-27 15:42:04 -04:00 |
|
swung0x48
|
57635a9198
|
[Test] (Tessellation): unit and headless-GPU coverage for capturing a patch draw's per-vertex payload
|
2026-08-27 15:06:02 -04:00 |
|
swung0x48
|
c19d0f0b75
|
[Fix] (DirectVulkan): mirror gl_PointSize for capture and enable the feature its stages need
|
2026-08-27 15:06:02 -04:00 |
|
swung0x48
|
e42e7d00f5
|
[Fix] (DirectGLES): request the point-size extension a tessellation or geometry stage's ESSL needs
|
2026-08-27 15:06:01 -04:00 |
|