swung0x48
|
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
|
2026-08-12 08:42:45 -04:00 |
|
swung0x48
|
1ebf191f94
|
[Fix, Test] (MG_Backend/DirectGLES, MG_Util): baseInstance reached the shader but never the vertex fetch
|
2026-08-12 08:12:27 -04:00 |
|
swung0x48
|
21159caf31
|
[Fix, Test] (MG_Util, MG_Backend/DirectGLES): transform feedback captured nothing at all from an interface block
|
2026-08-12 07:38:50 -04:00 |
|
swung0x48
|
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
|
2026-08-12 06:25:35 -04:00 |
|
swung0x48
|
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
|
2026-08-12 05:36:00 -04:00 |
|
swung0x48
|
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
|
2026-08-12 04:18:08 -04:00 |
|
swung0x48
|
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
|
2026-08-12 04:18:07 -04:00 |
|
swung0x48
|
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
|
2026-08-12 01:42:55 -04:00 |
|
swung0x48
|
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
|
2026-08-12 01:24:40 -04:00 |
|
swung0x48
|
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
|
2026-08-12 01:24:40 -04:00 |
|
swung0x48
|
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
|
2026-08-12 01:09:56 -04:00 |
|
swung0x48
|
5cfbb716c0
|
Merge remote-tracking branch 'origin/dev' into feat/sampler-array-descriptors
|
2026-08-12 00:58:20 -04:00 |
|
swung0x48
|
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
|
2026-08-12 00:45:36 -04:00 |
|
swung0x48
|
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
|
2026-08-12 00:31:37 -04:00 |
|
swung0x48
|
a020de76e3
|
Merge remote-tracking branch 'origin/dev' into feat/sampler-array-descriptors
|
2026-08-12 00:18:51 -04:00 |
|
swung0x48
|
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
|
2026-08-12 00:14:18 -04:00 |
|
swung0x48
|
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
|
2026-08-12 00:11:56 -04:00 |
|
swung0x48
|
7b946fd527
|
[Fix] (MG_Backend/DirectVulkan, MG_Util): RenderPassEntry needs move assignment - robin-hood probing swaps entries, so mapped types must be swappable
|
2026-08-12 00:11:55 -04:00 |
|
swung0x48
|
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
|
2026-08-12 00:11:54 -04:00 |
|
swung0x48
|
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
|
2026-08-11 23:49:31 -04:00 |
|
swung0x48
|
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
|
2026-08-11 23:39:48 -04:00 |
|
swung0x48
|
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
|
2026-08-11 23:19:22 -04:00 |
|
swung0x48
|
19fc7346c5
|
[Fix] (MG_Backend/DirectVulkan): a re-entrant cache lookup dangled the reference glShaderStorageBlockBinding then wrote through
|
2026-08-11 23:05:21 -04:00 |
|
swung0x48
|
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
|
2026-08-11 23:05:21 -04:00 |
|
swung0x48
|
43bcd03dca
|
[Fix] (MG_Backend/DirectVulkan, MG_Impl): a malformed graphics pipeline shape skips the draw instead of faulting inside the driver
|
2026-08-11 20:10:18 -04:00 |
|
swung0x48
|
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
|
2026-08-11 20:10:17 -04:00 |
|
swung0x48
|
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
|
2026-08-11 11:11:28 -04:00 |
|
swung0x48
|
757b31592d
|
[Fix, Test] (MG_Backend/DirectVulkan): a multisample resolve that must also change orientation resolves through a pooled scratch image, then blits
|
2026-08-11 10:49:58 -04:00 |
|
swung0x48
|
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
|
2026-08-11 10:24:59 -04:00 |
|
swung0x48
|
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
|
2026-08-11 10:11:23 -04:00 |
|
swung0x48
|
b1fdffd767
|
[Fix, Test] (MG_Backend/DirectVulkan): read the default framebuffer's depth and stencil back instead of leaving the caller's buffer untouched
|
2026-08-11 10:11:22 -04:00 |
|
swung0x48
|
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
|
2026-08-11 10:08:25 -04:00 |
|
swung0x48
|
5d47698349
|
[Fix, Test] (MG_Backend/DirectVulkan): materialize the default framebuffer's pending clear before a readback, alpha included
|
2026-08-11 09:09:31 -04:00 |
|
swung0x48
|
964a7fcc92
|
[Fix, Test] (MG_State, MG_Backend/DirectVulkan): resolve transform-feedback captures that name a member of an output interface block
|
2026-08-11 08:39:39 -04:00 |
|
swung0x48
|
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
|
2026-08-11 08:19:31 -04:00 |
|
swung0x48
|
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%
|
2026-08-11 07:54:24 -04:00 |
|
swung0x48
|
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
|
2026-08-11 06:30:30 -04:00 |
|
swung0x48
|
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
|
2026-08-11 05:25:32 -04:00 |
|
swung0x48
|
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
|
2026-08-11 03:54:05 -04:00 |
|
swung0x48
|
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
|
2026-08-11 02:51:22 -04:00 |
|
swung0x48
|
921504eccf
|
[Fix, Test] (MG_Backend/DirectVulkan, MG_Util): clamp Vulkan-derived GL buffer limits and saturate the uint32 to Int casts
|
2026-08-11 02:38:51 -04:00 |
|
swung0x48
|
7c5fc03b26
|
[Fix, Test] (MG_Backend/DirectVulkan): never bind or cache a null pipeline, and name the modules a failed vkCreateGraphicsPipelines rejected
|
2026-08-11 02:33:32 -04:00 |
|
swung0x48
|
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
|
2026-08-11 02:24:41 -04:00 |
|
swung0x48
|
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
|
2026-08-11 00:58:24 -04:00 |
|
swung0x48
|
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
|
2026-08-10 21:58:06 -04:00 |
|
swung0x48
|
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
|
2026-08-10 21:47:28 -04:00 |
|
swung0x48
|
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
|
2026-08-10 21:47:27 -04:00 |
|
swung0x48
|
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
|
2026-08-10 13:00:20 -04:00 |
|
swung0x48
|
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
|
2026-08-10 13:00:11 -04:00 |
|
swung0x48
|
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
|
2026-08-10 07:31:57 -04:00 |
|