swung0x48
|
870d882fef
|
[Fix] (MG_Backend/DirectGLES, MG_Impl/GLImpl, MG_Util): GL CTS packed_pixels + texture_swizzle readback overhaul - canonical shadow layouts for legacy sized/unsized/packed internal formats (RGB5->RGB565, RGB10/12->RGB16, RGBA2->RGBA4, RGB10_A2(UI)/RGB9_E5/R11F_G11F_B10F packed-word shadows with per-texel encode/decode incl. 5_9_9_9_REV and 10F_11F_11F_REV client types), GL_UNSIGNED_INT_10_10_10_2 pixel type mapping, conversion-first GetTexImage with CPU-shadow fallback for non-attachable formats and stale-temp-FBO detach, narrow implementation read pairs + SNORM read candidates + 2_10_10_10_REV wide-read decode with RGBA expansion, PACK image/skip and SWAP_BYTES honored on the CPU repack (never in ES), state-reset conformance (default-texture TexParameter/TexImage/TexBuffer no-ops, renderbuffer 0 unbind, vertex attrib 0 current value, ActiveTexture up to combined units, UBO binding count clamp), FramebufferTexture3D/TextureLayer slice attachments via glFramebufferTextureLayer, capability-driven FBO UNSUPPORTED for non-renderable colors, ReadPixels integer-ness mismatch error, single-value texture swizzle validation, and DirectGLES 1D/1D-array/2D-array texture emulation (2D/2D-array backend targets matching SPIRV-Cross ES 1D-as-2D shaders)
|
2026-07-16 22:41:54 -04:00 |
|
swung0x48
|
3ca57068a8
|
Merge branch 'worktree-agent-a7bc533bede191e68' into dev
|
2026-07-16 16:37:58 -04:00 |
|
swung0x48
|
62a0ad5639
|
[Fix] (MG_Backend/DirectGLES, MG_Util/ShaderTranspiler): make the uniform-block cross-stage precision fix surgical - revert the global SPVC ES highp-default options (they changed emission for EVERY fragment shader: sampling code that used to inherit the effective highp default was suddenly printed as explicit mediump, regressing KHR-GL3x.texture_repeat_mode NPOT mip cases on device) and instead strip RelaxedPrecision member decorations from uniform-block-reachable structs in a DirectGLES-only SPIR-V pass, so matched blocks declare identical (highp) member precision in both stages and every other shader keeps its previous emission byte-for-byte
|
2026-07-16 16:36:28 -04:00 |
|
swung0x48
|
249c1ca574
|
[Fix] (MG_Backend/DirectVulkan): honor scissor in glClear
|
2026-07-16 12:39:55 -04:00 |
|
swung0x48
|
2e94314b78
|
Merge branch 'worktree-agent-a7bc533bede191e68' into dev
|
2026-07-16 12:12:47 -04:00 |
|
swung0x48
|
4d1613ba55
|
[Fix] (MG_Util/ShaderTranspiler, MG_State, MG_Impl/GLImpl, MG_Backend/DirectGLES): GL CTS uniform_block - coerce packed/shared block layouts to std140 at source preprocess (glslang rejects them when targeting SPIR-V; std140 is the only UBO layout the pipeline emits), GL-style block reflection (array "[0]" names, per-element struct-array expansion, unused members and declared-but-unread blocks stay active), vec4-padded GL_UNIFORM_BLOCK_DATA_SIZE, std140 array strides for struct-nested arrays (glslang reflects tight strides there), arrayed-block instances share the first instance member set, glDeleteShader-flagged names stay usable while attached, and backend ESSL emits against highp default precision so relaxed block members match across stages (KHR-GL33.shaders.uniform_block on llvmpipe: 659 Fail -> 828/828 Pass)
|
2026-07-16 12:09:11 -04:00 |
|
swung0x48
|
607e84deed
|
Merge branch 'worktree-agent-af155789372f0003b' into dev
|
2026-07-16 11:30:03 -04:00 |
|
swung0x48
|
b831dae8d5
|
[Feat] (MG_Backend/DirectGLES): packed-type readback encoding - repack wide RGBA reads into all GL 3.3 packed pixel types (3_3_2/2_3_3_REV, 5_6_5(_REV), 4_4_4_4(_REV), 5_5_5_1/1_5_5_5_REV, 8_8_8_8(_REV), 10_10_10_2/2_10_10_10_REV, packed-float 10F_11F_11F_REV and shared-exponent 5_9_9_9_REV) for ReadPixels/GetTexImage; conversion helpers extracted to context-free ReadbackImpl (Utils.cpp) with unit tests asserting exact packed words against the GL CTS pack_* oracle layouts
|
2026-07-16 11:08:02 -04:00 |
|
swung0x48
|
9f302373d6
|
[Fix] (MG_Impl/GLImpl): TexImage3D - apply ConvertInternalFormatToSized like 2D/1D so unsized-internal 3D uploads get channel/type conversion, skip proxy shadow allocation, auto-generate mipmaps; TexSubImage3D - bound level and region against the target mip
|
2026-07-16 10:54:48 -04:00 |
|
swung0x48
|
6ca48e40fe
|
[Feat] (MG_State, MG_Util, MG_Impl/GLImpl, MG_Backend/DirectGLES): desktop-GL single-channel client formats GL_GREEN/GL_BLUE/GL_ALPHA and _INTEGER variants - validate and readback via wide-RGBA channel extraction (GL CTS packed_pixels rgba8_format_green/blue read with them), unpack GREEN/BLUE(_INTEGER) TexImage uploads into the named channel with 0/1 defaults per table 3.3; GL_ALPHA keeps the legacy Red upload mapping (R8 storage + 000R swizzle), its readback corrected at the backend to source channel 3
|
2026-07-16 06:47:33 -04:00 |
|
swung0x48
|
a1a8a18575
|
[Fix] (MG_Backend/DirectGLES, MG_Impl/GLImpl): ReadPixels - fall back to wide-format conversion when the ES driver rejects a legacy native read combo (Adreno errors on e.g. GL_RED/GL_UNSIGNED_INT and leaves the buffer untouched), and enforce packed-type/format pairing at the state layer via shared ValidateClientFormatTypePairing (GL_RED + GL_UNSIGNED_SHORT_5_6_5 now raises GL_INVALID_OPERATION)
|
2026-07-16 06:11:53 -04:00 |
|
swung0x48
|
37a050b106
|
[Fix] (MG_Backend/DirectGLES): upload shadow mips with UNPACK_ALIGNMENT=1 - shadow rows are tightly packed but uploads ran with alignment 4, shifting every row of non-multiple-of-4-width textures by one pixel (R8 7-wide CTS gradients read back diagonally)
|
2026-07-16 05:52:01 -04:00 |
|
swung0x48
|
164bfd810b
|
[Fix] (MG_State/ErrorState): GL error flags are sticky per error code, not an unbounded queue - repeated same-code errors accumulated and leaked into later unrelated glGetError checks (GL CTS "Texture state reset failed" deinit noise and false "Error during glGetTexImage" failures)
|
2026-07-16 05:29:46 -04:00 |
|
swung0x48
|
b8dc4a6004
|
[Fix] (MG_Util/Texture): expand channels and convert component types on texture unpack to the internal shadow layout
|
2026-07-16 04:39:57 -04:00 |
|
swung0x48
|
3e8c8b756f
|
Merge branch 'worktree-agent-acd555500daee6840' into dev
|
2026-07-16 04:13:25 -04:00 |
|
swung0x48
|
763d4c3207
|
[Fix] (CI): resume interrupted fixture downloads
|
2026-07-16 04:11:48 -04:00 |
|
swung0x48
|
9351d66dbc
|
Merge branch 'worktree-agent-a08726da20d78531a' into dev
# Conflicts:
|
2026-07-16 03:57:12 -04:00 |
|
swung0x48
|
e9bd520d9b
|
[Feat] (MG_Backend/DirectVulkan): implement combined depth-stencil texture upload via per-aspect de-interleaved staging copies
|
2026-07-16 03:54:33 -04:00 |
|
swung0x48
|
1dc217b32c
|
[Fix] (MG_Util/Metrics): correct Depth32FStencil8 shadow texel size (16->8) and FLOAT_32_UNSIGNED_INT_24_8_REV type size (4->8) to the GL client transfer layout
|
2026-07-16 03:54:33 -04:00 |
|
swung0x48
|
35626da5c4
|
[Fix] (MG_Util/Texture): infer RGBA8 for packed RGBA uploads
(cherry picked from commit 1146188ed4)
|
2026-07-16 03:41:29 -04:00 |
|
swung0x48
|
8496e7c7eb
|
[Fix] (MG_Backend/DirectGLES): convert narrow client formats (RED/RG/RGB/BGR/BGRA + integer variants, byte/short/half/8888 types) in GetTexImage/ReadPixels via wide RGBA readback
|
2026-07-16 03:40:54 -04:00 |
|
swung0x48
|
c247ad5807
|
Merge branch 'worktree-agent-aae96e27d8b07e982' into dev
|
2026-07-16 03:32:39 -04:00 |
|
swung0x48
|
7514587b5a
|
[Fix] (MG_Impl/GLImpl, MG_State): fallback UBO backing for optimizer-eliminated uniforms (null-MapUBO SIGSEGV in KHR-GL33 do_while loops) + per-element locations/offsets for array uniforms incl. nested struct arrays (size assert in KHR-GL33 struct.uniform); demote uniform write assert to log-and-clamp
|
2026-07-16 03:31:32 -04:00 |
|
swung0x48
|
5b38f61961
|
[Fix] (MG_Backend): GetTexImage level-range check was off-by-one (max level is inclusive; single-level textures asserted on level 0), demoted to logged skip; advertise GL_ARB_texture_storage_multisample (entry points already implemented - unadvertised extension left null glw pointers and CTS framebuffer_blit jumped to address 0)
|
2026-07-16 03:06:03 -04:00 |
|
swung0x48
|
8bdab8005b
|
[Fix] (MG_Backend/DirectVulkan): skip combined depth-stencil texture data uploads instead of recording invalid single-copy with multi-bit aspect mask (VK_INCOMPLETE at vkEndCommandBuffer killed the process); proper per-aspect de-interleave tracked separately
|
2026-07-16 02:36:07 -04:00 |
|
swung0x48
|
273c7ebcf0
|
[Fix] (MG_Impl/GLImpl, MG_State, MG_Backend/DirectGLES): eliminate packed_pixels SIGTRAPs - complete TexImage format/type/internalformat validation matrix (depth-stencil family, integer-ness, packed-type pairing, 3D depth rejection), fix inverted UpdateSubData assert with clamped copy, demote unimplemented readback asserts to logged no-ops
|
2026-07-16 02:23:18 -04:00 |
|
swung0x48
|
3a40778c4b
|
[Fix] (MG_Util/ShaderTranspiler): stop stripping precision qualifiers - the strip corrupted "precision highp float;" into invalid syntax; glslang accepts and ignores them natively in 460 core (unblocks ~2000 GL CTS cases per backend)
|
2026-07-16 01:50:33 -04:00 |
|
swung0x48
|
37a7f35a27
|
[Chore] (MG_Backend/DirectGLES): demote UBO ring creation log to debug level
|
2026-07-16 00:10:14 -04:00 |
|
swung0x48
|
c6ed9429be
|
[Fix] (MG_Backend/DirectGLES): UBO ring - preserve generation across ES context recreation, retire frame marks at Present to bound growth
|
2026-07-16 00:10:14 -04:00 |
|
swung0x48
|
cb6af44984
|
[Fix] (MG_Backend/DirectGLES): UBO ring review fixes - invalidate array-buffer bind cache on failed ring creation, bump generation on emergency drain, division-based alignment rounding
|
2026-07-16 00:10:13 -04:00 |
|
swung0x48
|
7464179249
|
[Chore] (MG_Backend/DirectGLES): log global-UBO ring creation
|
2026-07-16 00:10:13 -04:00 |
|
swung0x48
|
315e9cb194
|
[Perf] (MG_Backend/DirectGLES): replace per-draw global-UBO glBufferSubData with a persistent-mapped ring allocator (fence-watermark reclaimed, MOBILEGL_DISABLE_UBO_RING opt-out); scrub stale indexed-binding shadow on glDeleteBuffers
|
2026-07-16 00:10:12 -04:00 |
|
swung0x48
|
e8d9a913d8
|
[Fix] (MG_Util/SelfTest): preserve POST checks before format probing
|
2026-07-16 00:10:12 -04:00 |
|
swung0x48
|
4453f1910d
|
[Feat] (MG_Backend, android-plugin): show format capability tables in POST
|
2026-07-16 00:10:11 -04:00 |
|
swung0x48
|
1b0be9a997
|
[Docs] (android-plugin): specify POST format capability tables
|
2026-07-15 22:36:56 -04:00 |
|
swung0x48
|
3e4ce5caa7
|
[Refactor] (MG_Impl/GLImpl): replace Flywheel dispatch sync hack with MOBILEGL_COHERENT_AS_FLUSH
|
2026-07-15 21:51:20 -04:00 |
|
swung0x48
|
f80f6f4a62
|
[Fix] (CI): retain fixtures for failed retraces
|
2026-07-15 04:36:15 -04:00 |
|
swung0x48
|
66caf907fd
|
[Fix] (CI): remove intermediate trace artifacts
|
2026-07-15 02:52:03 -04:00 |
|
swung0x48
|
d3150399c7
|
[Fix] (CI): download direct trace APK artifact
|
2026-07-15 02:01:53 -04:00 |
|
swung0x48
|
f1c6a12c06
|
[Fix] (CI): use full commit SHAs
|
2026-07-15 01:33:56 -04:00 |
|
swung0x48
|
947442ec78
|
[Fix] (CI): resolve trace APK by SHA
|
2026-07-15 01:27:09 -04:00 |
|
swung0x48
|
165dd003d7
|
[Chore] (CI): clean intermediate artifacts
|
2026-07-15 00:53:50 -04:00 |
|
swung0x48
|
b852ced3c1
|
[Chore] (CI): upgrade GitHub Actions runtimes
|
2026-07-15 00:36:08 -04:00 |
|
swung0x48
|
4a03d62b91
|
[Fix] (CI): publish APK artifacts directly
|
2026-07-15 00:34:52 -04:00 |
|
swung0x48
|
056574eebe
|
[Fix] (CI): name APK artifacts by commit
|
2026-07-15 00:22:12 -04:00 |
|
swung0x48
|
e61685547a
|
[Fix] (CI): locate unified trace APK
|
2026-07-15 00:17:08 -04:00 |
|
swung0x48
|
7ebaf43282
|
[Refactor] (Android plugin): unify renderer APK with Plugin V2 DSL
|
2026-07-14 23:37:21 -04:00 |
|
swung0x48
|
15580ff6a6
|
[Fix] (Retrace): preserve bundled ANGLE binaries
|
2026-07-15 08:46:28 +08:00 |
|
swung0x48
|
fd6f5bca83
|
[Fix] (Retrace): rely on APK signing for bundled ANGLE
|
2026-07-15 07:50:40 +08:00 |
|
swung0x48
|
b6d311f20b
|
[Fix] (Retrace): bundle and select signed ANGLE variants
|
2026-07-15 06:48:10 +08:00 |
|