Commit Graph

  • 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
  • 4e558ee142 [Docs] (trace-replay): refresh fixture-authoring skill from the Create fixture work swung0x48andClaude Fable 5 2026-07-09 14:26:30 +00:00
  • effdaabab3 [Feat] (android-plugin): table-style POST report with tap-to-expand details swung0x48andClaude Fable 5 2026-07-09 13:55:14 +00:00
  • a394fe1af3 [Test] (MG_Test): cover the indirect gl_InstanceID probe and shader rewrite swung0x48andClaude Fable 5 2026-07-09 13:44:25 +00:00
  • d16b7ccd6a [Feat] (MG_Util/SelfTest, android-plugin): driver POST self-test screen swung0x48andClaude Fable 5 2026-07-09 13:44:14 +00:00
  • 28facc1c3f [Feat] (trace-replay): add Create flywheel indirect and instancing fixtures swung0x48andClaude Fable 5 2026-07-09 12:14:17 +00:00
  • 85b68a9969 [Fix] (MG_Backend/DirectGLES): rebase gl_InstanceID for native indirect draws on ANGLE swung0x48andClaude Fable 5 2026-07-09 12:14:02 +00:00
  • a6a5edf573 [Perf] (MG_Backend/DirectGLES, MG_Impl): cache link-time lookups, bound unit scans, honor eglSwapInterval swung0x48andClaude Fable 5 2026-07-09 10:04:58 +00:00
  • bd208783d7 [Perf] (MG_Backend/DirectVulkan, MG_State): stop re-deriving per-draw state swung0x48andClaude Fable 5 2026-07-09 10:04:37 +00:00
  • 08e808ef20 [Perf] (MG_State/FastSTL): make object deletion cheap again swung0x48andClaude Fable 5 2026-07-09 10:04:16 +00:00
  • bb3a18c627 [Fix] (MG_Backend/DirectGLES): rebind image uniforms to frontend image units swung0x48andClaude Fable 5 2026-07-09 09:06:01 +00:00
  • 74ae1e4a29 [Fix] (MG_Test): expect resolved effective offset in DSA VAO test swung0x48andClaude Fable 5 2026-07-09 07:41:32 +00:00
  • 139de76347 [Fix] (MG_State/MG_Impl/MG_Backend): render Flywheel instanced+indirect on both backends swung0x48andClaude Fable 5 2026-07-09 06:30:10 +00:00
  • 2395a6ded2 [Fix] (MG_Backend/DirectGLES): always use native indirect draws with a bound buffer swung0x48andClaude Fable 5 2026-07-08 13:47:45 +00:00
  • 41b15955b0 [Fix] (MG_Impl): export real glNamedFramebufferTextureLayer swung0x48andClaude Fable 5 2026-07-08 13:35:34 +00:00
  • 07055bb531 [Fix] (MG_Backend/DirectGLES): bind GL_DRAW_INDIRECT_BUFFER for native indirect draws swung0x48andClaude Fable 5 2026-07-08 13:34:31 +00:00
  • 638999213e [Feat] (MG_Backend/DirectVulkan): native GPU indirect draws + draw parameters swung0x48andClaude Fable 5 2026-07-08 13:33:05 +00:00
  • 5ea49f3c50 [Feat] (MG_Backend/DirectGLES): support Flywheel indirect rendering swung0x48andClaude Fable 5 2026-07-08 13:33:05 +00:00
  • 9fbb708e64 [Feat] (MG_State/MG_Impl): ARB_vertex_attrib_binding + ARB_multi_bind state model swung0x48andClaude Fable 5 2026-07-08 13:32:40 +00:00
  • f355080b6f [Fix] (MG_Backend/DirectGLES): survive ES context recreation in buffer ops swung0x48andClaude Fable 5 2026-07-08 15:02:38 +08:00
  • b8ffd25148 [WIP] Mesa-style buffer overhaul: resource abstraction + immediate transfer ops swung0x48andClaude Fable 5 2026-07-08 14:47:51 +08:00
  • 2ed96e9678 [Fix] (MG_Backend/DirectVulkan): pad short uniform buffer ranges swung0x48 2026-07-08 10:50:14 +08:00
  • fbbf3c4beb [Chore] (trace-replay): document bliss ANGLE workaround swung0x48 2026-07-08 07:14:45 +08:00
  • b88066b73b [Fix] (trace-replay): accept Android SDK licenses explicitly swung0x48 2026-07-08 01:56:45 +08:00
  • 83d475eb02 [Fix] (trace-replay): stabilize ANGLE retrace cases swung0x48 2026-07-08 01:07:20 +08:00
  • 292576d2a1 [Fix] (MG_Backend/DirectGLES): avoid ANGLE llvmpipe mipmap hangs swung0x48 2026-07-07 21:19:50 +08:00
  • 0c8af978db [Chore] (MG_Backend): lower format capability logs swung0x48 2026-07-07 09:58:30 +08:00
  • 23671f1a99 [Chore] (trace-replay): cache Android retrace AVD swung0x48 2026-07-07 06:30:15 +08:00
  • 94e882762e [Chore] (trace-replay): reduce retrace CI swap swung0x48 2026-07-07 06:28:15 +08:00
  • 672538f4f1 [Chore] (trace-replay): add swap to retrace CI swung0x48 2026-07-07 05:21:50 +08:00
  • a9763639ed [Chore] (trace-replay): add Derivative Android ANGLE golden swung0x48 2026-07-06 21:12:41 +08:00
  • 616e694bdd [Fix] (MG_Backend/DirectGLES): flush ANGLE memory barriers swung0x48 2026-07-06 12:39:51 +08:00
  • 0bee379b61 [Fix] (MG_Util/ShaderTranspiler): keep decomposed workgroup types before globals swung0x48 2026-07-06 03:58:26 +08:00
  • d35e452368 [Fix] (MG_Util/ShaderTranspiler): rewrite workgroup vec3 composite loads swung0x48 2026-07-06 01:25:44 +08:00
  • 86f322e252 [Fix] (MG_Util/ShaderTranspiler): keep workgroup vec3 pass no-op clean swung0x48 2026-07-06 00:25:49 +08:00
  • b40def47eb [Refactor] (MG_Util/ShaderTranspiler): replace Photon shared vec3 regex hack with SPIR-V pass swung0x48 2026-07-05 23:48:27 +08:00
  • 93cf3559e1 [Fix] (MG_Backend/DirectGLES): fix Photon image replay swung0x48 2026-07-05 18:41:32 +08:00
  • 8f947253ad [Chore] (trace-replay): add Minecraft 1.17 menu fixture swung0x48 2026-07-05 15:18:54 +08:00
  • 8cce59302b [Fix] (MG_Util/ShaderTranspiler): keep GL shaders off Vulkan macro path swung0x48 2026-07-05 09:15:47 +08:00
  • 74ad6d76eb [Feat] (trace-replay): add macOS window retrace harness swung0x48 2026-07-04 23:35:27 +08:00
  • 95f2f5bab9 [Fix] (MG_Impl/Getter): don't ask system GL for context flags swung0x48 2026-07-04 21:14:04 +08:00
  • e5ef9b2ace [Fix] (trace-replay): avoid Android startup race swung0x48 2026-07-04 08:55:43 +08:00
  • 0a138276f8 [Fix] (trace-replay): align Android retrace harness swung0x48 2026-07-04 08:21:46 +08:00