swung0x48
|
6dd0201bf2
|
[Fix, Test] (MG_Impl/GLImpl): an indexed buffer SIZE query reports the range that was asked for, not what the buffer currently holds
|
2026-08-11 20:43:28 -04:00 |
|
swung0x48
|
05bef7118b
|
[Fix, Test] (MG_State): a pipeline draw uses the block bindings its stage programs were given, not the ones their shaders declared
|
2026-08-11 20:23:06 -04:00 |
|
swung0x48
|
94e75fef79
|
[Fix, Test] (MG_State, MG_Impl): glIsProgramPipeline answers for the first bind, not for the materialization every pipeline command now does
|
2026-08-11 20:10:18 -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
|
ba9af18033
|
[Test] (MG_IntegrationTest): park the two program-pipeline cases whose mechanisms are still open
|
2026-08-11 20:10:17 -04:00 |
|
swung0x48
|
f7d63f88fa
|
[Fix, Test] (MG_State, MG_Impl): a reserved program-pipeline name takes state from UseProgramStages and its siblings instead of rejecting them
|
2026-08-11 20:10:16 -04:00 |
|
swung0x48
|
6cf5a7744e
|
[Test] (MG_IntegrationTest): separable programs drawn through a program pipeline object
|
2026-08-11 20:10:16 -04:00 |
|
swung0x48
|
ca3d24f5ea
|
[Fix] (CI, android-plugin): keep a failed Android retrace's result artifact, and echo the logs a failed replay already wrote
|
2026-08-11 19:30:38 -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
|
fa5ff5d168
|
[Test] (MG_IntegrationTest): every texture access routine must read the same texel out of a usampler2DArray
|
2026-08-11 10:21:38 -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
|
7ba012adf9
|
[Test] (MG_IntegrationTest): SSBO runtime-array length across preambles, block arrays and bound ranges
|
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
|
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
|
2026-08-11 09:17:51 -04:00 |
|
swung0x48
|
6f64ec0f51
|
[Fix, Test] (MG_Impl): validate indirect-dispatch and indirect-count arguments before the backend-availability check
|
2026-08-11 09:12:49 -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
|
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
|
2026-08-11 09:02:22 -04:00 |
|
swung0x48
|
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
|
2026-08-11 08:49:37 -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
|
fa0f6693d0
|
[Fix, Test] (MG_State, MG_Impl): reflection-backed glGetProgramiv queries answer zero instead of dereferencing a null TProgram
|
2026-08-11 02:59:10 -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
|
ed29e63543
|
[Fix, Test] (MG_Impl): glGetProgramResourceiv reports a written length on every exit path
|
2026-08-11 02:27:26 -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
|
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
|
2026-08-11 00:58:23 -04:00 |
|
swung0x48
|
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
|
2026-08-11 00:58:22 -04:00 |
|
swung0x48
|
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
|
2026-08-11 00:58:21 -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
|
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
|
2026-08-10 13:00:10 -04:00 |
|
swung0x48
|
5248b8b746
|
[Test] (MG_Test): replay a real Iris shader pair through the whole async frontend, both phases and both quirk states
|
2026-08-10 10:06:26 -04:00 |
|
swung0x48
|
d868e1c476
|
[Test] (MG_Util, MG_State): remove the TEMP stage-timing probes - the async-compile measurement campaign is done
|
2026-08-10 09:56:05 -04:00 |
|
swung0x48
|
c3412ca394
|
[Fix, Test] (MG_Util): give inactive vertex inputs a Location - undecorated inputs are invalid SPIR-V and Adreno rejects the whole pipeline
|
2026-08-10 09:27:01 -04:00 |
|
swung0x48
|
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
|
2026-08-10 08:58:38 -04:00 |
|
swung0x48
|
71e29f9d58
|
[Fix] (MG_State): keep GlslangToSpv ahead of buildReflection - reflection-first drops a vertex input's Location decoration and Adreno rejects the pipeline
|
2026-08-10 08:33:47 -04:00 |
|
swung0x48
|
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
|
2026-08-10 07:31:58 -04:00 |
|