Commit Graph

  • c247ad5807 Merge branch 'worktree-agent-aae96e27d8b07e982' into dev swung0x48 2026-07-16 03:32:39 -04:00
  • b604188849 Merge branch 'worktree-agent-aae96e27d8b07e982' into dev swung0x48 2026-07-16 03:32:39 -04:00
  • 7514587b5a [Fix] (MG_Impl/GLImpl, MG_State): fallback UBO backing for optimizer-eliminated uniforms (null-MapUBO SIGSEGV in KHR-GL33 do_while loops) + per-element locations/offsets for array uniforms incl. nested struct arrays (size assert in KHR-GL33 struct.uniform); demote uniform write assert to log-and-clamp swung0x48 2026-07-16 03:31:32 -04:00
  • cf8f928db8 [Fix] (MG_Impl/GLImpl, MG_State): fallback UBO backing for optimizer-eliminated uniforms (null-MapUBO SIGSEGV in KHR-GL33 do_while loops) + per-element locations/offsets for array uniforms incl. nested struct arrays (size assert in KHR-GL33 struct.uniform); demote uniform write assert to log-and-clamp swung0x48 2026-07-16 03:31:32 -04:00
  • 5b38f61961 [Fix] (MG_Backend): GetTexImage level-range check was off-by-one (max level is inclusive; single-level textures asserted on level 0), demoted to logged skip; advertise GL_ARB_texture_storage_multisample (entry points already implemented - unadvertised extension left null glw pointers and CTS framebuffer_blit jumped to address 0) swung0x48 2026-07-16 03:06:03 -04:00
  • 176d130f09 [Fix] (MG_Backend): GetTexImage level-range check was off-by-one (max level is inclusive; single-level textures asserted on level 0), demoted to logged skip; advertise GL_ARB_texture_storage_multisample (entry points already implemented - unadvertised extension left null glw pointers and CTS framebuffer_blit jumped to address 0) swung0x48 2026-07-16 03:06:03 -04:00
  • 8bdab8005b [Fix] (MG_Backend/DirectVulkan): skip combined depth-stencil texture data uploads instead of recording invalid single-copy with multi-bit aspect mask (VK_INCOMPLETE at vkEndCommandBuffer killed the process); proper per-aspect de-interleave tracked separately swung0x48 2026-07-16 02:36:07 -04:00
  • 0b94e02de5 [Fix] (MG_Backend/DirectVulkan): skip combined depth-stencil texture data uploads instead of recording invalid single-copy with multi-bit aspect mask (VK_INCOMPLETE at vkEndCommandBuffer killed the process); proper per-aspect de-interleave tracked separately swung0x48 2026-07-16 02:36:07 -04:00
  • 273c7ebcf0 [Fix] (MG_Impl/GLImpl, MG_State, MG_Backend/DirectGLES): eliminate packed_pixels SIGTRAPs - complete TexImage format/type/internalformat validation matrix (depth-stencil family, integer-ness, packed-type pairing, 3D depth rejection), fix inverted UpdateSubData assert with clamped copy, demote unimplemented readback asserts to logged no-ops swung0x48 2026-07-16 02:23:18 -04:00
  • fe7a5ee1b2 [Fix] (MG_Impl/GLImpl, MG_State, MG_Backend/DirectGLES): eliminate packed_pixels SIGTRAPs - complete TexImage format/type/internalformat validation matrix (depth-stencil family, integer-ness, packed-type pairing, 3D depth rejection), fix inverted UpdateSubData assert with clamped copy, demote unimplemented readback asserts to logged no-ops swung0x48 2026-07-16 02:23:18 -04:00
  • 3a40778c4b [Fix] (MG_Util/ShaderTranspiler): stop stripping precision qualifiers - the strip corrupted "precision highp float;" into invalid syntax; glslang accepts and ignores them natively in 460 core (unblocks ~2000 GL CTS cases per backend) swung0x48 2026-07-16 01:50:33 -04:00
  • 5331150cb9 [Fix] (MG_Util/ShaderTranspiler): stop stripping precision qualifiers - the strip corrupted "precision highp float;" into invalid syntax; glslang accepts and ignores them natively in 460 core (unblocks ~2000 GL CTS cases per backend) swung0x48 2026-07-16 01:50:33 -04:00
  • 37a7f35a27 [Chore] (MG_Backend/DirectGLES): demote UBO ring creation log to debug level swung0x48 2026-07-15 23:22:13 -04:00
  • dc2f3a477b [Chore] (MG_Backend/DirectGLES): demote UBO ring creation log to debug level swung0x48 2026-07-15 23:22:13 -04:00
  • c6ed9429be [Fix] (MG_Backend/DirectGLES): UBO ring - preserve generation across ES context recreation, retire frame marks at Present to bound growth swung0x48 2026-07-15 23:19:47 -04:00
  • 21753b0e4c [Fix] (MG_Backend/DirectGLES): UBO ring - preserve generation across ES context recreation, retire frame marks at Present to bound growth swung0x48 2026-07-15 23:19:47 -04:00
  • cb6af44984 [Fix] (MG_Backend/DirectGLES): UBO ring review fixes - invalidate array-buffer bind cache on failed ring creation, bump generation on emergency drain, division-based alignment rounding swung0x48 2026-07-15 23:14:19 -04:00
  • f509b19b1d [Fix] (MG_Backend/DirectGLES): UBO ring review fixes - invalidate array-buffer bind cache on failed ring creation, bump generation on emergency drain, division-based alignment rounding swung0x48 2026-07-15 23:14:19 -04:00
  • 7464179249 [Chore] (MG_Backend/DirectGLES): log global-UBO ring creation swung0x48 2026-07-15 22:57:27 -04:00
  • c7ac5de28e [Chore] (MG_Backend/DirectGLES): log global-UBO ring creation swung0x48 2026-07-15 22:57:27 -04:00
  • 315e9cb194 [Perf] (MG_Backend/DirectGLES): replace per-draw global-UBO glBufferSubData with a persistent-mapped ring allocator (fence-watermark reclaimed, MOBILEGL_DISABLE_UBO_RING opt-out); scrub stale indexed-binding shadow on glDeleteBuffers swung0x48 2026-07-15 22:56:31 -04:00
  • 2e7073a890 [Perf] (MG_Backend/DirectGLES): replace per-draw global-UBO glBufferSubData with a persistent-mapped ring allocator (fence-watermark reclaimed, MOBILEGL_DISABLE_UBO_RING opt-out); scrub stale indexed-binding shadow on glDeleteBuffers swung0x48 2026-07-15 22:56:31 -04:00
  • e8d9a913d8 [Fix] (MG_Util/SelfTest): preserve POST checks before format probing swung0x48 2026-07-15 23:18:46 -04:00
  • 305701326c [Fix] (MG_Util/SelfTest): preserve POST checks before format probing swung0x48 2026-07-15 23:18:46 -04:00
  • 4453f1910d [Feat] (MG_Backend, android-plugin): show format capability tables in POST swung0x48 2026-07-15 23:09:31 -04:00
  • 8c89b1618a [Feat] (MG_Backend, android-plugin): show format capability tables in POST swung0x48 2026-07-15 23:09:31 -04:00
  • 1b0be9a997 [Docs] (android-plugin): specify POST format capability tables swung0x48 2026-07-15 22:36:56 -04:00
  • 3e4ce5caa7 [Refactor] (MG_Impl/GLImpl): replace Flywheel dispatch sync hack with MOBILEGL_COHERENT_AS_FLUSH swung0x48 2026-07-15 21:51:20 -04:00
  • f80f6f4a62 [Fix] (CI): retain fixtures for failed retraces swung0x48 2026-07-15 04:36:15 -04:00
  • 66caf907fd [Fix] (CI): remove intermediate trace artifacts swung0x48 2026-07-15 02:52:03 -04:00
  • d3150399c7 [Fix] (CI): download direct trace APK artifact swung0x48 2026-07-15 02:01:53 -04:00
  • f1c6a12c06 [Fix] (CI): use full commit SHAs swung0x48 2026-07-15 01:33:56 -04:00
  • 947442ec78 [Fix] (CI): resolve trace APK by SHA swung0x48 2026-07-15 01:27:09 -04:00
  • 165dd003d7 [Chore] (CI): clean intermediate artifacts swung0x48 2026-07-15 00:53:50 -04:00
  • b852ced3c1 [Chore] (CI): upgrade GitHub Actions runtimes swung0x48 2026-07-15 00:36:08 -04:00
  • 4a03d62b91 [Fix] (CI): publish APK artifacts directly swung0x48 2026-07-15 00:34:52 -04:00
  • 056574eebe [Fix] (CI): name APK artifacts by commit swung0x48 2026-07-15 00:22:12 -04:00
  • e61685547a [Fix] (CI): locate unified trace APK swung0x48 2026-07-15 00:11:22 -04:00
  • 7ebaf43282 [Refactor] (Android plugin): unify renderer APK with Plugin V2 DSL swung0x48 2026-07-14 23:34:30 -04:00
  • 15580ff6a6 [Fix] (Retrace): preserve bundled ANGLE binaries swung0x48 2026-07-15 08:46:28 +08:00
  • fd6f5bca83 [Fix] (Retrace): rely on APK signing for bundled ANGLE swung0x48 2026-07-15 07:50:40 +08:00
  • b6d311f20b [Fix] (Retrace): bundle and select signed ANGLE variants swung0x48 2026-07-15 06:48:10 +08:00
  • 9c0d5517bd [Refactor] (MG_Backend/DirectVulkan): replace null-renderer guards with MOBILEGL_ASSERT swung0x48 2026-07-14 03:55:41 -04:00
  • 3445ab9304 [Refactor] (MG_Backend/DirectVulkan, trace-replay): extract dump-image capture out of MobileGL backend swung0x48 2026-07-14 02:37:41 -04:00
  • 533219ede7 [Fix] (Retrace): load ANGLE through LD_LIBRARY_PATH swung0x48 2026-07-13 21:20:02 -04:00
  • b1f55026af [Chore] (MobileGL/ConfigLoader): rename/clean up more env var clutter swung0x48 2026-07-13 20:45:40 -04:00
  • a26e9aaf25 [Refactor] (MG_Config, MG_Backend, trace-replay): remove unused stats instrumentation swung0x48 2026-07-13 20:33:31 -04:00
  • a55a0645e2 [Refactor] (MG_Config, MG_Backend/DirectVulkan, trace-replay): centralize Magma env parsing and rename R11G11B10F fallback swung0x48 2026-07-13 19:58:06 -04:00
  • e529e12d27 [Perf] (MG_Backend/DirectVulkan): bind GetBoundObject/GetSamplerObject const-ref returns by reference in BindProgramUniformBuffers resolve paths (UBO/SSBO/texel/sampler override) instead of copying the SharedPtr; ResolveUniformBufferPayload 2.2%->1.6% swung0x48 2026-07-13 08:27:12 -04:00
  • e78eee972e [Perf] (MG_Backend/DirectVulkan): store the resolved TextureResource pointer in the per-draw sync memo so repeat SyncTextureAndGetDescriptor calls skip the resource-map lookup swung0x48 2026-07-13 06:53:37 -04:00
  • 37cd5b42de [Perf] (MG_Backend/DirectVulkan): drop redundant per-draw work in UploadAndBindVertexBuffers - pass programObj from SetupDraw, use the VAO attribute's buffer SharedPtr directly instead of re-resolving by external index; 8.5%->6.2% swung0x48 2026-07-13 05:21:57 -04:00
  • 7fe5247626 [Fix] (MG_Backend/DirectVulkan): key the sampled-set walk-skip on a program lifetime id, not the recyclable GL name, so a deleted+recreated program can't false-hit the cache swung0x48 2026-07-13 04:58:05 -04:00
  • f098983c9f [Perf] (MG_Backend/DirectVulkan): skip the per-draw sampled-texture walk when the bound set is unchanged (texture-bind generation + program state version); CollectSampledTextures 5.0%->0.2%, fps 228->249 swung0x48 2026-07-13 04:41:14 -04:00
  • 516d2a659e [Perf] (MG_Backend/DirectVulkan): cache resolved VkSampler per binding to skip the per-draw sampler key hash, keyed on a new sampler lifetime id swung0x48 2026-07-13 02:04:57 -04:00
  • 808c5dcc46 [Perf] (MG_Backend/DirectVulkan): re-land content-version texture early-out; bump content version on glGenerateMipmap so cached sampled views re-sync (fixes Iris shader retrace) swung0x48 2026-07-13 00:50:09 -04:00
  • ecea8054a6 Revert content-version texture early-out (e8e1521): the SyncTexture cross-draw skip breaks Iris shader retrace validation (correctness regression) swung0x48 2026-07-12 23:27:54 -04:00
  • b0076af9bd [Perf] (MG_Backend/DirectVulkan): raw-ptr in ResolveSamplerDescriptor drops the per-draw SharedPtr refcount on the sampler descriptor path swung0x48 2026-07-12 22:48:05 -04:00
  • 24cf1e3a7f [Perf] (MG_Backend/DirectVulkan): frames-in-flight from MOBILEGL_MAGMA_FRAMESINFLIGHT env (fallback 3), clamped to surface maxImageCount at init swung0x48 2026-07-12 20:17:44 -04:00
  • e5ee4cde4f [Perf] (MG_Backend/DirectVulkan): deepen frame pipeline 2->3 to hide GPU-completion latency; cross-frame glClientWaitSync fence stalls -28% swung0x48 2026-07-12 19:42:35 -04:00
  • e8e1521972 [Perf] (MG_Backend/DirectVulkan): skip cross-draw re-sync of unchanged textures via a content-version early-out; SyncTextureAndGetDescriptor 8.9%->2.4% swung0x48 2026-07-12 18:40:48 -04:00
  • 6f53b9a6bb [Perf] (MG_Backend/DirectVulkan): raw-ptr sampled-texture walk skips SharedPtr refcount churn per draw swung0x48 2026-07-12 10:51:15 -04:00
  • acaa9f6dc7 [Perf] (MG_Backend/DirectVulkan): zero-copy UBO bind - point descriptor at the app's persistent VkBuffer instead of a per-draw transient copy; fps 127->166 swung0x48 2026-07-12 10:11:49 -04:00
  • 375f2df694 [Perf] (MG_Backend/DirectVulkan): skip per-draw pipeline resolution when pipeline state unchanged; SetupDraw 54%->51%, fps 109->127 swung0x48 2026-07-12 09:28:30 -04:00
  • 542e50be33 [Perf] (MG_Backend/DirectVulkan): skip per-draw render-pass hash when framebuffer state unchanged; SetupDraw 60%->54%, fps 96->109 swung0x48 2026-07-12 08:18:37 -04:00
  • ad9ee99521 [Perf] (MG_Backend/DirectGLES): dedup per-draw indexed UBO/SSBO binds with a shadow cache; BindCurrentProgramWithResources 5.1% -> 3.1% swung0x48 2026-07-12 06:32:18 -04:00
  • 25395a9f9a [Docs] (MG_Backend/DirectGLES): TODO for buffer-pool Phase 2 orphan-on-respecify swung0x48 2026-07-12 05:37:03 -04:00
  • d7029952bb [Perf] (MG_Backend/DirectGLES): recycle idle GL buffers via a fence-gated size pool instead of glDeleteBuffers; pinned fps 184->220 swung0x48 2026-07-12 05:28:34 -04:00
  • 340449b77e [Perf] (MG_State, MG_Backend/DirectGLES): skip never-touched buffer bind points via high-water mark; SyncNeccessaryBuffers 15.7% -> 4.2% swung0x48 2026-07-12 04:31:34 -04:00
  • 527e229ac8 [Perf] (MG_Backend/DirectGLES): drop redundant per-draw UBO binding-point sync; BindCurrentProgramWithResources already rebinds them swung0x48 2026-07-12 04:04:12 -04:00
  • d5bc753764 [Perf] (MG_Backend/DirectGLES): skip scratch bind + upload for fully-synced mipmap textures swung0x48 2026-07-12 03:41:17 -04:00
  • 436f7f7e86 [Perf] (DirectGLES): shadow-track unpack state instead of glGetIntegerv swung0x48 2026-07-12 02:59:56 -04:00
  • 009e37ec6f [Perf] (DirectVulkan): reuse descriptor set across draws with identical bindings swung0x48 2026-07-12 01:52:32 -04:00
  • b253df881d [Perf] (DirectVulkan): memoize per-draw texture sync in SetupDraw swung0x48andClaude Opus 4.8 2026-07-11 22:06:28 -04:00
  • c1743aa42d [Refactor] (MG_State, MG_Backend): PipeResource storage layer + zero-copy coherent persistent maps swung0x48 2026-07-11 13:17:31 -04:00
  • 0f99d93300 [Feat] (MobileGL): full dual-source blending across state, transpiler, and both backends swung0x48 2026-07-11 01:32:07 -04:00
  • e9fa99e16b [Feat] (MG_Backend): wire primitive restart into both backends; detect dualSrcBlend swung0x48 2026-07-11 01:11:23 -04:00
  • e18d369adf [Feat] (MG_Impl/GLImpl, MG_State): implement glPrimitiveRestartIndex swung0x48 2026-07-11 00:43:45 -04:00
  • 22ac8a8c10 [Feat] (MG_Impl/GLImpl, MG_State): implement glBindFragDataLocationIndexed swung0x48 2026-07-11 00:39:23 -04:00
  • bebe534bad [Fix] (MG_Impl/GLImpl): stop double-recording GL errors for a bad program handle swung0x48 2026-07-11 00:19:33 -04:00
  • 9ffcb23877 [Feat] (MG_Impl/GLImpl): implement glGetFragDataIndex swung0x48 2026-07-11 00:03:08 -04:00
  • dc3c2cc5c7 [Feat] (MG_Impl, MG_Backend, MG_State): implement glMultiDrawArrays and glGetBufferSubData swung0x48 2026-07-10 23:46:14 -04:00
  • 4dd2b2216c [Feat] (MG_Impl, MG_State, MG_Backend, MG_Util): packed 2_10_10_10 and GL_BGRA vertex array formats swung0x48 2026-07-10 23:25:25 -04:00
  • 0cada09aa7 [Feat] (MG_Impl/GLImpl): implement 8 packed glVertexAttribP*ui current-value setters swung0x48 2026-07-10 23:07:13 -04:00
  • 3ff8cafac6 [Feat] (MG_Util/SelfTest): POST rows for polygon-mode and indexed-color-mask capabilities swung0x48 2026-07-10 22:31:20 -04:00
  • 041de6cba3 [Feat] (MG_Backend/DirectGLES, MG_Util/Loader): wire glPolygonMode and glColorMaski into GLES sync swung0x48 2026-07-10 22:27:21 -04:00
  • aa5c33a42d [Feat] (MG_Backend/DirectVulkan): wire glPolygonMode and glColorMaski into pipeline creation swung0x48 2026-07-10 22:16:47 -04:00
  • f892f609c2 [Fix] (MG_Backend/DirectVulkan+DirectGLES, MG_State): cap per-stage GL_MAX_TEXTURE_IMAGE_UNITS to 32 swung0x48 2026-07-10 21:53:04 -04:00
  • 5e8106114f [Feat] (MG_Impl/GLImpl, MG_State, MG_Backend): implement glColorMaski swung0x48 2026-07-10 21:30:57 -04:00
  • 95876d9d8c [Feat] (MG_Impl/GLImpl, MG_State): implement glClampColor and glPolygonMode swung0x48 2026-07-10 21:21:40 -04:00
  • e460536119 [Feat] (MG_Impl/GLImpl, MG_State): implement glHint, glPointParameter*, glPixelStoref, glGetDoublev swung0x48 2026-07-10 20:35:08 -04:00
  • 561d8992bc [Feat] (MG_Impl/GLImpl, MG_State): implement glGetActiveUniformsiv (UBO reflection query) swung0x48 2026-07-10 19:54:33 -04:00
  • d5e19cb7ba [Feat] (MG_Impl/GLImpl): implement 42 stubbed glVertexAttrib*/glGetVertexAttribdv current-value entry points swung0x48 2026-07-10 12:23:23 -04:00
  • d40f753983 [Fix] (MG_State, MG_Impl, MG_Backend): conformant current generic vertex attribute values swung0x48 2026-07-10 11:23:16 -04:00
  • eb090c6170 [Fix] (MG_Backend/DirectVulkan): fence-backed GL sync objects and per-frame descriptor rewind swung0x48 2026-07-10 10:33:34 +00:00
  • 7b00255b11 [Feat] (MG_Util/SelfTest): grouped POST rows, merged probes, MobileGL-reported strings swung0x48andClaude Fable 5 2026-07-10 02:44:40 +00:00
  • f0dd5d667b [Feat] (MG_Util/SelfTest): timer-query rows and functional probes in POST swung0x48andClaude Fable 5 2026-07-10 01:08:59 +00:00
  • 7eb3994b02 [Feat] (MG_Impl, MG_Backend): GL_ARB_timer_query on both backends swung0x48andClaude Fable 5 2026-07-10 01:08:38 +00:00
  • 7d31a6fcd7 [Refactor] (MG_Config): centralize env-var and driver-feature reads swung0x48andClaude Fable 5 2026-07-10 01:08:06 +00:00
  • 096d6f591b [Chore] (android-plugin): make versionCode monotonic within a month swung0x48andClaude Fable 5 2026-07-09 22:26:29 +00:00
  • 19348631ab [Chore] (android-plugin): calendar versioning 26.07 with commit-hash build id swung0x48andClaude Fable 5 2026-07-09 22:21:48 +00:00