swung0x48
|
5d51372c44
|
[Chore] (Config): triage backend-scoped env toggles under MOBILEGL_ESPRYT_ and MOBILEGL_MAGMA_ prefixes
|
2026-08-28 00:38:17 -04:00 |
|
swung0x48
|
7fd4550968
|
[Fix] (Espryt): copy before any FBO attach in the packed16 probe - attaching the array relayouts it to the plain order and was neutralizing the subject
|
2026-08-28 00:22:16 -04:00 |
|
swung0x48
|
971537058e
|
[Fix] (Espryt): probe every allocation recipe of the packed16 shape - the Mali layout heuristic inverts between contexts, so one recipe cannot speak for the storage
|
2026-08-28 00:22:16 -04:00 |
|
swung0x48
|
dd98c450ad
|
[Test] (SelfTest): model the params-before-upload escape so a params-first probe regression reads as a red test
|
2026-08-28 00:22:15 -04:00 |
|
swung0x48
|
5dbbbbd7eb
|
[Fix] (Espryt): allocate the packed16 probe's textures uploads-first, the order a minted backend texture performs and the one the Mali layout choice keys on
|
2026-08-28 00:22:15 -04:00 |
|
swung0x48
|
5d140a41ce
|
[Fix] (Espryt): re-arm the packed16 probe on the allocation-scoped mirror the device actually has and let any mirrored level trigger the widening
|
2026-08-28 00:22:15 -04:00 |
|
swung0x48
|
bf376b230f
|
[CI] (Integration): rerun the buffer scenarios with the map flush disabled so the upload-ring tier keeps coverage
|
2026-08-28 00:15:15 -04:00 |
|
swung0x48
|
29599dcf90
|
[Fix] (DirectGLES): flush queued buffer ranges through a range-invalidating map first, so a partial write into a busy store is priced by the range
|
2026-08-27 23:54:19 -04:00 |
|
swung0x48
|
734fab9f90
|
[Test] (Integration): scope the SubData-after-dispatch readback case to DirectGLES, naming the DirectVulkan upload-ordering gap it exposed
|
2026-08-27 23:04:52 -04:00 |
|
swung0x48
|
2cd1809c29
|
[Fix] (Review): rebuild the packed16 probe on the CTS's three-level chains and let the POST row answer for the widening knob actually in force
|
2026-08-27 22:46:13 -04:00 |
|
swung0x48
|
faed498476
|
[Test] (IntegrationTest): shield the packed16 renderbuffer clear from an inherited scissor
|
2026-08-27 22:46:13 -04:00 |
|
swung0x48
|
8282eecbfa
|
[Fix] (Espryt): store RGB565/RGB5_A1/RGBA4 as 8-bit channels where a POST probe measures the Mali packed16 array-mip field-order mirror
|
2026-08-27 22:46:12 -04:00 |
|
swung0x48
|
f4f3afb0b6
|
[Test] (Integration): pin that a queued SubData survives an immediate readback of a GPU-written buffer
|
2026-08-27 22:19:45 -04:00 |
|
swung0x48
|
a28da07641
|
[Fix] (DirectGLES): queue app buffer updates and flush them through a staged-copy upload ring instead of stalling in glBufferSubData
|
2026-08-27 22:19:44 -04:00 |
|
swung0x48
|
200c21336f
|
[Fix] (Readback): size a cube-face pack buffer by one face, and give a cube view's face its owner layer
|
2026-08-27 22:05:23 -04:00 |
|
swung0x48
|
2c3fc583d5
|
[Test] (Readback): pin the one-face pixel pack buffer and a cube view's per-face layers
|
2026-08-27 21:58:51 -04:00 |
|
swung0x48
|
645a12d8bc
|
[Fix] (Readback): read the cube face a readback names, and let glGetTextureSubImage name one
|
2026-08-27 21:54:47 -04:00 |
|
swung0x48
|
8e6acc5528
|
[Test] (Readback): pin that a cube map's readback answers the face it was asked for
|
2026-08-27 21:54:46 -04:00 |
|
swung0x48
|
525ffe0f14
|
[Test] (Review): pin the inverted override mapping, the probe's controls, and that the pinned-on lane is really armed
|
2026-08-27 21:06:01 -04:00 |
|
swung0x48
|
ad28d2b744
|
[Fix, Test] (Review): strip a block's member-level locations too, restore the probe's colour mask, and let the POST verdict follow the override
|
2026-08-27 20:15:31 -04:00 |
|
swung0x48
|
eab622388f
|
[Test] (TranslationCache): pin the two interface-block location-strip flags as L2 key material
|
2026-08-27 20:07:49 -04:00 |
|
swung0x48
|
75e573c923
|
[Fix] (SelfTest): give the located-interface-block probe its own entry-point gate instead of the storage probe's
|
2026-08-27 19:56:26 -04:00 |
|
swung0x48
|
0d0ef13619
|
[Fix] (DirectGLES): run the interface-block location strip last, where its deliberately Vulkan-invalid module reaches no validator
|
2026-08-27 19:44:18 -04:00 |
|
swung0x48
|
23565fcacd
|
[Fix, Test] (DirectGLES, SelfTest, MG_Test): probe the located-interface-block defect with its controls and cover the strip in both gates
|
2026-08-27 19:38:39 -04:00 |
|
swung0x48
|
5dc26e3e2c
|
[Fix] (DirectGLES, ShaderTranspiler): drop the location qualifier from inter-stage interface blocks on a driver that loses their payload
|
2026-08-27 19:18:35 -04:00 |
|
swung0x48
|
90564aa82e
|
[Test] (Review): give the geometry point-size case its own capability probe
|
2026-08-27 15:42:04 -04:00 |
|
swung0x48
|
7520607d47
|
[Fix] (Review): decline a point-size program the device cannot run, bound the compile-failure source dump, and correct the pass-through rationale
|
2026-08-27 15:42:04 -04:00 |
|
swung0x48
|
57635a9198
|
[Test] (Tessellation): unit and headless-GPU coverage for capturing a patch draw's per-vertex payload
|
2026-08-27 15:06:02 -04:00 |
|
swung0x48
|
c19d0f0b75
|
[Fix] (DirectVulkan): mirror gl_PointSize for capture and enable the feature its stages need
|
2026-08-27 15:06:02 -04:00 |
|
swung0x48
|
e42e7d00f5
|
[Fix] (DirectGLES): request the point-size extension a tessellation or geometry stage's ESSL needs
|
2026-08-27 15:06:01 -04:00 |
|
swung0x48
|
62695ee3c2
|
[Test] (Review): pin the single-sample sample mask, the completeness-flip sampled set, and the integer multisample placeholders
|
2026-08-27 13:17:56 -04:00 |
|
swung0x48
|
02cc0ce83c
|
[Fix] (Review): scope the sample mask to a multisample target, version the sampled-set memo on completeness, clamp the mask word count, give the multisample placeholder every numeric domain, unwind the fixup revert one pass at a time, and bound the validator log
|
2026-08-27 13:03:51 -04:00 |
|
swung0x48
|
9e52a0b23e
|
[Test] (DirectVulkan): pin the incomplete-default-texture draw, the unbound multisample sampler, and the unwritten redeclared gl_Position
|
2026-08-27 12:52:19 -04:00 |
|
swung0x48
|
9dee53337f
|
[Fix] (DirectVulkan): give an unbound multisample sampler a placeholder, clear a multisample texture through a load-op pass, and plumb glSampleMaski into the pipeline
|
2026-08-27 12:52:19 -04:00 |
|
swung0x48
|
28c5badf8f
|
[Fix] (SPIR-V): keep the entry-point interface consistent when the clip fixup and the XFB position mirror inject through gl_Position
|
2026-08-27 12:52:18 -04:00 |
|
swung0x48
|
01116f7b41
|
[Fix] (DirectVulkan): treat an incomplete sampled texture as unbound in the collect path too, and stop dereferencing a declined texture sync
|
2026-08-27 12:52:18 -04:00 |
|
swung0x48
|
05d627ba2d
|
[Fix] (Xfb): never issue a transform feedback capture-point bind the application did not ask for, and error-check the driver span instead of losing it silently
|
2026-08-27 12:28:32 -04:00 |
|
swung0x48
|
ea5d52f126
|
[Test] (Tessellation): assert the patch-array cross-stage link outright now that the fork pin carries the guard
|
2026-08-27 10:52:00 -04:00 |
|
swung0x48
|
3c70b4fc0f
|
[Fix] (Program): read an API colour index of zero as no override, matching the IO resolver and ProgramInterface
|
2026-08-27 10:52:00 -04:00 |
|
swung0x48
|
b6d6316333
|
[Fix] (Blend): decline a GL_SRC1_* factor on an incapable GLES driver even when blending is off
|
2026-08-27 10:51:59 -04:00 |
|
swung0x48
|
3c9ab5a68f
|
[Test] (Blend): make the dual-source scenario's capability gate skip the case, not just the helper
|
2026-08-27 10:48:22 -04:00 |
|
swung0x48
|
532b5e9cc5
|
[Fix] (Program): let two fragment outputs share a colour number when their colour index differs
|
2026-08-27 10:48:22 -04:00 |
|
swung0x48
|
06605ed0ea
|
[Test] (Tessellation): include the standard headers the link test uses directly
|
2026-08-27 10:48:21 -04:00 |
|
swung0x48
|
e1d5bdc4a5
|
[Fix] (Blend): decline an unsupported dual-source blend instead of throwing through the GL ABI
|
2026-08-27 10:48:21 -04:00 |
|
swung0x48
|
66867a41ba
|
[Fix] (Program): count the tessellation control stage as a transform-feedback capture stage
|
2026-08-27 10:48:20 -04:00 |
|
swung0x48
|
ebff4b21f7
|
[Fix] (Query): tie the two tessellation pipeline-statistics targets to the GL_ARB_tessellation_shader advertisement
|
2026-08-27 10:48:20 -04:00 |
|
swung0x48
|
d4e7378868
|
[Chore] (ShaderTranspiler): pin glslang fork at d89cf443 (patch-array io-resize guard for the evaluation stage)
|
2026-08-27 10:22:37 -04:00 |
|
swung0x48
|
01d20e5c96
|
[Test] (Review): border-colour clamping, a readback across a mip gap, and blending on renderbuffer formats with no exact VkFormat
|
2026-08-27 08:35:06 -04:00 |
|
swung0x48
|
b04c67d9a8
|
[Test] (Review): pin the sampler getter matrix, the shadow-readback refusals, and the proxy and by-name parameter targets
|
2026-08-27 08:35:05 -04:00 |
|
swung0x48
|
685d83e3ec
|
[Fix] (Review): bound a texture readback by the image's mip count, refuse cross-format depth/stencil copies, and probe the renderbuffer's real VkFormat
|
2026-08-27 08:35:05 -04:00 |
|
swung0x48
|
009b140691
|
[Fix] (Review): clamp integer and floating-point border colours to the sampled format's representable range
|
2026-08-27 08:35:05 -04:00 |
|
swung0x48
|
1f44e5bc1d
|
[Fix] (Review): convert every scalar sampler query to the type the caller asked for instead of the other type's bit pattern
|
2026-08-27 08:35:04 -04:00 |
|
swung0x48
|
d9aebcba26
|
[Fix] (Review): refuse a CPU-shadow readback whose layout the pack path cannot produce, and apply the parameter-target rule to proxy and by-name spellings
|
2026-08-27 08:35:04 -04:00 |
|
swung0x48
|
0db666897e
|
[Fix] (DirectGLES): key the border-colour sync memo on the authoritative representation, not just the float one
|
2026-08-27 08:35:03 -04:00 |
|
swung0x48
|
5f445e499f
|
[Test] (Integration): integer border-colour sampling and clear-tex-image on a texture with no level 0
|
2026-08-27 08:35:03 -04:00 |
|
swung0x48
|
c52ebd5bf6
|
[Test] (Texture): pin the border-colour forms, the GL 4.6 conversion pair and the texparameter validation gaps
|
2026-08-27 08:35:02 -04:00 |
|
swung0x48
|
8e072bc793
|
[Fix] (DirectVulkan): answer a texture-image query from the CPU shadow when the texture has no VkImage
|
2026-08-27 08:35:02 -04:00 |
|
swung0x48
|
88ee75be0e
|
[Fix] (DirectVulkan): resolve renderbuffer VkFormats through the shared texture table and police copy size-compatibility
|
2026-08-27 08:35:01 -04:00 |
|
swung0x48
|
0dbb4ceba8
|
[Fix] (DirectVulkan): resolve arbitrary and integer border colours through VK_EXT_custom_border_color, clamped to the sampled format
|
2026-08-27 08:35:01 -04:00 |
|
swung0x48
|
a94b3e0bd5
|
[Fix] (DirectGLES): forward an integer border colour through glTexParameterIiv/glSamplerParameterIiv instead of flattening it to float
|
2026-08-27 08:35:01 -04:00 |
|
swung0x48
|
764b6e044d
|
[Fix] (Texture): reject illegal texparameter targets and sampler enum values, invert the integer border-colour read, and report multisample sampler state as INVALID_ENUM
|
2026-08-27 08:35:00 -04:00 |
|
swung0x48
|
c1d89de729
|
[Fix] (Sampler): carry GL_TEXTURE_BORDER_COLOR with its form, convert per GL 4.6 eq 2.2/2.3, and unify the name and scalar-pname error classes
|
2026-08-27 08:35:00 -04:00 |
|
swung0x48
|
c136384f97
|
[CI] (TraceReplay): keep the rd12-odinlite perf fixture out of the CI matrices until its archive is published
|
2026-08-27 08:23:04 -04:00 |
|
swung0x48
|
1920a3d16f
|
[Test] (Review): pin the composite's linked capture list, the capture-stage rule, and the matrix uniform forms' link check
|
2026-08-27 06:00:54 -04:00 |
|
swung0x48
|
11f4b4bd3b
|
[Fix] (Review): honour a SPIR-V module's transform-feedback decorations, take the composite's capture list from the linked snapshot, and reorder every glProgramUniformMatrix* link check
|
2026-08-27 05:56:45 -04:00 |
|
swung0x48
|
9ef33f4274
|
[Fix] (Review): bound copies by the requested level, reach every cube face, keep array layer counts, and give glSpecializeShader its spec error surface
|
2026-08-27 05:51:58 -04:00 |
|
swung0x48
|
e430e1b3be
|
[Fix] (Texture): give glTexBuffer the sized-format check its TODO deferred and the target-taking forms their own INVALID_ENUM
|
2026-08-27 05:37:18 -04:00 |
|
swung0x48
|
e315d9e798
|
[Test] (GlSpirv): unit and headless-GPU coverage for glShaderBinary, glSpecializeShader and the SPIR_V_BINARY state
|
2026-08-27 05:37:18 -04:00 |
|
swung0x48
|
6f299372c6
|
[Feat] (Program): implement GL_ARB_gl_spirv - glShaderBinary, glSpecializeShader and the SPIR_V_BINARY state, feeding the module into the ordinary compile pipeline
|
2026-08-27 05:37:17 -04:00 |
|
swung0x48
|
be7bf21eb8
|
[Fix] (ShaderTranspiler): enforce the layout(binding) range rule for samplers, images and uniform/atomic-counter blocks, not only for SSBOs
|
2026-08-27 05:37:17 -04:00 |
|
swung0x48
|
0e4302b399
|
[Feat] (RenderState): implement glClipControl, glPolygonOffsetClamp and glTextureBarrier instead of stubbing them
|
2026-08-27 05:37:16 -04:00 |
|
swung0x48
|
c9c2dcb42a
|
[Feat] (Query): accept the ARB_pipeline_statistics_query targets and report zero counter bits for them
|
2026-08-27 05:37:15 -04:00 |
|
swung0x48
|
2d938971b9
|
[Fix] (Getter): saturate combined uniform components in 64-bit and answer the missing GL4 state tokens
|
2026-08-27 05:37:15 -04:00 |
|
swung0x48
|
f7e23d5d83
|
[Fix] (DirectVulkan): generate mipmaps for cube-map-array and 1D-array targets, and stop shrinking an array's layer count down the chain
|
2026-08-27 05:37:14 -04:00 |
|
swung0x48
|
02fbb816e9
|
[Fix] (Texture): cube-map-array shape rules on glTexImage3D, GL_TEXTURE_SHARED_SIZE, and the unimplemented glCopyTexSubImage1D/3D
|
2026-08-27 05:37:14 -04:00 |
|
swung0x48
|
0e0882cfc6
|
[Test] (IntegrationTest): read cube faces back through a per-face FBO, which glGetTexImage's face token does not distinguish on DirectVulkan
|
2026-08-27 05:07:38 -04:00 |
|
swung0x48
|
de09646d5e
|
[Fix] (DirectVulkan): one shared attachment layer count for the render pass and the clear key, and direct VkResult checks in the render-pass builder
|
2026-08-27 05:04:44 -04:00 |
|
swung0x48
|
747864777e
|
[Test] (IntegrationTest): pin the layered 3D and cube-map-array attachment shapes and their per-layer routing
|
2026-08-27 04:37:29 -04:00 |
|
swung0x48
|
6fc3504bd9
|
[Fix] (Framebuffer): carry the layered flag through the GL_DEPTH_STENCIL_ATTACHMENT split
|
2026-08-27 04:37:28 -04:00 |
|
swung0x48
|
df1bcdba09
|
[Fix] (DirectVulkan): legal view types for layered 3D/cube attachments, and a real failure channel for the render-pass builder
|
2026-08-27 04:19:06 -04:00 |
|
swung0x48
|
843c61dee1
|
[Chore] (ShaderTranspiler): pin glslang fork at 7e255451 (GL_ARB_cull_distance registration and version-gated availability)
|
2026-08-27 04:01:43 -04:00 |
|
swung0x48
|
c0a3f4cc50
|
[Docs] (Getter): restate the uniform-binding airtightness argument against the per-stage sum, not the combined limit
|
2026-08-27 03:54:17 -04:00 |
|
swung0x48
|
06744fde7f
|
[Fix] (Getter): close the review findings - six-stage combined uniform blocks, bounded uniform-block bindings, honest vertex-stream count, per-format sample ceilings
|
2026-08-27 03:54:16 -04:00 |
|
swung0x48
|
6cc9faf772
|
[Feat] (Program): report the geometry and tessellation link properties glGetProgramiv had no source for
|
2026-08-27 03:49:38 -04:00 |
|
swung0x48
|
7168f2ef77
|
[Fix] (Getter): answer the GL 4.6 limit surface honestly - tess/cull/subroutine pnames, TBuiltInResource drift, 84 UBO binding points, 64-bit GL_MAX_ELEMENT_INDEX, per-category sample truth
|
2026-08-27 03:47:16 -04:00 |
|
swung0x48
|
07669aacd4
|
[Fix] (ShaderTranspiler): fan #extension implications out to both new gates and bound the mid-line #version probe to its line
|
2026-08-27 03:35:58 -04:00 |
|
swung0x48
|
d52a3b2196
|
[Test] (IntegrationTest): sample-shading state reaches both backends without disturbing the draw
|
2026-08-27 03:35:58 -04:00 |
|
swung0x48
|
9e23016dd4
|
[Perf] (ShaderTranspiler): memchr the mid-line #version scan and gate it on an accepted directive
|
2026-08-27 03:35:57 -04:00 |
|
swung0x48
|
f1354dc25e
|
[Fix] (DirectVulkan): hash the sample-shading state into the pipeline memo key
|
2026-08-27 03:35:56 -04:00 |
|
swung0x48
|
b7a694711a
|
[Test] (IntegrationTest): gl_NumSamples scenario - the value must follow the draw framebuffer, not the link
|
2026-08-27 03:35:56 -04:00 |
|
swung0x48
|
2ae848ca19
|
[Fix] (ShaderTranspiler): route restored ES extension macros through glslang's custom preamble and detect a mid-line repeated #version
|
2026-08-27 03:35:55 -04:00 |
|
swung0x48
|
acf86d1fb6
|
[Feat] (RenderState): implement glMinSampleShading and the GL_SAMPLE_SHADING enable on both backends
|
2026-08-27 03:35:55 -04:00 |
|
swung0x48
|
07a0408a28
|
[Fix] (ShaderTranspiler): lower gl_NumSamples onto a reserved global-UBO uniform, restore ES preamble extension macros, tolerate a repeated #version
|
2026-08-27 03:35:47 -04:00 |
|
swung0x48
|
18fccdd796
|
[Feat] (Backend): advertise OpenGL 4.6 (target version + OpenGL44/45/46 tokens) on both backends
|
2026-08-26 23:48:36 -04:00 |
|
swung0x48
|
0d2fceab0e
|
[Docs] (DeviceBench): note session.sh leaves frequency pins active by design
|
2026-08-26 05:52:34 -04:00 |
|
swung0x48
|
82decded58
|
[Test] (TraceReplay): minecraft-1.21.4-rd12-odinlite-in-world perf fixture (campaign benchmark scene)
|
2026-08-26 05:52:33 -04:00 |
|
swung0x48
|
d04a3394de
|
[Feat] (DeviceBench): launch retry loop (signal-34 JVM flake), session.sh runner, MSYS path-conversion guards
|
2026-08-26 05:52:32 -04:00 |
|
swung0x48
|
33eabfc2ff
|
[Perf] (DirectGLES): upload the union dirty box instead of scatter rects when staging through the unpack ring (each PBO-sourced glTexSubImage is a GPU copy job on Mali; ~100 sprite rects per tick cost +6ms/frame of GPU time)
|
2026-08-26 05:52:31 -04:00 |
|
swung0x48
|
56e5d13dc9
|
[Perf] (DirectGLES): stage glTexSubImage uploads through a persistent-mapped unpack PBO ring (Mali blocks the render thread on in-flight destination textures)
|
2026-08-26 05:52:30 -04:00 |
|
swung0x48
|
34b7cc772f
|
[Fix] (Build): compile fordebug native code as RelWithDebInfo (debuggable APK was shipping an -O0 libMobileGL.so, invalidating all performance measurements on this flavor)
|
2026-08-26 02:18:47 -04:00 |
|