Commit Graph

  • 74ce58a6c7 [Fix] (MG_Backend/DirectGLES): a declined map renewal left the respecify pointing at immutable storage swung0x48 2026-08-12 09:17:54 -04:00
  • bb122ebd4f [Test] (MG_IntegrationTest): the DSA enable-disable-attributes case, reassembled where it can be stepped through swung0x48 2026-08-12 08:56:13 -04:00
  • 9b0ed5b3af [Fix, Feat, Test] (MG_Impl, MG_Test): a specific compressed internalformat now tags the level it defines, and the compressed sub-image entry points stopped being stubs swung0x48 2026-08-12 08:52:01 -04:00
  • 0e31c1481b [Fix, Test] (MG_State, MG_Backend/DirectVulkan, MG_Backend/DirectGLES, MG_IntegrationTest): a respecified capture buffer left the transform feedback writing one store and the readback reading another swung0x48 2026-08-12 08:42:39 -04:00
  • 811f32760e [CI] (test): gate the retrace pipeline on the integration lane - build-retrace and trace-cases now need it swung0x48 2026-08-12 08:41:19 -04:00
  • 01381a0404 Merge branch "feat/cts-baseinstance-dsa-bufstorage" into dev swung0x48 2026-08-12 08:23:57 -04:00
  • 0f02b0fdb1 [Fix] (MG_Util): the POST base-instance row described an emulation that no longer exists swung0x48 2026-08-12 08:22:26 -04:00
  • 3be02abf47 [Fix] (MG_Impl): multisample renderbuffers ignored the integer formats own sample limit swung0x48 2026-08-12 08:17:11 -04:00
  • f91d6b676c [Fix] (MG_Impl): the per-stage atomic-counter-buffer limits answered GL_INVALID_ENUM instead of their zero swung0x48 2026-08-12 08:12:32 -04:00
  • 1ebf191f94 [Fix, Test] (MG_Backend/DirectGLES, MG_Util): baseInstance reached the shader but never the vertex fetch swung0x48 2026-08-12 08:12:27 -04:00
  • ccad803023 Merge branch "feat/cts-vab-current-attrib" into dev swung0x48 2026-08-12 07:40:47 -04:00
  • 21159caf31 [Fix, Test] (MG_Util, MG_Backend/DirectGLES): transform feedback captured nothing at all from an interface block swung0x48 2026-08-12 07:36:19 -04:00
  • ea4819a21d [Fix, Test] (MG_State, MG_IntegrationTest): an array vertex input occupies one location per element, not one location in total swung0x48 2026-08-12 07:36:12 -04:00
  • 6b882b3ccf Merge branch "feat/fp64-demote-to-fp32" into dev swung0x48 2026-08-12 06:42:23 -04:00
  • 96bd36c50b [Docs] (README): the MOBILEGL_ADVERTISE_FP64 switch swung0x48 2026-08-12 06:41:54 -04:00
  • 46fbd837b3 [Fix, Test] (MG_State, MG_Impl, MG_IntegrationTest): a double uniform initializer no longer reads zero swung0x48 2026-08-12 06:41:54 -04:00
  • 796a57a115 [Feat, Test] (MG_Backend, MG_Util, MG_Impl): report the fp64 tier at startup, decline 64-bit vertex formats everywhere, advertise GL_ARB_gpu_shader_fp64 only on request swung0x48 2026-08-12 06:25:35 -04:00
  • 62a2dae5ba [Fix, Test] (MG_Impl, MG_State, MG_IntegrationTest): glUniform*d stores what the demoted shader reads swung0x48 2026-08-12 06:20:11 -04:00
  • 532836c058 [Feat, Test] (MG_Util): demote every 64-bit float in a shader to 32 bits, with the block layout re-derived swung0x48 2026-08-12 06:11:50 -04:00
  • 2fced2241b [Fix, Test] (MG_Util, MG_State, MG_Backend): the GL 4.3 vertex binding model - array vertex inputs, zero binding strides, instance divisors, and formats ES refuses swung0x48 2026-08-12 05:36:00 -04:00
  • 21b5fc2d92 Merge branch 'feat/cts-draw-parameters' into dev swung0x48 2026-08-12 04:24:54 -04:00
  • 1f753ab5fa [Test] (MG_IntegrationTest): the draw-parameter builtins, read back out of the shader the draw produced swung0x48 2026-08-12 04:18:08 -04:00
  • 3ed9501be5 [Fix, Feat, Test] (MG_Backend/DirectGLES, MG_Test): the draw-parameter builtins never reached the draws that carry them, and glMultiDrawArraysIndirectCount had no backend at all swung0x48 2026-08-12 04:18:08 -04:00
  • 7311251f30 [Fix] (MG_Util, MG_Backend/DirectVulkan): GL reads gl_BaseVertex as zero on a non-indexed draw where Vulkan's builtin hands over firstVertex swung0x48 2026-08-12 04:18:07 -04:00
  • 7625cf450d [Fix, Test] (MG_Impl, MG_IntegrationTest): a block count may not exceed its binding points, and an atomic-counter buffer size must survive division by them swung0x48 2026-08-12 02:38:04 -04:00
  • 450eb209b6 [Fix, Test] (MG_State, MG_Impl): the program interface of a separable program is its own first and last stage, not vertex and fragment swung0x48 2026-08-12 02:38:04 -04:00
  • 8c5c39b3c3 [Feat, Test] (MG_Impl): glBindTextures and glBindImageTextures were no-op stubs while GL_ARB_multi_bind was advertised swung0x48 2026-08-12 02:38:03 -04:00
  • 64a0ea397c [Perf] (CI): rewrite one rolling ccache entry per job on the default branch instead of saving one per run swung0x48 2026-08-12 01:55:34 -04:00
  • 205d837942 [Fix, Test] (MG_Backend/DirectGLES, MG_Util, CI): keep an explicit LOD constant under a new avoid flag - folding the bias uniform into it kills the ANGLE llvmpipe JIT swung0x48 2026-08-12 01:37:59 -04:00
  • b5e9339c66 [Fix] (MG_Util): the unsupported-buffer-textures log tells a too-old driver apart from one whose entry point failed to resolve swung0x48 2026-08-12 01:21:47 -04:00
  • e310e3e9ff [Fix, Test] (MG_Util, MG_Backend/DirectGLES, MG_Test): resolve buffer textures through the entry point the tier ships, not the ES 3.2 core name; bound the OES retarget to an exact extension name swung0x48 2026-08-12 01:08:11 -04:00
  • a0bf4a83bc [Fix, Test] (MG_Util, MG_Backend/DirectGLES, MG_Test, MG_IntegrationTest): detect buffer-texture support, emit the directive the driver advertises, and name the capability when it is missing swung0x48 2026-08-12 00:43:54 -04:00
  • 97facf777b [Fix] (MG_Backend/DirectVulkan): act on a failed binding remap, bound the storage-block array count, and correct the decline rationale review found describing the reverted mechanism swung0x48 2026-08-12 01:09:56 -04:00
  • 5cfbb716c0 Merge remote-tracking branch 'origin/dev' into feat/sampler-array-descriptors swung0x48 2026-08-12 00:58:20 -04:00
  • 64c3411d70 [Perf] (CI): restore unchanged trace fixtures from the Actions cache keyed on their Git LFS pointer oid, downloading only on a miss swung0x48 2026-08-12 00:13:56 -04:00
  • f3a0d9e0a3 [Refactor] (CI): move the trace fixture LFS pointer and verification helpers into a shared library swung0x48 2026-08-12 00:13:55 -04:00
  • 068786e812 [Fix, Test] (MG_Backend/DirectVulkan, MG_IntegrationTest): a declined descriptor must refuse the draw, not just leave the layout - a multi-dimensional sampler array otherwise faulted in the shader swung0x48 2026-08-12 00:40:23 -04:00
  • 8e7cc62c24 [Test] (MG_Benchmark): a standing UnorderedMap observatory - the container's own shapes, measured through the alias so a future swap re-runs the same suite swung0x48 2026-08-12 00:40:57 -04:00
  • d2a36d65a3 [Fix, Test] (MG_Backend/DirectVulkan, MG_IntegrationTest): a sampler uniform array is one binding with many descriptors too - Magma wrote only element zero, and declines the multi-dimensional shape loudly swung0x48 2026-08-12 00:31:37 -04:00
  • a020de76e3 Merge remote-tracking branch 'origin/dev' into feat/sampler-array-descriptors swung0x48 2026-08-12 00:18:51 -04:00
  • 574634adfa [Fix, Test] (MG_Backend/DirectVulkan, MG_IntegrationTest): let the binding remap accept the descriptor arrays that now have per-element paths, and reserve image-info scratch for them swung0x48 2026-08-12 00:14:18 -04:00
  • e71d715e1a [Fix, Test] (MG_Backend/DirectVulkan, MG_Util, MG_Test): VkProgramObject move dropped stageSpirvDigests - a robin-hood swap would pair one program's modules with another's digests; sanity tests assert key identity, not iteration counts swung0x48 2026-08-12 00:08:24 -04:00
  • 7b946fd527 [Fix] (MG_Backend/DirectVulkan, MG_Util): RenderPassEntry needs move assignment - robin-hood probing swaps entries, so mapped types must be swappable swung0x48 2026-08-11 23:50:24 -04:00
  • 8f3ce5f5b7 [Fix] (MG_Backend/DirectGLES, MG_State, Docs): CopyImageSubData held a registry reference across a re-entrant sync; retarget container rationales at the new erase contract swung0x48 2026-08-11 23:38:40 -04:00
  • 21ec744ef2 [Refactor] (MG_Util, MG_Test): retire FastSTL for ska::flat_hash_map, the table MobileGlues settled on swung0x48 2026-08-11 23:31:00 -04:00
  • faa7b17da3 [Test] (tools/trace_replay): drop the minecraft-26.2-in-world fixture swung0x48 2026-08-12 00:03:03 -04:00
  • f6849fc0b3 [Fix, Test] (MG_Backend/DirectVulkan, MG_IntegrationTest): an image uniform array is one binding with many descriptors, not one - Magma wrote only element zero and left the rest undefined swung0x48 2026-08-11 23:49:31 -04:00
  • 4d1d4f6225 [Fix] (DirectGLES): report a rejected shader and a failed link at MGLOG_I - MGLOG_E is compiled out of every INFO build, which is why the retrace artifact could not say which shader the driver refused swung0x48 2026-08-11 23:28:43 -04:00
  • cef81df73f [Fix, Test] (ShaderTranspiler, DirectGLES): fold or lower dynamically indexed fragment outputs before ESSL emission - GLSL ES requires constant integral indices, so the OIT coefficient shader linked nothing on ANGLE and every translucent draw was a silent no-op swung0x48 2026-08-11 23:28:43 -04:00
  • c4e6ea1f23 [Docs] (tools/trace_replay): strip investigation logs from the README - usage and procedures only swung0x48 2026-08-11 23:24:42 -04:00
  • b4e07ce651 [Fix, Test] (MG_State, MG_Backend/DirectGLES, MG_Test): close three holes review found in the composite uniform mirror - unrecorded stage programs, byte-identical writes, and Espryt's baked image units swung0x48 2026-08-11 23:19:22 -04:00
  • ff324057ad [Fix, Perf, Test] (MG_State, MG_Impl/GLImpl, MG_Test, MG_IntegrationTest): a pipeline composite mirrors only the uniforms a stage was written to, and survives a sampler or block rebinding swung0x48 2026-08-11 23:11:09 -04:00
  • ef4c6dbe0a Merge branch 'feat/cts-420pack-wave' into dev swung0x48 2026-08-11 23:07:45 -04:00
  • 19fc7346c5 [Fix] (MG_Backend/DirectVulkan): a re-entrant cache lookup dangled the reference glShaderStorageBlockBinding then wrote through swung0x48 2026-08-11 23:05:13 -04:00
  • bcb0e894ef [Fix, Test] (MG_State, MG_Backend/DirectGLES, MG_Util, MG_IntegrationTest, MG_Test): array layout(binding=N) elements bind consecutively, a read+write image reaches ESSL legally, compute local_size comes from the linked intermediate, and glShaderStorageBlockBinding is baked into the generated source swung0x48 2026-08-11 23:04:55 -04:00
  • 794c10e56c [Fix] (3rdparty/glslang): bump the fork to the invariant-placement and atomic-counter-lowering patches swung0x48 2026-08-11 23:04:11 -04:00
  • 28390667d7 [Docs] (tools/trace_replay): sundial-lite's sampler state is identical on both stacks - the crash is a driver defect, not a dangling binding swung0x48 2026-08-11 23:04:25 -04:00
  • 90dd9bec77 [Docs] (tools/trace_replay): sundial-lite crashes in llvmpipe's JIT on a NULL per-texture-unit descriptor swung0x48 2026-08-11 22:54:50 -04:00
  • 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