Commit Graph
100 Commits
Author SHA1 Message Date
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
swung0x48 4cb65bdfdc [Fix] (Shader): place relaxed-rule atomic counters on their binding's offset cursor and reject unsized, unbound and overlapping counters at compile 2026-10-12 08:32:46 -04:00
swung0x48 c2dbcbee19 [Fix] (GL): report GL_SAMPLE_POSITION from the backend's sample locations and check the index against the draw framebuffer's GL_SAMPLES 2026-10-12 08:32:44 -04:00
swung0x48 45f5bae8b3 [Fix] (GL): answer one for the name-length program queries of a program linked from SPIR-V 2026-10-12 08:32:44 -04:00
swung0x48 b4da0e1a87 [Fix] (GL): raise INVALID_VALUE/INVALID_ENUM from glGetStringi for an index past the list or an unindexed name 2026-10-12 08:32:43 -04:00
swung0x48 049c8a421c [Fix] (GL): implement glGetCompressedTextureSubImage over the compressed block shadow 2026-10-12 08:22:18 -04:00
swung0x48 60ba52bfe4 [Fix] (GL): validate the glGetTextureSubImage region with INVALID_VALUE before refusing a partial read 2026-10-12 08:22:17 -04:00
swung0x48 b7d42faac0 [Fix] (GL): answer GL_TEXTURE_BUFFER_DATA_STORE_BINDING in glGetTexLevelParameter 2026-10-12 08:22:16 -04:00
swung0x48 2f312262ea [Fix] (GL): keep TEXTURE_BASE_LEVEL/MAX_LEVEL as set on immutable textures and clamp only the effective range 2026-10-12 08:22:16 -04:00
swung0x48 4b5c315ea5 [Fix] (GL): report FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS and treat an attached layer past the last one as an incomplete attachment 2026-10-12 08:22:15 -04:00
swung0x48 d4501e0c23 [Fix] (GL): raise INVALID_OPERATION from glTextureParameter* for sampler state on a multisample texture 2026-10-12 08:22:14 -04:00
swung0x48 6e43ff8ccc [Feat] (GL): apply glClipControl on both backends and advertise ARB_clip_control 2026-10-12 08:11:18 -04:00
swung0x48 82ef0053ea [Fix] (DirectVulkan): express polygon facing as the pipeline front face 2026-10-12 08:10:50 -04:00
swung0x48 c83d27a668 [Feat] (GL): advertise ARB_cull_distance where the backend has cull distances 2026-10-12 08:10:50 -04:00
swung0x48 454083bf57 [Fix] (DirectGLES): redeclare input gl_PerVertex with the producer's clip/cull sizes 2026-10-12 08:10:04 -04:00
swung0x48 b22c37f763 [Fix] (GL): resolve attribute array elements in glGetAttribLocation 2026-10-12 08:10:04 -04:00
swung0x48 4c9ce56124 [Feat] (GL): advertise the 4.x-core extension batch and ARB_tessellation_shader where the device has tessellation 2026-10-12 08:09:24 -04:00
swung0x48 2eae028938 [Fix] (GL): report tessellation-stage image uniform limits from the backend and enforce them at link 2026-10-12 08:08:58 -04:00
swung0x48 c881bc2396 [Feat] (Magma): pipeline and primitive fragment shading rate via VK_KHR_fragment_shading_rate 2026-10-12 08:03:31 -04:00
swung0x48 db23b9d551 [Feat] (Espryt): forward fragment shading rate to the driver extension 2026-10-12 08:03:29 -04:00
swung0x48 6d27499f3c [Feat] (ShaderTranspiler): carry shading-rate built-ins through the ESSL leg 2026-10-12 08:03:28 -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 ba6db60c09 [Fix] (GL): fail the link when a stage exceeds its uniform or storage block limits 2026-10-12 06:46:05 -04:00
swung0x48 106190e2ff [Fix] (Shader): make demoted double varyings flat on every stage so both sides of the interface agree 2026-10-12 06:46:04 -04:00
swung0x48 bc3c4fbb6c [Fix] (Remote): order buffer writebacks by producing seq so a stale capture writeback cannot retire a newer GPU-write mark 2026-10-12 06:46:04 -04:00
swung0x48 9b5e15dfc8 [Fix] (Espryt): swizzle GL_BGRA vertex arrays into RGBA streams instead of disabling them 2026-10-12 05:59:29 -04:00
swung0x48 363fce247f [Fix] (Espryt): order a dispatch after unbarriered storage-buffer writes so adjacent components survive 2026-10-12 05:59:28 -04:00
swung0x48 c639e17514 [Fix] (Espryt): barrier re-uploads into image-accessed textures ahead of the dispatch that reads them 2026-10-12 05:59:27 -04:00
swung0x48 84b0c20512 [Test] (Espryt): upload into an image-only texture lands before the draw that stores over it 2026-10-12 04:29:44 -04:00
swung0x48 14617a57df [Fix] (Espryt): re-sync image units when a bound image texture's content serial moves 2026-10-12 04:29:43 -04:00
swung0x48 8800c6b068 [Fix] (Shader): keep subroutine type declarations as prototypes so reserved type names are rejected 2026-10-12 03:55:51 -04:00
swung0x48 7abc581551 [Test] (GL): image_external names stay off strict desktop contexts 2026-10-12 03:55:50 -04:00
swung0x48 a566342eed [Test] (Texture): unsized depth formats resolve to sized storage 2026-10-12 03:55:49 -04:00
swung0x48 ef3178a98f [Fix] (GL): keep ES-only image_external and ARB_robustness names off the wrong context kinds 2026-10-12 03:55:49 -04:00
swung0x48 03aa1528a8 [Fix] (GL): accept GL_SRC_ALPHA_SATURATE as a source and destination blend factor 2026-10-12 03:55:48 -04:00
swung0x48 e7cd3a3290 [Fix] (Texture): size unsized GL_DEPTH_COMPONENT/GL_DEPTH_STENCIL textures so depth readback can stage them 2026-10-12 03:55:48 -04:00
swung0x48 53877cfb6b [Docs] (cts): ReadBuffer waiver names GL_INVALID_OPERATION, not GL_INVALID_ENUM 2026-10-12 03:55:47 -04:00
swung0x48 2a1920adce [Fix] (Espryt): redeclare clip/cull distance outputs inside gl_PerVertex for ESSL 2026-10-12 03:55:46 -04:00
swung0x48 b4f35cd67d [Fix] (cts): run_cts_local.py times out on qpa log idleness, not chunk wall time 2026-10-12 03:32:57 -04:00
swung0x48 cef575916e [Feat] (Video): add the paper-cutout intro and hype reel sources 2026-10-11 12:18:32 -04:00
swung0x48 2afeec95cd [Fix] (Magma): readback before the first acquire no longer submits a signaled slot fence 2026-10-11 07:48:04 -04:00
swung0x48 a2801f9da4 [Fix] (Build): restore the MSVC Windows build of the opengl32 drop-in 2026-10-11 07:48:03 -04:00
swung0x48 e4aab8d0bc [Fix] (Remote): offer inproc no shared images and refuse them on its server 2026-10-10 23:23:36 -04:00
swung0x48 745f59bc3f [Feat] (Remote): give inproc T0 the server's own store and never an AHB 2026-10-10 22:32:19 -04:00
swung0x48 5f9c3d6947 [Docs] (Performance): anland glmark2 before/after 2026-10-10 08:18:17 -04:00
swung0x48 79afd8a8e0 [Docs] (pwait): levers, timeline and latency effect 2026-10-10 08:18:16 -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 166f47f115 [Fix] (Test): TrackerShareGroup uses Take() for the context slot 2026-10-10 05:25:51 -04:00
swung0x48 96037fc502 [Docs] (P15): pwab device A/B results 2026-10-10 04:14:57 -04:00
swung0x48 2b277b01d4 [Docs] (P15): present-wait levers handoff 2026-10-10 04:14:56 -04:00
swung0x48 71e442de02 [Feat] (Magma): MOBILEGL_MAGMA_EXTRA_SWAPCHAIN_IMAGES knob 2026-10-10 04:14:42 -04:00
swung0x48 fa56e1c671 [Test] (Espryt, Magma): WindowPassGateScenario 2026-10-10 04:14:41 -04:00
swung0x48 2175ee08cf [Perf] (Espryt): flush once per frame before the window pass 2026-10-10 04:14:41 -04:00
swung0x48 add15f0a17 [Perf] (Magma): submit off-screen work ahead of the swapchain acquire wait 2026-10-10 04:14:40 -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 f66d31c881 [Docs] (P15): TLS cut device A/B 2026-10-10 04:14:24 -04:00
swung0x48 a6028ff38a [Fix] (TLS): drop the context reference before clearing the slot at thread exit 2026-10-10 04:14:14 -04:00
swung0x48 3b01067a9b [Perf] (TLS): Espryt context serial and lookup cache share one thread_local block 2026-10-10 04:14:13 -04:00
swung0x48 b5f9ab51ca [Perf] (TLS): inline Magma session and built-slot lookups 2026-10-10 04:14:12 -04:00
swung0x48 f7550322d4 [Perf] (TLS): applier lookup cache in one thread_local block 2026-10-10 04:14:10 -04:00
swung0x48 575be3532d [Perf] (TLS): pGLContext and gPipeInputs become pointer slots 2026-10-10 04:14:09 -04:00
swung0x48 0a206b0963 [Docs] (P15): queue the pwait latency trace 2026-10-10 04:14:08 -04:00
swung0x48 8ebb69d895 [Fix] (Pipe): share-group clocks fire dirty bits 11-14 for sibling-context changes 2026-10-10 04:14:07 -04:00
swung0x48 9a1d3062cb [Docs] (P15): present-wait timeline 2026-10-10 04:14:02 -04:00
swung0x48 a759b4b72d Docs (P15): present-wait analysis uses the existing traces. 2026-10-09 21:58:06 -04:00
swung0x48 4d3626215f Docs (P15): Perfetto timeline rule. 2026-10-09 21:53:01 -04:00
swung0x48 e0b8053e28 Docs (P15): queue the present-wait Perfetto trace. 2026-10-09 21:49:53 -04:00
swung0x48 a44a877080 Docs (P15): dirty mask parked; C8 approved separately. 2026-10-09 21:30:48 -04:00
swung0x48 d5ff64ded8 Docs (P15): per-context pipe dirty mask plan. 2026-10-09 21:28:39 -04:00
swung0x48 b48f55edfd Docs (P15): egc row, global-constants key cuts EmitGlobalConstants 0.022 to 0.014 ms/frame. 2026-10-09 20:27:55 -04:00
swung0x48 1accc7f421 Docs (P15): API 29 vs API 26 A/B, native TLS gives no TLS saving in a dlopen'ed lib. 2026-10-09 20:27:55 -04:00
swung0x48 dce02ae80e Build: -Pmobilegl.androidApi=29 builds a separate API 29 library and plugin; the default stays 26. 2026-10-09 20:27:53 -04:00
swung0x48 e70925d35b Pipe: per-program global-constants key and frontend-written spans replace the client shadow diff. 2026-10-09 18:26:43 -04:00
swung0x48 e9201891f5 Docs (P15): Espryt BSL depth-copy and attachment-shadow items measured on device, no gain (x 51.4 vs b 51.9 fps, MobileGlues 55.8); not landed. 2026-10-09 18:26:42 -04:00
swung0x48 cee9178e22 Bench: bench_session stop restores the pinned clocks. 2026-10-09 18:26:41 -04:00
swung0x48 0650608ddc User guide: env fallback now read consistently. 2026-10-09 14:29:53 -04:00
swung0x48 0b536de3fb Plugin build: honour the MOBILEGL_BUILD_DISAGGREGATED env fallbacks. 2026-10-09 14:25:56 -04:00
swung0x48 e072176c24 Plugin manifest: add the relaxed-semantics title meta-data. 2026-10-09 14:24:56 -04:00
swung0x48 d4688d0037 README: document MOBILEGL_ENABLE_LTO and FRAMES_IN_FLIGHT, link the user guide. 2026-10-09 14:24:35 -04:00
swung0x48 13e8e095b4 Fix the unix:/pipe: transport comment in ConfigLoader. 2026-10-09 14:24:19 -04:00
swung0x48 286e4af582 Docs: MobileGL no longer steps aside for LIBGL_ALWAYS_SOFTWARE. 2026-10-09 14:23:56 -04:00
swung0x48 4e055e4686 Reword the permanent client-window refusal text and drop the stale P12 tag. 2026-10-09 14:23:32 -04:00
swung0x48 9f61016776 Add an end-user guide under userguide/. 2026-10-09 13:36:15 -04:00
swung0x48 9f4d9095a9 Docs (P15): windowed out-of-process smoke of the LTO plugin passes on both backends; aux-socket shared-image send error noted. 2026-10-09 12:54:30 -04:00
swung0x48 6ffd2084fb Docs (P15): open queue puts the CI fix and the user guide first, plus the clock-restore and stale surface-message follow-ups. 2026-10-09 12:54:29 -04:00
swung0x48 c0ea142955 Docs (P15): hand-off of the running m2ab job (2a/2b A/B) and the LTO server-link check. 2026-10-09 12:54:28 -04:00
swung0x48 fe748773f3 Docs (P15): hand-off for the next agents (LTO GL CPU Magma 2.52 -> 2.36, Espryt 2.99 -> 2.90; levers table; WIP branches; harness rules). 2026-10-09 12:54:27 -04:00
swung0x48 1b2e817a97 Magma: wire-store rename spares 4 -> 12 with one fence question per rename, and a 50 us quiet window on unsignaled fence polls (FCL monolith GL CPU 2.44 -> 2.38 ms, 272 -> 278 fps at cpuhunt). 2026-10-09 12:54:27 -04:00
swung0x48 c4032d2022 Bench: freqcheck judges clocks over the measurement windows and thermal signals over the whole run (BSL's idle-GPU warmup sample no longer invalidates a pinned run). 2026-10-09 12:54:25 -04:00
swung0x48 09ae776836 Docs (P15): BSL 3 reps (1c +3.4 % fps on the GPU-bound scene; Magma ~0.99 of MobileGlues, whose runs fail only an out-of-window clock sample). 2026-10-09 12:54:24 -04:00
swung0x48 2b8c04373d Gradle builds the library with LTO by default, and the LTO block adds probed ICF, gc and interposition flags per toolchain. 2026-10-09 12:54:24 -04:00
swung0x48 fcf5ae5659 Magma: an enabled scissor test over a never-written box clips nothing instead of everything (DefaultScissorFollowsSurfaceScenario runs on DirectVulkan instead of skipping). 2026-10-09 12:54:23 -04:00
swung0x48 2bbb67e528 DirectGLES: emulate a same-image glBlitFramebuffer through a scratch copy (red-once: without it ATextureBlittedWithinItselfIsSampledByTheNextDraw fails on DirectGLES and DirectGLES.Split). 2026-10-09 12:54:22 -04:00
swung0x48 db346f2844 Docs (P15): fbm2 row (pipe batch: Magma GL CPU 2.68 -> 2.62, Espryt 3.03 -> 3.00) and BSL check note. 2026-10-09 07:42:24 -04:00
swung0x48 c85c9439a5 Magma: the pipeline, program and sampler hashes read their thread_local state once per hash (GetOrCreatePipeline 0.026 -> 0.013 ms/frame). 2026-10-09 07:42:03 -04:00
swung0x48 485dff1421 Pipe: per-framebuffer state memo, object-held handle hints, per-buffer handle reuse and a cached per-verb gate (ValidateForVerb 0.328 -> 0.282 ms/frame; FCL GL CPU Magma 2.68 -> 2.62, Espryt 3.03 -> 3.00; red-once per piece in its unit case). 2026-10-09 07:42:03 -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 afcc313d9f Docs (P15): fbm row (first FB-state memo within noise, per-target entry misses on A/B/A) and handoff; BSL gpuhunt shows no GPU regression from 1c (53.8 -> 55.7 fps). 2026-10-09 06:41: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 8941eae008 Docs (P15): 1c rows (Magma inproc +5.0 % fps), PARITY-AUDIT M1 cross-FBO deferral, Espryt attrib-format split parked. 2026-10-09 04:50:18 -04:00