Commit Graph

  • 7994ca31d3 [Docs] (tools/trace_replay): sundial-lite has no output-array indexing - separate cause from improved-transparency, and it reproduces locally swung0x48 2026-08-11 22:48:51 -04:00
  • 5705e05156 [Docs] (tools/trace_replay): sundial-lite kills the emulator via a host llvmpipe segfault, not OOM swung0x48 2026-08-11 22:38:14 -04:00
  • ab62f81545 [Docs] (tools/trace_replay): the local farm ANGLE is not the CI ANGLE - re-attribute the improved-transparency causes swung0x48 2026-08-11 22:32:14 -04:00
  • f6cf04d6d7 [Docs] (tools/trace_replay): name the two generated-ESSL defects that empty the improved-transparency lane on ANGLE swung0x48 2026-08-11 22:25:38 -04:00
  • 38eb9589f9 [Test] (tools/trace_replay): dump every live framebuffer attachment at a call boundary swung0x48 2026-08-11 22:24:05 -04:00
  • 99ebf67a3d [Fix] (CMake): the Android API guard holds a floor of 26, not an exact pin - higher platforms may configure, the minSdk-26 gradle build enforces API usage swung0x48 2026-08-11 22:08:54 -04:00
  • 2292e99476 Merge remote-tracking branch 'origin/dev' into dev swung0x48 2026-08-11 21:59:25 -04:00
  • 4c5afecc71 Merge branch 'fix/drop-android-api-pin' into dev swung0x48 2026-08-11 21:59:05 -04:00
  • 1c5744f2be [Fix] (MobileGL, Build): drop the __ANDROID_API__ source pin; hold API 26 in CMake instead swung0x48 2026-08-11 21:16:56 -04:00
  • 22859b0958 [Docs] (tools/trace_replay): localise the improved-transparency ANGLE divergence to the OIT composite swung0x48 2026-08-11 21:55:40 -04:00
  • 7aa958fbc9 [Docs] (tools/trace_replay): reproduce the Android DirectGLES lane on Linux, and pin improved-transparency below MobileGL swung0x48 2026-08-11 21:43:56 -04:00
  • a4bd4e04a1 Merge branch 'fix/ssbo-rc13' into dev swung0x48 2026-08-11 21:11:38 -04:00
  • 09459edb6b [Fix] (CI, android-plugin): an ANGLE window surface lost before init finishes is infrastructure, not a trace failure swung0x48 2026-08-11 21:00:31 -04:00
  • 8af6ebc174 [Fix] (MG_State): seed uniform initializers through the phase-A gate, not off the raw artifact block swung0x48 2026-08-11 20:59:25 -04:00
  • 577cd8c670 [Fix] (3rdparty/glslang): bump the fork to the uniform-initializer preservation patch swung0x48 2026-08-11 20:56:59 -04:00
  • 5267243404 [Test] (MG_IntegrationTest): pin declared uniform initializers end to end, on both backends swung0x48 2026-08-11 20:56:07 -04:00
  • 33c2715912 [Fix] (MG_State, MG_Util): a default-block uniform starts at its declared initializer instead of zero swung0x48 2026-08-11 20:53:42 -04:00
  • 3068cdadf8 [Test] (CI): keep the emulator log of the attempt that lost the emulator, and record host memory pressure swung0x48 2026-08-11 20:51:54 -04:00
  • 6dd0201bf2 [Fix, Test] (MG_Impl/GLImpl): an indexed buffer SIZE query reports the range that was asked for, not what the buffer currently holds swung0x48 2026-08-11 20:43:28 -04:00
  • 05bef7118b [Fix, Test] (MG_State): a pipeline draw uses the block bindings its stage programs were given, not the ones their shaders declared swung0x48 2026-08-11 20:23:06 -04:00
  • 94e75fef79 [Fix, Test] (MG_State, MG_Impl): glIsProgramPipeline answers for the first bind, not for the materialization every pipeline command now does swung0x48 2026-08-11 20:05:46 -04:00
  • 43bcd03dca [Fix] (MG_Backend/DirectVulkan, MG_Impl): a malformed graphics pipeline shape skips the draw instead of faulting inside the driver swung0x48 2026-08-11 19:42:47 -04:00
  • 2ce0595fab [Fix, Test] (MG_State, MG_Impl, MG_Backend): a program pipeline's compute stage is dispatched on its own, and the graphics composite draws its stage programs' uniform values swung0x48 2026-08-11 19:42:20 -04:00
  • ba9af18033 [Test] (MG_IntegrationTest): park the two program-pipeline cases whose mechanisms are still open swung0x48 2026-08-11 19:23:45 -04:00
  • f7d63f88fa [Fix, Test] (MG_State, MG_Impl): a reserved program-pipeline name takes state from UseProgramStages and its siblings instead of rejecting them swung0x48 2026-08-11 19:22:25 -04:00
  • 6cf5a7744e [Test] (MG_IntegrationTest): separable programs drawn through a program pipeline object swung0x48 2026-08-11 19:19:49 -04:00
  • ca3d24f5ea [Fix] (CI, android-plugin): keep a failed Android retrace's result artifact, and echo the logs a failed replay already wrote swung0x48 2026-08-11 19:30:38 -04:00
  • cc34d34706 [Fix, Test] (MG_Backend/DirectGLES): hand every compiled shader's lifetime to its program - glDeleteShader was never called, so each program build leaked its driver shader objects swung0x48 2026-08-11 11:11:28 -04:00
  • 757b31592d [Fix, Test] (MG_Backend/DirectVulkan): a multisample resolve that must also change orientation resolves through a pooled scratch image, then blits swung0x48 2026-08-11 10:49:58 -04:00
  • dbae4eda10 [Fix, Test] (MG_Backend/DirectVulkan): depth blits to or from the default framebuffer convert their rect out of GL's bottom-origin space, like the colour blit does swung0x48 2026-08-11 10:24:59 -04:00
  • fa5ff5d168 [Test] (MG_IntegrationTest): every texture access routine must read the same texel out of a usampler2DArray swung0x48 2026-08-11 10:21:38 -04:00
  • 994ae372f8 [Fix, Test] (MG_Backend/DirectVulkan): an SSBO block instance array is one binding of N descriptors, so bind every element from its own GL binding point swung0x48 2026-08-11 09:52:05 -04:00
  • 7ba012adf9 [Test] (MG_IntegrationTest): SSBO runtime-array length across preambles, block arrays and bound ranges swung0x48 2026-08-11 09:45:45 -04:00
  • b1fdffd767 [Fix, Test] (MG_Backend/DirectVulkan): read the default framebuffer's depth and stencil back instead of leaving the caller's buffer untouched swung0x48 2026-08-11 09:40:16 -04:00
  • 18c17ae5ca [Fix, Test] (MG_Backend/DirectVulkan): a blit into the default framebuffer must execute the clear parked before it, not leave it for the readback swung0x48 2026-08-11 10:06:41 -04:00
  • 16c010985f [Fix, Test] (MG_Impl): multi-bind name rejection is per element, and only transform feedback constrains the range size to a multiple of four swung0x48 2026-08-11 09:17:51 -04:00
  • 6f64ec0f51 [Fix, Test] (MG_Impl): validate indirect-dispatch and indirect-count arguments before the backend-availability check swung0x48 2026-08-11 09:12:49 -04:00
  • 5d47698349 [Fix, Test] (MG_Backend/DirectVulkan): materialize the default framebuffer's pending clear before a readback, alpha included swung0x48 2026-08-11 09:08:21 -04:00
  • 7b593e39ef [Fix, Test] (MG_Impl, MG_State): negative-path GL errors for multi_bind, indirect_parameters, texture_storage, compute dispatch/link and buffer-range alignment; indexed getters answer the full pname table swung0x48 2026-08-11 09:02:22 -04:00
  • d83b4dbbb5 [Fix, Test] (MG_State, MG_Impl): ARB_vertex_attrib_binding state model - spec stride default, legacy stride/pointer shadows, divisor re-binds, core-profile VAO-0 rejection swung0x48 2026-08-11 08:49:37 -04:00
  • 964a7fcc92 [Fix, Test] (MG_State, MG_Backend/DirectVulkan): resolve transform-feedback captures that name a member of an output interface block swung0x48 2026-08-11 08:39:39 -04:00
  • 5a7bd9942d [Fix] (MG_Backend/DirectVulkan): print VkShaderModule as a 64-bit value - the const void* cast is ill-formed on 32-bit ABIs where the handle is a plain uint64_t swung0x48 2026-08-11 08:19:31 -04:00
  • 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