swung0x48
7b1d8ce9dd
[Feat] (trace-replay): validate Minecraft iterationT shader fixture
2026-06-19 09:14:33 +08:00
swung0x48
94fdeb633f
[Fix] (trace-replay): relax Minecraft BSL tolerance
2026-06-19 08:21:50 +08:00
swung0x48
50eda634e0
[Fix]: fix iterationT
...
- implement glCopyImageSubData frontend export and backend dispatch
- add DirectGLES depth-only CopyImageSubData via framebuffer depth blit
- add DirectGLES R32F CopyImageSubData fallback for GLES drivers rejecting native copy
- allocate DirectGLES generated mipmap storage for depth-only and R11FG11FB10F manual generation
- generate DirectGLES depth-only mipmaps with explicit depth blits
- generate DirectGLES R11FG11FB10F mipmaps with explicit color blits
- add DirectVulkan CopyImageSubData with explicit image copy and layout transitions
- use native Vulkan blit for depth-only mipmap generation
- remove unused Vulkan depth mipmap shader fallback path
2026-06-19 08:14:57 +08:00
swung0x48
2bf75537d8
[Feat] (trace-replay): add Minecraft iterationT no-DSA shader fixture
2026-06-18 21:09:23 +08:00
swung0x48
f780736f29
[Feat] (trace-replay): add Minecraft Nostalgia shader fixture
2026-06-18 08:04:22 +08:00
swung0x48
85e71622f8
[Feat] (trace-replay): add Minecraft Complementary Unbound shader fixture
2026-06-18 07:29:10 +08:00
swung0x48
ea02a2fac9
[Feat] (trace-replay): add Minecraft Complementary Reimagined shader fixture
2026-06-18 07:01:26 +08:00
swung0x48
8368901bf9
[Feat] (trace-replay): add Minecraft Chocapic shader fixture
2026-06-18 06:30:36 +08:00
swung0x48
a18170cdb1
[Feat] (trace-replay): add Minecraft Bliss shader fixture
2026-06-18 06:24:07 +08:00
swung0x48
e70fb39cb9
[Feat] (trace-replay): add Minecraft Photon shader fixture
2026-06-18 06:13:22 +08:00
swung0x48
e7ba689ca2
[Feat] (trace-replay): add Minecraft iterationT shader fixture
2026-06-18 05:42:48 +08:00
swung0x48
78dcf43c72
[Feat] (trace-replay): add Minecraft Mellow shader fixture
2026-06-17 23:51:17 +08:00
swung0x48
70951f46e5
[Feat] (trace-replay): add Minecraft MakeUP shader fixture
2026-06-17 20:09:21 +08:00
swung0x48
a6b4c4b049
[Feat] (trace-replay): add Minecraft BSL shader fixture
2026-06-17 17:52:30 +08:00
swung0x48
db3d569ed0
[Feat] (trace-replay): add Minecraft Sodium in-world fixture
2026-06-17 16:38:12 +08:00
swung0x48
ec0a1a0b70
[Fix] (ci): fetch trace fixtures from LFS
2026-06-17 14:11:28 +08:00
swung0x48
42e3cce8c3
[Fix] (ci): force info MobileGL log level
2026-06-17 13:59:38 +08:00
swung0x48
c82062a51b
[Fix] (MobileGL): restore default log level
2026-06-17 13:50:48 +08:00
swung0x48
61349ac0c2
[Fix] (trace-replay): shorten Minecraft in-world fixture
2026-06-17 12:34:32 +08:00
swung0x48
102bd2cfd2
[Fix] (MG_Backend/DirectVulkan): support Sundial Lite shader pack
2026-06-17 11:39:20 +08:00
swung0x48
e7bb46e819
[Fix] (MG_Backend/DirectGLES): support Sundial Lite shader pack
2026-06-17 10:58:12 +08:00
swung0x48
02f8c7ab56
[Fix] (ci): use ANGLE for Android Vulkan retrace
2026-06-17 07:51:35 +08:00
swung0x48
96ecabc38b
[Fix] (trace-replay): write opaque Android actual images
2026-06-17 07:26:15 +08:00
swung0x48
57600f2bd3
[Fix] (ci): use host GPU for Android Vulkan retrace
2026-06-17 06:59:15 +08:00
swung0x48
a8628feb3c
[Fix] (ci): use non-deprecated Android emulator GPU
2026-06-17 06:14:22 +08:00
swung0x48
e2695235ab
[Fix] (ci): allow Android Vulkan in-world variance
2026-06-17 05:41:29 +08:00
swung0x48
44c3ea7844
[Feat] (trace-replay): add Minecraft in-world fixture
2026-06-17 00:05:09 +08:00
swung0x48
7c81906459
[Fix] (ci): run all Android retrace fixtures
2026-06-16 20:36:53 +08:00
swung0x48
4e3679c7b7
[Fix] (ci): validate debuggable retrace APKs
2026-06-16 19:31:34 +08:00
swung0x48
19c0ae4e33
[Fix] (ci): make retrace APK debuggable
2026-06-16 18:09:46 +08:00
swung0x48
565649e3b6
[Fix] (ci): split APK retrace validation steps
2026-06-16 17:54:40 +08:00
swung0x48
527ef9653a
[Fix] (ci): run APK retrace from parameterized script
2026-06-16 17:47:01 +08:00
swung0x48
23bb5245bd
[Fix] (ci): run APK retrace script with bash
2026-06-16 17:04:57 +08:00
swung0x48
e3c4b94b11
[Fix] (ci): package retrace APK for all ABIs
2026-06-16 14:36:17 +08:00
swung0x48
3fa89640cd
[Fix] (ci): split APK retrace job
2026-06-16 14:10:55 +08:00
swung0x48
722bddf916
[Feat] (trace-replay): test retrace APK on Android
2026-06-16 14:07:33 +08:00
swung0x48
294dad1773
[Fix] (ci): rename test workflow
2026-06-16 13:21:37 +08:00
swung0x48
b33ae1c481
[Feat] (trace-replay): add Minecraft main menu trace
2026-06-16 13:00:01 +08:00
swung0x48
0dc3a0916e
[Feat] (trace-replay): add Minecraft startup trace
2026-06-16 12:22:27 +08:00
swung0x48
24372c8558
[Fix] (ci): rename retrace artifact
2026-06-16 11:06:40 +08:00
swung0x48
49faa5e749
[Fix] (ci): package existing Linux runtime files
2026-06-16 10:11:55 +08:00
swung0x48
69a3985f9d
[Fix] (ci): reuse MobileGL artifact for retrace
2026-06-16 09:32:53 +08:00
swung0x48
d335131f52
[Fix] (ci): restore isolated retrace job
2026-06-16 09:14:53 +08:00
swung0x48
fe1b6db653
[Feat] (ci): reuse build outputs across jobs
2026-06-16 08:46:43 +08:00
swung0x48
4c2c4cb565
[Fix] (trace-replay): stabilize GL4ES OpenRA validation
2026-06-15 22:27:39 +08:00
swung0x48
bc8109b695
[Fix] (trace-replay): fix Android Vulkan pbuffer build
2026-06-15 21:01:55 +08:00
swung0x48
a88ca75c14
[Fix] (trace-replay): run Vulkan retrace headlessly
2026-06-15 20:37:40 +08:00
swung0x48
e453a75ea9
[Fix] (trace-replay): validate OpenRA on both backends
2026-06-15 19:59:21 +08:00
swung0x48
627f737bbe
[Fix] (trace-replay): checkout nested submodules in CI
2026-06-15 19:35:48 +08:00
swung0x48
ef3e8da1b5
[Feat] (trace-replay): add Linux retrace CI
2026-06-15 18:08:55 +08:00
swung0x48
c2d6134cfa
[Feat] (android-plugin): add standalone trace replay profile
2026-06-15 16:57:50 +08:00
swung0x48
d51723c153
[Fix] (MG_Backend/DirectGLES): use safer buffer upload path. MAY AFFECT PERFORMANCE!!
2026-06-11 10:28:39 +08:00
swung0x48
94b2a863bf
[Chore] (MG_Impl/GLSync): stub out gl sync
2026-06-11 09:50:20 +08:00
swung0x48
442510f793
[Fix] (MG_Impl/GLImpl): split backend-dependent integer getters
2026-06-11 07:18:29 +08:00
swung0x48
75a0fc2c0c
[Fix] (MG_Impl/GLImpl): fix DSA state queries and compatibility tests
...
Fix texture parameter getters and element array buffer binding queries.
Update framebuffer, texture, program, and VAO tests to match current OpenGL semantics, while preserving VAO 0 compatibility behavior.
2026-06-10 23:33:59 +08:00
swung0x48
72b1f50314
[Fix] (MG_Backend/DirectGLES): don't glFlush on present
2026-06-10 18:44:59 +08:00
swung0x48
66c36cd945
Merge pull request #9 from BZLZHH/Agent/CodexAudit
2026-06-10 12:33:01 +08:00
swung0x48
85bd0613ca
[Fix] (MG_Backend/DirectGLES): support Voxy rendering
...
Implemented:
- Advertise Voxy-required DirectGLES extensions without raising the reported OpenGL version.
- Add DirectGLES multi draw indirect count emulation and preserve GL draw indirect baseInstance semantics on GLES.
- Add DirectGLES DSA framebuffer clear/blit paths used by Minecraft and Voxy presentation.
Fixed:
- Rewrite gl_BaseInstance in DirectGLES vertex shaders and provide a backend uniform for indirect draw emulation.
- Materialize framebuffer attachment textures during DirectGLES FBO sync so named framebuffer operations do not desync backend attachment state.
- Avoid redundant texture buffer rebinding and handle texture buffers without bound storage during backend sync.
Tests:
- Add MG_Test coverage for DirectGLES Voxy extension advertising, baseInstance shader rewriting, and DSA named framebuffer clear/blit backend wiring.
2026-06-09 17:20:23 +08:00
swung0x48
dd52f0381a
[Fix] (MG_Backend/DirectVulkan): fix Voxy subgroup and indirect draw sync
...
- Implement Vulkan subgroup capability querying and expose KHR subgroup getter values.
- Fix DirectVulkan memory barriers so GL_COMMAND_BARRIER_BIT makes generated indirect draw commands visible.
- Keep Voxy on the DirectVulkan gpu_shader_int64 quad decode path while filtering unsupported optional int64 usage on backends that do not advertise it.
- Add MG_Test coverage for subgroup getters, Voxy subgroup/int64 shader probes, command barrier mapping, and indirect draw command layout.
- Check for whether driver supports shader subgroup operation, disable on demand, and provide env var `MOBILEGL_DISABLE_SUBGROUP` to explicitly disable subgroup features
2026-06-09 09:46:07 +08:00
swung0x48
cf165c0db5
[Fix] (MG_Backend/DirectVulkan): support Voxy rendering
...
Implemented:
- Advertise Voxy-required DirectVulkan extensions without raising the reported OpenGL version.
- Add DirectVulkan compute, indirect draw count, DSA, readback, and buffer state paths needed by Voxy.
Fixed:
- Enable Vulkan shaderInt64 and drawIndirectFirstInstance so Voxy baseInstance-driven LOD draws address the correct section data.
- Fix DirectVulkan synchronization, framebuffer, texture readback, and shader interface handling used by Voxy and Minecraft screenshots.
Tests:
- Add MG_Test coverage for DirectVulkan extension advertising, DSA buffer/texture/framebuffer/vertex-array behavior, persistent mapped readback, and shader/program paths.
2026-06-09 00:37:37 +08:00
swung0x48
ab9db43599
[Chore]: bump version to 26.06
2026-06-08 14:11:20 +08:00
swung0x48
d553e363a7
[Feat] (MG_Impl/GL_Buffer, MG_State/BufferState, MG_Backend): implement persistent mapping
2026-06-08 14:08:35 +08:00
swung0x48
be3c3eb9bb
[Fix] (MG_Test/VertexArray): lossen too strict error test
2026-06-08 09:43:24 +08:00
swung0x48
357807666d
[Fix] (MG_Backend/DirectVulkan, MG_Backend/DirectGLES): fix vulkan program
...
cache, get EGLSurfaceSize on viewport = 0
2026-06-08 05:41:38 +08:00
swung0x48
a701c896f0
[Feat] (MG_Backend/DirectVulkan): wire up client-side buffer
2026-06-07 18:05:48 +08:00
swung0x48
b0de886f8e
[Fix] (MG_Backend/DirectVulkan): make glmark2 work on Magma
2026-06-07 16:24:30 +08:00
swung0x48
ad1ca4ea92
[Feat] (MG_Impl/VertexArray): implement client-side buffer
2026-06-07 13:02:58 +08:00
swung0x48
fbaf5261e2
[Fix]: properly open X11 display for rendering
2026-06-07 12:26:35 +08:00
swung0x48
19ada4b8f9
[Fix]: fix glmark2 crash
...
- deal with legacy GLSL syntax (attribute/varying/gl_FragColor/texture2D/etc.)
- implement glGet GL_SHADER_SOURCE_LENGTH, and make sure returns
original shader source
- expose proper extensions (GL_ARB_depth_texture)
- support env var MOBILEGL_LOG_FILE_PATH
- unit tests to test against those changes
2026-06-07 11:08:38 +08:00
swung0x48
ff41e59282
[Feat] (EGL): support Linux X11 + EGL
2026-06-07 08:21:20 +08:00
swung0x48
a15a13ca46
[Fix]: fix compilation on Linux
2026-06-06 23:18:27 +08:00
swung0x48
2937043e77
[Fix] (MG_Backend/DirectGLES): mark integer varyings flat
2026-06-06 18:58:27 +08:00
swung0x48
24efb0bb17
[Fix] (MG_Impl/Program): implement direct state uniform updates
2026-06-06 17:27:09 +08:00
swung0x48
dd2bd267c1
[Fix] (MG_State/RenderState): track front face mode
2026-06-06 08:46:43 +08:00
swung0x48
5cfe9c8998
[Feat] (MG_Backend/DirectVulkan): support compute shaders
2026-06-05 11:52:10 +08:00
swung0x48
3bd8a62aa8
[Feat] (MG_Backend/DirectGLES): support compute shaders
2026-06-05 10:41:23 +08:00
swung0x48
dcd37f3c38
[Fix] (MG_Util/ShaderTranspiler): preserve reflected uniform backing
2026-06-05 10:39:53 +08:00
swung0x48
a579fd2342
[Feat] (MG_State/ProgramState): attempting to do shader LTO (WIP)
2026-06-01 22:26:16 +08:00
swung0x48
f93ff00642
[Chore] (MG_State/ProgramState): add more remarks to GenerateBinary()
2026-06-01 21:35:28 +08:00
swung0x48
8a628631fb
[Feat] (Backend/DirectVulkan): implement min/max lod
...
- This fixes water waves in Derivative d24.4.14
2026-06-01 05:38:28 +08:00
swung0x48
59733a2a26
[Fix] (MG_Backend/DirectVulkan): clear alpha as 1.0f when using RGB format on GL side. Transition to VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL for clearing
2026-05-24 19:23:36 +08:00
swung0x48
c7d385c03d
[Fix] (CI): scan rather than hardcode apk file name
2026-05-24 18:45:24 +08:00
swung0x48
27a8aa057c
[Feat] (MG_Impl/RenderState): implement some blend related states
2026-05-24 17:38:44 +08:00
swung0x48
e63bfbabf0
[Chore] (MG_Backend/DirectVulkan): enable vulkan validation layer only on DEBUG log level
2026-05-24 11:11:12 +08:00
swung0x48
c107d9edcf
[Fix] (MG_Backend/DirectVulkan): use RGBA format as RGB format
...
- some drivers (Adreno as I tested) lacks
VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT on 24-bit RGB formats,
use 32-bit ones as a fallback.
2026-05-24 10:07:28 +08:00
swung0x48
49e69c1c7d
[CI] (android-plugin): build two (Espryt/Magma) variants
2026-05-24 08:57:02 +08:00
swung0x48
482b6d7bbf
[CI] (android-plugin): specify MOBILEGL_LOG_ACTIVE_LEVEL=MOBILEGL_LOG_LEVEL_INFO define
2026-05-24 08:45:02 +08:00
swung0x48
dcfe91bdfc
[Optimization] (MG_Backend/DirectVulkan): properly use vkCmdBlitImage() on rotations that
...
applicable, rather than shader-based blit
2026-05-24 00:14:05 +08:00
swung0x48
6072b5b703
[Fix] (MG_Backend/DirectVulkan): use shader-based default framebuffer blit to fix wrong orientation
2026-05-24 00:07:16 +08:00
swung0x48
9c50ac8a69
[CI]: use DirectVulkan as default backend
2026-05-23 23:01:48 +08:00
swung0x48
8b7acad257
[CI]: add android build key + signing process
2026-05-23 21:54:40 +08:00
swung0x48
cb8cb48a60
[CI]: build MobileGL android renderer plugin
2026-05-23 20:58:03 +08:00
swung0x48
8c00ae1d38
[Fix] (MG_Impl/GL_Texture): don't actually allocate large proxy texture to avoid large allocation makes some devices to crash
2026-05-12 16:33:30 +08:00
swung0x48
633b3d3b0a
[Feat] (MG_State/RenderState, MG_Backend/DirectVulkan): make Distant
...
Horizon work
- Implement BlendEquation/CullFaceMode/PointSize/PolygonMode
- Implement GetFramebufferAttachmentParameter*
- Downgrade some color attachment resolve failure
- Downgrade some overly-strict shader stage linkage check (don't check
on unused input var)
2026-05-12 12:38:19 +08:00
swung0x48
60199c0323
[Optimization] (MG_Backend/DirectVulkan): optimize CreatePipeline hot path with VkPipelineCache
2026-05-12 00:27:52 +08:00
swung0x48
9e0e03d4c0
[Optimaization] (MG_Backend/DirectVulkan): optimize perf
...
- Properly reuse descriptor sets rather than always allocating
- Add program lookup cache
2026-05-11 23:20:55 +08:00
swung0x48
4972ebf914
[Fix] (MG_Backend/DirectVulkan): fix 1.21.6+ intermittent crashing
...
- Try coerce vertex input format to please Vulkan driver
- Skip inactive UBO instead of hard fast-fail
2026-05-10 11:53:26 +08:00
swung0x48
4a36d63c1b
[Fix] (MG_Backend/DirectVulkan): fix 26.2 texture bug.
...
- Fix texture object / buffer lifecycle issues
2026-05-10 10:03:03 +08:00
swung0x48
d7e768096e
[Fix] (MG_Backend/DirectVulkan): fix Minecraft 26.2 startup crashes
...
- Support cube map face uploads with cube-compatible images and per-face array layers
- Add uniform texel buffer descriptor support for samplerBuffer bindings
- Cache transient vertex/index buffer uploads per frame to avoid VMA allocation failures
2026-05-10 08:50:55 +08:00
swung0x48
e13b5d0618
[Chore] (MG_Backend/DirectVulkan): make Photon fix a SPIR-V patch rather than source-level
2026-05-09 17:46:16 +08:00