Commit Graph

  • 21a43bf6a4 [Fix, Test] (MG_Backend/DirectVulkan): re-land the gl_FragCoord default-framebuffer origin fix - the suspected slowdown was a mismeasurement, paired timings are within 1% swung0x48 2026-08-11 07:54:24 -04:00
  • 5b6dec2d81 [Revert] (MG_Backend/DirectVulkan): back out the gl_FragCoord default-framebuffer origin fix - correct, but it costs DirectVulkan a large order-dependent slowdown that is not yet root-caused swung0x48 2026-08-11 06:30:30 -04:00
  • 543c29bf86 [Fix, Test] (MG_Backend/DirectVulkan): gl_FragCoord on the default framebuffer reports GL's window origin - the stored row is not the window row once the viewport rect is converted swung0x48 2026-08-11 05:25:32 -04:00
  • ef562ee9b5 [Fix, Test] (MG_Backend/DirectGLES): backend framebuffer, renderbuffer and sampler twins release their driver ids - a framebuffer per readback leaked the driver into stale pixels swung0x48 2026-08-11 03:54:05 -04:00
  • fa0f6693d0 [Fix, Test] (MG_State, MG_Impl): reflection-backed glGetProgramiv queries answer zero instead of dereferencing a null TProgram swung0x48 2026-08-11 02:59:10 -04:00
  • a6c362c6ce [Fix, Test] (MG_Backend/DirectVulkan): convert every default-framebuffer rectangle between GL and display Y origins - viewport, scissor, ReadPixels offset, rect-capable readback remap, blit source swung0x48 2026-08-11 02:51:22 -04:00
  • 921504eccf [Fix, Test] (MG_Backend/DirectVulkan, MG_Util): clamp Vulkan-derived GL buffer limits and saturate the uint32 to Int casts swung0x48 2026-08-11 02:38:51 -04:00
  • 7c5fc03b26 [Fix, Test] (MG_Backend/DirectVulkan): never bind or cache a null pipeline, and name the modules a failed vkCreateGraphicsPipelines rejected swung0x48 2026-08-11 02:33:32 -04:00
  • ed29e63543 [Fix, Test] (MG_Impl): glGetProgramResourceiv reports a written length on every exit path swung0x48 2026-08-11 02:27:26 -04:00
  • 5c8a9c41d6 [Fix, Test] (MG_Impl, MG_State): GL entry points record errors instead of throwing through the C ABI - CopyTexImage superset rule, TEXTURE_BUFFER level queries, indexed cap toggles swung0x48 2026-08-11 02:24:41 -04:00
  • efa0345c36 [Fix] (MG_Backend/DirectVulkan): offscreen surfaces never touch a window system - delete the hidden-Xlib fallback, make surface and device-enumeration failures loud, guard zero devices swung0x48 2026-08-11 00:58:24 -04:00
  • ce0f18969c [Fix] (MG_Util): dlopen the versioned libEGL.so.1 first - the unversioned name is a dev-package symlink absent on runtime-only systems, and its silent failure nulled every EGL entry point swung0x48 2026-08-11 00:58:23 -04:00
  • 7ce0966e7d [Fix, Test] (MG_IntegrationTest): the harness is surfaceless by construction - never binds a window system, hardware demand split out of REQUIRE_GPU, pre-flight crashes keep their cores swung0x48 2026-08-11 00:58:22 -04:00
  • 1c6ca2753f [Test] (CI): wire the integration-gpu lane into the Test workflow - lavapipe ICD pinned at configure time, REQUIRE_GPU armed, failure-only core-dump artifacts in every native lane swung0x48 2026-08-11 00:58:21 -04:00
  • 61b0532865 [Fix] (MG_Backend/DirectVulkan): replay client-memory multi-draw through the single-draw path - the batched shared index view cannot express per-draw client pointers and dropped the whole batch swung0x48 2026-08-10 21:58:06 -04:00
  • f5b8a505ed [Fix] (MG_Backend/DirectVulkan): keep the transient arena's outgrown buffers alive until frame rewind - the transient drain freed them while frame-serial memos still bound them swung0x48 2026-08-10 21:47:28 -04:00
  • 8371365db5 [Fix] (MG_Backend/DirectVulkan): include the texture enum converter the WARN-level log line needs - VulkanRenderer.cpp did not compile below INFO log level swung0x48 2026-08-10 21:47:27 -04:00
  • b219992ee3 [Feat, Perf, Test] (MG_Util, MG_Backend, MG_Test): test-lane SPIR-V validation latch; entry-local Private rewrite, in-chain rect lowering and uniform-Location strip swung0x48 2026-08-10 13:00:20 -04:00
  • 94233ef928 [Fix] (MG_Backend/DirectVulkan): drop draws and dispatches when a program has no optimized SPIR-V - a phase-B failure left raw glslang words in GetGeneratedSpirv swung0x48 2026-08-10 13:00:11 -04:00
  • 0827d7a539 [Fix] (MobileGL): define the numeric log levels in Defines.h - the MOBILEGL_ASSERT gate compared undefined tokens in TUs that never include Log.h swung0x48 2026-08-10 13:00:10 -04:00
  • 5248b8b746 [Test] (MG_Test): replay a real Iris shader pair through the whole async frontend, both phases and both quirk states swung0x48 2026-08-10 10:06:26 -04:00
  • d868e1c476 [Test] (MG_Util, MG_State): remove the TEMP stage-timing probes - the async-compile measurement campaign is done swung0x48 2026-08-10 09:56:05 -04:00
  • c3412ca394 [Fix, Test] (MG_Util): give inactive vertex inputs a Location - undecorated inputs are invalid SPIR-V and Adreno rejects the whole pipeline swung0x48 2026-08-10 09:27:01 -04:00
  • 5ccaff37af [Fix] (MG_State): revert the Cut A-prime reorder - device dumps prove the ordering is not the pipeline failure, and record the third measurement swung0x48 2026-08-10 08:58:38 -04:00
  • 71e29f9d58 [Fix] (MG_State): keep GlslangToSpv ahead of buildReflection - reflection-first drops a vertex input's Location decoration and Adreno rejects the pipeline swung0x48 2026-08-10 08:33:47 -04:00
  • 8ad07c222c [Test] (MG_Test): cover the cancelled-SPIR-V program, the buffered-write valve and drop, the delete-does-not-block bound and the zero-thread join swung0x48 2026-08-10 07:31:58 -04:00
  • 5722094d6f [Docs] (MG_State): the early AST drop frees only the re-parsed shaders - the compile node co-owns the rest swung0x48 2026-08-10 07:31:58 -04:00
  • 4831387cf0 [Fix] (MG_State, MG_Backend/DirectVulkan): a program whose SPIR-V job was cancelled faulted on the first glUniform - bounds-check the shadow lookup swung0x48 2026-08-10 07:31:57 -04:00
  • d03b72267a [Perf] (MG_State): drop the parsed ASTs as soon as the SPIR-V job has generated its modules swung0x48 2026-08-10 06:37:49 -04:00
  • 847ec74f48 [Test] (MG_Test): AsyncSpirvPhaseTest - phase-A completeness, buffered-uniform replay, version bumps and the cancel matrix swung0x48 2026-08-10 06:12:39 -04:00
  • e02e5caa17 [Fix] (MG_State, MG_Backend/DirectGLES): join both link phases on the draw and drain paths, and refuse to bind a program whose SPIR-V never arrived swung0x48 2026-08-10 06:08:30 -04:00
  • 1958934594 [Feat] (MG_State, MG_Impl): buffer non-opaque glUniform writes across the SPIR-V window and replay them at its publish swung0x48 2026-08-10 06:05:37 -04:00
  • dec0c5eaff [Refactor, Test] (MG_State, MG_Util): split the link into ProgramLinkTask (query surface) and a chained ProgramSpirvTask behind its own join gate swung0x48 2026-08-10 06:02:52 -04:00
  • b6a44cd1e2 [Refactor] (MG_State): run reflection and link validation before SPIR-V generation - the ordering constraint retested byte-identical swung0x48 2026-08-10 05:50:20 -04:00
  • 85f45d0e44 [Test] (MG_Util, MG_State): TEMP spirv-null plumbing probe for the allocator-pathology discriminator swung0x48 2026-08-10 05:42:23 -04:00
  • 404236d337 [Test] (MG_Util, MG_State): TEMP stage-timing probes for the async-compile campaign - remove before merge swung0x48 2026-08-10 05:16:24 -04:00
  • 6ea948779e [Feat, Test] (MG_Impl, MG_State, MG_Util): opt-in MOBILEGL_ASYNC_OPTIMISTIC_SHADER_STATUS - shader compile status/log answer without joining, latched per compile swung0x48 2026-08-10 02:06:17 -04:00
  • 3025284a6e [Perf, Test] (MG_Util): libfork execution engine for the shader compile pool, runtime-selectable libfork-async-compile BZLZHH 2026-08-09 17:24:01 -04:00
  • d8d7530011 [Fix, Test] (MG_Backend/DirectGLES, MG_Util, MG_Impl): widen three-channel render targets wherever the driver refuses them BZLZHH 2026-08-09 15:28:34 -04:00
  • 0f394fa46f [Test] (tools/trace_replay): pin the Iris glyph-death bug with a BSL pause-menu fixture BZLZHH 2026-08-09 12:49:10 -04:00
  • 107669b3db [Fix, Test] (MG_Impl, MG_Backend/DirectGLES): DSA by-name texture calls corrupted borrowed-slot memo pairings - process-wide glyph death under Iris BZLZHH 2026-08-09 11:28:24 -04:00
  • 3e0460e472 [Feat, Fix] (MG_Impl, MG_State, MG_Backend): program interface queries from frontend reflection; Espryt state-shadow reset BZLZHH 2026-08-09 08:12:30 -04:00
  • 33ff177bb2 [Fix, Test] (MG_Impl, MG_State): advertised-extension conformance wave 1 - uniforms, validators, getters BZLZHH 2026-08-09 04:39:22 -04:00
  • 2e6fc1ffc0 [Feat] (MG_Util, MG_Test): enable asynchronous shader compilation by default (P1 stage 7) BZLZHH 2026-08-09 02:04:59 -04:00
  • c6299f754f [Fix] (MG_Backend/DirectVulkan, MG_State): key per-object memos on lifetime ids, not heap addresses BZLZHH 2026-08-08 23:56:53 -04:00
  • dcf918b9ee [Perf] (MG_State): adopt in-flight compile jobs across shader objects (P1 stage 6) BZLZHH 2026-08-08 20:17:51 -04:00
  • d98f72447d [Feat, Test] (MG_Backend/DirectVulkan, MG_Test): Magma advertisement + the parallel-compile test net BZLZHH 2026-08-08 13:17:58 -04:00
  • f15cb8900f [Feat] (MG_Backend/DirectGLES): advertise GL_KHR_parallel_shader_compile when async is enabled BZLZHH 2026-08-08 13:17:58 -04:00
  • bd0def6133 [Feat] (MG_Impl, MG_State, MG_Util): the GL_KHR_parallel_shader_compile surface (P1 stage 5) BZLZHH 2026-08-08 13:17:58 -04:00
  • 6f8b7fbc40 [Feat] (MG_State, MG_Util): async program linking on the job graph (P1 stage 4) BZLZHH 2026-08-08 11:58:38 -04:00
  • e5fb57f7eb [Feat] (MG_State, MG_Util): async shader compilation behind the default-off flag (P1 stage 3) BZLZHH 2026-08-08 10:33:50 -04:00
  • c93e5fa409 [Refactor] (MG_State, MG_Util): join-by-construction link/compile artifacts (P1 stage 2) BZLZHH 2026-08-08 07:12:37 -04:00
  • 8191075133 [Feat] (MG_Util): the async-compile pool skeleton behind a default-off flag (P1 stage 1) BZLZHH 2026-08-08 05:28:51 -04:00
  • d6caed7822 [Fix] (MG_Util, MG_State): five latent frontend bugs the async work made load-bearing BZLZHH 2026-08-08 05:28:28 -04:00
  • 9152e88734 [Perf] (MG_State): dedupe shader compiles by source hash BZLZHH 2026-08-08 04:18:32 -04:00
  • 2406e2d219 [Perf, Fix] (MG_Util): preprocessing cleanups - dead scanners, quote-mask bug, one version inspection per compile BZLZHH 2026-08-08 03:43:56 -04:00
  • b228f813c0 [Perf] (MG_Util): replace the builtin-shadowing string scans with one tokenize and a SPIR-V OpName pass BZLZHH 2026-08-08 03:11:38 -04:00
  • 0d0527192a [Perf] (MG_State, MG_Util): compile shaders with a single relaxed parse BZLZHH 2026-08-08 01:25:54 -04:00
  • 81bcbd6c14 [Fix] (MG_State): allocate program and shader names from one shared name space BZLZHH 2026-08-08 01:25:37 -04:00
  • 867fe3e0ef [Feat] (MG_Util, MG_IntegrationTest): POST rows for the Espryt multi-draw tier, and the scenario that pins it BZLZHH 2026-08-07 08:16:08 -04:00
  • 0ec487c993 [Feat] (MG_Backend): port MobileGlues' multi-draw emulation to DirectGLES as a tier ladder BZLZHH 2026-08-07 08:15:54 -04:00
  • 23b880c8be [Feat] (MG_Config, MG_Util): a tier knob and two capability flags for Espryt multi-draw BZLZHH 2026-08-07 08:15:31 -04:00
  • ebc5bff9b1 [Fix, Feat] (MG_Backend): make DirectVulkan multi-draw actually draw, then pick its best tier BZLZHH 2026-08-07 06:41:21 -04:00
  • 231d5c90e4 [Feat] (MG_Config, MG_Util): a preference knob and POST rows for Magma's multi-draw tiers BZLZHH 2026-08-07 06:41:21 -04:00
  • d5f5e6405b [Perf] (MG_Backend): batch DirectGLES multi-draw base-vertex where the driver really has it BZLZHH 2026-08-07 06:00:54 -04:00
  • ac3a83b207 [Fix] (MG_Util, MG_Test): never take a non-null eglGetProcAddress result as support BZLZHH 2026-08-07 06:00:54 -04:00
  • 335f2decbd [Perf] (MG_Backend): stop DirectVulkan re-proving sampler sets and re-walking render passes BZLZHH 2026-08-07 04:13:55 -04:00
  • fb1ad96c04 [Fix] (MG_Backend): stop DirectGLES twin destructors calling a dead driver at exit BZLZHH 2026-08-07 04:13:55 -04:00
  • 313b75a7c0 [Test] (MG_IntegrationTest): pin the two shipped memo bugs with rendered pixels BZLZHH 2026-08-07 03:30:18 -04:00
  • d7976326fa [Fix] (MG_Backend): two DirectVulkan draw memos trusted more than they proved BZLZHH 2026-08-06 21:55:41 -04:00
  • 72ee7c439c [Perf] (MG_Backend): merge DirectVulkan's contiguous sub-draws, remember four programs BZLZHH 2026-08-06 20:17:19 -04:00
  • cdea275227 [Perf] (MG_Backend): stage only the rects DirectVulkan actually dirtied BZLZHH 2026-08-06 20:17:19 -04:00
  • 6a02c5fea0 [Perf] (MG_Backend): upload only the rects DirectGLES actually dirtied BZLZHH 2026-08-06 20:17:19 -04:00
  • 7db5b35a3e [Perf] (MG_State): remember every dirty rect, not just their union BZLZHH 2026-08-06 20:17:19 -04:00
  • 990e518e33 [Perf] (MG_Backend): give DirectVulkan's draw memo a table that fits in cache lines BZLZHH 2026-08-06 14:07:49 -04:00
  • 25a8f51db5 [Perf] (MG_Backend): make DirectGLES program switches remember their own bindings BZLZHH 2026-08-06 14:07:49 -04:00
  • 8f2b766b56 [Perf] (MG_Backend): let DirectVulkan trust across frames what it proved once BZLZHH 2026-08-06 13:18:38 -04:00
  • b9d8ad0421 [Perf] (MG_Backend): give DirectGLES one epoch that says no buffer moved BZLZHH 2026-08-06 13:16:44 -04:00
  • f8069c0624 [Perf] (MG_State): stop paying two atomic refcounts for every glBindVertexArray BZLZHH 2026-08-06 13:16:02 -04:00
  • d0aae85da2 [Perf] (MG_Backend): let DirectVulkan's draw fast path survive a VAO swap BZLZHH 2026-08-06 12:00:31 -04:00
  • b904658b10 [Perf] (MG_Backend): stop DirectGLES re-resolving the same VAO's buffers and twins every draw BZLZHH 2026-08-06 12:00:31 -04:00
  • 4b3fd11462 [Perf] (MG_Backend): key DirectVulkan's pipeline memo on state values, not a version that never repeats BZLZHH 2026-08-06 11:21:26 -04:00
  • 9be5d95440 [Perf] (MG_Backend): give DirectGLES unit bindings an epoch the sampler churn cannot fake BZLZHH 2026-08-06 11:20:52 -04:00
  • d49d79a64b [Perf] (MG_Backend): pool DirectVulkan's upload staging and batch its submits BZLZHH 2026-08-06 10:36:08 -04:00
  • f5761ea1f3 [Perf] (MG_Backend): diff only the render-state span that moved, and gate the per-draw walks BZLZHH 2026-08-06 10:35:41 -04:00
  • b3f774d2c0 [Fix] (CI): name the EGL vendor library the benchmark job runs on BZLZHH 2026-08-06 09:44:04 -04:00
  • d524330032 [Test] (MG_Benchmark, MG_Util): model four more Minecraft frame patterns in the driver bench BZLZHH 2026-08-06 09:39:02 -04:00
  • f2d210b12d [Perf] (MG_Backend): memoise DirectVulkan's per-draw vertex binding resolution BZLZHH 2026-08-06 09:24:08 -04:00
  • fd40960f70 [Perf] (MG_Backend): revive DirectGLES's dead framebuffer-sync guard, and stop probing twice BZLZHH 2026-08-06 09:23:47 -04:00
  • 49aab57f03 [Perf] (MG_Backend, MG_State): stop re-resolving texture unit bindings on every draw BZLZHH 2026-08-06 07:41:10 -04:00
  • 62dea3bea4 [Perf] (MG_State): answer texture sampling completeness from a memo BZLZHH 2026-08-06 06:42:43 -04:00
  • 57aeeec053 [Perf] (MG_State, MG_Impl, MG_Backend): stop paying per draw and per upload for work already known BZLZHH 2026-08-06 06:24:37 -04:00
  • 9c0144d24a [Test] (MG_Benchmark, MG_Util, MG_Backend, android-plugin): run the driver benchmark on a phone BZLZHH 2026-08-06 06:13:34 -04:00
  • 1e45958e01 [Test] (MG_Benchmark): measure the driver work a real Minecraft frame asks for BZLZHH 2026-08-06 03:57:52 -04:00
  • 6e6f5268fb [Fix] (MG_Backend): let a default-visual X11 window match an alpha-free config BZLZHH 2026-08-05 23:08:29 -04:00
  • 08f98ad9ce [Feat] (MG_Impl): implement GLX 1.4 on the EGL layer so GLFW apps run on Linux BZLZHH 2026-08-05 23:08:29 -04:00
  • d39a706d57 [Perf] (MG_Backend): stop paying for descriptor slots and mip barriers nobody asked for BZLZHH 2026-08-05 15:19:37 -04:00
  • f3d52faad4 [Perf] (MG_State, MG_Backend): stop glViewport from evicting a cached VkPipeline BZLZHH 2026-08-05 12:49:54 -04:00
  • ba81ee114e [Feat] (MG_Backend, MG_Impl, MG_Util): attach one layer of any layered texture on DirectVulkan BZLZHH 2026-08-05 12:07:04 -04:00
  • c8c7b19579 [Feat] (MG_Backend, MG_Util): give DirectVulkan GL's provoking vertex BZLZHH 2026-08-05 10:04:30 -04:00